Example usage for org.apache.wicket.markup.html.list ListItem getDefaultModelObject

List of usage examples for org.apache.wicket.markup.html.list ListItem getDefaultModelObject

Introduction

In this page you can find the example usage for org.apache.wicket.markup.html.list ListItem getDefaultModelObject.

Prototype

Object getDefaultModelObject();

Source Link

Usage

From source file:de.inren.frontend.admin.gui.AgFormPanel.java

License:Apache License

@Override
protected void onInitialize() {
    super.onInitialize();
    Form<Void> form = new Form<>("form");
    add(form);/*from   w  ww .  jav a2s .  c o m*/

    form.add(new ListView<Component>("components", Model.ofList(components)) {

        @Override
        protected void populateItem(ListItem<Component> item) {
            item.add((Component) item.getDefaultModelObject());
        }
    });
    if (submit == null) {
        form.add(new SubmitLink(SUBMIT_ID));
    } else {
        if (!SUBMIT_ID.equals(submit.getId())) {
            throw new IllegalStateException("Expected submit component with id 'submit'.");
        }
        form.add(submit);
    }
    if (cancel == null) {
        form.add(new EmptyPanel(CANCEL_ID));
    } else {
        if (!CANCEL_ID.equals(cancel.getId())) {
            throw new IllegalStateException("Expected cancel component with id 'cancel'.");
        }
        form.add(cancel);
    }
}

From source file:org.antbear.jee.wicket.guestbook.web.ViewGuestbook.java

License:Apache License

@Override
protected void onInitialize() {
    super.onInitialize();

    if (guestbookId == null)
        throw new IllegalStateException("Invariant not fullfilled: guestbookId");

    this.guestbookModel = new CompoundPropertyModel<Guestbook>(guestbookService.find(guestbookId));
    WebMarkupContainer wrapper = new WebMarkupContainer("wrapper", guestbookModel);
    add(wrapper);//from  ww w. java  2s.  c  o m

    wrapper.add(new Label("name1", new PropertyModel<String>(guestbookModel, "name")).setRenderBodyOnly(true));
    wrapper.add(new Label("name2", new PropertyModel<String>(guestbookModel, "name")).setRenderBodyOnly(true));

    this.entryListView = new PropertyListView<Entry>("entries", guestbookModel.getObject().getEntries()) {
        private static final long serialVersionUID = 1L;

        @Override
        protected void populateItem(ListItem<Entry> item) {
            item.add(new Label("authorName").setRenderBodyOnly(true));
            item.add(DateLabel.forShortStyle("creationDate").setRenderBodyOnly(true));

            PropertyModel<String> emailModel = new PropertyModel<String>(item.getDefaultModelObject(),
                    "authorEmail");
            ExternalLink emailLink = new ExternalLink("authorEmail", "mailto:" + emailModel.getObject());
            emailLink.add(new Label("authorEmailText", emailModel).setRenderBodyOnly(true));
            item.add(emailLink);

            item.add(new Label("text").setRenderBodyOnly(true));
        }
    };
    entryListView.setRenderBodyOnly(true);
    wrapper.add(entryListView);

    AddEntryPanel addEntryPanel = new AddEntryPanel("addEntryPanel", guestbookId);
    // Get notified when an entry has been added to the guestbook
    addEntryPanel.setEntrySubmitObserver(new AddEntryPanel.EntrySubmitObserver() {
        private static final long serialVersionUID = 1L;

        @Override
        public void entrySubmitted() {
            reloadModel();
        }
    });
    wrapper.add(addEntryPanel);
}

From source file:org.apache.syncope.client.console.pages.ResultStatusModalPage.java

License:Apache License

