() {
+ 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) {
+ String result = null;
+ switch (value) {
+ case FINISHED:
+ result = "" + FontAwesome.CHECK_CIRCLE.getHtml() + "
";
+ break;
+ case PAUSED:
+ result = "" + FontAwesome.PAUSE.getHtml() + "
";
+ break;
+ case RUNNING:
+ result = "";
+ break;
+ case READY:
+ result = " "
+ + FontAwesome.DOT_CIRCLE_O.getHtml() + "
";
+ break;
+ case STOPPED:
+ result = "" + FontAwesome.STOP.getHtml() + "
";
+ break;
+ case CREATING:
+ result = "";
+ break;
+ case STARTING:
+ result = "";
+ break;
+ case ERROR_CREATING:
+ result = "" + FontAwesome.EXCLAMATION_CIRCLE.getHtml()
+ + "
";
+ break;
+ case ERROR_STARTING:
+ result = "" + FontAwesome.EXCLAMATION_CIRCLE.getHtml()
+ + "
";
+ break;
+ default:
+ break;
+ }
+ return result;
+ }
+
+ @Override
+ public Class getModelType() {
+ return RolloutStatus.class;
+ }
+
+ @Override
+ public Class getPresentationType() {
+ return String.class;
+ }
+ });
+ }
+
+ private String getFormattedString(Map details) {
+ StringBuilder val = new StringBuilder();
+ String finalVal = null;
+ if (null != details && !details.isEmpty()) {
+ for (Entry entry : details.entrySet()) {
+ val.append(entry.getKey()).append(":").append(entry.getValue()).append(",");
+ }
+ finalVal = val.substring(0, val.length() - 1);
+ }
+ return finalVal;
+ }
+
+ public final class FontIconGenerator extends PropertyValueGenerator {
+
+ private static final long serialVersionUID = 2544026030795375748L;
+ private final FontAwesome fontIcon;
+
+ public FontIconGenerator(FontAwesome icon) {
+ this.fontIcon = icon;
+ }
+
+ @Override
+ public String getValue(Item item, Object itemId, Object propertyId) {
+ return fontIcon.getHtml();
+ }
+
+ @Override
+ public Class getType() {
+ return String.class;
+ }
+ }
+}