private ResourceType resolveResource(ShadowType shadow, OperationResult result) throws ExpressionEvaluationException, ObjectNotFoundException, SchemaException { if (shadow.getResource() != null) { return shadow.getResource(); } ObjectReferenceType ref = shadow.getResourceRef(); if (ref == null) { throw new ExpressionEvaluationException("Resource shadow object " + shadow + " doesn't have defined resource."); } if (ref.getOid() == null) { throw new ExpressionEvaluationException("Resource shadow object " + shadow + " defines null resource OID."); } return modelObjectResolver.getObjectSimple(ResourceType.class, ref.getOid(), null, null, result); }
assertDummyAccountShadowModel(shadow.asPrismObject(), accountOid, "jack", "Jack Sparrow"); assertNotNull("Resource in account was not resolved", shadow.getResource());
private void validateResourceInShadow(ShadowType shadow, ResourceType resource) { if (shadow.getResource() != null || shadow.getResourceRef() != null) { return; } ObjectReferenceType reference = new ObjectReferenceType(); reference.setOid(resource.getOid()); reference.setType(ObjectTypes.RESOURCE.getTypeQName()); shadow.setResourceRef(reference); }
@Test public void test111GetRoleResolveEntitlement() throws Exception { final String TEST_NAME = "test111GetRoleResolveEntitlement"; displayTestTitle(TEST_NAME); // GIVEN Task task = createTask(TEST_NAME); OperationResult result = task.getResult(); assumeAssignmentPolicy(AssignmentPolicyEnforcementType.POSITIVE); Collection<SelectorOptions<GetOperationOptions>> options = SelectorOptions.createCollection(GetOperationOptions.createResolve(), prismContext.toUniformPath(UserType.F_LINK), prismContext.toUniformPath(ItemPath.create(UserType.F_LINK, ShadowType.F_RESOURCE)) ); // WHEN PrismObject<RoleType> role = modelService.getObject(RoleType.class, ROLE_PIRATE_OID, options, task, result); RoleType roleType = role.asObjectable(); assertLinks(role, 1); PrismReferenceValue linkRef = getSingleLinkRef(role); assertEquals("OID mismatch in linkRefValue", groupOid, linkRef.getOid()); assertNotNull("Missing account object in linkRefValue", linkRef.getObject()); ShadowType shadow = roleType.getLink().get(0); assertDummyGroupShadowModel(shadow.asPrismObject(), groupOid, GROUP_PIRATE_DUMMY_NAME); assertNotNull("Resource in account was not resolved", shadow.getResource()); result.computeStatus(); TestUtil.assertSuccess("getObject result", result); }
if (object != null && object.asObjectable() instanceof ShadowType) { ShadowType shadowType = (ShadowType) object.asObjectable(); ResourceType resourceType = shadowType.getResource(); if (resourceType == null) { PrismObject<? extends ObjectType> resource = getPrismObject(shadowType.getResourceRef().getOid(), false, result);
resultShadowType.setObjectClass(resourceAttributesContainer.getDefinition().getTypeName()); if (resultShadowType.getResource() == null) { resultShadowType.setResourceRef(ObjectTypeUtil.createObjectRef(ctx.getResource(), prismContext));
repo.setFailedOperationType(RUtil.getRepoEnumValue(jaxb.getFailedOperationType(), RFailedOperationType.class)); if (jaxb.getResource() != null) { LOGGER.warn("Resource from resource object shadow type won't be saved. It should be " + "translated to resource reference.");
if (repoShadowType.getResource() != null) { repoShadowType.setResource(null); repoShadowType.setResourceRef(ObjectTypeUtil.createObjectRef(ctx.getResource(), prismContext));