List of usage examples for org.apache.wicket.model AbstractReadOnlyModel AbstractReadOnlyModel
AbstractReadOnlyModel
From source file:com.evolveum.midpoint.web.page.admin.resources.ResourceContentPanel.java
License:Apache License
private IModel<String> createDeleteConfirmString(final ShadowType selected, final String oneDeleteKey, final String moreDeleteKey) { return new AbstractReadOnlyModel<String>() { @Override/* ww w . j av a 2 s. co m*/ public String getObject() { List<ShadowType> selectedShadow = getSelectedShadowsList(selected); switch (selectedShadow.size()) { case 1: Object first = selectedShadow.get(0); String name = WebComponentUtil.getName(((ShadowType) first)); return getPageBase().createStringResource(oneDeleteKey, name).getString(); default: return getPageBase().createStringResource(moreDeleteKey, selectedShadow.size()).getString(); } } }; }
From source file:com.evolveum.midpoint.web.page.admin.resources.ResourceContentTabPanel.java
License:Apache License
private void initLayout(final IModel<PrismObject<ResourceType>> model, final PageBase parentPage) { setOutputMarkupId(true);//from w ww .j a va 2 s . c o m final Form mainForm = new Form(ID_MAIN_FORM); mainForm.setOutputMarkupId(true); mainForm.addOrReplace(initTable(model)); add(mainForm); AutoCompleteTextPanel<String> intent = new AutoCompleteTextPanel<String>(ID_INTENT, new PropertyModel<String>(resourceContentSearch, "intent"), String.class) { private static final long serialVersionUID = 1L; @Override public Iterator<String> getIterator(String input) { RefinedResourceSchema refinedSchema = null; try { refinedSchema = RefinedResourceSchema.getRefinedSchema(model.getObject(), parentPage.getPrismContext()); } catch (SchemaException e) { return new ArrayList<String>().iterator(); } return RefinedResourceSchema.getIntentsForKind(refinedSchema, getKind()).iterator(); } }; intent.getBaseFormComponent().add(new OnChangeAjaxBehavior() { private static final long serialVersionUID = 1L; @Override protected void onUpdate(AjaxRequestTarget target) { target.add(get(ID_REAL_OBJECT_CLASS)); updateResourceContentSearch(); mainForm.addOrReplace(initTable(model)); target.add(mainForm); } }); intent.setOutputMarkupId(true); intent.add(new VisibleEnableBehaviour() { private static final long serialVersionUID = 1L; @Override public boolean isVisible() { return !isUseObjectClass(); } }); add(intent); Label realObjectClassLabel = new Label(ID_REAL_OBJECT_CLASS, new AbstractReadOnlyModel<String>() { private static final long serialVersionUID = 1L; @Override public String getObject() { RefinedObjectClassDefinition ocDef; try { RefinedResourceSchema refinedSchema = RefinedResourceSchema.getRefinedSchema(model.getObject(), parentPage.getPrismContext()); if (refinedSchema == null) { return "NO SCHEMA DEFINED"; } ocDef = refinedSchema.getRefinedDefinition(getKind(), getIntent()); if (ocDef != null) { return ocDef.getObjectClassDefinition().getTypeName().getLocalPart(); } } catch (SchemaException e) { } return "NOT FOUND"; } }); realObjectClassLabel.setOutputMarkupId(true); add(realObjectClassLabel); AutoCompleteQNamePanel objectClassPanel = new AutoCompleteQNamePanel(ID_OBJECT_CLASS, new PropertyModel<QName>(resourceContentSearch, "objectClass")) { private static final long serialVersionUID = 1L; @Override public Collection<QName> loadChoices() { return createObjectClassChoices(model); } @Override protected void onChange(AjaxRequestTarget target) { LOGGER.trace("Object class panel update: {}", isUseObjectClass()); updateResourceContentSearch(); mainForm.addOrReplace(initTable(model)); target.add(mainForm); } }; objectClassPanel.add(new VisibleEnableBehaviour() { private static final long serialVersionUID = 1L; @Override public boolean isVisible() { return isUseObjectClass(); } }); add(objectClassPanel); AjaxLink<Boolean> repoSearch = new AjaxLink<Boolean>(ID_REPO_SEARCH, new PropertyModel<Boolean>(resourceContentSearch, "resourceSearch")) { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { isRepoSearch = true; getContentStorage(kind, SessionStorage.KEY_RESOURCE_PAGE_REPOSITORY_CONTENT) .setResourceSearch(Boolean.FALSE); getContentStorage(kind, SessionStorage.KEY_RESOURCE_PAGE_RESOURCE_CONTENT) .setResourceSearch(Boolean.FALSE); resourceContentSearch.getObject().setResourceSearch(Boolean.FALSE); updateResourceContentSearch(); mainForm.addOrReplace(initRepoContent(model)); target.add(getParent().addOrReplace(mainForm)); target.add(this); target.add(getParent().get(ID_RESOURCE_SEARCH) .add(AttributeModifier.replace("class", "btn btn-sm btn-default"))); } @Override protected void onBeforeRender() { super.onBeforeRender(); if (!getModelObject().booleanValue()) add(AttributeModifier.replace("class", "btn btn-sm btn-default active")); } }; add(repoSearch); AjaxLink<Boolean> resourceSearch = new AjaxLink<Boolean>(ID_RESOURCE_SEARCH, new PropertyModel<Boolean>(resourceContentSearch, "resourceSearch")) { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { isRepoSearch = false; getContentStorage(kind, SessionStorage.KEY_RESOURCE_PAGE_REPOSITORY_CONTENT) .setResourceSearch(Boolean.TRUE); getContentStorage(kind, SessionStorage.KEY_RESOURCE_PAGE_RESOURCE_CONTENT) .setResourceSearch(Boolean.TRUE); updateResourceContentSearch(); resourceContentSearch.getObject().setResourceSearch(Boolean.TRUE); mainForm.addOrReplace(initResourceContent(model)); target.add(getParent().addOrReplace(mainForm)); target.add(this.add(AttributeModifier.append("class", " active"))); target.add(getParent().get(ID_REPO_SEARCH) .add(AttributeModifier.replace("class", "btn btn-sm btn-default"))); } @Override protected void onBeforeRender() { super.onBeforeRender(); getModelObject().booleanValue(); if (getModelObject().booleanValue()) add(AttributeModifier.replace("class", "btn btn-sm btn-default active")); } }; add(resourceSearch); }
From source file:com.evolveum.midpoint.web.page.admin.roles.PageRoles.java
License:Apache License
private IModel<String> createDeleteConfirmString() { return new AbstractReadOnlyModel<String>() { @Override/*from w w w . java 2 s.c o m*/ public String getObject() { return createStringResource("pageRoles.message.deleteRoleConfirm", getSelectedRoles().size()) .getString(); } }; }
From source file:com.evolveum.midpoint.web.page.admin.roles.RoleMemberPanel.java
License:Apache License
private <V> DropDownChoice<V> createDropDown(String id, IModel<V> defaultModel, final List<V> values, IChoiceRenderer<V> renderer) { DropDownChoice<V> listSelect = new DropDownChoice<V>(id, defaultModel, new AbstractReadOnlyModel<List<V>>() { private static final long serialVersionUID = 1L; @Override// ww w . ja va 2 s . c om public List<V> getObject() { return values; } }, renderer); listSelect.add(new OnChangeAjaxBehavior() { private static final long serialVersionUID = 1L; @Override protected void onUpdate(AjaxRequestTarget target) { refreshTable(target); } }); return listSelect; }
From source file:com.evolveum.midpoint.web.page.admin.server.currentState.ActionsExecutedInformationPanel.java
License:Apache License
protected void initLayout() { WebMarkupContainer tableLinesContainer = new WebMarkupContainer(ID_OBJECTS_TABLE_LINES_CONTAINER); ListView tableLines = new ListView<ActionsExecutedObjectsTableLineDto>(ID_OBJECTS_TABLE_LINES, new AbstractReadOnlyModel<List<ActionsExecutedObjectsTableLineDto>>() { @Override// w w w. ja v a 2 s .c o m public List<ActionsExecutedObjectsTableLineDto> getObject() { final ActionsExecutedInformationDto modelObject = getModelObject(); if (modelObject == null) { return new ArrayList<>(); } if (showResultingActionsOnly) { return modelObject.getUniqueObjectsTableLines(); } else { return modelObject.getObjectsTableLines(); } } }) { protected void populateItem(final ListItem<ActionsExecutedObjectsTableLineDto> item) { item.add(new Label(ID_OBJECT_TYPE, new AbstractReadOnlyModel<String>() { @Override public String getObject() { String key = item.getModelObject().getObjectTypeLocalizationKey(); if (key != null) { return createStringResource(key).getString(); } else { return item.getModelObject().getObjectType().getLocalPart(); } } })); item.add(new Label(ID_OPERATION, new AbstractReadOnlyModel<String>() { @Override public String getObject() { return createStringResource(item.getModelObject().getOperation()).getString(); } })); item.add(new Label(ID_CHANNEL, new AbstractReadOnlyModel<String>() { @Override public String getObject() { String channel = item.getModelObject().getChannel(); if (channel != null && !channel.isEmpty()) { String key = "Channel." + channel; return createStringResource(key).getString(); } else { return ""; } } })); item.add(new Label(ID_SUCCESS_COUNT, new PropertyModel<String>(item.getModel(), ActionsExecutedObjectsTableLineDto.F_SUCCESS_COUNT))); item.add(new Label(ID_LAST_SUCCESS_OBJECT, new PropertyModel<String>(item.getModel(), ActionsExecutedObjectsTableLineDto.F_LAST_SUCCESS_OBJECT))); item.add(new Label(ID_LAST_SUCCESS_TIMESTAMP, new PropertyModel<String>(item.getModel(), ActionsExecutedObjectsTableLineDto.F_LAST_SUCCESS_TIMESTAMP))); item.add(new Label(ID_FAILURE_COUNT, new PropertyModel<String>(item.getModel(), ActionsExecutedObjectsTableLineDto.F_FAILURE_COUNT))); } }; tableLinesContainer.add(tableLines); tableLinesContainer.setOutputMarkupId(true); add(tableLinesContainer); final Label showResultingActionsOnlyLabel = new Label(ID_SHOW_RESULTING_ACTIONS_ONLY_LABEL, new AbstractReadOnlyModel<String>() { @Override public String getObject() { return showResultingActionsOnly ? createStringResource( "ActionsExecutedInformationPanel.showingResultingActionsOnly").getString() : createStringResource("ActionsExecutedInformationPanel.showingAllActions") .getString(); } }); showResultingActionsOnlyLabel.setOutputMarkupId(true); add(showResultingActionsOnlyLabel); add(new AjaxFallbackLink<String>(ID_SHOW_RESULTING_ACTIONS_ONLY_LINK) { @Override public void onClick(AjaxRequestTarget ajaxRequestTarget) { showResultingActionsOnly = !showResultingActionsOnly; ajaxRequestTarget.add(ActionsExecutedInformationPanel.this); } }); add(new VisibleEnableBehaviour() { @Override public boolean isVisible() { return getModelObject() != null; } }); }
From source file:com.evolveum.midpoint.web.page.admin.server.currentState.IterativeInformationPanel.java
License:Apache License
protected void initLayout() { Label executionTime = new Label(ID_EXECUTION_TIME, new AbstractReadOnlyModel<String>() { @Override//from w w w. j a v a2 s. c o m public String getObject() { TaskDto dto = getModel().getObject().getTaskDto(); if (dto == null) { return null; } Long started = dto.getLastRunStartTimestampLong(); Long finished = dto.getLastRunFinishTimestampLong(); if (started == null) { return null; } if (TaskDtoExecutionStatus.RUNNING.equals(dto.getExecution()) || finished == null || finished < started) { return getString("TaskStatePanel.message.executionTime.notFinished", formatDate(new Date(started)), DurationFormatUtils.formatDurationHMS(System.currentTimeMillis() - started)); } else { return getString("TaskStatePanel.message.executionTime.finished", formatDate(new Date(started)), formatDate(new Date(finished)), DurationFormatUtils.formatDurationHMS(finished - started)); } } }); add(executionTime); Label processedSuccess = new Label(ID_OBJECTS_PROCESSED_SUCCESS, new AbstractReadOnlyModel<String>() { @Override public String getObject() { TaskCurrentStateDto dto = getModelObject(); if (dto == null) { return null; } IterativeTaskInformationType info = dto.getIterativeTaskInformationType(); if (info == null) { return null; } if (info.getTotalSuccessCount() == 0) { return "0"; } else { return getString("TaskStatePanel.message.objectsProcessed", info.getTotalSuccessCount()); } } }); add(processedSuccess); Label processedSuccessTime = new Label(ID_OBJECTS_PROCESSED_SUCCESS_TIME, new AbstractReadOnlyModel<String>() { @Override public String getObject() { TaskCurrentStateDto dto = getModelObject(); if (dto == null) { return null; } IterativeTaskInformationType info = dto.getIterativeTaskInformationType(); if (info == null) { return null; } if (info.getTotalSuccessCount() == 0) { return null; } else { return getString("TaskStatePanel.message.objectsProcessedTime", info.getTotalSuccessDuration() / 1000, info.getTotalSuccessDuration() / info.getTotalSuccessCount()); } } }); add(processedSuccessTime); Label lastProcessedSuccess = new Label(ID_LAST_OBJECT_PROCESSED_SUCCESS, new AbstractReadOnlyModel<String>() { @Override public String getObject() { TaskCurrentStateDto dto = getModelObject(); if (dto == null) { return null; } IterativeTaskInformationType info = dto.getIterativeTaskInformationType(); if (info == null) { return null; } if (info.getLastSuccessObjectDisplayName() == null) { return null; } else { return getString("TaskStatePanel.message.lastObjectProcessed", info.getLastSuccessObjectDisplayName()); } } }); add(lastProcessedSuccess); Label lastProcessedSuccessTime = new Label(ID_LAST_OBJECT_PROCESSED_SUCCESS_TIME, new AbstractReadOnlyModel<String>() { @Override public String getObject() { TaskCurrentStateDto dto = getModelObject(); if (dto == null) { return null; } IterativeTaskInformationType info = dto.getIterativeTaskInformationType(); if (info == null) { return null; } if (info.getLastSuccessEndTimestamp() == null) { return null; } else { if (showAgo(dto)) { return getString("TaskStatePanel.message.timeInfoWithDurationAndAgo", formatDate(info.getLastSuccessEndTimestamp()), DurationFormatUtils.formatDurationWords(System.currentTimeMillis() - XmlTypeConverter.toMillis(info.getLastSuccessEndTimestamp()), true, true), info.getLastSuccessDuration()); } else { return getString("TaskStatePanel.message.timeInfoWithDuration", formatDate(info.getLastSuccessEndTimestamp()), info.getLastSuccessDuration()); } } } }); add(lastProcessedSuccessTime); Label processedFailure = new Label(ID_OBJECTS_PROCESSED_FAILURE, new AbstractReadOnlyModel<String>() { @Override public String getObject() { TaskCurrentStateDto dto = getModelObject(); if (dto == null) { return null; } IterativeTaskInformationType info = dto.getIterativeTaskInformationType(); if (info == null) { return null; } if (info.getTotalFailureCount() == 0) { return "0"; } else { return getString("TaskStatePanel.message.objectsProcessed", info.getTotalFailureCount()); } } }); add(processedFailure); Label processedFailureTime = new Label(ID_OBJECTS_PROCESSED_FAILURE_TIME, new AbstractReadOnlyModel<String>() { @Override public String getObject() { TaskCurrentStateDto dto = getModelObject(); if (dto == null) { return null; } IterativeTaskInformationType info = dto.getIterativeTaskInformationType(); if (info == null) { return null; } if (info.getTotalFailureCount() == 0) { return null; } else { return getString("TaskStatePanel.message.objectsProcessedTime", info.getTotalFailureDuration() / 1000, info.getTotalFailureDuration() / info.getTotalFailureCount()); } } }); add(processedFailureTime); Label lastProcessedFailure = new Label(ID_LAST_OBJECT_PROCESSED_FAILURE, new AbstractReadOnlyModel<String>() { @Override public String getObject() { TaskCurrentStateDto dto = getModelObject(); if (dto == null) { return null; } IterativeTaskInformationType info = dto.getIterativeTaskInformationType(); if (info == null) { return null; } if (info.getLastFailureObjectDisplayName() == null) { return null; } else { return getString("TaskStatePanel.message.lastObjectProcessed", info.getLastFailureObjectDisplayName()); } } }); add(lastProcessedFailure); Label lastProcessedFailureTime = new Label(ID_LAST_OBJECT_PROCESSED_FAILURE_TIME, new AbstractReadOnlyModel<String>() { @Override public String getObject() { TaskCurrentStateDto dto = getModelObject(); if (dto == null) { return null; } IterativeTaskInformationType info = dto.getIterativeTaskInformationType(); if (info == null) { return null; } if (info.getLastFailureEndTimestamp() == null) { return null; } else { if (showAgo(dto)) { return getString("TaskStatePanel.message.timeInfoWithDurationAndAgo", formatDate(info.getLastFailureEndTimestamp()), DurationFormatUtils.formatDurationWords(System.currentTimeMillis() - XmlTypeConverter.toMillis(info.getLastFailureEndTimestamp()), true, true), info.getLastFailureDuration()); } else { return getString("TaskStatePanel.message.timeInfoWithDuration", formatDate(info.getLastFailureEndTimestamp()), info.getLastFailureDuration()); } } } }); add(lastProcessedFailureTime); Label lastError = new Label(ID_LAST_ERROR, new AbstractReadOnlyModel<String>() { @Override public String getObject() { TaskCurrentStateDto dto = getModelObject(); if (dto == null) { return null; } IterativeTaskInformationType info = dto.getIterativeTaskInformationType(); if (info == null) { return null; } return info.getLastFailureExceptionMessage(); } }); add(lastError); Label currentObjectProcessed = new Label(ID_CURRENT_OBJECT_PROCESSED, new AbstractReadOnlyModel<String>() { @Override public String getObject() { TaskCurrentStateDto dto = getModelObject(); if (dto == null) { return null; } IterativeTaskInformationType info = dto.getIterativeTaskInformationType(); if (info == null) { return null; } return info.getCurrentObjectDisplayName(); } }); add(currentObjectProcessed); Label currentObjectProcessedTime = new Label(ID_CURRENT_OBJECT_PROCESSED_TIME, new AbstractReadOnlyModel<String>() { @Override public String getObject() { TaskCurrentStateDto dto = getModelObject(); if (dto == null) { return null; } IterativeTaskInformationType info = dto.getIterativeTaskInformationType(); if (info == null) { return null; } if (info.getCurrentObjectStartTimestamp() == null) { return null; } else { return getString("TaskStatePanel.message.timeInfoWithAgo", formatDate(info.getCurrentObjectStartTimestamp()), DurationFormatUtils.formatDurationWords(System.currentTimeMillis() - XmlTypeConverter.toMillis(info.getCurrentObjectStartTimestamp()), true, true)); } } }); add(currentObjectProcessedTime); Label objectsTotal = new Label(ID_OBJECTS_TOTAL, new AbstractReadOnlyModel<String>() { @Override public String getObject() { TaskCurrentStateDto dto = getModelObject(); if (dto == null) { return null; } IterativeTaskInformationType info = dto.getIterativeTaskInformationType(); if (info == null) { return null; } int objectsTotal = info.getTotalSuccessCount() + info.getTotalFailureCount(); if (WALL_CLOCK_AVG_CATEGORIES.contains(dto.getTaskDto().getCategory())) { Long avg = getWallClockAverage(dto, objectsTotal); if (avg != null) { return getString("TaskStatePanel.message.objectsTotal", objectsTotal, avg); } } return String.valueOf(objectsTotal); } }); add(objectsTotal); }
From source file:com.evolveum.midpoint.web.page.admin.server.currentState.TaskStatePanel.java
License:Apache License
@Override protected void initLayout() { Label updated = new Label(ID_UPDATED, new AbstractReadOnlyModel<String>() { @Override//from w ww . ja va 2 s. c o m public String getObject() { return formatDate(new Date()); } }); add(updated); Label executionStatus = new Label(ID_EXECUTION_STATUS, new AbstractReadOnlyModel<String>() { @Override public String getObject() { TaskDtoExecutionStatus executionStatus = getModel().getObject().getTaskDto().getExecution(); return getString(TaskDtoExecutionStatus.class.getSimpleName() + "." + executionStatus.name()); } }); add(executionStatus); Label executionNode = new Label(ID_EXECUTION_NODE, new AbstractReadOnlyModel<String>() { @Override public String getObject() { TaskDto dto = getModel().getObject().getTaskDto(); if (!TaskDtoExecutionStatus.RUNNING.equals(dto.getExecution())) { return null; } return getString("TaskStatePanel.message.node", dto.getExecutingAt()); } }); add(executionNode); Label executionTime = new Label(ID_EXECUTION_TIME, new AbstractReadOnlyModel<String>() { @Override public String getObject() { TaskDto dto = getModel().getObject().getTaskDto(); if (dto == null) { return null; } Long started = dto.getLastRunStartTimestampLong(); Long finished = dto.getLastRunFinishTimestampLong(); if (started == null) { return null; } if (TaskDtoExecutionStatus.RUNNING.equals(dto.getExecution()) || finished == null || finished < started) { return getString("TaskStatePanel.message.executionTime.notFinished", formatDate(new Date(started)), DurationFormatUtils.formatDurationHMS(System.currentTimeMillis() - started)); } else { return getString("TaskStatePanel.message.executionTime.finished", formatDate(new Date(started)), formatDate(new Date(finished)), DurationFormatUtils.formatDurationHMS(finished - started)); } } }); add(executionTime); Label progress = new Label(ID_PROGRESS, new AbstractReadOnlyModel<String>() { @Override public String getObject() { TaskCurrentStateDto dto = getModelObject(); TaskDto taskDto = dto.getTaskDto(); if (taskDto == null) { return null; } else { return taskDto.getProgressDescription(dto.getCurrentProgress()); // TODO implement stalled since } } }); add(progress); Label processedSuccess = new Label(ID_OBJECTS_PROCESSED_SUCCESS, new AbstractReadOnlyModel<String>() { @Override public String getObject() { TaskCurrentStateDto dto = getModelObject(); if (dto == null) { return null; } IterativeTaskInformationType info = dto.getIterativeTaskInformationType(); if (info == null) { return null; } if (info.getTotalSuccessCount() == 0) { return "0"; } else { return getString("TaskStatePanel.message.objectsProcessed", info.getTotalSuccessCount()); } } }); add(processedSuccess); Label processedSuccessTime = new Label(ID_OBJECTS_PROCESSED_SUCCESS_TIME, new AbstractReadOnlyModel<String>() { @Override public String getObject() { TaskCurrentStateDto dto = getModelObject(); if (dto == null) { return null; } IterativeTaskInformationType info = dto.getIterativeTaskInformationType(); if (info == null) { return null; } if (info.getTotalSuccessCount() == 0) { return null; } else { return getString("TaskStatePanel.message.objectsProcessedTime", info.getTotalSuccessDuration() / 1000, info.getTotalSuccessDuration() / info.getTotalSuccessCount()); } } }); add(processedSuccessTime); Label lastProcessedSuccess = new Label(ID_LAST_OBJECT_PROCESSED_SUCCESS, new AbstractReadOnlyModel<String>() { @Override public String getObject() { TaskCurrentStateDto dto = getModelObject(); if (dto == null) { return null; } IterativeTaskInformationType info = dto.getIterativeTaskInformationType(); if (info == null) { return null; } if (info.getLastSuccessObjectDisplayName() == null) { return null; } else { return getString("TaskStatePanel.message.lastObjectProcessed", info.getLastSuccessObjectDisplayName()); } } }); add(lastProcessedSuccess); Label lastProcessedSuccessTime = new Label(ID_LAST_OBJECT_PROCESSED_SUCCESS_TIME, new AbstractReadOnlyModel<String>() { @Override public String getObject() { TaskCurrentStateDto dto = getModelObject(); if (dto == null) { return null; } IterativeTaskInformationType info = dto.getIterativeTaskInformationType(); if (info == null) { return null; } if (info.getLastSuccessEndTimestamp() == null) { return null; } else { if (showAgo(dto)) { return getString("TaskStatePanel.message.timeInfoWithDurationAndAgo", formatDate(info.getLastSuccessEndTimestamp()), DurationFormatUtils.formatDurationWords(System.currentTimeMillis() - XmlTypeConverter.toMillis(info.getLastSuccessEndTimestamp()), true, true), info.getLastSuccessDuration()); } else { return getString("TaskStatePanel.message.timeInfoWithDuration", formatDate(info.getLastSuccessEndTimestamp()), info.getLastSuccessDuration()); } } } }); add(lastProcessedSuccessTime); Label processedFailure = new Label(ID_OBJECTS_PROCESSED_FAILURE, new AbstractReadOnlyModel<String>() { @Override public String getObject() { TaskCurrentStateDto dto = getModelObject(); if (dto == null) { return null; } IterativeTaskInformationType info = dto.getIterativeTaskInformationType(); if (info == null) { return null; } if (info.getTotalFailureCount() == 0) { return "0"; } else { return getString("TaskStatePanel.message.objectsProcessed", info.getTotalFailureCount()); } } }); add(processedFailure); Label processedFailureTime = new Label(ID_OBJECTS_PROCESSED_FAILURE_TIME, new AbstractReadOnlyModel<String>() { @Override public String getObject() { TaskCurrentStateDto dto = getModelObject(); if (dto == null) { return null; } IterativeTaskInformationType info = dto.getIterativeTaskInformationType(); if (info == null) { return null; } if (info.getTotalFailureCount() == 0) { return null; } else { return getString("TaskStatePanel.message.objectsProcessedTime", info.getTotalFailureDuration() / 1000, info.getTotalFailureDuration() / info.getTotalFailureCount()); } } }); add(processedFailureTime); Label lastProcessedFailure = new Label(ID_LAST_OBJECT_PROCESSED_FAILURE, new AbstractReadOnlyModel<String>() { @Override public String getObject() { TaskCurrentStateDto dto = getModelObject(); if (dto == null) { return null; } IterativeTaskInformationType info = dto.getIterativeTaskInformationType(); if (info == null) { return null; } if (info.getLastFailureObjectDisplayName() == null) { return null; } else { return getString("TaskStatePanel.message.lastObjectProcessed", info.getLastFailureObjectDisplayName()); } } }); add(lastProcessedFailure); Label lastProcessedFailureTime = new Label(ID_LAST_OBJECT_PROCESSED_FAILURE_TIME, new AbstractReadOnlyModel<String>() { @Override public String getObject() { TaskCurrentStateDto dto = getModelObject(); if (dto == null) { return null; } IterativeTaskInformationType info = dto.getIterativeTaskInformationType(); if (info == null) { return null; } if (info.getLastFailureEndTimestamp() == null) { return null; } else { if (showAgo(dto)) { return getString("TaskStatePanel.message.timeInfoWithDurationAndAgo", formatDate(info.getLastFailureEndTimestamp()), DurationFormatUtils.formatDurationWords(System.currentTimeMillis() - XmlTypeConverter.toMillis(info.getLastFailureEndTimestamp()), true, true), info.getLastFailureDuration()); } else { return getString("TaskStatePanel.message.timeInfoWithDuration", formatDate(info.getLastFailureEndTimestamp()), info.getLastFailureDuration()); } } } }); add(lastProcessedFailureTime); Label lastError = new Label(ID_LAST_ERROR, new AbstractReadOnlyModel<String>() { @Override public String getObject() { TaskCurrentStateDto dto = getModelObject(); if (dto == null) { return null; } IterativeTaskInformationType info = dto.getIterativeTaskInformationType(); if (info == null) { return null; } return info.getLastFailureExceptionMessage(); } }); add(lastError); Label currentObjectProcessed = new Label(ID_CURRENT_OBJECT_PROCESSED, new AbstractReadOnlyModel<String>() { @Override public String getObject() { TaskCurrentStateDto dto = getModelObject(); if (dto == null) { return null; } IterativeTaskInformationType info = dto.getIterativeTaskInformationType(); if (info == null) { return null; } return info.getCurrentObjectDisplayName(); } }); add(currentObjectProcessed); Label currentObjectProcessedTime = new Label(ID_CURRENT_OBJECT_PROCESSED_TIME, new AbstractReadOnlyModel<String>() { @Override public String getObject() { TaskCurrentStateDto dto = getModelObject(); if (dto == null) { return null; } IterativeTaskInformationType info = dto.getIterativeTaskInformationType(); if (info == null) { return null; } if (info.getCurrentObjectStartTimestamp() == null) { return null; } else { return getString("TaskStatePanel.message.timeInfoWithAgo", formatDate(info.getCurrentObjectStartTimestamp()), DurationFormatUtils.formatDurationWords(System.currentTimeMillis() - XmlTypeConverter.toMillis(info.getCurrentObjectStartTimestamp()), true, true)); } } }); add(currentObjectProcessedTime); Label objectsTotal = new Label(ID_OBJECTS_TOTAL, new AbstractReadOnlyModel<String>() { @Override public String getObject() { TaskCurrentStateDto dto = getModelObject(); if (dto == null) { return null; } IterativeTaskInformationType info = dto.getIterativeTaskInformationType(); if (info == null) { return null; } int objectsTotal = info.getTotalSuccessCount() + info.getTotalFailureCount(); if (WALL_CLOCK_AVG_CATEGORIES.contains(dto.getTaskDto().getCategory())) { Long avg = getWallClockAverage(dto, objectsTotal); if (avg != null) { return getString("TaskStatePanel.message.objectsTotal", objectsTotal, avg); } } return String.valueOf(objectsTotal); } }); add(objectsTotal); SynchronizationInformationPanel synchronizationInformationPanel = new SynchronizationInformationPanel( ID_SYNCHRONIZATION_INFORMATION_PANEL, new AbstractReadOnlyModel<SynchronizationInformationDto>() { @Override public SynchronizationInformationDto getObject() { TaskCurrentStateDto dto = getModelObject(); if (dto == null) { return null; } if (dto.getSynchronizationInformationType() == null) { return null; } return new SynchronizationInformationDto(dto.getSynchronizationInformationType()); } }); synchronizationInformationPanel.add(new VisibleEnableBehaviour() { @Override public boolean isVisible() { TaskCurrentStateDto dto = getModelObject(); return dto != null && dto.getSynchronizationInformationType() != null; } }); add(synchronizationInformationPanel); ActionsExecutedInformationPanel actionsExecutedInformationPanel = new ActionsExecutedInformationPanel( ID_ACTIONS_EXECUTED_INFORMATION_PANEL, new AbstractReadOnlyModel<ActionsExecutedInformationDto>() { @Override public ActionsExecutedInformationDto getObject() { TaskCurrentStateDto dto = getModelObject(); if (dto == null) { return null; } if (dto.getActionsExecutedInformationType() == null) { return null; } return new ActionsExecutedInformationDto(dto.getActionsExecutedInformationType()); } }); actionsExecutedInformationPanel.add(new VisibleEnableBehaviour() { @Override public boolean isVisible() { TaskCurrentStateDto dto = getModelObject(); return dto != null && dto.getActionsExecutedInformationType() != null; } }); add(actionsExecutedInformationPanel); Label countersSource = new Label(ID_COUNTERS_SOURCE, new AbstractReadOnlyModel<String>() { @Override public String getObject() { TaskCurrentStateDto dto = getModelObject(); if (dto == null) { return null; } OperationStatsType stats = dto.getOperationStatsType(); if (stats == null) { return null; } if (stats.isLiveInformation()) { return getString("TaskStatePanel.message.countersSourceMemory", formatDate(stats.getTimestamp())); } else { return getString("TaskStatePanel.message.countersSourceRepository", formatDate(stats.getTimestamp())); } } }); add(countersSource); statisticsDtoModel = new StatisticsDtoModel(new AbstractReadOnlyModel<TaskDto>() { @Override public TaskDto getObject() { return getModelObject().getTaskDto(); } }); StatisticsPanel statisticsPanel = new StatisticsPanel(ID_STATISTICS_PANEL, statisticsDtoModel); add(statisticsPanel); VisibleEnableBehaviour hiddenWhenNoSubtasks = new VisibleEnableBehaviour() { @Override public boolean isVisible() { TaskDto taskDto = getModelObject().getTaskDto(); return taskDto != null && !taskDto.getTransientSubtasks().isEmpty(); } }; Label workerThreadsTableLabel = new Label(ID_WORKER_THREADS_TABLE_LABEL, new ResourceModel("TaskStatePanel.workerThreads")); workerThreadsTableLabel.add(hiddenWhenNoSubtasks); add(workerThreadsTableLabel); List<IColumn<WorkerThreadDto, String>> columns = new ArrayList<>(); columns.add(new PropertyColumn(createStringResourceStatic(this, "TaskStatePanel.subtaskName"), WorkerThreadDto.F_NAME)); columns.add(new EnumPropertyColumn<WorkerThreadDto>( createStringResourceStatic(this, "TaskStatePanel.subtaskState"), WorkerThreadDto.F_EXECUTION_STATUS)); columns.add(new PropertyColumn(createStringResourceStatic(this, "TaskStatePanel.subtaskObjectsProcessed"), WorkerThreadDto.F_PROGRESS)); ISortableDataProvider<WorkerThreadDto, String> threadsProvider = new ListDataProvider<>(this, new AbstractReadOnlyModel<List<WorkerThreadDto>>() { @Override public List<WorkerThreadDto> getObject() { List<WorkerThreadDto> rv = new ArrayList<>(); TaskDto taskDto = getModelObject().getTaskDto(); if (taskDto != null) { for (TaskDto subtaskDto : taskDto.getTransientSubtasks()) { rv.add(new WorkerThreadDto(subtaskDto)); } } return rv; } }); TablePanel<WorkerThreadDto> workerThreadsTablePanel = new TablePanel<>(ID_WORKER_THREADS_TABLE, threadsProvider, columns); workerThreadsTablePanel.add(hiddenWhenNoSubtasks); add(workerThreadsTablePanel); SortableDataProvider<OperationResult, String> provider = new ListDataProvider<>(this, new PropertyModel<List<OperationResult>>(getModel(), "taskDto.opResult")); TablePanel result = new TablePanel<>(ID_OPERATION_RESULT, provider, initResultColumns()); result.setStyle("padding-top: 0px;"); result.setShowPaging(false); result.setOutputMarkupId(true); add(result); }
From source file:com.evolveum.midpoint.web.page.admin.server.handlers.QueryBasedHandlerPanel.java
License:Apache License
private void initLayout() { WebMarkupContainer objectTypeContainer = new WebMarkupContainer(ID_OBJECT_TYPE_CONTAINER); Label objectType = new Label(ID_OBJECT_TYPE, new AbstractReadOnlyModel<String>() { @Override/*from www . j a va 2s . com*/ public String getObject() { final String key = getModelObject().getObjectTypeKey(); return key != null ? getString(key) : null; } }); objectTypeContainer.add(objectType); add(objectTypeContainer); WebMarkupContainer objectQueryContainer = new WebMarkupContainer(ID_OBJECT_QUERY_CONTAINER); TextArea objectQuery = new TextArea<>(ID_OBJECT_QUERY, new PropertyModel<>(getModel(), QueryBasedHandlerDto.F_OBJECT_QUERY)); objectQuery.setEnabled(false); objectQueryContainer.add(objectQuery); add(objectQueryContainer); }
From source file:com.evolveum.midpoint.web.page.admin.server.handlers.ResourceRelatedHandlerPanel.java
License:Apache License
private void initLayout() { final VisibleEnableBehaviour visibleIfEdit = new VisibleEnableBehaviour() { @Override/*from www. j a v a 2 s . c o m*/ public boolean isVisible() { return parentPage.isEdit(); } }; final VisibleEnableBehaviour visibleIfView = new VisibleEnableBehaviour() { @Override public boolean isVisible() { return !parentPage.isEdit(); } }; final VisibleEnableBehaviour enabledIfEdit = new VisibleEnableBehaviour() { @Override public boolean isEnabled() { return parentPage.isEdit(); } }; final VisibleEnableBehaviour visibleForResourceCoordinates = new VisibleEnableBehaviour() { @Override public boolean isVisible() { return getTaskDto().configuresResourceCoordinates(); } }; final WebMarkupContainer resourceRefContainer = new WebMarkupContainer(ID_RESOURCE_REF_CONTAINER); resourceRefContainer.add(visibleForResourceCoordinates); resourceRefContainer.setOutputMarkupId(true); add(resourceRefContainer); final DropDownChoice<TaskAddResourcesDto> resourceRef = new DropDownChoice<>(ID_RESOURCE_REF, new PropertyModel<TaskAddResourcesDto>(getModel(), ResourceRelatedHandlerDto.F_RESOURCE_REFERENCE), new AbstractReadOnlyModel<List<TaskAddResourcesDto>>() { @Override public List<TaskAddResourcesDto> getObject() { return createResourceList(); } }, new ChoiceableChoiceRenderer<TaskAddResourcesDto>()); resourceRef.setOutputMarkupId(true); resourceRef.add(enabledIfEdit); resourceRef.add(new AjaxFormComponentUpdatingBehavior("change") { @Override protected void onUpdate(AjaxRequestTarget target) { Task task = parentPage.createSimpleTask(OPERATION_LOAD_RESOURCE); OperationResult result = task.getResult(); List<QName> objectClassList = new ArrayList<>(); TaskAddResourcesDto resourcesDto = getModelObject().getResourceRef(); if (resourcesDto != null) { PrismObject<ResourceType> resource = WebModelServiceUtils.loadObject(ResourceType.class, resourcesDto.getOid(), parentPage, task, result); try { ResourceSchema schema = RefinedResourceSchema.getResourceSchema(resource, parentPage.getPrismContext()); schema.getObjectClassDefinitions(); for (Definition def : schema.getDefinitions()) { objectClassList.add(def.getTypeName()); } getModelObject().setObjectClassList(objectClassList); } catch (Exception e) { LoggingUtils.logUnexpectedException(LOGGER, "Couldn't load object class list from resource.", e); error("Couldn't load object class list from resource."); } } target.add(resourceRefContainer); } }); resourceRefContainer.add(resourceRef); WebMarkupContainer kindContainer = new WebMarkupContainer(ID_KIND_CONTAINER); kindContainer.add(visibleForResourceCoordinates); add(kindContainer); final DropDownChoice kind = new DropDownChoice<>(ID_KIND, new PropertyModel<ShadowKindType>(getModel(), ResourceRelatedHandlerDto.F_KIND), WebComponentUtil.createReadonlyModelFromEnum(ShadowKindType.class), new EnumChoiceRenderer<ShadowKindType>()); kind.setOutputMarkupId(true); kind.setNullValid(true); kindContainer.add(kind); WebMarkupContainer intentContainer = new WebMarkupContainer(ID_INTENT_CONTAINER); intentContainer.add(visibleForResourceCoordinates); add(intentContainer); final TextField<String> intent = new TextField<>(ID_INTENT, new PropertyModel<String>(getModel(), ResourceRelatedHandlerDto.F_INTENT)); intentContainer.add(intent); intent.setOutputMarkupId(true); intent.add(enabledIfEdit); WebMarkupContainer objectClassContainer = new WebMarkupContainer(ID_OBJECT_CLASS_CONTAINER); objectClassContainer.add(visibleForResourceCoordinates); add(objectClassContainer); AutoCompleteSettings autoCompleteSettings = new AutoCompleteSettings(); autoCompleteSettings.setShowListOnEmptyInput(true); final AutoCompleteTextField<String> objectClass = new AutoCompleteTextField<String>(ID_OBJECT_CLASS, new PropertyModel<String>(getModel(), ResourceRelatedHandlerDto.F_OBJECT_CLASS), autoCompleteSettings) { @Override protected Iterator<String> getChoices(String input) { return prepareObjectClassChoiceList(input); } }; objectClass.add(enabledIfEdit); objectClassContainer.add(objectClass); WebMarkupContainer optionsContainer = new WebMarkupContainer(ID_OPTIONS_CONTAINER); optionsContainer.add(new VisibleEnableBehaviour() { @Override public boolean isVisible() { return getTaskDto().configuresDryRun(); } }); add(optionsContainer); WebMarkupContainer dryRunContainer = new WebMarkupContainer(ID_DRY_RUN_CONTAINER); dryRunContainer.add(new VisibleEnableBehaviour() { @Override public boolean isVisible() { return getTaskDto().configuresDryRun(); } }); optionsContainer.add(dryRunContainer); CheckBox dryRun = new CheckBox(ID_DRY_RUN, new PropertyModel<Boolean>(getModel(), ResourceRelatedHandlerDto.F_DRY_RUN)); dryRun.add(enabledIfEdit); dryRunContainer.add(dryRun); }
From source file:com.evolveum.midpoint.web.page.admin.server.PageTaskAdd.java
License:Apache License
private void initLayout() { Form mainForm = new Form("mainForm"); add(mainForm);/* w ww. ja va 2 s . c o m*/ final DropDownChoice resource = new DropDownChoice("resource", new PropertyModel<TaskAddResourcesDto>(model, "resource"), new AbstractReadOnlyModel<List<TaskAddResourcesDto>>() { @Override public List<TaskAddResourcesDto> getObject() { return createResourceList(); } }, new IChoiceRenderer<TaskAddResourcesDto>() { @Override public Object getDisplayValue(TaskAddResourcesDto dto) { return dto.getName(); } @Override public String getIdValue(TaskAddResourcesDto dto, int index) { return Integer.toString(index); } }); resource.add(new VisibleEnableBehaviour() { @Override public boolean isEnabled() { TaskAddDto dto = model.getObject(); boolean sync = TaskCategory.LIVE_SYNCHRONIZATION.equals(dto.getCategory()); boolean recon = TaskCategory.RECONCILIATION.equals(dto.getCategory()); boolean importAccounts = TaskCategory.IMPORTING_ACCOUNTS.equals(dto.getCategory()); return sync || recon || importAccounts; } }); resource.setOutputMarkupId(true); mainForm.add(resource); DropDownChoice type = new DropDownChoice("category", new PropertyModel<String>(model, "category"), new AbstractReadOnlyModel<List<String>>() { @Override public List<String> getObject() { return createCategoryList(); } }, new IChoiceRenderer<String>() { @Override public Object getDisplayValue(String item) { return PageTaskAdd.this.getString("pageTask.category." + item); } @Override public String getIdValue(String item, int index) { return Integer.toString(index); } }); type.add(new AjaxFormComponentUpdatingBehavior("onChange") { @Override protected void onUpdate(AjaxRequestTarget target) { target.add(resource); } }); type.setRequired(true); mainForm.add(type); TextField<String> name = new TextField<String>("name", new PropertyModel<String>(model, "name")); name.setRequired(true); mainForm.add(name); initScheduling(mainForm); initAdvanced(mainForm); CheckBox dryRun = new CheckBox(ID_DRY_RUN, new PropertyModel<Boolean>(model, TaskAddDto.F_DRY_RUN)); mainForm.add(dryRun); initButtons(mainForm); }