From 8736980fe6ce1d8f20085767b3ce0c0b4db4a184 Mon Sep 17 00:00:00 2001 From: Dominique Marcadet <Dominique.Marcadet@centralesupelec.fr> Date: Tue, 21 May 2019 13:13:25 +0200 Subject: [PATCH] add links from DataAttribute to Enumeration and ConstructedAttribute --- .../plugin.properties | 4 + .../ConstructedAttributeItemProvider.java | 23 ++ .../provider/DataAttributeItemProvider.java | 46 +++ .../nsd/provider/EnumerationItemProvider.java | 23 ++ .../model/nsd.ecore | 16 + .../model/nsd.genmodel | 8 + .../iec61850/nsd/ConstructedAttribute.java | 38 ++ .../iec61850/nsd/DataAttribute.java | 104 +++++ .../riseclipse/iec61850/nsd/Enumeration.java | 38 ++ .../edf/riseclipse/iec61850/nsd/NS.java | 8 + .../riseclipse/iec61850/nsd/NsdPackage.java | 159 +++++++- .../nsd/impl/ConstructedAttributeImpl.java | 64 +++ .../iec61850/nsd/impl/DataAttributeImpl.java | 376 +++++++++++++++++- .../iec61850/nsd/impl/EnumerationImpl.java | 70 +++- .../riseclipse/iec61850/nsd/impl/NSImpl.java | 30 +- .../iec61850/nsd/impl/NsdPackageImpl.java | 76 ++++ 16 files changed, 1059 insertions(+), 24 deletions(-) diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/plugin.properties b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/plugin.properties index f8e2728..3cbb7f4 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/plugin.properties +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/plugin.properties @@ -573,3 +573,7 @@ _UI_PresenceCondition_refersToDoc_feature = Refers To Doc _UI_AgPresenceCondition_refersToPresCondArgsDoc_feature = Refers To Pres Cond Args Doc _UI_AgPresenceConditionDerivedStatistics_refersToDsPresCondArgsDoc_feature = Refers To Ds Pres Cond Args Doc _UI_AgNSdesc_refersToDoc_feature = Refers To Doc +_UI_ConstructedAttribute_referredByDataAttribute_feature = Referred By Data Attribute +_UI_DataAttribute_refersToConstructedAttribute_feature = Refers To Constructed Attribute +_UI_DataAttribute_refersToEnumeration_feature = Refers To Enumeration +_UI_Enumeration_referredByDataAttribute_feature = Referred By Data Attribute diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/ConstructedAttributeItemProvider.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/ConstructedAttributeItemProvider.java index a9098c2..3d2396a 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/ConstructedAttributeItemProvider.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/ConstructedAttributeItemProvider.java @@ -65,6 +65,7 @@ public class ConstructedAttributeItemProvider extends TitledClassItemProvider { super.getPropertyDescriptors( object ); addNamePropertyDescriptor( object ); + addReferredByDataAttributePropertyDescriptor( object ); } return itemPropertyDescriptors; } @@ -91,6 +92,28 @@ public class ConstructedAttributeItemProvider extends TitledClassItemProvider { null ) ); } + /** + * This adds a property descriptor for the Referred By Data Attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addReferredByDataAttributePropertyDescriptor( Object object ) { + itemPropertyDescriptors.add( createItemPropertyDescriptor( + ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(), + getResourceLocator(), + getString( "_UI_ConstructedAttribute_referredByDataAttribute_feature" ), + getString( "_UI_PropertyDescriptor_description", + "_UI_ConstructedAttribute_referredByDataAttribute_feature", "_UI_ConstructedAttribute_type" ), + NsdPackage.Literals.CONSTRUCTED_ATTRIBUTE__REFERRED_BY_DATA_ATTRIBUTE, + true, + false, + true, + null, + null, + null ) ); + } + /** * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/DataAttributeItemProvider.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/DataAttributeItemProvider.java index ca4cc8d..434ceb7 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/DataAttributeItemProvider.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/DataAttributeItemProvider.java @@ -88,6 +88,8 @@ public class DataAttributeItemProvider extends DocumentedClassItemProvider { addReferredByDataAttributeAsSizeAttributePropertyDescriptor( object ); addReferredByDataAttributeAsMaxIndexAttributePropertyDescriptor( object ); addRefersToBasicTypePropertyDescriptor( object ); + addRefersToConstructedAttributePropertyDescriptor( object ); + addRefersToEnumerationPropertyDescriptor( object ); } return itemPropertyDescriptors; } @@ -512,6 +514,50 @@ public class DataAttributeItemProvider extends DocumentedClassItemProvider { null ) ); } + /** + * This adds a property descriptor for the Refers To Constructed Attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addRefersToConstructedAttributePropertyDescriptor( Object object ) { + itemPropertyDescriptors.add( + createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(), + getResourceLocator(), + getString( "_UI_DataAttribute_refersToConstructedAttribute_feature" ), + getString( "_UI_PropertyDescriptor_description", + "_UI_DataAttribute_refersToConstructedAttribute_feature", "_UI_DataAttribute_type" ), + NsdPackage.Literals.DATA_ATTRIBUTE__REFERS_TO_CONSTRUCTED_ATTRIBUTE, + true, + false, + true, + null, + null, + null ) ); + } + + /** + * This adds a property descriptor for the Refers To Enumeration feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addRefersToEnumerationPropertyDescriptor( Object object ) { + itemPropertyDescriptors.add( + createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(), + getResourceLocator(), + getString( "_UI_DataAttribute_refersToEnumeration_feature" ), + getString( "_UI_PropertyDescriptor_description", + "_UI_DataAttribute_refersToEnumeration_feature", "_UI_DataAttribute_type" ), + NsdPackage.Literals.DATA_ATTRIBUTE__REFERS_TO_ENUMERATION, + true, + false, + true, + null, + null, + null ) ); + } + /** * This adds a property descriptor for the Pres Cond feature. * <!-- begin-user-doc --> diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/EnumerationItemProvider.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/EnumerationItemProvider.java index bec7be6..1ad2c32 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/EnumerationItemProvider.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/EnumerationItemProvider.java @@ -68,6 +68,7 @@ public class EnumerationItemProvider extends TitledClassItemProvider { addNamePropertyDescriptor( object ); addRefersToBaseEnumerationPropertyDescriptor( object ); addReferredByEnumerationAsBasePropertyDescriptor( object ); + addReferredByDataAttributePropertyDescriptor( object ); } return itemPropertyDescriptors; } @@ -160,6 +161,28 @@ public class EnumerationItemProvider extends TitledClassItemProvider { null ) ); } + /** + * This adds a property descriptor for the Referred By Data Attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addReferredByDataAttributePropertyDescriptor( Object object ) { + itemPropertyDescriptors.add( + createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(), + getResourceLocator(), + getString( "_UI_Enumeration_referredByDataAttribute_feature" ), + getString( "_UI_PropertyDescriptor_description", + "_UI_Enumeration_referredByDataAttribute_feature", "_UI_Enumeration_type" ), + NsdPackage.Literals.ENUMERATION__REFERRED_BY_DATA_ATTRIBUTE, + true, + false, + true, + null, + null, + null ) ); + } + /** * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/model/nsd.ecore b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/model/nsd.ecore index ee3e1c7..ad6bba0 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/model/nsd.ecore +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/model/nsd.ecore @@ -641,6 +641,9 @@ <eStructuralFeatures xsi:type="ecore:EReference" name="parentServiceTypeRealizations" ordered="false" eType="#//ServiceTypeRealizations" transient="true" unsettable="true" resolveProxies="false" eOpposite="#//ServiceTypeRealizations/serviceTypeRealization"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="referredByDataAttribute" + ordered="false" upperBound="-1" eType="#//DataAttribute" transient="true" + unsettable="true" resolveProxies="false" eOpposite="#//DataAttribute/refersToConstructedAttribute"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="ConstructedAttributes" eSuperTypes="#//NsdObject"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> @@ -762,6 +765,12 @@ <eStructuralFeatures xsi:type="ecore:EReference" name="refersToBasicType" ordered="false" eType="#//BasicType" transient="true" unsettable="true" resolveProxies="false" eOpposite="#//BasicType/referredByDataAttribute"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="refersToConstructedAttribute" + ordered="false" eType="#//ConstructedAttribute" transient="true" unsettable="true" + resolveProxies="false" eOpposite="#//ConstructedAttribute/referredByDataAttribute"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="refersToEnumeration" ordered="false" + eType="#//Enumeration" transient="true" unsettable="true" resolveProxies="false" + eOpposite="#//Enumeration/referredByDataAttribute"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="DataObject" eSuperTypes="#//DocumentedClass #//AgPresenceCondition #//AgPresenceConditionDerivedStatistics #//AgUnderlyingType"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> @@ -1001,6 +1010,9 @@ <eStructuralFeatures xsi:type="ecore:EReference" name="referredByEnumerationAsBase" ordered="false" upperBound="-1" eType="#//Enumeration" transient="true" unsettable="true" resolveProxies="false" eOpposite="#//Enumeration/refersToBaseEnumeration"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="referredByDataAttribute" + ordered="false" upperBound="-1" eType="#//DataAttribute" transient="true" + unsettable="true" resolveProxies="false" eOpposite="#//DataAttribute/refersToEnumeration"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="Enumerations" eSuperTypes="#//NsdObject"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> @@ -1285,6 +1297,10 @@ <eParameters name="basicTypeName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> <eParameters name="console" eType="#//IRiseClipseConsole"/> </eOperations> + <eOperations name="findConstructedAttribute" eType="#//ConstructedAttribute"> + <eParameters name="constructedAttributeName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + <eParameters name="console" eType="#//IRiseClipseConsole"/> + </eOperations> <eStructuralFeatures xsi:type="ecore:EReference" name="changes" ordered="false" eType="#//Changes" unsettable="true" containment="true" resolveProxies="false" eOpposite="#//Changes/parentNS"> diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/model/nsd.genmodel b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/model/nsd.genmodel index 4868837..4df83de 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/model/nsd.genmodel +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/model/nsd.genmodel @@ -203,6 +203,7 @@ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//ConstructedAttribute/name"/> <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference nsd.ecore#//ConstructedAttribute/parentConstructedAttributes"/> <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference nsd.ecore#//ConstructedAttribute/parentServiceTypeRealizations"/> + <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference nsd.ecore#//ConstructedAttribute/referredByDataAttribute"/> </genClasses> <genClasses ecoreClass="nsd.ecore#//ConstructedAttributes"> <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nsd.ecore#//ConstructedAttributes/constructedAttribute"/> @@ -229,6 +230,8 @@ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference nsd.ecore#//DataAttribute/referredByDataAttributeAsSizeAttribute"/> <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference nsd.ecore#//DataAttribute/referredByDataAttributeAsMaxIndexAttribute"/> <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference nsd.ecore#//DataAttribute/refersToBasicType"/> + <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference nsd.ecore#//DataAttribute/refersToConstructedAttribute"/> + <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference nsd.ecore#//DataAttribute/refersToEnumeration"/> </genClasses> <genClasses ecoreClass="nsd.ecore#//DataObject"> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//DataObject/name"/> @@ -271,6 +274,7 @@ <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference nsd.ecore#//Enumeration/parentEnumerations"/> <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference nsd.ecore#//Enumeration/refersToBaseEnumeration"/> <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference nsd.ecore#//Enumeration/referredByEnumerationAsBase"/> + <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference nsd.ecore#//Enumeration/referredByDataAttribute"/> </genClasses> <genClasses ecoreClass="nsd.ecore#//Enumerations"> <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nsd.ecore#//Enumerations/enumeration"/> @@ -348,6 +352,10 @@ <genParameters ecoreParameter="nsd.ecore#//NS/findBasicType/basicTypeName"/> <genParameters ecoreParameter="nsd.ecore#//NS/findBasicType/console"/> </genOperations> + <genOperations ecoreOperation="nsd.ecore#//NS/findConstructedAttribute"> + <genParameters ecoreParameter="nsd.ecore#//NS/findConstructedAttribute/constructedAttributeName"/> + <genParameters ecoreParameter="nsd.ecore#//NS/findConstructedAttribute/console"/> + </genOperations> </genClasses> <genClasses ecoreClass="nsd.ecore#//NSDoc"> <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nsd.ecore#//NSDoc/doc"/> diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/ConstructedAttribute.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/ConstructedAttribute.java index 3423c1d..11dfcf7 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/ConstructedAttribute.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/ConstructedAttribute.java @@ -34,6 +34,7 @@ import org.eclipse.emf.common.util.EList; * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ConstructedAttribute#getName <em>Name</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ConstructedAttribute#getParentConstructedAttributes <em>Parent Constructed Attributes</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ConstructedAttribute#getParentServiceTypeRealizations <em>Parent Service Type Realizations</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ConstructedAttribute#getReferredByDataAttribute <em>Referred By Data Attribute</em>}</li> * </ul> * * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getConstructedAttribute() @@ -183,4 +184,41 @@ public interface ConstructedAttribute extends TitledClass { */ void setParentServiceTypeRealizations( ServiceTypeRealizations value ); + /** + * Returns the value of the '<em><b>Referred By Data Attribute</b></em>' reference list. + * The list contents are of type {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute}. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getRefersToConstructedAttribute <em>Refers To Constructed Attribute</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the value of the '<em>Referred By Data Attribute</em>' reference list. + * @see #isSetReferredByDataAttribute() + * @see #unsetReferredByDataAttribute() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getConstructedAttribute_ReferredByDataAttribute() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getRefersToConstructedAttribute + * @model opposite="refersToConstructedAttribute" resolveProxies="false" unsettable="true" transient="true" ordered="false" + * @generated + */ + EList< DataAttribute > getReferredByDataAttribute(); + + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ConstructedAttribute#getReferredByDataAttribute <em>Referred By Data Attribute</em>}' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetReferredByDataAttribute() + * @see #getReferredByDataAttribute() + * @generated + */ + void unsetReferredByDataAttribute(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ConstructedAttribute#getReferredByDataAttribute <em>Referred By Data Attribute</em>}' reference list is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Referred By Data Attribute</em>' reference list is set. + * @see #unsetReferredByDataAttribute() + * @see #getReferredByDataAttribute() + * @generated + */ + boolean isSetReferredByDataAttribute(); + } // ConstructedAttribute diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/DataAttribute.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/DataAttribute.java index 2f9d835..02955f2 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/DataAttribute.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/DataAttribute.java @@ -42,6 +42,8 @@ import org.eclipse.emf.common.util.EList; * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getReferredByDataAttributeAsSizeAttribute <em>Referred By Data Attribute As Size Attribute</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getReferredByDataAttributeAsMaxIndexAttribute <em>Referred By Data Attribute As Max Index Attribute</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getRefersToBasicType <em>Refers To Basic Type</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getRefersToConstructedAttribute <em>Refers To Constructed Attribute</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getRefersToEnumeration <em>Refers To Enumeration</em>}</li> * </ul> * * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getDataAttribute() @@ -615,4 +617,106 @@ public interface DataAttribute */ boolean isSetRefersToBasicType(); + /** + * Returns the value of the '<em><b>Refers To Constructed Attribute</b></em>' reference. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ConstructedAttribute#getReferredByDataAttribute <em>Referred By Data Attribute</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the value of the '<em>Refers To Constructed Attribute</em>' reference. + * @see #isSetRefersToConstructedAttribute() + * @see #unsetRefersToConstructedAttribute() + * @see #setRefersToConstructedAttribute(ConstructedAttribute) + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getDataAttribute_RefersToConstructedAttribute() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.ConstructedAttribute#getReferredByDataAttribute + * @model opposite="referredByDataAttribute" resolveProxies="false" unsettable="true" transient="true" ordered="false" + * @generated + */ + ConstructedAttribute getRefersToConstructedAttribute(); + + /** + * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getRefersToConstructedAttribute <em>Refers To Constructed Attribute</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Refers To Constructed Attribute</em>' reference. + * @see #isSetRefersToConstructedAttribute() + * @see #unsetRefersToConstructedAttribute() + * @see #getRefersToConstructedAttribute() + * @generated + */ + void setRefersToConstructedAttribute( ConstructedAttribute value ); + + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getRefersToConstructedAttribute <em>Refers To Constructed Attribute</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetRefersToConstructedAttribute() + * @see #getRefersToConstructedAttribute() + * @see #setRefersToConstructedAttribute(ConstructedAttribute) + * @generated + */ + void unsetRefersToConstructedAttribute(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getRefersToConstructedAttribute <em>Refers To Constructed Attribute</em>}' reference is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Refers To Constructed Attribute</em>' reference is set. + * @see #unsetRefersToConstructedAttribute() + * @see #getRefersToConstructedAttribute() + * @see #setRefersToConstructedAttribute(ConstructedAttribute) + * @generated + */ + boolean isSetRefersToConstructedAttribute(); + + /** + * Returns the value of the '<em><b>Refers To Enumeration</b></em>' reference. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Enumeration#getReferredByDataAttribute <em>Referred By Data Attribute</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the value of the '<em>Refers To Enumeration</em>' reference. + * @see #isSetRefersToEnumeration() + * @see #unsetRefersToEnumeration() + * @see #setRefersToEnumeration(Enumeration) + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getDataAttribute_RefersToEnumeration() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.Enumeration#getReferredByDataAttribute + * @model opposite="referredByDataAttribute" resolveProxies="false" unsettable="true" transient="true" ordered="false" + * @generated + */ + Enumeration getRefersToEnumeration(); + + /** + * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getRefersToEnumeration <em>Refers To Enumeration</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Refers To Enumeration</em>' reference. + * @see #isSetRefersToEnumeration() + * @see #unsetRefersToEnumeration() + * @see #getRefersToEnumeration() + * @generated + */ + void setRefersToEnumeration( Enumeration value ); + + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getRefersToEnumeration <em>Refers To Enumeration</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetRefersToEnumeration() + * @see #getRefersToEnumeration() + * @see #setRefersToEnumeration(Enumeration) + * @generated + */ + void unsetRefersToEnumeration(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getRefersToEnumeration <em>Refers To Enumeration</em>}' reference is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Refers To Enumeration</em>' reference is set. + * @see #unsetRefersToEnumeration() + * @see #getRefersToEnumeration() + * @see #setRefersToEnumeration(Enumeration) + * @generated + */ + boolean isSetRefersToEnumeration(); + } // DataAttribute diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/Enumeration.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/Enumeration.java index 3970a10..575e7c1 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/Enumeration.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/Enumeration.java @@ -36,6 +36,7 @@ import org.eclipse.emf.common.util.EList; * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Enumeration#getParentEnumerations <em>Parent Enumerations</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Enumeration#getRefersToBaseEnumeration <em>Refers To Base Enumeration</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Enumeration#getReferredByEnumerationAsBase <em>Referred By Enumeration As Base</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Enumeration#getReferredByDataAttribute <em>Referred By Data Attribute</em>}</li> * </ul> * * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getEnumeration() @@ -307,4 +308,41 @@ public interface Enumeration extends TitledClass { */ boolean isSetReferredByEnumerationAsBase(); + /** + * Returns the value of the '<em><b>Referred By Data Attribute</b></em>' reference list. + * The list contents are of type {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute}. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getRefersToEnumeration <em>Refers To Enumeration</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the value of the '<em>Referred By Data Attribute</em>' reference list. + * @see #isSetReferredByDataAttribute() + * @see #unsetReferredByDataAttribute() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getEnumeration_ReferredByDataAttribute() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getRefersToEnumeration + * @model opposite="refersToEnumeration" resolveProxies="false" unsettable="true" transient="true" ordered="false" + * @generated + */ + EList< DataAttribute > getReferredByDataAttribute(); + + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Enumeration#getReferredByDataAttribute <em>Referred By Data Attribute</em>}' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetReferredByDataAttribute() + * @see #getReferredByDataAttribute() + * @generated + */ + void unsetReferredByDataAttribute(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Enumeration#getReferredByDataAttribute <em>Referred By Data Attribute</em>}' reference list is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Referred By Data Attribute</em>' reference list is set. + * @see #unsetReferredByDataAttribute() + * @see #getReferredByDataAttribute() + * @generated + */ + boolean isSetReferredByDataAttribute(); + } // Enumeration diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/NS.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/NS.java index c901e7b..57e278d 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/NS.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/NS.java @@ -651,4 +651,12 @@ public interface NS extends Copyrighted, AgNSIdentification, AgUML, AgNSdesc { */ BasicType findBasicType( String basicTypeName, IRiseClipseConsole console ); + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @model consoleType="fr.centralesupelec.edf.riseclipse.iec61850.nsd.IRiseClipseConsole" + * @generated + */ + ConstructedAttribute findConstructedAttribute( String constructedAttributeName, IRiseClipseConsole console ); + } // NS diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/NsdPackage.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/NsdPackage.java index 286a6af..bfcc875 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/NsdPackage.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/NsdPackage.java @@ -2526,6 +2526,15 @@ public interface NsdPackage extends EPackage { */ int CONSTRUCTED_ATTRIBUTE__PARENT_SERVICE_TYPE_REALIZATIONS = TITLED_CLASS_FEATURE_COUNT + 3; + /** + * The feature id for the '<em><b>Referred By Data Attribute</b></em>' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int CONSTRUCTED_ATTRIBUTE__REFERRED_BY_DATA_ATTRIBUTE = TITLED_CLASS_FEATURE_COUNT + 4; + /** * The number of structural features of the '<em>Constructed Attribute</em>' class. * <!-- begin-user-doc --> @@ -2533,7 +2542,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int CONSTRUCTED_ATTRIBUTE_FEATURE_COUNT = TITLED_CLASS_FEATURE_COUNT + 4; + int CONSTRUCTED_ATTRIBUTE_FEATURE_COUNT = TITLED_CLASS_FEATURE_COUNT + 5; /** * The operation id for the '<em>Build Explicit Links</em>' operation. @@ -2994,6 +3003,24 @@ public interface NsdPackage extends EPackage { */ int DATA_ATTRIBUTE__REFERS_TO_BASIC_TYPE = DOCUMENTED_CLASS_FEATURE_COUNT + 27; + /** + * The feature id for the '<em><b>Refers To Constructed Attribute</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int DATA_ATTRIBUTE__REFERS_TO_CONSTRUCTED_ATTRIBUTE = DOCUMENTED_CLASS_FEATURE_COUNT + 28; + + /** + * The feature id for the '<em><b>Refers To Enumeration</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int DATA_ATTRIBUTE__REFERS_TO_ENUMERATION = DOCUMENTED_CLASS_FEATURE_COUNT + 29; + /** * The number of structural features of the '<em>Data Attribute</em>' class. * <!-- begin-user-doc --> @@ -3001,7 +3028,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int DATA_ATTRIBUTE_FEATURE_COUNT = DOCUMENTED_CLASS_FEATURE_COUNT + 28; + int DATA_ATTRIBUTE_FEATURE_COUNT = DOCUMENTED_CLASS_FEATURE_COUNT + 30; /** * The operation id for the '<em>Build Explicit Links</em>' operation. @@ -3597,6 +3624,15 @@ public interface NsdPackage extends EPackage { */ int ENUMERATION__REFERRED_BY_ENUMERATION_AS_BASE = TITLED_CLASS_FEATURE_COUNT + 5; + /** + * The feature id for the '<em><b>Referred By Data Attribute</b></em>' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ENUMERATION__REFERRED_BY_DATA_ATTRIBUTE = TITLED_CLASS_FEATURE_COUNT + 6; + /** * The number of structural features of the '<em>Enumeration</em>' class. * <!-- begin-user-doc --> @@ -3604,7 +3640,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int ENUMERATION_FEATURE_COUNT = TITLED_CLASS_FEATURE_COUNT + 6; + int ENUMERATION_FEATURE_COUNT = TITLED_CLASS_FEATURE_COUNT + 7; /** * The operation id for the '<em>Build Explicit Links</em>' operation. @@ -4632,6 +4668,15 @@ public interface NsdPackage extends EPackage { */ int NS___FIND_BASIC_TYPE__STRING_IRISECLIPSECONSOLE = COPYRIGHTED_OPERATION_COUNT + 4; + /** + * The operation id for the '<em>Find Constructed Attribute</em>' operation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int NS___FIND_CONSTRUCTED_ATTRIBUTE__STRING_IRISECLIPSECONSOLE = COPYRIGHTED_OPERATION_COUNT + 5; + /** * The number of operations of the '<em>NS</em>' class. * <!-- begin-user-doc --> @@ -4639,7 +4684,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int NS_OPERATION_COUNT = COPYRIGHTED_OPERATION_COUNT + 5; + int NS_OPERATION_COUNT = COPYRIGHTED_OPERATION_COUNT + 6; /** * The feature id for the '<em><b>Line Number</b></em>' attribute. @@ -5235,6 +5280,15 @@ public interface NsdPackage extends EPackage { */ int SERVICE_CONSTRUCTED_ATTRIBUTE__PARENT_SERVICE_TYPE_REALIZATIONS = CONSTRUCTED_ATTRIBUTE__PARENT_SERVICE_TYPE_REALIZATIONS; + /** + * The feature id for the '<em><b>Referred By Data Attribute</b></em>' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int SERVICE_CONSTRUCTED_ATTRIBUTE__REFERRED_BY_DATA_ATTRIBUTE = CONSTRUCTED_ATTRIBUTE__REFERRED_BY_DATA_ATTRIBUTE; + /** * The feature id for the '<em><b>Type Kind Parameterized</b></em>' attribute. * <!-- begin-user-doc --> @@ -8003,6 +8057,17 @@ public interface NsdPackage extends EPackage { */ EReference getConstructedAttribute_ParentServiceTypeRealizations(); + /** + * Returns the meta object for the reference list '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ConstructedAttribute#getReferredByDataAttribute <em>Referred By Data Attribute</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference list '<em>Referred By Data Attribute</em>'. + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.ConstructedAttribute#getReferredByDataAttribute() + * @see #getConstructedAttribute() + * @generated + */ + EReference getConstructedAttribute_ReferredByDataAttribute(); + /** * Returns the meta object for class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ConstructedAttributes <em>Constructed Attributes</em>}'. * <!-- begin-user-doc --> @@ -8241,6 +8306,28 @@ public interface NsdPackage extends EPackage { */ EReference getDataAttribute_RefersToBasicType(); + /** + * Returns the meta object for the reference '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getRefersToConstructedAttribute <em>Refers To Constructed Attribute</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference '<em>Refers To Constructed Attribute</em>'. + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getRefersToConstructedAttribute() + * @see #getDataAttribute() + * @generated + */ + EReference getDataAttribute_RefersToConstructedAttribute(); + + /** + * Returns the meta object for the reference '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getRefersToEnumeration <em>Refers To Enumeration</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference '<em>Refers To Enumeration</em>'. + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getRefersToEnumeration() + * @see #getDataAttribute() + * @generated + */ + EReference getDataAttribute_RefersToEnumeration(); + /** * Returns the meta object for class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataObject <em>Data Object</em>}'. * <!-- begin-user-doc --> @@ -8643,6 +8730,17 @@ public interface NsdPackage extends EPackage { */ EReference getEnumeration_ReferredByEnumerationAsBase(); + /** + * Returns the meta object for the reference list '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Enumeration#getReferredByDataAttribute <em>Referred By Data Attribute</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference list '<em>Referred By Data Attribute</em>'. + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.Enumeration#getReferredByDataAttribute() + * @see #getEnumeration() + * @generated + */ + EReference getEnumeration_ReferredByDataAttribute(); + /** * Returns the meta object for class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Enumerations <em>Enumerations</em>}'. * <!-- begin-user-doc --> @@ -9212,6 +9310,16 @@ public interface NsdPackage extends EPackage { */ EOperation getNS__FindBasicType__String_IRiseClipseConsole(); + /** + * Returns the meta object for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS#findConstructedAttribute(java.lang.String, fr.centralesupelec.edf.riseclipse.util.IRiseClipseConsole) <em>Find Constructed Attribute</em>}' operation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the '<em>Find Constructed Attribute</em>' operation. + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS#findConstructedAttribute(java.lang.String, fr.centralesupelec.edf.riseclipse.util.IRiseClipseConsole) + * @generated + */ + EOperation getNS__FindConstructedAttribute__String_IRiseClipseConsole(); + /** * Returns the meta object for class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.NSDoc <em>NS Doc</em>}'. * <!-- begin-user-doc --> @@ -11289,6 +11397,15 @@ public interface NsdPackage extends EPackage { EReference CONSTRUCTED_ATTRIBUTE__PARENT_SERVICE_TYPE_REALIZATIONS = eINSTANCE .getConstructedAttribute_ParentServiceTypeRealizations(); + /** + * The meta object literal for the '<em><b>Referred By Data Attribute</b></em>' reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference CONSTRUCTED_ATTRIBUTE__REFERRED_BY_DATA_ATTRIBUTE = eINSTANCE + .getConstructedAttribute_ReferredByDataAttribute(); + /** * The meta object literal for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.ConstructedAttributesImpl <em>Constructed Attributes</em>}' class. * <!-- begin-user-doc --> @@ -11481,6 +11598,23 @@ public interface NsdPackage extends EPackage { */ EReference DATA_ATTRIBUTE__REFERS_TO_BASIC_TYPE = eINSTANCE.getDataAttribute_RefersToBasicType(); + /** + * The meta object literal for the '<em><b>Refers To Constructed Attribute</b></em>' reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference DATA_ATTRIBUTE__REFERS_TO_CONSTRUCTED_ATTRIBUTE = eINSTANCE + .getDataAttribute_RefersToConstructedAttribute(); + + /** + * The meta object literal for the '<em><b>Refers To Enumeration</b></em>' reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference DATA_ATTRIBUTE__REFERS_TO_ENUMERATION = eINSTANCE.getDataAttribute_RefersToEnumeration(); + /** * The meta object literal for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.DataObjectImpl <em>Data Object</em>}' class. * <!-- begin-user-doc --> @@ -11791,6 +11925,14 @@ public interface NsdPackage extends EPackage { EReference ENUMERATION__REFERRED_BY_ENUMERATION_AS_BASE = eINSTANCE .getEnumeration_ReferredByEnumerationAsBase(); + /** + * The meta object literal for the '<em><b>Referred By Data Attribute</b></em>' reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference ENUMERATION__REFERRED_BY_DATA_ATTRIBUTE = eINSTANCE.getEnumeration_ReferredByDataAttribute(); + /** * The meta object literal for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.EnumerationsImpl <em>Enumerations</em>}' class. * <!-- begin-user-doc --> @@ -12240,6 +12382,15 @@ public interface NsdPackage extends EPackage { EOperation NS___FIND_BASIC_TYPE__STRING_IRISECLIPSECONSOLE = eINSTANCE .getNS__FindBasicType__String_IRiseClipseConsole(); + /** + * The meta object literal for the '<em><b>Find Constructed Attribute</b></em>' operation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EOperation NS___FIND_CONSTRUCTED_ATTRIBUTE__STRING_IRISECLIPSECONSOLE = eINSTANCE + .getNS__FindConstructedAttribute__String_IRiseClipseConsole(); + /** * The meta object literal for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NSDocImpl <em>NS Doc</em>}' class. * <!-- begin-user-doc --> diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/ConstructedAttributeImpl.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/ConstructedAttributeImpl.java index 8dd1185..b2a8ac4 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/ConstructedAttributeImpl.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/ConstructedAttributeImpl.java @@ -21,6 +21,7 @@ package fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.ConstructedAttribute; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.ConstructedAttributes; +import fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceTypeRealizations; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataAttribute; @@ -37,6 +38,7 @@ import org.eclipse.emf.ecore.InternalEObject; import org.eclipse.emf.ecore.impl.ENotificationImpl; import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList; +import org.eclipse.emf.ecore.util.EObjectWithInverseEList; import org.eclipse.emf.ecore.util.EcoreUtil; import org.eclipse.emf.ecore.util.InternalEList; @@ -52,6 +54,7 @@ import org.eclipse.emf.ecore.util.InternalEList; * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.ConstructedAttributeImpl#getName <em>Name</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.ConstructedAttributeImpl#getParentConstructedAttributes <em>Parent Constructed Attributes</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.ConstructedAttributeImpl#getParentServiceTypeRealizations <em>Parent Service Type Realizations</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.ConstructedAttributeImpl#getReferredByDataAttribute <em>Referred By Data Attribute</em>}</li> * </ul> * * @generated @@ -96,6 +99,16 @@ public class ConstructedAttributeImpl extends TitledClassImpl implements Constru */ protected boolean nameESet; + /** + * The cached value of the '{@link #getReferredByDataAttribute() <em>Referred By Data Attribute</em>}' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getReferredByDataAttribute() + * @generated + * @ordered + */ + protected EList< DataAttribute > referredByDataAttribute; + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -303,6 +316,41 @@ public class ConstructedAttributeImpl extends TitledClassImpl implements Constru newParentServiceTypeRealizations, newParentServiceTypeRealizations ) ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EList< DataAttribute > getReferredByDataAttribute() { + if( referredByDataAttribute == null ) { + referredByDataAttribute = new EObjectWithInverseEList.Unsettable< DataAttribute >( DataAttribute.class, + this, NsdPackage.CONSTRUCTED_ATTRIBUTE__REFERRED_BY_DATA_ATTRIBUTE, + NsdPackage.DATA_ATTRIBUTE__REFERS_TO_CONSTRUCTED_ATTRIBUTE ); + } + return referredByDataAttribute; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetReferredByDataAttribute() { + if( referredByDataAttribute != null ) ( ( InternalEList.Unsettable< ? > ) referredByDataAttribute ).unset(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetReferredByDataAttribute() { + return referredByDataAttribute != null && ( ( InternalEList.Unsettable< ? > ) referredByDataAttribute ).isSet(); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -323,6 +371,9 @@ public class ConstructedAttributeImpl extends TitledClassImpl implements Constru if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); return basicSetParentServiceTypeRealizations( ( ServiceTypeRealizations ) otherEnd, msgs ); + case NsdPackage.CONSTRUCTED_ATTRIBUTE__REFERRED_BY_DATA_ATTRIBUTE: + return ( ( InternalEList< InternalEObject > ) ( InternalEList< ? > ) getReferredByDataAttribute() ) + .basicAdd( otherEnd, msgs ); } return super.eInverseAdd( otherEnd, featureID, msgs ); } @@ -341,6 +392,8 @@ public class ConstructedAttributeImpl extends TitledClassImpl implements Constru return basicSetParentConstructedAttributes( null, msgs ); case NsdPackage.CONSTRUCTED_ATTRIBUTE__PARENT_SERVICE_TYPE_REALIZATIONS: return basicSetParentServiceTypeRealizations( null, msgs ); + case NsdPackage.CONSTRUCTED_ATTRIBUTE__REFERRED_BY_DATA_ATTRIBUTE: + return ( ( InternalEList< ? > ) getReferredByDataAttribute() ).basicRemove( otherEnd, msgs ); } return super.eInverseRemove( otherEnd, featureID, msgs ); } @@ -380,6 +433,8 @@ public class ConstructedAttributeImpl extends TitledClassImpl implements Constru return getParentConstructedAttributes(); case NsdPackage.CONSTRUCTED_ATTRIBUTE__PARENT_SERVICE_TYPE_REALIZATIONS: return getParentServiceTypeRealizations(); + case NsdPackage.CONSTRUCTED_ATTRIBUTE__REFERRED_BY_DATA_ATTRIBUTE: + return getReferredByDataAttribute(); } return super.eGet( featureID, resolve, coreType ); } @@ -406,6 +461,10 @@ public class ConstructedAttributeImpl extends TitledClassImpl implements Constru case NsdPackage.CONSTRUCTED_ATTRIBUTE__PARENT_SERVICE_TYPE_REALIZATIONS: setParentServiceTypeRealizations( ( ServiceTypeRealizations ) newValue ); return; + case NsdPackage.CONSTRUCTED_ATTRIBUTE__REFERRED_BY_DATA_ATTRIBUTE: + getReferredByDataAttribute().clear(); + getReferredByDataAttribute().addAll( ( Collection< ? extends DataAttribute > ) newValue ); + return; } super.eSet( featureID, newValue ); } @@ -430,6 +489,9 @@ public class ConstructedAttributeImpl extends TitledClassImpl implements Constru case NsdPackage.CONSTRUCTED_ATTRIBUTE__PARENT_SERVICE_TYPE_REALIZATIONS: setParentServiceTypeRealizations( ( ServiceTypeRealizations ) null ); return; + case NsdPackage.CONSTRUCTED_ATTRIBUTE__REFERRED_BY_DATA_ATTRIBUTE: + unsetReferredByDataAttribute(); + return; } super.eUnset( featureID ); } @@ -450,6 +512,8 @@ public class ConstructedAttributeImpl extends TitledClassImpl implements Constru return getParentConstructedAttributes() != null; case NsdPackage.CONSTRUCTED_ATTRIBUTE__PARENT_SERVICE_TYPE_REALIZATIONS: return getParentServiceTypeRealizations() != null; + case NsdPackage.CONSTRUCTED_ATTRIBUTE__REFERRED_BY_DATA_ATTRIBUTE: + return isSetReferredByDataAttribute(); } return super.eIsSet( featureID ); } diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/DataAttributeImpl.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/DataAttributeImpl.java index e746363..d2efaf4 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/DataAttributeImpl.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/DataAttributeImpl.java @@ -26,9 +26,11 @@ import fr.centralesupelec.edf.riseclipse.iec61850.nsd.AgPresenceCondition; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.AgTrgOp; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.BasicType; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.CDC; +import fr.centralesupelec.edf.riseclipse.iec61850.nsd.ConstructedAttribute; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.DefinedAttributeTypeKind; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.Doc; +import fr.centralesupelec.edf.riseclipse.iec61850.nsd.Enumeration; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.FunctionalConstraint; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdFactory; @@ -92,6 +94,8 @@ import org.eclipse.emf.ecore.util.InternalEList; * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.DataAttributeImpl#getReferredByDataAttributeAsSizeAttribute <em>Referred By Data Attribute As Size Attribute</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.DataAttributeImpl#getReferredByDataAttributeAsMaxIndexAttribute <em>Referred By Data Attribute As Max Index Attribute</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.DataAttributeImpl#getRefersToBasicType <em>Refers To Basic Type</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.DataAttributeImpl#getRefersToConstructedAttribute <em>Refers To Constructed Attribute</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.DataAttributeImpl#getRefersToEnumeration <em>Refers To Enumeration</em>}</li> * </ul> * * @generated @@ -745,6 +749,44 @@ public class DataAttributeImpl extends DocumentedClassImpl implements DataAttrib */ protected boolean refersToBasicTypeESet; + /** + * The cached value of the '{@link #getRefersToConstructedAttribute() <em>Refers To Constructed Attribute</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getRefersToConstructedAttribute() + * @generated + * @ordered + */ + protected ConstructedAttribute refersToConstructedAttribute; + + /** + * This is true if the Refers To Constructed Attribute reference has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean refersToConstructedAttributeESet; + + /** + * The cached value of the '{@link #getRefersToEnumeration() <em>Refers To Enumeration</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getRefersToEnumeration() + * @generated + * @ordered + */ + protected Enumeration refersToEnumeration; + + /** + * This is true if the Refers To Enumeration reference has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean refersToEnumerationESet; + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -2550,6 +2592,240 @@ public class DataAttributeImpl extends DocumentedClassImpl implements DataAttrib return refersToBasicTypeESet; } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public ConstructedAttribute getRefersToConstructedAttribute() { + return refersToConstructedAttribute; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetRefersToConstructedAttribute( ConstructedAttribute newRefersToConstructedAttribute, + NotificationChain msgs ) { + ConstructedAttribute oldRefersToConstructedAttribute = refersToConstructedAttribute; + refersToConstructedAttribute = newRefersToConstructedAttribute; + boolean oldRefersToConstructedAttributeESet = refersToConstructedAttributeESet; + refersToConstructedAttributeESet = true; + if( eNotificationRequired() ) { + ENotificationImpl notification = new ENotificationImpl( this, Notification.SET, + NsdPackage.DATA_ATTRIBUTE__REFERS_TO_CONSTRUCTED_ATTRIBUTE, oldRefersToConstructedAttribute, + newRefersToConstructedAttribute, !oldRefersToConstructedAttributeESet ); + if( msgs == null ) + msgs = notification; + else + msgs.add( notification ); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setRefersToConstructedAttribute( ConstructedAttribute newRefersToConstructedAttribute ) { + if( newRefersToConstructedAttribute != refersToConstructedAttribute ) { + NotificationChain msgs = null; + if( refersToConstructedAttribute != null ) + msgs = ( ( InternalEObject ) refersToConstructedAttribute ).eInverseRemove( this, + NsdPackage.CONSTRUCTED_ATTRIBUTE__REFERRED_BY_DATA_ATTRIBUTE, ConstructedAttribute.class, + msgs ); + if( newRefersToConstructedAttribute != null ) + msgs = ( ( InternalEObject ) newRefersToConstructedAttribute ).eInverseAdd( this, + NsdPackage.CONSTRUCTED_ATTRIBUTE__REFERRED_BY_DATA_ATTRIBUTE, ConstructedAttribute.class, + msgs ); + msgs = basicSetRefersToConstructedAttribute( newRefersToConstructedAttribute, msgs ); + if( msgs != null ) msgs.dispatch(); + } + else { + boolean oldRefersToConstructedAttributeESet = refersToConstructedAttributeESet; + refersToConstructedAttributeESet = true; + if( eNotificationRequired() ) + eNotify( new ENotificationImpl( this, Notification.SET, + NsdPackage.DATA_ATTRIBUTE__REFERS_TO_CONSTRUCTED_ATTRIBUTE, newRefersToConstructedAttribute, + newRefersToConstructedAttribute, !oldRefersToConstructedAttributeESet ) ); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicUnsetRefersToConstructedAttribute( NotificationChain msgs ) { + ConstructedAttribute oldRefersToConstructedAttribute = refersToConstructedAttribute; + refersToConstructedAttribute = null; + boolean oldRefersToConstructedAttributeESet = refersToConstructedAttributeESet; + refersToConstructedAttributeESet = false; + if( eNotificationRequired() ) { + ENotificationImpl notification = new ENotificationImpl( this, Notification.UNSET, + NsdPackage.DATA_ATTRIBUTE__REFERS_TO_CONSTRUCTED_ATTRIBUTE, oldRefersToConstructedAttribute, null, + oldRefersToConstructedAttributeESet ); + if( msgs == null ) + msgs = notification; + else + msgs.add( notification ); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetRefersToConstructedAttribute() { + if( refersToConstructedAttribute != null ) { + NotificationChain msgs = null; + msgs = ( ( InternalEObject ) refersToConstructedAttribute ).eInverseRemove( this, + NsdPackage.CONSTRUCTED_ATTRIBUTE__REFERRED_BY_DATA_ATTRIBUTE, ConstructedAttribute.class, msgs ); + msgs = basicUnsetRefersToConstructedAttribute( msgs ); + if( msgs != null ) msgs.dispatch(); + } + else { + boolean oldRefersToConstructedAttributeESet = refersToConstructedAttributeESet; + refersToConstructedAttributeESet = false; + if( eNotificationRequired() ) + eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.DATA_ATTRIBUTE__REFERS_TO_CONSTRUCTED_ATTRIBUTE, null, null, + oldRefersToConstructedAttributeESet ) ); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetRefersToConstructedAttribute() { + return refersToConstructedAttributeESet; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Enumeration getRefersToEnumeration() { + return refersToEnumeration; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetRefersToEnumeration( Enumeration newRefersToEnumeration, NotificationChain msgs ) { + Enumeration oldRefersToEnumeration = refersToEnumeration; + refersToEnumeration = newRefersToEnumeration; + boolean oldRefersToEnumerationESet = refersToEnumerationESet; + refersToEnumerationESet = true; + if( eNotificationRequired() ) { + ENotificationImpl notification = new ENotificationImpl( this, Notification.SET, + NsdPackage.DATA_ATTRIBUTE__REFERS_TO_ENUMERATION, oldRefersToEnumeration, newRefersToEnumeration, + !oldRefersToEnumerationESet ); + if( msgs == null ) + msgs = notification; + else + msgs.add( notification ); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setRefersToEnumeration( Enumeration newRefersToEnumeration ) { + if( newRefersToEnumeration != refersToEnumeration ) { + NotificationChain msgs = null; + if( refersToEnumeration != null ) + msgs = ( ( InternalEObject ) refersToEnumeration ).eInverseRemove( this, + NsdPackage.ENUMERATION__REFERRED_BY_DATA_ATTRIBUTE, Enumeration.class, msgs ); + if( newRefersToEnumeration != null ) + msgs = ( ( InternalEObject ) newRefersToEnumeration ).eInverseAdd( this, + NsdPackage.ENUMERATION__REFERRED_BY_DATA_ATTRIBUTE, Enumeration.class, msgs ); + msgs = basicSetRefersToEnumeration( newRefersToEnumeration, msgs ); + if( msgs != null ) msgs.dispatch(); + } + else { + boolean oldRefersToEnumerationESet = refersToEnumerationESet; + refersToEnumerationESet = true; + if( eNotificationRequired() ) + eNotify( new ENotificationImpl( this, Notification.SET, + NsdPackage.DATA_ATTRIBUTE__REFERS_TO_ENUMERATION, newRefersToEnumeration, + newRefersToEnumeration, !oldRefersToEnumerationESet ) ); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicUnsetRefersToEnumeration( NotificationChain msgs ) { + Enumeration oldRefersToEnumeration = refersToEnumeration; + refersToEnumeration = null; + boolean oldRefersToEnumerationESet = refersToEnumerationESet; + refersToEnumerationESet = false; + if( eNotificationRequired() ) { + ENotificationImpl notification = new ENotificationImpl( this, Notification.UNSET, + NsdPackage.DATA_ATTRIBUTE__REFERS_TO_ENUMERATION, oldRefersToEnumeration, null, + oldRefersToEnumerationESet ); + if( msgs == null ) + msgs = notification; + else + msgs.add( notification ); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetRefersToEnumeration() { + if( refersToEnumeration != null ) { + NotificationChain msgs = null; + msgs = ( ( InternalEObject ) refersToEnumeration ).eInverseRemove( this, + NsdPackage.ENUMERATION__REFERRED_BY_DATA_ATTRIBUTE, Enumeration.class, msgs ); + msgs = basicUnsetRefersToEnumeration( msgs ); + if( msgs != null ) msgs.dispatch(); + } + else { + boolean oldRefersToEnumerationESet = refersToEnumerationESet; + refersToEnumerationESet = false; + if( eNotificationRequired() ) + eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.DATA_ATTRIBUTE__REFERS_TO_ENUMERATION, null, null, oldRefersToEnumerationESet ) ); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetRefersToEnumeration() { + return refersToEnumerationESet; + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -2608,6 +2884,17 @@ public class DataAttributeImpl extends DocumentedClassImpl implements DataAttrib msgs = ( ( InternalEObject ) refersToBasicType ).eInverseRemove( this, NsdPackage.BASIC_TYPE__REFERRED_BY_DATA_ATTRIBUTE, BasicType.class, msgs ); return basicSetRefersToBasicType( ( BasicType ) otherEnd, msgs ); + case NsdPackage.DATA_ATTRIBUTE__REFERS_TO_CONSTRUCTED_ATTRIBUTE: + if( refersToConstructedAttribute != null ) + msgs = ( ( InternalEObject ) refersToConstructedAttribute ).eInverseRemove( this, + NsdPackage.CONSTRUCTED_ATTRIBUTE__REFERRED_BY_DATA_ATTRIBUTE, ConstructedAttribute.class, + msgs ); + return basicSetRefersToConstructedAttribute( ( ConstructedAttribute ) otherEnd, msgs ); + case NsdPackage.DATA_ATTRIBUTE__REFERS_TO_ENUMERATION: + if( refersToEnumeration != null ) + msgs = ( ( InternalEObject ) refersToEnumeration ).eInverseRemove( this, + NsdPackage.ENUMERATION__REFERRED_BY_DATA_ATTRIBUTE, Enumeration.class, msgs ); + return basicSetRefersToEnumeration( ( Enumeration ) otherEnd, msgs ); } return super.eInverseAdd( otherEnd, featureID, msgs ); } @@ -2644,6 +2931,10 @@ public class DataAttributeImpl extends DocumentedClassImpl implements DataAttrib msgs ); case NsdPackage.DATA_ATTRIBUTE__REFERS_TO_BASIC_TYPE: return basicUnsetRefersToBasicType( msgs ); + case NsdPackage.DATA_ATTRIBUTE__REFERS_TO_CONSTRUCTED_ATTRIBUTE: + return basicUnsetRefersToConstructedAttribute( msgs ); + case NsdPackage.DATA_ATTRIBUTE__REFERS_TO_ENUMERATION: + return basicUnsetRefersToEnumeration( msgs ); } return super.eInverseRemove( otherEnd, featureID, msgs ); } @@ -2726,6 +3017,10 @@ public class DataAttributeImpl extends DocumentedClassImpl implements DataAttrib return getReferredByDataAttributeAsMaxIndexAttribute(); case NsdPackage.DATA_ATTRIBUTE__REFERS_TO_BASIC_TYPE: return getRefersToBasicType(); + case NsdPackage.DATA_ATTRIBUTE__REFERS_TO_CONSTRUCTED_ATTRIBUTE: + return getRefersToConstructedAttribute(); + case NsdPackage.DATA_ATTRIBUTE__REFERS_TO_ENUMERATION: + return getRefersToEnumeration(); } return super.eGet( featureID, resolve, coreType ); } @@ -2829,6 +3124,12 @@ public class DataAttributeImpl extends DocumentedClassImpl implements DataAttrib case NsdPackage.DATA_ATTRIBUTE__REFERS_TO_BASIC_TYPE: setRefersToBasicType( ( BasicType ) newValue ); return; + case NsdPackage.DATA_ATTRIBUTE__REFERS_TO_CONSTRUCTED_ATTRIBUTE: + setRefersToConstructedAttribute( ( ConstructedAttribute ) newValue ); + return; + case NsdPackage.DATA_ATTRIBUTE__REFERS_TO_ENUMERATION: + setRefersToEnumeration( ( Enumeration ) newValue ); + return; } super.eSet( featureID, newValue ); } @@ -2925,6 +3226,12 @@ public class DataAttributeImpl extends DocumentedClassImpl implements DataAttrib case NsdPackage.DATA_ATTRIBUTE__REFERS_TO_BASIC_TYPE: unsetRefersToBasicType(); return; + case NsdPackage.DATA_ATTRIBUTE__REFERS_TO_CONSTRUCTED_ATTRIBUTE: + unsetRefersToConstructedAttribute(); + return; + case NsdPackage.DATA_ATTRIBUTE__REFERS_TO_ENUMERATION: + unsetRefersToEnumeration(); + return; } super.eUnset( featureID ); } @@ -2993,6 +3300,10 @@ public class DataAttributeImpl extends DocumentedClassImpl implements DataAttrib return isSetReferredByDataAttributeAsMaxIndexAttribute(); case NsdPackage.DATA_ATTRIBUTE__REFERS_TO_BASIC_TYPE: return isSetRefersToBasicType(); + case NsdPackage.DATA_ATTRIBUTE__REFERS_TO_CONSTRUCTED_ATTRIBUTE: + return isSetRefersToConstructedAttribute(); + case NsdPackage.DATA_ATTRIBUTE__REFERS_TO_ENUMERATION: + return isSetRefersToEnumeration(); } return super.eIsSet( featureID ); } @@ -3253,7 +3564,7 @@ public class DataAttributeImpl extends DocumentedClassImpl implements DataAttrib NS ns = getParentCDC().getParentCDCs().getParentNS(); String messagePrefix = "[NSD links] while resolving link from DataAttribute (name: " + getName() - + ", NS id: " + ns.getId() + ", line: " + getLineNumber() + "): "; + + ", NS id: " + ns.getId() + ", line: " + getLineNumber() + "): "; if( isSetFc() ) { FunctionalConstraint foundFC = ns.findFunctionalConstraint( getFc(), console ); @@ -3263,7 +3574,8 @@ public class DataAttributeImpl extends DocumentedClassImpl implements DataAttrib } else { setRefersToFunctionalConstraint( foundFC ); - console.info( "[NSD links] FunctionalConstraint (abbreviation: " + getFc() + ") refers by DataAttribute (name: " + console.info( "[NSD links] FunctionalConstraint (abbreviation: " + getFc() + + ") refers by DataAttribute (name: " + getName() + ") in NS (id:" + ns.getId() + ") found in NS (id:" + getRefersToFunctionalConstraint().getParentFunctionalConstraints().getParentNS().getId() + ")" ); @@ -3278,7 +3590,8 @@ public class DataAttributeImpl extends DocumentedClassImpl implements DataAttrib } else { setRefersToPresenceCondition( foundPC ); - console.info( "[NSD links] PresenceCondition (name: " + getPresCond() + ") refers by DataAttribute (name: " + console.info( "[NSD links] PresenceCondition (name: " + getPresCond() + + ") refers by DataAttribute (name: " + getName() + ") in NS (id:" + ns.getId() + ") found in NS (id:" + getRefersToPresenceCondition().getParentPresenceConditions().getParentNS().getId() + ")" ); } @@ -3320,23 +3633,58 @@ public class DataAttributeImpl extends DocumentedClassImpl implements DataAttrib } } - if( getTypeKind().equals( DefinedAttributeTypeKind.BASIC ) ) { - BasicType foundBT = ns.findBasicType( getType(), console ); - - if( foundBT == null ) { - console.warning( messagePrefix + "BasicType (name: " + getType() + ") not found" ); + if( getTypeKind() instanceof DefinedAttributeTypeKind ) { + if( isSetType() ) { + switch( getTypeKind().getValue() ) { + case DefinedAttributeTypeKind.BASIC_VALUE: + BasicType foundBT = ns.findBasicType( getType(), console ); + + if( foundBT == null ) { + console.warning( messagePrefix + "BasicType (name: " + getType() + ") not found" ); + } + else { + setRefersToBasicType( foundBT ); + console.info( "[NSD links] BasicType (name: " + getType() + ") refers as type by DataAttribute (name: " + + getName() + ") in NS (id:" + ns.getId() + ") found in NS (id:" + + getRefersToBasicType().getParentBasicTypes().getParentNS().getId() + ")" ); + } + break; + case DefinedAttributeTypeKind.CONSTRUCTED_VALUE: + ConstructedAttribute foundCA = ns.findConstructedAttribute( getType(), console ); + + if( foundCA == null ) { + console.warning( messagePrefix + "ConstructedAttribute (name: " + getType() + ") not found" ); + } + else { + setRefersToConstructedAttribute( foundCA ); + console.info( "[NSD links] ConstructedAttribute (name: " + getType() + ") refers as type by DataAttribute (name: " + + getName() + ") in NS (id:" + ns.getId() + ") found in NS (id:" + + getRefersToConstructedAttribute().getParentConstructedAttributes().getParentNS().getId() + ")" ); + } + break; + case DefinedAttributeTypeKind.ENUMERATED_VALUE: + Enumeration foundEn = ns.findEnumeration( getType(), console ); + + if( foundEn == null ) { + console.warning( messagePrefix + "Enumeration (name: " + getType() + ") not found" ); + } + else { + setRefersToEnumeration( foundEn ); + console.info( "[NSD links] Enumeration (name: " + getType() + ") refers as type by DataAttribute (name: " + + getName() + ") in NS (id:" + ns.getId() + ") found in NS (id:" + + getRefersToEnumeration().getParentEnumerations().getParentNS().getId() + ")" ); + } + break; + } } else { - setRefersToBasicType( foundBT ); - console.info( "[NSD links] BasicType (name: " + getType() + ") refers as type by DataAttribute (name: " - + getName() + ") in NS (id:" + ns.getId() + ") found in NS (id:" - + getRefersToBasicType().getParentBasicTypes().getParentNS().getId() + ")" ); + console.warning( messagePrefix + "type is missing for " + getTypeKind() ); } } - + if( isSetPresCondArgsID() ) { if( this.eResource().getResourceSet() instanceof NsdResourceSetImpl ) { - Doc doc = (( NsdResourceSetImpl ) this.eResource().getResourceSet() ).findDoc( getPresCondArgsID() ); + Doc doc = ( ( NsdResourceSetImpl ) this.eResource().getResourceSet() ).findDoc( getPresCondArgsID() ); if( doc != null ) setRefersToPresCondArgsDoc( doc ); } } diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/EnumerationImpl.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/EnumerationImpl.java index 5993e89..56c2d69 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/EnumerationImpl.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/EnumerationImpl.java @@ -19,6 +19,7 @@ */ package fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl; +import fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.Enumeration; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.Enumerations; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.Literal; @@ -56,6 +57,7 @@ import org.eclipse.emf.ecore.util.InternalEList; * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.EnumerationImpl#getParentEnumerations <em>Parent Enumerations</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.EnumerationImpl#getRefersToBaseEnumeration <em>Refers To Base Enumeration</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.EnumerationImpl#getReferredByEnumerationAsBase <em>Referred By Enumeration As Base</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.EnumerationImpl#getReferredByDataAttribute <em>Referred By Data Attribute</em>}</li> * </ul> * * @generated @@ -158,6 +160,16 @@ public class EnumerationImpl extends TitledClassImpl implements Enumeration { */ protected EList< Enumeration > referredByEnumerationAsBase; + /** + * The cached value of the '{@link #getReferredByDataAttribute() <em>Referred By Data Attribute</em>}' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getReferredByDataAttribute() + * @generated + * @ordered + */ + protected EList< DataAttribute > referredByDataAttribute; + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -517,6 +529,41 @@ public class EnumerationImpl extends TitledClassImpl implements Enumeration { && ( ( InternalEList.Unsettable< ? > ) referredByEnumerationAsBase ).isSet(); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EList< DataAttribute > getReferredByDataAttribute() { + if( referredByDataAttribute == null ) { + referredByDataAttribute = new EObjectWithInverseEList.Unsettable< DataAttribute >( DataAttribute.class, + this, NsdPackage.ENUMERATION__REFERRED_BY_DATA_ATTRIBUTE, + NsdPackage.DATA_ATTRIBUTE__REFERS_TO_ENUMERATION ); + } + return referredByDataAttribute; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetReferredByDataAttribute() { + if( referredByDataAttribute != null ) ( ( InternalEList.Unsettable< ? > ) referredByDataAttribute ).unset(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetReferredByDataAttribute() { + return referredByDataAttribute != null && ( ( InternalEList.Unsettable< ? > ) referredByDataAttribute ).isSet(); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -541,6 +588,9 @@ public class EnumerationImpl extends TitledClassImpl implements Enumeration { case NsdPackage.ENUMERATION__REFERRED_BY_ENUMERATION_AS_BASE: return ( ( InternalEList< InternalEObject > ) ( InternalEList< ? > ) getReferredByEnumerationAsBase() ) .basicAdd( otherEnd, msgs ); + case NsdPackage.ENUMERATION__REFERRED_BY_DATA_ATTRIBUTE: + return ( ( InternalEList< InternalEObject > ) ( InternalEList< ? > ) getReferredByDataAttribute() ) + .basicAdd( otherEnd, msgs ); } return super.eInverseAdd( otherEnd, featureID, msgs ); } @@ -561,6 +611,8 @@ public class EnumerationImpl extends TitledClassImpl implements Enumeration { return basicUnsetRefersToBaseEnumeration( msgs ); case NsdPackage.ENUMERATION__REFERRED_BY_ENUMERATION_AS_BASE: return ( ( InternalEList< ? > ) getReferredByEnumerationAsBase() ).basicRemove( otherEnd, msgs ); + case NsdPackage.ENUMERATION__REFERRED_BY_DATA_ATTRIBUTE: + return ( ( InternalEList< ? > ) getReferredByDataAttribute() ).basicRemove( otherEnd, msgs ); } return super.eInverseRemove( otherEnd, featureID, msgs ); } @@ -600,6 +652,8 @@ public class EnumerationImpl extends TitledClassImpl implements Enumeration { return getRefersToBaseEnumeration(); case NsdPackage.ENUMERATION__REFERRED_BY_ENUMERATION_AS_BASE: return getReferredByEnumerationAsBase(); + case NsdPackage.ENUMERATION__REFERRED_BY_DATA_ATTRIBUTE: + return getReferredByDataAttribute(); } return super.eGet( featureID, resolve, coreType ); } @@ -633,6 +687,10 @@ public class EnumerationImpl extends TitledClassImpl implements Enumeration { getReferredByEnumerationAsBase().clear(); getReferredByEnumerationAsBase().addAll( ( Collection< ? extends Enumeration > ) newValue ); return; + case NsdPackage.ENUMERATION__REFERRED_BY_DATA_ATTRIBUTE: + getReferredByDataAttribute().clear(); + getReferredByDataAttribute().addAll( ( Collection< ? extends DataAttribute > ) newValue ); + return; } super.eSet( featureID, newValue ); } @@ -663,6 +721,9 @@ public class EnumerationImpl extends TitledClassImpl implements Enumeration { case NsdPackage.ENUMERATION__REFERRED_BY_ENUMERATION_AS_BASE: unsetReferredByEnumerationAsBase(); return; + case NsdPackage.ENUMERATION__REFERRED_BY_DATA_ATTRIBUTE: + unsetReferredByDataAttribute(); + return; } super.eUnset( featureID ); } @@ -687,6 +748,8 @@ public class EnumerationImpl extends TitledClassImpl implements Enumeration { return isSetRefersToBaseEnumeration(); case NsdPackage.ENUMERATION__REFERRED_BY_ENUMERATION_AS_BASE: return isSetReferredByEnumerationAsBase(); + case NsdPackage.ENUMERATION__REFERRED_BY_DATA_ATTRIBUTE: + return isSetReferredByDataAttribute(); } return super.eIsSet( featureID ); } @@ -721,18 +784,17 @@ public class EnumerationImpl extends TitledClassImpl implements Enumeration { @Override public boolean buildExplicitLinks( IRiseClipseConsole console, boolean forceUpdate ) { if( super.buildExplicitLinks( console, forceUpdate ) ) return true; - + NS ns = getParentEnumerations().getParentNS(); String messagePrefix = "[NSD links] while resolving link from Enumeration (name: " + getName() - + ", NS id: " + ns.getId() + ", line: " + getLineNumber() + "): "; - + + ", NS id: " + ns.getId() + ", line: " + getLineNumber() + "): "; if( isSetInheritedFrom() ) { Enumeration foundBase = ns.findEnumeration( getInheritedFrom(), console ); if( foundBase == null ) { console.warning( messagePrefix + "Enumeration (name: " + getInheritedFrom() + ") not found" ); - } + } else { setRefersToBaseEnumeration( foundBase ); console.info( "[NSD links] Enumeration (name: " + getInheritedFrom() + ") refers by Enumeration (name: " diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/NSImpl.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/NSImpl.java index 2d1bc06..ecdc8d7 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/NSImpl.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/NSImpl.java @@ -28,6 +28,7 @@ import fr.centralesupelec.edf.riseclipse.iec61850.nsd.BasicTypes; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.CDC; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.CDCs; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.Changes; +import fr.centralesupelec.edf.riseclipse.iec61850.nsd.ConstructedAttribute; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.ConstructedAttributes; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOn; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.Doc; @@ -1839,6 +1840,29 @@ public class NSImpl extends CopyrightedImpl implements NS { return null; } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated NOT + */ + @Override + public ConstructedAttribute findConstructedAttribute( String constructedAttributeName, IRiseClipseConsole console ) { + if( isSetConstructedAttributes() ) { + ConstructedAttribute found = getConstructedAttributes().getConstructedAttribute().stream() + .filter( ca -> ca.getName().equals( constructedAttributeName ) ).findAny().orElse( null ); + if( found != null ) return found; + } + + // Look for in NS referred by DependsOn + // Warning: NS referred by DependsOn may not be loaded + if( isSetDependsOn() && ( getDependsOn().isSetRefersToNS() ) ) { + getDependsOn().buildExplicitLinks( console, false ); + return getDependsOn().getRefersToNS().findConstructedAttribute( constructedAttributeName, console ); + } + + return null; + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -2833,6 +2857,8 @@ public class NSImpl extends CopyrightedImpl implements NS { return findEnumeration( ( String ) arguments.get( 0 ), ( IRiseClipseConsole ) arguments.get( 1 ) ); case NsdPackage.NS___FIND_BASIC_TYPE__STRING_IRISECLIPSECONSOLE: return findBasicType( ( String ) arguments.get( 0 ), ( IRiseClipseConsole ) arguments.get( 1 ) ); + case NsdPackage.NS___FIND_CONSTRUCTED_ATTRIBUTE__STRING_IRISECLIPSECONSOLE: + return findConstructedAttribute( ( String ) arguments.get( 0 ), ( IRiseClipseConsole ) arguments.get( 1 ) ); } return super.eInvoke( operationID, arguments ); } @@ -2894,10 +2920,10 @@ public class NSImpl extends CopyrightedImpl implements NS { @Override public boolean buildExplicitLinks( IRiseClipseConsole console, boolean forceUpdate ) { if( super.buildExplicitLinks( console, forceUpdate ) ) return true; - + if( isSetDescID() ) { if( this.eResource().getResourceSet() instanceof NsdResourceSetImpl ) { - Doc doc = (( NsdResourceSetImpl ) this.eResource().getResourceSet() ).findDoc( getDescID() ); + Doc doc = ( ( NsdResourceSetImpl ) this.eResource().getResourceSet() ).findDoc( getDescID() ); if( doc != null ) setRefersToDoc( doc ); } } diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/NsdPackageImpl.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/NsdPackageImpl.java index 114aac1..1c1da2a 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/NsdPackageImpl.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/NsdPackageImpl.java @@ -1514,6 +1514,16 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { return ( EReference ) constructedAttributeEClass.getEStructuralFeatures().get( 3 ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getConstructedAttribute_ReferredByDataAttribute() { + return ( EReference ) constructedAttributeEClass.getEStructuralFeatures().get( 4 ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -1734,6 +1744,26 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { return ( EReference ) dataAttributeEClass.getEStructuralFeatures().get( 11 ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getDataAttribute_RefersToConstructedAttribute() { + return ( EReference ) dataAttributeEClass.getEStructuralFeatures().get( 12 ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getDataAttribute_RefersToEnumeration() { + return ( EReference ) dataAttributeEClass.getEStructuralFeatures().get( 13 ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -2104,6 +2134,16 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { return ( EReference ) enumerationEClass.getEStructuralFeatures().get( 5 ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getEnumeration_ReferredByDataAttribute() { + return ( EReference ) enumerationEClass.getEStructuralFeatures().get( 6 ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -2634,6 +2674,16 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { return nsEClass.getEOperations().get( 4 ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EOperation getNS__FindConstructedAttribute__String_IRiseClipseConsole() { + return nsEClass.getEOperations().get( 5 ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -4029,6 +4079,7 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { createEAttribute( constructedAttributeEClass, CONSTRUCTED_ATTRIBUTE__NAME ); createEReference( constructedAttributeEClass, CONSTRUCTED_ATTRIBUTE__PARENT_CONSTRUCTED_ATTRIBUTES ); createEReference( constructedAttributeEClass, CONSTRUCTED_ATTRIBUTE__PARENT_SERVICE_TYPE_REALIZATIONS ); + createEReference( constructedAttributeEClass, CONSTRUCTED_ATTRIBUTE__REFERRED_BY_DATA_ATTRIBUTE ); constructedAttributesEClass = createEClass( CONSTRUCTED_ATTRIBUTES ); createEReference( constructedAttributesEClass, CONSTRUCTED_ATTRIBUTES__CONSTRUCTED_ATTRIBUTE ); @@ -4055,6 +4106,8 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { createEReference( dataAttributeEClass, DATA_ATTRIBUTE__REFERRED_BY_DATA_ATTRIBUTE_AS_SIZE_ATTRIBUTE ); createEReference( dataAttributeEClass, DATA_ATTRIBUTE__REFERRED_BY_DATA_ATTRIBUTE_AS_MAX_INDEX_ATTRIBUTE ); createEReference( dataAttributeEClass, DATA_ATTRIBUTE__REFERS_TO_BASIC_TYPE ); + createEReference( dataAttributeEClass, DATA_ATTRIBUTE__REFERS_TO_CONSTRUCTED_ATTRIBUTE ); + createEReference( dataAttributeEClass, DATA_ATTRIBUTE__REFERS_TO_ENUMERATION ); dataObjectEClass = createEClass( DATA_OBJECT ); createEAttribute( dataObjectEClass, DATA_OBJECT__NAME ); @@ -4097,6 +4150,7 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { createEReference( enumerationEClass, ENUMERATION__PARENT_ENUMERATIONS ); createEReference( enumerationEClass, ENUMERATION__REFERS_TO_BASE_ENUMERATION ); createEReference( enumerationEClass, ENUMERATION__REFERRED_BY_ENUMERATION_AS_BASE ); + createEReference( enumerationEClass, ENUMERATION__REFERRED_BY_DATA_ATTRIBUTE ); enumerationsEClass = createEClass( ENUMERATIONS ); createEReference( enumerationsEClass, ENUMERATIONS__ENUMERATION ); @@ -4159,6 +4213,7 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { createEOperation( nsEClass, NS___FIND_FUNCTIONAL_CONSTRAINT__STRING_IRISECLIPSECONSOLE ); createEOperation( nsEClass, NS___FIND_ENUMERATION__STRING_IRISECLIPSECONSOLE ); createEOperation( nsEClass, NS___FIND_BASIC_TYPE__STRING_IRISECLIPSECONSOLE ); + createEOperation( nsEClass, NS___FIND_CONSTRUCTED_ATTRIBUTE__STRING_IRISECLIPSECONSOLE ); nsDocEClass = createEClass( NS_DOC ); createEReference( nsDocEClass, NS_DOC__DOC ); @@ -4681,6 +4736,10 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { this.getServiceTypeRealizations_ServiceTypeRealization(), "parentServiceTypeRealizations", null, 0, 1, ConstructedAttribute.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); + initEReference( getConstructedAttribute_ReferredByDataAttribute(), this.getDataAttribute(), + this.getDataAttribute_RefersToConstructedAttribute(), "referredByDataAttribute", null, 0, -1, + ConstructedAttribute.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, + !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); initEClass( constructedAttributesEClass, ConstructedAttributes.class, "ConstructedAttributes", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS ); @@ -4756,6 +4815,14 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { this.getBasicType_ReferredByDataAttribute(), "refersToBasicType", null, 0, 1, DataAttribute.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); + initEReference( getDataAttribute_RefersToConstructedAttribute(), this.getConstructedAttribute(), + this.getConstructedAttribute_ReferredByDataAttribute(), "refersToConstructedAttribute", null, 0, 1, + DataAttribute.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, + IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); + initEReference( getDataAttribute_RefersToEnumeration(), this.getEnumeration(), + this.getEnumeration_ReferredByDataAttribute(), "refersToEnumeration", null, 0, 1, DataAttribute.class, + IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, + !IS_DERIVED, !IS_ORDERED ); initEClass( dataObjectEClass, DataObject.class, "DataObject", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS ); @@ -4870,6 +4937,10 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { this.getEnumeration_RefersToBaseEnumeration(), "referredByEnumerationAsBase", null, 0, -1, Enumeration.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); + initEReference( getEnumeration_ReferredByDataAttribute(), this.getDataAttribute(), + this.getDataAttribute_RefersToEnumeration(), "referredByDataAttribute", null, 0, -1, Enumeration.class, + IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, + !IS_DERIVED, !IS_ORDERED ); initEClass( enumerationsEClass, Enumerations.class, "Enumerations", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS ); @@ -5044,6 +5115,11 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { addEParameter( op, ecorePackage.getEString(), "basicTypeName", 0, 1, IS_UNIQUE, IS_ORDERED ); addEParameter( op, this.getIRiseClipseConsole(), "console", 0, 1, IS_UNIQUE, IS_ORDERED ); + op = initEOperation( getNS__FindConstructedAttribute__String_IRiseClipseConsole(), + this.getConstructedAttribute(), "findConstructedAttribute", 0, 1, IS_UNIQUE, IS_ORDERED ); + addEParameter( op, ecorePackage.getEString(), "constructedAttributeName", 0, 1, IS_UNIQUE, IS_ORDERED ); + addEParameter( op, this.getIRiseClipseConsole(), "console", 0, 1, IS_UNIQUE, IS_ORDERED ); + initEClass( nsDocEClass, NSDoc.class, "NSDoc", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS ); initEReference( getNSDoc_Doc(), this.getDoc(), this.getDoc_ParentNSDoc(), "doc", null, 0, -1, NSDoc.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, -- GitLab