} else {
enumerationValues.setEnabled(Boolean.FALSE);
enumerationKeys.setEnabled(Boolean.FALSE);
}
type.getField().add(new AjaxFormComponentUpdatingBehavior("onchange") {
private static final long serialVersionUID = -1107858522700306810L;
@Override
protected void onUpdate(final AjaxRequestTarget target) {
if (AttributeSchemaType.Enum.ordinal() == Integer.parseInt(type.getField().getValue())) {
if (!enumerationValuesPanel.isRequired()) {
enumerationValuesPanel.addRequiredLabel();
}
enumerationValues.setEnabled(Boolean.TRUE);
enumerationValues.setModelObject((Serializable) getEnumValuesAsList(schema.getEnumerationValues()));
enumerationKeys.setEnabled(Boolean.TRUE);
enumerationKeys.setModelObject((Serializable) getEnumValuesAsList(schema.getEnumerationKeys()));
} else {
if (enumerationValuesPanel.isRequired()) {
enumerationValuesPanel.removeRequiredLabel();
}
final List<String> values = new ArrayList<String>();
values.add("");
enumerationValues.setEnabled(Boolean.FALSE);
enumerationValues.setModelObject((Serializable) values);
final List<String> keys = new ArrayList<String>();
keys.add("");
enumerationKeys.setEnabled(Boolean.FALSE);
enumerationKeys.setModelObject((Serializable) keys);
}
target.add(schemaForm);
}
});
final AutoCompleteTextField mandatoryCondition = new AutoCompleteTextField("mandatoryCondition") {
private static final long serialVersionUID = -2428903969518079100L;
@Override
protected Iterator<String> getChoices(String input) {
List<String> choices = new ArrayList<String>();
if (Strings.isEmpty(input)) {
choices = Collections.emptyList();
return choices.iterator();
}
if ("true".startsWith(input.toLowerCase())) {
choices.add("true");
} else if ("false".startsWith(input.toLowerCase())) {
choices.add("false");
}
return choices.iterator();
}
};
mandatoryCondition.add(new AjaxFormComponentUpdatingBehavior("onchange") {
private static final long serialVersionUID = -1107858522700306810L;
@Override
protected void onUpdate(final AjaxRequestTarget target) {