Search in sources :

Example 1 with SelectableBeanContainerDataProvider

use of com.evolveum.midpoint.web.component.data.SelectableBeanContainerDataProvider in project midpoint by Evolveum.

the class AuditLogViewerPanel method initLayout.

private void initLayout() {
    ContainerableListPanel<AuditEventRecordType, SelectableBean<AuditEventRecordType>> auditLogViewerTable = new ContainerableListPanel<>(ID_AUDIT_LOG_VIEWER_TABLE, AuditEventRecordType.class) {

        @Override
        protected List<IColumn<SelectableBean<AuditEventRecordType>, String>> createDefaultColumns() {
            return AuditLogViewerPanel.this.createColumns();
        }

        @Override
        protected List<InlineMenuItem> createInlineMenu() {
            return null;
        }

        @Override
        protected IColumn<SelectableBean<AuditEventRecordType>, String> createNameColumn(IModel<String> displayModel, GuiObjectColumnType customColumn, ItemPath itemPath, ExpressionType expression) {
            return AuditLogViewerPanel.this.createNameColumn();
        }

        @Override
        protected IColumn<SelectableBean<AuditEventRecordType>, String> createCheckboxColumn() {
            return null;
        }

        @Override
        protected IColumn<SelectableBean<AuditEventRecordType>, String> createIconColumn() {
            return null;
        }

        @Override
        protected Search createSearch(Class<AuditEventRecordType> type) {
            // TODO: use storage?
            AuditLogStorage storage = (AuditLogStorage) getPageStorage();
            Search search = SearchFactory.createContainerSearch(new ContainerTypeSearchItem(new SearchValue(type, "")), AuditEventRecordType.F_TIMESTAMP, getPageBase(), true);
            DateSearchItem timestampItem = (DateSearchItem) search.findPropertySearchItem(AuditEventRecordType.F_TIMESTAMP);
            if (timestampItem != null && timestampItem.getFromDate() == null && timestampItem.getToDate() == null && !isCollectionViewPanelForWidget()) {
                Date todayDate = Date.from(LocalDate.now().atStartOfDay(ZoneId.systemDefault()).toInstant());
                timestampItem.setFromDate(MiscUtil.asXMLGregorianCalendar(todayDate));
            }
            return search;
        }

        @Override
        protected UserProfileStorage.TableId getTableId() {
            return UserProfileStorage.TableId.PAGE_AUDIT_LOG_VIEWER;
        }

        @Override
        protected String getStorageKey() {
            String collectionNameValue = null;
            if (isCollectionViewPanelForCompiledView()) {
                StringValue collectionName = getCollectionNameParameterValue();
                collectionNameValue = collectionName != null ? collectionName.toString() : "";
            }
            return getAuditStorageKey(collectionNameValue);
        }

        @Override
        protected ISelectableDataProvider createProvider() {
            PageStorage pageStorage = getPageStorage();
            SelectableBeanContainerDataProvider<AuditEventRecordType> provider = new SelectableBeanContainerDataProvider<AuditEventRecordType>(AuditLogViewerPanel.this, getSearchModel(), null, false) {

                @Override
                protected PageStorage getPageStorage() {
                    return pageStorage;
                }

                @Override
                protected Integer countObjects(Class<? extends AuditEventRecordType> type, ObjectQuery query, Collection<SelectorOptions<GetOperationOptions>> currentOptions, Task task, OperationResult result) throws CommonException {
                    return getPageBase().getModelAuditService().countObjects(query, currentOptions, task, result);
                }

                @Override
                protected List<AuditEventRecordType> searchObjects(Class<? extends AuditEventRecordType> type, ObjectQuery query, Collection<SelectorOptions<GetOperationOptions>> options, Task task, OperationResult result) throws CommonException {
                    return getPageBase().getModelAuditService().searchObjects(query, options, task, result);
                }

                @NotNull
                @Override
                protected List<ObjectOrdering> createObjectOrderings(SortParam<String> sortParam) {
                    if (sortParam != null && sortParam.getProperty() != null) {
                        OrderDirection order = sortParam.isAscending() ? OrderDirection.ASCENDING : OrderDirection.DESCENDING;
                        return Collections.singletonList(getPrismContext().queryFactory().createOrdering(ItemPath.create(new QName(AuditEventRecordType.COMPLEX_TYPE.getNamespaceURI(), sortParam.getProperty())), order));
                    } else {
                        return Collections.emptyList();
                    }
                }

                @Override
                protected ObjectQuery getCustomizeContentQuery() {
                    return AuditLogViewerPanel.this.getCustomizeContentQuery();
                }
            };
            provider.setSort(AuditEventRecordType.F_TIMESTAMP.getLocalPart(), SortOrder.DESCENDING);
            return provider;
        }

        @Override
        protected AuditEventRecordType getRowRealValue(SelectableBean<AuditEventRecordType> rowModelObject) {
            if (rowModelObject == null) {
                return null;
            }
            return rowModelObject.getValue();
        }

        @Override
        protected List<Component> createToolbarButtonsList(String idButton) {
            List<Component> buttonsList = new ArrayList<>();
            CsvDownloadButtonPanel exportDataLink = new CsvDownloadButtonPanel(idButton) {

                private static final long serialVersionUID = 1L;

                @Override
                protected String getFilename() {
                    return "AuditLogViewer_" + createStringResource("MainObjectListPanel.exportFileName").getString();
                }

                @Override
                protected DataTable<?, ?> getDataTable() {
                    return getTable().getDataTable();
                }
            };
            exportDataLink.add(new VisibleEnableBehaviour() {

                private static final long serialVersionUID = 1L;

                @Override
                public boolean isVisible() {
                    return WebComponentUtil.isAuthorized(AuthorizationConstants.AUTZ_UI_ADMIN_CSV_EXPORT_ACTION_URI);
                }
            });
            buttonsList.add(exportDataLink);
            AjaxCompositedIconButton createReport = new AjaxCompositedIconButton(idButton, WebComponentUtil.createCreateReportIcon(), getPageBase().createStringResource("MainObjectListPanel.createReport")) {

                private static final long serialVersionUID = 1L;

                @Override
                public void onClick(AjaxRequestTarget target) {
                    createReportPerformed(target);
                }
            };
            createReport.add(AttributeAppender.append("class", "btn btn-default btn-sm btn-margin-right"));
            buttonsList.add(createReport);
            return buttonsList;
        }
    };
    auditLogViewerTable.setOutputMarkupId(true);
    add(auditLogViewerTable);
}
Also used : AjaxCompositedIconButton(com.evolveum.midpoint.gui.impl.component.AjaxCompositedIconButton) Task(com.evolveum.midpoint.task.api.Task) GuiObjectColumnType(com.evolveum.midpoint.xml.ns._public.common.common_3.GuiObjectColumnType) AuditLogStorage(com.evolveum.midpoint.web.session.AuditLogStorage) ContainerableListPanel(com.evolveum.midpoint.gui.impl.component.ContainerableListPanel) OperationResult(com.evolveum.midpoint.schema.result.OperationResult) SortParam(org.apache.wicket.extensions.markup.html.repeater.util.SortParam) UserProfileStorage(com.evolveum.midpoint.web.session.UserProfileStorage) GetOperationOptions(com.evolveum.midpoint.schema.GetOperationOptions) SelectableBean(com.evolveum.midpoint.web.component.util.SelectableBean) InlineMenuItem(com.evolveum.midpoint.web.component.menu.cog.InlineMenuItem) VisibleEnableBehaviour(com.evolveum.midpoint.web.component.util.VisibleEnableBehaviour) StringValue(org.apache.wicket.util.string.StringValue) Component(org.apache.wicket.Component) OrderDirection(com.evolveum.midpoint.prism.query.OrderDirection) PageStorage(com.evolveum.midpoint.web.session.PageStorage) IModel(org.apache.wicket.model.IModel) QName(javax.xml.namespace.QName) ObjectOrdering(com.evolveum.midpoint.prism.query.ObjectOrdering) ObjectQuery(com.evolveum.midpoint.prism.query.ObjectQuery) LocalDate(java.time.LocalDate) CsvDownloadButtonPanel(com.evolveum.midpoint.gui.api.component.button.CsvDownloadButtonPanel) AjaxRequestTarget(org.apache.wicket.ajax.AjaxRequestTarget) IColumn(org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn) AuditEventRecordType(com.evolveum.midpoint.xml.ns._public.common.audit_3.AuditEventRecordType) SelectableBeanContainerDataProvider(com.evolveum.midpoint.web.component.data.SelectableBeanContainerDataProvider) ExpressionType(com.evolveum.midpoint.xml.ns._public.common.common_3.ExpressionType) ItemPath(com.evolveum.midpoint.prism.path.ItemPath)