private ResultStatusModalPage(final Builder builder) {
    super();// w ww .j a v a  2s  . c om
    this.subject = builder.subject;
    statusUtils = new StatusUtils(this.userRestClient);
    if (builder.mode == null) {
        this.mode = Mode.ADMIN;
    } else {
        this.mode = builder.mode;
    }

    final BaseModalPage page = this;

    final WebMarkupContainer container = new WebMarkupContainer("container");
    container.setOutputMarkupId(true);
    add(container);

    final Fragment fragment = new Fragment("resultFrag",
            mode == Mode.SELF ? "userSelfResultFrag" : "propagationResultFrag", this);
    fragment.setOutputMarkupId(true);
    container.add(fragment);

    if (mode == Mode.ADMIN) {
        // add Syncope propagation status
        PropagationStatus syncope = new PropagationStatus();
        syncope.setResource("Syncope");
        syncope.setStatus(PropagationTaskExecStatus.SUCCESS);

        List<PropagationStatus> propagations = new ArrayList<PropagationStatus>();
        propagations.add(syncope);
        propagations.addAll(subject.getPropagationStatusTOs());

        fragment.add(new Label("info",
                ((subject instanceof UserTO) && ((UserTO) subject).getUsername() != null)
                        ? ((UserTO) subject).getUsername()
                        : ((subject instanceof GroupTO) && ((GroupTO) subject).getName() != null)
                                ? ((GroupTO) subject).getName()
                                : String.valueOf(subject.getKey())));

        final ListView<PropagationStatus> propRes = new ListView<PropagationStatus>("resources", propagations) {

            private static final long serialVersionUID = -1020475259727720708L;

            @Override
            protected void populateItem(final ListItem<PropagationStatus> item) {
                final PropagationStatus propTO = (PropagationStatus) item.getDefaultModelObject();

                final ListView attributes = getConnObjectView(propTO);

                final Fragment attrhead;
                if (attributes.getModelObject() == null || attributes.getModelObject().isEmpty()) {
                    attrhead = new Fragment("attrhead", "emptyAttrHeadFrag", page);
                } else {
                    attrhead = new Fragment("attrhead", "attrHeadFrag", page);
                }

                item.add(attrhead);
                item.add(attributes);

                attrhead.add(new Label("resource", propTO.getResource()));

                attrhead.add(new Label("propagation",
                        propTO.getStatus() == null ? "UNDEFINED" : propTO.getStatus().toString()));

                final Image image;
                final String alt, title;
                final ModalWindow failureWindow = new ModalWindow("failureWindow");
                final AjaxLink<?> failureWindowLink = new AjaxLink<Void>("showFailureWindow") {

                    private static final long serialVersionUID = -7978723352517770644L;

                    @Override
                    public void onClick(AjaxRequestTarget target) {
                        failureWindow.show(target);
                    }
                };

                switch (propTO.getStatus()) {

                case SUCCESS:
                case SUBMITTED:
                case CREATED:
                    image = new Image("icon", new ContextRelativeResource(
                            IMG_PREFIX + Status.ACTIVE.toString() + Constants.PNG_EXT));
                    alt = "success icon";
                    title = "success";
                    failureWindow.setVisible(false);
                    failureWindowLink.setEnabled(false);
                    break;

                default:
                    image = new Image("icon", new ContextRelativeResource(
                            IMG_PREFIX + Status.SUSPENDED.toString() + Constants.PNG_EXT));
                    alt = "failure icon";
                    title = "failure";
                }

                image.add(new Behavior() {

                    private static final long serialVersionUID = 1469628524240283489L;

                    @Override
                    public void onComponentTag(final Component component, final ComponentTag tag) {
                        tag.put("alt", alt);
                        tag.put("title", title);
                    }
                });
                final FailureMessageModalPage executionFailureMessagePage;
                if (propTO.getFailureReason() == null) {
                    executionFailureMessagePage = new FailureMessageModalPage(failureWindow.getContentId(),
                            StringUtils.EMPTY);
                } else {
                    executionFailureMessagePage = new FailureMessageModalPage(failureWindow.getContentId(),
                            propTO.getFailureReason());
                }

                failureWindow.setPageCreator(new ModalWindow.PageCreator() {

                    private static final long serialVersionUID = -7834632442532690940L;

                    @Override
                    public Page createPage() {
                        return executionFailureMessagePage;
                    }
                });
                failureWindow.setCookieName("failureWindow");
                failureWindow.setCssClassName(ModalWindow.CSS_CLASS_GRAY);
                failureWindowLink.add(image);
                attrhead.add(failureWindowLink);
                attrhead.add(failureWindow);
            }
        };
        fragment.add(propRes);
    }

    final AjaxLink<Void> close = new IndicatingAjaxLink<Void>("close") {

        private static final long serialVersionUID = -7978723352517770644L;

        @Override
        public void onClick(final AjaxRequestTarget target) {
            builder.window.close(target);
        }
    };
    container.add(close);

    setOutputMarkupId(true);
}

From source file:org.apache.syncope.client.console.panels.MembershipsPanel.java

License:Apache License

