Skip to content

Commit

Permalink
simulations, processed objects (PO) results/statuses ui support. resu…
Browse files Browse the repository at this point in the history
…lt displayed only for non success PO
  • Loading branch information
1azyman committed Mar 22, 2023
1 parent f3f0904 commit 049efca
Show file tree
Hide file tree
Showing 3 changed files with 54 additions and 33 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -129,4 +129,12 @@ public static String translateEnum(Enum<?> e, String nullKey) {
String key = WebComponentUtil.createEnumResourceKey(e);
return translate(key);
}

public static <T extends Enum> String createKeyForEnum(T value) {
if (value == null) {
return null;
}

return value.getClass().getSimpleName() + "." + value.name();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -985,12 +985,12 @@ public static <O extends ObjectType> List<QName> resolveObjectTypesToQNames(Coll
return concreteTypes;
}

/**
* @deprecated see {@link com.evolveum.midpoint.gui.api.util.LocalizationUtil#createKeyForEnum(Enum)}
*/
@Deprecated
public static <T extends Enum> String createEnumResourceKey(T value) {
if (value == null) {
return null;
}

return value.getClass().getSimpleName() + "." + value.name();
return com.evolveum.midpoint.gui.api.util.LocalizationUtil.createKeyForEnum(value);
}

public static <T extends Enum> IModel<String> createLocalizedModelForEnum(T value, Component comp) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,30 +7,12 @@

package com.evolveum.midpoint.gui.impl.page.admin.simulation;

import java.util.*;
import java.util.stream.Collectors;
import javax.xml.namespace.QName;

import com.google.common.collect.Lists;
import org.apache.commons.lang3.StringUtils;
import org.apache.wicket.Component;
import org.apache.wicket.RestartResponseException;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.extensions.markup.html.repeater.data.grid.ICellPopulator;
import org.apache.wicket.extensions.markup.html.repeater.data.table.AbstractColumn;
import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn;
import org.apache.wicket.extensions.markup.html.repeater.data.table.LambdaColumn;
import org.apache.wicket.markup.repeater.Item;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.LoadableDetachableModel;
import org.apache.wicket.request.mapper.parameter.PageParameters;
import org.jetbrains.annotations.NotNull;

import com.evolveum.midpoint.gui.api.GuiStyleConstants;
import com.evolveum.midpoint.gui.api.component.ObjectBrowserPanel;
import com.evolveum.midpoint.gui.api.component.data.provider.ISelectableDataProvider;
import com.evolveum.midpoint.gui.api.component.result.OperationResultPopupPanel;
import com.evolveum.midpoint.gui.api.page.PageBase;
import com.evolveum.midpoint.gui.api.util.LocalizationUtil;
import com.evolveum.midpoint.gui.api.util.WebComponentUtil;
import com.evolveum.midpoint.gui.impl.component.ContainerableListPanel;
import com.evolveum.midpoint.gui.impl.component.icon.CompositedIconBuilder;
Expand All @@ -46,6 +28,7 @@
import com.evolveum.midpoint.prism.query.ObjectFilter;
import com.evolveum.midpoint.schema.DeltaConvertor;
import com.evolveum.midpoint.schema.result.OperationResult;
import com.evolveum.midpoint.schema.result.OperationResultStatus;
import com.evolveum.midpoint.task.api.Task;
import com.evolveum.midpoint.util.DisplayableValue;
import com.evolveum.midpoint.util.MiscUtil;
Expand All @@ -62,6 +45,24 @@
import com.evolveum.midpoint.web.session.UserProfileStorage;
import com.evolveum.midpoint.xml.ns._public.common.common_3.*;
import com.evolveum.prism.xml.ns._public.types_3.ObjectDeltaType;
import com.google.common.collect.Lists;
import org.apache.commons.lang3.StringUtils;
import org.apache.wicket.Component;
import org.apache.wicket.RestartResponseException;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.extensions.markup.html.repeater.data.grid.ICellPopulator;
import org.apache.wicket.extensions.markup.html.repeater.data.table.AbstractColumn;
import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn;
import org.apache.wicket.extensions.markup.html.repeater.data.table.LambdaColumn;
import org.apache.wicket.markup.repeater.Item;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.LoadableDetachableModel;
import org.apache.wicket.request.mapper.parameter.PageParameters;
import org.jetbrains.annotations.NotNull;

import javax.xml.namespace.QName;
import java.util.*;
import java.util.stream.Collectors;

/**
* Created by Viliam Repan (lazyman).
Expand Down Expand Up @@ -169,14 +170,26 @@ protected void onIconClicked(AjaxRequestTarget target) {

@Override
protected IModel<String> createIconCssModel() {
// todo add condition
return () -> GuiStyleConstants.CLASS_OP_RESULT_STATUS_ICON_WARNING_COLORED;
return () -> {
OperationResultStatus status = model.getObject().getResultStatus();
if (status == null) {
return null;
}

return status.isConsideredSuccess() ? null : GuiStyleConstants.CLASS_OP_RESULT_STATUS_ICON_WARNING_COLORED;
};
}

@Override
protected IModel<String> createIconTitleModel() {
// todo icon title
return super.createIconTitleModel();
return () -> {
OperationResultStatus status = model.getObject().getResultStatus();
if (status == null) {
return null;
}

return getString(LocalizationUtil.createKeyForEnum(status));
};
}
});
}
Expand All @@ -186,7 +199,7 @@ protected IModel<String> createIconTitleModel() {
private void showOperationResult(AjaxRequestTarget target, IModel<ProcessedObject<?>> model) {
PageBase page = getPageBase();

IModel<OperationResult> result = () -> null; // todo fix result
IModel<OperationResult> result = () -> model.getObject().getResult();

page.showMainPopup(new OperationResultPopupPanel(page.getMainPopupBodyId(), result), target);
}
Expand Down Expand Up @@ -379,7 +392,7 @@ private IColumn<SelectableBean<SimulationResultProcessedObjectType>, String> cre
return new AbstractColumn<>(displayModel, SimulationResultProcessedObjectType.F_STATE.getLocalPart()) {
@Override
public void populateItem(Item<ICellPopulator<SelectableBean<SimulationResultProcessedObjectType>>> item, String id,
IModel<SelectableBean<SimulationResultProcessedObjectType>> row) {
IModel<SelectableBean<SimulationResultProcessedObjectType>> row) {

item.add(SimulationsGuiUtil.createProcessedObjectStateLabel(id, () -> row.getObject().getValue()));
}
Expand Down Expand Up @@ -426,7 +439,7 @@ public void refreshTable(AjaxRequestTarget target) {
}

private void markObjects(IModel<SelectableBean<SimulationResultProcessedObjectType>> rowModel, List<String> markOids,
AjaxRequestTarget target) {
AjaxRequestTarget target) {
OperationResult result = new OperationResult(OPERATION_MARK_SHADOW);
Task task = getPageBase().createSimpleTask(OPERATION_MARK_SHADOW);

Expand Down Expand Up @@ -462,8 +475,8 @@ private void markObjects(IModel<SelectableBean<SimulationResultProcessedObjectTy
statements.toArray(new PolicyStatementType[0]));
getPageBase().getModelService().executeChanges(MiscUtil.createCollection(delta), null, task, result);
} catch (ObjectAlreadyExistsException | ObjectNotFoundException | SchemaException
| ExpressionEvaluationException | CommunicationException | ConfigurationException
| PolicyViolationException | SecurityViolationException e) {
| ExpressionEvaluationException | CommunicationException | ConfigurationException
| PolicyViolationException | SecurityViolationException e) {
result.recordPartialError(
createStringResource(
"ResourceContentPanel.message.markShadowPerformed.partialError", shadow)
Expand Down

0 comments on commit 049efca

Please sign in to comment.