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.resources.content.PageContentAccounts.java

License:Apache License

private IModel<String> createDeleteConfirmString() {
    return new AbstractReadOnlyModel<String>() {
        @Override//from  w  w w.j a va 2  s  .  c o  m
        public String getObject() {
            if (singleDelete == null) {
                return createStringResource("pageContentAccounts.message.deleteConfirmation",
                        getSelectedAccounts(null).size()).getString();
            } else {
                return createStringResource("pageContentAccounts.message.deleteConfirmationSingle",
                        singleDelete.getAccountName()).getString();
            }
        }
    };
}

From source file:com.evolveum.midpoint.web.page.admin.resources.content.PageContentAccounts.java

License:Apache License

private List<IColumn> initColumns() {
    List<IColumn> columns = new ArrayList<IColumn>();

    IColumn column = new CheckBoxColumn(new Model<String>(), AccountContentDto.F_SELECTED);
    columns.add(column);//from   w  ww.  j av a 2 s.  c  o m

    column = new LinkColumn<AccountContentDto>(createStringResource("pageContentAccounts.name"),
            "accountName") {

        @Override
        public void onClick(AjaxRequestTarget target, IModel<AccountContentDto> rowModel) {
            AccountContentDto dto = rowModel.getObject();
            accountDetailsPerformed(target, dto.getAccountName(), dto.getAccountOid());
        }
    };
    columns.add(column);

    column = new AbstractColumn<AccountContentDto, String>(
            createStringResource("pageContentAccounts.identifiers")) {

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

            AccountContentDto dto = rowModel.getObject();
            List values = new ArrayList();
            for (ResourceAttribute<?> attr : dto.getIdentifiers()) {
                values.add(attr.getElementName().getLocalPart() + ": " + attr.getRealValue());
            }
            cellItem.add(new Label(componentId, new Model<>(StringUtils.join(values, ", "))));
        }
    };
    columns.add(column);

    column = new EnumPropertyColumn(createStringResource("pageContentAccounts.situation"), "situation") {

        @Override
        protected String translate(Enum en) {
            return createStringResource(en).getString();
        }
    };
    columns.add(column);

    column = new LinkColumn<AccountContentDto>(createStringResource("pageContentAccounts.owner")) {

        @Override
        protected IModel<String> createLinkModel(final IModel<AccountContentDto> rowModel) {
            return new AbstractReadOnlyModel<String>() {

                @Override
                public String getObject() {
                    AccountContentDto dto = rowModel.getObject();
                    if (StringUtils.isNotBlank(dto.getOwnerName())) {
                        return dto.getOwnerName();
                    }

                    return dto.getOwnerOid();
                }
            };
        }

        @Override
        public void onClick(AjaxRequestTarget target, IModel<AccountContentDto> rowModel) {
            AccountContentDto dto = rowModel.getObject();

            ownerDetailsPerformed(target, dto.getOwnerName(), dto.getOwnerOid());
        }
    };
    columns.add(column);

    column = new InlineMenuHeaderColumn(createHeaderMenuItems());
    columns.add(column);

    return columns;
}

From source file:com.evolveum.midpoint.web.page.admin.resources.PageConnectorHosts.java

License:Apache License

/**
 * @param oneDeleteKey//from   ww  w  . j  a v  a2  s.c o  m
 *            message if deleting one item
 * @param moreDeleteKey
 *            message if deleting more items
 * @param resources
 *            if true selecting resources if false selecting from hosts
 */
private IModel<String> createDeleteConfirmString(final String oneDeleteKey, final String moreDeleteKey,
        final boolean resources) {
    return new AbstractReadOnlyModel<String>() {
        private static final long serialVersionUID = 1L;

        @Override
        public String getObject() {
            List<SelectableBean<ConnectorHostType>> selected = WebComponentUtil
                    .getSelectedData(getConnectorHostTable());

            switch (selected.size()) {
            case 1:
                Object first = selected.get(0);
                String name = WebComponentUtil.getName(((SelectableBean<ConnectorHostType>) first).getValue());
                return createStringResource(oneDeleteKey, name).getString();
            default:
                return createStringResource(moreDeleteKey, selected.size()).getString();
            }
        }
    };
}

From source file:com.evolveum.midpoint.web.page.admin.resources.PageResource.java

License:Apache License

private IModel<String> createTestConnectionStateTooltip(final String expression) {
    return new AbstractReadOnlyModel<String>() {

        @Override//  w  w  w .j a  v  a2s .  c  om
        public String getObject() {
            PropertyModel<OperationResultStatus> pModel = new PropertyModel<OperationResultStatus>(model,
                    expression);
            OperationResultStatus status = pModel.getObject();
            if (status == null) {
                return "";
            }

            return PageResource.this
                    .getString(OperationResultStatus.class.getSimpleName() + "." + status.name());
        }
    };
}