public MembershipsPanel(final String id, final UserTO userTO, final Mode mode, final StatusPanel statusPanel,
        final PageReference pageRef) {

    super(id);//from w w w .  j  a va  2s  .  c  o m
    this.userTO = userTO;
    this.statusPanel = statusPanel;

    final WebMarkupContainer membershipsContainer = new WebMarkupContainer("membershipsContainer");
    membershipsContainer.setOutputMarkupId(true);
    add(membershipsContainer);

    final ModalWindow membWin = new ModalWindow("membershipWin");
    membWin.setCssClassName(ModalWindow.CSS_CLASS_GRAY);
    membWin.setCookieName("create-membership-modal");
    add(membWin);

    final ITreeProvider<DefaultMutableTreeNode> treeProvider = new TreeGroupProvider(groupTreeBuilder, true);
    final DefaultMutableTreeNodeExpansionModel treeModel = new DefaultMutableTreeNodeExpansionModel();

    tree = new DefaultNestedTree<DefaultMutableTreeNode>("treeTable", treeProvider, treeModel) {

        private static final long serialVersionUID = 7137658050662575546L;

        @Override
        protected Component newContentComponent(final String id, final IModel<DefaultMutableTreeNode> node) {
            final DefaultMutableTreeNode treeNode = node.getObject();
            final GroupTO groupTO = (GroupTO) treeNode.getUserObject();

            return new Folder<DefaultMutableTreeNode>(id, MembershipsPanel.this.tree, node) {

                private static final long serialVersionUID = 9046323319920426493L;

                @Override
                protected boolean isClickable() {
                    return true;
                }

                @Override
                protected IModel<?> newLabelModel(final IModel<DefaultMutableTreeNode> model) {
                    return new Model<String>(groupTO.getDisplayName());
                }

                @Override
                protected void onClick(final AjaxRequestTarget target) {
                    if (groupTO.getKey() > 0) {
                        membWin.setPageCreator(new ModalWindow.PageCreator() {

                            private static final long serialVersionUID = 7661763358801821185L;

                            @Override
                            public Page createPage() {
                                PageReference pageRef = getPage().getPageReference();

                                for (MembershipTO membTO : membView.getList()) {
                                    if (membTO.getGroupKey() == groupTO.getKey()) {
                                        return new MembershipModalPage(pageRef, membWin, membTO, mode);
                                    }
                                }
                                MembershipTO membTO = new MembershipTO();
                                membTO.setGroupKey(groupTO.getKey());
                                membTO.setGroupName(groupTO.getName());

                                return new MembershipModalPage(pageRef, membWin, membTO, mode);
                            }
                        });
                        membWin.show(target);
                    }
                }
            };
        }
    };
    tree.add(new WindowsTheme());
    tree.setOutputMarkupId(true);

    DefaultMutableTreeNodeExpansion.get().expandAll();

    this.add(tree);

    membView = new ListView<MembershipTO>("memberships",
            new PropertyModel<List<? extends MembershipTO>>(userTO, "memberships")) {

        private static final long serialVersionUID = 9101744072914090143L;

        @Override
        protected void populateItem(final ListItem<MembershipTO> item) {
            final MembershipTO membershipTO = (MembershipTO) item.getDefaultModelObject();

            item.add(new Label("groupId", new Model<Long>(membershipTO.getGroupKey())));
            item.add(new Label("groupName", new Model<String>(membershipTO.getGroupName())));

            AjaxLink editLink = new ClearIndicatingAjaxLink("editLink", pageRef) {

                private static final long serialVersionUID = -7978723352517770644L;

                @Override
                protected void onClickInternal(final AjaxRequestTarget target) {
                    membWin.setPageCreator(new ModalWindow.PageCreator() {

                        private static final long serialVersionUID = -7834632442532690940L;

                        @Override
                        public Page createPage() {
                            return new MembershipModalPage(getPage().getPageReference(), membWin, membershipTO,
                                    mode);

                        }
                    });
                    membWin.show(target);
                }
            };
            item.add(editLink);

            AjaxLink deleteLink = new IndicatingOnConfirmAjaxLink("deleteLink", pageRef) {

                private static final long serialVersionUID = -7978723352517770644L;

                @Override
                protected void onClickInternal(final AjaxRequestTarget target) {
                    userTO.getMemberships().remove(membershipTO);
                    ((UserModalPage) getPage()).getUserTO().getMemberships().remove(membershipTO);
                    target.add(membershipsContainer);

                    GroupTO groupTO = groupTreeBuilder.findGroup(membershipTO.getGroupKey());
                    Set<String> resourcesToRemove = groupTO == null ? Collections.<String>emptySet()
                            : groupTO.getResources();
                    if (!resourcesToRemove.isEmpty()) {
                        Set<String> resourcesAssignedViaMembership = new HashSet<>();
                        for (MembershipTO membTO : userTO.getMemberships()) {
                            groupTO = groupTreeBuilder.findGroup(membTO.getGroupKey());
                            if (groupTO != null) {
                                resourcesAssignedViaMembership.addAll(groupTO.getResources());
                            }
                        }
                        resourcesToRemove.removeAll(resourcesAssignedViaMembership);
                        resourcesToRemove.removeAll(userTO.getResources());
                    }

                    StatusUtils.update(userTO, statusPanel, target, Collections.<String>emptySet(),
                            resourcesToRemove);
                }
            };
            item.add(deleteLink);
        }
    };

    membershipsContainer.add(membView);

    setWindowClosedCallback(membWin, membershipsContainer);
}