Example 2 with SelectableBeanContainerDataProvider

use of com.evolveum.midpoint.web.component.data.SelectableBeanContainerDataProvider in project midpoint by Evolveum.

the class CsvDownloadButtonPanel method initLayout.

private void initLayout() {
    CSVDataExporter csvDataExporter = new CSVDataExporter() {

        private static final long serialVersionUID = 1L;

        @Override
        public <T> void exportData(IDataProvider<T> dataProvider, List<IExportableColumn<T, ?>> columns, OutputStream outputStream) {
            if (dataProvider instanceof SelectableBeanContainerDataProvider) {
                // TODO implement more nicely
                ((SelectableBeanContainerDataProvider) dataProvider).setExport(true);
            }
            try {
                ((BaseSortableDataProvider) dataProvider).setExportSize(true);
                super.exportData(dataProvider, getExportableColumns(), outputStream);
                ((BaseSortableDataProvider) dataProvider).setExportSize(false);
            } catch (Exception ex) {
                LOGGER.error("Unable to export data,", ex);
            } finally {
                if (dataProvider instanceof SelectableBeanContainerDataProvider) {
                    ((SelectableBeanContainerDataProvider) dataProvider).setExport(false);
                }
            }
        }

        @Override
        protected <T> IModel<T> wrapModel(IModel<T> model) {
            if (model.getObject() == null) {
                return () -> (T) "";
            }
            if (model.getObject() instanceof Referencable) {
                return () -> {
                    String value = WebModelServiceUtils.resolveReferenceName((Referencable) model.getObject(), getPageBase());
                    return (T) (value == null ? "" : value);
                };
            }
            return super.wrapModel(model);
        }
    };
    IModel<String> name = Model.of("");
    final AbstractAjaxDownloadBehavior ajaxDownloadBehavior = new AbstractAjaxDownloadBehavior() {

        private static final long serialVersionUID = 1L;

        @Override
        public IResourceStream getResourceStream() {
            return new ExportToolbar.DataExportResourceStreamWriter(csvDataExporter, getDataTable());
        }

        public String getFileName() {
            if (StringUtils.isEmpty(name.getObject())) {
                return CsvDownloadButtonPanel.this.getFilename();
            }
            return name.getObject();
        }
    };
    add(ajaxDownloadBehavior);
    AjaxIconButton exportDataLink = new AjaxIconButton(ID_EXPORT_DATA, new Model<>("fa fa-download"), createStringResource("CsvDownloadButtonPanel.export")) {

        private static final long serialVersionUID = 1L;

        @Override
        public void onClick(AjaxRequestTarget target) {
            long exportSizeLimit = -1;
            try {
                CompiledGuiProfile adminGuiConfig = getPageBase().getCompiledGuiProfile();
                if (adminGuiConfig.getDefaultExportSettings() != null && adminGuiConfig.getDefaultExportSettings().getSizeLimit() != null) {
                    exportSizeLimit = adminGuiConfig.getDefaultExportSettings().getSizeLimit();
                }
            } catch (Exception ex) {
                LOGGER.error("Unable to get csv export size limit,", ex);
            }
            boolean askForSizeLimitConfirmation;
            if (exportSizeLimit < 0) {
                askForSizeLimitConfirmation = false;
            } else {
                if (canCountBeforeExporting) {
                    IDataProvider<?> dataProvider = getDataTable().getDataProvider();
                    long size = dataProvider.size();
                    askForSizeLimitConfirmation = size > exportSizeLimit;
                } else {
                    // size is unknown
                    askForSizeLimitConfirmation = true;
                }
            }
            Long useExportSizeLimit = null;
            if (askForSizeLimitConfirmation) {
                useExportSizeLimit = exportSizeLimit;
            }
            exportableColumnsIndex.clear();
            ExportingPanel exportingPanel = new ExportingPanel(getPageBase().getMainPopupBodyId(), getDataTable(), exportableColumnsIndex, useExportSizeLimit, name) {

                private static final long serialVersionUID = 1L;

                @Override
                public void exportPerformed(AjaxRequestTarget target) {
                    ajaxDownloadBehavior.initiate(target);
                }
            };
            getPageBase().showMainPopup(exportingPanel, target);
        }
    };
    add(exportDataLink);
}
Also used : Referencable(com.evolveum.midpoint.prism.Referencable) CSVDataExporter(org.apache.wicket.extensions.markup.html.repeater.data.table.export.CSVDataExporter) IModel(org.apache.wicket.model.IModel) OutputStream(java.io.OutputStream) IDataProvider(org.apache.wicket.markup.repeater.data.IDataProvider) AjaxRequestTarget(org.apache.wicket.ajax.AjaxRequestTarget) BaseSortableDataProvider(com.evolveum.midpoint.web.component.data.BaseSortableDataProvider) SelectableBeanContainerDataProvider(com.evolveum.midpoint.web.component.data.SelectableBeanContainerDataProvider) AjaxIconButton(com.evolveum.midpoint.web.component.AjaxIconButton) ArrayList(java.util.ArrayList) List(java.util.List) ExportingPanel(com.evolveum.midpoint.web.component.dialog.ExportingPanel) AbstractAjaxDownloadBehavior(com.evolveum.midpoint.web.component.AbstractAjaxDownloadBehavior) CompiledGuiProfile(com.evolveum.midpoint.model.api.authentication.CompiledGuiProfile)