From source file:com.evolveum.midpoint.web.page.admin.resources.PageResource.java

License:Apache License

private void initConnectorDetails(Form mainForm) {
    WebMarkupContainer container = new WebMarkupContainer("connectors");
    container.setOutputMarkupId(true);//w ww .ja  v a 2s  .  c o m
    mainForm.add(container);

    container.add(createImageLabel("overallStatus", createTestConnectionStateTooltip("state.overall"),
            new AbstractReadOnlyModel<String>() {

                @Override
                public String getObject() {
                    return OperationResultStatusIcon
                            .parseOperationalResultStatus(model.getObject().getState().getOverall()).getIcon();
                }
            }));
    container.add(createImageLabel("confValidation", createTestConnectionStateTooltip("state.confValidation"),
            new AbstractReadOnlyModel<String>() {

                @Override
                public String getObject() {
                    return OperationResultStatusIcon
                            .parseOperationalResultStatus(model.getObject().getState().getConfValidation())
                            .getIcon();
                }
            }));
    container.add(createImageLabel("conInitialization",
            createTestConnectionStateTooltip("state.conInitialization"), new AbstractReadOnlyModel<String>() {

                @Override
                public String getObject() {
                    return OperationResultStatusIcon
                            .parseOperationalResultStatus(model.getObject().getState().getConInitialization())
                            .getIcon();
                }
            }));
    container.add(createImageLabel("conConnection", createTestConnectionStateTooltip("state.conConnection"),
            new AbstractReadOnlyModel<String>() {

                @Override
                public String getObject() {
                    return OperationResultStatusIcon
                            .parseOperationalResultStatus(model.getObject().getState().getConConnection())
                            .getIcon();
                }
            }));

    container.add(createImageLabel("conSchema", createTestConnectionStateTooltip("state.conSchema"),
            new AbstractReadOnlyModel<String>() {

                @Override
                public String getObject() {
                    return OperationResultStatusIcon
                            .parseOperationalResultStatus(model.getObject().getState().getConSchema())
                            .getIcon();
                }
            }));
}

From source file:com.evolveum.midpoint.web.page.admin.resources.PageResources.java

License:Apache License

private List<IColumn<ResourceDto, String>> initResourceColumns() {
    List<IColumn<ResourceDto, String>> columns = new ArrayList<IColumn<ResourceDto, String>>();

    IColumn column = new CheckBoxHeaderColumn<ResourceDto>();
    columns.add(column);/*w  w  w  .  j av  a 2  s . c  om*/

    column = new LinkColumn<ResourceDto>(createStringResource("pageResources.name"), "name", "name") {

        @Override
        public void onClick(AjaxRequestTarget target, IModel<ResourceDto> rowModel) {
            ResourceDto resource = rowModel.getObject();
            resourceDetailsPerformed(target, resource.getOid());
        }
    };
    columns.add(column);

    columns.add(new PropertyColumn(createStringResource("pageResources.bundle"), "bundle"));
    columns.add(new PropertyColumn(createStringResource("pageResources.version"), "version"));

    column = new LinkIconColumn<ResourceDto>(createStringResource("pageResources.status")) {

        @Override
        protected IModel<String> createIconModel(final IModel<ResourceDto> rowModel) {
            return new AbstractReadOnlyModel<String>() {

                @Override
                public String getObject() {
                    ResourceDto dto = rowModel.getObject();
                    ResourceController.updateLastAvailabilityState(dto.getState(),
                            dto.getLastAvailabilityStatus());
                    ResourceState state = dto.getState();
                    return OperationResultStatusIcon.parseOperationalResultStatus(state.getLastAvailability())
                            .getIcon();
                }
            };
        }

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

                @Override
                public String getObject() {
                    ResourceState state = rowModel.getObject().getState();
                    return PageResources.this.getString(OperationResultStatus.class.getSimpleName() + "."
                            + state.getLastAvailability().name());
                }
            };
        }

        @Override
        protected void onClickPerformed(AjaxRequestTarget target, IModel<ResourceDto> rowModel, AjaxLink link) {
            testResourcePerformed(target, rowModel);
            target.add(link);
        }
    };
    columns.add(column);

    columns.add(new AbstractColumn<ResourceDto, String>(createStringResource("pageResources.content")) {

        @Override
        public void populateItem(Item<ICellPopulator<ResourceDto>> cellItem, String componentId,
                final IModel<ResourceDto> model) {
            cellItem.add(new ContentPanel(componentId) {

                @Override
                public void accountsPerformed(AjaxRequestTarget target) {
                    ResourceDto dto = model.getObject();

                    PageParameters parameters = new PageParameters();
                    parameters.add(OnePageParameterEncoder.PARAMETER, dto.getOid());
                    setResponsePage(PageContentAccounts.class, parameters);
                }

                @Override
                public void entitlementsPerformed(AjaxRequestTarget target) {
                    ResourceDto dto = model.getObject();

                    PageParameters parameters = new PageParameters();
                    parameters.add(OnePageParameterEncoder.PARAMETER, dto.getOid());
                    setResponsePage(PageContentEntitlements.class, parameters);
                }
            });
        }
    });

    InlineMenuHeaderColumn menu = new InlineMenuHeaderColumn(initInlineMenu());
    columns.add(menu);

    return columns;
}

