public ResourceBidirectionalMappingType inbound(MappingType value) { getInbound().add(value); return this; }
/** * Processing for special (fixed-schema) properties such as credentials and activation. * @throws ObjectNotFoundException */ private <F extends FocusType> void processSpecialPropertyInbound(ResourceBidirectionalMappingType biMappingType, ItemPath sourceTargetPath, PrismObject<F> newUser, LensProjectionContext projCtx, RefinedObjectClassDefinition rOcDef, LensContext<F> context, XMLGregorianCalendar now, Task task, OperationResult opResult) throws SchemaException, ExpressionEvaluationException, ObjectNotFoundException, CommunicationException, ConfigurationException, SecurityViolationException { if (biMappingType == null) { return; } processSpecialPropertyInbound(biMappingType.getInbound(), sourceTargetPath, sourceTargetPath, newUser, projCtx, rOcDef, context, now, task, opResult); }
public List<MappingType> createInboundList() { PrismForJAXBUtil.createContainer(asPrismContainerValue(), F_INBOUND); return getInbound(); }
private void processBidirectionalMapping(DataModel model, String oid, ShadowKindType kind, String intent, QName objectClassName, ItemPath itemPath, ResourceBidirectionalMappingType mapping) { if (mapping == null) { return; } ResourceDataItem resourceDataItem = model.findResourceItem(oid, kind, intent, objectClassName, itemPath); if (resourceDataItem == null) { throw new IllegalStateException("No resource item for " + oid + ":" + kind + ":" + intent + ":" + objectClassName + ":" + itemPath); } for (MappingType outbound : mapping.getOutbound()) { processOutboundMapping(model, resourceDataItem, outbound, itemPath); } for (MappingType inbound : mapping.getInbound()) { processInboundMapping(model, resourceDataItem, inbound, itemPath); } }
private void checkBidirectionalMapping(ResourceValidationContext ctx, ItemPath path, QName itemName, ResourceObjectTypeDefinitionType objectType, @Nullable ResourceBidirectionalMappingType bidirectionalMapping) { if (bidirectionalMapping == null) { return; } ItemPath itemPath = path.append(itemName); int i = 1; for (MappingType inbound : bidirectionalMapping.getInbound()) { checkMapping(ctx, itemPath.append(ResourceBidirectionalMappingType.F_INBOUND), objectType, itemName, inbound, false, i, true); i++; } i = 1; for (MappingType outbound : bidirectionalMapping.getOutbound()) { checkMapping(ctx, itemPath.append(ResourceBidirectionalMappingType.F_OUTBOUND), objectType, itemName, outbound, true, i, true); i++; } }