private ObjectRealization getLinkDescriptor(ReferenceTreatmentDescriptor reference) { ServiceDataResource defaultResource = getDefaultResource(reference); if (defaultResource != null) { return defaultResource.getDefaultLinkDescriptor(); } return null; }
private void generateImplicitCollectionLinks(CollectionResource serviceDataResource, boolean hasRealizationRule) { ServiceDataResource targetResource = resourceFinder.findResource(serviceDataResource.getDataType(), true); boolean useReferenceLinkList = targetResource != null && serviceDataResource.isWithDefaultRealization() && !hasRealizationRule; serviceDataResource .setResourceRealizationKind(useReferenceLinkList ? CollectionRealizationEnum.REFERENCE_LINK_LIST : CollectionRealizationEnum.EMBEDDED_OBJECT_LIST); if (useReferenceLinkList) { ReferenceLink hyperlink = rapidmlFactory.createReferenceLink(); ReferenceTreatmentFactory.maybeSetReferenceRealization(hyperlink); hyperlink.getReferenceRealization().setTargetResource(targetResource); serviceDataResource.getReferenceTreatments().add(hyperlink); if (targetResource.getDefaultLinkDescriptor() != null) { hyperlink.getReferenceRealization().setProperties(targetResource.getDefaultLinkDescriptor()); } else { ObjectRealization linkDescriptor = rapidmlFactory.createObjectRealization(); // set container hyperlink.getReferenceRealization().setInlineObjectRealization(linkDescriptor); // Set by ReferenceTreatmentInlineLinkDescriptorProcessor for user-defined link descriptors hyperlink.getReferenceRealization().setProperties(linkDescriptor); } CollectionReferenceElement collectionReferenceElement = rapidmlFactory.createCollectionReferenceElement(); collectionReferenceElement.setCardinality(new int[] { 0, -1 }); collectionReferenceElement.setDataType(serviceDataResource.getDataType()); hyperlink.setReferenceElement(collectionReferenceElement); serviceDataResource.getReferenceElements().add(collectionReferenceElement); } }
private void normalizeUserDefinedReferenceLink(final ReferenceLink referenceLink) { maybeSetReferenceRealization(referenceLink); if (TagUtils.getTagWithName(referenceLink.getReferenceRealization().getLinkDescriptor(), TagUtils.GENERATED) .isPresent() && referenceLink.getTargetResource() instanceof ServiceDataResource) { EcoreUtil.remove(referenceLink.getReferenceRealization().getLinkDescriptor()); // This is a fix for JSON Schema generator which otherwise inlines the referenceLink markWithDefaultRealization(referenceLink); NamedLinkDescriptor linkDescriptor = ((ServiceDataResource) referenceLink.getTargetResource()).getDefaultLinkDescriptor(); referenceLink.getReferenceRealization().setProperties(linkDescriptor); } // usesDefaultObjectRealization uses getAllIncludedProperties defined in // referenceTreatmentInlineLinkDescriptorProcessor if (usesDefaultObjectRealization(referenceLink)) { markWithDefaultRealization(referenceLink); } }
_builder.newLine(); NamedLinkDescriptor _defaultLinkDescriptor = defResource.getDefaultLinkDescriptor(); boolean _tripleNotEquals_1 = (_defaultLinkDescriptor != null); if (_tripleNotEquals_1) { return it.getBaseProperty(); }; List<Feature> _map = ListExtensions.<PropertyRealization, Feature>map(defResource.getDefaultLinkDescriptor().getAllIncludedProperties(), _function); for(final Feature feature : _map) { _builder.append(" ");