Skip to content

Commit

Permalink
little update for getting security policy from archetype
Browse files Browse the repository at this point in the history
  • Loading branch information
KaterynaHonchar committed Nov 16, 2022
1 parent f206794 commit f3bd42d
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 18 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -358,29 +358,22 @@ public <O extends ObjectType> PrismObject<SecurityPolicyType> searchSecurityPoli
if (structuralArchetype == null) {
return null;
}
PrismObject<SecurityPolicyType> securityPolicy = null;
ObjectReferenceType securityPolicyRef = structuralArchetype.getSecurityPolicyRef();
if (securityPolicyRef == null) {
return null;
}
PrismObject<SecurityPolicyType> securityPolicy;
try {
securityPolicy = resolve(securityPolicyRef.asReferenceValue(), shortDesc, task, result);
} catch (ObjectNotFoundException ex) {
LOGGER.warn("Cannot find security policy referenced in archetype {}, oid {}", structuralArchetype.getName(), structuralArchetype.getOid());
return null;
if (securityPolicyRef != null) {
try {
securityPolicy = resolve(securityPolicyRef.asReferenceValue(), shortDesc, task, result);
} catch (ObjectNotFoundException ex) {
LOGGER.warn("Cannot find security policy referenced in archetype {}, oid {}", structuralArchetype.getName(), structuralArchetype.getOid());
return null;
}
}
return securityPolicy;
}

public PrismObject<SecurityPolicyType> mergeSecurityPolicyWithSuperArchetype(ArchetypeType archetype, Task task, OperationResult result) throws SchemaException, ObjectNotFoundException {
PrismObject<SecurityPolicyType> archetypeSecurityPolicy = archetype.getSecurityPolicyRef() != null ?
resolve(archetype.getSecurityPolicyRef().asReferenceValue(), "resolving security policy ref", task, result)
: null;
return mergeSecurityPolicyWithSuperArchetype(archetype, archetypeSecurityPolicy, task, result);
return mergeSecurityPolicyWithSuperArchetype(structuralArchetype, securityPolicy, task, result);
}

public PrismObject<SecurityPolicyType> mergeSecurityPolicyWithSuperArchetype(ArchetypeType archetype, PrismObject<SecurityPolicyType> securityPolicy,
Task task, OperationResult result) throws SchemaException, ObjectNotFoundException {
Task task, OperationResult result) {
ArchetypeType superArchetype = null;
try {
superArchetype = archetype.getSuperArchetypeRef() != null ?
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -172,7 +172,7 @@ public <F extends FocusType> SecurityPolicyType locateFocusSecurityPolicyFromOrg
public <F extends FocusType> SecurityPolicyType locateFocusSecurityPolicyFromArchetypes(PrismObject<F> focus, Task task,
OperationResult result) throws SchemaException {
PrismObject<SecurityPolicyType> archetypeSecurityPolicy = objectResolver.searchSecurityPolicyFromArchetype(focus,
"security policy", task, result); //todo may be use objectResolver.mergeSecurityPolicyWithSuperArchetype here
"security policy", task, result);
LOGGER.trace("Found archetype security policy: {}", archetypeSecurityPolicy);
if (archetypeSecurityPolicy != null) {
SecurityPolicyType securityPolicyType = archetypeSecurityPolicy.asObjectable();
Expand Down

0 comments on commit f3bd42d

Please sign in to comment.