Example 3 with SelectableBeanContainerDataProvider

use of com.evolveum.midpoint.web.component.data.SelectableBeanContainerDataProvider in project midpoint by Evolveum.

the class TaskErrorsPanel method initLayoutNew.

private void initLayoutNew() {
    var provider = new SelectableBeanContainerDataProvider<OperationExecutionType>(this, Model.of(), null, true) {

        @Override
        protected String getDefaultSortParam() {
            return TaskErrorSelectableBeanImpl.F_ERROR_TIMESTAMP;
        }

        @Override
        protected SortOrder getDefaultSortOrder() {
            return SortOrder.DESCENDING;
        }

        @Override
        public SelectableBean<OperationExecutionType> createDataObjectWrapper(OperationExecutionType obj) {
            return new TaskErrorSelectableBeanImpl(obj);
        }

        @Override
        public ObjectQuery getQuery() {
            return createContentQuery(getObjectWrapper().getOid(), getPageBase());
        }

        @NotNull
        @Override
        protected List<ObjectOrdering> createObjectOrderings(SortParam<String> sortParam) {
            if (sortParam != null && sortParam.getProperty() != null) {
                OrderDirection order = sortParam.isAscending() ? OrderDirection.ASCENDING : OrderDirection.DESCENDING;
                ItemPath ordering;
                if (sortParam.getProperty().equals(TaskErrorSelectableBeanImpl.F_ERROR_TIMESTAMP)) {
                    ordering = ItemPath.create(OperationExecutionType.F_TIMESTAMP);
                } else if (sortParam.getProperty().equals("name")) {
                    // TODO why is this "name" and not TaskErrorSelectableBeanImplNew.F_OBJECT_REF_NAME?
                    ordering = ItemPath.create(PrismConstants.T_PARENT, ObjectType.F_NAME);
                } else {
                    // TODO this is actually not used
                    ordering = ItemPath.create(new QName(SchemaConstantsGenerated.NS_COMMON, sortParam.getProperty()));
                }
                return Collections.singletonList(getPrismContext().queryFactory().createOrdering(ordering, order));
            } else {
                return Collections.emptyList();
            }
        }

        @Override
        public Class<OperationExecutionType> getType() {
            return OperationExecutionType.class;
        }
    };
    BoxedTablePanel<?> table = new BoxedTablePanel<>(ID_TASK_ERRORS, provider, initColumnsNew());
    table.setOutputMarkupId(true);
    add(table);
}
Also used : QName(javax.xml.namespace.QName) SelectableBeanContainerDataProvider(com.evolveum.midpoint.web.component.data.SelectableBeanContainerDataProvider) TaskErrorSelectableBeanImpl(com.evolveum.midpoint.web.page.admin.server.dto.TaskErrorSelectableBeanImpl) ObjectOrdering(com.evolveum.midpoint.prism.query.ObjectOrdering) BoxedTablePanel(com.evolveum.midpoint.web.component.data.BoxedTablePanel) OrderDirection(com.evolveum.midpoint.prism.query.OrderDirection) SortParam(org.apache.wicket.extensions.markup.html.repeater.util.SortParam) ItemPath(com.evolveum.midpoint.prism.path.ItemPath)