From source file:com.evolveum.midpoint.web.page.admin.resources.PageResources.java

License:Apache License

/**
 * @param oneDeleteKey  message if deleting one item
 * @param moreDeleteKey message if deleting more items
 * @param resources     if true selecting resources if false selecting from hosts
 *//*from  www .  j a v a  2 s .co  m*/
private IModel<String> createDeleteConfirmString(final String oneDeleteKey, final String moreDeleteKey,
        final boolean resources) {
    return new AbstractReadOnlyModel<String>() {

        @Override
        public String getObject() {
            TablePanel table = resources ? getResourceTable() : getConnectorHostTable();
            List selected = new ArrayList();

            if (singleDelete != null) {
                selected.add(singleDelete);
            } else {
                selected = WebMiscUtil.getSelectedData(table);
            }

            switch (selected.size()) {
            case 1:
                Object first = selected.get(0);
                String name = resources ? ((ResourceDto) first).getName()
                        : WebMiscUtil.getName(((SelectableBean<ConnectorHostType>) first).getValue());
                return createStringResource(oneDeleteKey, name).getString();
            default:
                return createStringResource(moreDeleteKey, selected.size()).getString();
            }
        }
    };
}

From source file:com.evolveum.midpoint.web.page.admin.resources.PageResourceVisualization.java

License:Apache License

@Override
protected IModel<String> createPageTitleModel() {
    return new AbstractReadOnlyModel<String>() {
        @Override/*  w w  w  .j a  v  a2 s  .c o  m*/
        public String getObject() {
            return getString("PageResourceVisualization.title", resourceObject.getName());
        }
    };
}

From source file:com.evolveum.midpoint.web.page.admin.resources.ResourceConnectorPanel.java

License:Apache License

private void initLayout(final IModel<PrismObject<ResourceType>> model, final PageBase parentPage) {
    setOutputMarkupId(true);// w w  w .ja v a  2 s  .  c  o m

    IModel<ConnectorOperationalStatus> statsModel = new AbstractReadOnlyModel<ConnectorOperationalStatus>() {
        private static final long serialVersionUID = 1L;

        @Override
        public ConnectorOperationalStatus getObject() {
            PrismObject<ResourceType> resource = model.getObject();
            OperationResult result = new OperationResult(OPERATION_GET_CONNECTOR_OPERATIONAL_STATUS);
            ConnectorOperationalStatus status = null;
            try {
                status = parentPage.getModelInteractionService()
                        .getConnectorOperationalStatus(resource.getOid(), result);
            } catch (SchemaException | ObjectNotFoundException | CommunicationException
                    | ConfigurationException e) {
                LOGGER.error("Error getting connector status for {}: {}", resource, e.getMessage(), e);
                parentPage.showResult(result);
            }
            return status;
        }
    };

    add(createLabel(statsModel, ID_CONNECOTR_CLASS, ConnectorOperationalStatus.F_CONNECTOR_CLASS_NAME));
    add(createLabel(statsModel, ID_POOL_CONFIG_MIN_SIZE, ConnectorOperationalStatus.F_POOL_CONFIG_MIN_SIZE));
    add(createLabel(statsModel, ID_POOL_CONFIG_MAX_SIZE, ConnectorOperationalStatus.F_POOL_CONFIG_MAX_SIZE));
    add(createLabel(statsModel, ID_POOL_CONFIG_MIN_IDLE, ConnectorOperationalStatus.F_POOL_CONFIG_MIN_IDLE));
    add(createLabel(statsModel, ID_POOL_CONFIG_MAX_IDLE, ConnectorOperationalStatus.F_POOL_CONFIG_MAX_IDLE));
    add(createLabel(statsModel, ID_POOL_CONFIG_WAIT_TIMEOUT,
            ConnectorOperationalStatus.F_POOL_CONFIG_WAIT_TIMEOUT));
    add(createLabel(statsModel, ID_POOL_CONFIG_MIN_EVICTABLE_IDLE_TIME,
            ConnectorOperationalStatus.F_POOL_CONFIG_MIN_EVICTABLE_IDLE_TIME));
    add(createLabel(statsModel, ID_POOL_STATUS_NUM_IDLE, ConnectorOperationalStatus.F_POOL_STATUS_NUM_IDLE));
    add(createLabel(statsModel, ID_POOL_STATUS_NUM_ACTIVE,
            ConnectorOperationalStatus.F_POOL_STATUS_NUM_ACTIVE));
}

