public AssignmentHolderType archetypeRef(ObjectReferenceType value) { getArchetypeRef().add(value); return this; }
private <O extends AssignmentHolderType> boolean isHolderArchetype(List<ObjectReferenceType> requiredHolderArchetypeRefs, PrismObject<O> holder) { if (requiredHolderArchetypeRefs.isEmpty()) { return true; } List<ObjectReferenceType> presentHolderArchetypeRefs = holder.asObjectable().getArchetypeRef(); for (ObjectReferenceType requiredHolderArchetypeRef : requiredHolderArchetypeRefs) { if (MiscSchemaUtil.contains(presentHolderArchetypeRefs, requiredHolderArchetypeRef)) { return true; } } return false; }
public List<ObjectReferenceType> createArchetypeRefList() { PrismForJAXBUtil.createReference(asPrismContainerValue(), F_ARCHETYPE_REF); return getArchetypeRef(); }
private <O extends AssignmentHolderType> PrismObject<ArchetypeType> determineArchetype(PrismObject<O> assignmentHolder, OperationResult result) throws SchemaException, ConfigurationException { if (assignmentHolder == null) { return null; } if (!assignmentHolder.canRepresent(AssignmentHolderType.class)) { return null; } List<ObjectReferenceType> archetypeRefs = ((AssignmentHolderType)assignmentHolder.asObjectable()).getArchetypeRef(); if (archetypeRefs == null || archetypeRefs.isEmpty()) { return null; } if (archetypeRefs.size() > 1) { throw new SchemaException("Only a single archetype for an object is supported: "+assignmentHolder); } ObjectReferenceType archetypeRef = archetypeRefs.get(0); PrismObject<ArchetypeType> archetype; try { archetype = systemObjectCache.getArchetype(archetypeRef.getOid(), result); } catch (ObjectNotFoundException e) { LOGGER.warn("Archetype {} for object {} cannot be found", archetypeRef.getOid(), assignmentHolder); return null; } return archetype; }
static <T extends ObjectType> void copyAssignmentHolderInformationFromJAXB(AssignmentHolderType jaxb, RObject<T> repo, RepositoryContext repositoryContext, IdGeneratorResult generatorResult) throws DtoTranslationException { copyObjectInformationFromJAXB(jaxb, repo, repositoryContext, generatorResult); repo.getRoleMembershipRef().addAll( RUtil.safeListReferenceToSet(jaxb.getRoleMembershipRef(), repo, RReferenceOwner.ROLE_MEMBER, repositoryContext.relationRegistry)); repo.getDelegatedRef().addAll( RUtil.safeListReferenceToSet(jaxb.getDelegatedRef(), repo, RReferenceOwner.DELEGATED, repositoryContext.relationRegistry)); repo.getArchetypeRef().addAll( RUtil.safeListReferenceToSet(jaxb.getArchetypeRef(), repo, RReferenceOwner.ARCHETYPE, repositoryContext.relationRegistry)); for (AssignmentType assignment : jaxb.getAssignment()) { RAssignment rAssignment = new RAssignment(repo, RAssignmentOwner.FOCUS); RAssignment.fromJaxb(assignment, rAssignment, jaxb, repositoryContext, generatorResult); repo.getAssignments().add(rAssignment); } }