Example 4 with SelectableBeanContainerDataProvider

use of com.evolveum.midpoint.web.component.data.SelectableBeanContainerDataProvider in project midpoint by Evolveum.

the class TaskErrorsTabPanel method initLayoutNew.

private void initLayoutNew() {
    var provider = new SelectableBeanContainerDataProvider<OperationExecutionType>(this, Model.of(), null, true) {

        @Override
        protected String getDefaultSortParam() {
            return TaskErrorSelectableBeanImpl.F_ERROR_TIMESTAMP;
        }

        @Override
        protected SortOrder getDefaultSortOrder() {
            return SortOrder.DESCENDING;
        }

        @Override
        public SelectableBean<OperationExecutionType> createDataObjectWrapper(OperationExecutionType obj) {
            return new TaskErrorSelectableBeanImpl(obj);
        }

        @Override
        public ObjectQuery getQuery() {
            return createContentQuery(getModelObject().getOid(), getPageBase());
        }

        @NotNull
        @Override
        protected List<ObjectOrdering> createObjectOrderings(SortParam<String> sortParam) {
            if (sortParam != null && sortParam.getProperty() != null) {
                OrderDirection order = sortParam.isAscending() ? OrderDirection.ASCENDING : OrderDirection.DESCENDING;
                ItemPath ordering;
                if (sortParam.getProperty().equals(TaskErrorSelectableBeanImpl.F_ERROR_TIMESTAMP)) {
                    ordering = ItemPath.create(OperationExecutionType.F_TIMESTAMP);
                } else if (sortParam.getProperty().equals("name")) {
                    // TODO why is this "name" and not TaskErrorSelectableBeanImpl.F_OBJECT_REF_NAME?
                    ordering = ItemPath.create(PrismConstants.T_PARENT, ObjectType.F_NAME);
                } else {
                    // TODO this is actually not used
                    ordering = ItemPath.create(new QName(SchemaConstantsGenerated.NS_COMMON, sortParam.getProperty()));
                }
                return Collections.singletonList(getPrismContext().queryFactory().createOrdering(ordering, order));
            } else {
                return Collections.emptyList();
            }
        }

        @Override
        public Class<OperationExecutionType> getType() {
            return OperationExecutionType.class;
        }
    };
    BoxedTablePanel<?> table = new BoxedTablePanel<>(ID_TASK_ERRORS, provider, initColumns());
    table.setOutputMarkupId(true);
    add(table);
}
Also used : QName(javax.xml.namespace.QName) SelectableBeanContainerDataProvider(com.evolveum.midpoint.web.component.data.SelectableBeanContainerDataProvider) TaskErrorSelectableBeanImpl(com.evolveum.midpoint.web.page.admin.server.dto.TaskErrorSelectableBeanImpl) OperationExecutionType(com.evolveum.midpoint.xml.ns._public.common.common_3.OperationExecutionType) ObjectOrdering(com.evolveum.midpoint.prism.query.ObjectOrdering) BoxedTablePanel(com.evolveum.midpoint.web.component.data.BoxedTablePanel) OrderDirection(com.evolveum.midpoint.prism.query.OrderDirection) SortParam(org.apache.wicket.extensions.markup.html.repeater.util.SortParam) ItemPath(com.evolveum.midpoint.prism.path.ItemPath)

