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

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

Introduction

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

Prototype

@Override
public final Component get(String path) 

Source Link

Document

Get a child component by looking it up with the given path.

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();//  w  w w .  j  a  v a2  s. co  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.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.geoserver.security.web.AbstractSecurityNamedServicePanelTest.java

License:Open Source License

protected <T extends SecurityNamedServicePanelInfo> void setSecurityConfigClassName(Class<T> clazz) {
    ListView list = (ListView) tester.getLastRenderedPage().get("servicesContainer:services");
    int toClick = -1;
    for (int i = 0; i < list.getList().size(); i++) {
        if (clazz.isInstance(list.getList().get(0))) {
            toClick = i;/*from  ww w .  j  a va2  s .  c  o m*/
            break;
        }
    }
    AjaxLink link = (AjaxLink) ((MarkupContainer) list.get(toClick)).get("link");
    tester.executeAjaxEvent(link, "onclick");
    //        formTester.select("config.className", index);     
    //        tester.executeAjaxEvent(formTester.getForm().getPageRelativePath()+":config.className", "onchange");
}

From source file:org.openengsb.ui.admin.edb.EdbClientTest.java

License:Apache License

@SuppressWarnings("unchecked")
@Test/*from   w ww  .  j  a  v  a  2 s .  co  m*/
public void testEnterQuery_shouldReturnQueryResults() throws Exception {
    tester.startPage(EdbClient.class);
    FormTester formTester = tester.newFormTester("form");
    DropDownChoice<Class<? extends OpenEngSBModel>> modeldropdown = (DropDownChoice<Class<? extends OpenEngSBModel>>) tester
            .getComponentFromLastRenderedPage("form:modelSelector");
    formTester.select("modelSelector", getIndexForValue(modeldropdown, "DummyModel"));
    tester.executeAjaxEvent(modeldropdown, "onchange");
    formTester.setValue("query", "id:42");
    tester.executeAjaxEvent("form:submit", "onclick");
    ListView<? extends OpenEngSBModel> resultElement = (ListView<? extends OpenEngSBModel>) tester
            .getComponentFromLastRenderedPage("result:list");
    tester.assertFeedback("form:feedback", "Found 1 results");
    assertThat(resultElement.get("0:id").getDefaultModelObjectAsString(), is("42"));
    assertThat(resultElement.get("0:entries").getDefaultModelObjectAsString(), containsString("foo"));
}

From source file:org.openengsb.ui.admin.edb.EdbHistoryPanelTest.java

License:Apache License

@Test
public void testInitPanel_shouldShowHistory() throws Exception {
    tester.startPage(new EdbHistoryPanel("42"));
    tester.debugComponentTrees();/*from   ww  w  . ja v a 2  s  .c o m*/
    ListView<?> list = (ListView<?>) tester.getComponentFromLastRenderedPage("history");
    Component line = list.get(0);
    assertThat(line.get("time").getDefaultModelObjectAsString(), containsString("Jun 28"));
    assertThat(line.get("committer").getDefaultModelObjectAsString(), is("adams"));
}

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

License:Apache License

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

    super();/*www.j a va 2  s.  co  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);
}