From source file:org.apache.syncope.client.console.panels.PlainAttrsPanel.java

License:Apache License

public <T extends AbstractAttributableTO> PlainAttrsPanel(final String id, final T entityTO, final Form<?> form,
        final Mode mode, final AttrTemplatesPanel attrTemplates) {

    super(id);/*from w ww . j av a  2  s .  c  om*/
    this.entityTO = entityTO;
    this.mode = mode;
    this.attrTemplates = attrTemplates;
    this.setOutputMarkupId(true);

    setSchemas();
    setAttrs();

    add(new AltListView<AttrTO>("schemas", new PropertyModel<List<? extends AttrTO>>(entityTO, "attrs")) {

        private static final long serialVersionUID = 9101744072914090143L;

        @Override
        @SuppressWarnings({ "unchecked", "rawtypes" })
        protected void populateItem(final ListItem<AttrTO> item) {
            final AttrTO attributeTO = (AttrTO) item.getDefaultModelObject();

            final WebMarkupContainer jexlHelp = JexlHelpUtils.getJexlHelpWebContainer("jexlHelp");

            final AjaxLink<Void> questionMarkJexlHelp = JexlHelpUtils.getAjaxLink(jexlHelp,
                    "questionMarkJexlHelp");
            item.add(questionMarkJexlHelp);
            questionMarkJexlHelp.add(jexlHelp);

            if (mode != Mode.TEMPLATE) {
                questionMarkJexlHelp.setVisible(false);
            }

            item.add(new Label("name", attributeTO.getSchema()));

            final FieldPanel panel = getFieldPanel(schemas.get(attributeTO.getSchema()), form, attributeTO);

            if (mode == Mode.TEMPLATE || !schemas.get(attributeTO.getSchema()).isMultivalue()) {
                item.add(panel);
            } else {
                item.add(new MultiFieldPanel<String>("panel",
                        new PropertyModel<List<String>>(attributeTO, "values"), panel));
            }
        }
    });
}

From source file:org.apache.syncope.console.pages.panels.AttributesPanel.java

License:Apache License

public <T extends AbstractAttributableTO> AttributesPanel(final String id, final T entityTO, final Form form,
        final boolean templateMode, final AttrTemplatesPanel attrTemplates) {

    super(id);//from  ww w.j a  v a  2 s.  c om
    this.entityTO = entityTO;
    this.templateMode = templateMode;
    this.attrTemplates = attrTemplates;
    this.setOutputMarkupId(true);

    setSchemas();
    setAttrs();

    final ListView<AttributeTO> attributeView = new AltListView<AttributeTO>("schemas",
            new PropertyModel<List<? extends AttributeTO>>(entityTO, "attrs")) {

        private static final long serialVersionUID = 9101744072914090143L;

        @Override
        @SuppressWarnings({ "unchecked", "rawtypes" })
        protected void populateItem(final ListItem<AttributeTO> item) {
            final AttributeTO attributeTO = (AttributeTO) item.getDefaultModelObject();

            final WebMarkupContainer jexlHelp = JexlHelpUtil.getJexlHelpWebContainer("jexlHelp");

            final AjaxLink<Void> questionMarkJexlHelp = JexlHelpUtil.getAjaxLink(jexlHelp,
                    "questionMarkJexlHelp");
            item.add(questionMarkJexlHelp);
            questionMarkJexlHelp.add(jexlHelp);

            if (!templateMode) {
                questionMarkJexlHelp.setVisible(false);
            }

            item.add(new Label("name", attributeTO.getSchema()));

            final FieldPanel panel = getFieldPanel(schemas.get(attributeTO.getSchema()), form, attributeTO);

            if (templateMode || !schemas.get(attributeTO.getSchema()).isMultivalue()) {
                item.add(panel);
            } else {
                item.add(new MultiFieldPanel<String>("panel",
                        new PropertyModel<List<String>>(attributeTO, "values"), panel));
            }
        }
    };

    add(attributeView);
}

