Example usage for org.apache.wicket.model AbstractReadOnlyModel AbstractReadOnlyModel

List of usage examples for org.apache.wicket.model AbstractReadOnlyModel AbstractReadOnlyModel

Introduction

In this page you can find the example usage for org.apache.wicket.model AbstractReadOnlyModel AbstractReadOnlyModel.

Prototype

AbstractReadOnlyModel

Source Link

Usage

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;
        }
    });
}