Skip to content

Commit

Permalink
Fixing model-intest
Browse files Browse the repository at this point in the history
  • Loading branch information
semancik committed Apr 9, 2019
1 parent cee20be commit 9ad589a
Show file tree
Hide file tree
Showing 5 changed files with 75 additions and 40 deletions.
Expand Up @@ -105,7 +105,11 @@ public <O extends ObjectType> ObjectPolicyConfigurationType determineObjectPolic
if (object == null) {
return null;
}
return determineObjectPolicyConfiguration(object, systemObjectCache.getSystemConfiguration(result).asObjectable());
PrismObject<SystemConfigurationType> systemConfiguration = systemObjectCache.getSystemConfiguration(result);
if (systemConfiguration == null) {
return null;
}
return determineObjectPolicyConfiguration(object, systemConfiguration.asObjectable());
}

public <O extends ObjectType> ExpressionProfile determineExpressionProfile(PrismObject<O> object, OperationResult result) throws SchemaException, ConfigurationException {
Expand Down
Expand Up @@ -151,7 +151,12 @@ private <AH extends AssignmentHolderType> Collection<EvaluatedAssignment<AH>> ev
try {
ItemDeltaItem<PrismContainerValue<AssignmentType>,PrismContainerDefinition<AssignmentType>> assignmentIdi = new ItemDeltaItem<>();
assignmentIdi.setItemOld(LensUtil.createAssignmentSingleValueContainerClone(assignmentType));
assignmentIdi.setDefinition(assignmentType.asPrismContainerValue().getDefinition());
PrismContainerDefinition definition = assignmentType.asPrismContainerValue().getDefinition();
if (definition == null) {
// TODO: optimize
definition = prismContext.getSchemaRegistry().findObjectDefinitionByCompileTimeClass(AssignmentHolderType.class).findContainerDefinition(AssignmentHolderType.F_ASSIGNMENT);
}
assignmentIdi.setDefinition(definition);
assignmentIdi.recompute();
EvaluatedAssignment<AH> assignment = assignmentEvaluator.evaluate(assignmentIdi, PlusMinusZero.ZERO, false, assignmentHolder, assignmentHolder.toString(), virtual, task, result);
evaluatedAssignments.add(assignment);
Expand Down
Expand Up @@ -463,7 +463,9 @@ private <T> MappingImpl<PrismPropertyValue<T>, ResourceAttributeDefinition<T>> e
} catch (SchemaException e) {
throw new SchemaException(getAttributeEvaluationErrorMesssage(attrName, e), e);
} catch (ExpressionEvaluationException e) {
throw new ExpressionEvaluationException(getAttributeEvaluationErrorMesssage(attrName, e), e);
// No need to specially handle this here. It was already handled in the expression-processing
// code and it has proper description.
throw e;
} catch (ObjectNotFoundException e) {
throw new ObjectNotFoundException(getAttributeEvaluationErrorMesssage(attrName, e), e);
} catch (SecurityViolationException e) {
Expand Down
Expand Up @@ -476,11 +476,15 @@ private void processAssignment(DeltaSetTriple<EvaluatedAssignmentImpl<AH>> evalu
}
}

private ItemDeltaItem<PrismContainerValue<AssignmentType>, PrismContainerDefinition<AssignmentType>> createAssignmentIdiNoChange(
PrismContainerValue<AssignmentType> cval) throws SchemaException {
private ItemDeltaItem<PrismContainerValue<AssignmentType>, PrismContainerDefinition<AssignmentType>> createAssignmentIdiNoChange(PrismContainerValue<AssignmentType> cval) throws SchemaException {
ItemDeltaItem<PrismContainerValue<AssignmentType>, PrismContainerDefinition<AssignmentType>> idi = new ItemDeltaItem<>();
idi.setItemOld(LensUtil.createAssignmentSingleValueContainerClone(cval.asContainerable()));
idi.setDefinition(cval.getDefinition());
PrismContainerDefinition<AssignmentType> definition = cval.getDefinition();
if (definition == null) {
// TODO: optimize
definition = prismContext.getSchemaRegistry().findObjectDefinitionByCompileTimeClass(AssignmentHolderType.class).findContainerDefinition(AssignmentHolderType.F_ASSIGNMENT);
}
idi.setDefinition(definition);
idi.recompute();
return idi;
}
Expand Down

0 comments on commit 9ad589a

Please sign in to comment.