List of usage examples for org.apache.wicket.model AbstractReadOnlyModel AbstractReadOnlyModel
AbstractReadOnlyModel
From source file:com.evolveum.midpoint.web.component.menu.MainMenuPanel.java
License:Apache License
private void createSubmenu(final ListItem<MenuItem> listItem) { final MenuItem menuItem = listItem.getModelObject(); listItem.add(AttributeModifier.replace("class", new AbstractReadOnlyModel<String>() { private static final long serialVersionUID = 1L; @Override//from w ww .ja v a 2s . c om public String getObject() { return menuItem.isMenuActive((WebPage) getPage()) ? "active" : null; } })); Link<String> subLink = new Link<String>(ID_SUB_LINK) { private static final long serialVersionUID = 1L; @Override public void onClick() { menuItemPerformed(menuItem); } }; listItem.add(subLink); Label subLabel = new Label(ID_SUB_LABEL, menuItem.getNameModel()); subLink.add(subLabel); listItem.add(new VisibleEnableBehaviour() { private static final long serialVersionUID = 1L; @Override public boolean isVisible() { MenuItem mi = listItem.getModelObject(); boolean visible = true; if (mi.getVisibleEnable() != null) { visible = mi.getVisibleEnable().isVisible(); } return visible && SecurityUtils.isMenuAuthorized(mi); } @Override public boolean isEnabled() { MenuItem mi = listItem.getModelObject(); if (mi.getVisibleEnable() == null) { return true; } return mi.getVisibleEnable().isEnabled(); } }); }
From source file:com.evolveum.midpoint.web.component.menu.top.UserMenuPanel.java
License:Apache License
@Override protected void initLayout() { Label username = new Label(ID_USERNAME, new AbstractReadOnlyModel<String>() { @Override/*from w w w . j a v a 2 s . c o m*/ public String getObject() { return getShortUserName(); } }); username.setRenderBodyOnly(true); add(username); ExternalLink logoutLink = new ExternalLink(ID_LOGOUT_LINK, new Model<String>(RequestCycle.get().getRequest().getContextPath() + "/j_spring_security_logout"), createStringResource("UserMenuPanel.logout")); add(logoutLink); // LabeledBookmarkableLink editProfile = new LabeledBookmarkableLink(ID_EDIT_PROFILE, // new MenuItem(createStringResource("UserMenuPanel.editProfile"), PageDashboard.class)); // add(editProfile); LabeledBookmarkableLink resetPasswords = new LabeledBookmarkableLink(ID_RESET_PASSWORDS, new MenuItem(createStringResource("UserMenuPanel.resetPasswords"), PageMyPasswords.class)); add(resetPasswords); }
From source file:com.evolveum.midpoint.web.component.menu.UserMenuPanel.java
License:Apache License
private void initLayout() { WebMarkupContainer iconBox = new WebMarkupContainer(ID_ICON_BOX); add(iconBox);/*from www .ja v a 2s .c om*/ NonCachingImage img = new NonCachingImage(ID_PHOTO, new AbstractReadOnlyModel<AbstractResource>() { @Override public AbstractResource getObject() { if (jpegPhoto == null) { return null; } else { return new ByteArrayResource("image/jpeg", jpegPhoto); } } }); img.add(new VisibleEnableBehaviour() { @Override public boolean isVisible() { if (userModel != null && userModel.getObject() == null) { loadModel(null); } return jpegPhoto != null; } }); iconBox.add(img); ContextImage icon = new ContextImage(ID_ICON, "img/placeholder.png"); icon.add(new VisibleEnableBehaviour() { @Override public boolean isVisible() { if (userModel != null && userModel.getObject() == null) { loadModel(null); } return jpegPhoto == null; } }); iconBox.add(icon); Label usernameLink = new Label(ID_USERNAME_LINK, new AbstractReadOnlyModel<String>() { @Override public String getObject() { return getShortUserName(); } }); add(usernameLink); WebMarkupContainer panelIconBox = new WebMarkupContainer(ID_PANEL_ICON_BOX); add(panelIconBox); NonCachingImage panelImg = new NonCachingImage(ID_PANEL_PHOTO, new AbstractReadOnlyModel<AbstractResource>() { @Override public AbstractResource getObject() { if (jpegPhoto == null) { return null; } else { return new ByteArrayResource("image/jpeg", jpegPhoto); } } }); panelImg.add(new VisibleEnableBehaviour() { @Override public boolean isVisible() { if (userModel != null && userModel.getObject() == null) { loadModel(null); } return jpegPhoto != null; } }); panelIconBox.add(panelImg); ContextImage panelIcon = new ContextImage(ID_PANEL_ICON, "img/placeholder.png"); panelIcon.add(new VisibleEnableBehaviour() { @Override public boolean isVisible() { if (userModel != null && userModel.getObject() == null) { loadModel(null); } return jpegPhoto == null; } }); panelIconBox.add(panelIcon); Label username = new Label(ID_USERNAME, new AbstractReadOnlyModel<String>() { @Override public String getObject() { return getShortUserName(); } }); username.setRenderBodyOnly(true); add(username); ExternalLink logoutLink = new ExternalLink(ID_LOGOUT_LINK, new Model<>(RequestCycle.get().getRequest().getContextPath() + "/j_spring_security_logout"), createStringResource("UserMenuPanel.logout")); add(logoutLink); AjaxButton editPasswordQ = new AjaxButton(ID_PASSWORD_QUESTIONS, createStringResource("UserMenuPanel.editPasswordQuestions")) { @Override public void onClick(AjaxRequestTarget target) { PageMyPasswordQuestions myPasswordQuestions = new PageMyPasswordQuestions( passwordQuestionsDtoIModel); setResponsePage(myPasswordQuestions); } }; add(editPasswordQ); if (!isPasswordModelLoaded) { passwordQuestionsDtoIModel = new LoadableModel<PasswordQuestionsDto>(false) { private static final long serialVersionUID = 1L; @Override protected PasswordQuestionsDto load() { return loadModel(null); } }; isPasswordModelLoaded = true; } securityPolicyQuestionsModel = new LoadableModel<List<SecurityQuestionDefinitionType>>(false) { @Override protected List<SecurityQuestionDefinitionType> load() { return loadSecurityPloicyQuestionsModel(); } }; editPasswordQ.add(new VisibleEnableBehaviour() { @Override public boolean isVisible() { if (securityPolicyQuestionsModel == null || securityPolicyQuestionsModel.getObject() == null) { loadSecurityPloicyQuestionsModel(); } return hasQuestions() || (securityPolicyQuestionsModel.getObject() != null && securityPolicyQuestionsModel.getObject().size() > 0); } }); }
From source file:com.evolveum.midpoint.web.component.message.FeedbackListView.java
License:Apache License
private IModel<String> createModel(final IModel<FeedbackMessage> model) { return new AbstractReadOnlyModel<String>() { @Override// www .j av a 2 s . c o m public String getObject() { FeedbackMessage message = model.getObject(); switch (message.getLevel()) { case FeedbackMessage.INFO: return "messages-info"; case FeedbackMessage.SUCCESS: return "messages-succ"; case FeedbackMessage.ERROR: case FeedbackMessage.FATAL: return "messages-error"; case FeedbackMessage.UNDEFINED: case FeedbackMessage.DEBUG: case FeedbackMessage.WARNING: default: return "messages-warn"; } } }; }
From source file:com.evolveum.midpoint.web.component.message2.FeedbackAlertMessage.java
License:Apache License
private IModel<String> createCssClass() { return new AbstractReadOnlyModel<String>() { @Override/* w w w.j a va2 s. c om*/ public String getObject() { StringBuilder sb = new StringBuilder(); sb.append("alert "); FeedbackMessage message = getModelObject(); switch (message.getLevel()) { case FeedbackMessage.INFO: sb.append("alert-info "); break; case FeedbackMessage.SUCCESS: sb.append("alert-success "); break; case FeedbackMessage.ERROR: case FeedbackMessage.FATAL: sb.append("alert-danger "); break; case FeedbackMessage.UNDEFINED: case FeedbackMessage.DEBUG: case FeedbackMessage.WARNING: default: sb.append("alert-warn "); } sb.append("alert-dismissable"); return sb.toString(); } }; }
From source file:com.evolveum.midpoint.web.component.message2.FeedbackAlertMessage.java
License:Apache License
private IModel<String> createTypeModel() { return new AbstractReadOnlyModel<String>() { @Override/*w w w . ja v a2 s . co m*/ public String getObject() { String key; FeedbackMessage message = getModelObject(); switch (message.getLevel()) { case FeedbackMessage.INFO: key = "FeedbackAlertMessage.info"; break; case FeedbackMessage.SUCCESS: key = "FeedbackAlertMessage.success"; break; case FeedbackMessage.ERROR: case FeedbackMessage.FATAL: key = "FeedbackAlertMessage.error"; break; case FeedbackMessage.UNDEFINED: case FeedbackMessage.DEBUG: case FeedbackMessage.WARNING: default: key = "FeedbackAlertMessage.warn"; } return createStringResource(key).getString(); } }; }
From source file:com.evolveum.midpoint.web.component.MultiValueChoosePanel.java
License:Apache License
private void initLayout(final IModel<String> label, final String labelSize, final String textSize, final boolean required, Class<T> type) { Label l = new Label(ID_LABEL, label); if (StringUtils.isNotEmpty(labelSize)) { l.add(AttributeAppender.prepend("class", labelSize)); }/* w w w . j ava2 s . c o m*/ add(l); ListView repeater = new ListView<T>(ID_REPEATER, getModel()) { @Override protected void populateItem(final ListItem<T> listItem) { WebMarkupContainer textWrapper = new WebMarkupContainer(ID_TEXT_WRAPPER); textWrapper.add(AttributeAppender.prepend("class", new AbstractReadOnlyModel<String>() { @Override public String getObject() { StringBuilder sb = new StringBuilder(); if (StringUtils.isNotEmpty(textSize)) { sb.append(textSize).append(' '); } if (listItem.getIndex() > 0 && StringUtils.isNotEmpty(getOffsetClass())) { sb.append(getOffsetClass()).append(' '); sb.append(CLASS_MULTI_VALUE); } return sb.toString(); } })); listItem.add(textWrapper); TextField text = new TextField<String>(ID_TEXT, createTextModel(listItem.getModel())); text.add(new AjaxFormComponentUpdatingBehavior("onblur") { @Override protected void onUpdate(AjaxRequestTarget ajaxRequestTarget) { } }); text.setRequired(required); text.setEnabled(false); text.add(AttributeAppender.replace("placeholder", label)); text.setLabel(label); textWrapper.add(text); FeedbackPanel feedback = new FeedbackPanel(ID_FEEDBACK, new ComponentFeedbackMessageFilter(text)); textWrapper.add(feedback); WebMarkupContainer buttonGroup = new WebMarkupContainer(ID_BUTTON_GROUP); buttonGroup.add(AttributeAppender.append("class", new AbstractReadOnlyModel<String>() { @Override public String getObject() { if (listItem.getIndex() > 0 && StringUtils.isNotEmpty(labelSize)) { return CLASS_MULTI_VALUE; } return null; } })); AjaxLink edit = new AjaxLink(ID_EDIT) { @Override public void onClick(AjaxRequestTarget target) { editValuePerformed(target, listItem); } }; textWrapper.add(edit); listItem.add(buttonGroup); initButtons(buttonGroup, listItem); } }; initDialog(type); add(repeater); }
From source file:com.evolveum.midpoint.web.component.objectdetails.FocusMainPanel.java
License:Apache License
protected IModel<PrismObject<F>> unwrapModel() { return new AbstractReadOnlyModel<PrismObject<F>>() { @Override/*w w w . ja v a 2 s. co m*/ public PrismObject<F> getObject() { return getObjectWrapper().getObject(); } }; }
From source file:com.evolveum.midpoint.web.component.objectdetails.FocusProjectionsTabPanel.java
License:Apache License
private Popupable getDeleteProjectionPopupContent() { ConfirmationPanel dialog = new ConfirmationPanel(getPageBase().getMainPopupBodyId(), new AbstractReadOnlyModel<String>() { private static final long serialVersionUID = 1L; @Override// ww w. j a v a 2 s .c om public String getObject() { return createStringResource("pageAdminFocus.message.deleteAccountConfirm", getSelectedProjections(projectionModel).size()).getString(); } }) { private static final long serialVersionUID = 1L; @Override public void yesPerformed(AjaxRequestTarget target) { ModalWindow modalWindow = findParent(ModalWindow.class); if (modalWindow != null) { modalWindow.close(target); deleteAccountConfirmedPerformed(target, getSelectedProjections(projectionModel)); } } }; return dialog; }
From source file:com.evolveum.midpoint.web.component.objectdetails.FocusTasksTabPanel.java
License:Apache License
private void initLayout(final PageBase page) { Label label = new Label(ID_LABEL, new AbstractReadOnlyModel<String>() { private static final long serialVersionUID = 1L; @Override/*from www . jav a 2 s . c o m*/ public String getObject() { if (taskDtoProvider.size() > 0) { return getString("pageAdminFocus.task.descriptionHasTasks"); } else { return getString("pageAdminFocus.task.descriptionNoTasks"); } } }); add(label); List<IColumn<TaskDto, String>> taskColumns = initTaskColumns(); TablePanel taskTable = new TablePanel<TaskDto>(ID_TASK_TABLE, taskDtoProvider, taskColumns); add(taskTable); taskTable.add(new VisibleEnableBehaviour() { @Override public boolean isVisible() { return taskDtoProvider.size() > 0; } }); }