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.page.admin.configuration.PageEvaluateMapping.java

License:Apache License

private void initLayout() {
    Form mainForm = new Form(ID_MAIN_FORM);
    add(mainForm);/*w w w.j  a  v  a 2 s.  c  o  m*/

    AceEditor editorMapping = new AceEditor(ID_EDITOR_MAPPING,
            new PropertyModel<String>(model, ExecuteMappingDto.F_MAPPING));
    editorMapping.setHeight(400);
    editorMapping.setResizeToMaxHeight(false);
    mainForm.add(editorMapping);

    AceEditor editorRequest = new AceEditor(ID_EDITOR_REQUEST,
            new PropertyModel<String>(model, ExecuteMappingDto.F_REQUEST));
    editorRequest.setHeight(430);
    editorRequest.setResizeToMaxHeight(false);
    mainForm.add(editorRequest);

    AjaxSubmitButton evaluateMapping = new AjaxSubmitButton(ID_EXECUTE,
            createStringResource("PageEvaluateMapping.button.evaluateMapping")) {
        @Override
        protected void onError(AjaxRequestTarget target, Form<?> form) {
            target.add(getFeedbackPanel());
        }

        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            executeMappingPerformed(target);
        }
    };
    mainForm.add(evaluateMapping);

    final DropDownChoice<String> sampleChoice = new DropDownChoice<>(ID_MAPPING_SAMPLE, Model.of(""),
            new AbstractReadOnlyModel<List<String>>() {
                @Override
                public List<String> getObject() {
                    return SAMPLES;
                }
            }, new StringResourceChoiceRenderer("PageEvaluateMapping.sample"));
    sampleChoice.setNullValid(true);
    sampleChoice.add(new OnChangeAjaxBehavior() {
        @Override
        protected void onUpdate(AjaxRequestTarget target) {
            String sampleName = sampleChoice.getModelObject();
            if (StringUtils.isEmpty(sampleName)) {
                return;
            }
            model.getObject().setMapping(readResource(SAMPLES_DIR + "/" + sampleName + ".map.xml.data"));
            model.getObject().setRequest(readResource(SAMPLES_DIR + "/" + sampleName + ".req.xml.data"));
            model.getObject().setResultText("");
            target.add(PageEvaluateMapping.this);
        }

        private String readResource(String name) {
            InputStream is = PageEvaluateMapping.class.getResourceAsStream(name);
            if (is != null) {
                try {
                    return IOUtils.toString(is, "UTF-8");
                } catch (IOException e) {
                    LoggingUtils.logUnexpectedException(LOGGER, "Couldn't read sample from resource {}", e,
                            name);
                } finally {
                    IOUtils.closeQuietly(is);
                }
            } else {
                LOGGER.warn("Resource {} containing sample couldn't be found", name);
            }
            return null;
        }
    });
    mainForm.add(sampleChoice);

    AceEditor resultText = new AceEditor(ID_RESULT_TEXT,
            new PropertyModel<String>(model, ExecuteMappingDto.F_RESULT_TEXT));
    resultText.setReadonly(true);
    resultText.setHeight(300);
    resultText.setResizeToMaxHeight(false);
    resultText.setMode(null);
    mainForm.add(resultText);

}

From source file:com.evolveum.midpoint.web.page.admin.configuration.PageRepositoryQuery.java

License:Apache License

