Skip to content

Commit

Permalink
MID-7976 now counting conflicts in shopping cart (simple way)
Browse files Browse the repository at this point in the history
  • Loading branch information
1azyman committed Jun 15, 2022
1 parent 2e036a4 commit 823d9e1
Show file tree
Hide file tree
Showing 4 changed files with 233 additions and 114 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -34,12 +34,11 @@ <h3>Description</h3>
</div>
</div>
</div>
</wicket:remove>

<hr class="m-5"/>

<div style="width:300px;">
<ul wicket:id="sample"/>
<!-- <ul wicket:id="sample"/>-->
<hr class="m-5"/>
<ul class="list-group-menu list-group-menu-sm align-self-stretch align-self-md-start">
<li class="list-group-menu-item">
Expand Down Expand Up @@ -123,8 +122,8 @@ <h3>Description</h3>
</ul>
</li>
</ul>

</div>
</wicket:remove>

<form wicket:id="mainForm" class="d-flex justify-content-center">
<div wicket:id="wizard"/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,30 +6,26 @@
*/
package com.evolveum.midpoint.gui.impl.page.self;

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

import com.evolveum.midpoint.gui.impl.page.self.requestAccess.*;

import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
import org.apache.wicket.request.mapper.parameter.PageParameters;
import org.apache.wicket.util.string.StringValue;

import com.evolveum.midpoint.authentication.api.authorization.AuthorizationAction;
import com.evolveum.midpoint.authentication.api.authorization.PageDescriptor;
import com.evolveum.midpoint.authentication.api.authorization.Url;
import com.evolveum.midpoint.gui.api.component.wizard.WizardModel;
import com.evolveum.midpoint.gui.api.component.wizard.WizardPanel;
import com.evolveum.midpoint.gui.api.component.wizard.WizardStep;
import com.evolveum.midpoint.gui.impl.page.self.requestAccess.*;
import com.evolveum.midpoint.security.api.AuthorizationConstants;
import com.evolveum.midpoint.util.logging.Trace;
import com.evolveum.midpoint.util.logging.TraceManager;
import com.evolveum.midpoint.web.page.self.PageSelf;

import org.apache.wicket.request.mapper.parameter.PageParameters;
import org.apache.wicket.util.string.StringValue;

/**
* @author Viliam Repan (lazyman)
*/
Expand Down Expand Up @@ -99,29 +95,29 @@ private void initLayout() {
wizard.setOutputMarkupId(true);
mainForm.add(wizard);

List<ListGroupMenuItem> list = new ArrayList<>();
ListGroupMenuItem allRoles = new ListGroupMenuItem("fa fa-fw fa-border-all", "All roles");
allRoles.setActive(true);
list.add(allRoles);

ListGroupMenuItem rolesOfTeamMate = new ListGroupMenuItem("fa fa-fw fa-users", "Roles of team mate");
rolesOfTeamMate.setBadge("12");
list.add(rolesOfTeamMate);

ListGroupMenuItem menu2 = new ListGroupMenuItem("fa fa-fw fa-users", "Roles of team mate");
list.add(menu2);

ListGroupMenuItem o1 = new ListGroupMenuItem(null, "Option 1");
menu2.getItems().add(o1);
ListGroupMenuItem o2 = new ListGroupMenuItem(null, "Option 2");
menu2.getItems().add(o2);
ListGroupMenuItem o3 = new ListGroupMenuItem(null, "Option 3");
menu2.getItems().add(o3);
ListGroupMenuItem o31 = new ListGroupMenuItem(null, "Option 31");
o3.getItems().add(o31);

ListGroupMenuPanel sample = new ListGroupMenuPanel("sample", Model.ofList(list));
add(sample);
// List<ListGroupMenuItem> list = new ArrayList<>();
// ListGroupMenuItem allRoles = new ListGroupMenuItem("fa fa-fw fa-border-all", "All roles");
// allRoles.setActive(true);
// list.add(allRoles);
//
// ListGroupMenuItem rolesOfTeamMate = new ListGroupMenuItem("fa fa-fw fa-users", "Roles of team mate");
// rolesOfTeamMate.setBadge("12");
// list.add(rolesOfTeamMate);
//
// ListGroupMenuItem menu2 = new ListGroupMenuItem("fa fa-fw fa-users", "Roles of team mate");
// list.add(menu2);
//
// ListGroupMenuItem o1 = new ListGroupMenuItem(null, "Option 1");
// menu2.getItems().add(o1);
// ListGroupMenuItem o2 = new ListGroupMenuItem(null, "Option 2");
// menu2.getItems().add(o2);
// ListGroupMenuItem o3 = new ListGroupMenuItem(null, "Option 3");
// menu2.getItems().add(o3);
// ListGroupMenuItem o31 = new ListGroupMenuItem(null, "Option 31");
// o3.getItems().add(o31);
//
// ListGroupMenuPanel sample = new ListGroupMenuPanel("sample", Model.ofList(list));
// add(sample);
}

private List<WizardStep> createSteps() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,33 +8,12 @@
package com.evolveum.midpoint.gui.impl.page.self.requestAccess;

import java.io.Serializable;
import java.util.*;

