List of usage examples for org.apache.wicket.extensions.ajax.markup.html.autocomplete AutoCompleteTextField AutoCompleteTextField
public AutoCompleteTextField(final String id)
From source file:au.org.theark.core.web.component.customfield.form.SearchForm.java
License:Open Source License
public void initialiseFieldForm() { fieldIdTxtFld = new TextField<String>(Constants.FIELDVO_CUSTOMFIELD_ID); fieldNameTxtFld = new TextField<String>(Constants.FIELDVO_CUSTOMFIELD_NAME); fieldDescriptionTxtAreaFld = new TextArea<String>(Constants.FIELDVO_CUSTOMFIELD_DESCRIPTION); panelCustomUnitTypeDropDown = new WebMarkupContainer("panelCustomUnitTypeDropDown"); panelCustomUnitTypeDropDown.setOutputMarkupId(true); panelCustomUnitTypeText = new WebMarkupContainer("panelCustomUnitTypeText"); panelCustomUnitTypeText.setOutputMarkupId(true); fieldUnitsTxtFld = new AutoCompleteTextField<String>(Constants.FIELDVO_CUSTOMFIELD_UNIT_TYPE + ".name") { @Override/* www . j a va 2 s . co m*/ protected Iterator getChoices(String input) { UnitType unitTypeCriteria = new UnitType(); unitTypeCriteria.setName(input); unitTypeCriteria.setArkFunction(cpModel.getObject().getCustomField().getArkFunction()); return iArkCommonService.getUnitTypeNames(unitTypeCriteria, 10).iterator(); } }; fieldUnitsInTextTxtFld = new TextField<String>(Constants.FIELDVO_CUSTOMFIELD_UNIT_TYPE_TXT); fieldMinValueTxtFld = new TextField<String>(Constants.FIELDVO_CUSTOMFIELD_MIN_VALUE); fieldMaxValueTxtFld = new TextField<String>(Constants.FIELDVO_CUSTOMFIELD_MAX_VALUE); initCustomFieldTypeDdc(); //customfield category order Number. customeFieldCategoryOrderNoTxtFld = new TextField<Long>( Constants.FIELDVO_CUSTOMFIELD_CUSTOEMFIELDCATEGORY_ORDERNUMBER); customeFieldCategoryOrderNoTxtFld.setOutputMarkupId(true); customeFieldCategoryOrderNoTxtFld.setEnabled(false); initCustomeFieldCategoryDdc(); initFieldTypeDdc(); addFieldComponents(); }
From source file:au.org.theark.phenotypic.web.component.phenodatadictionary.form.SearchForm.java
License:Open Source License
public void initialiseFieldForm() { fieldIdTxtFld = new TextField<String>(Constants.FIELDVO_PHENODATASET_ID); fieldNameTxtFld = new TextField<String>(Constants.FIELDVO_PHENODATASET_NAME); fieldDescriptionTxtAreaFld = new TextArea<String>(Constants.FIELDVO_PHENODATASET_DESCRIPTION); panelCustomUnitTypeDropDown = new WebMarkupContainer("panelCustomUnitTypeDropDown"); panelCustomUnitTypeDropDown.setOutputMarkupId(true); panelCustomUnitTypeText = new WebMarkupContainer("panelCustomUnitTypeText"); panelCustomUnitTypeText.setOutputMarkupId(true); fieldUnitsTxtFld = new AutoCompleteTextField<String>(Constants.FIELDVO_PHENODATASET_UNIT_TYPE + ".name") { @Override//w w w . ja va2 s .c om protected Iterator getChoices(String input) { UnitType unitTypeCriteria = new UnitType(); unitTypeCriteria.setName(input); unitTypeCriteria.setArkFunction(cpModel.getObject().getPhenoDataSetField().getArkFunction()); return iArkCommonService.getUnitTypeNames(unitTypeCriteria, 10).iterator(); } }; fieldUnitsInTextTxtFld = new TextField<String>(Constants.FIELDVO_PHENODATASET_UNIT_TYPE_TXT); fieldMinValueTxtFld = new TextField<String>(Constants.FIELDVO_PHENODATASET_MIN_VALUE); fieldMaxValueTxtFld = new TextField<String>(Constants.FIELDVO_PHENODATASET_MAX_VALUE); //initCustomFieldTypeDdc(); //customfield category order Number. //phenoDataSetCategoryOrderNoTxtFld = new TextField<Long>(Constants.FIELDVO_PHENODATASET_CUSTOEMFIELDCATEGORY_ORDERNUMBER); //phenoDataSetCategoryOrderNoTxtFld.setOutputMarkupId(true); //phenoDataSetCategoryOrderNoTxtFld.setEnabled(false); //initCustomeFieldCategoryDdc(); initFieldTypeDdc(); addFieldComponents(); }
From source file:org.apache.syncope.client.console.pages.PlainSchemaModalPage.java
License:Apache License
@Override public void setSchemaModalPage(final PageReference pageRef, final ModalWindow window, final PlainSchemaTO schemaTO, final boolean createFlag) { final PlainSchemaTO schema = schemaTO == null ? new PlainSchemaTO() : schemaTO; final Form<PlainSchemaTO> schemaForm = new Form<>(FORM); schemaForm.setModel(new CompoundPropertyModel<>(schema)); schemaForm.setOutputMarkupId(true);/*from w w w. j ava 2s. c om*/ final AjaxTextFieldPanel name = new AjaxTextFieldPanel("key", getString("key"), new PropertyModel<String>(schema, "key")); name.addRequiredLabel(); name.setEnabled(createFlag); schemaForm.add(name); final AjaxDropDownChoicePanel<AttrSchemaType> type = new AjaxDropDownChoicePanel<>("type", getString("type"), new PropertyModel<AttrSchemaType>(schema, "type")); type.setChoices(Arrays.asList(AttrSchemaType.values())); type.addRequiredLabel(); schemaForm.add(type); // -- long, double, date final AjaxTextFieldPanel conversionPattern = new AjaxTextFieldPanel("conversionPattern", getString("conversionPattern"), new PropertyModel<String>(schema, "conversionPattern")); schemaForm.add(conversionPattern); final WebMarkupContainer conversionParams = new WebMarkupContainer("conversionParams"); conversionParams.setOutputMarkupPlaceholderTag(true); conversionParams.add(conversionPattern); schemaForm.add(conversionParams); final WebMarkupContainer typeParams = new WebMarkupContainer("typeParams"); typeParams.setOutputMarkupPlaceholderTag(true); // -- enum final AjaxTextFieldPanel enumerationValuesPanel = new AjaxTextFieldPanel("panel", "enumerationValues", new Model<String>(null)); @SuppressWarnings({ "unchecked", "rawtypes" }) final MultiFieldPanel<String> enumerationValues = new MultiFieldPanel<>("enumerationValues", new Model(), enumerationValuesPanel); enumerationValues.setModelObject(getEnumValuesAsList(schema.getEnumerationValues())); @SuppressWarnings({ "unchecked", "rawtypes" }) final MultiFieldPanel<String> enumerationKeys = new MultiFieldPanel<>("enumerationKeys", new Model(), new AjaxTextFieldPanel("panel", "enumerationKeys", new Model<String>(null))); enumerationKeys.setModelObject(getEnumValuesAsList(schema.getEnumerationKeys())); final WebMarkupContainer enumParams = new WebMarkupContainer("enumParams"); enumParams.setOutputMarkupPlaceholderTag(true); enumParams.add(enumerationValues); enumParams.add(enumerationKeys); typeParams.add(enumParams); // -- encrypted final AjaxTextFieldPanel secretKey = new AjaxTextFieldPanel("secretKey", getString("secretKey"), new PropertyModel<String>(schema, "secretKey")); final AjaxDropDownChoicePanel<CipherAlgorithm> cipherAlgorithm = new AjaxDropDownChoicePanel<>( "cipherAlgorithm", getString("cipherAlgorithm"), new PropertyModel<CipherAlgorithm>(schema, "cipherAlgorithm")); cipherAlgorithm.setChoices(Arrays.asList(CipherAlgorithm.values())); final WebMarkupContainer encryptedParams = new WebMarkupContainer("encryptedParams"); encryptedParams.setOutputMarkupPlaceholderTag(true); encryptedParams.add(secretKey); encryptedParams.add(cipherAlgorithm); typeParams.add(encryptedParams); // -- binary final AjaxTextFieldPanel mimeType = new AjaxTextFieldPanel("mimeType", getString("mimeType"), new PropertyModel<String>(schema, "mimeType")); mimeType.setChoices(mimeTypesInitializer.getMimeTypes()); final WebMarkupContainer binaryParams = new WebMarkupContainer("binaryParams"); binaryParams.setOutputMarkupPlaceholderTag(true); binaryParams.add(mimeType); typeParams.add(binaryParams); schemaForm.add(typeParams); // -- show or hide showHide(schema, type, conversionParams, conversionPattern, enumParams, enumerationValuesPanel, enumerationValues, enumerationKeys, encryptedParams, secretKey, cipherAlgorithm, binaryParams, mimeType); type.getField().add(new AjaxFormComponentUpdatingBehavior(Constants.ON_CHANGE) { private static final long serialVersionUID = -1107858522700306810L; @Override protected void onUpdate(final AjaxRequestTarget target) { PlainSchemaModalPage.this.showHide(schema, type, conversionParams, conversionPattern, enumParams, enumerationValuesPanel, enumerationValues, enumerationKeys, encryptedParams, secretKey, cipherAlgorithm, binaryParams, mimeType); target.add(typeParams); } }); final IModel<List<String>> validatorsList = new LoadableDetachableModel<List<String>>() { private static final long serialVersionUID = 5275935387613157437L; @Override protected List<String> load() { return schemaRestClient.getAllValidatorClasses(); } }; final AjaxDropDownChoicePanel<String> validatorClass = new AjaxDropDownChoicePanel<>("validatorClass", getString("validatorClass"), new PropertyModel<String>(schema, "validatorClass")); ((DropDownChoice) validatorClass.getField()).setNullValid(true); validatorClass.setChoices(validatorsList.getObject()); schemaForm.add(validatorClass); final AutoCompleteTextField<String> mandatoryCondition = new AutoCompleteTextField<String>( "mandatoryCondition") { private static final long serialVersionUID = -2428903969518079100L; @Override protected Iterator<String> getChoices(final String input) { List<String> choices = new ArrayList<String>(); if (Strings.isEmpty(input)) { choices = Collections.emptyList(); } else if ("true".startsWith(input.toLowerCase())) { choices.add("true"); } else if ("false".startsWith(input.toLowerCase())) { choices.add("false"); } return choices.iterator(); } }; mandatoryCondition.add(new AjaxFormComponentUpdatingBehavior(Constants.ON_CHANGE) { private static final long serialVersionUID = -1107858522700306810L; @Override protected void onUpdate(final AjaxRequestTarget target) { } }); schemaForm.add(mandatoryCondition); final WebMarkupContainer pwdJexlHelp = JexlHelpUtils.getJexlHelpWebContainer("jexlHelp"); final AjaxLink<Void> pwdQuestionMarkJexlHelp = JexlHelpUtils.getAjaxLink(pwdJexlHelp, "questionMarkJexlHelp"); schemaForm.add(pwdQuestionMarkJexlHelp); pwdQuestionMarkJexlHelp.add(pwdJexlHelp); final AjaxCheckBoxPanel multivalue = new AjaxCheckBoxPanel("multivalue", getString("multivalue"), new PropertyModel<Boolean>(schema, "multivalue")); schemaForm.add(multivalue); final AjaxCheckBoxPanel readonly = new AjaxCheckBoxPanel("readonly", getString("readonly"), new PropertyModel<Boolean>(schema, "readonly")); schemaForm.add(readonly); final AjaxCheckBoxPanel uniqueConstraint = new AjaxCheckBoxPanel("uniqueConstraint", getString("uniqueConstraint"), new PropertyModel<Boolean>(schema, "uniqueConstraint")); schemaForm.add(uniqueConstraint); final AjaxButton submit = new IndicatingAjaxButton(APPLY, new ResourceModel(SUBMIT)) { private static final long serialVersionUID = -958724007591692537L; @Override protected void onSubmit(final AjaxRequestTarget target, final Form<?> form) { final PlainSchemaTO schemaTO = (PlainSchemaTO) form.getDefaultModelObject(); schemaTO.setEnumerationValues(getEnumValuesAsString(enumerationValues.getView().getModelObject())); schemaTO.setEnumerationKeys(getEnumValuesAsString(enumerationKeys.getView().getModelObject())); if (schemaTO.isMultivalue() && schemaTO.isUniqueConstraint()) { error(getString("multivalueAndUniqueConstr.validation")); feedbackPanel.refresh(target); return; } try { if (createFlag) { schemaRestClient.createPlainSchema(kind, schemaTO); } else { schemaRestClient.updatePlainSchema(kind, schemaTO); } if (pageRef.getPage() instanceof BasePage) { ((BasePage) pageRef.getPage()).setModalResult(true); } window.close(target); } catch (SyncopeClientException e) { error(getString(Constants.ERROR) + ": " + e.getMessage()); feedbackPanel.refresh(target); } } @Override protected void onError(final AjaxRequestTarget target, final Form<?> form) { feedbackPanel.refresh(target); } }; schemaForm.add(submit); final AjaxButton cancel = new IndicatingAjaxButton(CANCEL, new ResourceModel(CANCEL)) { private static final long serialVersionUID = -958724007591692537L; @Override protected void onSubmit(final AjaxRequestTarget target, final Form<?> form) { window.close(target); } }; cancel.setDefaultFormProcessing(false); schemaForm.add(cancel); String allowedRoles = createFlag ? xmlRolesReader.getEntitlement("Schema", "create") : xmlRolesReader.getEntitlement("Schema", "update"); MetaDataRoleAuthorizationStrategy.authorize(submit, ENABLE, allowedRoles); add(schemaForm); }
From source file:org.apache.syncope.client.console.panels.PlainSchemaDetails.java
License:Apache License
public PlainSchemaDetails(final String id, final PageReference pageReference, final AbstractSchemaTO schemaTO) { super(id, pageReference, schemaTO); final AjaxDropDownChoicePanel<AttrSchemaType> type = new AjaxDropDownChoicePanel<>("type", getString("type"), new PropertyModel<AttrSchemaType>(schemaTO, "type")); type.setChoices(Arrays.asList(AttrSchemaType.values())); type.setEnabled(schemaTO == null || schemaTO.getKey() == null || schemaTO.getKey().isEmpty()); type.addRequiredLabel();/*from ww w. j av a2s .com*/ schemaForm.add(type); // long, double, date final AjaxTextFieldPanel conversionPattern = new AjaxTextFieldPanel("conversionPattern", getString("conversionPattern"), new PropertyModel<String>(schemaTO, "conversionPattern")); schemaForm.add(conversionPattern); final WebMarkupContainer conversionParams = new WebMarkupContainer("conversionParams"); conversionParams.setOutputMarkupPlaceholderTag(true); conversionParams.add(conversionPattern); schemaForm.add(conversionParams); final WebMarkupContainer typeParams = new WebMarkupContainer("typeParams"); typeParams.setOutputMarkupPlaceholderTag(true); // enum final AjaxTextFieldPanel enumerationValuesPanel = new AjaxTextFieldPanel("panel", "enumerationValues", new Model<String>(null)); enumerationValues = new MultiFieldPanel.Builder<String>( new PropertyModel<List<String>>(schemaTO, "enumerationValues") { private static final long serialVersionUID = -4953564762272833993L; @Override public PropertyList<PlainSchemaTO> getObject() { return new PropertyList<PlainSchemaTO>() { @Override public String getValues() { return PlainSchemaTO.class.cast(schemaTO).getEnumerationValues(); } @Override public void setValues(final List<String> list) { PlainSchemaTO.class.cast(schemaTO) .setEnumerationValues(getEnumValuesAsString(list)); } }; } @Override public void setObject(final List<String> object) { PlainSchemaTO.class.cast(schemaTO) .setEnumerationValues(PropertyList.getEnumValuesAsString(object)); } }) { private static final long serialVersionUID = -8752965211744734798L; @Override protected String newModelObject() { return StringUtils.EMPTY; } }.build("enumerationValues", "enumerationValues", enumerationValuesPanel); enumerationKeys = new MultiFieldPanel.Builder<String>( new PropertyModel<List<String>>(schemaTO, "enumerationKeys") { private static final long serialVersionUID = -4953564762272833993L; @Override public PropertyList<PlainSchemaTO> getObject() { return new PropertyList<PlainSchemaTO>() { @Override public String getValues() { return PlainSchemaTO.class.cast(schemaTO).getEnumerationKeys(); } @Override public void setValues(final List<String> list) { PlainSchemaTO.class.cast(schemaTO) .setEnumerationKeys(PropertyList.getEnumValuesAsString(list)); } }; } @Override public void setObject(final List<String> object) { PlainSchemaTO.class.cast(schemaTO) .setEnumerationKeys(PropertyList.getEnumValuesAsString(object)); } }) { private static final long serialVersionUID = -8752965211744734798L; @Override protected String newModelObject() { return StringUtils.EMPTY; } }.build("enumerationKeys", "enumerationKeys", new AjaxTextFieldPanel("panel", "enumerationKeys", new Model<String>())); final WebMarkupContainer enumParams = new WebMarkupContainer("enumParams"); enumParams.setOutputMarkupPlaceholderTag(true); enumParams.add(enumerationValues); enumParams.add(enumerationKeys); typeParams.add(enumParams); // encrypted final AjaxTextFieldPanel secretKey = new AjaxTextFieldPanel("secretKey", getString("secretKey"), new PropertyModel<String>(schemaTO, "secretKey")); final AjaxDropDownChoicePanel<CipherAlgorithm> cipherAlgorithm = new AjaxDropDownChoicePanel<>( "cipherAlgorithm", getString("cipherAlgorithm"), new PropertyModel<CipherAlgorithm>(schemaTO, "cipherAlgorithm")); cipherAlgorithm.setChoices(Arrays.asList(CipherAlgorithm.values())); final WebMarkupContainer encryptedParams = new WebMarkupContainer("encryptedParams"); encryptedParams.setOutputMarkupPlaceholderTag(true); encryptedParams.add(secretKey); encryptedParams.add(cipherAlgorithm); typeParams.add(encryptedParams); // binary final AjaxTextFieldPanel mimeType = new AjaxTextFieldPanel("mimeType", getString("mimeType"), new PropertyModel<String>(schemaTO, "mimeType")); final WebMarkupContainer binaryParams = new WebMarkupContainer("binaryParams"); binaryParams.setOutputMarkupPlaceholderTag(true); binaryParams.add(mimeType); typeParams.add(binaryParams); schemaForm.add(typeParams); // show or hide showHide(schemaTO, type, conversionParams, conversionPattern, enumParams, enumerationValuesPanel, enumerationValues, enumerationKeys, encryptedParams, secretKey, cipherAlgorithm, binaryParams, mimeType); type.getField().add(new IndicatorAjaxFormComponentUpdatingBehavior(Constants.ON_CHANGE) { private static final long serialVersionUID = -1107858522700306810L; @Override protected void onUpdate(final AjaxRequestTarget target) { PlainSchemaDetails.this.showHide(schemaTO, type, conversionParams, conversionPattern, enumParams, enumerationValuesPanel, enumerationValues, enumerationKeys, encryptedParams, secretKey, cipherAlgorithm, binaryParams, mimeType); target.add(conversionParams); target.add(typeParams); } }); IModel<List<String>> validatorsList = new LoadableDetachableModel<List<String>>() { private static final long serialVersionUID = 5275935387613157437L; @Override protected List<String> load() { return new ArrayList<>(SyncopeConsoleSession.get().getPlatformInfo().getValidators()); } }; final AjaxDropDownChoicePanel<String> validatorClass = new AjaxDropDownChoicePanel<>("validatorClass", getString("validatorClass"), new PropertyModel<String>(schemaTO, "validatorClass")); ((DropDownChoice) validatorClass.getField()).setNullValid(true); validatorClass.setChoices(validatorsList.getObject()); schemaForm.add(validatorClass); AutoCompleteTextField<String> mandatoryCondition = new AutoCompleteTextField<String>("mandatoryCondition") { private static final long serialVersionUID = -2428903969518079100L; @Override protected Iterator<String> getChoices(final String input) { List<String> choices = new ArrayList<>(); if (Strings.isEmpty(input)) { choices = Collections.emptyList(); } else if ("true".startsWith(input.toLowerCase())) { choices.add("true"); } else if ("false".startsWith(input.toLowerCase())) { choices.add("false"); } return choices.iterator(); } }; mandatoryCondition.add(new IndicatorAjaxFormComponentUpdatingBehavior(Constants.ON_CHANGE) { private static final long serialVersionUID = -1107858522700306810L; @Override protected void onUpdate(final AjaxRequestTarget target) { } }); schemaForm.add(mandatoryCondition); schemaForm.add(Constants.getJEXLPopover(this, TooltipConfig.Placement.right)); schemaForm.add(new AjaxCheckBoxPanel("multivalue", getString("multivalue"), new PropertyModel<Boolean>(schemaTO, "multivalue"))); schemaForm.add(new AjaxCheckBoxPanel("readonly", getString("readonly"), new PropertyModel<Boolean>(schemaTO, "readonly"))); schemaForm.add(new AjaxCheckBoxPanel("uniqueConstraint", getString("uniqueConstraint"), new PropertyModel<Boolean>(schemaTO, "uniqueConstraint"))); }
From source file:org.apache.syncope.console.pages.SchemaModalPage.java
License:Apache License
@Override public void setSchemaModalPage(final PageReference pageRef, final ModalWindow window, final SchemaTO schemaTO, final boolean createFlag) { final SchemaTO schema = schemaTO == null ? new SchemaTO() : schemaTO; final Form<SchemaTO> schemaForm = new Form<SchemaTO>(FORM); schemaForm.setModel(new CompoundPropertyModel<SchemaTO>(schema)); schemaForm.setOutputMarkupId(true);/*from w w w. j a v a 2s.c o m*/ final AjaxTextFieldPanel name = new AjaxTextFieldPanel("name", getString("name"), new PropertyModel<String>(schema, "name")); name.addRequiredLabel(); name.setEnabled(createFlag); schemaForm.add(name); final AjaxDropDownChoicePanel<AttributeSchemaType> type = new AjaxDropDownChoicePanel<AttributeSchemaType>( "type", getString("type"), new PropertyModel<AttributeSchemaType>(schema, "type")); type.setChoices(Arrays.asList(AttributeSchemaType.values())); type.addRequiredLabel(); schemaForm.add(type); // -- long, double, date final AjaxTextFieldPanel conversionPattern = new AjaxTextFieldPanel("conversionPattern", getString("conversionPattern"), new PropertyModel<String>(schema, "conversionPattern")); schemaForm.add(conversionPattern); final WebMarkupContainer conversionParams = new WebMarkupContainer("conversionParams"); conversionParams.setOutputMarkupPlaceholderTag(true); conversionParams.add(conversionPattern); schemaForm.add(conversionParams); // -- enum final AjaxTextFieldPanel enumerationValuesPanel = new AjaxTextFieldPanel("panel", "enumerationValues", new Model<String>(null)); @SuppressWarnings({ "unchecked", "rawtypes" }) final MultiFieldPanel<String> enumerationValues = new MultiFieldPanel<String>("enumerationValues", new Model(), enumerationValuesPanel); enumerationValues.setModelObject(getEnumValuesAsList(schema.getEnumerationValues())); @SuppressWarnings({ "unchecked", "rawtypes" }) final MultiFieldPanel<String> enumerationKeys = new MultiFieldPanel<String>("enumerationKeys", new Model(), new AjaxTextFieldPanel("panel", "enumerationKeys", new Model<String>(null))); enumerationKeys.setModelObject(getEnumValuesAsList(schema.getEnumerationKeys())); final WebMarkupContainer enumParams = new WebMarkupContainer("enumParams"); enumParams.setOutputMarkupPlaceholderTag(true); enumParams.add(enumerationValues); enumParams.add(enumerationKeys); schemaForm.add(enumParams); // -- encrypted final AjaxTextFieldPanel secretKey = new AjaxTextFieldPanel("secretKey", getString("secretKey"), new PropertyModel<String>(schema, "secretKey")); final AjaxDropDownChoicePanel<CipherAlgorithm> cipherAlgorithm = new AjaxDropDownChoicePanel<CipherAlgorithm>( "cipherAlgorithm", getString("cipherAlgorithm"), new PropertyModel<CipherAlgorithm>(schema, "cipherAlgorithm")); cipherAlgorithm.setChoices(Arrays.asList(CipherAlgorithm.values())); final WebMarkupContainer encryptedParams = new WebMarkupContainer("encryptedParams"); encryptedParams.setOutputMarkupPlaceholderTag(true); encryptedParams.add(secretKey); encryptedParams.add(cipherAlgorithm); schemaForm.add(encryptedParams); // -- binary final AjaxTextFieldPanel mimeType = new AjaxTextFieldPanel("mimeType", getString("mimeType"), new PropertyModel<String>(schema, "mimeType")); mimeType.setChoices(mimeTypesInitializer.getMimeTypes()); final WebMarkupContainer binaryParams = new WebMarkupContainer("binaryParams"); binaryParams.setOutputMarkupPlaceholderTag(true); binaryParams.add(mimeType); schemaForm.add(binaryParams); // -- show or hide showHide(schema, type, conversionParams, conversionPattern, enumParams, enumerationValuesPanel, enumerationValues, enumerationKeys, encryptedParams, secretKey, cipherAlgorithm, binaryParams, mimeType); type.getField().add(new AjaxFormComponentUpdatingBehavior(Constants.ON_CHANGE) { private static final long serialVersionUID = -1107858522700306810L; @Override protected void onUpdate(final AjaxRequestTarget target) { SchemaModalPage.this.showHide(schema, type, conversionParams, conversionPattern, enumParams, enumerationValuesPanel, enumerationValues, enumerationKeys, encryptedParams, secretKey, cipherAlgorithm, binaryParams, mimeType); target.add(schemaForm); } }); final IModel<List<String>> validatorsList = new LoadableDetachableModel<List<String>>() { private static final long serialVersionUID = 5275935387613157437L; @Override protected List<String> load() { return schemaRestClient.getAllValidatorClasses(); } }; final AjaxDropDownChoicePanel<String> validatorClass = new AjaxDropDownChoicePanel<String>("validatorClass", getString("validatorClass"), new PropertyModel<String>(schema, "validatorClass")); ((DropDownChoice) validatorClass.getField()).setNullValid(true); validatorClass.setChoices(validatorsList.getObject()); schemaForm.add(validatorClass); final AutoCompleteTextField<String> mandatoryCondition = new AutoCompleteTextField<String>( "mandatoryCondition") { private static final long serialVersionUID = -2428903969518079100L; @Override protected Iterator<String> getChoices(final String input) { List<String> choices = new ArrayList<String>(); if (Strings.isEmpty(input)) { choices = Collections.emptyList(); } else if ("true".startsWith(input.toLowerCase())) { choices.add("true"); } else if ("false".startsWith(input.toLowerCase())) { choices.add("false"); } return choices.iterator(); } }; mandatoryCondition.add(new AjaxFormComponentUpdatingBehavior(Constants.ON_CHANGE) { private static final long serialVersionUID = -1107858522700306810L; @Override protected void onUpdate(final AjaxRequestTarget target) { } }); schemaForm.add(mandatoryCondition); final WebMarkupContainer pwdJexlHelp = JexlHelpUtil.getJexlHelpWebContainer("jexlHelp"); final AjaxLink<Void> pwdQuestionMarkJexlHelp = JexlHelpUtil.getAjaxLink(pwdJexlHelp, "questionMarkJexlHelp"); schemaForm.add(pwdQuestionMarkJexlHelp); pwdQuestionMarkJexlHelp.add(pwdJexlHelp); final AjaxCheckBoxPanel multivalue = new AjaxCheckBoxPanel("multivalue", getString("multivalue"), new PropertyModel<Boolean>(schema, "multivalue")); schemaForm.add(multivalue); final AjaxCheckBoxPanel readonly = new AjaxCheckBoxPanel("readonly", getString("readonly"), new PropertyModel<Boolean>(schema, "readonly")); schemaForm.add(readonly); final AjaxCheckBoxPanel uniqueConstraint = new AjaxCheckBoxPanel("uniqueConstraint", getString("uniqueConstraint"), new PropertyModel<Boolean>(schema, "uniqueConstraint")); schemaForm.add(uniqueConstraint); final AjaxButton submit = new IndicatingAjaxButton(APPLY, new ResourceModel(SUBMIT)) { private static final long serialVersionUID = -958724007591692537L; @Override protected void onSubmit(final AjaxRequestTarget target, final Form<?> form) { final SchemaTO schemaTO = (SchemaTO) form.getDefaultModelObject(); schemaTO.setEnumerationValues(getEnumValuesAsString(enumerationValues.getView().getModelObject())); schemaTO.setEnumerationKeys(getEnumValuesAsString(enumerationKeys.getView().getModelObject())); if (schemaTO.isMultivalue() && schemaTO.isUniqueConstraint()) { error(getString("multivalueAndUniqueConstr.validation")); feedbackPanel.refresh(target); return; } try { if (createFlag) { schemaRestClient.createSchema(kind, schemaTO); } else { schemaRestClient.updateSchema(kind, schemaTO); } if (pageRef.getPage() instanceof BasePage) { ((BasePage) pageRef.getPage()).setModalResult(true); } window.close(target); } catch (SyncopeClientException e) { error(getString(Constants.ERROR) + ": " + e.getMessage()); feedbackPanel.refresh(target); } } @Override protected void onError(final AjaxRequestTarget target, final Form<?> form) { feedbackPanel.refresh(target); } }; schemaForm.add(submit); final AjaxButton cancel = new IndicatingAjaxButton(CANCEL, new ResourceModel(CANCEL)) { private static final long serialVersionUID = -958724007591692537L; @Override protected void onSubmit(final AjaxRequestTarget target, final Form<?> form) { window.close(target); } }; cancel.setDefaultFormProcessing(false); schemaForm.add(cancel); String allowedRoles = createFlag ? xmlRolesReader.getAllAllowedRoles("Schema", "create") : xmlRolesReader.getAllAllowedRoles("Schema", "update"); MetaDataRoleAuthorizationStrategy.authorize(submit, ENABLE, allowedRoles); add(schemaForm); }
From source file:org.openengsb.ui.admin.edb.EdbClient.java
License:Apache License
public EdbClient() { Form<Object> form = new Form<Object>("form"); final DropDownChoice<Class<? extends OpenEngSBModel>> modelSelector = new DropDownChoice<Class<? extends OpenEngSBModel>>( "modelSelector", new Model<Class<? extends OpenEngSBModel>>(), new DomainModelListModel()); modelSelector.add(new AjaxFormComponentUpdatingBehavior("onchange") { private static final long serialVersionUID = -1516333824153580148L; @Override/*from www . j a v a 2 s.c o m*/ protected void onUpdate(AjaxRequestTarget target) { Class<? extends OpenEngSBModel> convertedInput = modelSelector.getConvertedInput(); queryModel.getObject().setModel(convertedInput); queryField.setEnabled(convertedInput != null); target.add(queryField); } }); modelSelector.setChoiceRenderer(new IChoiceRenderer<Class<?>>() { private static final long serialVersionUID = 805430071751617166L; @Override public Object getDisplayValue(Class<?> object) { return object.getSimpleName(); } @Override public String getIdValue(Class<?> object, int index) { return object.getSimpleName(); } }); form.add(modelSelector); queryField = new AutoCompleteTextField<String>("query") { private static final long serialVersionUID = 5028249986331789802L; @Override protected Iterator<String> getChoices(final String input) { Class<? extends OpenEngSBModel> model = queryModel.getObject().getModel(); BeanInfo beanInfo; try { beanInfo = Introspector.getBeanInfo(model); } catch (IntrospectionException e) { LOGGER.warn("error introspecting {}. Auto-completing won't work." + model); List<String> emptyList = Collections.emptyList(); return emptyList.iterator(); } List<String> allKeys = Lists.transform(Arrays.asList(beanInfo.getPropertyDescriptors()), new Function<PropertyDescriptor, String>() { @Override public String apply(PropertyDescriptor input) { return input.getName() + ":"; } }); if (Strings.isNullOrEmpty(input)) { return allKeys.iterator(); } return Iterators.filter(allKeys.iterator(), new Predicate<String>() { @Override public boolean apply(String item) { return item.contains(input); } }); } }; queryField.setEnabled(false); queryField.setOutputMarkupId(true); queryField.setModel(new PropertyModel<String>(queryModel.getObject(), "query")); form.add(queryField); form.add(new IndicatingAjaxButton("submit") { private static final long serialVersionUID = -5425144434508998591L; @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { EkbQuery query = queryModel.getObject(); List<? extends OpenEngSBModel> models; try { models = ekbQueryInterface.queryForModels(query.getModel(), query.getQuery()); resultModel.setObject(models); info(String.format("Found %s results", models.size())); } catch (Exception e) { error(String.format("Error when querying for models %s (%s)", e.getMessage(), e.getClass().getName())); } target.add(feedback); target.add(resultContainer); } @Override protected void onError(AjaxRequestTarget target, Form<?> form) { } }); add(form); List<? extends OpenEngSBModel> emptyList = Collections.emptyList(); resultModel = Model.ofList(emptyList); resultContainer = new WebMarkupContainer("result"); resultContainer.setOutputMarkupId(true); add(resultContainer); resultContainer.add(new ListView<OpenEngSBModel>("list", resultModel) { private static final long serialVersionUID = 5459114215962851286L; @Override protected void populateItem(ListItem<OpenEngSBModel> item) { String idProperty = "id"; Class<? extends OpenEngSBModel> modelClass = queryModel.getObject().getModel(); for (Field m : modelClass.getDeclaredFields()) { if (m.getAnnotation(OpenEngSBModelId.class) != null) { idProperty = m.getName(); break; } } AjaxLink<String> historyLink = new AjaxLink<String>("id", new PropertyModel<String>(item.getModelObject(), idProperty)) { private static final long serialVersionUID = -6539033599615376277L; @Override public void onClick(AjaxRequestTarget target) { this.setResponsePage(new EdbHistoryPanel(getModel().getObject())); } }; historyLink.add(new Label("text", new PropertyModel<String>(item.getModelObject(), idProperty))); item.add(historyLink); MultiLineLabel multiLineLabel = new MultiLineLabel("entries", item.getModelObject().toOpenEngSBModelEntries().toString()); item.add(multiLineLabel); } }); feedback = new FeedbackPanel("feedback"); feedback.setOutputMarkupId(true); form.add(feedback); }
From source file:org.syncope.console.pages.SchemaModalPage.java
License:Apache License
@Override public void setSchemaModalPage(final PageReference callerPageRef, final ModalWindow window, AbstractBaseBean schemaTO, final boolean createFlag) { final SchemaTO schema = schemaTO == null ? new SchemaTO() : (SchemaTO) schemaTO; final Form schemaForm = new Form("form"); schemaForm.setModel(new CompoundPropertyModel(schema)); schemaForm.setOutputMarkupId(Boolean.TRUE); final AjaxTextFieldPanel name = new AjaxTextFieldPanel("name", getString("name"), new PropertyModel<String>(schema, "name"), true); name.addRequiredLabel();//from w w w . j a v a 2 s . c om name.setEnabled(createFlag); final AjaxTextFieldPanel conversionPattern = new AjaxTextFieldPanel("conversionPattern", getString("conversionPattern"), new PropertyModel<String>(schema, "conversionPattern"), true); final IModel<List<String>> validatorsList = new LoadableDetachableModel<List<String>>() { private static final long serialVersionUID = 5275935387613157437L; @Override protected List<String> load() { return restClient.getAllValidatorClasses(); } }; final AjaxDropDownChoicePanel<String> validatorClass = new AjaxDropDownChoicePanel<String>("validatorClass", getString("validatorClass"), new PropertyModel(schema, "validatorClass"), true); ((DropDownChoice) validatorClass.getField()).setNullValid(true); validatorClass.setChoices(validatorsList.getObject()); final AjaxDropDownChoicePanel<SchemaType> type = new AjaxDropDownChoicePanel<SchemaType>("type", getString("type"), new PropertyModel(schema, "type"), false); type.setChoices(Arrays.asList(SchemaType.values())); type.addRequiredLabel(); final AjaxTextFieldPanel enumerationValues = new AjaxTextFieldPanel("enumerationValues", getString("enumerationValues"), new PropertyModel<String>(schema, "enumerationValues"), false); if (schema != null && SchemaType.Enum.equals(((SchemaTO) schema).getType())) { enumerationValues.addRequiredLabel(); enumerationValues.setEnabled(Boolean.TRUE); } else { enumerationValues.removeRequiredLabel(); enumerationValues.setEnabled(Boolean.FALSE); } type.getField().add(new AjaxFormComponentUpdatingBehavior("onchange") { private static final long serialVersionUID = -1107858522700306810L; @Override protected void onUpdate(final AjaxRequestTarget target) { if (SchemaType.Enum.ordinal() == Integer.parseInt(type.getField().getValue())) { enumerationValues.addRequiredLabel(); enumerationValues.setEnabled(Boolean.TRUE); enumerationValues.setModelObject(((SchemaTO) schema).getEnumerationValues()); } else { enumerationValues.removeRequiredLabel(); enumerationValues.setEnabled(Boolean.FALSE); enumerationValues.setModelObject(null); } target.add(schemaForm); } }); final AutoCompleteTextField mandatoryCondition = new AutoCompleteTextField("mandatoryCondition") { private static final long serialVersionUID = -2428903969518079100L; @Override protected Iterator 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(AjaxRequestTarget art) { } }); final AjaxCheckBoxPanel multivalue = new AjaxCheckBoxPanel("multivalue", getString("multivalue"), new PropertyModel<Boolean>(schema, "multivalue"), true); final AjaxCheckBoxPanel readonly = new AjaxCheckBoxPanel("readonly", getString("readonly"), new PropertyModel<Boolean>(schema, "readonly"), true); final AjaxCheckBoxPanel uniqueConstraint = new AjaxCheckBoxPanel("uniqueConstraint", getString("uniqueConstraint"), new PropertyModel<Boolean>(schema, "uniqueConstraint"), true); final AjaxButton submit = new IndicatingAjaxButton("apply", new ResourceModel("submit")) { private static final long serialVersionUID = -958724007591692537L; @Override protected void onSubmit(final AjaxRequestTarget target, final Form form) { SchemaTO schemaTO = (SchemaTO) form.getDefaultModelObject(); if (schemaTO.isMultivalue() && schemaTO.isUniqueConstraint()) { error(getString("multivalueAndUniqueConstr.validation")); target.add(feedbackPanel); return; } try { if (createFlag) { restClient.createSchema(kind, schemaTO); } else { restClient.updateSchema(kind, schemaTO); } if (callerPageRef.getPage() instanceof BasePage) { ((BasePage) callerPageRef.getPage()).setModalResult(true); } window.close(target); } catch (SyncopeClientCompositeErrorException e) { error(getString("error") + ":" + e.getMessage()); target.add(feedbackPanel); } } @Override protected void onError(final AjaxRequestTarget target, final Form form) { target.add(feedbackPanel); } }; String allowedRoles; if (createFlag) { allowedRoles = xmlRolesReader.getAllAllowedRoles("Schema", "create"); } else { allowedRoles = xmlRolesReader.getAllAllowedRoles("Schema", "update"); } MetaDataRoleAuthorizationStrategy.authorize(submit, ENABLE, allowedRoles); schemaForm.add(name); schemaForm.add(conversionPattern); schemaForm.add(validatorClass); schemaForm.add(type); schemaForm.add(enumerationValues); schemaForm.add(mandatoryCondition); schemaForm.add(multivalue); schemaForm.add(readonly); schemaForm.add(uniqueConstraint); schemaForm.add(submit); add(schemaForm); }