Example 5 with SelectableBeanContainerDataProvider

use of com.evolveum.midpoint.web.component.data.SelectableBeanContainerDataProvider in project midpoint by Evolveum.

the class ReportObjectsListPanel method createProvider.

@Override
protected ISelectableDataProvider<C, SelectableBean<C>> createProvider() {
    SelectableBeanContainerDataProvider<C> provider = new SelectableBeanContainerDataProvider<>(this, getSearchModel(), null, false) {

        @Override
        public List<SelectableBean<C>> createDataObjectWrappers(Class<? extends C> type, ObjectQuery query, Collection<SelectorOptions<GetOperationOptions>> options, Task task, OperationResult result) throws CommunicationException, ObjectNotFoundException, SchemaException, SecurityViolationException, ConfigurationException, ExpressionEvaluationException {
            Collection<SelectorOptions<GetOperationOptions>> defaultOptions = DefaultColumnUtils.createOption(getObjectCollectionView().getTargetClass(getPrismContext()), getSchemaService());
            QName qNameType = WebComponentUtil.containerClassToQName(getPrismContext(), type);
            VariablesMap variables = new VariablesMap();
            if (getSearchModel().getObject() != null) {
                variables.putAll(getSearchModel().getObject().getFilterVariables(getVariables(), getPageBase()));
                processReferenceVariables(variables);
            }
            List<C> list = (List<C>) getModelInteractionService().searchObjectsFromCollection(getReport().getObjectCollection().getCollection(), qNameType, defaultOptions, query.getPaging(), variables, task, result);
            if (LOGGER.isTraceEnabled()) {
                LOGGER.trace("Query {} resulted in {} objects", type.getSimpleName(), list.size());
            }
            List<SelectableBean<C>> data = new ArrayList<SelectableBean<C>>();
            for (C object : list) {
                data.add(createDataObjectWrapper(object));
            }
            return data;
        }

        @Override
        protected Integer countObjects(Class<? extends C> type, ObjectQuery query, Collection<SelectorOptions<GetOperationOptions>> currentOptions, Task task, OperationResult result) throws CommunicationException, ObjectNotFoundException, SchemaException, SecurityViolationException, ConfigurationException, ExpressionEvaluationException {
            Collection<SelectorOptions<GetOperationOptions>> defaultOptions = DefaultColumnUtils.createOption(getObjectCollectionView().getTargetClass(getPrismContext()), getSchemaService());
            QName qNameType = WebComponentUtil.containerClassToQName(getPrismContext(), type);
            VariablesMap variables = new VariablesMap();
            if (getSearchModel().getObject() != null) {
                variables.putAll(getSearchModel().getObject().getFilterVariables(getVariables(), getPageBase()));
                processReferenceVariables(variables);
            }
            return getModelInteractionService().countObjectsFromCollection(getReport().getObjectCollection().getCollection(), qNameType, defaultOptions, null, variables, task, result);
        }

        @Override
        protected boolean isUseObjectCounting() {
            return !isDisableCounting();
        }

        @Override
        public boolean isOrderingDisabled() {
            return isDisableSorting();
        }

        @Override
        public ObjectQuery getQuery() {
            // fake query because of we need paging in method createDataObjectWrappers
            return getPrismContext().queryFor(ObjectType.class).build();
        }

        @Override
        @NotNull
        protected List<ObjectOrdering> createObjectOrderings(SortParam<String> sortParam) {
            if (AuditEventRecordType.class.equals(getDefaultType()) && sortParam != null && sortParam.getProperty() != null) {
                OrderDirection order = sortParam.isAscending() ? OrderDirection.ASCENDING : OrderDirection.DESCENDING;
                return Collections.singletonList(getPrismContext().queryFactory().createOrdering(ItemPath.create(new QName(AuditEventRecordType.COMPLEX_TYPE.getNamespaceURI(), sortParam.getProperty())), order));
            }
            return super.createObjectOrderings(sortParam);
        }
    };
    if (provider.getSort() == null && hasView()) {
        if (ObjectType.class.isAssignableFrom(getDefaultType())) {
            provider.setSort("name", SortOrder.ASCENDING);
        } else if (AuditEventRecordType.class.isAssignableFrom(getDefaultType())) {
            provider.setSort("timestamp", SortOrder.ASCENDING);
        }
    }
    return provider;
}
Also used : Task(com.evolveum.midpoint.task.api.Task) QName(javax.xml.namespace.QName) OperationResult(com.evolveum.midpoint.schema.result.OperationResult) ObjectOrdering(com.evolveum.midpoint.prism.query.ObjectOrdering) ObjectQuery(com.evolveum.midpoint.prism.query.ObjectQuery) SortParam(org.apache.wicket.extensions.markup.html.repeater.util.SortParam) GetOperationOptions(com.evolveum.midpoint.schema.GetOperationOptions) SelectorOptions(com.evolveum.midpoint.schema.SelectorOptions) AuditEventRecordType(com.evolveum.midpoint.xml.ns._public.common.audit_3.AuditEventRecordType) SelectableBeanContainerDataProvider(com.evolveum.midpoint.web.component.data.SelectableBeanContainerDataProvider) SelectableBean(com.evolveum.midpoint.web.component.util.SelectableBean) VariablesMap(com.evolveum.midpoint.schema.expression.VariablesMap) OrderDirection(com.evolveum.midpoint.prism.query.OrderDirection)