import com.evolveum.midpoint.model.api.ModelExecuteOptions;
import com.evolveum.midpoint.model.api.context.EvaluatedAssignment;
import com.evolveum.midpoint.model.api.context.EvaluatedPolicyRule;
import com.evolveum.midpoint.model.api.context.ModelContext;
import com.evolveum.midpoint.prism.PrismContainerDefinition;
import com.evolveum.midpoint.prism.PrismObject;
import com.evolveum.midpoint.prism.delta.DeltaSetTriple;
import com.evolveum.midpoint.prism.delta.ObjectDelta;
import com.evolveum.midpoint.schema.result.OperationResult;
import com.evolveum.midpoint.task.api.Task;
import com.evolveum.midpoint.util.MiscUtil;
import com.evolveum.midpoint.util.logging.LoggingUtils;
import com.evolveum.midpoint.web.page.self.PageAssignmentsList;
import com.evolveum.midpoint.web.page.self.dto.ConflictDto;
import com.evolveum.midpoint.web.security.MidPointApplication;
import com.evolveum.midpoint.web.security.MidPointAuthWebSession;
import com.evolveum.midpoint.web.session.SessionStorage;
import com.evolveum.midpoint.xml.ns._public.common.common_3.*;

import org.apache.commons.lang3.StringUtils;
import org.apache.wicket.Session;

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

import static com.evolveum.midpoint.xml.ns._public.common.common_3.PartialProcessingTypeType.SKIP;
import com.evolveum.midpoint.xml.ns._public.common.common_3.AssignmentType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectReferenceType;

/**
* Created by Viliam Repan (lazyman).
Expand All @@ -44,10 +23,15 @@ public class RequestAccess implements Serializable {
private List<ObjectReferenceType> personOfInterest;

private QName relation;

private List<AssignmentType> shoppingCartAssignments;

private String comment;

private int warningCount;

private int errorCount;

public String getComment() {
return comment;
}
Expand Down Expand Up @@ -86,53 +70,19 @@ public void setRelation(QName relation) {
this.relation = relation;
}

public void computeConflicts() {
// MidPointApplication mp = MidPointApplication.get();
//
// SessionStorage storage = MidPointAuthWebSession.get().getSessionStorage();
//
// ObjectDelta<UserType> delta;
// OperationResult result = new OperationResult(OPERATION_PREVIEW_ASSIGNMENT_CONFLICTS);
// Task task = createSimpleTask(OPERATION_PREVIEW_ASSIGNMENT_CONFLICTS);
// Map<String, ConflictDto> conflictsMap = new HashMap<>();
// try {
// PrismObject<UserType> user = getTargetUser();
// delta = user.createModifyDelta();
//
// PrismContainerDefinition def = user.getDefinition().findContainerDefinition(UserType.F_ASSIGNMENT);
// handleAssignmentDeltas(delta, storage.getRoleCatalog().getAssignmentShoppingCart(), def);
//
// PartialProcessingOptionsType partialProcessing = new PartialProcessingOptionsType();
// partialProcessing.setInbound(SKIP);
// partialProcessing.setProjection(SKIP);
// ModelExecuteOptions recomputeOptions = ModelExecuteOptions
// .create(mp.getPrismContext())
// .partialProcessing(partialProcessing);
// ModelContext<UserType> modelContext = mp.getModelInteractionService()
// .previewChanges(MiscUtil.createCollection(delta), recomputeOptions, task, result);
// DeltaSetTriple<? extends EvaluatedAssignment> evaluatedAssignmentTriple =
// modelContext.getEvaluatedAssignmentTriple();
// if (evaluatedAssignmentTriple != null) {
// Collection<? extends EvaluatedAssignment> addedAssignments = evaluatedAssignmentTriple.getPlusSet();
// for (EvaluatedAssignment<UserType> evaluatedAssignment : addedAssignments) {
// for (EvaluatedPolicyRule policyRule : evaluatedAssignment.getAllTargetsPolicyRules()) {
// if (!policyRule.containsEnabledAction()) {
// continue;
// }
// // everything other than 'enforce' is a warning
// boolean isWarning = !policyRule.containsEnabledAction(EnforcementPolicyActionType.class);
// fillInConflictedObjects(evaluatedAssignment, policyRule.getAllTriggers(), isWarning, conflictsMap);
// }
// }
// } else if (!result.isSuccess() && StringUtils.isNotEmpty(getSubresultWarningMessages(result))) {
// getFeedbackMessages().warn(PageAssignmentsList.this,
// createStringResource("PageAssignmentsList.conflictsWarning").getString() + " " + getSubresultWarningMessages(result));
// conflictProblemExists = true;
// }
// } catch (Exception e) {
// LoggingUtils.logUnexpectedException(LOGGER, "Couldn't get assignments conflicts. Reason: ", e);
// error("Couldn't get assignments conflicts. Reason: " + e);
// }
// return new ArrayList<>(conflictsMap.values());
public int getWarningCount() {
return warningCount;
}

public void setWarningCount(int warningCount) {
this.warningCount = warningCount;
}

public int getErrorCount() {
return errorCount;
}

public void setErrorCount(int errorCount) {
this.errorCount = errorCount;
}
}

0 comments on commit 823d9e1

Please sign in to comment.