Example usage for org.apache.wicket.markup.html.list ListView size

List of usage examples for org.apache.wicket.markup.html.list ListView size

Introduction

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

Prototype

public int size() 

Source Link

Document

Get the number of children in this container.

Usage

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

License:Apache License

public ApprovalModalPage(final PageReference pageRef, final ModalWindow window, final WorkflowFormTO formTO) {
    super();//w  ww.j  a  v a2  s .c  o m

    IModel<List<WorkflowFormPropertyTO>> formProps = new LoadableDetachableModel<List<WorkflowFormPropertyTO>>() {

        private static final long serialVersionUID = 3169142472626817508L;

        @Override
        protected List<WorkflowFormPropertyTO> load() {
            return formTO.getProperties();
        }
    };

    final ListView<WorkflowFormPropertyTO> propView = new AltListView<WorkflowFormPropertyTO>("propView",
            formProps) {

        private static final long serialVersionUID = 9101744072914090143L;

        @Override
        @SuppressWarnings({ "unchecked", "rawtypes" })
        protected void populateItem(final ListItem<WorkflowFormPropertyTO> item) {
            final WorkflowFormPropertyTO prop = item.getModelObject();

            Label label = new Label("key", prop.getName() == null ? prop.getId() : prop.getName());
            item.add(label);

            FieldPanel field;
            switch (prop.getType()) {
            case Boolean:
                field = new AjaxDropDownChoicePanel("value", label.getDefaultModelObjectAsString(),
                        new Model<Boolean>(Boolean.valueOf(prop.getValue())))
                                .setChoices(Arrays.asList(new String[] { "Yes", "No" }));
                break;

            case Date:
                SimpleDateFormat df = StringUtils.isNotBlank(prop.getDatePattern())
                        ? new SimpleDateFormat(prop.getDatePattern())
                        : new SimpleDateFormat();
                Date parsedDate = null;
                if (StringUtils.isNotBlank(prop.getValue())) {
                    try {
                        parsedDate = df.parse(prop.getValue());
                    } catch (ParseException e) {
                        LOG.error("Unparsable date: {}", prop.getValue(), e);
                    }
                }

                field = new DateTimeFieldPanel("value", label.getDefaultModelObjectAsString(),
                        new Model<Date>(parsedDate), df.toLocalizedPattern());
                break;

            case Enum:
                MapChoiceRenderer<String, String> enumCR = new MapChoiceRenderer<String, String>(
                        prop.getEnumValues());

                field = new AjaxDropDownChoicePanel("value", label.getDefaultModelObjectAsString(),
                        new Model(prop.getValue())).setChoiceRenderer(enumCR).setChoices(new Model() {

                            private static final long serialVersionUID = -858521070366432018L;

                            @Override
                            public Serializable getObject() {
                                return new ArrayList<String>(prop.getEnumValues().keySet());
                            }
                        });
                break;

            case Long:
                field = new SpinnerFieldPanel<Long>("value", label.getDefaultModelObjectAsString(), Long.class,
                        new Model<Long>(NumberUtils.toLong(prop.getValue())), null, null);
                break;

            case String:
            default:
                field = new AjaxTextFieldPanel("value", PARENT_PATH, new Model<String>(prop.getValue()));
                break;
            }

            field.setReadOnly(!prop.isWritable());
            if (prop.isRequired()) {
                field.addRequiredLabel();
            }

            item.add(field);
        }
    };

    final AjaxButton userDetails = new IndicatingAjaxButton("userDetails",
            new Model<String>(getString("userDetails"))) {

        private static final long serialVersionUID = -4804368561204623354L;

        @Override
        protected void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
            editUserWin.setPageCreator(new ModalWindow.PageCreator() {

                private static final long serialVersionUID = -7834632442532690940L;

                @Override
                public Page createPage() {
                    return new ViewUserModalPage(ApprovalModalPage.this.getPageReference(), editUserWin,
                            userRestClient.read(formTO.getUserKey())) {

                        private static final long serialVersionUID = -2819994749866481607L;

                        @Override
                        protected void closeAction(final AjaxRequestTarget target, final Form form) {
                            setResponsePage(ApprovalModalPage.this);
                        }
                    };
                }
            });

            editUserWin.show(target);
        }
    };
    MetaDataRoleAuthorizationStrategy.authorize(userDetails, ENABLE,
            xmlRolesReader.getEntitlement("Users", "read"));

    final AjaxButton submit = new IndicatingAjaxButton(APPLY, new Model<String>(getString(SUBMIT))) {

        private static final long serialVersionUID = -958724007591692537L;

        @Override
        protected void onSubmit(final AjaxRequestTarget target, final Form<?> form) {

            Map<String, WorkflowFormPropertyTO> props = formTO.getPropertyMap();

            for (int i = 0; i < propView.size(); i++) {
                @SuppressWarnings("unchecked")
                ListItem<WorkflowFormPropertyTO> item = (ListItem<WorkflowFormPropertyTO>) propView.get(i);
                String input = ((FieldPanel) item.get("value")).getField().getInput();

                if (!props.containsKey(item.getModelObject().getId())) {
                    props.put(item.getModelObject().getId(), new WorkflowFormPropertyTO());
                }

                if (item.getModelObject().isWritable()) {
                    switch (item.getModelObject().getType()) {
                    case Boolean:
                        props.get(item.getModelObject().getId()).setValue(String.valueOf("0".equals(input)));
                        break;

                    case Date:
                    case Enum:
                    case String:
                    case Long:
                    default:
                        props.get(item.getModelObject().getId()).setValue(input);
                        break;
                    }
                }
            }

            formTO.getProperties().clear();
            formTO.getProperties().addAll(props.values());
            try {
                restClient.submitForm(formTO);

                ((Todo) pageRef.getPage()).setModalResult(true);
                window.close(target);
            } catch (SyncopeClientException e) {
                error(getString(Constants.ERROR) + ": " + e.getMessage());
                LOG.error("While submitting form {}", formTO, e);
                feedbackPanel.refresh(target);
            }
        }

        @Override
        protected void onError(final AjaxRequestTarget target, final Form<?> form) {
            feedbackPanel.refresh(target);
        }
    };

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

        @Override
        protected void onError(final AjaxRequestTarget target, final Form form) {
            // nothing
        }
    };

    cancel.setDefaultFormProcessing(false);

    Form form = new Form(FORM);
    form.add(propView);
    form.add(userDetails);
    form.add(submit);
    form.add(cancel);

    MetaDataRoleAuthorizationStrategy.authorize(form, ENABLE,
            xmlRolesReader.getEntitlement("Approval", SUBMIT));

    editUserWin = new ModalWindow("editUserWin");
    editUserWin.setCssClassName(ModalWindow.CSS_CLASS_GRAY);
    editUserWin.setInitialHeight(USER_WIN_HEIGHT);
    editUserWin.setInitialWidth(USER_WIN_WIDTH);
    editUserWin.setCookieName("edit-user-modal");
    add(editUserWin);

    add(form);
}

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

