Rollout -added new custom label renderer

Signed-off-by: asharani-murugesh <asharani.murugesh@in.bosch.com>
This commit is contained in:
asharani-murugesh
2016-02-22 11:30:01 +01:00
parent 5d7d33d1da
commit 8bef00496c
20 changed files with 265 additions and 111 deletions

View File

@@ -90,9 +90,9 @@
</manifest>
<manifestEntries>
<!-- Package format version - do not change -->
<Implementation-Title>DistributionBarRenderer</Implementation-Title>
<Implementation-Title>CustomRenderers</Implementation-Title>
<Vaadin-Package-Version>1</Vaadin-Package-Version>
<Vaadin-Widgetsets>org.eclipse.hawkbit.ui.distributionbar.DistributionBarRendererWidgetSet</Vaadin-Widgetsets>
<Vaadin-Widgetsets>org.eclipse.hawkbit.ui.customrenderers.CustomRendererWidgetSet</Vaadin-Widgetsets>
</manifestEntries>
</archive>
</configuration>

View File

@@ -25,11 +25,12 @@
<inherits name="org.vaadin.peter.contextmenu.ContextmenuWidgetset" />
<inherits
name="org.eclipse.hawkbit.ui.distributionbar.DistributionBarRendererWidgetSet" />
name="org.vaadin.hene.flexibleoptiongroup.widgetset.FlexibleOptionGroupWidgetset" />
<inherits
name="org.vaadin.alump.distributionbar.gwt.DistributionBarWidgetset" />
<inherits name="org.eclipse.hawkbit.ui.distributionbar.DistributionBarRendererWidgetSet" />
<inherits name="org.eclipse.hawkbit.ui.customrenderers.CustomRendererWidgetSet" />
<inherits name="org.vaadin.hene.flexibleoptiongroup.widgetset.FlexibleOptionGroupWidgetset" />

View File

@@ -1,5 +1,4 @@
<module>
<!-- Inherit DefaultWidgetSet -->
<inherits name="com.vaadin.DefaultWidgetSet"/>
@@ -12,6 +11,5 @@
<inherits name="org.vaadin.tokenfield.TokenfieldWidgetset" />
<inherits name="org.vaadin.hene.flexibleoptiongroup.widgetset.FlexibleOptionGroupWidgetset" />
</module>

View File

