List of usage examples for org.apache.wicket.model AbstractReadOnlyModel AbstractReadOnlyModel
AbstractReadOnlyModel
From source file:com.evolveum.midpoint.web.page.admin.server.TaskSummaryPanel.java
License:Apache License
@Override protected IModel<String> getTitle2Model() { return new AbstractReadOnlyModel<String>() { @Override// www . j av a 2 s .c om public String getObject() { if (parentPage.getTaskDto().isWorkflow()) { return getString("TaskSummaryPanel.requestedOn", WebComponentUtil.getLocalizedDate( parentPage.getTaskDto().getRequestedOn(), DateLabelComponent.MEDIUM_MEDIUM_STYLE)); } else { TaskType taskType = getModelObject(); if (taskType.getOperationStats() != null && taskType.getOperationStats().getIterativeTaskInformation() != null && taskType.getOperationStats().getIterativeTaskInformation() .getLastSuccessObjectName() != null) { return createStringResource("TaskSummaryPanel.lastProcessed", taskType.getOperationStats() .getIterativeTaskInformation().getLastSuccessObjectName()).getString(); } else { return ""; } } } }; }
From source file:com.evolveum.midpoint.web.page.admin.server.TaskSummaryPanel.java
License:Apache License
@Override protected IModel<String> getTitle3Model() { return new AbstractReadOnlyModel<String>() { @Override/*from w w w.j a v a 2s. c o m*/ public String getObject() { if (parentPage.getTaskDto().isWorkflow()) { return ""; } TaskType taskType = getModel().getObject(); if (taskType == null) { return null; } long started = XmlTypeConverter.toMillis(taskType.getLastRunStartTimestamp()); long finished = XmlTypeConverter.toMillis(taskType.getLastRunFinishTimestamp()); if (started == 0) { return null; } if ((TaskExecutionStatus.RUNNABLE.equals(taskType.getExecutionStatus()) && taskType.getNodeAsObserved() != null) || finished == 0 || finished < started) { PatternDateConverter pdc = new PatternDateConverter( WebComponentUtil.getLocalizedDatePattern(DateLabelComponent.SHORT_MEDIUM_STYLE), true); String date = pdc.convertToString(new Date(started), WebComponentUtil.getCurrentLocale()); return getString("TaskStatePanel.message.executionTime.notFinished", date, DurationFormatUtils.formatDurationHMS(System.currentTimeMillis() - started)); } else { PatternDateConverter pdc = new PatternDateConverter( WebComponentUtil.getLocalizedDatePattern(DateLabelComponent.SHORT_MEDIUM_STYLE), true); String startedDate = pdc.convertToString(new Date(started), WebComponentUtil.getCurrentLocale()); String finishedDate = pdc.convertToString(new Date(finished), WebComponentUtil.getCurrentLocale()); return getString("TaskStatePanel.message.executionTime.finished", startedDate, finishedDate, DurationFormatUtils.formatDurationHMS(finished - started)); } } }; }
From source file:com.evolveum.midpoint.web.page.admin.server.TaskWfParentPanel.java
License:Apache License
private void initLayout(final IModel<TaskDto> taskDtoModel) { final PropertyModel<List<ProcessInstanceDto>> requestsModel = new PropertyModel<>(taskDtoModel, TaskDto.F_WORKFLOW_REQUESTS); final ISortableDataProvider<ProcessInstanceDto, String> requestsProvider = new ListDataProvider<>(this, requestsModel);//from www . j a va 2 s. c o m processInstancesPanel = new ProcessInstancesPanel(ID_REQUESTS, requestsProvider, null, 10, ProcessInstancesPanel.View.TASKS_FOR_PROCESS, null); processInstancesPanel.setOutputMarkupId(true); add(processInstancesPanel); add(WebComponentUtil.createHelp(ID_REQUESTS_HELP)); changesContainer = new WebMarkupContainer(ID_CHANGES_CONTAINER); for (int i = 1; i <= CHANGES_NUMBER; i++) { final int index = i; final String changesId = ID_CHANGES_PREFIX + i; final String changesContentId = changesId + ID_CHANGES_CONTENT_SUFFIX; final WebMarkupContainer changes = new WebMarkupContainer(changesId); final IModel<TaskChangesDto> changesModel = new AbstractReadOnlyModel<TaskChangesDto>() { @Override public TaskChangesDto getObject() { return taskDtoModel.getObject().getChangesForIndex(index); } }; final TaskChangesPanel changesPanel = new TaskChangesPanel(changesContentId, changesModel); changes.add(changesPanel); changes.add(new VisibleEnableBehaviour() { @Override public boolean isVisible() { return changesModel.getObject() != null; } }); changesContainer.add(changes); } changesContainer.setOutputMarkupId(true); add(changesContainer); }
From source file:com.evolveum.midpoint.web.page.admin.users.component.AssignmentPreviewDialog.java
License:Apache License
private List<IColumn<AssignmentsPreviewDto, String>> initColumns() { List<IColumn<AssignmentsPreviewDto, String>> columns = new ArrayList<>(); columns.add(new LinkColumn<AssignmentsPreviewDto>( createStringResource("AssignmentPreviewDialog.column.name"), AssignmentsPreviewDto.F_TARGET_NAME) { @Override/*from w w w .j av a 2 s .c o m*/ public void onClick(AjaxRequestTarget target, IModel<AssignmentsPreviewDto> rowModel) { AssignmentsPreviewDto dto = rowModel.getObject(); chooseOperationPerformed(target, dto.getTargetOid(), dto.getTargetClass()); } }); columns.add(new IconColumn<AssignmentsPreviewDto>(createStringResource("")) { @Override protected IModel<String> createIconModel(IModel<AssignmentsPreviewDto> rowModel) { ObjectTypeGuiDescriptor guiDescriptor = ObjectTypeGuiDescriptor .getDescriptor(rowModel.getObject().getTargetClass()); String icon = guiDescriptor != null ? guiDescriptor.getIcon() : ObjectTypeGuiDescriptor.ERROR_ICON; return new Model<>(icon); } }); columns.add(new AbstractColumn<AssignmentsPreviewDto, String>(createStringResource("Type")) { @Override public void populateItem(Item<ICellPopulator<AssignmentsPreviewDto>> cellItem, String componentId, final IModel<AssignmentsPreviewDto> rowModel) { cellItem.add(new Label(componentId, new AbstractReadOnlyModel<String>() { @Override public String getObject() { return rowModel.getObject().isDirect() ? createStringResource("AssignmentPreviewDialog.type.direct").getString() : createStringResource("AssignmentPreviewDialog.type.indirect").getString(); } })); } }); columns.add(new PropertyColumn<AssignmentsPreviewDto, String>( createStringResource("AssignmentPreviewDialog.column.description"), AssignmentsPreviewDto.F_TARGET_DESCRIPTION)); columns.add(new PropertyColumn<AssignmentsPreviewDto, String>( createStringResource("AssignmentPreviewDialog.column.tenant"), AssignmentsPreviewDto.F_TENANT_NAME)); columns.add(new PropertyColumn<AssignmentsPreviewDto, String>( createStringResource("AssignmentPreviewDialog.column.orgRef"), AssignmentsPreviewDto.F_ORG_REF_NAME)); columns.add(new PropertyColumn<AssignmentsPreviewDto, String>( createStringResource("AssignmentPreviewDialog.column.kind"), AssignmentsPreviewDto.F_KIND)); columns.add(new PropertyColumn<AssignmentsPreviewDto, String>( createStringResource("AssignmentPreviewDialog.column.intent"), AssignmentsPreviewDto.F_INTENT)); return columns; }
From source file:com.evolveum.midpoint.web.page.admin.users.component.AssociationValueChoicePanel.java
License:Apache License
protected IModel<String> createTextModel(final IModel<PrismContainerValue<ShadowAssociationType>> model) { return new AbstractReadOnlyModel<String>() { private static final long serialVersionUID = 1L; @Override//w w w . j a v a 2 s . c om public String getObject() { PrismContainerValue<ShadowAssociationType> cval = model.getObject(); if (cval == null || cval.isEmpty()) { return ""; } PrismReferenceValue shadowRef = cval.findReference(ShadowAssociationType.F_SHADOW_REF).getValue(); if (shadowRef.getObject() == null) { PrismContainer<Containerable> identifiersContainer = cval .findContainer(ShadowAssociationType.F_IDENTIFIERS); List<PrismProperty<String>> identifiers = (List) identifiersContainer.getValue().getItems(); Collection<? extends RefinedAttributeDefinition<?>> secondaryIdentifierDefs = assocTargetDef .getSecondaryIdentifiers(); for (RefinedAttributeDefinition<?> secondaryIdentifierDef : secondaryIdentifierDefs) { for (PrismProperty<String> identifier : identifiers) { if (identifier.getElementName().equals(secondaryIdentifierDef.getName())) { return identifier.getRealValue(); } } } // fallback PrismProperty<String> identifierProp = identifiers.get(0); return identifierProp.getRealValue(); } else { return shadowRef.getObject().getName().toString(); } } }; }
From source file:com.evolveum.midpoint.web.page.admin.users.component.AssociationValueChoosePanel.java
License:Apache License
protected IModel<String> createTextModel(final IModel<PrismContainerValue<ShadowAssociationType>> model) { return new AbstractReadOnlyModel<String>() { @Override//from ww w .ja v a 2 s. c om public String getObject() { PrismContainerValue<ShadowAssociationType> cval = model.getObject(); if (cval == null || cval.isEmpty()) { return ""; } PrismReferenceValue shadowRef = cval.findReference(ShadowAssociationType.F_SHADOW_REF).getValue(); if (shadowRef.getObject() == null) { ShadowIdentifiersType identifiers = cval.asContainerable().getIdentifiers(); Element e = (Element) identifiers.getAny().get(0); return e.getTextContent(); } else { return shadowRef.getObject().getName().toString(); } } }; }
From source file:com.evolveum.midpoint.web.page.admin.users.component.SelectableFolderContent.java
License:Apache License
@Override protected IModel<?> newLabelModel(final IModel<OrgTreeDto> model) { return new AbstractReadOnlyModel<String>() { @Override/*w ww. j a v a 2 s . com*/ public String getObject() { OrgTreeDto dto = model.getObject(); if (StringUtils.isNotEmpty(dto.getDisplayName())) { return dto.getDisplayName(); } return dto.getName(); } }; }
From source file:com.evolveum.midpoint.web.page.admin.users.component.TreeTablePanel.java
License:Apache License
@Override protected void initLayout() { add(new ConfirmationDialog(ID_CONFIRM_DELETE_POPUP, createStringResource("TreeTablePanel.dialog.title.confirmDelete"), createDeleteConfirmString()) { @Override/*from w w w . j av a 2 s. co m*/ public void yesPerformed(AjaxRequestTarget target) { close(target); switch (getConfirmType()) { case CONFIRM_DELETE: deleteConfirmedPerformed(target); break; case CONFIRM_DELETE_ROOT: deleteRootConfirmedPerformed(target); break; } } }); add(new OrgUnitBrowser(ID_MOVE_POPUP) { @Override protected void createRootPerformed(AjaxRequestTarget target) { moveConfirmedPerformed(target, null, null, Operation.MOVE); } @Override protected void rowSelected(AjaxRequestTarget target, IModel<OrgTableDto> row, Operation operation) { moveConfirmedPerformed(target, selected.getObject(), row.getObject(), operation); } @Override public ObjectQuery createRootQuery() { ArrayList<String> oids = new ArrayList<String>(); ObjectQuery query = new ObjectQuery(); if (isMovingRoot() && getRootFromProvider() != null) { oids.add(getRootFromProvider().getOid()); } //Selection from table, but only if we are not moving root if (!isMovingRoot()) { oids.remove(getRootFromProvider().getOid()); List<OrgTableDto> objects = WebMiscUtil.getSelectedData(getTable()); if (!objects.isEmpty()) { for (OrgTableDto dto : objects) { oids.add(dto.getOid()); //TODO - uncomment this, if parentOrgOid filtering is also required (see issue MID-1780) //oids.addAll(getOrgParentOids(dto.getOid())); } } } if (oids.isEmpty()) { return null; } ObjectFilter oidFilter = InOidFilter.createInOid(oids); query.setFilter(NotFilter.createNot(oidFilter)); return query; } }); add(new OrgUnitAddDeletePopup(ID_ADD_DELETE_POPUP) { @Override public void addPerformed(AjaxRequestTarget target, OrgType selected) { addOrgUnitToUserPerformed(target, selected); } @Override public void removePerformed(AjaxRequestTarget target, OrgType selected) { removeOrgUnitToUserPerformed(target, selected); } @Override public ObjectQuery getAddProviderQuery() { return null; } @Override public ObjectQuery getRemoveProviderQuery() { return null; } }); WebMarkupContainer treeHeader = new WebMarkupContainer(ID_TREE_HEADER); treeHeader.setOutputMarkupId(true); add(treeHeader); InlineMenu treeMenu = new InlineMenu(ID_TREE_MENU, new Model((Serializable) createTreeMenu())); treeHeader.add(treeMenu); ISortableTreeProvider provider = new OrgTreeProvider(this, getModel()); List<IColumn<OrgTreeDto, String>> columns = new ArrayList<IColumn<OrgTreeDto, String>>(); columns.add(new TreeColumn<OrgTreeDto, String>(createStringResource("TreeTablePanel.hierarchy"))); 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; response.render(OnDomReadyHeaderItem.forScript( "updateHeight('" + getMarkupId() + "', ['#" + TreeTablePanel.this.get(ID_FORM).getMarkupId() + "'], ['#" + TreeTablePanel.this.get(ID_TREE_HEADER).getMarkupId() + "'])")); } }; add(treeContainer); TableTree<OrgTreeDto, String> tree = new TableTree<OrgTreeDto, String>(ID_TREE, columns, provider, Integer.MAX_VALUE, new TreeStateModel(provider)) { @Override protected Component newContentComponent(String id, IModel<OrgTreeDto> model) { return new SelectableFolderContent(id, this, model, selected) { @Override protected void onClick(AjaxRequestTarget target) { super.onClick(target); selectTreeItemPerformed(target); } }; } @Override protected Item<OrgTreeDto> newRowItem(String id, int index, final IModel<OrgTreeDto> model) { Item item = super.newRowItem(id, index, model); item.add(AttributeModifier.append("class", new AbstractReadOnlyModel<String>() { @Override public String getObject() { OrgTreeDto itemObject = model.getObject(); if (itemObject != null && itemObject.equals(selected.getObject())) { return "success"; } return null; } })); return item; } }; 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); initTable(); initSearch(); }
From source file:com.evolveum.midpoint.web.page.admin.users.component.TreeTablePanel.java
License:Apache License
private IModel<String> createDeleteConfirmString() { return new AbstractReadOnlyModel<String>() { @Override/* ww w . j a v a 2 s . com*/ public String getObject() { ConfirmationDialog dialog = (ConfirmationDialog) TreeTablePanel.this.get(ID_CONFIRM_DELETE_POPUP); switch (dialog.getConfirmType()) { case CONFIRM_DELETE: return createStringResource("TreeTablePanel.message.deleteObjectConfirm", WebMiscUtil.getSelectedData(getTable()).size()).getString(); case CONFIRM_DELETE_ROOT: OrgTreeDto dto = getRootFromProvider(); return createStringResource("TreeTablePanel.message.deleteRootConfirm", dto.getName(), dto.getDisplayName()).getString(); } return null; } }; }
From source file:com.evolveum.midpoint.web.page.admin.users.PageOrgTree.java
License:Apache License
private IModel<String> createTabTitle(final PrismObject<OrgType> org) { return new AbstractReadOnlyModel<String>() { @Override/*from w ww . j a v a 2 s . c o m*/ public String getObject() { PolyString displayName = org.getPropertyRealValue(OrgType.F_DISPLAY_NAME, PolyString.class); if (displayName != null) { return displayName.getOrig(); } return WebMiscUtil.getName(org); } }; }