License:Apache License

public ApprovalModalPage(final PageReference pageRef, final ModalWindow window, final WorkflowFormTO formTO) {
    super();/*from  ww  w.j  ava 2 s  .c om*/

    IModel<List<WorkflowFormPropertyTO>> formProps = new LoadableDetachableModel<List<WorkflowFormPropertyTO>>() {

        private static final long serialVersionUID = 3169142472626817508L;

        @Override
        protected List<WorkflowFormPropertyTO> load() {
            return formTO.getProperties();
        }
    };

    final ListView<WorkflowFormPropertyTO> propView = new AltListView<WorkflowFormPropertyTO>("propView",
            formProps) {

        private static final long serialVersionUID = 9101744072914090143L;

        @Override
        @SuppressWarnings({ "unchecked", "rawtypes" })
        protected void populateItem(final ListItem<WorkflowFormPropertyTO> item) {
            final WorkflowFormPropertyTO prop = item.getModelObject();

            Label label = new Label("key", prop.getName() == null ? prop.getId() : prop.getName());
            item.add(label);

            FieldPanel field;
            switch (prop.getType()) {
            case Boolean:
                field = new AjaxDropDownChoicePanel("value", label.getDefaultModelObjectAsString(),
                        new Model<Boolean>(Boolean.valueOf(prop.getValue())))
                                .setChoices(Arrays.asList(new String[] { "Yes", "No" }));
                break;

            case Date:
                SimpleDateFormat df = StringUtils.isNotBlank(prop.getDatePattern())
                        ? new SimpleDateFormat(prop.getDatePattern())
                        : new SimpleDateFormat();
                Date parsedDate = null;
                if (StringUtils.isNotBlank(prop.getValue())) {
                    try {
                        parsedDate = df.parse(prop.getValue());
                    } catch (ParseException e) {
                        LOG.error("Unparsable date: {}", prop.getValue(), e);
                    }
                }

                field = new DateTimeFieldPanel("value", label.getDefaultModelObjectAsString(),
                        new Model<Date>(parsedDate), df.toLocalizedPattern());
                break;

            case Enum:
                MapChoiceRenderer<String, String> enumCR = new MapChoiceRenderer<String, String>(
                        prop.getEnumValues());

                field = new AjaxDropDownChoicePanel("value", label.getDefaultModelObjectAsString(),
                        new Model(prop.getValue())).setChoiceRenderer(enumCR).setChoices(new Model() {

                            private static final long serialVersionUID = -858521070366432018L;

                            @Override
                            public Serializable getObject() {
                                return new ArrayList<String>(prop.getEnumValues().keySet());
                            }
                        });
                break;

            case Long:
                field = new SpinnerFieldPanel<Long>("value", label.getDefaultModelObjectAsString(), Long.class,
                        new Model<Long>(NumberUtils.toLong(prop.getValue())), null, null);
                break;

            case String:
            default:
                field = new AjaxTextFieldPanel("value", PARENT_PATH, new Model<String>(prop.getValue()));
                break;
            }

            field.setReadOnly(!prop.isWritable());
            if (prop.isRequired()) {
                field.addRequiredLabel();
            }

            item.add(field);
        }
    };

    final AjaxButton userDetails = new IndicatingAjaxButton("userDetails",
            new Model<String>(getString("userDetails"))) {

        private static final long serialVersionUID = -4804368561204623354L;

        @Override
        protected void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
            editUserWin.setPageCreator(new ModalWindow.PageCreator() {

                private static final long serialVersionUID = -7834632442532690940L;

                @Override
                public Page createPage() {
                    return new ViewUserModalPage(ApprovalModalPage.this.getPageReference(), editUserWin,
                            userRestClient.read(formTO.getUserId())) {

                        private static final long serialVersionUID = -2819994749866481607L;

                        @Override
                        protected void closeAction(final AjaxRequestTarget target, final Form form) {
                            setResponsePage(ApprovalModalPage.this);
                        }
                    };
                }
            });

            editUserWin.show(target);
        }
    };
    MetaDataRoleAuthorizationStrategy.authorize(userDetails, ENABLE,
            xmlRolesReader.getAllAllowedRoles("Users", "read"));

    final AjaxButton submit = new IndicatingAjaxButton(APPLY, new Model<String>(getString(SUBMIT))) {

        private static final long serialVersionUID = -958724007591692537L;

        @Override
        protected void onSubmit(final AjaxRequestTarget target, final Form<?> form) {

            Map<String, WorkflowFormPropertyTO> props = formTO.getPropertyMap();

            for (int i = 0; i < propView.size(); i++) {
                @SuppressWarnings("unchecked")
                ListItem<WorkflowFormPropertyTO> item = (ListItem<WorkflowFormPropertyTO>) propView.get(i);
                String input = ((FieldPanel) item.get("value")).getField().getInput();

                if (!props.containsKey(item.getModelObject().getId())) {
                    props.put(item.getModelObject().getId(), new WorkflowFormPropertyTO());
                }

                if (item.getModelObject().isWritable()) {
                    switch (item.getModelObject().getType()) {
                    case Boolean:
                        props.get(item.getModelObject().getId()).setValue(String.valueOf("0".equals(input)));
                        break;

                    case Date:
                    case Enum:
                    case String:
                    case Long:
                    default:
                        props.get(item.getModelObject().getId()).setValue(input);
                        break;
                    }
                }
            }

            formTO.setProperties(props.values());
            try {
                restClient.submitForm(formTO);

                ((Todo) pageRef.getPage()).setModalResult(true);
                window.close(target);
            } catch (SyncopeClientException e) {
                error(getString(Constants.ERROR) + ": " + e.getMessage());
                LOG.error("While submitting form {}", formTO, e);
                feedbackPanel.refresh(target);
            }
        }

        @Override
        protected void onError(final AjaxRequestTarget target, final Form<?> form) {
            feedbackPanel.refresh(target);
        }
    };

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

        @Override
        protected void onError(final AjaxRequestTarget target, final Form form) {
            // nothing
        }
    };

    cancel.setDefaultFormProcessing(false);

    Form form = new Form(FORM);
    form.add(propView);
    form.add(userDetails);
    form.add(submit);
    form.add(cancel);

    MetaDataRoleAuthorizationStrategy.authorize(form, ENABLE,
            xmlRolesReader.getAllAllowedRoles("Approval", SUBMIT));

    editUserWin = new ModalWindow("editUserWin");
    editUserWin.setCssClassName(ModalWindow.CSS_CLASS_GRAY);
    editUserWin.setInitialHeight(USER_WIN_HEIGHT);
    editUserWin.setInitialWidth(USER_WIN_WIDTH);
    editUserWin.setCookieName("edit-user-modal");
    add(editUserWin);

    add(form);
}