@@ -1,14 +1,14 @@
package org.eclipse.hawkbit.ui.distributionbar.client;
package org.eclipse.hawkbit.ui.customrenderers.client;
import com.vaadin.client.connectors.ButtonRendererConnector;
import com.vaadin.shared.ui.Connect;
@Connect(org.eclipse.hawkbit.ui.distributionbar.renderers.HtmlButtonRenderer.class)
@Connect(org.eclipse.hawkbit.ui.customrenderers.renderers.HtmlButtonRenderer.class)
public class HtmlButtonRendererConnector extends ButtonRendererConnector {
private static final long serialVersionUID = 7987417436367399331L;
@Override
public org.eclipse.hawkbit.ui.distributionbar.client.renderers.HtmlButtonRenderer getRenderer() {
return (org.eclipse.hawkbit.ui.distributionbar.client.renderers.HtmlButtonRenderer) super.getRenderer();
public org.eclipse.hawkbit.ui.customrenderers.client.renderers.HtmlButtonRenderer getRenderer() {
return (org.eclipse.hawkbit.ui.customrenderers.client.renderers.HtmlButtonRenderer) super.getRenderer();
}
}

View File

@@ -0,0 +1,16 @@
package org.eclipse.hawkbit.ui.customrenderers.client;
import com.vaadin.client.connectors.AbstractRendererConnector;
import com.vaadin.shared.ui.Connect;
@Connect(org.eclipse.hawkbit.ui.customrenderers.renderers.HtmlLabelRenderer.class)
public class HtmlLabelRendererConnector extends AbstractRendererConnector<String> {
private static final long serialVersionUID = 7697966991925490786L;
@Override
public org.eclipse.hawkbit.ui.customrenderers.client.renderers.HtmlLabelRenderer getRenderer() {
return (org.eclipse.hawkbit.ui.customrenderers.client.renderers.HtmlLabelRenderer) super.getRenderer();
}
}

View File

@@ -1,14 +1,14 @@
package org.eclipse.hawkbit.ui.distributionbar.client;
package org.eclipse.hawkbit.ui.customrenderers.client;
import com.vaadin.client.connectors.ButtonRendererConnector;
import com.vaadin.shared.ui.Connect;
@Connect(org.eclipse.hawkbit.ui.distributionbar.renderers.LinkRenderer.class)
@Connect(org.eclipse.hawkbit.ui.customrenderers.renderers.LinkRenderer.class)
public class LinkRendererConnector extends ButtonRendererConnector {
private static final long serialVersionUID = 7987417436367399331L;
@Override
public org.eclipse.hawkbit.ui.distributionbar.client.renderers.LinkRenderer getRenderer() {
return (org.eclipse.hawkbit.ui.distributionbar.client.renderers.LinkRenderer) super.getRenderer();
public org.eclipse.hawkbit.ui.customrenderers.client.renderers.LinkRenderer getRenderer() {
return (org.eclipse.hawkbit.ui.customrenderers.client.renderers.LinkRenderer) super.getRenderer();
}
}

View File

@@ -1,16 +1,16 @@
package org.eclipse.hawkbit.ui.distributionbar.client;
package org.eclipse.hawkbit.ui.customrenderers.client;
import com.vaadin.client.connectors.AbstractRendererConnector;
import com.vaadin.shared.ui.Connect;
@Connect(org.eclipse.hawkbit.ui.distributionbar.renderers.StringDistributionBarRenderer.class)
@Connect(org.eclipse.hawkbit.ui.customrenderers.renderers.StringDistributionBarRenderer.class)
public class StringDistributionBarRendererConnector extends AbstractRendererConnector<String> {
private static final long serialVersionUID = 7697966991925490786L;
@Override
public org.eclipse.hawkbit.ui.distributionbar.client.renderers.StringDistributionBarRenderer getRenderer() {
org.eclipse.hawkbit.ui.distributionbar.client.renderers.StringDistributionBarRenderer renderer = (org.eclipse.hawkbit.ui.distributionbar.client.renderers.StringDistributionBarRenderer) super.getRenderer();
public org.eclipse.hawkbit.ui.customrenderers.client.renderers.StringDistributionBarRenderer getRenderer() {
org.eclipse.hawkbit.ui.customrenderers.client.renderers.StringDistributionBarRenderer renderer = (org.eclipse.hawkbit.ui.customrenderers.client.renderers.StringDistributionBarRenderer) super.getRenderer();
renderer.setUiWidgetClassName(StringDistributionBarRendererConnector.this.getConnection().getUIConnector().getWidget().getParent().getStyleName());
return renderer;
}

View File

@@ -1,4 +1,4 @@
package org.eclipse.hawkbit.ui.distributionbar.client.renderers;
package org.eclipse.hawkbit.ui.customrenderers.client.renderers;
import com.google.gwt.user.client.ui.Button;
import com.vaadin.client.renderers.ButtonRenderer;
@@ -10,12 +10,18 @@ public class HtmlButtonRenderer extends ButtonRenderer {
if (text != null) {
button.setHTML(text);
}
button.setStylePrimaryName("v-button");
button.addStyleName(
"tiny v-button-tiny borderless v-button-borderless icon-only v-button-icon-only button-no-border v-button-button-no-border");
applystyles(button);
// this is to allow the button to disappear, if the text is null
button.setVisible(text != null);
button.getElement().setId("rollout.action.button.id");
button.getElement().setTitle("action");
}
private void applystyles(Button button) {
button.setStylePrimaryName("v-button");
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");
}
}

View File

@@ -0,0 +1,53 @@
package org.eclipse.hawkbit.ui.customrenderers.client.renderers;
import java.util.HashMap;
import java.util.Map;
import com.google.gwt.core.client.GWT;
import com.vaadin.client.renderers.WidgetRenderer;
import com.vaadin.client.ui.VLabel;
import com.vaadin.client.widget.grid.RendererCellReference;
public class HtmlLabelRenderer extends WidgetRenderer<String, VLabel> {
@Override
public VLabel createWidget() {
return GWT.create(VLabel.class);
}
@Override
public void render(RendererCellReference cell, String input, VLabel label) {
Map<String, String> map = formatInput(input);
String value = map.containsKey("value") ? map.get("value") : null;
String description = map.containsKey("description") ? map.get("description") : null;
String style = map.containsKey("style") ? map.get("style") : null;
String id = map.containsKey("id") ? map.get("id") : null;
if (value != null) {
label.setHTML("<span>&#x" + Integer.toHexString(Integer.parseInt(value)) + ";</span>");
}
applyStyle(label, style);
label.setTitle(description);
label.getElement().setId(id);
}
private void applyStyle(VLabel label, String style) {
label.setStylePrimaryName("v-label");
label.addStyleName("small v-label-small");
label.addStyleName("font-icon v-label-font-icon");
if (style != null) {
label.addStyleName(style + " v-label-" + style);
}
}
private Map<String, String> formatInput(String input) {
Map<String, String> details = new HashMap<>();
String[] tempData = input.split(",");
for (String statusWithCount : tempData) {
String[] statusWithCountList = statusWithCount.split(":");
details.put(statusWithCountList[0], statusWithCountList[1]);
}
return details;
}
}

View File

@@ -1,4 +1,4 @@
package org.eclipse.hawkbit.ui.distributionbar.client.renderers;
package org.eclipse.hawkbit.ui.customrenderers.client.renderers;
import com.google.gwt.user.client.ui.Button;
import com.vaadin.client.renderers.ButtonRenderer;
@@ -8,11 +8,17 @@ public class LinkRenderer extends ButtonRenderer {
@Override
public void render(RendererCellReference cell, String text, Button button) {
button.setText(text);
button.setStylePrimaryName("v-button");
button.addStyleName(
"borderless v-button-borderless small v-button-small on-focus-no-border v-button-on-focus-no-border link v-button-link");
applystyle(button);
// this is to allow the button to disappear, if the text is null
button.setVisible(text != null);
button.getElement().setId("rollout.action.button.id");
button.getElement().setId(new StringBuilder("link").append(".").append(text).toString());
}
private void applystyle(Button button) {
button.setStylePrimaryName("v-button");
button.addStyleName("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");
}
}

View File

@@ -1,4 +1,4 @@
package org.eclipse.hawkbit.ui.distributionbar.client.renderers;
package org.eclipse.hawkbit.ui.customrenderers.client.renderers;
import java.util.Collection;
import java.util.HashMap;
@@ -40,21 +40,25 @@ public class StringDistributionBarRenderer extends WidgetRenderer<String, GwtDis
setBarPartSize(widget, "FINISHED".toLowerCase(), 0, 1);
} else {
widget.setNumberOfParts(getNumberOfParts(map.values()));
int index = 0;
for (Entry<String, Long> entryVal : map.entrySet()) {
Long count = entryVal.getValue();
if (count > 0) {
setBarPartSize(widget, entryVal.getKey().toLowerCase(), count.intValue(), index);
index++;
}
}
setThePartDetails(widget, map);
}
}
widget.updateParts();
}
}
private void setThePartDetails(GwtDistributionBar widget, Map<String, Long> map) {
widget.setNumberOfParts(getNumberOfParts(map.values()));
int index = 0;
for (Entry<String, Long> entryVal : map.entrySet()) {
Long count = entryVal.getValue();
if (count > 0) {
setBarPartSize(widget, entryVal.getKey().toLowerCase(), count.intValue(), index);
index++;
}
}
}
private Map<String, Long> formatData(String input) {
Map<String, Long> details = new HashMap<>();
String[] tempData = input.split(",");

View File

@@ -1,4 +1,4 @@
package org.eclipse.hawkbit.ui.distributionbar.renderers;
package org.eclipse.hawkbit.ui.customrenderers.renderers;
import com.vaadin.ui.renderers.ButtonRenderer;

View File

@@ -0,0 +1,14 @@
package org.eclipse.hawkbit.ui.customrenderers.renderers;
import com.vaadin.ui.Grid.AbstractRenderer;
public class HtmlLabelRenderer extends AbstractRenderer<String> {
private static final long serialVersionUID = -7675588068526774915L;
/**
* Creates a new text renderer
*/
public HtmlLabelRenderer() {
super(String.class, null);
}
}

View File

@@ -1,4 +1,4 @@
package org.eclipse.hawkbit.ui.distributionbar.renderers;
package org.eclipse.hawkbit.ui.customrenderers.renderers;
import com.vaadin.ui.renderers.ButtonRenderer;

View File

@@ -1,4 +1,4 @@
package org.eclipse.hawkbit.ui.distributionbar.renderers;
package org.eclipse.hawkbit.ui.customrenderers.renderers;
import com.vaadin.ui.Grid.AbstractRenderer;

View File

@@ -14,7 +14,10 @@ import org.eclipse.hawkbit.repository.SpPermissionChecker;
import org.eclipse.hawkbit.repository.model.RolloutGroup;
import org.eclipse.hawkbit.repository.model.RolloutGroup.RolloutGroupStatus;
import org.eclipse.hawkbit.repository.model.TotalTargetCountStatus;
import org.eclipse.hawkbit.ui.distributionbar.renderers.LinkRenderer;
import org.eclipse.hawkbit.repository.model.Rollout.RolloutStatus;
import org.eclipse.hawkbit.ui.customrenderers.renderers.HtmlLabelRenderer;
import org.eclipse.hawkbit.ui.customrenderers.renderers.LinkRenderer;
import org.eclipse.hawkbit.ui.customrenderers.renderers.StringDistributionBarRenderer;
import org.eclipse.hawkbit.ui.rollout.event.RolloutEvent;
import org.eclipse.hawkbit.ui.rollout.state.RolloutUIState;
import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil;
@@ -37,7 +40,6 @@ import com.vaadin.server.FontAwesome;
import com.vaadin.spring.annotation.SpringComponent;
import com.vaadin.spring.annotation.ViewScope;
import com.vaadin.ui.renderers.ClickableRenderer.RendererClickEvent;
import com.vaadin.ui.UI;
import com.vaadin.ui.renderers.HtmlRenderer;
@SpringComponent
@@ -251,8 +253,9 @@ public class RolloutGroupListGrid extends AbstractSimpleGrid {
eventBus.publish(this, RolloutEvent.SHOW_ROLLOUT_GROUP_TARGETS);
}
private void addStatusCoulmn() {
getColumn(SPUILabelDefinitions.VAR_STATUS).setRenderer(new HtmlRenderer(),
getColumn(SPUILabelDefinitions.VAR_STATUS).setRenderer(new HtmlLabelRenderer(),
new Converter<String, RolloutGroupStatus>() {
private static final long serialVersionUID = 1L;
@@ -265,29 +268,7 @@ public class RolloutGroupListGrid extends AbstractSimpleGrid {
@Override
public String convertToPresentation(final RolloutGroupStatus value,
final Class<? extends String> targetType, final Locale locale) {
String result = null;
switch (value) {
case FINISHED:
result = "<div class=\"statusIconGreen\">" + FontAwesome.CHECK_CIRCLE.getHtml() + "</div>";
break;
case SCHEDULED:
result = "<div class=\"statusIconBlue\">" + FontAwesome.BULLSEYE.getHtml() + "</div>";
break;
case RUNNING:
result = "<div class=\"statusIconYellow\"><span title=\"xxx\">" + FontAwesome.ADJUST.getHtml() + "</span></div>";
break;
case READY:
result = "<div class=\"statusIconLightBlue\"> <span title=\"xxx\">"
+ FontAwesome.DOT_CIRCLE_O.getHtml() + "</span></div>";
break;
case ERROR:
result = "<div class=\"statusIconRed\">" + FontAwesome.EXCLAMATION_CIRCLE.getHtml()
+ "</div>";
break;
default:
break;
}
return result;
return convertRolloutGroupStatusToString(value);
}
@Override
@@ -301,10 +282,43 @@ public class RolloutGroupListGrid extends AbstractSimpleGrid {
}
});
}
private String convertRolloutGroupStatusToString(final RolloutGroupStatus value) {
String result = null;
switch (value) {
case FINISHED:
result = HawkbitCommonUtil.getFormattedString(Integer.toString(FontAwesome.CHECK_CIRCLE.getCodepoint()),
value.name().toLowerCase(), "statusIconGreen", SPUIComponetIdProvider.ROLLOUT_GROUP_STATUS_LABEL_ID);
break;
case SCHEDULED:
result = HawkbitCommonUtil.getFormattedString(Integer.toString(FontAwesome.BULLSEYE.getCodepoint()),
value.name().toLowerCase(), "statusIconBlue", SPUIComponetIdProvider.ROLLOUT_GROUP_STATUS_LABEL_ID);
break;
case RUNNING:
result = HawkbitCommonUtil.getFormattedString(Integer.toString(FontAwesome.ADJUST.getCodepoint()),
value.name().toLowerCase(), "statusIconYellow", SPUIComponetIdProvider.ROLLOUT_GROUP_STATUS_LABEL_ID);
break;
case READY:
result = HawkbitCommonUtil.getFormattedString(Integer.toString(FontAwesome.DOT_CIRCLE_O.getCodepoint()),
value.name().toLowerCase(), "statusIconLightBlue", SPUIComponetIdProvider.ROLLOUT_GROUP_STATUS_LABEL_ID);
break;
case ERROR:
result = HawkbitCommonUtil.getFormattedString(Integer.toString(FontAwesome.EXCLAMATION_CIRCLE.getCodepoint()),
value.name().toLowerCase(), "statusIconRed", SPUIComponetIdProvider.ROLLOUT_GROUP_STATUS_LABEL_ID);
break;
default:
break;
}
return result;
}
private void addDetailStatusColumn() {
getColumn(SPUILabelDefinitions.VAR_TOTAL_TARGETS_COUNT_STATUS).setRenderer(
new org.eclipse.hawkbit.ui.distributionbar.renderers.StringDistributionBarRenderer(),
new StringDistributionBarRenderer(),
new Converter<String, TotalTargetCountStatus>() {
private static final long serialVersionUID = 2660476405836705932L;

View File

@@ -4,8 +4,6 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Map.Entry;
import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
@@ -16,9 +14,9 @@ import org.eclipse.hawkbit.repository.SpPermissionChecker;
import org.eclipse.hawkbit.repository.model.Rollout;
import org.eclipse.hawkbit.repository.model.Rollout.RolloutStatus;
import org.eclipse.hawkbit.repository.model.TotalTargetCountStatus;
import org.eclipse.hawkbit.repository.model.TotalTargetCountStatus.Status;
import org.eclipse.hawkbit.ui.distributionbar.renderers.HtmlButtonRenderer;
import org.eclipse.hawkbit.ui.distributionbar.renderers.LinkRenderer;
import org.eclipse.hawkbit.ui.customrenderers.renderers.HtmlButtonRenderer;
import org.eclipse.hawkbit.ui.customrenderers.renderers.HtmlLabelRenderer;
import org.eclipse.hawkbit.ui.customrenderers.renderers.LinkRenderer;
import org.eclipse.hawkbit.ui.rollout.RolloutListTable.ACTION;
import org.eclipse.hawkbit.ui.rollout.RolloutListTable.ContextMenuData;
import org.eclipse.hawkbit.ui.rollout.event.RolloutEvent;
@@ -40,6 +38,7 @@ import org.vaadin.spring.events.EventBus;
import org.vaadin.spring.events.EventScope;
import org.vaadin.spring.events.annotation.EventBusListenerMethod;
import com.google.common.base.Strings;
import com.vaadin.data.Container;
import com.vaadin.data.Item;
import com.vaadin.data.util.PropertyValueGenerator;
@@ -48,6 +47,7 @@ import com.vaadin.server.AbstractClientConnector;
import com.vaadin.server.FontAwesome;
import com.vaadin.spring.annotation.SpringComponent;
import com.vaadin.spring.annotation.ViewScope;
import com.vaadin.ui.Label;
import com.vaadin.ui.UI;
import com.vaadin.ui.Window;
import com.vaadin.ui.renderers.ClickableRenderer.RendererClickEvent;
@@ -84,6 +84,8 @@ public class RolloutListGrid extends AbstractSimpleGrid {
protected void init() {
super.init();
eventBus.subscribe(this);
setColumnReorderingAllowed(true);
isColumnReorderingAllowed();
}
@PreDestroy
@@ -315,7 +317,7 @@ public class RolloutListGrid extends AbstractSimpleGrid {
private void addDetailStatusColumn() {
getColumn(SPUILabelDefinitions.VAR_TOTAL_TARGETS_COUNT_STATUS).setRenderer(
new org.eclipse.hawkbit.ui.distributionbar.renderers.StringDistributionBarRenderer(),
new org.eclipse.hawkbit.ui.customrenderers.renderers.StringDistributionBarRenderer(),
new Converter<String, TotalTargetCountStatus>() {
private static final long serialVersionUID = 2660476405836705932L;
@@ -346,7 +348,7 @@ public class RolloutListGrid extends AbstractSimpleGrid {
}
private void addStatusCoulmn() {
getColumn(SPUILabelDefinitions.VAR_STATUS).setRenderer(new HtmlRenderer(),
getColumn(SPUILabelDefinitions.VAR_STATUS).setRenderer(new HtmlLabelRenderer(),
new Converter<String, RolloutStatus>() {
private static final long serialVersionUID = 1L;
@@ -359,42 +361,7 @@ public class RolloutListGrid extends AbstractSimpleGrid {
@Override
public String convertToPresentation(final RolloutStatus value,
final Class<? extends String> targetType, final Locale locale) {
String result = null;
switch (value) {
case FINISHED:
result = "<div class=\"statusIconGreen\">" + FontAwesome.CHECK_CIRCLE.getHtml() + "</div>";
break;
case PAUSED:
result = "<div class=\"statusIconBlue\">" + FontAwesome.PAUSE.getHtml() + "</div>";
break;
case RUNNING:
result = "<div class=\"yellowSpinner\"></div>";
break;
case READY:
result = "<div class=\"statusIconLightBlue\"> <span title=\"xxx\">"
+ FontAwesome.DOT_CIRCLE_O.getHtml() + "</span></div>";
break;
case STOPPED:
result = "<div class=\"statusIconRed\">" + FontAwesome.STOP.getHtml() + "</div>";
break;
case CREATING:
result = "<div class=\"greySpinner\"></div>";
break;
case STARTING:
result = "<div class=\"blueSpinner\"></div>";
break;
case ERROR_CREATING:
result = "<div class=\"statusIconRed\">" + FontAwesome.EXCLAMATION_CIRCLE.getHtml()
+ "</div>";
break;
case ERROR_STARTING:
result = "<div class=\"statusIconRed\">" + FontAwesome.EXCLAMATION_CIRCLE.getHtml()
+ "</div>";
break;
default:
break;
}
return result;
return convertRolloutStatusToString(value);
}
@Override
@@ -409,6 +376,53 @@ public class RolloutListGrid extends AbstractSimpleGrid {
});
}
private String convertRolloutStatusToString(final RolloutStatus value) {
String result = null;
switch (value) {
case FINISHED:
result = HawkbitCommonUtil.getFormattedString(Integer.toString(FontAwesome.CHECK_CIRCLE.getCodepoint()),
value.name().toLowerCase(), "statusIconGreen", SPUIComponetIdProvider.ROLLOUT_STATUS_LABEL_ID);
break;
case PAUSED:
result = HawkbitCommonUtil.getFormattedString(Integer.toString(FontAwesome.PAUSE.getCodepoint()),
value.name().toLowerCase(), "statusIconBlue", SPUIComponetIdProvider.ROLLOUT_STATUS_LABEL_ID);
break;
case RUNNING:
result = HawkbitCommonUtil.getFormattedString(null, value.name().toLowerCase(), "yellowSpinner",
SPUIComponetIdProvider.ROLLOUT_STATUS_LABEL_ID);
break;
case READY:
result = HawkbitCommonUtil.getFormattedString(Integer.toString(FontAwesome.DOT_CIRCLE_O.getCodepoint()),
value.name().toLowerCase(), "statusIconLightBlue", SPUIComponetIdProvider.ROLLOUT_STATUS_LABEL_ID);
break;
case STOPPED:
result = HawkbitCommonUtil.getFormattedString(Integer.toString(FontAwesome.STOP.getCodepoint()),
value.name().toLowerCase(), "statusIconRed", SPUIComponetIdProvider.ROLLOUT_STATUS_LABEL_ID);
break;
case CREATING:
result = HawkbitCommonUtil.getFormattedString(null, value.name().toLowerCase(), "greySpinner",
SPUIComponetIdProvider.ROLLOUT_STATUS_LABEL_ID);
break;
case STARTING:
result = HawkbitCommonUtil.getFormattedString(null, value.name().toLowerCase(), "blueSpinner",
SPUIComponetIdProvider.ROLLOUT_STATUS_LABEL_ID);
break;
case ERROR_CREATING:
result = HawkbitCommonUtil.getFormattedString(
Integer.toString(FontAwesome.EXCLAMATION_CIRCLE.getCodepoint()), value.name().toLowerCase(),
"statusIconRed", SPUIComponetIdProvider.ROLLOUT_STATUS_LABEL_ID);
break;
case ERROR_STARTING:
result = HawkbitCommonUtil.getFormattedString(
Integer.toString(FontAwesome.EXCLAMATION_CIRCLE.getCodepoint()), value.name().toLowerCase(),
"statusIconRed", SPUIComponetIdProvider.ROLLOUT_STATUS_LABEL_ID);
break;
default:
break;
}
return result;
}
private void menuItemClicked(final ContextMenuItemClickEvent event) {
final ContextMenuItem item = (ContextMenuItem) event.getSource();
final ContextMenuData contextMenuData = (ContextMenuData) item.getData();

View File

@@ -48,6 +48,7 @@ import org.vaadin.addons.lazyquerycontainer.LazyQueryContainer;
import org.vaadin.addons.lazyquerycontainer.LazyQueryDefinition;
import org.vaadin.alump.distributionbar.DistributionBar;
import com.google.common.base.Strings;
import com.vaadin.data.Container;
import com.vaadin.data.Item;
import com.vaadin.server.Sizeable.Unit;
@@ -1369,5 +1370,21 @@ public final class HawkbitCommonUtil {
}
return finalVal;
}
public static String getFormattedString(String value, String description, String style, String id) {
StringBuilder val = new StringBuilder();
if (!Strings.isNullOrEmpty(value)) {
val.append("value:").append(value).append(",");
}
if (!Strings.isNullOrEmpty(description)) {
val.append("description:").append(description).append(",");
}
if (!Strings.isNullOrEmpty(style)) {
val.append("style:").append(style).append(",");
}
val.append("id:").append(id);
return val.toString();
}
}

View File

@@ -827,6 +827,11 @@ public final class SPUIComponetIdProvider {
* Rollout status label id.
*/
public static final String ROLLOUT_STATUS_LABEL_ID = "rollout.status.id";
/**
* Rollout group status label id.
*/
public static final String ROLLOUT_GROUP_STATUS_LABEL_ID = "rollout.group.status.id";
/**
* Rollout % or count option group id.

View File

@@ -276,4 +276,10 @@
.links {
padding-left: 22px;
}
.font-icon{
font-family:FontAwesome;
font-style:normal;
font-weight:normal;
}
}