private void initLayout() {
    Form mainForm = new Form(ID_MAIN_FORM);
    add(mainForm);//from  w ww  . j a  va 2s .com

    List<QName> objectTypeList = WebComponentUtil.createObjectTypeList();
    Collections.sort(objectTypeList, new Comparator<QName>() {
        @Override
        public int compare(QName o1, QName o2) {
            return String.CASE_INSENSITIVE_ORDER.compare(o1.getLocalPart(), o2.getLocalPart());
        }
    });
    DropDownChoice<QName> objectTypeChoice = new DropDownChoice<>(ID_OBJECT_TYPE,
            new PropertyModel<QName>(model, RepoQueryDto.F_OBJECT_TYPE), new ListModel<>(objectTypeList),
            new QNameChoiceRenderer());
    objectTypeChoice.setOutputMarkupId(true);
    objectTypeChoice.setNullValid(true);
    objectTypeChoice.add(new OnChangeAjaxBehavior() {
        @Override
        protected void onUpdate(AjaxRequestTarget target) {
            target.add(get(ID_MAIN_FORM).get(ID_MIDPOINT_QUERY_BUTTON_BAR));
        }
    });
    mainForm.add(objectTypeChoice);

    AceEditor editorMidPoint = new AceEditor(ID_EDITOR_MIDPOINT,
            new PropertyModel<String>(model, RepoQueryDto.F_MIDPOINT_QUERY));
    editorMidPoint.setHeight(400);
    editorMidPoint.setResizeToMaxHeight(false);
    mainForm.add(editorMidPoint);

    AceEditor editorHibernate = new AceEditor(ID_EDITOR_HIBERNATE,
            new PropertyModel<String>(model, RepoQueryDto.F_HIBERNATE_QUERY));
    editorHibernate.setHeight(300);
    editorHibernate.setResizeToMaxHeight(false);
    editorHibernate.setReadonly(!isAdmin);
    editorHibernate.setMode(null);
    mainForm.add(editorHibernate);

    AceEditor hibernateParameters = new AceEditor(ID_HIBERNATE_PARAMETERS,
            new PropertyModel<String>(model, RepoQueryDto.F_HIBERNATE_PARAMETERS));
    hibernateParameters.setReadonly(true);
    hibernateParameters.setHeight(100);
    hibernateParameters.setResizeToMaxHeight(false);
    hibernateParameters.setMode(null);
    mainForm.add(hibernateParameters);

    WebMarkupContainer hibernateParametersNote = new WebMarkupContainer(ID_HIBERNATE_PARAMETERS_NOTE);
    hibernateParametersNote.setVisible(isAdmin);
    mainForm.add(hibernateParametersNote);

    WebMarkupContainer midPointQueryButtonBar = new WebMarkupContainer(ID_MIDPOINT_QUERY_BUTTON_BAR);
    midPointQueryButtonBar.setOutputMarkupId(true);
    mainForm.add(midPointQueryButtonBar);

    AjaxSubmitButton executeMidPoint = new AjaxSubmitButton(ID_EXECUTE_MIDPOINT,
            createStringResource("PageRepositoryQuery.button.translateAndExecute")) {
        @Override
        protected void onError(AjaxRequestTarget target, Form<?> form) {
            target.add(getFeedbackPanel());
        }

        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            queryPerformed(Action.EXECUTE_MIDPOINT, target);
        }
    };
    midPointQueryButtonBar.add(executeMidPoint);

    AjaxSubmitButton compileMidPoint = new AjaxSubmitButton(ID_COMPILE_MIDPOINT,
            createStringResource("PageRepositoryQuery.button.translate")) {
        @Override
        protected void onError(AjaxRequestTarget target, Form<?> form) {
            target.add(getFeedbackPanel());
        }

        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            queryPerformed(Action.TRANSLATE_ONLY, target);
        }
    };
    midPointQueryButtonBar.add(compileMidPoint);

    AjaxSubmitButton useInObjectList = new AjaxSubmitButton(ID_USE_IN_OBJECT_LIST,
            createStringResource("PageRepositoryQuery.button.useInObjectList")) {
        @Override
        protected void onError(AjaxRequestTarget target, Form<?> form) {
            target.add(getFeedbackPanel());
        }

        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            useInObjectListPerformed(target);
        }
    };
    useInObjectList.add(new VisibleEnableBehaviour() {
        @Override
        public boolean isVisible() {
            return USE_IN_OBJECT_LIST_AVAILABLE_FOR.contains(model.getObject().getObjectType());
        }
    });
    midPointQueryButtonBar.add(useInObjectList);

    final DropDownChoice<String> sampleChoice = new DropDownChoice<>(ID_QUERY_SAMPLE, Model.of(""),
            new AbstractReadOnlyModel<List<String>>() {
                @Override
                public List<String> getObject() {
                    return SAMPLES;
                }
            }, new StringResourceChoiceRenderer("PageRepositoryQuery.sample"));
    sampleChoice.setNullValid(true);
    sampleChoice.add(new OnChangeAjaxBehavior() {
        @Override
        protected void onUpdate(AjaxRequestTarget target) {
            String sampleName = sampleChoice.getModelObject();
            if (StringUtils.isEmpty(sampleName)) {
                return;
            }
            String resourceName = SAMPLES_DIR + "/" + sampleName + ".xml.data";
            InputStream is = PageRepositoryQuery.class.getResourceAsStream(resourceName);
            if (is != null) {
                try {
                    String localTypeName = StringUtils.substringBefore(sampleName, "_");
                    model.getObject().setObjectType(new QName(SchemaConstants.NS_C, localTypeName));
                    model.getObject().setMidPointQuery(IOUtils.toString(is, "UTF-8"));
                    model.getObject().setHibernateQuery("");
                    model.getObject().setHibernateParameters("");
                    model.getObject().setQueryResultObject(null);
                    model.getObject().resetQueryResultText();
                    target.add(PageRepositoryQuery.this);
                } catch (IOException e) {
                    LoggingUtils.logUnexpectedException(LOGGER, "Couldn't read sample from resource {}", e,
                            resourceName);
                }
            } else {
                LOGGER.warn("Resource {} containing sample couldn't be found", resourceName);
            }
        }
    });
    mainForm.add(sampleChoice);

    AjaxSubmitButton executeHibernate = new AjaxSubmitButton(ID_EXECUTE_HIBERNATE,
            createStringResource("PageRepositoryQuery.button.execute")) {
        @Override
        protected void onError(AjaxRequestTarget target, Form<?> form) {
            target.add(getFeedbackPanel());
        }

        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            queryPerformed(Action.EXECUTE_HIBERNATE, target);
        }
    };
    executeHibernate.setVisible(isAdmin);
    mainForm.add(executeHibernate);

    Label resultLabel = new Label(ID_RESULT_LABEL, new AbstractReadOnlyModel<String>() {
        @Override
        public String getObject() {
            if (model.getObject().getQueryResultText() == null) {
                return "";
            }
            Object queryResult = model.getObject().getQueryResultObject();
            if (queryResult instanceof List) {
                return getString("PageRepositoryQuery.resultObjects", ((List) queryResult).size());
            } else if (queryResult instanceof Throwable) {
                return getString("PageRepositoryQuery.resultException", queryResult.getClass().getName());
            } else {
                // including null
                return getString("PageRepositoryQuery.result");
            }
        }
    });
    mainForm.add(resultLabel);

    WebMarkupContainer incompleteResultsNote = new WebMarkupContainer(ID_INCOMPLETE_RESULTS_NOTE);
    incompleteResultsNote.add(new VisibleEnableBehaviour() {
        @Override
        public boolean isVisible() {
            return !isAdmin && model.getObject().getQueryResultText() != null;
        }
    });
    mainForm.add(incompleteResultsNote);

    AceEditor resultText = new AceEditor(ID_RESULT_TEXT,
            new PropertyModel<String>(model, RepoQueryDto.F_QUERY_RESULT_TEXT));
    resultText.setReadonly(true);
    resultText.setHeight(300);
    resultText.setResizeToMaxHeight(false);
    resultText.setMode(null);
    resultText.add(new VisibleEnableBehaviour() {
        @Override
        public boolean isVisible() {
            return model.getObject().getQueryResultText() != null;
        }
    });
    mainForm.add(resultText);

}

