Sonar issues fixed

Signed-off-by: asharani-murugesh <asharani.murugesh@in.bosch.com>
This commit is contained in:
asharani-murugesh
2016-03-04 14:17:43 +01:00
parent ab2a7b8f8d
commit 3854061d4f
10 changed files with 350 additions and 320 deletions

View File

@@ -14,6 +14,7 @@ import com.vaadin.data.Container;
import com.vaadin.data.Container.Indexed;
import com.vaadin.shared.ui.grid.HeightMode;
import com.vaadin.ui.Grid;
import com.vaadin.ui.Label;
import com.vaadin.ui.themes.ValoTheme;
/**
@@ -31,15 +32,8 @@ public abstract class AbstractGrid extends Grid {
setSizeFull();
setImmediate(true);
setId(getGridId());
//TODO these styles are rwquired??
addStyleName(ValoTheme.TABLE_NO_VERTICAL_LINES);
addStyleName(ValoTheme.TABLE_SMALL);
setHeight("100%");
setHeightMode(HeightMode.CSS);
setSelectionMode(SelectionMode.NONE);
setColumnReorderingAllowed(true);
addNewContainerDS();
}

View File

@@ -19,9 +19,14 @@ public class HtmlButtonRenderer extends ButtonRenderer {
private void applystyles(Button button) {
button.setStyleName(VButton.CLASSNAME);
button.addStyleName("tiny v-button-tiny");
button.addStyleName("borderless v-button-borderless");
button.addStyleName("icon-only v-button-icon-only");
button.addStyleName("button-no-border v-button-button-no-border");
button.addStyleName(getStyle("tiny"));
button.addStyleName(getStyle("borderless"));
button.addStyleName(getStyle("icon-only"));
button.addStyleName(getStyle("button-no-border"));
}
private String getStyle(final String style) {
return new StringBuilder(style).append(" ").append(VButton.CLASSNAME).append("-").append(style).toString();
}
}

View File

@@ -24,8 +24,7 @@ public class HtmlLabelRenderer extends WidgetRenderer<String, VLabel> {
if (value != null) {
label.setHTML("<span>&#x" + Integer.toHexString(Integer.parseInt(value)) + ";</span>");
}
else{
} else {
label.setHTML("<span></span>");
}
applyStyle(label, style);
@@ -33,14 +32,18 @@ public class HtmlLabelRenderer extends WidgetRenderer<String, VLabel> {
}
private void applyStyle(VLabel label, String style) {
label.setStylePrimaryName("v-label");
label.setStyleName("small v-label-small");
label.addStyleName("font-icon v-label-font-icon");
label.setStyleName(VLabel.CLASSNAME);
label.addStyleName(getStyle("small"));
label.addStyleName(getStyle("font-icon"));
if (style != null) {
label.addStyleName(style + " v-label-" + style);
label.addStyleName(getStyle(style));
}
}
private String getStyle(final String style) {
return new StringBuilder(style).append(" ").append(VLabel.CLASSNAME).append("-").append(style).toString();
}
private Map<String, String> formatInput(String input) {
Map<String, String> details = new HashMap<>();
String[] tempData = input.split(",");

View File

@@ -2,6 +2,7 @@ package org.eclipse.hawkbit.ui.customrenderers.client.renderers;
import com.google.gwt.user.client.ui.Button;
import com.vaadin.client.renderers.ButtonRenderer;
import com.vaadin.client.ui.VButton;
import com.vaadin.client.widget.grid.RendererCellReference;
public class LinkRenderer extends ButtonRenderer {
@@ -15,10 +16,14 @@ public class LinkRenderer extends ButtonRenderer {
}
private void applystyle(Button button) {
button.setStylePrimaryName("v-button");
button.setStyleName("borderless v-button-borderless");
button.addStyleName("small v-button-small");
button.addStyleName("on-focus-no-border v-button-on-focus-no-border");
button.addStyleName("link v-button-link");
button.setStyleName(VButton.CLASSNAME);
button.addStyleName(getStyle("borderless"));
button.addStyleName(getStyle("small"));
button.addStyleName(getStyle("on-focus-no-border"));
button.addStyleName(getStyle("link"));
}
private String getStyle(final String style) {
return new StringBuilder(style).append(" ").append(VButton.CLASSNAME).append("-").append(style).toString();
}
}

View File

@@ -524,7 +524,7 @@ public class ActionHistoryTable extends TreeTable implements Handler {
} else if (Action.Status.SCHEDULED == status) {
label.setStyleName(statusIconPending);
label.setDescription(i18n.get("label.scheduled"));
label.setValue(FontAwesome.BULLSEYE.getHtml());
label.setValue(FontAwesome.HOURGLASS_1.getHtml());
} else {
label.setDescription("");
label.setValue("");
@@ -575,7 +575,7 @@ public class ActionHistoryTable extends TreeTable implements Handler {
label.setContentMode(ContentMode.HTML);
if (SPUIDefinitions.SCHEDULED.equals(activeValue)) {
label.setDescription("Scheduled");
label.setValue(FontAwesome.BULLSEYE.getHtml());
label.setValue(FontAwesome.HOURGLASS_1.getHtml());
} else if (SPUIDefinitions.ACTIVE.equals(activeValue)) {
label.setDescription("Active");
label.setStyleName("statusIconActive");

View File

@@ -26,6 +26,7 @@ import org.eclipse.hawkbit.ui.utils.I18N;
import org.eclipse.hawkbit.ui.utils.SPUIComponetIdProvider;
import org.eclipse.hawkbit.ui.utils.SPUIDefinitions;
import org.eclipse.hawkbit.ui.utils.SPUILabelDefinitions;
import org.eclipse.hawkbit.ui.utils.SPUIStyleDefinitions;
import org.eclipse.hawkbit.ui.utils.UINotification;
import org.springframework.beans.factory.annotation.Autowired;
import org.vaadin.addons.lazyquerycontainer.BeanQueryFactory;
@@ -54,8 +55,17 @@ import com.vaadin.ui.renderers.HtmlRenderer;
@SpringComponent
@ViewScope
public class RolloutListGrid extends AbstractGrid {
private static final long serialVersionUID = 4060904914954370524L;
private static final String UPDATE_OPTION = "Update";
private static final String RESUME_OPTION = "Resume";
private static final String PAUSE_OPTION = "Pause";
private static final String START_OPTION = "Start";
@Autowired
private I18N i18n;
@@ -248,16 +258,22 @@ public class RolloutListGrid extends AbstractGrid {
return cell -> getDescription(cell);
}
@Override
protected void addColumnRenderes() {
getColumn(SPUILabelDefinitions.VAR_TOTAL_TARGETS_COUNT_STATUS).setRenderer(new HtmlRenderer(),
new TotalTargetCountStatusConverter());
getColumn(SPUILabelDefinitions.VAR_STATUS).setRenderer(new HtmlLabelRenderer(), new RolloutStatusConverter());
getColumn(SPUILabelDefinitions.ACTION).setRenderer(new HtmlButtonRenderer(event -> onClickOfActionBtn(event)));
getColumn(SPUILabelDefinitions.VAR_NAME).setRenderer(new LinkRenderer(event -> onClickOfRolloutName(event)));
}
private void alignColumns() {
setCellStyleGenerator(new CellStyleGenerator() {
private static final long serialVersionUID = 5573570647129792429L;
@Override
public String getStyle(final CellReference cellReference) {
String[] coulmnNames = { SPUILabelDefinitions.VAR_STATUS,
/*
* SPUILabelDefinitions.VAR_TOTAL_TARGETS_COUNT_STATUS,
*/ SPUILabelDefinitions.ACTION };
String[] coulmnNames = { SPUILabelDefinitions.VAR_STATUS, SPUILabelDefinitions.ACTION };
if (Arrays.asList(coulmnNames).contains(cellReference.getPropertyId())) {
return "centeralign";
}
@@ -266,14 +282,6 @@ public class RolloutListGrid extends AbstractGrid {
});
}
@Override
protected void addColumnRenderes() {
addDetailStatusColumn();
addStatusCoulmn();
getColumn(SPUILabelDefinitions.ACTION).setRenderer(new HtmlButtonRenderer(event -> onClickOfActionBtn(event)));
getColumn(SPUILabelDefinitions.VAR_NAME).setRenderer(new LinkRenderer(event -> onClickOfRolloutName(event)));
}
private void onClickOfRolloutName(RendererClickEvent event) {
rolloutUIState.setRolloutId((long) event.getItemId());
final String rolloutName = (String) getContainerDataSource().getItem(event.getItemId())
@@ -298,126 +306,66 @@ public class RolloutListGrid extends AbstractGrid {
final ContextMenu context = new ContextMenu();
context.addItemClickListener(event -> menuItemClicked(event));
if (rolloutStatus == RolloutStatus.READY) {
final ContextMenuItem startItem = context.addItem("Start");
final ContextMenuItem startItem = context.addItem(START_OPTION);
startItem.setData(new ContextMenuData(rolloutId, ACTION.START));
} else if (rolloutStatus == RolloutStatus.RUNNING) {
final ContextMenuItem pauseItem = context.addItem("Pause");
final ContextMenuItem pauseItem = context.addItem(PAUSE_OPTION);
pauseItem.setData(new ContextMenuData(rolloutId, ACTION.PAUSE));
} else if (rolloutStatus == RolloutStatus.PAUSED) {
final ContextMenuItem resumeItem = context.addItem("Resume");
final ContextMenuItem resumeItem = context.addItem(RESUME_OPTION);
resumeItem.setData(new ContextMenuData(rolloutId, ACTION.RESUME));
} else if (rolloutStatus == RolloutStatus.STARTING || rolloutStatus == RolloutStatus.CREATING) {
return context;
}
if (permissionChecker.hasRolloutUpdatePermission()) {
final ContextMenuItem cancelItem = context.addItem("Update");
final ContextMenuItem cancelItem = context.addItem(UPDATE_OPTION);
cancelItem.setData(new ContextMenuData(rolloutId, ACTION.UPDATE));
}
return context;
}
private void addDetailStatusColumn() {
getColumn(SPUILabelDefinitions.VAR_TOTAL_TARGETS_COUNT_STATUS).setRenderer(new HtmlRenderer(),
new Converter<String, TotalTargetCountStatus>() {
private static final long serialVersionUID = 2660476405836705932L;
@Override
public TotalTargetCountStatus convertToModel(String value,
Class<? extends TotalTargetCountStatus> targetType, Locale locale)
throws com.vaadin.data.util.converter.Converter.ConversionException {
return null;
}
@Override
public String convertToPresentation(TotalTargetCountStatus value,
Class<? extends String> targetType, Locale locale)
throws com.vaadin.data.util.converter.Converter.ConversionException {
return DistributionBarHelper.getDistributionBarAsHTMLString(value.getStatusTotalCountMap());
}
@Override
public Class<TotalTargetCountStatus> getModelType() {
return TotalTargetCountStatus.class;
}
@Override
public Class<String> getPresentationType() {
return String.class;
}
});
}
private void addStatusCoulmn() {
getColumn(SPUILabelDefinitions.VAR_STATUS).setRenderer(new HtmlLabelRenderer(),
new Converter<String, RolloutStatus>() {
private static final long serialVersionUID = 1L;
@Override
public RolloutStatus convertToModel(final String value,
final Class<? extends RolloutStatus> targetType, final Locale locale) {
return null;
}
@Override
public String convertToPresentation(final RolloutStatus value,
final Class<? extends String> targetType, final Locale locale) {
return convertRolloutStatusToString(value);
}
@Override
public Class<RolloutStatus> getModelType() {
return RolloutStatus.class;
}
@Override
public Class<String> getPresentationType() {
return String.class;
}
});
}
private String convertRolloutStatusToString(final RolloutStatus value) {
String result = null;
switch (value) {
case FINISHED:
result = HawkbitCommonUtil.getStatusLabelDetailsInString(
Integer.toString(FontAwesome.CHECK_CIRCLE.getCodepoint()), "statusIconGreen",
Integer.toString(FontAwesome.CHECK_CIRCLE.getCodepoint()), SPUIStyleDefinitions.STATUS_ICON_GREEN,
SPUIComponetIdProvider.ROLLOUT_STATUS_LABEL_ID);
break;
case PAUSED:
result = HawkbitCommonUtil.getStatusLabelDetailsInString(Integer.toString(FontAwesome.PAUSE.getCodepoint()),
"statusIconBlue", SPUIComponetIdProvider.ROLLOUT_STATUS_LABEL_ID);
SPUIStyleDefinitions.STATUS_ICON_BLUE, SPUIComponetIdProvider.ROLLOUT_STATUS_LABEL_ID);
break;
case RUNNING:
result = HawkbitCommonUtil.getStatusLabelDetailsInString(null, "yellowSpinner",
result = HawkbitCommonUtil.getStatusLabelDetailsInString(null, SPUIStyleDefinitions.STATUS_SPINNER_YELLOW,
SPUIComponetIdProvider.ROLLOUT_STATUS_LABEL_ID);
break;
case READY:
result = HawkbitCommonUtil.getStatusLabelDetailsInString(
Integer.toString(FontAwesome.DOT_CIRCLE_O.getCodepoint()), "statusIconLightBlue",
SPUIComponetIdProvider.ROLLOUT_STATUS_LABEL_ID);
Integer.toString(FontAwesome.DOT_CIRCLE_O.getCodepoint()),
SPUIStyleDefinitions.STATUS_ICON_LIGHT_BLUE, SPUIComponetIdProvider.ROLLOUT_STATUS_LABEL_ID);
break;
case STOPPED:
result = HawkbitCommonUtil.getStatusLabelDetailsInString(Integer.toString(FontAwesome.STOP.getCodepoint()),
"statusIconRed", SPUIComponetIdProvider.ROLLOUT_STATUS_LABEL_ID);
SPUIStyleDefinitions.STATUS_ICON_RED, SPUIComponetIdProvider.ROLLOUT_STATUS_LABEL_ID);
break;
case CREATING:
result = HawkbitCommonUtil.getStatusLabelDetailsInString(null, "greySpinner",
result = HawkbitCommonUtil.getStatusLabelDetailsInString(null, SPUIStyleDefinitions.STATUS_SPINNER_GREY,
SPUIComponetIdProvider.ROLLOUT_STATUS_LABEL_ID);
break;
case STARTING:
result = HawkbitCommonUtil.getStatusLabelDetailsInString(null, "blueSpinner",
result = HawkbitCommonUtil.getStatusLabelDetailsInString(null, SPUIStyleDefinitions.STATUS_SPINNER_BLUE,
SPUIComponetIdProvider.ROLLOUT_STATUS_LABEL_ID);
break;
case ERROR_CREATING:
result = HawkbitCommonUtil.getStatusLabelDetailsInString(
Integer.toString(FontAwesome.EXCLAMATION_CIRCLE.getCodepoint()), "statusIconRed",
SPUIComponetIdProvider.ROLLOUT_STATUS_LABEL_ID);
Integer.toString(FontAwesome.EXCLAMATION_CIRCLE.getCodepoint()),
SPUIStyleDefinitions.STATUS_ICON_RED, SPUIComponetIdProvider.ROLLOUT_STATUS_LABEL_ID);
break;
case ERROR_STARTING:
result = HawkbitCommonUtil.getStatusLabelDetailsInString(
Integer.toString(FontAwesome.EXCLAMATION_CIRCLE.getCodepoint()), "statusIconRed",
SPUIComponetIdProvider.ROLLOUT_STATUS_LABEL_ID);
Integer.toString(FontAwesome.EXCLAMATION_CIRCLE.getCodepoint()),
SPUIStyleDefinitions.STATUS_ICON_RED, SPUIComponetIdProvider.ROLLOUT_STATUS_LABEL_ID);
break;
default:
break;
@@ -486,8 +434,7 @@ public class RolloutListGrid extends AbstractGrid {
return null;
}
}
enum ACTION {
PAUSE, RESUME, START, UPDATE
}
@@ -544,6 +491,70 @@ public class RolloutListGrid extends AbstractGrid {
public void setAction(final ACTION action) {
this.action = action;
}
}
/**
*
* Converter to convert {@link RolloutStatus} to string.
*
*/
class RolloutStatusConverter implements Converter<String, RolloutStatus> {
private static final long serialVersionUID = -1217685750825632678L;
@Override
public RolloutStatus convertToModel(final String value, final Class<? extends RolloutStatus> targetType,
final Locale locale) {
return null;
}
@Override
public String convertToPresentation(final RolloutStatus value, final Class<? extends String> targetType,
final Locale locale) {
return convertRolloutStatusToString(value);
}
@Override
public Class<RolloutStatus> getModelType() {
return RolloutStatus.class;
}
@Override
public Class<String> getPresentationType() {
return String.class;
}
}
/**
* Converter to convert {@link TotalTargetCountStatus} to formatted string
* with status and count details.
*
*/
class TotalTargetCountStatusConverter implements Converter<String, TotalTargetCountStatus> {
private static final long serialVersionUID = -5794528427855153924L;
@Override
public TotalTargetCountStatus convertToModel(String value, Class<? extends TotalTargetCountStatus> targetType,
Locale locale) throws com.vaadin.data.util.converter.Converter.ConversionException {
return null;
}
@Override
public String convertToPresentation(TotalTargetCountStatus value, Class<? extends String> targetType,
Locale locale) throws com.vaadin.data.util.converter.Converter.ConversionException {
return DistributionBarHelper.getDistributionBarAsHTMLString(value.getStatusTotalCountMap());
}
@Override
public Class<TotalTargetCountStatus> getModelType() {
return TotalTargetCountStatus.class;
}
@Override
public Class<String> getPresentationType() {
return String.class;
}
}
}

