choiceAttribute.getAttributeName(),
attributeType);
String label = m_widgetService.getAttributeLabel(choiceAttribute.getAttributeName());
String help = m_widgetService.getAttributeHelp(choiceAttribute.getAttributeName());
context.add(attributeElement);
AttributeValueView valueWidget = new AttributeValueView(handler, label, help);
attributeElement.add(valueWidget);
if (choiceAttribute.isSimpleValue()) {
valueWidget.setValueWidget(
m_widgetService.getAttributeFormWidget(choiceAttribute.getAttributeName()),
choiceAttribute.getSimpleValue(),
true);
} else {
valueWidget.setValueEntity(renderer, choiceAttribute.getComplexValue());
}
setAttributeChoice(valueWidget, entityType);
}
handler.updateButtonVisisbility();
} else {
List<String> attributeNames = entityType.getAttributeNames();
for (String attributeName : attributeNames) {
int minOccurrence = entityType.getAttributeMinOccurrence(attributeName);
I_EntityAttribute attribute = entity.getAttribute(attributeName);
if ((attribute == null) && (minOccurrence > 0)) {
attribute = createEmptyAttribute(entity, attributeName, minOccurrence);
}
I_Type attributeType = entityType.getAttributeType(attributeName);
I_EntityRenderer renderer = m_widgetService.getRendererForAttribute(attributeName, attributeType);
String label = m_widgetService.getAttributeLabel(attributeName);
String help = m_widgetService.getAttributeHelp(attributeName);
ValuePanel attributeElement = new ValuePanel();
context.add(attributeElement);
AttributeHandler handler = new AttributeHandler(m_vie, entity, attributeName, m_widgetService);
if (attribute != null) {
for (int i = 0; i < attribute.getValueCount(); i++) {
AttributeValueView valueWidget = new AttributeValueView(handler, label, help);
attributeElement.add(valueWidget);
if (attribute.isSimpleValue()) {
valueWidget.setValueWidget(
m_widgetService.getAttributeFormWidget(attributeName),
attribute.getSimpleValues().get(i),
true);
} else {
valueWidget.setValueEntity(renderer, attribute.getComplexValues().get(i));
}
setAttributeChoice(valueWidget, attributeType);
}
} else {
AttributeValueView valueWidget = new AttributeValueView(handler, label, help);
attributeElement.add(valueWidget);
if (attributeType.isSimpleType()) {
// create a deactivated widget, to add the attribute on click
valueWidget.setValueWidget(
m_widgetService.getAttributeFormWidget(attributeName),
m_widgetService.getDefaultAttributeValue(attributeName),
false);
}
setAttributeChoice(valueWidget, attributeType);