From source file:com.evolveum.midpoint.web.page.admin.home.component.MyAssignmentsPanel.java

License:Apache License

@Override
protected void initLayout() {
    List<IColumn<AssignmentItemDto, String>> columns = new ArrayList<IColumn<AssignmentItemDto, String>>();
    columns.add(new IconColumn<AssignmentItemDto>(createStringResource("MyAssignmentsPanel.assignment.type")) {

        @Override/*from  w  w w  . j a v  a2 s.c o  m*/
        protected IModel<String> createIconModel(final IModel<AssignmentItemDto> rowModel) {
            return new AbstractReadOnlyModel<String>() {

                @Override
                public String getObject() {
                    AssignmentItemDto item = rowModel.getObject();
                    if (item.getType() == null) {
                        return "silk-error";
                    }

                    switch (item.getType()) {
                    case ACCOUNT_CONSTRUCTION:
                        return "silk-drive";
                    case ORG_UNIT:
                        return "silk-building";
                    case ROLE:
                        return "silk-user_suit";
                    default:
                        return "silk-error";
                    }
                }
            };
        }

        @Override
        protected IModel<String> createTitleModel(final IModel<AssignmentItemDto> rowModel) {
            return new AbstractReadOnlyModel<String>() {

                @Override
                public String getObject() {
                    AssignmentItemDto item = rowModel.getObject();
                    if (item.getType() == null) {
                        return MyAssignmentsPanel.this.getString("MyAssignmentsPanel.type.error");
                    }

                    switch (item.getType()) {
                    case ACCOUNT_CONSTRUCTION:
                        return MyAssignmentsPanel.this.getString("MyAssignmentsPanel.type.accountConstruction");
                    case ORG_UNIT:
                        return MyAssignmentsPanel.this.getString("MyAssignmentsPanel.type.orgUnit");
                    case ROLE:
                        return MyAssignmentsPanel.this.getString("MyAssignmentsPanel.type.role");
                    default:
                        return MyAssignmentsPanel.this.getString("MyAssignmentsPanel.type.error");
                    }
                }
            };
        }
    });

    columns.add(new AbstractColumn<AssignmentItemDto, String>(
            createStringResource("MyAssignmentsPanel.assignment.displayName")) {

        @Override
        public void populateItem(Item<ICellPopulator<AssignmentItemDto>> cellItem, String componentId,
                final IModel<AssignmentItemDto> rowModel) {

            AssignmentHeaderPanel panel = new AssignmentHeaderPanel(componentId, rowModel);
            panel.add(new AttributeModifier("class", "dashAssignmentHeader"));
            cellItem.add(panel);
        }
    });

    ISortableDataProvider provider = new ListDataProvider(this, getModel());
    TablePanel accountsTable = new TablePanel<AssignmentItemDto>(ID_ASSIGNMETNS_TABLE, provider, columns);
    accountsTable.setShowPaging(false);

    add(accountsTable);
}