From source file:org.apache.syncope.console.pages.panels.MembershipsPanel.java

License:Apache License

public MembershipsPanel(final String id, final UserTO userTO, final boolean templateMode,
        final StatusPanel statusPanel, final PageReference pageRef) {

    super(id);//from  ww  w . jav  a 2  s  . c  o  m
    this.userTO = userTO;
    this.statusPanel = statusPanel;

    final WebMarkupContainer membershipsContainer = new WebMarkupContainer("membershipsContainer");
    membershipsContainer.setOutputMarkupId(true);
    add(membershipsContainer);

    final ModalWindow membWin = new ModalWindow("membershipWin");
    membWin.setCssClassName(ModalWindow.CSS_CLASS_GRAY);
    membWin.setCookieName("create-membership-modal");
    add(membWin);

    final ITreeProvider<DefaultMutableTreeNode> treeProvider = new TreeRoleProvider(roleTreeBuilder, true);
    final DefaultMutableTreeNodeExpansionModel treeModel = new DefaultMutableTreeNodeExpansionModel();

    tree = new DefaultNestedTree<DefaultMutableTreeNode>("treeTable", treeProvider, treeModel) {

        private static final long serialVersionUID = 7137658050662575546L;

        @Override
        protected Component newContentComponent(final String id, final IModel<DefaultMutableTreeNode> node) {
            final DefaultMutableTreeNode treeNode = node.getObject();
            final RoleTO roleTO = (RoleTO) treeNode.getUserObject();

            return new Folder<DefaultMutableTreeNode>(id, MembershipsPanel.this.tree, node) {

                private static final long serialVersionUID = 9046323319920426493L;

                @Override
                protected boolean isClickable() {
                    return true;
                }

                @Override
                protected IModel<?> newLabelModel(final IModel<DefaultMutableTreeNode> model) {
                    return new Model<String>(roleTO.getDisplayName());
                }

                @Override
                protected void onClick(final AjaxRequestTarget target) {
                    if (roleTO.getId() > 0) {
                        membWin.setPageCreator(new ModalWindow.PageCreator() {

                            private static final long serialVersionUID = 7661763358801821185L;

                            @Override
                            public Page createPage() {
                                PageReference pageRef = getPage().getPageReference();

                                for (MembershipTO membTO : membView.getList()) {
                                    if (membTO.getRoleId() == roleTO.getId()) {
                                        return new MembershipModalPage(pageRef, membWin, membTO, templateMode);
                                    }
                                }
                                MembershipTO membTO = new MembershipTO();
                                membTO.setRoleId(roleTO.getId());
                                membTO.setRoleName(roleTO.getName());

                                return new MembershipModalPage(pageRef, membWin, membTO, templateMode);
                            }
                        });
                        membWin.show(target);
                    }
                }
            };
        }
    };
    tree.add(new WindowsTheme());
    tree.setOutputMarkupId(true);

    DefaultMutableTreeNodeExpansion.get().expandAll();

    this.add(tree);

    membView = new ListView<MembershipTO>("memberships",
            new PropertyModel<List<? extends MembershipTO>>(userTO, "memberships")) {

        private static final long serialVersionUID = 9101744072914090143L;

        @Override
        protected void populateItem(final ListItem<MembershipTO> item) {
            final MembershipTO membershipTO = (MembershipTO) item.getDefaultModelObject();

            item.add(new Label("roleId", new Model<Long>(membershipTO.getRoleId())));
            item.add(new Label("roleName", new Model<String>(membershipTO.getRoleName())));

            AjaxLink editLink = new ClearIndicatingAjaxLink("editLink", pageRef) {

                private static final long serialVersionUID = -7978723352517770644L;

                @Override
                protected void onClickInternal(final AjaxRequestTarget target) {
                    membWin.setPageCreator(new ModalWindow.PageCreator() {

                        private static final long serialVersionUID = -7834632442532690940L;

                        @Override
                        public Page createPage() {
                            return new MembershipModalPage(getPage().getPageReference(), membWin, membershipTO,
                                    templateMode);

                        }
                    });
                    membWin.show(target);
                }
            };
            item.add(editLink);

            AjaxLink deleteLink = new IndicatingOnConfirmAjaxLink("deleteLink", pageRef) {

                private static final long serialVersionUID = -7978723352517770644L;

                @Override
                protected void onClickInternal(final AjaxRequestTarget target) {
                    userTO.getMemberships().remove(membershipTO);
                    ((UserModalPage) getPage()).getUserTO().getMemberships().remove(membershipTO);
                    target.add(membershipsContainer);

                    RoleTO roleTO = RoleUtils.findRole(roleTreeBuilder, membershipTO.getRoleId());
                    Set<String> resourcesToRemove = roleTO == null ? Collections.<String>emptySet()
                            : roleTO.getResources();
                    if (!resourcesToRemove.isEmpty()) {
                        Set<String> resourcesAssignedViaMembership = new HashSet<String>();
                        for (MembershipTO membTO : userTO.getMemberships()) {
                            roleTO = RoleUtils.findRole(roleTreeBuilder, membTO.getRoleId());
                            if (roleTO != null) {
                                resourcesAssignedViaMembership.addAll(roleTO.getResources());
                            }
                        }
                        resourcesToRemove.removeAll(resourcesAssignedViaMembership);
                        resourcesToRemove.removeAll(userTO.getResources());
                    }

                    StatusUtils.update(userTO, statusPanel, target, Collections.<String>emptySet(),
                            resourcesToRemove);
                }
            };
            item.add(deleteLink);
        }
    };

    membershipsContainer.add(membView);

    setWindowClosedCallback(membWin, membershipsContainer);
}

