List of usage examples for org.apache.wicket.model AbstractReadOnlyModel AbstractReadOnlyModel
AbstractReadOnlyModel
From source file:com.evolveum.midpoint.web.component.prism.PrismPropertyPanel.java
License:Apache License
private IModel<String> createStyleClassModel(final IModel<ValueWrapper> value) { return new AbstractReadOnlyModel<String>() { @Override/* w w w.ja v a2 s .co m*/ public String getObject() { if (getIndexOfValue(value.getObject()) > 0) { return "col-md-offset-4 prism-value"; } return null; } }; }
From source file:com.evolveum.midpoint.web.component.prism.PrismPropertyPanel.java
License:Apache License
private IModel<String> createDisplayName(final IModel<PropertyWrapper> model) { return new AbstractReadOnlyModel<String>() { @Override/*from w ww. j ava2 s. c o m*/ public String getObject() { PropertyWrapper wrapper = model.getObject(); String displayName = wrapper.getDisplayName(); return getString(displayName, null, displayName); } }; }
From source file:com.evolveum.midpoint.web.component.prism.PrismValuePanel.java
License:Apache License
private IModel<String> createHelpModel() { return new AbstractReadOnlyModel<String>() { @Override//from www. j a va2 s . co m public String getObject() { PropertyWrapper wrapper = model.getObject().getProperty(); return wrapper.getItem().getHelp(); } }; }
From source file:com.evolveum.midpoint.web.component.prism.show.PagePreviewChanges.java
License:Apache License
public PagePreviewChanges(ModelContext<? extends ObjectType> modelContext, ModelInteractionService modelInteractionService) { final List<ObjectDelta<? extends ObjectType>> primaryDeltas = new ArrayList<>(); final List<ObjectDelta<? extends ObjectType>> secondaryDeltas = new ArrayList<>(); final List<? extends Scene> primaryScenes; final List<? extends Scene> secondaryScenes; try {/* www . j ava2 s . c om*/ if (modelContext != null) { if (modelContext.getFocusContext() != null) { addIgnoreNull(primaryDeltas, modelContext.getFocusContext().getPrimaryDelta()); addIgnoreNull(secondaryDeltas, modelContext.getFocusContext().getSecondaryDelta()); } for (ModelProjectionContext projCtx : modelContext.getProjectionContexts()) { addIgnoreNull(primaryDeltas, projCtx.getPrimaryDelta()); addIgnoreNull(secondaryDeltas, projCtx.getExecutableDelta()); } } if (LOGGER.isTraceEnabled()) { LOGGER.trace("Primary deltas:\n{}", DebugUtil.debugDump(primaryDeltas)); LOGGER.trace("Secondary deltas:\n{}", DebugUtil.debugDump(secondaryDeltas)); } Task task = createSimpleTask("visualize"); primaryScenes = modelInteractionService.visualizeDeltas(primaryDeltas, task, task.getResult()); secondaryScenes = modelInteractionService.visualizeDeltas(secondaryDeltas, task, task.getResult()); } catch (SchemaException e) { throw new SystemException(e); // TODO } if (LOGGER.isTraceEnabled()) { LOGGER.trace("Creating context DTO for primary deltas:\n{}", DebugUtil.debugDump(primaryScenes)); LOGGER.trace("Creating context DTO for secondary deltas:\n{}", DebugUtil.debugDump(secondaryScenes)); } final WrapperScene primaryScene = new WrapperScene(primaryScenes, primaryScenes.size() != 1 ? "PagePreviewChanges.primaryChangesMore" : "PagePreviewChanges.primaryChangesOne", primaryScenes.size()); final WrapperScene secondaryScene = new WrapperScene(secondaryScenes, secondaryScenes.size() != 1 ? "PagePreviewChanges.secondaryChangesMore" : "PagePreviewChanges.secondaryChangesOne", secondaryScenes.size()); final SceneDto primarySceneDto = new SceneDto(primaryScene); final SceneDto secondarySceneDto = new SceneDto(secondaryScene); primaryDeltasModel = new AbstractReadOnlyModel<SceneDto>() { @Override public SceneDto getObject() { return primarySceneDto; } }; secondaryDeltasModel = new AbstractReadOnlyModel<SceneDto>() { @Override public SceneDto getObject() { return secondarySceneDto; } }; initLayout(); }
From source file:com.evolveum.midpoint.web.component.prism.show.SceneButtonPanel.java
License:Apache License
private void initLayout(final IModel<SceneDto> model) { AjaxLink<String> minimize = new AjaxLink<String>(ID_MINIMIZE_BUTTON) { private static final long serialVersionUID = 1L; @Override//from w w w .ja v a 2s . c o m public void onClick(AjaxRequestTarget target) { minimizeOnClick(target); } }; add(minimize); Label icon = new Label(ID_ICON); icon.add(AttributeModifier.append("class", new AbstractReadOnlyModel<String>() { private static final long serialVersionUID = 1L; @Override public String getObject() { SceneDto dto = model.getObject(); if (dto.isMinimized()) { return GuiStyleConstants.CLASS_ICON_EXPAND; } return GuiStyleConstants.CLASS_ICON_COLLAPSE; } })); minimize.add(icon); icon.add(new AttributeAppender("title", new AbstractReadOnlyModel<String>() { private static final long serialVersionUID = 1L; @Override public String getObject() { SceneDto dto = model.getObject(); if (dto.isMinimized()) { return getString("prismOptionButtonPanel.maximize"); } return getString("prismOptionButtonPanel.minimize"); } }, "")); }
From source file:com.evolveum.midpoint.web.component.prism.show.SceneItemLinePanel.java
License:Apache License
private void initLayout() { WebMarkupContainer nameCell = new WebMarkupContainer(ID_NAME_CONTAINER); nameCell.add(new AttributeModifier("rowspan", new PropertyModel<Integer>(getModel(), SceneItemLineDto.F_NUMBER_OF_LINES))); Label label = new Label("name", new AbstractReadOnlyModel<String>() { @Override/* w w w .j a v a2 s .com*/ public String getObject() { final SceneItemLineDto lineDto = getModel().getObject(); if (lineDto == null || lineDto.getName() == null) { return null; } String key = lineDto.getName(); return getLocalizer().getString(key, SceneItemLinePanel.this, key); } }); nameCell.add(label); nameCell.add(new VisibleEnableBehaviour() { @Override public boolean isVisible() { return getModelObject().isFirst(); } }); add(nameCell); WebMarkupContainer oldValueCell = new WebMarkupContainer(ID_OLD_VALUE_CONTAINER); oldValueCell.add(new VisibleEnableBehaviour() { @Override public boolean isVisible() { return getModelObject().isDelta(); } }); SceneItemValuePanel sivp = new SceneItemValuePanel(ID_OLD_VALUE, new PropertyModel<SceneItemValue>(getModel(), SceneItemLineDto.F_OLD_VALUE)); sivp.setRenderBodyOnly(true); oldValueCell.add(sivp); add(oldValueCell); WebMarkupContainer newValueCell = new WebMarkupContainer(ID_NEW_VALUE_CONTAINER); sivp = new SceneItemValuePanel(ID_NEW_VALUE, new PropertyModel<SceneItemValue>(getModel(), SceneItemLineDto.F_NEW_VALUE)); sivp.setRenderBodyOnly(true); newValueCell.add(sivp); newValueCell.add(new AttributeModifier("colspan", new AbstractReadOnlyModel<Integer>() { @Override public Integer getObject() { return !getModelObject().isDelta() && getModelObject().isDeltaScene() ? 2 : 1; } })); newValueCell.add(new AttributeModifier("align", new AbstractReadOnlyModel<String>() { @Override public String getObject() { return !getModelObject().isDelta() && getModelObject().isDeltaScene() ? "center" : null; } })); add(newValueCell); }
From source file:com.evolveum.midpoint.web.component.prism.show.ScenePanel.java
License:Apache License
private void initLayout() { final IModel<SceneDto> model = getModel(); WebMarkupContainer box = new WebMarkupContainer(ID_BOX); box.add(AttributeModifier.append("class", new AbstractReadOnlyModel<String>() { @Override/*from w ww. j a va 2 s. co m*/ public String getObject() { SceneDto dto = model.getObject(); if (dto.getBoxClassOverride() != null) { return dto.getBoxClassOverride(); } if (dto.getChangeType() == null) { return null; } switch (dto.getChangeType()) { case ADD: return "box-success"; case DELETE: return "box-danger"; case MODIFY: return "box-info"; default: return null; } } })); add(box); WebMarkupContainer headerPanel = new WebMarkupContainer(ID_HEADER_PANEL); box.add(headerPanel); headerPanel.add(new SceneButtonPanel(ID_OPTION_BUTTONS, model) { @Override public void minimizeOnClick(AjaxRequestTarget target) { headerOnClickPerformed(target, model); } }); Label headerChangeType = new Label(ID_HEADER_CHANGE_TYPE, new ChangeTypeModel()); //headerChangeType.setRenderBodyOnly(true); Label headerObjectType = new Label(ID_HEADER_OBJECT_TYPE, new ObjectTypeModel()); //headerObjectType.setRenderBodyOnly(true); IModel<String> nameModel = new AbstractReadOnlyModel<String>() { @Override public String getObject() { return model.getObject().getName(ScenePanel.this); } }; Label headerNameLabel = new Label(ID_HEADER_NAME_LABEL, nameModel); LinkPanel headerNameLink = new LinkPanel(ID_HEADER_NAME_LINK, nameModel) { @Override public void onClick(AjaxRequestTarget target) { PrismContainerValue<?> value = getModelObject().getScene().getSourceValue(); if (value != null && value.getParent() instanceof PrismObject) { PrismObject<? extends ObjectType> object = (PrismObject<? extends ObjectType>) value .getParent(); WebComponentUtil.dispatchToObjectDetailsPage(ObjectTypeUtil.createObjectRef(object), getPageBase(), false); } } }; Label headerDescription = new Label(ID_HEADER_DESCRIPTION, new AbstractReadOnlyModel<String>() { @Override public String getObject() { return model.getObject().getDescription(ScenePanel.this); } }); Label headerWrapperDisplayName = new Label(ID_HEADER_WRAPPER_DISPLAY_NAME, new AbstractReadOnlyModel<String>() { @Override public String getObject() { String key = ((WrapperScene) getModelObject().getScene()).getDisplayNameKey(); Object[] parameters = ((WrapperScene) getModelObject().getScene()) .getDisplayNameParameters(); return new StringResourceModel(key, this).setModel(null).setDefaultValue(key) .setParameters(parameters).getObject(); } }); headerPanel.add(headerChangeType); headerPanel.add(headerObjectType); headerPanel.add(headerNameLabel); headerPanel.add(headerNameLink); headerPanel.add(headerDescription); headerPanel.add(headerWrapperDisplayName); headerChangeType.add(createHeaderOnClickBehaviour(model)); headerObjectType.add(createHeaderOnClickBehaviour(model)); headerNameLabel.add(createHeaderOnClickBehaviour(model)); headerDescription.add(createHeaderOnClickBehaviour(model)); headerWrapperDisplayName.add(createHeaderOnClickBehaviour(model)); VisibleEnableBehaviour visibleIfNotWrapper = new VisibleEnableBehaviour() { @Override public boolean isVisible() { return !getModelObject().isWrapper(); } }; VisibleEnableBehaviour visibleIfWrapper = new VisibleEnableBehaviour() { @Override public boolean isVisible() { return getModelObject().isWrapper(); } }; VisibleEnableBehaviour visibleIfExistingObject = new VisibleEnableBehaviour() { @Override public boolean isVisible() { if (getModelObject().isWrapper()) { return false; } return isExistingViewableObject(); } }; VisibleEnableBehaviour visibleIfNotWrapperAndNotExistingObject = new VisibleEnableBehaviour() { @Override public boolean isVisible() { if (getModelObject().isWrapper()) { return false; } return !isExistingViewableObject(); } }; headerChangeType.add(visibleIfNotWrapper); headerObjectType.add(visibleIfNotWrapper); headerNameLabel.add(visibleIfNotWrapperAndNotExistingObject); headerNameLink.add(visibleIfExistingObject); headerDescription.add(visibleIfNotWrapper); headerWrapperDisplayName.add(visibleIfWrapper); WebMarkupContainer body = new WebMarkupContainer(ID_BODY); body.add(new VisibleEnableBehaviour() { @Override public boolean isVisible() { SceneDto wrapper = model.getObject(); return !wrapper.isMinimized(); } }); box.add(body); WebMarkupContainer itemsTable = new WebMarkupContainer(ID_ITEMS_TABLE); itemsTable.add(new VisibleEnableBehaviour() { @Override public boolean isVisible() { return !model.getObject().getItems().isEmpty(); } }); WebMarkupContainer oldValueLabel = new WebMarkupContainer(ID_OLD_VALUE_LABEL); oldValueLabel.add(new VisibleEnableBehaviour() { @Override public boolean isVisible() { return model.getObject().containsDeltaItems(); } }); itemsTable.add(oldValueLabel); WebMarkupContainer newValueLabel = new WebMarkupContainer(ID_NEW_VALUE_LABEL); newValueLabel.add(new VisibleEnableBehaviour() { @Override public boolean isVisible() { return model.getObject().containsDeltaItems(); } }); itemsTable.add(newValueLabel); WebMarkupContainer valueLabel = new WebMarkupContainer(ID_VALUE_LABEL); valueLabel.add(new VisibleEnableBehaviour() { @Override public boolean isVisible() { return !model.getObject().containsDeltaItems(); } }); itemsTable.add(valueLabel); ListView<SceneItemDto> items = new ListView<SceneItemDto>(ID_ITEMS, new PropertyModel<List<SceneItemDto>>(model, SceneDto.F_ITEMS)) { @Override protected void populateItem(ListItem<SceneItemDto> item) { SceneItemPanel panel = new SceneItemPanel(ID_ITEM, item.getModel()); panel.setRenderBodyOnly(true); item.add(panel); } }; items.setReuseItems(true); itemsTable.add(items); body.add(itemsTable); ListView<SceneDto> partialScenes = new ListView<SceneDto>(ID_PARTIAL_SCENES, new PropertyModel<List<SceneDto>>(model, SceneDto.F_PARTIAL_SCENES)) { @Override protected void populateItem(ListItem<SceneDto> item) { ScenePanel panel = new ScenePanel(ID_PARTIAL_SCENE, item.getModel()); panel.setOutputMarkupPlaceholderTag(true); item.add(panel); } }; partialScenes.setReuseItems(true); body.add(partialScenes); }
From source file:com.evolveum.midpoint.web.component.prism.SimpleErrorPanel.java
License:Apache License
@Override protected void initLayout() { Label icon = new Label(ID_ICON); add(icon);//from w w w . java 2 s .co m Label description = new Label(ID_DESCRIPTION, new AbstractReadOnlyModel<String>() { @Override public String getObject() { return getDescription(); } }); add(description); AjaxLink link = new AjaxLink(ID_LINK) { @Override public void onClick(AjaxRequestTarget target) { onShowMorePerformed(target); } }; add(link); Label showMore = new Label(ID_SHOW_MORE, new AbstractReadOnlyModel<String>() { @Override public String getObject() { return createStringResource("simpleErrorPanel.label.showMore").getString(); } }); link.add(showMore); }
From source file:com.evolveum.midpoint.web.component.progress.ProgressPanel.java
License:Apache License
protected void initLayout() { contentsPanel = new WebMarkupContainer(ID_CONTENTS_PANEL); contentsPanel.setOutputMarkupId(true); add(contentsPanel);/* www. j a v a2 s . c om*/ ListView statusItemsListView = new ListView<ProgressReportActivityDto>(ID_ACTIVITIES, new AbstractReadOnlyModel<List<ProgressReportActivityDto>>() { @Override public List<ProgressReportActivityDto> getObject() { ProgressDto progressDto = ProgressPanel.this.getModelObject(); return progressDto.getProgressReportActivities(); } }) { protected void populateItem(final ListItem<ProgressReportActivityDto> item) { item.add(new Label(ID_ACTIVITY_DESCRIPTION, new AbstractReadOnlyModel<String>() { @Override public String getObject() { ProgressReportActivityDto si = item.getModelObject(); if (si.getActivityType() == RESOURCE_OBJECT_OPERATION && si.getResourceShadowDiscriminator() != null) { ResourceShadowDiscriminator rsd = si.getResourceShadowDiscriminator(); return createStringResource(rsd.getKind()).getString() + " (" + rsd.getIntent() + ") on " + si.getResourceName(); // TODO correct i18n } else { return createStringResource(si.getActivityType()).getString(); } } })); item.add(createImageLabel(ID_ACTIVITY_STATE, new AbstractReadOnlyModel<String>() { @Override public String getObject() { OperationResultStatusType statusType = item.getModelObject().getStatus(); if (statusType == null) { return null; } else { return OperationResultStatusIcon.parseOperationalResultStatus(statusType).getIcon(); } } }, new AbstractReadOnlyModel<String>() { @Override public String getObject() { // TODO why this does not work??? OperationResultStatusType statusType = item.getModelObject().getStatus(); // TODO i18n if (statusType == null) { return null; } else { return statusType.toString(); } } })); item.add(new Label(ID_ACTIVITY_COMMENT, new AbstractReadOnlyModel<String>() { @Override public String getObject() { ProgressReportActivityDto si = item.getModelObject(); if (si.getResourceName() != null || si.getResourceOperationResultList() != null) { StringBuilder sb = new StringBuilder(); boolean first = true; if (si.getResourceOperationResultList() != null) { for (ResourceOperationResult ror : si.getResourceOperationResultList()) { if (!first) { sb.append(", "); } else { first = false; } sb.append( createStringResource("ChangeType." + ror.getChangeType()).getString()); sb.append(":"); sb.append(createStringResource(ror.getResultStatus()).getString()); } } if (si.getResourceObjectName() != null) { if (!first) { sb.append(" -> "); } sb.append(si.getResourceObjectName()); } return sb.toString(); } else { return null; } } })); } private Label createImageLabel(String id, IModel<String> cssClass, IModel<String> title) { Label label = new Label(id); label.add(AttributeModifier.replace("class", cssClass)); label.add(AttributeModifier.replace("title", title)); // does not work, currently return label; } }; contentsPanel.add(statusItemsListView); ListView logItemsListView = new ListView(ID_LOG_ITEMS, new AbstractReadOnlyModel<List>() { @Override public List getObject() { ProgressDto progressDto = ProgressPanel.this.getModelObject(); return progressDto.getLogItems(); } }) { protected void populateItem(ListItem item) { item.add(new Label(ID_LOG_ITEM, item.getModel())); } }; contentsPanel.add(logItemsListView); Label executionTime = new Label(ID_EXECUTION_TIME, new AbstractReadOnlyModel<String>() { @Override public String getObject() { if (operationDurationTime > 0) { return createStringResource("ProgressPanel.ExecutionTimeWhenFinished", operationDurationTime) .getString(); } else if (operationStartTime > 0) { return createStringResource("ProgressPanel.ExecutionTimeWhenRunning", (System.currentTimeMillis() - operationStartTime) / 1000).getString(); } else { return null; } } }); contentsPanel.add(executionTime); }
From source file:com.evolveum.midpoint.web.component.refresh.AutoRefreshPanel.java
License:Apache License
private void initLayout(final Refreshable refreshable, boolean inSummaryPanel) { final LinkIconPanel refreshNow = new LinkIconPanel(ID_REFRESH_NOW, new Model("fa fa-refresh"), createStringResource("autoRefreshPanel.refreshNow")) { @Override/* w w w. java 2 s . c o m*/ protected void onClickPerformed(AjaxRequestTarget target) { refreshable.refresh(target); } }; refreshNow.setRenderBodyOnly(true); add(refreshNow); final LinkIconPanel resumeRefreshing = new LinkIconPanel(ID_START, new Model("fa fa-play"), createStringResource("autoRefreshPanel.resumeRefreshing")) { @Override protected void onClickPerformed(AjaxRequestTarget target) { getModelObject().setEnabled(true); refreshable.refresh(target); startRefreshing(refreshable, target); } }; resumeRefreshing.setRenderBodyOnly(true); resumeRefreshing.add(new VisibleEnableBehaviour() { @Override public boolean isVisible() { return !getModelObject().isEnabled(); } }); add(resumeRefreshing); final LinkIconPanel pauseRefreshing = new LinkIconPanel(ID_PAUSE, new Model("fa fa-pause"), createStringResource("autoRefreshPanel.pauseRefreshing")) { @Override protected void onClickPerformed(AjaxRequestTarget target) { getModelObject().setEnabled(false); refreshable.refresh(target); stopRefreshing(refreshable, target); } }; pauseRefreshing.setRenderBodyOnly(true); pauseRefreshing.add(new VisibleEnableBehaviour() { @Override public boolean isVisible() { return getModelObject().isEnabled(); } }); add(pauseRefreshing); final Label status = new Label(ID_STATUS, new AbstractReadOnlyModel<String>() { @Override public String getObject() { AutoRefreshDto dto = getModelObject(); if (dto.isEnabled()) { return createStringResource("autoRefreshPanel.refreshingEach", dto.getInterval() / 1000) .getString(); } else { return createStringResource("autoRefreshPanel.noRefreshing").getString(); } } }); status.setRenderBodyOnly(true); add(status); if (inSummaryPanel) { add(new AttributeModifier("class", "summary-tag")); } }