From source file:com.evolveum.midpoint.web.page.admin.home.component.PersonalInfoPanel.java

License:Apache License

@Override
protected void initLayout() {
    Label lastLoginDate = new Label(ID_LAST_LOGIN_DATE, new AbstractReadOnlyModel<String>() {

        @Override/*from w ww.  jav a 2  s . com*/
        public String getObject() {
            PersonalInfoDto dto = getModel().getObject();

            return dto.getLastLoginDate() != null ? WebMiscUtil.formatDate(dto.getLastLoginDate())
                    : PersonalInfoPanel.this.getString("PersonalInfoPanel.never");
        }
    });
    add(lastLoginDate);

    Label lastLoginFrom = new Label(ID_LAST_LOGIN_FROM, new AbstractReadOnlyModel<String>() {

        @Override
        public String getObject() {
            PersonalInfoDto dto = getModel().getObject();

            return StringUtils.isNotEmpty(dto.getLastLoginFrom()) ? dto.getLastLoginFrom()
                    : PersonalInfoPanel.this.getString("PersonalInfoPanel.undefined");
        }
    });
    add(lastLoginFrom);

    Label lastFailDate = new Label(ID_LAST_FAIL_DATE, new AbstractReadOnlyModel<String>() {

        @Override
        public String getObject() {
            PersonalInfoDto dto = getModel().getObject();

            return dto.getLastFailDate() != null ? WebMiscUtil.formatDate(dto.getLastFailDate())
                    : PersonalInfoPanel.this.getString("PersonalInfoPanel.never");
        }
    });
    add(lastFailDate);

    Label lastFailFrom = new Label(ID_LAST_FAIL_FROM, new AbstractReadOnlyModel<String>() {

        @Override
        public String getObject() {
            PersonalInfoDto dto = getModel().getObject();

            return StringUtils.isNotEmpty(dto.getLastFailFrom()) ? dto.getLastFailFrom()
                    : PersonalInfoPanel.this.getString("PersonalInfoPanel.undefined");
        }
    });
    add(lastFailFrom);

    Label passwordExp = new Label(ID_PASSWORD_EXP, new AbstractReadOnlyModel<String>() {

        @Override
        public String getObject() {
            PersonalInfoDto dto = getModel().getObject();

            return dto.getPasswordExp() != null ? WebMiscUtil.formatDate(dto.getPasswordExp())
                    : PersonalInfoPanel.this.getString("PersonalInfoPanel.undefined");
        }
    });
    add(passwordExp);
}

From source file:com.evolveum.midpoint.web.page.admin.home.component.SimplePieChart.java

License:Apache License

