Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/feature/simulations' into featur…
Browse files Browse the repository at this point in the history
…e/simulations
  • Loading branch information
mederly committed Dec 12, 2022
2 parents d3c32e0 + cd78d59 commit 7a1a8ff
Show file tree
Hide file tree
Showing 33 changed files with 744 additions and 755 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,6 @@
*/
package com.evolveum.midpoint.gui.api.component.delta;

import com.evolveum.midpoint.model.api.visualizer.Visualization;

import org.apache.wicket.AttributeModifier;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.behavior.AttributeAppender;
Expand All @@ -18,8 +16,8 @@

import com.evolveum.midpoint.gui.api.component.BasePanel;
import com.evolveum.midpoint.gui.api.component.result.OperationResultPopupPanel;
import com.evolveum.midpoint.gui.api.model.ReadOnlyModel;
import com.evolveum.midpoint.gui.api.page.PageBase;
import com.evolveum.midpoint.model.api.visualizer.Visualization;
import com.evolveum.midpoint.prism.delta.ObjectDelta;
import com.evolveum.midpoint.schema.DeltaConvertor;
import com.evolveum.midpoint.schema.result.OperationResult;
Expand All @@ -30,8 +28,8 @@
import com.evolveum.midpoint.util.logging.Trace;
import com.evolveum.midpoint.util.logging.TraceManager;
import com.evolveum.midpoint.web.component.AjaxButton;
import com.evolveum.midpoint.web.component.prism.show.SceneDto;
import com.evolveum.midpoint.web.component.prism.show.ScenePanel;
import com.evolveum.midpoint.web.component.prism.show.VisualizationDto;
import com.evolveum.midpoint.web.component.prism.show.VisualizationPanel;
import com.evolveum.midpoint.web.component.util.VisibleBehaviour;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectDeltaOperationType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectType;
Expand Down Expand Up @@ -100,26 +98,26 @@ public IModel<?> getBody() {
new PropertyModel<>(getModel(), ObjectDeltaOperationType.F_OBJECT_NAME.getLocalPart()));
objectName.setOutputMarkupId(true);
objectDeltaOperationMarkup.add(objectName);
final SceneDto sceneDto;
final VisualizationDto visualizationDto;
try {
sceneDto = loadSceneForDelta();
visualizationDto = loadVisualizationForDelta();
} catch (SchemaException | ExpressionEvaluationException e) {
OperationResult result = new OperationResult(ObjectDeltaOperationPanel.class.getName() + ".loadSceneForDelta");
result.recordFatalError(createStringResource("ObjectDeltaOperationPanel.message.fetchOrVisualize.fatalError", e.getMessage()).getString(), e);
parentPage.showResult(result);
throw parentPage.redirectBackViaRestartResponseException();
}
IModel<SceneDto> deltaModel = new IModel<SceneDto>() {
IModel<VisualizationDto> deltaModel = new IModel<>() {
private static final long serialVersionUID = 1L;

public SceneDto getObject() {
return sceneDto;
public VisualizationDto getObject() {
return visualizationDto;
}

};
ScenePanel deltaPanel = new ScenePanel(ID_DELTA_PANEL, deltaModel, true) {
VisualizationPanel deltaPanel = new VisualizationPanel(ID_DELTA_PANEL, deltaModel, true) {
@Override
public void headerOnClickPerformed(AjaxRequestTarget target, IModel<SceneDto> model) {
public void headerOnClickPerformed(AjaxRequestTarget target, IModel<VisualizationDto> model) {
super.headerOnClickPerformed(target, model);
// model.getObject().setMinimized(!model.getObject().isMinimized());
target.add(ObjectDeltaOperationPanel.this);
Expand Down Expand Up @@ -163,8 +161,8 @@ private String getBoxCssClass() {

}

private SceneDto loadSceneForDelta() throws SchemaException, ExpressionEvaluationException {
Visualization scene;
private VisualizationDto loadVisualizationForDelta() throws SchemaException, ExpressionEvaluationException {
Visualization visualization;

ObjectDelta<? extends ObjectType> delta;
ObjectDeltaType deltaType = getModel().getObject().getObjectDelta();
Expand All @@ -176,17 +174,17 @@ private SceneDto loadSceneForDelta() throws SchemaException, ExpressionEvaluatio
throw e;
}
try {
scene = parentPage.getModelInteractionService().visualizeDelta(delta, true, getIncludeOriginalObject(),
visualization = parentPage.getModelInteractionService().visualizeDelta(delta, true, getIncludeOriginalObject(),
parentPage.createSimpleTask(ID_PARAMETERS_DELTA),
new OperationResult(ID_PARAMETERS_DELTA));
} catch (SchemaException | ExpressionEvaluationException e) {
LoggingUtils.logException(LOGGER, "SchemaException while visualizing delta:\n{}",
e, DebugUtil.debugDump(delta));
throw e;
}
SceneDto deltaSceneDto = new SceneDto(scene);
deltaSceneDto.setMinimized(true);
return deltaSceneDto;
VisualizationDto visualizationDto = new VisualizationDto(visualization);
visualizationDto.setMinimized(true);
return visualizationDto;

}

Expand All @@ -201,7 +199,7 @@ private void showFullResultsPerformed(AjaxRequestTarget target) {
}

private IModel<OperationResult> createOperationResultModel() {
return new ReadOnlyModel<>(() -> {
return () -> {
if (getModelObject() == null) {
return null;
}
Expand All @@ -210,6 +208,6 @@ private IModel<OperationResult> createOperationResultModel() {
return null;
}
return OperationResult.createOperationResult(executionResult);
});
};
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,6 @@
import javax.xml.datatype.XMLGregorianCalendar;
import javax.xml.namespace.QName;

import com.evolveum.midpoint.gui.api.component.result.Toast;

import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.Validate;
Expand Down Expand Up @@ -83,6 +81,7 @@
import com.evolveum.midpoint.gui.api.GuiStyleConstants;
import com.evolveum.midpoint.gui.api.component.BasePanel;
import com.evolveum.midpoint.gui.api.component.MainObjectListPanel;
import com.evolveum.midpoint.gui.api.component.result.Toast;
import com.evolveum.midpoint.gui.api.factory.wrapper.WrapperContext;
import com.evolveum.midpoint.gui.api.model.LoadableModel;
import com.evolveum.midpoint.gui.api.model.NonEmptyModel;
Expand Down Expand Up @@ -187,8 +186,8 @@
import com.evolveum.midpoint.web.component.prism.InputPanel;
import com.evolveum.midpoint.web.component.prism.ItemVisibility;
import com.evolveum.midpoint.web.component.prism.ValueStatus;
import com.evolveum.midpoint.web.component.prism.show.SceneDto;
import com.evolveum.midpoint.web.component.prism.show.SceneUtil;
import com.evolveum.midpoint.web.component.prism.show.VisualizationDto;
import com.evolveum.midpoint.web.component.prism.show.VisualizationUtil;
import com.evolveum.midpoint.web.component.util.Selectable;
import com.evolveum.midpoint.web.component.util.SelectableBean;
import com.evolveum.midpoint.web.component.util.SelectableBeanImpl;
Expand Down Expand Up @@ -4426,11 +4425,11 @@ public String getIdValue(QName object, int index) {
};
}

public static SceneDto createSceneDto(CaseWorkItemType caseWorkItem, PageBase pageBase, String operation) {
public static VisualizationDto createVisualizationDto(CaseWorkItemType caseWorkItem, PageBase pageBase, String operation) {
if (caseWorkItem == null) {
return null;
}
return createSceneDto(CaseTypeUtil.getCase(caseWorkItem), pageBase, operation);
return createVisualizationDto(CaseTypeUtil.getCase(caseWorkItem), pageBase, operation);
}

public static List<EvaluatedTriggerGroupDto> computeTriggers(ApprovalContextType wfc, Integer stage) {
Expand All @@ -4449,7 +4448,7 @@ public static List<EvaluatedTriggerGroupDto> computeTriggers(ApprovalContextType
return triggers;
}

public static SceneDto createSceneDto(CaseType caseObject, PageBase pageBase, String operation) {
public static VisualizationDto createVisualizationDto(CaseType caseObject, PageBase pageBase, String operation) {
if (caseObject == null || caseObject.getApprovalContext() == null) {
return null;
}
Expand All @@ -4458,17 +4457,17 @@ public static SceneDto createSceneDto(CaseType caseObject, PageBase pageBase, St
OperationResult result = new OperationResult(operation);
Task task = pageBase.createSimpleTask(operation);
try {
Visualization deltasScene = SceneUtil.visualizeObjectTreeDeltas(caseObject.getApprovalContext().getDeltasToApprove(),
Visualization visualization = VisualizationUtil.visualizeObjectTreeDeltas(caseObject.getApprovalContext().getDeltasToApprove(),
CaseTypeUtil.isClosed(caseObject) ? "pageWorkItem.changesApplied" : "pageWorkItem.delta",
pageBase.getPrismContext(), pageBase.getModelInteractionService(), objectRef, task, result);
return new SceneDto(deltasScene);
return new VisualizationDto(visualization);
} catch (SchemaException | ExpressionEvaluationException ex) {
LOGGER.error("Unable to create delta visualization for case {}: {}", caseObject, ex.getLocalizedMessage(), ex);
}
return null;
}

public static SceneDto createSceneDtoForManualCase(CaseType caseObject, PageBase pageBase, String operation) {
public static VisualizationDto createVisualizationDtoForManualCase(CaseType caseObject, PageBase pageBase, String operation) {
if (caseObject == null || caseObject.getManualProvisioningContext() == null ||
caseObject.getManualProvisioningContext().getPendingOperation() == null) {
return null;
Expand All @@ -4477,9 +4476,9 @@ public static SceneDto createSceneDtoForManualCase(CaseType caseObject, PageBase
OperationResult result = new OperationResult(operation);
Task task = pageBase.createSimpleTask(operation);
try {
Visualization deltasScene = SceneUtil.visualizeObjectDeltaType(caseObject.getManualProvisioningContext().getPendingOperation().getDelta(),
Visualization deltaVisualization = VisualizationUtil.visualizeObjectDeltaType(caseObject.getManualProvisioningContext().getPendingOperation().getDelta(),
CaseTypeUtil.isClosed(caseObject) ? "pageWorkItem.changesApplied" : "pageWorkItem.changesToBeApplied", pageBase.getPrismContext(), pageBase.getModelInteractionService(), objectRef, task, result);
return new SceneDto(deltasScene);
return new VisualizationDto(deltaVisualization);
} catch (SchemaException | ExpressionEvaluationException ex) {
LOGGER.error("Unable to create delta visualization for case {}: {}", caseObject, ex.getLocalizedMessage(), ex);
}
Expand Down Expand Up @@ -4627,10 +4626,10 @@ public static <T> T runUnderPowerOfAttorneyIfNeeded(CheckedProducer<T> producer,
}

@NotNull
public static List<SceneDto> computeChangesCategorizationList(ChangesByState changesByState, ObjectReferenceType objectRef,
public static List<VisualizationDto> computeChangesCategorizationList(ChangesByState changesByState, ObjectReferenceType objectRef,
ModelInteractionService modelInteractionService, PrismContext prismContext, Task opTask,
OperationResult thisOpResult) throws SchemaException, ExpressionEvaluationException {
List<SceneDto> changes = new ArrayList<>();
List<VisualizationDto> changes = new ArrayList<>();
if (!changesByState.getApplied().isEmpty()) {
changes.add(createTaskChangesDto("TaskDto.changesApplied", "card-success", changesByState.getApplied(),
modelInteractionService, prismContext, objectRef, opTask, thisOpResult));
Expand Down Expand Up @@ -4658,13 +4657,13 @@ public static List<SceneDto> computeChangesCategorizationList(ChangesByState cha
return changes;
}

private static SceneDto createTaskChangesDto(String titleKey, String boxClassOverride, ObjectTreeDeltas deltas, ModelInteractionService modelInteractionService,
private static VisualizationDto createTaskChangesDto(String titleKey, String boxClassOverride, ObjectTreeDeltas deltas, ModelInteractionService modelInteractionService,
PrismContext prismContext, ObjectReferenceType objectRef, Task opTask, OperationResult result) throws SchemaException, ExpressionEvaluationException {
ObjectTreeDeltasType deltasType = ObjectTreeDeltas.toObjectTreeDeltasType(deltas);
Visualization scene = SceneUtil.visualizeObjectTreeDeltas(deltasType, titleKey, prismContext, modelInteractionService, objectRef, opTask, result);
SceneDto sceneDto = new SceneDto(scene);
sceneDto.setBoxClassOverride(boxClassOverride);
return sceneDto;
Visualization visualization = VisualizationUtil.visualizeObjectTreeDeltas(deltasType, titleKey, prismContext, modelInteractionService, objectRef, opTask, result);
VisualizationDto visualizationDto = new VisualizationDto(visualization);
visualizationDto.setBoxClassOverride(boxClassOverride);
return visualizationDto;
}

public static String getMidpointCustomSystemName(PageAdminLTE pageBase, String defaultSystemNameKey) {
Expand Down Expand Up @@ -5422,15 +5421,15 @@ public static AdminLTESkin getMidPointSkin() {
return AdminLTESkin.create(skin);
}

public static void createToastForUpdateResource(AjaxRequestTarget target, Component panel){
public static void createToastForUpdateResource(AjaxRequestTarget target, Component panel) {
createToastForResource(target, panel, "ResourceWizardPanel.updateResource");
}

public static void createToastForCreateResource(AjaxRequestTarget target, Component panel){
public static void createToastForCreateResource(AjaxRequestTarget target, Component panel) {
createToastForResource(target, panel, "ResourceWizardPanel.createResource");
}

private static void createToastForResource(AjaxRequestTarget target, Component panel, String key){
private static void createToastForResource(AjaxRequestTarget target, Component panel, String key) {
new Toast()
.success()
.title(panel.getString(key))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@
*/
package com.evolveum.midpoint.gui.impl.page.admin.cases.component;

import org.apache.wicket.model.IModel;

import com.evolveum.midpoint.gui.api.model.LoadableModel;
import com.evolveum.midpoint.gui.api.page.PageBase;
import com.evolveum.midpoint.gui.api.util.WebComponentUtil;
Expand All @@ -16,14 +18,11 @@
import com.evolveum.midpoint.web.application.PanelDisplay;
import com.evolveum.midpoint.web.application.PanelInstance;
import com.evolveum.midpoint.web.application.PanelType;
import com.evolveum.midpoint.web.component.prism.show.SceneDto;
import com.evolveum.midpoint.web.component.prism.show.ScenePanel;
import com.evolveum.midpoint.web.component.prism.show.VisualizationDto;
import com.evolveum.midpoint.web.component.prism.show.VisualizationPanel;
import com.evolveum.midpoint.xml.ns._public.common.common_3.CaseType;

import com.evolveum.midpoint.xml.ns._public.common.common_3.ContainerPanelConfigurationType;

import org.apache.wicket.model.IModel;

/**
* Created by honchar
*/
Expand All @@ -38,22 +37,22 @@ public class ManualCasePanel extends AbstractObjectMainPanel<CaseType, Assignmen
private static final String OPERATION_PREPARE_DELTA_VISUALIZATION = DOT_CLASS + "prepareDeltaVisualization";

private static final String ID_MANUAL_CASE_DETAILS_PANEL = "manualCaseDetailsPanel";
private IModel<SceneDto> sceneModel;
private IModel<VisualizationDto> visualizationModel;

public ManualCasePanel(String id, AssignmentHolderDetailsModel<CaseType> objectWrapperModel, ContainerPanelConfigurationType config) {
super(id, objectWrapperModel, config);
initModels();
}

private void initModels(){
sceneModel = new LoadableModel<SceneDto>(false) {
private void initModels() {
visualizationModel = new LoadableModel<>(false) {
@Override
protected SceneDto load() {
protected VisualizationDto load() {
PageBase pageBase = ManualCasePanel.this.getPageBase();
try {
return WebComponentUtil.createSceneDtoForManualCase(ManualCasePanel.this.getObjectWrapperModel().getObject().getObject().asObjectable(),
pageBase, OPERATION_PREPARE_DELTA_VISUALIZATION);
} catch (Exception ex){
return WebComponentUtil.createVisualizationDtoForManualCase(ManualCasePanel.this.getObjectWrapperModel().getObject().getObject().asObjectable(),
pageBase, OPERATION_PREPARE_DELTA_VISUALIZATION);
} catch (Exception ex) {
LOGGER.error("Couldn't prepare delta visualization: {}", ex.getLocalizedMessage());
}
return null;
Expand All @@ -62,9 +61,9 @@ protected SceneDto load() {
}

protected void initLayout() {
ScenePanel scenePanel = new ScenePanel(ID_MANUAL_CASE_DETAILS_PANEL, sceneModel);
scenePanel.setOutputMarkupId(true);
add(scenePanel);
VisualizationPanel visualization = new VisualizationPanel(ID_MANUAL_CASE_DETAILS_PANEL, visualizationModel);
visualization.setOutputMarkupId(true);
add(visualization);
}

}

0 comments on commit 7a1a8ff

Please sign in to comment.