Skip to content

Commit

Permalink
skeleton for business role wizard when invoked from role mining
Browse files Browse the repository at this point in the history
  • Loading branch information
katkav committed Aug 10, 2023
1 parent 7a22c9c commit 748e9dd
Show file tree
Hide file tree
Showing 56 changed files with 401 additions and 148 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -95,9 +95,13 @@ private AbstractPageObjectDetails(PageParameters params, PrismObject<O> object,
isAdd = (params == null || params.isEmpty()) && object == null;
objectDetailsModels = createObjectDetailsModels(object);

if (patternDeltas != null && !patternDeltas.isEmpty()) {
objectDetailsModels.addPatternDeltas(patternDeltas);
}
// if (patternDeltas != null && !patternDeltas.isEmpty()) {
// objectDetailsModels.addPatternDeltas(patternDeltas);
// }
}

protected void postProcessModel(ODM objectDetailsModels) {

}

public AbstractPageObjectDetails(PrismObject<O> object, List<BusinessRoleApplicationDto> patternDeltas) {
Expand All @@ -107,6 +111,7 @@ public AbstractPageObjectDetails(PrismObject<O> object, List<BusinessRoleApplica
@Override
protected void onInitialize() {
super.onInitialize();
postProcessModel(objectDetailsModels);
initLayout();
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ public class ObjectDetailsModels<O extends ObjectType> implements Serializable,

private LoadableDetachableModel<O> summaryModel;
private List<ObjectDelta<? extends ObjectType>> savedDeltas = new ArrayList<>();
private List<BusinessRoleApplicationDto> patternDeltas = new ArrayList<>();


public ObjectDetailsModels(LoadableDetachableModel<PrismObject<O>> prismObjectModel, ModelServiceLocator serviceLocator) {
this.prismObjectModel = prismObjectModel;
Expand Down Expand Up @@ -464,15 +464,4 @@ private void mergeDeltas(
retDeltas.addAll(actualDeltas);
}

public void setPatternDeltas(List<BusinessRoleApplicationDto> patternDeltas) {
this.patternDeltas = patternDeltas;
}

public void addPatternDeltas(List<BusinessRoleApplicationDto> patternDeltas) {
this.patternDeltas.addAll(patternDeltas);
}

public List<BusinessRoleApplicationDto> getPatternDeltas() {
return patternDeltas;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
/*
* Copyright (C) 2023 Evolveum and contributors
*
* This work is dual-licensed under the Apache License 2.0
* and European Union Public License. See LICENSE file for details.
*/

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

import com.evolveum.midpoint.gui.api.page.PageBase;
import com.evolveum.midpoint.gui.impl.page.admin.focus.FocusDetailsModels;
import com.evolveum.midpoint.gui.impl.page.admin.role.mining.panel.BusinessRoleApplicationDto;
import com.evolveum.midpoint.prism.PrismObject;
import com.evolveum.midpoint.xml.ns._public.common.common_3.AbstractRoleType;

import org.apache.wicket.model.LoadableDetachableModel;

import java.util.ArrayList;
import java.util.List;

public class AbstractRoleDetailsModel<AR extends AbstractRoleType> extends FocusDetailsModels<AR> {

private List<BusinessRoleApplicationDto> patternDeltas = new ArrayList<>();

public AbstractRoleDetailsModel(LoadableDetachableModel<PrismObject<AR>> prismObjectModel, PageBase serviceLocator) {
super(prismObjectModel, serviceLocator);
}

public AbstractRoleDetailsModel(LoadableDetachableModel<PrismObject<AR>> prismObjectModel, boolean history, PageBase serviceLocator) {
super(prismObjectModel, history, serviceLocator);
}

public void setPatternDeltas(List<BusinessRoleApplicationDto> patternDeltas) {
this.patternDeltas = patternDeltas;
}

public void addPatternDeltas(List<BusinessRoleApplicationDto> patternDeltas) {
this.patternDeltas.addAll(patternDeltas);
}

public List<BusinessRoleApplicationDto> getPatternDeltas() {
return patternDeltas;
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.request.mapper.parameter.PageParameters;

import com.evolveum.midpoint.gui.impl.page.admin.assignmentholder.FocusDetailsModels;
import com.evolveum.midpoint.gui.impl.page.admin.focus.FocusDetailsModels;
import com.evolveum.midpoint.gui.impl.page.admin.focus.PageFocusDetails;
import com.evolveum.midpoint.gui.impl.page.admin.role.component.wizard.construction.ConstructionWizardPanel;
import com.evolveum.midpoint.gui.impl.page.admin.role.mining.panel.BusinessRoleApplicationDto;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@
import com.evolveum.midpoint.gui.impl.component.search.SearchContext;
import com.evolveum.midpoint.gui.impl.component.search.wrapper.AbstractRoleSearchItemWrapper;
import com.evolveum.midpoint.gui.impl.page.admin.AbstractObjectMainPanel;
import com.evolveum.midpoint.gui.impl.page.admin.assignmentholder.FocusDetailsModels;
import com.evolveum.midpoint.gui.impl.page.admin.focus.FocusDetailsModels;
import com.evolveum.midpoint.model.api.AssignmentCandidatesSpecification;
import com.evolveum.midpoint.model.api.AssignmentObjectRelation;
import com.evolveum.midpoint.model.api.authentication.CompiledObjectCollectionView;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@

import com.evolveum.midpoint.gui.api.GuiStyleConstants;
import com.evolveum.midpoint.gui.impl.page.admin.AbstractObjectMainPanel;
import com.evolveum.midpoint.gui.impl.page.admin.assignmentholder.FocusDetailsModels;
import com.evolveum.midpoint.gui.impl.page.admin.focus.FocusDetailsModels;
import com.evolveum.midpoint.web.application.PanelDisplay;
import com.evolveum.midpoint.web.application.PanelInstance;
import com.evolveum.midpoint.web.application.PanelType;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
import com.evolveum.midpoint.gui.api.util.WebComponentUtil;
import com.evolveum.midpoint.gui.impl.component.search.*;
import com.evolveum.midpoint.gui.impl.component.tile.*;
import com.evolveum.midpoint.gui.impl.page.admin.assignmentholder.FocusDetailsModels;
import com.evolveum.midpoint.gui.impl.page.admin.focus.FocusDetailsModels;
import com.evolveum.midpoint.gui.impl.page.admin.resource.component.TemplateTile;
import com.evolveum.midpoint.gui.impl.page.self.requestAccess.PageableListView;
import com.evolveum.midpoint.model.api.authentication.CompiledObjectCollectionView;
Expand All @@ -22,7 +22,6 @@
import com.evolveum.midpoint.schema.constants.ExpressionConstants;
import com.evolveum.midpoint.schema.constants.RelationTypes;
import com.evolveum.midpoint.schema.util.ObjectTypeUtil;
import com.evolveum.midpoint.task.api.Task;
import com.evolveum.midpoint.util.QNameUtil;
import com.evolveum.midpoint.web.application.PanelDisplay;
import com.evolveum.midpoint.web.application.PanelType;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
import java.util.ArrayList;
import java.util.List;

import com.evolveum.midpoint.gui.impl.page.admin.abstractrole.AbstractRoleDetailsModel;
import com.evolveum.midpoint.model.api.visualizer.Visualization;
import com.evolveum.midpoint.prism.delta.ObjectDelta;

Expand Down Expand Up @@ -41,7 +42,7 @@
import com.evolveum.midpoint.gui.api.util.GuiDisplayTypeUtil;
import com.evolveum.midpoint.gui.api.util.WebComponentUtil;
import com.evolveum.midpoint.gui.impl.page.admin.AbstractObjectMainPanel;
import com.evolveum.midpoint.gui.impl.page.admin.assignmentholder.FocusDetailsModels;
import com.evolveum.midpoint.gui.impl.page.admin.focus.FocusDetailsModels;
import com.evolveum.midpoint.gui.impl.page.admin.role.PageRole;
import com.evolveum.midpoint.gui.impl.page.admin.role.mining.panel.BusinessRoleApplicationDto;
import com.evolveum.midpoint.util.exception.SchemaException;
Expand All @@ -59,17 +60,17 @@
/**
* Created by tchrapovic.
*/
@PanelType(name = "modificationTarget")
@PanelInstance(identifier = "modificationTarget",
applicableForType = AbstractRoleType.class,
display = @PanelDisplay(label = "pageAdminFocus.modificationTarget", icon = GuiStyleConstants.CLASS_GROUP_ICON, order = 60))
public class ModificationTargetPanel<AR extends AbstractRoleType> extends AbstractObjectMainPanel<AR, FocusDetailsModels<AR>> {
//@PanelType(name = "modificationTarget")
//@PanelInstance(identifier = "modificationTarget",
// applicableForType = AbstractRoleType.class,
// display = @PanelDisplay(label = "pageAdminFocus.modificationTarget", icon = GuiStyleConstants.CLASS_GROUP_ICON, order = 60))
public class ModificationTargetPanel<AR extends AbstractRoleType> extends AbstractObjectMainPanel<AR, AbstractRoleDetailsModel<AR>> {
@Serial private static final long serialVersionUID = 1L;

private static final String ID_MODIFICATION_TARGET_CONTAINER = "modificationTargetContainer";
private static final String ID_MODIFICATION_TARGET_PANEL = "modificationTargetPanel";

public ModificationTargetPanel(String id, FocusDetailsModels<AR> focusWrapperModel, ContainerPanelConfigurationType config) {
public ModificationTargetPanel(String id, AbstractRoleDetailsModel<AR> focusWrapperModel, ContainerPanelConfigurationType config) {
super(id, focusWrapperModel, config);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
package com.evolveum.midpoint.gui.impl.page.admin.archetype;

import com.evolveum.midpoint.gui.impl.page.admin.abstractrole.PageAbstractRole;
import com.evolveum.midpoint.gui.impl.page.admin.assignmentholder.FocusDetailsModels;
import com.evolveum.midpoint.gui.impl.page.admin.focus.FocusDetailsModels;
import com.evolveum.midpoint.gui.impl.page.admin.assignmentholder.PageAssignmentHolderDetails;
import com.evolveum.midpoint.authentication.api.util.AuthConstants;

Expand All @@ -16,8 +16,6 @@
import com.evolveum.midpoint.util.logging.Trace;
import com.evolveum.midpoint.util.logging.TraceManager;

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

import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.model.IModel;
import org.apache.wicket.request.mapper.parameter.PageParameters;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,21 +8,16 @@
package com.evolveum.midpoint.gui.impl.page.admin.archetype.component;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import javax.xml.namespace.QName;

import com.evolveum.midpoint.gui.api.GuiStyleConstants;
import com.evolveum.midpoint.gui.api.util.WebComponentUtil;
import com.evolveum.midpoint.gui.impl.page.admin.abstractrole.component.AbstractRoleMemberPanel;
import com.evolveum.midpoint.gui.impl.page.admin.assignmentholder.FocusDetailsModels;
import com.evolveum.midpoint.schema.constants.SchemaConstants;
import com.evolveum.midpoint.gui.impl.page.admin.focus.FocusDetailsModels;
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.menu.cog.InlineMenuItem;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ArchetypeType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.AssignmentHolderType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ContainerPanelConfigurationType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.OperationTypeType;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@

import com.evolveum.midpoint.gui.api.prism.wrapper.ItemMandatoryHandler;
import com.evolveum.midpoint.gui.impl.page.admin.AbstractObjectMainPanel;
import com.evolveum.midpoint.gui.impl.page.admin.assignmentholder.FocusDetailsModels;
import com.evolveum.midpoint.gui.impl.page.admin.focus.FocusDetailsModels;
import com.evolveum.midpoint.gui.impl.prism.panel.SingleContainerPanel;
import com.evolveum.midpoint.prism.path.ItemPath;
import com.evolveum.midpoint.web.application.PanelDisplay;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,8 @@
*/
package com.evolveum.midpoint.gui.impl.page.admin.cases;

import com.evolveum.midpoint.gui.api.model.LoadableModel;
import com.evolveum.midpoint.gui.api.page.PageBase;
import com.evolveum.midpoint.gui.impl.page.admin.assignmentholder.AssignmentHolderDetailsModel;
import com.evolveum.midpoint.gui.impl.page.admin.assignmentholder.FocusDetailsModels;
import com.evolveum.midpoint.prism.PrismObject;
import com.evolveum.midpoint.util.logging.Trace;
import com.evolveum.midpoint.util.logging.TraceManager;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,14 @@
* This work is dual-licensed under the Apache License 2.0
* and European Union Public License. See LICENSE file for details.
*/
package com.evolveum.midpoint.gui.impl.page.admin.assignmentholder;
package com.evolveum.midpoint.gui.impl.page.admin.focus;

import java.util.ArrayList;
import java.util.Collection;
import java.util.List;

import com.evolveum.midpoint.gui.impl.page.admin.assignmentholder.AssignmentHolderDetailsModel;

import org.apache.wicket.model.LoadableDetachableModel;
import org.jetbrains.annotations.NotNull;

Expand Down Expand Up @@ -87,11 +89,11 @@ protected ExecuteChangeOptionsDto load() {
@Override
protected GuiObjectDetailsPageType loadDetailsPageConfiguration() {

if (getPatternDeltas() == null || getPatternDeltas().isEmpty()) {
GuiObjectDetailsPageType guiObjectDetailsPageType = super.loadDetailsPageConfiguration().clone();
hiddeAssignmentTargetPanel(guiObjectDetailsPageType);
return guiObjectDetailsPageType;
}
// if (getPatternDeltas() == null || getPatternDeltas().isEmpty()) {
// GuiObjectDetailsPageType guiObjectDetailsPageType = super.loadDetailsPageConfiguration().clone();
// hiddeAssignmentTargetPanel(guiObjectDetailsPageType);
// return guiObjectDetailsPageType;
// }

if (history) {
GuiObjectDetailsPageType guiObjectDetailsPageType = super.loadDetailsPageConfiguration().clone();
Expand All @@ -109,26 +111,26 @@ protected GuiObjectDetailsPageType loadDetailsPageConfiguration() {
return super.loadDetailsPageConfiguration();
}

private void hiddeAssignmentTargetPanel(GuiObjectDetailsPageType guiObjectDetailsPageType) {
List<ContainerPanelConfigurationType> containerPanelConfigurationTypeList = guiObjectDetailsPageType.getPanel();

for (ContainerPanelConfigurationType containerPanelConfigurationType : containerPanelConfigurationTypeList) {
String identifier = containerPanelConfigurationType
.getIdentifier();

if (identifier == null) {
continue;
}

if (identifier.equals(PANEL_TYPE_MODIFICATION_TARGET)) {
containerPanelConfigurationType.setVisibility(UserInterfaceElementVisibilityType.HIDDEN);
}
}

if (history) {
hiddeSpecificPanel(containerPanelConfigurationTypeList, visiblePanelIdentifierList());
}
}
// private void hiddeAssignmentTargetPanel(GuiObjectDetailsPageType guiObjectDetailsPageType) {
// List<ContainerPanelConfigurationType> containerPanelConfigurationTypeList = guiObjectDetailsPageType.getPanel();
//
// for (ContainerPanelConfigurationType containerPanelConfigurationType : containerPanelConfigurationTypeList) {
// String identifier = containerPanelConfigurationType
// .getIdentifier();
//
// if (identifier == null) {
// continue;
// }
//
// if (identifier.equals(PANEL_TYPE_MODIFICATION_TARGET)) {
// containerPanelConfigurationType.setVisibility(UserInterfaceElementVisibilityType.HIDDEN);
// }
// }
//
// if (history) {
// hiddeSpecificPanel(containerPanelConfigurationTypeList, visiblePanelIdentifierList());
// }
// }

private void hiddeSpecificPanel(List<ContainerPanelConfigurationType> item, List<String> visiblePanelIdentifierList) {
for (ContainerPanelConfigurationType containerPanelConfigurationType : item) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@
import java.util.*;

import com.evolveum.midpoint.gui.impl.page.admin.role.mining.panel.BusinessRoleApplicationDto;
import com.evolveum.midpoint.xml.ns._public.common.common_3.UserType;

import org.apache.commons.lang3.StringUtils;
import org.apache.wicket.MarkupContainer;
Expand All @@ -29,7 +28,6 @@
import com.evolveum.midpoint.gui.impl.page.admin.DetailsFragment;
import com.evolveum.midpoint.gui.impl.page.admin.ObjectChangeExecutor;
import com.evolveum.midpoint.gui.impl.page.admin.ProgressAwareChangesExecutorImpl;
import com.evolveum.midpoint.gui.impl.page.admin.assignmentholder.FocusDetailsModels;
import com.evolveum.midpoint.gui.impl.page.admin.assignmentholder.PageAssignmentHolderDetails;
import com.evolveum.midpoint.gui.impl.page.admin.component.FocusOperationalButtonsPanel;
import com.evolveum.midpoint.gui.impl.page.admin.component.ProgressPanel;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

import com.evolveum.midpoint.gui.api.GuiStyleConstants;
import com.evolveum.midpoint.gui.impl.page.admin.AbstractObjectMainPanel;
import com.evolveum.midpoint.gui.impl.page.admin.assignmentholder.FocusDetailsModels;
import com.evolveum.midpoint.gui.impl.page.admin.focus.FocusDetailsModels;
import com.evolveum.midpoint.gui.impl.prism.panel.SingleContainerPanel;
import com.evolveum.midpoint.prism.path.ItemPath;
import com.evolveum.midpoint.util.logging.Trace;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

import com.evolveum.midpoint.gui.api.GuiStyleConstants;
import com.evolveum.midpoint.gui.impl.page.admin.AbstractObjectMainPanel;
import com.evolveum.midpoint.gui.impl.page.admin.assignmentholder.FocusDetailsModels;
import com.evolveum.midpoint.gui.impl.page.admin.focus.FocusDetailsModels;
import com.evolveum.midpoint.prism.path.ItemPath;
import com.evolveum.midpoint.prism.query.ObjectFilter;
import com.evolveum.midpoint.web.application.*;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,18 +24,13 @@
import com.evolveum.midpoint.gui.api.GuiStyleConstants;
import com.evolveum.midpoint.gui.api.page.PageBase;
import com.evolveum.midpoint.gui.api.util.WebComponentUtil;
import com.evolveum.midpoint.gui.api.util.WebModelServiceUtils;
import com.evolveum.midpoint.gui.impl.page.admin.AbstractObjectMainPanel;
import com.evolveum.midpoint.gui.impl.page.admin.assignmentholder.FocusDetailsModels;
import com.evolveum.midpoint.gui.impl.page.admin.focus.FocusDetailsModels;
import com.evolveum.midpoint.gui.impl.page.admin.org.PageOrgHistory;
import com.evolveum.midpoint.gui.impl.page.admin.role.PageRoleHistory;
import com.evolveum.midpoint.gui.impl.page.admin.service.PageServiceHistory;
import com.evolveum.midpoint.gui.impl.page.admin.user.PageUserHistory;
import com.evolveum.midpoint.prism.PrismObject;
import com.evolveum.midpoint.prism.query.ObjectQuery;
import com.evolveum.midpoint.schema.result.OperationResult;
import com.evolveum.midpoint.task.api.Task;
import com.evolveum.midpoint.util.logging.LoggingUtils;
import com.evolveum.midpoint.util.logging.Trace;
import com.evolveum.midpoint.util.logging.TraceManager;
import com.evolveum.midpoint.web.application.PanelDisplay;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

import com.evolveum.midpoint.gui.api.GuiStyleConstants;
import com.evolveum.midpoint.gui.impl.page.admin.AbstractObjectMainPanel;
import com.evolveum.midpoint.gui.impl.page.admin.assignmentholder.FocusDetailsModels;
import com.evolveum.midpoint.gui.impl.page.admin.focus.FocusDetailsModels;
import com.evolveum.midpoint.gui.impl.prism.panel.SingleContainerPanel;
import com.evolveum.midpoint.prism.path.ItemPath;
import com.evolveum.midpoint.util.logging.Trace;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@
import com.evolveum.midpoint.gui.impl.component.icon.CompositedIcon;
import com.evolveum.midpoint.gui.impl.component.icon.CompositedIconBuilder;
import com.evolveum.midpoint.gui.impl.page.admin.AbstractObjectMainPanel;
import com.evolveum.midpoint.gui.impl.page.admin.assignmentholder.FocusDetailsModels;
import com.evolveum.midpoint.gui.impl.page.admin.focus.FocusDetailsModels;
import com.evolveum.midpoint.gui.impl.prism.panel.ShadowPanel;
import com.evolveum.midpoint.model.api.AssignmentObjectRelation;
import com.evolveum.midpoint.prism.*;
Expand Down

0 comments on commit 748e9dd

Please sign in to comment.