@Override
protected void initLayout() {
    WebMarkupContainer chart = new WebMarkupContainer(ID_CHART);
    chart.setOutputMarkupId(true);/* w w  w  .  j ava2  s.  c om*/
    chart.add(AttributeModifier.replace("data-percent", new PropertyModel(getModel(), "percent")));
    add(chart);

    Label value = new Label(ID_VALUE, new PropertyModel(getModel(), "percent"));
    chart.add(value);

    Label unit = new Label(ID_UNIT, new PropertyModel<Object>(getModel(), SimplePieChartDto.F_UNIT));
    chart.add(unit);

    Label label = new Label(ID_LABEL, new AbstractReadOnlyModel<String>() {

        @Override
        public String getObject() {
            return createStringResource(getModel().getObject().getLabel()).getString();
        }
    });
    add(label);
}

From source file:com.evolveum.midpoint.web.page.admin.orgs.OrgTreePanel.java

License:Apache License

private void initLayout() {
    WebMarkupContainer treeHeader = new WebMarkupContainer(ID_TREE_HEADER);
    treeHeader.setOutputMarkupId(true);/*from   w w  w . j  av a 2 s .  c o m*/
    add(treeHeader);

    String title = StringUtils.isEmpty(treeTitleKey) ? "TreeTablePanel.hierarchy" : treeTitleKey;
    Label treeTitle = new Label(ID_TREE_TITLE, createStringResource(title));
    treeHeader.add(treeTitle);

    InlineMenu treeMenu = new InlineMenu(ID_TREE_MENU, new Model<>((Serializable) createTreeMenuInternal()));
    treeHeader.add(treeMenu);

    ISortableTreeProvider provider = new OrgTreeProvider(this, getModel()) {
        @Override
        protected List<InlineMenuItem> createInlineMenuItems() {
            return createTreeChildrenMenu();
        }
    };
    List<IColumn<SelectableBean<OrgType>, String>> columns = new ArrayList<>();

    if (selectable) {
        columns.add(new CheckBoxHeaderColumn<SelectableBean<OrgType>>());
    }

    columns.add(
            new TreeColumn<SelectableBean<OrgType>, String>(createStringResource("TreeTablePanel.hierarchy")));
    columns.add(new InlineMenuHeaderColumn(createTreeChildrenMenu()));

    WebMarkupContainer treeContainer = new WebMarkupContainer(ID_TREE_CONTAINER) {

        @Override
        public void renderHead(IHeaderResponse response) {
            super.renderHead(response);

            // method computes height based on document.innerHeight() -
            // screen height;
            Component form = OrgTreePanel.this.getParent().get("memberPanel");
            if (form != null) {
                response.render(OnDomReadyHeaderItem
                        .forScript("updateHeight('" + getMarkupId() + "', ['#" + form.getMarkupId() + "'], ['#"
                                + OrgTreePanel.this.get(ID_TREE_HEADER).getMarkupId() + "'])"));
            }
        }
    };
    add(treeContainer);

    TableTree<SelectableBean<OrgType>, String> tree = new TableTree<SelectableBean<OrgType>, String>(ID_TREE,
            columns, provider, Integer.MAX_VALUE, new TreeStateModel(this, provider)) {

        @Override
        protected Component newContentComponent(String id, IModel<SelectableBean<OrgType>> model) {
            return new SelectableFolderContent(id, this, model, selected) {

                @Override
                protected void onClick(AjaxRequestTarget target) {
                    super.onClick(target);

                    MidPointAuthWebSession session = OrgTreePanel.this.getSession();
                    SessionStorage storage = session.getSessionStorage();
                    storage.getUsers().setSelectedItem(selected.getObject());

                    selectTreeItemPerformed(selected.getObject(), target);
                }
            };
        }

        @Override
        protected Item<SelectableBean<OrgType>> newRowItem(String id, int index,
                final IModel<SelectableBean<OrgType>> model) {
            Item<SelectableBean<OrgType>> item = super.newRowItem(id, index, model);
            item.add(AttributeModifier.append("class", new AbstractReadOnlyModel<String>() {

                @Override
                public String getObject() {
                    SelectableBean<OrgType> itemObject = model.getObject();
                    if (itemObject != null && itemObject.equals(selected.getObject())) {
                        return "success";
                    }

                    return null;
                }
            }));
            return item;
        }

        @Override
        public void collapse(SelectableBean<OrgType> collapsedItem) {
            super.collapse(collapsedItem);
            MidPointAuthWebSession session = OrgTreePanel.this.getSession();
            SessionStorage storage = session.getSessionStorage();
            Set<SelectableBean<OrgType>> items = storage.getUsers().getExpandedItems();
            if (items != null && items.contains(collapsedItem)) {
                items.remove(collapsedItem);
            }
            storage.getUsers().setExpandedItems((TreeStateSet) items);
            storage.getUsers().setCollapsedItem(collapsedItem);
        }

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

            Set<SelectableBean<OrgType>> items = getModelObject();

            MidPointAuthWebSession session = OrgTreePanel.this.getSession();
            SessionStorage storage = session.getSessionStorage();
            storage.getUsers().setExpandedItems((TreeStateSet<SelectableBean<OrgType>>) items);
        }
    };
    tree.setItemReuseStrategy(new ReuseIfModelsEqualStrategy());
    tree.getTable().add(AttributeModifier.replace("class", "table table-striped table-condensed"));
    tree.add(new WindowsTheme());
    // tree.add(AttributeModifier.replace("class", "tree-midpoint"));
    treeContainer.add(tree);
}