From source file:org.openengsb.ui.admin.testClient.TestClientTest.java

License:Apache License

@Test
public void testServiceManagerList() throws Exception {
    setupAndStartTestClientPage();//from   w  ww  .j a  v  a2  s  . c om
    tester.assertComponent("serviceManagementContainer:domains:1:services:0:create.new", Link.class);
    ListView<?> component = (ListView<?>) tester
            .getComponentFromLastRenderedPage("serviceManagementContainer:domains:0:services");
    assertThat("should only display service-factories for the current domain", component.size(), is(0));
}

From source file:org.sakaiproject.attendance.tool.pages.StudentOverview.java

License:Educational Community License

private void createStatsTableData(WebMarkupContainer t) {
    final Map<String, AttendanceGrade> gradeMap = attendanceLogic.getAttendanceGrades();

    // Add form to filter table
    final Form<?> filterForm = new Form<Void>("filter-table-form") {
        @Override/*from  w ww  . j  av  a2 s .  co m*/
        protected void onSubmit() {
            setResponsePage(new StudentOverview(groupChoice.getModelObject()));
        }
    };

    add(filterForm);

    List<String> groupIds = sakaiProxy.getAvailableGroupsForCurrentSite();
    Collections.sort(groupIds, new Comparator<String>() {
        @Override
        public int compare(String o1, String o2) {
            return sakaiProxy.getGroupTitleForCurrentSite(o1)
                    .compareTo(sakaiProxy.getGroupTitleForCurrentSite(o2));
        }
    });
    groupChoice = new DropDownChoice<String>("group-choice", new PropertyModel<String>(this, "selectedGroup"),
            groupIds, new IChoiceRenderer<String>() {
                @Override
                public Object getDisplayValue(String s) {
                    return sakaiProxy.getGroupTitleForCurrentSite(s);
                }

                @Override
                public String getIdValue(String s, int i) {
                    return s;
                }
            });
    groupChoice.setNullValid(true);

    groupChoice.add(new AjaxFormSubmitBehavior("onchange") {
        @Override
        protected void onSubmit(AjaxRequestTarget target) {
            super.onSubmit(target);
        }
    });
    filterForm.add(groupChoice);
    filterForm.add(new Label("group-choice-label", new ResourceModel("attendance.event.view.filter")));

    List<AttendanceUserStats> userStatsList = attendanceLogic.getUserStatsForCurrentSite(selectedGroup);
    final ListView<AttendanceUserStats> uListView = new ListView<AttendanceUserStats>("students",
            userStatsList) {
        @Override
        protected void populateItem(ListItem<AttendanceUserStats> item) {
            final String id = item.getModelObject().getUserID();
            Link<Void> studentLink = new Link<Void>("student-link") {
                public void onClick() {
                    setResponsePage(new StudentView(id, BasePage.STUDENT_OVERVIEW_PAGE));
                }
            };
            studentLink.add(new Label("student-name",
                    sakaiProxy.getUserSortName(id) + " (" + sakaiProxy.getUserDisplayId(id) + ")"));
            item.add(studentLink);

            DataView<AttendanceStatus> activeStatusStats = new DataView<AttendanceStatus>("active-status-stats",
                    attendanceStatusProvider) {
                @Override
                protected void populateItem(Item<AttendanceStatus> statusItem) {
                    Status itemStatus = statusItem.getModelObject().getStatus();
                    int stat = attendanceLogic.getStatsForStatus(item.getModelObject(), itemStatus);
                    statusItem.add(new Label("student-stats", stat));
                }
            };
            item.add(activeStatusStats);
            item.add(new AttendanceGradePanel("attendance-grade", gradeMap.get(id), feedbackPanel));
        }
    };

    Label noStudents = new Label("no-students", new ResourceModel("attendance.student.overview.no.students")) {
        @Override
        public boolean isVisible() {
            return uListView.size() <= 0;
        }
    };
    Label noStudents2 = new Label("no-students2",
            new ResourceModel("attendance.student.overview.no.students.2")) {
        @Override
        public boolean isVisible() {
            return uListView.size() <= 0;
        }
    };

    t.add(uListView);
    t.add(noStudents);
    t.add(noStudents2);
}

