Skip to content

Commit

Permalink
Merge branch 'access-certification' of https://github.com/Evolveum/mi…
Browse files Browse the repository at this point in the history
…dpoint into access-certification
  • Loading branch information
KaterynaHonchar committed Dec 17, 2015
2 parents a8e4ecc + 370efff commit 6fe2d74
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 1 deletion.
Expand Up @@ -467,7 +467,6 @@ private MainMenuItem createCertificationItems() {
MenuItem menu = new MenuItem(createStringResource("PageAdmin.menu.top.certification.definitions"),
PageCertDefinitions.class);
submenu.add(menu);
createFocusPageViewMenu(submenu, "PageAdmin.menu.top.certification.viewDefinition", PageCertDefinition.class);
menu = new MenuItem(createStringResource("PageAdmin.menu.top.certification.newDefinition"),
PageCertDefinition.class);
submenu.add(menu);
Expand Down
Expand Up @@ -16,6 +16,7 @@

package com.evolveum.midpoint.web.page.admin.certification;

import com.evolveum.midpoint.certification.api.AccessCertificationApiConstants;
import com.evolveum.midpoint.model.api.ModelExecuteOptions;
import com.evolveum.midpoint.prism.PrismObject;
import com.evolveum.midpoint.prism.PrismObjectDefinition;
Expand Down Expand Up @@ -159,6 +160,7 @@ private CertDefinitionDto loadDefinition(String definitionOid) {

private CertDefinitionDto createDefinition() {
AccessCertificationDefinitionType definition = getPrismContext().createObjectable(AccessCertificationDefinitionType.class);
definition.setHandlerUri(AccessCertificationApiConstants.DIRECT_ASSIGNMENT_HANDLER_URI);
AccessCertificationStageDefinitionType stage = new AccessCertificationStageDefinitionType(getPrismContext());
stage.setName("First stage");
stage.setNumber(1);
Expand Down
Expand Up @@ -51,6 +51,7 @@ public class CertDefinitionDto implements Serializable {
public static final String F_NUMBER_OF_STAGES = "numberOfStages";
public static final String F_XML = "xml";
public static final String F_OWNER = "owner";
public static final String F_REMEDIATION_STYLE = "remediationStyle";
public static final String F_SCOPE_DEFINITION = "scopeDefinition";
public static final String F_STAGE_DEFINITION = "stageDefinition";
public static final String F_LAST_STARTED = "lastStarted";
Expand All @@ -60,6 +61,7 @@ public class CertDefinitionDto implements Serializable {
private AccessCertificationDefinitionType definition; // definition that is (at least partially) dynamically updated when editing the form
private final DefinitionScopeDto definitionScopeDto;
private final List<StageDefinitionDto> stageDefinition;
private AccessCertificationRemediationStyleType remediationStyle;
private String xml;
private ObjectViewDto owner;

Expand All @@ -79,6 +81,11 @@ public CertDefinitionDto(AccessCertificationDefinitionType definition, PageBase
for (AccessCertificationStageDefinitionType stageDef : definition.getStageDefinition()){
stageDefinition.add(createStageDefinitionDto(stageDef));
}
if (definition.getRemediationDefinition() != null) {
remediationStyle = definition.getRemediationDefinition().getStyle();
} else {
remediationStyle = AccessCertificationRemediationStyleType.AUTOMATED; // TODO consider the default...
}
}

private ObjectViewDto loadOwnerReference(ObjectReferenceType ref) {
Expand Down Expand Up @@ -125,6 +132,13 @@ public AccessCertificationDefinitionType getUpdatedDefinition(PrismContext prism
updateOwner();
updateScopeDefinition(prismContext);
updateStageDefinition();
if (remediationStyle != null) {
AccessCertificationRemediationDefinitionType remDef = new AccessCertificationRemediationDefinitionType(prismContext);
remDef.setStyle(remediationStyle);
definition.setRemediationDefinition(remDef);
} else {
definition.setRemediationDefinition(null);
}
return definition;
}

Expand Down Expand Up @@ -164,8 +178,25 @@ public void setOwner(PrismReferenceValue owner) {
definition.setOwnerRef(ownerRef);
}

public AccessCertificationRemediationStyleType getRemediationStyle() {
return remediationStyle;
}

public void setRemediationStyle(AccessCertificationRemediationStyleType remediationStyle) {
this.remediationStyle = remediationStyle;
}

private DefinitionScopeDto createDefinitionScopeDto(AccessCertificationScopeType scopeTypeObj, PrismContext prismContext) {
DefinitionScopeDto dto = new DefinitionScopeDto();

// default values, optionally overriden below
dto.setIncludeAssignments(true);
dto.setIncludeInducements(true);
dto.setIncludeResources(true);
dto.setIncludeRoles(true);
dto.setIncludeOrgs(true);
dto.setEnabledItemsOnly(true);

if (scopeTypeObj != null) {
dto.setName(scopeTypeObj.getName());
dto.setDescription(scopeTypeObj.getDescription());
Expand All @@ -189,6 +220,7 @@ private DefinitionScopeDto createDefinitionScopeDto(AccessCertificationScopeType
}
return dto;
}

private StageDefinitionDto createStageDefinitionDto(AccessCertificationStageDefinitionType stageDefObj) {
StageDefinitionDto dto = new StageDefinitionDto();
if (stageDefObj != null) {
Expand Down

0 comments on commit 6fe2d74

Please sign in to comment.