From source file:com.evolveum.midpoint.web.page.admin.reports.PageCreatedReports.java

License:Apache License

@Override
protected IModel<String> createPageSubTitleModel() {
    return new AbstractReadOnlyModel<String>() {

        @Override/*  w  w  w  .  java  2s .c  om*/
        public String getObject() {
            return createStringResource("page.subTitle").getString();
        }
    };
}

From source file:com.evolveum.midpoint.web.page.admin.reports.PageCreatedReports.java

License:Apache License

private void initSearchForm() {
    Form searchForm = new Form(ID_SEARCH_FORM);
    add(searchForm);//www . j  a v  a2  s  .co  m

    //TODO - commented until FileType property will be available in ReportOutputType
    /*
    DropDownChoice filetypeSelect = new DropDownChoice(ID_FILTER_FILE_TYPE,
        new PropertyModel(searchModel, ReportOutputDto.F_FILE_TYPE),
        new AbstractReadOnlyModel<List<ExportType>>() {
            
            @Override
            public List<ExportType> getObject() {
                return createFileTypeList();
            }
        },
        new EnumChoiceRenderer(PageCreatedReports.this));
    filetypeSelect.add(new OnChangeAjaxBehavior() {
            
    @Override
    protected void onUpdate(AjaxRequestTarget target) {
        fileTypeFilterPerformed(target);
    }
    });
    filetypeSelect.setOutputMarkupId(true);
            
    if(filetypeSelect.getModel().getObject() == null){
    filetypeSelect.getModel().setObject(null);
    }
    searchForm.add(filetypeSelect);
    */

    DropDownChoice reportTypeSelect = new DropDownChoice(ID_REPORT_TYPE_SELECT,
            new PropertyModel(searchModel, ReportOutputSearchDto.F_REPORT_TYPE),
            new AbstractReadOnlyModel<List<String>>() {

                @Override
                public List getObject() {
                    return createReportTypeList();
                }
            }, new ChoiceRenderer()) {

        @Override
        protected String getNullValidDisplayValue() {
            return getString("pageCreatedReports.filter.reportType");
        }

    };
    reportTypeSelect.add(new OnChangeAjaxBehavior() {

        @Override
        protected void onUpdate(AjaxRequestTarget target) {
            reportTypeFilterPerformed(target);
        }
    });
    reportTypeSelect.setOutputMarkupId(true);
    reportTypeSelect.setNullValid(true);

    if (getPageParameters().get(OnePageParameterEncoder.PARAMETER) != null) {
        createReportTypeList();

        for (String key : searchModel.getObject().getReportTypeMap().keySet()) {
            if (searchModel.getObject().getReportTypeMap().get(key)
                    .equals(getPageParameters().get(OnePageParameterEncoder.PARAMETER).toString())) {
                reportTypeSelect.getModel().setObject(key);
            }
        }
    }
    searchForm.add(reportTypeSelect);

    BasicSearchPanel<ReportOutputSearchDto> basicSearch = new BasicSearchPanel<ReportOutputSearchDto>(
            ID_BASIC_SEARCH) {

        @Override
        protected IModel<String> createSearchTextModel() {
            return new PropertyModel<>(searchModel, ReportOutputSearchDto.F_TEXT);
        }

        @Override
        protected void searchPerformed(AjaxRequestTarget target) {
            PageCreatedReports.this.searchPerformed(target);
        }

        @Override
        protected void clearSearchPerformed(AjaxRequestTarget target) {
            PageCreatedReports.this.clearSearchPerformed(target);
        }
    };
    searchForm.add(basicSearch);
}

