List of usage examples for org.apache.wicket.model AbstractReadOnlyModel AbstractReadOnlyModel
AbstractReadOnlyModel
From source file:com.evolveum.midpoint.web.page.admin.configuration.component.NotificationConfigPanel.java
License:Apache License
@Override protected void initLayout() { TextField<String> defaultFromField = WebComponentUtil.createAjaxTextField(ID_DEFAULT_FROM, new PropertyModel<String>(getModel(), "defaultFrom")); CheckBox debugCheck = WebComponentUtil.createAjaxCheckBox(ID_DEBUG, new PropertyModel<Boolean>(getModel(), "debug")); DropDownChoice mailServerConfigChooser = new DropDownChoice<>(ID_MAIL_SERVER, new PropertyModel<MailServerConfigurationTypeDto>(getModel(), NotificationConfigurationDto.F_SELECTED_SERVER), new AbstractReadOnlyModel<List<MailServerConfigurationTypeDto>>() { @Override//from www . ja va 2 s. co m public List<MailServerConfigurationTypeDto> getObject() { return getModel().getObject().getServers(); } }, new ChoiceableChoiceRenderer<MailServerConfigurationTypeDto>()); mailServerConfigChooser.setNullValid(true); mailServerConfigChooser.add(new AjaxFormSubmitBehavior("click") { @Override protected void onEvent(AjaxRequestTarget target) { getForm().onFormSubmitted(); } }); mailServerConfigChooser.add(new OnChangeAjaxBehavior() { @Override protected void onUpdate(AjaxRequestTarget target) { preparePasswordFieldPlaceholder(); target.add(NotificationConfigPanel.this); } }); add(mailServerConfigChooser); Label serverConfigTooltip = new Label(ID_MAIL_SERVER_TOOLTIP); serverConfigTooltip.add(new InfoTooltipBehavior()); add(serverConfigTooltip); WebMarkupContainer serverConfigContainer = new WebMarkupContainer(ID_MAIL_SERVER_CONFIG_CONTAINER); serverConfigContainer.setOutputMarkupId(true); serverConfigContainer.setOutputMarkupPlaceholderTag(true); serverConfigContainer.add(new VisibleEnableBehaviour() { @Override public boolean isVisible() { if (getModelObject() != null) { return getModelObject().getSelectedServer() != null; } return false; } }); add(serverConfigContainer); TextField<String> hostField = WebComponentUtil.createAjaxTextField(ID_HOST, new PropertyModel<String>(getModel(), "selectedServer.host")); TextField<Integer> portField = WebComponentUtil.createAjaxTextField(ID_PORT, new PropertyModel<Integer>(getModel(), "selectedServer.port")); TextField<String> userNameField = WebComponentUtil.createAjaxTextField(ID_USERNAME, new PropertyModel<String>(getModel(), "selectedServer.username")); PasswordTextField passwordField = new PasswordTextField(ID_PASSWORD, new PropertyModel<String>(getModel(), "selectedServer.password")); passwordField.setRequired(false); passwordField.add(new EmptyOnChangeAjaxFormUpdatingBehavior()); TextField<String> redirectToFileField = WebComponentUtil.createAjaxTextField(ID_REDIRECT_TO_FILE, new PropertyModel<String>(getModel(), "redirectToFile")); DropDownFormGroup transportSecurity = new DropDownFormGroup<>(ID_TRANSPORT_SECURITY, new PropertyModel<MailTransportSecurityType>(getModel(), "selectedServer.mailTransportSecurityType"), WebComponentUtil.createReadonlyModelFromEnum(MailTransportSecurityType.class), new EnumChoiceRenderer<MailTransportSecurityType>(this), createStringResource("SystemConfigPanel.mail.transportSecurity"), ID_LABEL_SIZE, ID_INPUT_SIZE, false); // transportSecurity.add(new EmptyOnChangeAjaxFormUpdatingBehavior()); serverConfigContainer.add(hostField); serverConfigContainer.add(portField); serverConfigContainer.add(userNameField); serverConfigContainer.add(passwordField); serverConfigContainer.add(transportSecurity); add(defaultFromField); add(debugCheck); add(redirectToFileField); AjaxSubmitLink buttonAddNewMailServerConfig = new AjaxSubmitLink(ID_BUTTON_ADD_NEW_MAIL_SERVER_CONFIG) { @Override protected void onSubmit(AjaxRequestTarget target, org.apache.wicket.markup.html.form.Form<?> form) { MailServerConfigurationTypeDto newConfig = new MailServerConfigurationTypeDto(); newConfig.setHost(getString("SystemConfigPanel.mail.config.placeholder")); if (getModelObject() != null) { getModelObject().getServers().add(newConfig); getModelObject().setSelectedServer(newConfig); } preparePasswordFieldPlaceholder(); target.add(NotificationConfigPanel.this, getPageBase().getFeedbackPanel()); } @Override protected void onError(AjaxRequestTarget target, org.apache.wicket.markup.html.form.Form<?> form) { target.add(getPageBase().getFeedbackPanel()); } }; add(buttonAddNewMailServerConfig); AjaxSubmitLink removeMailServerConfig = new AjaxSubmitLink(ID_BUTTON_REMOVE_MAIL_SERVER_CONFIG) { @Override protected void onSubmit(AjaxRequestTarget target, org.apache.wicket.markup.html.form.Form<?> form) { if (getModelObject() != null) { NotificationConfigurationDto notificationConfig = getModelObject(); MailServerConfigurationTypeDto selected = notificationConfig.getSelectedServer(); if (notificationConfig.getServers().contains(selected)) { notificationConfig.getServers().remove(selected); notificationConfig.setSelectedServer(null); } else { warn(getString("SystemConfigPanel.mail.server.remove.warn")); } target.add(NotificationConfigPanel.this, getPageBase().getFeedbackPanel()); } } @Override protected void onError(AjaxRequestTarget target, org.apache.wicket.markup.html.form.Form<?> form) { target.add(getPageBase().getFeedbackPanel()); } }; removeMailServerConfig.add(new AttributeAppender("class", new AbstractReadOnlyModel<String>() { @Override public String getObject() { if (getModelObject() != null && getModelObject().getSelectedServer() != null) { return null; } else { return " disabled"; } } })); add(removeMailServerConfig); }
From source file:com.evolveum.midpoint.web.page.admin.configuration.component.ObjectPolicyDialog.java
License:Apache License
public void initLayout(WebMarkupContainer content) { Form form = new Form(ID_FORM); form.setOutputMarkupId(true);//from www.j a va 2 s .c o m content.add(form); DropDownFormGroup type = new DropDownFormGroup<>(ID_TYPE, new PropertyModel<QName>(model, ObjectPolicyDialogDto.F_TYPE), createTypeChoiceList(), new IChoiceRenderer<QName>() { @Override public Object getDisplayValue(QName object) { return object.getLocalPart(); } @Override public String getIdValue(QName object, int index) { return Integer.toString(index); } }, createStringResource("ObjectPolicyDialog.type"), ID_LABEL_SIZE, ID_INPUT_SIZE, false); form.add(type); DropDownFormGroup template = new DropDownFormGroup<>(ID_OBJECT_TEMPLATE, new PropertyModel<ObjectTemplateConfigTypeReferenceDto>(model, ObjectPolicyDialogDto.F_TEMPLATE_REF), createObjectTemplateList(), new IChoiceRenderer<ObjectTemplateConfigTypeReferenceDto>() { @Override public Object getDisplayValue(ObjectTemplateConfigTypeReferenceDto object) { return object.getName(); } @Override public String getIdValue(ObjectTemplateConfigTypeReferenceDto object, int index) { return Integer.toString(index); } }, createStringResource("ObjectPolicyDialog.template"), ID_LABEL_SIZE, ID_INPUT_SIZE, false); form.add(template); ListView repeater = new ListView<PropertyConstraintTypeDto>(ID_REPEATER, new PropertyModel<List<PropertyConstraintTypeDto>>(model, ObjectPolicyDialogDto.F_PROPERTY_LIST)) { @Override protected void populateItem(final ListItem item) { WebMarkupContainer textWrapper = new WebMarkupContainer(ID_TEXT_WRAPPER); textWrapper.add(AttributeAppender.prepend("class", new AbstractReadOnlyModel<String>() { @Override public String getObject() { if (item.getIndex() > 0) { return OFFSET_CLASS + " " + CLASS_MULTI_VALUE; } return null; } })); item.add(textWrapper); TextField property = new TextField<>(ID_PROPERTY, new PropertyModel<String>(item.getModel(), PropertyConstraintTypeDto.F_PROPERTY_PATH)); property.add(new AjaxFormComponentUpdatingBehavior("onblur") { @Override protected void onUpdate(AjaxRequestTarget target) { } }); property.add(AttributeAppender.replace("placeholder", createStringResource("ObjectPolicyDialog.property.placeholder"))); textWrapper.add(property); CheckBox oidBound = new CheckBox(ID_OID_BOUND, new PropertyModel<Boolean>(item.getModel(), PropertyConstraintTypeDto.F_OID_BOUND)); oidBound.add(AttributeModifier.replace("title", createStringResource("ObjectPolicyDialog.label.oidBound.help"))); textWrapper.add(oidBound); WebMarkupContainer buttonGroup = new WebMarkupContainer(ID_BUTTON_GROUP); buttonGroup.add(AttributeAppender.append("class", new AbstractReadOnlyModel<String>() { @Override public String getObject() { if (item.getIndex() > 0) { return CLASS_MULTI_VALUE; } return null; } })); item.add(buttonGroup); initButtons(buttonGroup, item); } }; form.add(repeater); AjaxSubmitButton cancel = new AjaxSubmitButton(ID_BUTTON_CANCEL, createStringResource("ObjectPolicyDialog.button.cancel")) { @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { cancelPerformed(target); } }; form.add(cancel); AjaxSubmitButton save = new AjaxSubmitButton(ID_BUTTON_SAVE, createStringResource("ObjectPolicyDialog.button.save")) { @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { savePerformed(target); } }; form.add(save); }
From source file:com.evolveum.midpoint.web.page.admin.configuration.component.ObjectPolicyDialog.java
License:Apache License
protected IModel<List<ObjectTemplateConfigTypeReferenceDto>> createObjectTemplateList() { return new AbstractReadOnlyModel<List<ObjectTemplateConfigTypeReferenceDto>>() { @Override/* www.j av a 2 s . c o m*/ public List<ObjectTemplateConfigTypeReferenceDto> getObject() { List<PrismObject<ObjectTemplateType>> templateList = null; List<ObjectTemplateConfigTypeReferenceDto> list = new ArrayList<>(); OperationResult result = new OperationResult(OPERATION_LOAD_ALL_OBJECT_TEMPLATES); Task task = getPageBase().createSimpleTask(OPERATION_LOAD_ALL_OBJECT_TEMPLATES); try { templateList = getPageBase().getModelService().searchObjects(ObjectTemplateType.class, new ObjectQuery(), null, task, result); result.recomputeStatus(); } catch (Exception e) { result.recordFatalError("Could not get list of object templates", e); LoggingUtils.logException(LOGGER, "Could not get list of object templates", e); //TODO - show this error in GUI } if (templateList != null) { ObjectTemplateType template; for (PrismObject<ObjectTemplateType> obj : templateList) { template = obj.asObjectable(); list.add(new ObjectTemplateConfigTypeReferenceDto(template.getOid(), WebMiscUtil.getName(template))); } } return list; } }; }
From source file:com.evolveum.midpoint.web.page.admin.configuration.component.ObjectPolicyDialog.java
License:Apache License
private IModel<List<QName>> createTypeChoiceList() { return new AbstractReadOnlyModel<List<QName>>() { @Override//w ww. ja va 2s .co m public List<QName> getObject() { List<QName> list = new ArrayList<>(); list.add(UserType.COMPLEX_TYPE); list.add(RoleType.COMPLEX_TYPE); list.add(OrgType.COMPLEX_TYPE); return list; } }; }
From source file:com.evolveum.midpoint.web.page.admin.configuration.component.ObjectPolicyPanel.java
License:Apache License
public void initLayout() { Form form = new Form(ID_FORM); form.setOutputMarkupId(true);//from ww w . j a va2 s.com add(form); DropDownFormGroup type = new DropDownFormGroup<>(ID_TYPE, new PropertyModel<QName>(model, ObjectPolicyDialogDto.F_TYPE), createTypeChoiceList(), new QNameChoiceRenderer(), createStringResource("ObjectPolicyDialog.type"), ID_LABEL_SIZE, ID_INPUT_SIZE, false); form.add(type); type.getInput().setNullValid(false); type.getInput().setRequired(true); TextField<String> fieldSubtype = new TextField<>(ID_SUBTYPE, new PropertyModel<String>(model, ObjectPolicyDialogDto.F_SUBTYPE)); form.add(fieldSubtype); form.add(fieldSubtype); DropDownFormGroup template = new DropDownFormGroup<>(ID_OBJECT_TEMPLATE, new PropertyModel<ObjectTemplateConfigTypeReferenceDto>(model, ObjectPolicyDialogDto.F_TEMPLATE_REF), createObjectTemplateList(), new ChoiceableChoiceRenderer<ObjectTemplateConfigTypeReferenceDto>(), createStringResource("ObjectPolicyDialog.template"), ID_LABEL_SIZE, ID_INPUT_SIZE, false); form.add(template); template.getInput().setNullValid(false); template.getInput().setRequired(true); ListView repeater = new ListView<PropertyConstraintTypeDto>(ID_REPEATER, new PropertyModel<List<PropertyConstraintTypeDto>>(model, ObjectPolicyDialogDto.F_PROPERTY_LIST)) { @Override protected void populateItem(final ListItem item) { WebMarkupContainer textWrapper = new WebMarkupContainer(ID_TEXT_WRAPPER); textWrapper.add(AttributeAppender.prepend("class", new AbstractReadOnlyModel<String>() { @Override public String getObject() { if (item.getIndex() > 0) { return OFFSET_CLASS + " " + CLASS_MULTI_VALUE; } return null; } })); item.add(textWrapper); TextField property = new TextField<>(ID_PROPERTY, new PropertyModel<String>(item.getModel(), PropertyConstraintTypeDto.F_PROPERTY_PATH)); property.add(new AjaxFormComponentUpdatingBehavior("blur") { @Override protected void onUpdate(AjaxRequestTarget target) { } }); property.add(AttributeAppender.replace("placeholder", createStringResource("ObjectPolicyDialog.property.placeholder"))); textWrapper.add(property); CheckBox oidBound = new CheckBox(ID_OID_BOUND, new PropertyModel<Boolean>(item.getModel(), PropertyConstraintTypeDto.F_OID_BOUND)); oidBound.add(AttributeModifier.replace("title", createStringResource("ObjectPolicyDialog.label.oidBound.help"))); textWrapper.add(oidBound); WebMarkupContainer buttonGroup = new WebMarkupContainer(ID_BUTTON_GROUP); buttonGroup.add(AttributeAppender.append("class", new AbstractReadOnlyModel<String>() { @Override public String getObject() { if (item.getIndex() > 0) { return CLASS_MULTI_VALUE; } return null; } })); item.add(buttonGroup); initButtons(buttonGroup, item); } }; form.add(repeater); AjaxSubmitButton cancel = new AjaxSubmitButton(ID_BUTTON_CANCEL, createStringResource("ObjectPolicyDialog.button.cancel")) { @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { cancelPerformed(target); } }; form.add(cancel); AjaxSubmitButton save = new AjaxSubmitButton(ID_BUTTON_SAVE, createStringResource("ObjectPolicyDialog.button.save")) { @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { savePerformed(target); } @Override protected void onError(AjaxRequestTarget target, Form<?> form) { System.out.println("asdf"); target.add(form); } }; form.add(save); }
From source file:com.evolveum.midpoint.web.page.admin.configuration.component.ObjectPolicyPanel.java
License:Apache License
protected IModel<List<ObjectTemplateConfigTypeReferenceDto>> createObjectTemplateList() { return new AbstractReadOnlyModel<List<ObjectTemplateConfigTypeReferenceDto>>() { @Override// ww w . j a va2 s . c o m public List<ObjectTemplateConfigTypeReferenceDto> getObject() { List<PrismObject<ObjectTemplateType>> templateList = null; List<ObjectTemplateConfigTypeReferenceDto> list = new ArrayList<>(); OperationResult result = new OperationResult(OPERATION_LOAD_ALL_OBJECT_TEMPLATES); Task task = getPageBase().createSimpleTask(OPERATION_LOAD_ALL_OBJECT_TEMPLATES); try { templateList = getPageBase().getModelService().searchObjects(ObjectTemplateType.class, new ObjectQuery(), null, task, result); result.recomputeStatus(); } catch (Exception e) { result.recordFatalError("Could not get list of object templates", e); LoggingUtils.logUnexpectedException(LOGGER, "Could not get list of object templates", e); // TODO - show this error in GUI } if (templateList != null) { ObjectTemplateType template; for (PrismObject<ObjectTemplateType> obj : templateList) { template = obj.asObjectable(); list.add(new ObjectTemplateConfigTypeReferenceDto(template.getOid(), WebComponentUtil.getName(template))); } } return list; } }; }
From source file:com.evolveum.midpoint.web.page.admin.configuration.component.ObjectPolicyPanel.java
License:Apache License
private IModel<List<QName>> createTypeChoiceList() { return new AbstractReadOnlyModel<List<QName>>() { @Override//from www .jav a2s . c om public List<QName> getObject() { return WebComponentUtil.createFocusTypeList(); } }; }
From source file:com.evolveum.midpoint.web.page.admin.configuration.component.ProfilingConfigPanel.java
License:Apache License
private IModel<List<String>> createAppendersListModel() { return new AbstractReadOnlyModel<List<String>>() { @Override//from w w w . jav a 2 s . c o m public List<String> getObject() { List<String> list = new ArrayList<>(); ProfilingDto dto = getModel().getObject(); for (AppenderConfiguration appender : dto.getAppenders()) { list.add(appender.getName()); } return list; } }; }
From source file:com.evolveum.midpoint.web.page.admin.configuration.PageDebugList.java
License:Apache License
private IModel<String> createDeleteConfirmString() { return new AbstractReadOnlyModel<String>() { @Override/* ww w . j ava 2s .c o m*/ public String getObject() { DebugConfDialogDto dto = confDialogModel.getObject(); switch (dto.getOperation()) { case DELETE_ALL_IDENTITIES: return createLaxativeString(); case DELETE_ALL_TYPE: String key = ObjectTypeGuiDescriptor.getDescriptor(dto.getType()).getLocalizationKey(); String type = createStringResource(key).getString(); return createStringResource("pageDebugList.message.deleteAllType", type).getString(); case DELETE_SELECTED: List<DebugObjectItem> selectedList = dto.getObjects(); if (selectedList.size() > 1) { return createStringResource("pageDebugList.message.deleteSelectedConfirm", selectedList.size()).getString(); } DebugObjectItem selectedItem = selectedList.get(0); return createStringResource("pageDebugList.message.deleteObjectConfirm", selectedItem.getName()) .getString(); } return ""; } }; }
From source file:com.evolveum.midpoint.web.page.admin.configuration.PageDebugView.java
License:Apache License
@Override protected IModel<String> createPageSubTitleModel() { return new AbstractReadOnlyModel<String>() { @Override/*from w w w.j ava 2 s .c o m*/ public String getObject() { return createStringResource("page.subTitle", model.getObject().getName()).getString(); } }; }