Aggregations

SelectableBeanContainerDataProvider (com.evolveum.midpoint.web.component.data.SelectableBeanContainerDataProvider)5 ObjectOrdering (com.evolveum.midpoint.prism.query.ObjectOrdering)4 OrderDirection (com.evolveum.midpoint.prism.query.OrderDirection)4 QName (javax.xml.namespace.QName)4 SortParam (org.apache.wicket.extensions.markup.html.repeater.util.SortParam)4 ItemPath (com.evolveum.midpoint.prism.path.ItemPath)3 ObjectQuery (com.evolveum.midpoint.prism.query.ObjectQuery)2 GetOperationOptions (com.evolveum.midpoint.schema.GetOperationOptions)2 OperationResult (com.evolveum.midpoint.schema.result.OperationResult)2 Task (com.evolveum.midpoint.task.api.Task)2 BoxedTablePanel (com.evolveum.midpoint.web.component.data.BoxedTablePanel)2 SelectableBean (com.evolveum.midpoint.web.component.util.SelectableBean)2 TaskErrorSelectableBeanImpl (com.evolveum.midpoint.web.page.admin.server.dto.TaskErrorSelectableBeanImpl)2 AuditEventRecordType (com.evolveum.midpoint.xml.ns._public.common.audit_3.AuditEventRecordType)2 AjaxRequestTarget (org.apache.wicket.ajax.AjaxRequestTarget)2 IModel (org.apache.wicket.model.IModel)2 CsvDownloadButtonPanel (com.evolveum.midpoint.gui.api.component.button.CsvDownloadButtonPanel)1 AjaxCompositedIconButton (com.evolveum.midpoint.gui.impl.component.AjaxCompositedIconButton)1 ContainerableListPanel (com.evolveum.midpoint.gui.impl.component.ContainerableListPanel)1 CompiledGuiProfile (com.evolveum.midpoint.model.api.authentication.CompiledGuiProfile)1