package org.aperteworkflow.editor.stepeditor.user; import com.vaadin.ui.AbstractSelect.ItemDescriptionGenerator; import com.vaadin.ui.Component; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.Transformer; import org.apache.commons.lang.StringUtils; import pl.net.bluesoft.rnd.util.i18n.I18NSource; import java.util.Collection; final class PropertiesDescriptionGenerator implements ItemDescriptionGenerator { private static final long serialVersionUID = -5377194182481601578L; @Override public String generateDescription(Component source, Object itemId, Object propertyId) { I18NSource messages = I18NSource.ThreadUtil.getThreadI18nSource(); WidgetItemInStep item = (WidgetItemInStep) itemId; String parameters = messages.getMessage("stepTree.no.parameters.defined"); if (item.getProperties() != null && item.getProperties().size() > 0) { Collection<?> properties = CollectionUtils.collect(item.getProperties(), new Transformer() { @Override public Object transform(Object arg0) { Property<?> property = (Property<?>) arg0; return property.getName() + ": " + (property.getValue() == null ? "" : property.getValue()); } }); parameters = StringUtils.join(properties.toArray(), "<br/>"); } return "<b>" + item.getWidgetItem().getDescription() + "</b><br/>" + parameters; } }