View File

@@ -25,6 +25,7 @@ import org.eclipse.hawkbit.ui.utils.I18N;
import org.eclipse.hawkbit.ui.utils.SPUIComponetIdProvider;
import org.eclipse.hawkbit.ui.utils.SPUIDefinitions;
import org.eclipse.hawkbit.ui.utils.SPUILabelDefinitions;
import org.eclipse.hawkbit.ui.utils.SPUIStyleDefinitions;
import org.springframework.beans.factory.annotation.Autowired;
import org.vaadin.addons.lazyquerycontainer.BeanQueryFactory;
import org.vaadin.addons.lazyquerycontainer.LazyQueryContainer;
@@ -213,26 +214,12 @@ public class RolloutGroupListGrid extends AbstractGrid {
alignColumns();
}
private void alignColumns() {
setCellStyleGenerator(new CellStyleGenerator() {
private static final long serialVersionUID = 5573570647129792429L;
@Override
public String getStyle(final CellReference cellReference) {
String[] coulmnNames = { SPUILabelDefinitions.VAR_STATUS,
SPUILabelDefinitions.VAR_TOTAL_TARGETS_COUNT_STATUS };
if (Arrays.asList(coulmnNames).contains(cellReference.getPropertyId())) {
return "centeralign";
}
return null;
}
});
}
@Override
protected void addColumnRenderes() {
addDetailStatusColumn();
addStatusCoulmn();
getColumn(SPUILabelDefinitions.VAR_STATUS).setRenderer(new HtmlLabelRenderer(),
new RolloutGroupStatusConverter());
getColumn(SPUILabelDefinitions.VAR_TOTAL_TARGETS_COUNT_STATUS).setRenderer(new HtmlRenderer(),
new TotalTargetCountStatusConverter());
if (permissionChecker.hasRolloutTargetsReadPermission()) {
getColumn(SPUILabelDefinitions.VAR_NAME)
.setRenderer(new LinkRenderer(event -> onClickOfRolloutGroupName(event)));
@@ -263,62 +250,33 @@ public class RolloutGroupListGrid extends AbstractGrid {
eventBus.publish(this, RolloutEvent.SHOW_ROLLOUT_GROUP_TARGETS);
}
private void addStatusCoulmn() {
getColumn(SPUILabelDefinitions.VAR_STATUS).setRenderer(new HtmlLabelRenderer(),
new Converter<String, RolloutGroupStatus>() {
private static final long serialVersionUID = 1L;
@Override
public RolloutGroupStatus convertToModel(final String value,
final Class<? extends RolloutGroupStatus> targetType, final Locale locale) {
return null;
}
@Override
public String convertToPresentation(final RolloutGroupStatus value,
final Class<? extends String> targetType, final Locale locale) {
return convertRolloutGroupStatusToString(value);
}
@Override
public Class<RolloutGroupStatus> getModelType() {
return RolloutGroupStatus.class;
}
@Override
public Class<String> getPresentationType() {
return String.class;
}
});
}
private String convertRolloutGroupStatusToString(final RolloutGroupStatus value) {
String result = null;
switch (value) {
case FINISHED:
result = HawkbitCommonUtil.getStatusLabelDetailsInString(
Integer.toString(FontAwesome.CHECK_CIRCLE.getCodepoint()), "statusIconGreen",
Integer.toString(FontAwesome.CHECK_CIRCLE.getCodepoint()), SPUIStyleDefinitions.STATUS_ICON_GREEN,
SPUIComponetIdProvider.ROLLOUT_GROUP_STATUS_LABEL_ID);
break;
case SCHEDULED:
result = HawkbitCommonUtil.getStatusLabelDetailsInString(
Integer.toString(FontAwesome.BULLSEYE.getCodepoint()), "statusIconBlue",
Integer.toString(FontAwesome.HOURGLASS_1.getCodepoint()), SPUIStyleDefinitions.STATUS_ICON_PENDING,
SPUIComponetIdProvider.ROLLOUT_GROUP_STATUS_LABEL_ID);
break;
case RUNNING:
result = HawkbitCommonUtil.getStatusLabelDetailsInString(
Integer.toString(FontAwesome.ADJUST.getCodepoint()), "statusIconYellow",
Integer.toString(FontAwesome.ADJUST.getCodepoint()), SPUIStyleDefinitions.STATUS_ICON_LIGHT_YELLOW,
SPUIComponetIdProvider.ROLLOUT_GROUP_STATUS_LABEL_ID);
break;
case READY:
result = HawkbitCommonUtil.getStatusLabelDetailsInString(
Integer.toString(FontAwesome.DOT_CIRCLE_O.getCodepoint()), "statusIconLightBlue",
SPUIComponetIdProvider.ROLLOUT_GROUP_STATUS_LABEL_ID);
Integer.toString(FontAwesome.DOT_CIRCLE_O.getCodepoint()),
SPUIStyleDefinitions.STATUS_ICON_LIGHT_BLUE, SPUIComponetIdProvider.ROLLOUT_GROUP_STATUS_LABEL_ID);
break;
case ERROR:
result = HawkbitCommonUtil.getStatusLabelDetailsInString(
Integer.toString(FontAwesome.EXCLAMATION_CIRCLE.getCodepoint()), "statusIconRed",
SPUIComponetIdProvider.ROLLOUT_GROUP_STATUS_LABEL_ID);
Integer.toString(FontAwesome.EXCLAMATION_CIRCLE.getCodepoint()),
SPUIStyleDefinitions.STATUS_ICON_RED, SPUIComponetIdProvider.ROLLOUT_GROUP_STATUS_LABEL_ID);
break;
default:
break;
@@ -327,37 +285,6 @@ public class RolloutGroupListGrid extends AbstractGrid {
}
private void addDetailStatusColumn() {
getColumn(SPUILabelDefinitions.VAR_TOTAL_TARGETS_COUNT_STATUS).setRenderer(new HtmlRenderer(),
new Converter<String, TotalTargetCountStatus>() {
private static final long serialVersionUID = 2660476405836705932L;
@Override
public TotalTargetCountStatus convertToModel(String value,
Class<? extends TotalTargetCountStatus> targetType, Locale locale)
throws com.vaadin.data.util.converter.Converter.ConversionException {
return null;
}
@Override
public String convertToPresentation(TotalTargetCountStatus value,
Class<? extends String> targetType, Locale locale)
throws com.vaadin.data.util.converter.Converter.ConversionException {
return DistributionBarHelper.getDistributionBarAsHTMLString(value.getStatusTotalCountMap());
}
@Override
public Class<TotalTargetCountStatus> getModelType() {
return TotalTargetCountStatus.class;
}
@Override
public Class<String> getPresentationType() {
return String.class;
}
});
}
private String getDescription(CellReference cell) {
if (SPUILabelDefinitions.VAR_STATUS.equals(cell.getPropertyId())) {
return cell.getProperty().getValue().toString().toLowerCase();
@@ -373,4 +300,85 @@ public class RolloutGroupListGrid extends AbstractGrid {
}
}
private void alignColumns() {
setCellStyleGenerator(new CellStyleGenerator() {
private static final long serialVersionUID = 5573570647129792429L;
@Override
public String getStyle(final CellReference cellReference) {
String[] coulmnNames = { SPUILabelDefinitions.VAR_STATUS,
SPUILabelDefinitions.VAR_TOTAL_TARGETS_COUNT_STATUS };
if (Arrays.asList(coulmnNames).contains(cellReference.getPropertyId())) {
return "centeralign";
}
return null;
}
});
}
/**
*
* Converts {@link TotalTargetCountStatus} into formatted string with status
* and count details.
*
*/
class TotalTargetCountStatusConverter implements Converter<String, TotalTargetCountStatus> {
private static final long serialVersionUID = -9205943894818450807L;
@Override
public TotalTargetCountStatus convertToModel(String value, Class<? extends TotalTargetCountStatus> targetType,
Locale locale) throws com.vaadin.data.util.converter.Converter.ConversionException {
return null;
}
@Override
public String convertToPresentation(TotalTargetCountStatus value, Class<? extends String> targetType,
Locale locale) throws com.vaadin.data.util.converter.Converter.ConversionException {
return DistributionBarHelper.getDistributionBarAsHTMLString(value.getStatusTotalCountMap());
}
@Override
public Class<TotalTargetCountStatus> getModelType() {
return TotalTargetCountStatus.class;
}
@Override
public Class<String> getPresentationType() {
return String.class;
}
}
/**
*
* Converts {@link RolloutGroupStatus} to string.
*
*/
class RolloutGroupStatusConverter implements Converter<String, RolloutGroupStatus> {
private static final long serialVersionUID = 5448062736373292820L;
@Override
public RolloutGroupStatus convertToModel(final String value,
final Class<? extends RolloutGroupStatus> targetType, final Locale locale) {
return null;
}
@Override
public String convertToPresentation(final RolloutGroupStatus value, final Class<? extends String> targetType,
final Locale locale) {
return convertRolloutGroupStatusToString(value);
}
@Override
public Class<RolloutGroupStatus> getModelType() {
return RolloutGroupStatus.class;
}
@Override
public Class<String> getPresentationType() {
return String.class;
}
}
}

View File

@@ -94,29 +94,27 @@ public class RolloutGroupTargetsListGrid extends AbstractGrid {
null, false, true);
rolloutGroupTargetGridContainer.addContainerProperty(SPUILabelDefinitions.VAR_DESC, String.class, "", false,
true);
rolloutGroupTargetGridContainer.addContainerProperty(SPUILabelDefinitions.ASSIGNED_DISTRIBUTION_NAME_VER,
String.class, "", false, true);
}
@Override
protected void setColumnExpandRatio() {
getColumn(SPUILabelDefinitions.VAR_NAME).setMinimumWidth(20);
getColumn(SPUILabelDefinitions.VAR_NAME).setMaximumWidth(250);
getColumn(SPUILabelDefinitions.VAR_NAME).setMaximumWidth(280);
getColumn(SPUILabelDefinitions.VAR_STATUS).setMinimumWidth(50);
getColumn(SPUILabelDefinitions.VAR_STATUS).setMaximumWidth(100);
getColumn(SPUILabelDefinitions.VAR_STATUS).setMaximumWidth(80);
getColumn(SPUILabelDefinitions.VAR_CREATED_DATE).setMaximumWidth(150);
getColumn(SPUILabelDefinitions.VAR_CREATED_DATE).setMinimumWidth(50);
getColumn(SPUILabelDefinitions.VAR_CREATED_DATE).setMaximumWidth(180);
getColumn(SPUILabelDefinitions.VAR_CREATED_DATE).setMinimumWidth(30);
getColumn(SPUILabelDefinitions.VAR_CREATED_BY).setMaximumWidth(150);
getColumn(SPUILabelDefinitions.VAR_CREATED_BY).setMaximumWidth(180);
getColumn(SPUILabelDefinitions.VAR_CREATED_BY).setMinimumWidth(50);
getColumn(SPUILabelDefinitions.VAR_LAST_MODIFIED_DATE).setMaximumWidth(150);
getColumn(SPUILabelDefinitions.VAR_LAST_MODIFIED_DATE).setMinimumWidth(20);
getColumn(SPUILabelDefinitions.VAR_LAST_MODIFIED_DATE).setMaximumWidth(180);
getColumn(SPUILabelDefinitions.VAR_LAST_MODIFIED_DATE).setMinimumWidth(30);
getColumn(SPUILabelDefinitions.VAR_LAST_MODIFIED_BY).setMaximumWidth(150);
getColumn(SPUILabelDefinitions.VAR_LAST_MODIFIED_BY).setMinimumWidth(20);
getColumn(SPUILabelDefinitions.VAR_LAST_MODIFIED_BY).setMaximumWidth(180);
getColumn(SPUILabelDefinitions.VAR_LAST_MODIFIED_BY).setMinimumWidth(50);
setFrozenColumnCount(getColumns().size());
@@ -131,8 +129,6 @@ public class RolloutGroupTargetsListGrid extends AbstractGrid {
getColumn(SPUILabelDefinitions.VAR_LAST_MODIFIED_DATE).setHeaderCaption(i18n.get("header.modifiedDate"));
getColumn(SPUILabelDefinitions.VAR_LAST_MODIFIED_BY).setHeaderCaption(i18n.get("header.modifiedBy"));
getColumn(SPUILabelDefinitions.VAR_DESC).setHeaderCaption(i18n.get("header.description"));
getColumn(SPUILabelDefinitions.ASSIGNED_DISTRIBUTION_NAME_VER).setHeaderCaption(i18n.get("header.assigned.ds"));
}
@Override
@@ -154,6 +150,23 @@ public class RolloutGroupTargetsListGrid extends AbstractGrid {
alignColumns();
}
@Override
protected void addColumnRenderes() {
getColumn(SPUILabelDefinitions.VAR_STATUS).setRenderer(new HtmlLabelRenderer(), new StatusConverter());
}
@Override
protected void setHiddenColumns() {
/**
* No hidden columns.
*/
}
@Override
protected CellDescriptionGenerator getDescriptionGenerator() {
return cell -> getDescription(cell);
};
private void alignColumns() {
setCellStyleGenerator(new CellStyleGenerator() {
private static final long serialVersionUID = 5573570647129792429L;
@@ -168,88 +181,81 @@ public class RolloutGroupTargetsListGrid extends AbstractGrid {
});
}
@Override
protected void addColumnRenderes() {
addStatusCoulmn();
/**
*
* Converts {@link Status} into string with status icon details.
*
*/
private class StatusConverter implements Converter<String, Status> {
private static final long serialVersionUID = -7467206089699548808L;
@Override
public Status convertToModel(final String value, final Class<? extends Status> targetType,
final Locale locale) {
return null;
}
@Override
public String convertToPresentation(final Status status, final Class<? extends String> targetType,
final Locale locale) {
if (status == null) {
// Actions are not created for targets when
// rollout's status
// is READY and when duplicate assignment is done.
// In these cases display a appropriate status with
// description
return getStatus();
} else {
return processActionStatus(status);
}
}
@Override
public Class<Status> getModelType() {
return Status.class;
}
@Override
public Class<String> getPresentationType() {
return String.class;
}
}
@Override
protected void setHiddenColumns() {
getColumn(SPUILabelDefinitions.ASSIGNED_DISTRIBUTION_NAME_VER).setHidden(true);
}
private void addStatusCoulmn() {
getColumn(SPUILabelDefinitions.VAR_STATUS).setRenderer(new HtmlLabelRenderer(),
new Converter<String, Status>() {
private static final long serialVersionUID = 1L;
@Override
public Status convertToModel(final String value, final Class<? extends Status> targetType,
final Locale locale) {
return null;
}
@Override
public String convertToPresentation(final Status status, final Class<? extends String> targetType,
final Locale locale) {
String result = null;
if (status == null) {
// Actions are not created for targets when
// rollout's status
// is READY and when duplicate assignment is done.
// In these cases display a appropriate status with
// description
return getStatus();
} else {
switch (status) {
case FINISHED:
result = HawkbitCommonUtil.getStatusLabelDetailsInString(
Integer.toString(FontAwesome.CHECK_CIRCLE.getCodepoint()), "statusIconGreen",
null);
break;
case SCHEDULED:
result = HawkbitCommonUtil.getStatusLabelDetailsInString(
Integer.toString(FontAwesome.BULLSEYE.getCodepoint()), "statusIconBlue", null);
break;
case RUNNING:
case RETRIEVED:
case WARNING:
case DOWNLOAD:
result = HawkbitCommonUtil.getStatusLabelDetailsInString(
Integer.toString(FontAwesome.ADJUST.getCodepoint()), "statusIconYellow", null);
break;
case CANCELING:
result = HawkbitCommonUtil.getStatusLabelDetailsInString(
Integer.toString(FontAwesome.TIMES_CIRCLE.getCodepoint()), "statusIconPending",
null);
break;
case CANCELED:
result = HawkbitCommonUtil.getStatusLabelDetailsInString(
Integer.toString(FontAwesome.TIMES_CIRCLE.getCodepoint()), "statusIconGreen",
null);
break;
case ERROR:
result = HawkbitCommonUtil.getStatusLabelDetailsInString(
Integer.toString(FontAwesome.EXCLAMATION_CIRCLE.getCodepoint()),
"statusIconRed", null);
break;
default:
break;
}
return result;
}
}
@Override
public Class<Status> getModelType() {
return Status.class;
}
@Override
public Class<String> getPresentationType() {
return String.class;
}
});
private String processActionStatus(final Status status) {
String result = null;
switch (status) {
case FINISHED:
result = HawkbitCommonUtil.getStatusLabelDetailsInString(
Integer.toString(FontAwesome.CHECK_CIRCLE.getCodepoint()), "statusIconGreen", null);
break;
case SCHEDULED:
result = HawkbitCommonUtil.getStatusLabelDetailsInString(
Integer.toString(FontAwesome.HOURGLASS_1.getCodepoint()), "statusIconPending", null);
break;
case RUNNING:
case RETRIEVED:
case WARNING:
case DOWNLOAD:
result = HawkbitCommonUtil.getStatusLabelDetailsInString(
Integer.toString(FontAwesome.ADJUST.getCodepoint()), "statusIconYellow", null);
break;
case CANCELING:
result = HawkbitCommonUtil.getStatusLabelDetailsInString(
Integer.toString(FontAwesome.TIMES_CIRCLE.getCodepoint()), "statusIconPending", null);
break;
case CANCELED:
result = HawkbitCommonUtil.getStatusLabelDetailsInString(
Integer.toString(FontAwesome.TIMES_CIRCLE.getCodepoint()), "statusIconGreen", null);
break;
case ERROR:
result = HawkbitCommonUtil.getStatusLabelDetailsInString(
Integer.toString(FontAwesome.EXCLAMATION_CIRCLE.getCodepoint()), "statusIconRed", null);
break;
default:
break;
}
return result;
}
private String getStatus() {
@@ -267,30 +273,29 @@ public class RolloutGroupTargetsListGrid extends AbstractGrid {
}
}
@Override
protected CellDescriptionGenerator getDescriptionGenerator() {
return cell -> getDescription(cell);
};
private String getDescription(CellReference cell) {
if (SPUILabelDefinitions.VAR_STATUS.equals(cell.getPropertyId())) {
if (null != cell.getProperty().getValue()) {
return cell.getProperty().getValue().toString().toLowerCase();
} else {
final RolloutGroup rolloutGroup = rolloutUIState.getRolloutGroup().isPresent()
? rolloutUIState.getRolloutGroup().get() : null;
if (rolloutGroup != null && rolloutGroup.getStatus() == RolloutGroupStatus.READY) {
return RolloutGroupStatus.READY.toString().toLowerCase();
} else if (rolloutGroup != null && rolloutGroup.getStatus() == RolloutGroupStatus.FINISHED) {
String ds = rolloutUIState.getRolloutDistributionSet().isPresent()
? rolloutUIState.getRolloutDistributionSet().get() : "";
return i18n.get("message.dist.already.assigned", new Object[] { ds });
} else {
return "unknown";
}
return getDescriptionWhenNoAction();
}
}
return null;
}
private String getDescriptionWhenNoAction() {
final RolloutGroup rolloutGroup = rolloutUIState.getRolloutGroup().isPresent()
? rolloutUIState.getRolloutGroup().get() : null;
if (rolloutGroup != null && rolloutGroup.getStatus() == RolloutGroupStatus.READY) {
return RolloutGroupStatus.READY.toString().toLowerCase();
} else if (rolloutGroup != null && rolloutGroup.getStatus() == RolloutGroupStatus.FINISHED) {
String ds = rolloutUIState.getRolloutDistributionSet().isPresent()
? rolloutUIState.getRolloutDistributionSet().get() : "";
return i18n.get("message.dist.already.assigned", new Object[] { ds });
} else {
return "unknown";
}
}
}

View File

@@ -248,6 +248,17 @@ public final class SPUIStyleDefinitions {
* Target filter search progress indicator style.
*/
public static final String TARGET_FILTER_SEARCH_PROGRESS_INDICATOR_STYLE = "target-filter-spinner";
public static final String STATUS_ICON_RED = "statusIconRed";
public static final String STATUS_ICON_GREEN = "statusIconGreen";
public static final String STATUS_ICON_BLUE = "statusIconBlue";
public static final String STATUS_SPINNER_YELLOW = "yellowSpinner";
public static final String STATUS_ICON_LIGHT_BLUE = "statusIconLightBlue";
public static final String STATUS_SPINNER_GREY = "greySpinner";
public static final String STATUS_SPINNER_BLUE = "blueSpinner";
public static final String STATUS_ICON_LIGHT_YELLOW = "statusIconYellow";
public static final String STATUS_ICON_PENDING = "statusIconPending";
/**
* Constructor.

View File

@@ -50,16 +50,4 @@
}
&.alump-dbar-tooltip {
background-color: rgba(27, 54, 73, 0.9);
border-radius: 3px;
color: white;
z-index: 100;
padding: 3px;
font-size: 10px;
box-shadow: 0 2px 12px rgba(0, 0, 0, 0.2);
-moz-box-shadow: 0 2px 12px rgba(0, 0, 0, 0.2);
-webkit-box-shadow: 0 2px 12px rgba(0, 0, 0, 0.2);
}
}