use of org.jowidgets.cap.ui.api.attribute.IAttribute in project jo-client-platform by jo-source.
the class SingleBeanModelImpl method createModifiedByPluginsAttributes.
private List<IAttribute<Object>> createModifiedByPluginsAttributes(final Object entityId, final Class<BEAN_TYPE> beanType, final List<IAttribute<Object>> attributes) {
List<IAttribute<Object>> result = attributes;
final IPluginPropertiesBuilder propBuilder = PluginToolkit.pluginPropertiesBuilder();
propBuilder.add(IAttributePlugin.ENTITIY_ID_PROPERTY_KEY, entityId);
propBuilder.add(IAttributePlugin.BEAN_TYPE_PROPERTY_KEY, beanType);
final IPluginProperties properties = propBuilder.build();
for (final IAttributePlugin plugin : PluginProvider.getPlugins(IAttributePlugin.ID, properties)) {
result = plugin.modifyAttributes(properties, result);
}
return result;
}
use of org.jowidgets.cap.ui.api.attribute.IAttribute in project jo-client-platform by jo-source.
the class BeanTableSetToAllActionBuilder method build.
@Override
public ICommandAction build() {
final ICommandAction result = super.build();
table.addCellMenuListener(new IPopupMenuListener<ITableCellPopupEvent>() {
@Override
public void beforeMenuShow(final ITableCellPopupEvent event) {
final int columnIndex = event.getColumnIndex();
final int rowIndex = event.getRowIndex();
final IBeanTableModel<?> model = table.getModel();
final String entityLabelPlural = model.getEntityLabelPlural();
final Object cellValue = model.getValue(rowIndex, columnIndex);
final String cellText;
if (cellValue != null) {
cellText = StringUtils.truncateToLength(model.getTableModel().getCell(rowIndex, columnIndex).getText(), 30);
} else {
cellText = NOT_SET.get();
}
final IAttribute<Object> attribute = model.getAttribute(columnIndex);
final String columnLabel = attribute.getLabel().get();
final ArrayList<Integer> selection = model.getSelection();
if (selection.size() > 1) {
// set to selection
result.setText(MessageReplacer.replace(SET_TO_SELECTION.get(), columnLabel, cellText, entityLabelPlural));
} else if (selection.size() <= 1) {
// set to all
result.setText(MessageReplacer.replace(SET_TO_ALL.get(), columnLabel, cellText, entityLabelPlural));
}
}
});
return result;
}
use of org.jowidgets.cap.ui.api.attribute.IAttribute in project jo-client-platform by jo-source.
the class BeanProxyFactoryBuilderImpl method configureFromEntityService.
@Override
public IBeanProxyFactoryBuilder<BEAN_TYPE> configureFromEntityService(final Object entityId) {
final IBeanDtoDescriptor dtoDescriptor = EntityServiceHelper.getDtoDescriptor(entityId);
final List<IAttribute<Object>> entityAttributes = EntityServiceHelper.createAttributes(entityId);
if (dtoDescriptor != null && entityAttributes != null) {
final Class<?> descritporBeanType = dtoDescriptor.getBeanType();
if (descritporBeanType == null || !descritporBeanType.isAssignableFrom(beanType)) {
throw new IllegalArgumentException("The entity id '" + entityId + "' has a bean type '" + descritporBeanType + "' that is not compatible with the bean type '" + beanType + "' of this builder");
}
setBeanTypeId(dtoDescriptor.getBeanTypeId());
final IAttributeSet attributeSet = AttributeSet.create(entityAttributes);
setAttributes(attributeSet);
addValidators(dtoDescriptor, attributeSet);
setDefaultValuesForTransientBeans(attributeSet);
} else {
throw new IllegalArgumentException("TFor the entity id '" + entityId + "' no descriptor or attributes was found");
}
return this;
}
Aggregations