From source file:org.apache.syncope.console.pages.ResultStatusModalPage.java

License:Apache License

private ResultStatusModalPage(final Builder builder) {
    super();/*from w  ww  . j  a  v a2  s .  co m*/
    this.subject = builder.subject;
    statusUtils = new StatusUtils(this.userRestClient);
    if (builder.mode == null) {
        this.mode = UserModalPage.Mode.ADMIN;
    } else {
        this.mode = builder.mode;
    }

    final BaseModalPage page = this;

    final WebMarkupContainer container = new WebMarkupContainer("container");
    container.setOutputMarkupId(true);
    add(container);

    final Fragment fragment = new Fragment("resultFrag",
            mode == UserModalPage.Mode.SELF ? "userSelfResultFrag" : "propagationResultFrag", this);
    fragment.setOutputMarkupId(true);
    container.add(fragment);

    if (mode == UserModalPage.Mode.ADMIN) {
        // add Syncope propagation status
        PropagationStatus syncope = new PropagationStatus();
        syncope.setResource("Syncope");
        syncope.setStatus(PropagationTaskExecStatus.SUCCESS);

        List<PropagationStatus> propagations = new ArrayList<PropagationStatus>();
        propagations.add(syncope);
        propagations.addAll(subject.getPropagationStatusTOs());

        fragment.add(new Label("info",
                ((subject instanceof UserTO) && ((UserTO) subject).getUsername() != null)
                        ? ((UserTO) subject).getUsername()
                        : ((subject instanceof RoleTO) && ((RoleTO) subject).getName() != null)
                                ? ((RoleTO) subject).getName()
                                : String.valueOf(subject.getId())));

        final ListView<PropagationStatus> propRes = new ListView<PropagationStatus>("resources", propagations) {

            private static final long serialVersionUID = -1020475259727720708L;

            @Override
            protected void populateItem(final ListItem<PropagationStatus> item) {
                final PropagationStatus propTO = (PropagationStatus) item.getDefaultModelObject();

                final ListView attributes = getConnObjectView(propTO);

                final Fragment attrhead;
                if (attributes.getModelObject() == null || attributes.getModelObject().isEmpty()) {
                    attrhead = new Fragment("attrhead", "emptyAttrHeadFrag", page);
                } else {
                    attrhead = new Fragment("attrhead", "attrHeadFrag", page);
                }

                item.add(attrhead);
                item.add(attributes);

                attrhead.add(new Label("resource", propTO.getResource()));

                attrhead.add(new Label("propagation",
                        propTO.getStatus() == null ? "UNDEFINED" : propTO.getStatus().toString()));

                final Image image;
                final String alt, title;
                final ModalWindow failureWindow = new ModalWindow("failureWindow");
                final AjaxLink<?> failureWindowLink = new AjaxLink<Void>("showFailureWindow") {

                    private static final long serialVersionUID = -7978723352517770644L;

                    @Override
                    public void onClick(AjaxRequestTarget target) {
                        failureWindow.show(target);
                    }
                };

                switch (propTO.getStatus()) {

                case SUCCESS:
                case SUBMITTED:
                case CREATED:
                    image = new Image("icon", IMG_STATUSES + Status.ACTIVE.toString() + Constants.PNG_EXT);
                    alt = "success icon";
                    title = "success";
                    failureWindow.setVisible(false);
                    failureWindowLink.setEnabled(false);
                    break;

                default:
                    image = new Image("icon", IMG_STATUSES + Status.SUSPENDED.toString() + Constants.PNG_EXT);
                    alt = "failure icon";
                    title = "failure";
                }

                image.add(new Behavior() {

                    private static final long serialVersionUID = 1469628524240283489L;

                    @Override
                    public void onComponentTag(final Component component, final ComponentTag tag) {
                        tag.put("alt", alt);
                        tag.put("title", title);
                    }
                });
                final FailureMessageModalPage executionFailureMessagePage;
                if (propTO.getFailureReason() == null) {
                    executionFailureMessagePage = new FailureMessageModalPage(failureWindow.getContentId(),
                            StringUtils.EMPTY);
                } else {
                    executionFailureMessagePage = new FailureMessageModalPage(failureWindow.getContentId(),
                            propTO.getFailureReason());
                }

                failureWindow.setPageCreator(new ModalWindow.PageCreator() {

                    private static final long serialVersionUID = -7834632442532690940L;

                    @Override
                    public Page createPage() {
                        return executionFailureMessagePage;
                    }
                });
                failureWindow.setCookieName("failureWindow");
                failureWindow.setCssClassName(ModalWindow.CSS_CLASS_GRAY);
                failureWindowLink.add(image);
                attrhead.add(failureWindowLink);
                attrhead.add(failureWindow);
            }
        };
        fragment.add(propRes);
    }

    final AjaxLink<Void> close = new IndicatingAjaxLink<Void>("close") {

        private static final long serialVersionUID = -7978723352517770644L;

        @Override
        public void onClick(final AjaxRequestTarget target) {
            if (mode == UserModalPage.Mode.SELF && anonymousUser.equals(SyncopeSession.get().getUsername())) {
                SyncopeSession.get().invalidate();
            }
            builder.window.close(target);
        }
    };
    container.add(close);

    setOutputMarkupId(true);
}