From source file:com.evolveum.midpoint.web.page.admin.reports.PageCreatedReports.java

License:Apache License

private List<IColumn<SelectableBean<ReportOutputType>, String>> initColumns(
        final AjaxDownloadBehaviorFromStream ajaxDownloadBehavior) {
    List<IColumn<SelectableBean<ReportOutputType>, String>> columns = new ArrayList<>();

    IColumn column;/*from w ww .ja v a  2 s  . c o m*/

    column = new CheckBoxHeaderColumn();
    columns.add(column);

    column = new PropertyColumn(createStringResource("pageCreatedReports.table.name"), "name", "value.name");
    columns.add(column);

    column = new PropertyColumn(createStringResource("pageCreatedReports.table.description"),
            "value.description");
    columns.add(column);

    column = new AbstractColumn<SelectableBean<ReportOutputType>, String>(
            createStringResource("pageCreatedReports.table.time"), "createTimestamp") {

        @Override
        public void populateItem(Item<ICellPopulator<SelectableBean<ReportOutputType>>> cellItem,
                String componentId, final IModel<SelectableBean<ReportOutputType>> rowModel) {
            cellItem.add(new Label(componentId, new AbstractReadOnlyModel() {

                @Override
                public Object getObject() {
                    ReportOutputType object = rowModel.getObject().getValue();
                    MetadataType metadata = object.getMetadata();
                    if (metadata == null) {
                        return null;
                    }

                    return WebMiscUtil.formatDate(metadata.getCreateTimestamp());
                }
            }));
        }
    };
    columns.add(column);

    column = new DoubleButtonColumn<SelectableBean<ReportOutputType>>(new Model(), null) {

        @Override
        public String getFirstCap() {
            return createStringResource("pageCreatedReports.button.download").getString();
        }

        @Override
        public String getSecondCap() {
            return "";
        }

        @Override
        public String getFirstColorCssClass() {
            return BUTTON_COLOR_CLASS.PRIMARY.toString();
        }

        @Override
        public String getSecondColorCssClass() {
            return BUTTON_COLOR_CLASS.DANGER.toString() + " glyphicon glyphicon-trash";
        }

        @Override
        public void firstClicked(AjaxRequestTarget target, IModel<SelectableBean<ReportOutputType>> model) {
            currentReport = model.getObject().getValue();
            downloadPerformed(target, model.getObject().getValue(), ajaxDownloadBehavior);
        }

        @Override
        public void secondClicked(AjaxRequestTarget target, IModel<SelectableBean<ReportOutputType>> model) {
            deleteSelectedPerformed(target, ReportDeleteDialogDto.Operation.DELETE_SINGLE,
                    model.getObject().getValue());
        }

        @Override
        public String getSecondSizeCssClass() {
            return BUTTON_SIZE_CLASS.SMALL.toString();
        }
    };
    columns.add(column);

    column = new InlineMenuHeaderColumn<InlineMenuable>(initInlineMenu()) {

        @Override
        public void populateItem(Item<ICellPopulator<InlineMenuable>> cellItem, String componentId,
                IModel<InlineMenuable> rowModel) {
            cellItem.add(new Label(componentId));
        }
    };
    columns.add(column);

    return columns;
}

From source file:com.evolveum.midpoint.web.page.admin.reports.PageCreatedReports.java

License:Apache License

private IModel<String> createDeleteConfirmString() {
    return new AbstractReadOnlyModel<String>() {

        @Override/* w w  w.  j a v a  2s.  com*/
        public String getObject() {
            ReportDeleteDialogDto dto = deleteModel.getObject();

            switch (dto.getOperation()) {
            case DELETE_SINGLE:
                ReportOutputType report = dto.getObjects().get(0);
                return createStringResource("pageCreatedReports.message.deleteOutputSingle",
                        report.getName().getOrig()).getString();
            case DELETE_ALL:
                return createStringResource("pageCreatedReports.message.deleteAll").getString();
            default:
                return createStringResource("pageCreatedReports.message.deleteOutputConfirmed",
                        getSelectedData().size()).getString();
            }
        }
    };
}