From source file:com.evolveum.midpoint.web.page.admin.resources.ResourceContentPanel.java

License:Apache License

private List<IColumn<SelectableBean<ShadowType>, String>> initColumns() {

    List<ColumnTypeDto<String>> columnDefs = Arrays.asList(
            new ColumnTypeDto<String>("ShadowType.synchronizationSituation",
                    SelectableBean.F_VALUE + ".synchronizationSituation",
                    ShadowType.F_SYNCHRONIZATION_SITUATION.getLocalPart()),
            new ColumnTypeDto<String>("ShadowType.intent", SelectableBean.F_VALUE + ".intent",
                    ShadowType.F_INTENT.getLocalPart()));

    List<IColumn<SelectableBean<ShadowType>, String>> columns = new ArrayList<>();

    IColumn<SelectableBean<ShadowType>, String> identifiersColumn = new AbstractColumn<SelectableBean<ShadowType>, String>(
            createStringResource("pageContentAccounts.identifiers")) {
        private static final long serialVersionUID = 1L;

        @Override//from  w  w  w. j  ava2 s .c o  m
        public void populateItem(Item<ICellPopulator<SelectableBean<ShadowType>>> cellItem, String componentId,
                IModel<SelectableBean<ShadowType>> rowModel) {

            SelectableBean<ShadowType> dto = rowModel.getObject();
            RepeatingView repeater = new RepeatingView(componentId);

            ShadowType value = dto.getValue();
            if (value != null) {
                for (ResourceAttribute<?> attr : ShadowUtil.getAllIdentifiers(value)) {
                    repeater.add(new Label(repeater.newChildId(),
                            attr.getElementName().getLocalPart() + ": " + attr.getRealValue()));

                }
            }
            cellItem.add(repeater);

        }
    };
    columns.add(identifiersColumn);

    columns.addAll((Collection) ColumnUtils.createColumns(columnDefs));

    ObjectLinkColumn<SelectableBean<ShadowType>> ownerColumn = new ObjectLinkColumn<SelectableBean<ShadowType>>(
            createStringResource("pageContentAccounts.owner")) {
        private static final long serialVersionUID = 1L;

        @Override
        protected IModel<FocusType> createLinkModel(final IModel<SelectableBean<ShadowType>> rowModel) {

            return new AbstractReadOnlyModel<FocusType>() {
                private static final long serialVersionUID = 1L;

                @Override
                public FocusType getObject() {
                    FocusType owner = loadShadowOwner(rowModel);
                    if (owner == null) {
                        return null;
                    }
                    return owner;
                }

            };
        }

        @Override
        public void onClick(AjaxRequestTarget target, IModel<SelectableBean<ShadowType>> rowModel,
                ObjectType targetObjectType) {
            ownerDetailsPerformed(target, (FocusType) targetObjectType);
        }
    };
    columns.add(ownerColumn);

    columns.add(
            new LinkColumn<SelectableBean<ShadowType>>(createStringResource("PageAccounts.accounts.result")) {
                private static final long serialVersionUID = 1L;

                @Override
                protected IModel<String> createLinkModel(final IModel<SelectableBean<ShadowType>> rowModel) {
                    return new AbstractReadOnlyModel<String>() {
                        private static final long serialVersionUID = 1L;

                        @Override
                        public String getObject() {
                            return getResultLabel(rowModel);
                        }
                    };
                }

                @Override
                public void onClick(AjaxRequestTarget target, IModel<SelectableBean<ShadowType>> rowModel) {
                    OperationResultType resultType = getResult(rowModel);
                    OperationResult result = OperationResult.createOperationResult(resultType);

                    OperationResultPanel body = new OperationResultPanel(
                            ResourceContentPanel.this.getPageBase().getMainPopupBodyId(),
                            new Model<OpResult>(OpResult.getOpResult(pageBase, result)), getPage());
                    body.setOutputMarkupId(true);
                    ResourceContentPanel.this.getPageBase().showMainPopup(body, target);

                }
            });

    InlineMenuHeaderColumn menuColumn = new InlineMenuHeaderColumn(createHeaderMenuItems());
    columns.add(menuColumn);

    return columns;
}