protected void processObjectResource(ObjectResource objectResource) { maybeSetWithDefaultRealization(objectResource); if (!objectResource.isDefault()) { referenceTreatmentNormalizer.normalizeUserDefinedReferenceTreatments(objectResource, objectResource.getDataType()); } if (objectResource.isWithDefaultRealization()) { RealizationRule rule = autoRealizationProcessor.processObjectResource(objectResource); if (rule != null) { storeAutoRealization(objectResource).accept(rule); } } processNestedReferenceTreatments(objectResource, objectResource); }
protected void processCollectionResource(CollectionResource collectionResource) { maybeSetWithDefaultRealization(collectionResource); RealizationRule rule = null; if (collectionResource.isWithDefaultRealization()) { rule = autoRealizationProcessor.processCollectionResource(collectionResource); if (rule != null) { storeAutoRealization(collectionResource).accept(rule); } } // This sets collectionResource.getResourceRealizationKind() boolean hasRealizationRule = rule != null; generateImplicitCollectionLinks(collectionResource, hasRealizationRule); boolean isReferenceLinkList = collectionResource .getResourceRealizationKind() == CollectionRealizationEnum.REFERENCE_LINK_LIST; if (!isReferenceLinkList) { processNestedReferenceTreatments(collectionResource, collectionResource); if (!collectionResource.isDefault()) { referenceTreatmentNormalizer.normalizeUserDefinedReferenceTreatments(collectionResource, collectionResource.getDataType()); } } }
protected void processMessage(TypedMessage message) { if (message.getActualType() == null) { // no realization processing required for a dataless message return; } maybeSetWithDefaultRealization(message); if (message.getResourceType() instanceof ServiceDataResource // instanceof also checks for non-null && ((ServiceDataResource) message.getResourceType()).isWithDefaultRealization()) { message.setWithDefaultRealization(true); message.setEffectiveRealization( ((ServiceDataResource) message.getResourceType()).getEffectiveRealization()); } if (message.getResourceType() != null) { // should re-use realization of the resource return; } if (message.isWithDefaultRealization()) { RealizationRule rule = autoRealizationProcessor.processMessage(message); if (rule != null) { storeAutoRealization(message).accept(rule); } } if (message.getActualType() != null) { referenceTreatmentNormalizer.normalizeUserDefinedReferenceTreatments(message, message.getActualType()); } processNestedReferenceTreatments(message, message); }