From source file:org.syncope.console.pages.ApprovalModalPage.java

License:Apache License

public ApprovalModalPage(final PageReference callerPageRef, final ModalWindow window,
        final WorkflowFormTO formTO) {

    super();//  ww w . j  a v  a2s .  c  o m

    IModel<List<WorkflowFormPropertyTO>> formProps = new LoadableDetachableModel<List<WorkflowFormPropertyTO>>() {

        private static final long serialVersionUID = 3169142472626817508L;

        @Override
        protected List<WorkflowFormPropertyTO> load() {
            return formTO.getProperties();
        }
    };

    final ListView<WorkflowFormPropertyTO> propView = new ListView<WorkflowFormPropertyTO>("propView",
            formProps) {

        private static final long serialVersionUID = 9101744072914090143L;

        @Override
        protected void populateItem(final ListItem<WorkflowFormPropertyTO> item) {

            final WorkflowFormPropertyTO prop = item.getModelObject();

            Label label = new Label("key", prop.getName() == null ? prop.getId() : prop.getName());
            item.add(label);

            FieldPanel field = null;
            switch (prop.getType()) {
            case Boolean:
                field = new AjaxDropDownChoicePanel("value", label.getDefaultModelObjectAsString(),
                        new Model(Boolean.valueOf(prop.getValue())), true)
                                .setChoices(Arrays.asList(new String[] { "Yes", "No" }));
                break;

            case Date:
                SimpleDateFormat df = StringUtils.isNotBlank(prop.getDatePattern())
                        ? new SimpleDateFormat(prop.getDatePattern())
                        : new SimpleDateFormat();
                Date parsedDate = null;
                if (StringUtils.isNotBlank(prop.getValue())) {
                    try {
                        parsedDate = df.parse(prop.getValue());
                    } catch (ParseException e) {
                        LOG.error("Unparsable date: {}", prop.getValue(), e);
                    }
                }

                field = new DateTimeFieldPanel("value", label.getDefaultModelObjectAsString(),
                        new Model(parsedDate), true, df.toLocalizedPattern());
                break;

            case Enum:
                MapChoiceRenderer<String, String> enumCR = new MapChoiceRenderer<String, String>(
                        prop.getEnumValues());

                field = new AjaxDropDownChoicePanel("value", label.getDefaultModelObjectAsString(),
                        new Model(prop.getValue()), true).setChoiceRenderer(enumCR).setChoices(new Model() {

                            private static final long serialVersionUID = -858521070366432018L;

                            @Override
                            public Serializable getObject() {
                                return new ArrayList(prop.getEnumValues().keySet());
                            }
                        });
                break;

            case Long:
                field = new AjaxNumberFieldPanel("value", label.getDefaultModelObjectAsString(),
                        new Model(Long.valueOf(prop.getValue())), Long.class, true);
                break;

            case String:
            default:
                field = new AjaxTextFieldPanel("value", PARENT_PATH, new Model(prop.getValue()), true);
                break;
            }

            field.setReadOnly(!prop.isWritable());
            if (prop.isRequired()) {
                field.addRequiredLabel();
            }

            item.add(field);
        }
    };

    final AjaxButton submit = new IndicatingAjaxButton("apply", new Model(getString("submit"))) {

        private static final long serialVersionUID = -958724007591692537L;

        @Override
        protected void onSubmit(final AjaxRequestTarget target, final Form<?> form) {

            Map<String, WorkflowFormPropertyTO> props = formTO.getPropertiesAsMap();

            for (int i = 0; i < propView.size(); i++) {
                ListItem<WorkflowFormPropertyTO> item = (ListItem<WorkflowFormPropertyTO>) propView.get(i);
                String input = ((FieldPanel) item.get("value")).getField().getInput();

                if (!props.containsKey(item.getModelObject().getId())) {
                    props.put(item.getModelObject().getId(), new WorkflowFormPropertyTO());
                }

                if (item.getModelObject().isWritable()) {
                    switch (item.getModelObject().getType()) {
                    case Boolean:
                        props.get(item.getModelObject().getId()).setValue(String.valueOf(input.equals("0")));
                        break;

                    case Date:
                    case Enum:
                    case String:
                    case Long:
                    default:
                        props.get(item.getModelObject().getId()).setValue(input);
                        break;
                    }
                }
            }

            formTO.setProperties(props.values());
            try {
                restClient.submitForm(formTO);

                ((Todo) callerPageRef.getPage()).setModalResult(true);
                window.close(target);
            } catch (SyncopeClientCompositeErrorException e) {
                error(getString("error") + ":" + e.getMessage());
                LOG.error("While submitting form {}", formTO, e);
                target.add(feedbackPanel);
            }
        }

        @Override
        protected void onError(final AjaxRequestTarget target, final Form<?> form) {

            target.add(feedbackPanel);
        }
    };

    Form form = new Form("form");
    form.add(propView);
    form.add(submit);

    MetaDataRoleAuthorizationStrategy.authorize(form, ENABLE,
            xmlRolesReader.getAllAllowedRoles("Approval", "submit"));

    add(form);
}