public static ReferenceTreatment createReferenceTreatment(ReferenceRealization referenceRealization, ReferenceElement reference) { final ReferenceTreatment result; if (referenceRealization.getRealizationType() == ReferenceRealizationEnum.LINK) { result = createReferenceLink(referenceRealization); } else { result = createReferenceEmbed(referenceRealization); } result.setReferenceElement(reference); boolean isDefaultRealization = referenceRealization.eContainer() instanceof ResourceAPI; if (isDefaultRealization) { markWithDefaultRealization(result); } return result; }
IScope scope_ReferenceTreatment_referenceElement(ReferenceTreatment referenceTreatment, EReference eRef) { EObject econtainer = referenceTreatment.eContainer(); final Structure contextDataType; if (econtainer instanceof ReferenceEmbed) { contextDataType = ((ReferenceEmbed) econtainer).getReferenceElement().getDataType(); } else if (econtainer instanceof ReferenceRealization) { contextDataType = ((ReferenceTreatment) ((ReferenceRealization) econtainer).eContainer()) .getReferenceElement().getDataType(); } else if (econtainer instanceof TypedMessage) { contextDataType = ((TypedMessage) econtainer).getActualType(); } else { contextDataType = ((RealizationContainer) econtainer).getDataType(); } Iterable<ReferenceProperty> result = Iterables.filter(getAllFeatures(contextDataType), ReferenceProperty.class); if (referenceTreatment instanceof ReferenceLink) { // leave only containment references, containment reference might // not be supported in WADL/XSD generator // result = filter(result, isContainmentReferenceProperty()); } return Scopes.scopeFor(result); }
/** * <!-- begin-user-doc --> <!-- end-user-doc --> * @generated */ public com.reprezen.rapidml.Structure getDataType() { if (eContainer() instanceof ServiceDataResource) { return ((ServiceDataResource) eContainer()).getDataType(); } if (eContainer() instanceof TypedMessage) { return ((TypedMessage) eContainer()).getActualType(); } if (eContainer() instanceof ReferenceRealization) { ReferenceRealization realization = (ReferenceRealization) eContainer(); ReferenceTreatment treatment = realization != null ? (ReferenceTreatment) realization.eContainer() : null; return treatment != null ? treatment.getReferenceElement().getDataType() : null; } if (eContainer() instanceof ReferenceTreatment) { return ((ReferenceTreatment) eContainer()).getReferenceElement().getDataType(); } return null; }