From source file:org.artifactory.common.wicket.component.dnd.select.DragDropSelection.java

License:Open Source License

@SuppressWarnings({ "unchecked" })
protected void populateItem(ListItem item) {
    T itemObject = (T) item.getDefaultModelObject();
    List<T> choices = (List<T>) choicesModel.getObject();
    int index = choices.indexOf(itemObject);
    item.add(new AttributeModifier("idx", index));
}

From source file:org.artifactory.webapp.wicket.actionable.tree.menu.ActionsMenuPanel.java

License:Open Source License

public ActionsMenuPanel(String id, final ActionableItemTreeNode node) {
    super(id, Model.of(node));
    setOutputMarkupId(true);// w w w. j  ava2 s.c  om

    add(ResourcePackage.forJavaScript(ActionsMenuPanel.class));

    //Render the enabled actions for each node
    final ActionableItem actionableItem = node.getUserObject();
    Set<ItemAction> actions = actionableItem.getContextMenuActions();
    List<ItemAction> menuActions = new ArrayList<>(actions.size());
    //Filter non-menu actions
    for (ItemAction action : actions) {
        if (action.isEnabled()) {
            menuActions.add(action);
        }
    }
    ListView<ItemAction> menuItems = new ListView<ItemAction>("menuItem", menuActions) {
        @Override
        protected void populateItem(ListItem item) {
            final ItemAction action = (ItemAction) item.getDefaultModelObject();
            item.add(new ActionLink("link", action, actionableItem));
        }
    };
    WebMarkupContainer menu = new WebMarkupContainer("menu");
    menu.setMarkupId("contextMenu");
    menu.setOutputMarkupId(true);
    menu.add(menuItems);
    add(menu);
}