diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/plugin.properties b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/plugin.properties index 1be36d0ce2ec8c65bb7fc8cd5d60a749748ebb2d..11e48f59450de61ddf986804b33188e15e9e50f7 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/plugin.properties +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/plugin.properties @@ -478,3 +478,8 @@ _UI_AgUnderlyingType_underlyingTypeKind_feature = Underlying Type Kind _UI_AgUML_umlDate_feature = Uml Date _UI_AgUML_umlVersion_feature = Uml Version _UI_AgNSdesc_descID_feature = Desc ID +_UI_IRiseClipseConsole_type = IRise Clipse Console +_UI_DependsOn_refersToNS_feature = Refers To NS +_UI_NS_referredByDependsOn_feature = Referred By Depends On +_UI_AbstractLNClass_referredByAnyLNClass_feature = Referred By Any LN Class +_UI_AnyLNClass_refersToAbstractLNClass_feature = Refers To Abstract LN Class diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/AbstractLNClassItemProvider.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/AbstractLNClassItemProvider.java index 5f921b21c3feb4f8423dfebbf0b292baec4320b1..f42e227c479793ef52e225a9d44479493dc86d8c 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/AbstractLNClassItemProvider.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/AbstractLNClassItemProvider.java @@ -62,6 +62,7 @@ public class AbstractLNClassItemProvider extends AnyLNClassItemProvider { super.getPropertyDescriptors( object ); addNamePropertyDescriptor( object ); + addReferredByAnyLNClassPropertyDescriptor( object ); } return itemPropertyDescriptors; } @@ -82,6 +83,22 @@ public class AbstractLNClassItemProvider extends AnyLNClassItemProvider { ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) ); } + /** + * This adds a property descriptor for the Referred By Any LN Class feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addReferredByAnyLNClassPropertyDescriptor( Object object ) { + itemPropertyDescriptors.add( createItemPropertyDescriptor( + ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(), getResourceLocator(), + getString( "_UI_AbstractLNClass_referredByAnyLNClass_feature" ), + getString( "_UI_PropertyDescriptor_description", "_UI_AbstractLNClass_referredByAnyLNClass_feature", + "_UI_AbstractLNClass_type" ), + NsdPackage.Literals.ABSTRACT_LN_CLASS__REFERRED_BY_ANY_LN_CLASS, true, false, true, null, null, + null ) ); + } + /** * This returns AbstractLNClass.gif. * <!-- begin-user-doc --> diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/AnyLNClassItemProvider.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/AnyLNClassItemProvider.java index e6239ea1a804d09827543497431c0aba4127da55..46731a93e2ebe6c147380ba7fa8f4cee3a129f79 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/AnyLNClassItemProvider.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/AnyLNClassItemProvider.java @@ -65,6 +65,7 @@ public class AnyLNClassItemProvider extends TitledClassItemProvider { super.getPropertyDescriptors( object ); addBasePropertyDescriptor( object ); + addRefersToAbstractLNClassPropertyDescriptor( object ); } return itemPropertyDescriptors; } @@ -85,6 +86,21 @@ public class AnyLNClassItemProvider extends TitledClassItemProvider { ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) ); } + /** + * This adds a property descriptor for the Refers To Abstract LN Class feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addRefersToAbstractLNClassPropertyDescriptor( Object object ) { + itemPropertyDescriptors.add( createItemPropertyDescriptor( + ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(), getResourceLocator(), + getString( "_UI_AnyLNClass_refersToAbstractLNClass_feature" ), + getString( "_UI_PropertyDescriptor_description", "_UI_AnyLNClass_refersToAbstractLNClass_feature", + "_UI_AnyLNClass_type" ), + NsdPackage.Literals.ANY_LN_CLASS__REFERS_TO_ABSTRACT_LN_CLASS, 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/AppliesToTypeItemProvider.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/AppliesToTypeItemProvider.java index 9ab2f892114194924953ed1a9f4bdc03e84febc4..0ebd47951002fac76a4db1d87909fe71f6c07a6f 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/AppliesToTypeItemProvider.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/AppliesToTypeItemProvider.java @@ -38,7 +38,7 @@ import org.eclipse.emf.edit.provider.ViewerNotification; * <!-- end-user-doc --> * @generated */ -public class AppliesToTypeItemProvider extends AgNSIdentificationItemProvider { +public class AppliesToTypeItemProvider extends NsdObjectItemProvider { /** * This constructs an instance from a factory and a notifier. * <!-- begin-user-doc --> @@ -60,25 +60,93 @@ public class AppliesToTypeItemProvider extends AgNSIdentificationItemProvider { if( itemPropertyDescriptors == null ) { super.getPropertyDescriptors( object ); - addLineNumberPropertyDescriptor( object ); + addReleasePropertyDescriptor( object ); + addVersionPropertyDescriptor( object ); + addIdPropertyDescriptor( object ); + addRevisionPropertyDescriptor( object ); + addPublicationStagePropertyDescriptor( object ); } return itemPropertyDescriptors; } /** - * This adds a property descriptor for the Line Number feature. + * This adds a property descriptor for the Release feature. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ - protected void addLineNumberPropertyDescriptor( Object object ) { + protected void addReleasePropertyDescriptor( Object object ) { itemPropertyDescriptors.add( createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(), - getResourceLocator(), getString( "_UI_NsdObject_lineNumber_feature" ), - getString( "_UI_PropertyDescriptor_description", "_UI_NsdObject_lineNumber_feature", - "_UI_NsdObject_type" ), - NsdPackage.Literals.NSD_OBJECT__LINE_NUMBER, true, false, false, - ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE, null, null ) ); + getResourceLocator(), getString( "_UI_AgNSIdentification_release_feature" ), + getString( "_UI_PropertyDescriptor_description", "_UI_AgNSIdentification_release_feature", + "_UI_AgNSIdentification_type" ), + NsdPackage.Literals.AG_NS_IDENTIFICATION__RELEASE, true, false, false, + ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) ); + } + + /** + * This adds a property descriptor for the Version feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addVersionPropertyDescriptor( Object object ) { + itemPropertyDescriptors.add( + createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(), + getResourceLocator(), getString( "_UI_AgNSIdentification_version_feature" ), + getString( "_UI_PropertyDescriptor_description", "_UI_AgNSIdentification_version_feature", + "_UI_AgNSIdentification_type" ), + NsdPackage.Literals.AG_NS_IDENTIFICATION__VERSION, true, false, false, + ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) ); + } + + /** + * This adds a property descriptor for the Id feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addIdPropertyDescriptor( Object object ) { + itemPropertyDescriptors.add( + createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(), + getResourceLocator(), getString( "_UI_AgNSIdentification_id_feature" ), + getString( "_UI_PropertyDescriptor_description", "_UI_AgNSIdentification_id_feature", + "_UI_AgNSIdentification_type" ), + NsdPackage.Literals.AG_NS_IDENTIFICATION__ID, true, false, false, + ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) ); + } + + /** + * This adds a property descriptor for the Revision feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addRevisionPropertyDescriptor( Object object ) { + itemPropertyDescriptors.add( + createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(), + getResourceLocator(), getString( "_UI_AgNSIdentification_revision_feature" ), + getString( "_UI_PropertyDescriptor_description", "_UI_AgNSIdentification_revision_feature", + "_UI_AgNSIdentification_type" ), + NsdPackage.Literals.AG_NS_IDENTIFICATION__REVISION, true, false, false, + ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) ); + } + + /** + * This adds a property descriptor for the Publication Stage feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addPublicationStagePropertyDescriptor( Object object ) { + itemPropertyDescriptors.add( createItemPropertyDescriptor( + ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(), getResourceLocator(), + getString( "_UI_AgNSIdentification_publicationStage_feature" ), + getString( "_UI_PropertyDescriptor_description", "_UI_AgNSIdentification_publicationStage_feature", + "_UI_AgNSIdentification_type" ), + NsdPackage.Literals.AG_NS_IDENTIFICATION__PUBLICATION_STAGE, true, false, false, + ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) ); } /** @@ -117,7 +185,11 @@ public class AppliesToTypeItemProvider extends AgNSIdentificationItemProvider { updateChildren( notification ); switch( notification.getFeatureID( AppliesToType.class ) ) { - case NsdPackage.APPLIES_TO_TYPE__LINE_NUMBER: + case NsdPackage.APPLIES_TO_TYPE__RELEASE: + case NsdPackage.APPLIES_TO_TYPE__VERSION: + case NsdPackage.APPLIES_TO_TYPE__ID: + case NsdPackage.APPLIES_TO_TYPE__REVISION: + case NsdPackage.APPLIES_TO_TYPE__PUBLICATION_STAGE: fireNotifyChanged( new ViewerNotification( notification, notification.getNotifier(), false, true ) ); return; } diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/DependsOnItemProvider.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/DependsOnItemProvider.java index 39f95be897bc12a08898d9a3000b23077141aed8..3caa128f85306fee1c3b32d6d8dc2703714ea27b 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/DependsOnItemProvider.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/DependsOnItemProvider.java @@ -20,12 +20,16 @@ package fr.centralesupelec.edf.riseclipse.iec61850.nsd.provider; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOn; +import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage; import java.util.Collection; import java.util.List; import org.eclipse.emf.common.notify.AdapterFactory; import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; /** * This is the item provider adapter for a {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOn} object. @@ -33,7 +37,7 @@ import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; * <!-- end-user-doc --> * @generated */ -public class DependsOnItemProvider extends AgNSIdentificationItemProvider { +public class DependsOnItemProvider extends NsdObjectItemProvider { /** * This constructs an instance from a factory and a notifier. * <!-- begin-user-doc --> @@ -55,10 +59,111 @@ public class DependsOnItemProvider extends AgNSIdentificationItemProvider { if( itemPropertyDescriptors == null ) { super.getPropertyDescriptors( object ); + addReleasePropertyDescriptor( object ); + addVersionPropertyDescriptor( object ); + addIdPropertyDescriptor( object ); + addRevisionPropertyDescriptor( object ); + addPublicationStagePropertyDescriptor( object ); + addRefersToNSPropertyDescriptor( object ); } return itemPropertyDescriptors; } + /** + * This adds a property descriptor for the Release feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addReleasePropertyDescriptor( Object object ) { + itemPropertyDescriptors.add( + createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(), + getResourceLocator(), getString( "_UI_AgNSIdentification_release_feature" ), + getString( "_UI_PropertyDescriptor_description", "_UI_AgNSIdentification_release_feature", + "_UI_AgNSIdentification_type" ), + NsdPackage.Literals.AG_NS_IDENTIFICATION__RELEASE, true, false, false, + ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) ); + } + + /** + * This adds a property descriptor for the Version feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addVersionPropertyDescriptor( Object object ) { + itemPropertyDescriptors.add( + createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(), + getResourceLocator(), getString( "_UI_AgNSIdentification_version_feature" ), + getString( "_UI_PropertyDescriptor_description", "_UI_AgNSIdentification_version_feature", + "_UI_AgNSIdentification_type" ), + NsdPackage.Literals.AG_NS_IDENTIFICATION__VERSION, true, false, false, + ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) ); + } + + /** + * This adds a property descriptor for the Id feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addIdPropertyDescriptor( Object object ) { + itemPropertyDescriptors.add( + createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(), + getResourceLocator(), getString( "_UI_AgNSIdentification_id_feature" ), + getString( "_UI_PropertyDescriptor_description", "_UI_AgNSIdentification_id_feature", + "_UI_AgNSIdentification_type" ), + NsdPackage.Literals.AG_NS_IDENTIFICATION__ID, true, false, false, + ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) ); + } + + /** + * This adds a property descriptor for the Revision feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addRevisionPropertyDescriptor( Object object ) { + itemPropertyDescriptors.add( + createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(), + getResourceLocator(), getString( "_UI_AgNSIdentification_revision_feature" ), + getString( "_UI_PropertyDescriptor_description", "_UI_AgNSIdentification_revision_feature", + "_UI_AgNSIdentification_type" ), + NsdPackage.Literals.AG_NS_IDENTIFICATION__REVISION, true, false, false, + ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) ); + } + + /** + * This adds a property descriptor for the Publication Stage feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addPublicationStagePropertyDescriptor( Object object ) { + itemPropertyDescriptors.add( createItemPropertyDescriptor( + ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(), getResourceLocator(), + getString( "_UI_AgNSIdentification_publicationStage_feature" ), + getString( "_UI_PropertyDescriptor_description", "_UI_AgNSIdentification_publicationStage_feature", + "_UI_AgNSIdentification_type" ), + NsdPackage.Literals.AG_NS_IDENTIFICATION__PUBLICATION_STAGE, true, false, false, + ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) ); + } + + /** + * This adds a property descriptor for the Refers To NS feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addRefersToNSPropertyDescriptor( Object object ) { + itemPropertyDescriptors.add( + createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(), + getResourceLocator(), getString( "_UI_DependsOn_refersToNS_feature" ), + getString( "_UI_PropertyDescriptor_description", "_UI_DependsOn_refersToNS_feature", + "_UI_DependsOn_type" ), + NsdPackage.Literals.DEPENDS_ON__REFERS_TO_NS, true, false, true, null, null, null ) ); + } + /** * This returns DependsOn.gif. * <!-- begin-user-doc --> @@ -93,6 +198,16 @@ public class DependsOnItemProvider extends AgNSIdentificationItemProvider { @Override public void notifyChanged( Notification notification ) { updateChildren( notification ); + + switch( notification.getFeatureID( DependsOn.class ) ) { + case NsdPackage.DEPENDS_ON__RELEASE: + case NsdPackage.DEPENDS_ON__VERSION: + case NsdPackage.DEPENDS_ON__ID: + case NsdPackage.DEPENDS_ON__REVISION: + case NsdPackage.DEPENDS_ON__PUBLICATION_STAGE: + fireNotifyChanged( new ViewerNotification( notification, notification.getNotifier(), false, true ) ); + return; + } super.notifyChanged( notification ); } diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/NSItemProvider.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/NSItemProvider.java index 0049014b38899a494dcc9f07f8f4ff835cc68d17..1898b06883846fdbc50217ecddbf9bdf7365362c 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/NSItemProvider.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/NSItemProvider.java @@ -72,6 +72,7 @@ public class NSItemProvider extends CopyrightedItemProvider { addUmlDatePropertyDescriptor( object ); addUmlVersionPropertyDescriptor( object ); addDescIDPropertyDescriptor( object ); + addReferredByDependsOnPropertyDescriptor( object ); } return itemPropertyDescriptors; } @@ -92,6 +93,21 @@ public class NSItemProvider extends CopyrightedItemProvider { ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) ); } + /** + * This adds a property descriptor for the Referred By Depends On feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addReferredByDependsOnPropertyDescriptor( Object object ) { + itemPropertyDescriptors.add( + createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(), + getResourceLocator(), getString( "_UI_NS_referredByDependsOn_feature" ), + getString( "_UI_PropertyDescriptor_description", "_UI_NS_referredByDependsOn_feature", + "_UI_NS_type" ), + NsdPackage.Literals.NS__REFERRED_BY_DEPENDS_ON, true, false, true, null, null, null ) ); + } + /** * This adds a property descriptor for the Id feature. * <!-- begin-user-doc --> diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/model/nsd.ecore b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/model/nsd.ecore index 073e4f8a2945900ac813946a9ced6432744d6790..c5adcb8b9203261dd281d2b7b82eb934dcd45337 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/model/nsd.ecore +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/model/nsd.ecore @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="nsd" nsURI="http://www.iec.ch/61850/2016/NSD" nsPrefix="nsd"> - <eClassifiers xsi:type="ecore:EClass" name="AppliesToType" eSuperTypes="#//AgNSIdentification #//NsdObject"> + <eClassifiers xsi:type="ecore:EClass" name="AppliesToType" eSuperTypes="#//NsdObject #//AgNSIdentification"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="name" value="AppliesTo_._type"/> <details key="kind" value="empty"/> @@ -10,13 +10,15 @@ eType="#//ServiceNsUsage" transient="true" unsettable="true" resolveProxies="false" eOpposite="#//ServiceNsUsage/appliesTo"/> </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="DependsOn" eSuperTypes="#//AgNSIdentification"> + <eClassifiers xsi:type="ecore:EClass" name="DependsOn" eSuperTypes="#//NsdObject #//AgNSIdentification"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="name" value="DependsOn_._type"/> <details key="kind" value="empty"/> </eAnnotations> <eStructuralFeatures xsi:type="ecore:EReference" name="nS" ordered="false" eType="#//NS" transient="true" unsettable="true" resolveProxies="false" eOpposite="#//NS/dependsOn"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="refersToNS" ordered="false" + eType="#//NS" transient="true" unsettable="true" resolveProxies="false" eOpposite="#//NS/referredByDependsOn"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="DocumentRoot"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> @@ -155,6 +157,8 @@ <eStructuralFeatures xsi:type="ecore:EReference" name="lNClasses" ordered="false" eType="#//LNClasses" transient="true" unsettable="true" resolveProxies="false" eOpposite="#//LNClasses/abstractLNClass"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="referredByAnyLNClass" ordered="false" + upperBound="-1" eType="#//AnyLNClass" transient="true" unsettable="true" eOpposite="#//AnyLNClass/refersToAbstractLNClass"/> </eClassifiers> <eClassifiers xsi:type="ecore:EEnum" name="ACSIServicesKind"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> @@ -231,6 +235,7 @@ <details key="name" value="tAnyLNClass"/> <details key="kind" value="elementOnly"/> </eAnnotations> + <eOperations name="getName" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/> <eStructuralFeatures xsi:type="ecore:EReference" name="dataObject" ordered="false" upperBound="-1" eType="#//DataObject" unsettable="true" containment="true" resolveProxies="false" eOpposite="#//DataObject/anyLNClass"> @@ -247,6 +252,9 @@ <details key="name" value="base"/> </eAnnotations> </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" name="refersToAbstractLNClass" + ordered="false" eType="#//AbstractLNClass" transient="true" unsettable="true" + resolveProxies="false" eOpposite="#//AbstractLNClass/referredByAnyLNClass"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="ApplicableServiceNS" eSuperTypes="#//Copyrighted"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> @@ -1099,6 +1107,9 @@ <details key="namespace" value="##targetNamespace"/> </eAnnotations> </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" name="referredByDependsOn" ordered="false" + upperBound="-1" eType="#//DependsOn" transient="true" unsettable="true" resolveProxies="false" + eOpposite="#//DependsOn/refersToNS"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="NSDoc" eSuperTypes="#//Copyrighted #//AgNSIdentification #//AgUML"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> @@ -1531,7 +1542,9 @@ </eAnnotations> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="NsdObject" abstract="true"> - <eOperations name="buildExplicitLinks"/> + <eOperations name="buildExplicitLinks"> + <eParameters name="console" eType="#//IRiseClipseConsole"/> + </eOperations> <eStructuralFeatures xsi:type="ecore:EAttribute" name="lineNumber" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" transient="true" defaultValueLiteral="-1"/> @@ -1754,4 +1767,6 @@ </eAnnotations> </eStructuralFeatures> </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="IRiseClipseConsole" instanceClassName="fr.centralesupelec.edf.riseclipse.util.IRiseClipseConsole" + abstract="true" interface="true"/> </ecore:EPackage> diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/model/nsd.genmodel b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/model/nsd.genmodel index 44006450bb3a952b4bd3ea97318acea53b4860b2..b8e772889e7b175eb81c7eb3790614506e900b33 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/model/nsd.genmodel +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/model/nsd.genmodel @@ -112,6 +112,7 @@ </genClasses> <genClasses ecoreClass="nsd.ecore#//DependsOn"> <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference nsd.ecore#//DependsOn/nS"/> + <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference nsd.ecore#//DependsOn/refersToNS"/> </genClasses> <genClasses ecoreClass="nsd.ecore#//DocumentRoot"> <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//DocumentRoot/mixed"/> @@ -139,10 +140,13 @@ <genClasses ecoreClass="nsd.ecore#//AbstractLNClass"> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//AbstractLNClass/name"/> <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference nsd.ecore#//AbstractLNClass/lNClasses"/> + <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference nsd.ecore#//AbstractLNClass/referredByAnyLNClass"/> </genClasses> <genClasses image="false" ecoreClass="nsd.ecore#//AnyLNClass"> <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nsd.ecore#//AnyLNClass/dataObject"/> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//AnyLNClass/base"/> + <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference nsd.ecore#//AnyLNClass/refersToAbstractLNClass"/> + <genOperations ecoreOperation="nsd.ecore#//AnyLNClass/getName"/> </genClasses> <genClasses ecoreClass="nsd.ecore#//ApplicableServiceNS"> <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nsd.ecore#//ApplicableServiceNS/serviceNsUsage"/> @@ -292,6 +296,7 @@ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nsd.ecore#//NS/constructedAttributes"/> <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nsd.ecore#//NS/cDCs"/> <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nsd.ecore#//NS/lNClasses"/> + <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference nsd.ecore#//NS/referredByDependsOn"/> </genClasses> <genClasses ecoreClass="nsd.ecore#//NSDoc"> <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nsd.ecore#//NSDoc/doc"/> @@ -367,7 +372,9 @@ </genClasses> <genClasses image="false" ecoreClass="nsd.ecore#//NsdObject"> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//NsdObject/lineNumber"/> - <genOperations ecoreOperation="nsd.ecore#//NsdObject/buildExplicitLinks"/> + <genOperations ecoreOperation="nsd.ecore#//NsdObject/buildExplicitLinks"> + <genParameters ecoreParameter="nsd.ecore#//NsdObject/buildExplicitLinks/console"/> + </genOperations> </genClasses> <genClasses image="false" ecoreClass="nsd.ecore#//AgNSIdentification"> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//AgNSIdentification/release"/> @@ -417,5 +424,6 @@ <genClasses image="false" ecoreClass="nsd.ecore#//AgNSdesc"> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//AgNSdesc/descID"/> </genClasses> + <genClasses image="false" ecoreClass="nsd.ecore#//IRiseClipseConsole"/> </genPackages> </genmodel:GenModel> diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/AbstractLNClass.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/AbstractLNClass.java index 21b99e68ed85c9c1daa99333cada758653e79ac9..b38ce0e15d5283213a6d6149d7d8bd97b6d06366 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/AbstractLNClass.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/AbstractLNClass.java @@ -19,6 +19,8 @@ */ package fr.centralesupelec.edf.riseclipse.iec61850.nsd; +import org.eclipse.emf.common.util.EList; + /** * <!-- begin-user-doc --> * A representation of the model object '<em><b>Abstract LN Class</b></em>'. @@ -30,6 +32,7 @@ package fr.centralesupelec.edf.riseclipse.iec61850.nsd; * <ul> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.AbstractLNClass#getName <em>Name</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.AbstractLNClass#getLNClasses <em>LN Classes</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.AbstractLNClass#getReferredByAnyLNClass <em>Referred By Any LN Class</em>}</li> * </ul> * * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getAbstractLNClass() @@ -115,4 +118,45 @@ public interface AbstractLNClass extends AnyLNClass { */ void setLNClasses( LNClasses value ); + /** + * Returns the value of the '<em><b>Referred By Any LN Class</b></em>' reference list. + * The list contents are of type {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.AnyLNClass}. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.AnyLNClass#getRefersToAbstractLNClass <em>Refers To Abstract LN Class</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Referred By Any LN Class</em>' reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Referred By Any LN Class</em>' reference list. + * @see #isSetReferredByAnyLNClass() + * @see #unsetReferredByAnyLNClass() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getAbstractLNClass_ReferredByAnyLNClass() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.AnyLNClass#getRefersToAbstractLNClass + * @model opposite="refersToAbstractLNClass" unsettable="true" transient="true" ordered="false" + * @generated + */ + EList< AnyLNClass > getReferredByAnyLNClass(); + + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.AbstractLNClass#getReferredByAnyLNClass <em>Referred By Any LN Class</em>}' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetReferredByAnyLNClass() + * @see #getReferredByAnyLNClass() + * @generated + */ + void unsetReferredByAnyLNClass(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.AbstractLNClass#getReferredByAnyLNClass <em>Referred By Any LN Class</em>}' reference list is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Referred By Any LN Class</em>' reference list is set. + * @see #unsetReferredByAnyLNClass() + * @see #getReferredByAnyLNClass() + * @generated + */ + boolean isSetReferredByAnyLNClass(); + } // AbstractLNClass diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/AnyLNClass.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/AnyLNClass.java index a8ce94b488fc90c30682221edcdb5460dc0a97b8..ea0c6d2df17721bf350f32a917206b75c7a70fa6 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/AnyLNClass.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/AnyLNClass.java @@ -32,6 +32,7 @@ import org.eclipse.emf.common.util.EList; * <ul> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.AnyLNClass#getDataObject <em>Data Object</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.AnyLNClass#getBase <em>Base</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.AnyLNClass#getRefersToAbstractLNClass <em>Refers To Abstract LN Class</em>}</li> * </ul> * * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getAnyLNClass() @@ -128,4 +129,67 @@ public interface AnyLNClass extends TitledClass { */ boolean isSetBase(); + /** + * Returns the value of the '<em><b>Refers To Abstract LN Class</b></em>' reference. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.AbstractLNClass#getReferredByAnyLNClass <em>Referred By Any LN Class</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Refers To Abstract LN Class</em>' reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Refers To Abstract LN Class</em>' reference. + * @see #isSetRefersToAbstractLNClass() + * @see #unsetRefersToAbstractLNClass() + * @see #setRefersToAbstractLNClass(AbstractLNClass) + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getAnyLNClass_RefersToAbstractLNClass() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.AbstractLNClass#getReferredByAnyLNClass + * @model opposite="referredByAnyLNClass" resolveProxies="false" unsettable="true" transient="true" ordered="false" + * @generated + */ + AbstractLNClass getRefersToAbstractLNClass(); + + /** + * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.AnyLNClass#getRefersToAbstractLNClass <em>Refers To Abstract LN Class</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Refers To Abstract LN Class</em>' reference. + * @see #isSetRefersToAbstractLNClass() + * @see #unsetRefersToAbstractLNClass() + * @see #getRefersToAbstractLNClass() + * @generated + */ + void setRefersToAbstractLNClass( AbstractLNClass value ); + + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.AnyLNClass#getRefersToAbstractLNClass <em>Refers To Abstract LN Class</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetRefersToAbstractLNClass() + * @see #getRefersToAbstractLNClass() + * @see #setRefersToAbstractLNClass(AbstractLNClass) + * @generated + */ + void unsetRefersToAbstractLNClass(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.AnyLNClass#getRefersToAbstractLNClass <em>Refers To Abstract LN Class</em>}' reference is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Refers To Abstract LN Class</em>' reference is set. + * @see #unsetRefersToAbstractLNClass() + * @see #getRefersToAbstractLNClass() + * @see #setRefersToAbstractLNClass(AbstractLNClass) + * @generated + */ + boolean isSetRefersToAbstractLNClass(); + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @model kind="operation" dataType="org.eclipse.emf.ecore.xml.type.String" + * @generated + */ + String getName(); + } // AnyLNClass diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/AppliesToType.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/AppliesToType.java index 661c0ae1718594ff319dc8345a30bfbec0160bec..6387171db3a562521a6ca7b0a31e1c2af00811e6 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/AppliesToType.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/AppliesToType.java @@ -35,7 +35,7 @@ package fr.centralesupelec.edf.riseclipse.iec61850.nsd; * @model extendedMetaData="name='AppliesTo_._type' kind='empty'" * @generated */ -public interface AppliesToType extends AgNSIdentification, NsdObject { +public interface AppliesToType extends NsdObject, AgNSIdentification { /** * Returns the value of the '<em><b>Service Ns Usage</b></em>' container reference. * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceNsUsage#getAppliesTo <em>Applies To</em>}'. diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/DependsOn.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/DependsOn.java index 673199eff2e82d1a28ca108911b9f308d026a3a9..0c6e91cf94e272d958e24d1833276949ed4835ba 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/DependsOn.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/DependsOn.java @@ -29,13 +29,14 @@ package fr.centralesupelec.edf.riseclipse.iec61850.nsd; * </p> * <ul> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOn#getNS <em>NS</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOn#getRefersToNS <em>Refers To NS</em>}</li> * </ul> * * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getDependsOn() * @model extendedMetaData="name='DependsOn_._type' kind='empty'" * @generated */ -public interface DependsOn extends AgNSIdentification { +public interface DependsOn extends NsdObject, AgNSIdentification { /** * Returns the value of the '<em><b>NS</b></em>' container reference. * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS#getDependsOn <em>Depends On</em>}'. @@ -64,4 +65,59 @@ public interface DependsOn extends AgNSIdentification { */ void setNS( NS value ); + /** + * Returns the value of the '<em><b>Refers To NS</b></em>' reference. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS#getReferredByDependsOn <em>Referred By Depends On</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Refers To NS</em>' reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Refers To NS</em>' reference. + * @see #isSetRefersToNS() + * @see #unsetRefersToNS() + * @see #setRefersToNS(NS) + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getDependsOn_RefersToNS() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS#getReferredByDependsOn + * @model opposite="referredByDependsOn" resolveProxies="false" unsettable="true" transient="true" ordered="false" + * @generated + */ + NS getRefersToNS(); + + /** + * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOn#getRefersToNS <em>Refers To NS</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Refers To NS</em>' reference. + * @see #isSetRefersToNS() + * @see #unsetRefersToNS() + * @see #getRefersToNS() + * @generated + */ + void setRefersToNS( NS value ); + + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOn#getRefersToNS <em>Refers To NS</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetRefersToNS() + * @see #getRefersToNS() + * @see #setRefersToNS(NS) + * @generated + */ + void unsetRefersToNS(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOn#getRefersToNS <em>Refers To NS</em>}' reference is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Refers To NS</em>' reference is set. + * @see #unsetRefersToNS() + * @see #getRefersToNS() + * @see #setRefersToNS(NS) + * @generated + */ + boolean isSetRefersToNS(); + } // DependsOn 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 04ea634f1466280cf33401f1c7d8ecfbc8185c66..2cffc9c757f2c29c2f8d5cde50863cb1aa56307d 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 @@ -19,6 +19,8 @@ */ package fr.centralesupelec.edf.riseclipse.iec61850.nsd; +import org.eclipse.emf.common.util.EList; + /** * <!-- begin-user-doc --> * A representation of the model object '<em><b>NS</b></em>'. @@ -38,6 +40,7 @@ package fr.centralesupelec.edf.riseclipse.iec61850.nsd; * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS#getConstructedAttributes <em>Constructed Attributes</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS#getCDCs <em>CD Cs</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS#getLNClasses <em>LN Classes</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS#getReferredByDependsOn <em>Referred By Depends On</em>}</li> * </ul> * * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getNS() @@ -565,4 +568,45 @@ public interface NS extends Copyrighted, AgNSIdentification, AgUML, AgNSdesc { */ boolean isSetLNClasses(); + /** + * Returns the value of the '<em><b>Referred By Depends On</b></em>' reference list. + * The list contents are of type {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOn}. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOn#getRefersToNS <em>Refers To NS</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Referred By Depends On</em>' reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Referred By Depends On</em>' reference list. + * @see #isSetReferredByDependsOn() + * @see #unsetReferredByDependsOn() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getNS_ReferredByDependsOn() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOn#getRefersToNS + * @model opposite="refersToNS" resolveProxies="false" unsettable="true" transient="true" ordered="false" + * @generated + */ + EList< DependsOn > getReferredByDependsOn(); + + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS#getReferredByDependsOn <em>Referred By Depends On</em>}' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetReferredByDependsOn() + * @see #getReferredByDependsOn() + * @generated + */ + void unsetReferredByDependsOn(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS#getReferredByDependsOn <em>Referred By Depends On</em>}' reference list is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Referred By Depends On</em>' reference list is set. + * @see #unsetReferredByDependsOn() + * @see #getReferredByDependsOn() + * @generated + */ + boolean isSetReferredByDependsOn(); + } // NS diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/NsdObject.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/NsdObject.java index 05d073792b4468b6129c2cbeb1f0a1a9cc3f9693..7ef47df69fcb6839827bce6aa6408bd2295488bc 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/NsdObject.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/NsdObject.java @@ -19,6 +19,7 @@ */ package fr.centralesupelec.edf.riseclipse.iec61850.nsd; +import fr.centralesupelec.edf.riseclipse.util.IRiseClipseConsole; import org.eclipse.emf.ecore.EObject; /** @@ -69,8 +70,8 @@ public interface NsdObject extends EObject { /** * <!-- begin-user-doc --> * <!-- end-user-doc --> - * @model + * @model consoleType="fr.centralesupelec.edf.riseclipse.iec61850.nsd.IRiseClipseConsole" * @generated */ - void buildExplicitLinks(); + void buildExplicitLinks( IRiseClipseConsole console ); } // NsdObject 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 b748a7d10336f4fc931ed9c70b57dfb075be7712..41168699e34679628d4dc37259e0446eb260f0c1 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 @@ -89,69 +89,6 @@ public interface NsdPackage extends EPackage { */ int AG_NS_IDENTIFICATION = 50; - /** - * The feature id for the '<em><b>Release</b></em>' attribute. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - * @ordered - */ - int AG_NS_IDENTIFICATION__RELEASE = 0; - - /** - * The feature id for the '<em><b>Version</b></em>' attribute. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - * @ordered - */ - int AG_NS_IDENTIFICATION__VERSION = 1; - - /** - * The feature id for the '<em><b>Id</b></em>' attribute. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - * @ordered - */ - int AG_NS_IDENTIFICATION__ID = 2; - - /** - * The feature id for the '<em><b>Revision</b></em>' attribute. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - * @ordered - */ - int AG_NS_IDENTIFICATION__REVISION = 3; - - /** - * The feature id for the '<em><b>Publication Stage</b></em>' attribute. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - * @ordered - */ - int AG_NS_IDENTIFICATION__PUBLICATION_STAGE = 4; - - /** - * The number of structural features of the '<em>Ag NS Identification</em>' class. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - * @ordered - */ - int AG_NS_IDENTIFICATION_FEATURE_COUNT = 5; - - /** - * The number of operations of the '<em>Ag NS Identification</em>' class. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - * @ordered - */ - int AG_NS_IDENTIFICATION_OPERATION_COUNT = 0; - /** * The meta object id for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.AppliesToTypeImpl <em>Applies To Type</em>}' class. * <!-- begin-user-doc --> @@ -162,96 +99,6 @@ public interface NsdPackage extends EPackage { */ int APPLIES_TO_TYPE = 0; - /** - * The feature id for the '<em><b>Release</b></em>' attribute. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - * @ordered - */ - int APPLIES_TO_TYPE__RELEASE = AG_NS_IDENTIFICATION__RELEASE; - - /** - * The feature id for the '<em><b>Version</b></em>' attribute. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - * @ordered - */ - int APPLIES_TO_TYPE__VERSION = AG_NS_IDENTIFICATION__VERSION; - - /** - * The feature id for the '<em><b>Id</b></em>' attribute. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - * @ordered - */ - int APPLIES_TO_TYPE__ID = AG_NS_IDENTIFICATION__ID; - - /** - * The feature id for the '<em><b>Revision</b></em>' attribute. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - * @ordered - */ - int APPLIES_TO_TYPE__REVISION = AG_NS_IDENTIFICATION__REVISION; - - /** - * The feature id for the '<em><b>Publication Stage</b></em>' attribute. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - * @ordered - */ - int APPLIES_TO_TYPE__PUBLICATION_STAGE = AG_NS_IDENTIFICATION__PUBLICATION_STAGE; - - /** - * The feature id for the '<em><b>Line Number</b></em>' attribute. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - * @ordered - */ - int APPLIES_TO_TYPE__LINE_NUMBER = AG_NS_IDENTIFICATION_FEATURE_COUNT + 0; - - /** - * The feature id for the '<em><b>Service Ns Usage</b></em>' container reference. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - * @ordered - */ - int APPLIES_TO_TYPE__SERVICE_NS_USAGE = AG_NS_IDENTIFICATION_FEATURE_COUNT + 1; - - /** - * The number of structural features of the '<em>Applies To Type</em>' class. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - * @ordered - */ - int APPLIES_TO_TYPE_FEATURE_COUNT = AG_NS_IDENTIFICATION_FEATURE_COUNT + 2; - - /** - * The operation id for the '<em>Build Explicit Links</em>' operation. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - * @ordered - */ - int APPLIES_TO_TYPE___BUILD_EXPLICIT_LINKS = AG_NS_IDENTIFICATION_OPERATION_COUNT + 0; - - /** - * The number of operations of the '<em>Applies To Type</em>' class. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - * @ordered - */ - int APPLIES_TO_TYPE_OPERATION_COUNT = AG_NS_IDENTIFICATION_OPERATION_COUNT + 1; - /** * The meta object id for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.DependsOnImpl <em>Depends On</em>}' class. * <!-- begin-user-doc --> @@ -262,168 +109,15 @@ public interface NsdPackage extends EPackage { */ int DEPENDS_ON = 1; - /** - * The feature id for the '<em><b>Release</b></em>' attribute. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - * @ordered - */ - int DEPENDS_ON__RELEASE = AG_NS_IDENTIFICATION__RELEASE; - - /** - * The feature id for the '<em><b>Version</b></em>' attribute. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - * @ordered - */ - int DEPENDS_ON__VERSION = AG_NS_IDENTIFICATION__VERSION; - - /** - * The feature id for the '<em><b>Id</b></em>' attribute. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - * @ordered - */ - int DEPENDS_ON__ID = AG_NS_IDENTIFICATION__ID; - - /** - * The feature id for the '<em><b>Revision</b></em>' attribute. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - * @ordered - */ - int DEPENDS_ON__REVISION = AG_NS_IDENTIFICATION__REVISION; - - /** - * The feature id for the '<em><b>Publication Stage</b></em>' attribute. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - * @ordered - */ - int DEPENDS_ON__PUBLICATION_STAGE = AG_NS_IDENTIFICATION__PUBLICATION_STAGE; - - /** - * The feature id for the '<em><b>NS</b></em>' container reference. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - * @ordered - */ - int DEPENDS_ON__NS = AG_NS_IDENTIFICATION_FEATURE_COUNT + 0; - - /** - * The number of structural features of the '<em>Depends On</em>' class. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - * @ordered - */ - int DEPENDS_ON_FEATURE_COUNT = AG_NS_IDENTIFICATION_FEATURE_COUNT + 1; - - /** - * The number of operations of the '<em>Depends On</em>' class. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - * @ordered - */ - int DEPENDS_ON_OPERATION_COUNT = AG_NS_IDENTIFICATION_OPERATION_COUNT + 0; - /** * The meta object id for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.DocumentRootImpl <em>Document Root</em>}' class. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.DocumentRootImpl - * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getDocumentRoot() - * @generated - */ - int DOCUMENT_ROOT = 2; - - /** - * The feature id for the '<em><b>Mixed</b></em>' attribute list. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - * @ordered - */ - int DOCUMENT_ROOT__MIXED = 0; - - /** - * The feature id for the '<em><b>XMLNS Prefix Map</b></em>' map. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - * @ordered - */ - int DOCUMENT_ROOT__XMLNS_PREFIX_MAP = 1; - - /** - * The feature id for the '<em><b>XSI Schema Location</b></em>' map. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - * @ordered - */ - int DOCUMENT_ROOT__XSI_SCHEMA_LOCATION = 2; - - /** - * The feature id for the '<em><b>Applicable Service NS</b></em>' containment reference. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - * @ordered - */ - int DOCUMENT_ROOT__APPLICABLE_SERVICE_NS = 3; - - /** - * The feature id for the '<em><b>NS</b></em>' containment reference. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - * @ordered - */ - int DOCUMENT_ROOT__NS = 4; - - /** - * The feature id for the '<em><b>NS Doc</b></em>' containment reference. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - * @ordered - */ - int DOCUMENT_ROOT__NS_DOC = 5; - - /** - * The feature id for the '<em><b>Service NS</b></em>' containment reference. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - * @ordered - */ - int DOCUMENT_ROOT__SERVICE_NS = 6; - - /** - * The number of structural features of the '<em>Document Root</em>' class. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - * @ordered - */ - int DOCUMENT_ROOT_FEATURE_COUNT = 7; - - /** - * The number of operations of the '<em>Document Root</em>' class. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.DocumentRootImpl + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getDocumentRoot() * @generated - * @ordered */ - int DOCUMENT_ROOT_OPERATION_COUNT = 0; + int DOCUMENT_ROOT = 2; /** * The meta object id for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.ServiceTypeImpl <em>Service Type</em>}' class. @@ -949,77 +643,347 @@ public interface NsdPackage extends EPackage { * The meta object id for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.AgUnderlyingTypeImpl <em>Ag Underlying Type</em>}' class. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.AgUnderlyingTypeImpl - * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getAgUnderlyingType() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.AgUnderlyingTypeImpl + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getAgUnderlyingType() + * @generated + */ + int AG_UNDERLYING_TYPE = 57; + + /** + * The meta object id for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.AgUMLImpl <em>Ag UML</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.AgUMLImpl + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getAgUML() + * @generated + */ + int AG_UML = 58; + + /** + * The meta object id for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.AgNSdescImpl <em>Ag NSdesc</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.AgNSdescImpl + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getAgNSdesc() + * @generated + */ + int AG_NSDESC = 59; + + /** + * The meta object id for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdObjectImpl <em>Object</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdObjectImpl + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getNsdObject() + * @generated + */ + int NSD_OBJECT = 49; + + /** + * The feature id for the '<em><b>Line Number</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int NSD_OBJECT__LINE_NUMBER = 0; + + /** + * The number of structural features of the '<em>Object</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int NSD_OBJECT_FEATURE_COUNT = 1; + + /** + * The operation id for the '<em>Build Explicit Links</em>' operation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int NSD_OBJECT___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE = 0; + + /** + * The number of operations of the '<em>Object</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int NSD_OBJECT_OPERATION_COUNT = 1; + + /** + * The feature id for the '<em><b>Line Number</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int APPLIES_TO_TYPE__LINE_NUMBER = NSD_OBJECT__LINE_NUMBER; + + /** + * The feature id for the '<em><b>Release</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int APPLIES_TO_TYPE__RELEASE = NSD_OBJECT_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Version</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int APPLIES_TO_TYPE__VERSION = NSD_OBJECT_FEATURE_COUNT + 1; + + /** + * The feature id for the '<em><b>Id</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int APPLIES_TO_TYPE__ID = NSD_OBJECT_FEATURE_COUNT + 2; + + /** + * The feature id for the '<em><b>Revision</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int APPLIES_TO_TYPE__REVISION = NSD_OBJECT_FEATURE_COUNT + 3; + + /** + * The feature id for the '<em><b>Publication Stage</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int APPLIES_TO_TYPE__PUBLICATION_STAGE = NSD_OBJECT_FEATURE_COUNT + 4; + + /** + * The feature id for the '<em><b>Service Ns Usage</b></em>' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int APPLIES_TO_TYPE__SERVICE_NS_USAGE = NSD_OBJECT_FEATURE_COUNT + 5; + + /** + * The number of structural features of the '<em>Applies To Type</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int APPLIES_TO_TYPE_FEATURE_COUNT = NSD_OBJECT_FEATURE_COUNT + 6; + + /** + * The operation id for the '<em>Build Explicit Links</em>' operation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int APPLIES_TO_TYPE___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE = NSD_OBJECT___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE; + + /** + * The number of operations of the '<em>Applies To Type</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int APPLIES_TO_TYPE_OPERATION_COUNT = NSD_OBJECT_OPERATION_COUNT + 0; + + /** + * The feature id for the '<em><b>Line Number</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int DEPENDS_ON__LINE_NUMBER = NSD_OBJECT__LINE_NUMBER; + + /** + * The feature id for the '<em><b>Release</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int DEPENDS_ON__RELEASE = NSD_OBJECT_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Version</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int DEPENDS_ON__VERSION = NSD_OBJECT_FEATURE_COUNT + 1; + + /** + * The feature id for the '<em><b>Id</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int DEPENDS_ON__ID = NSD_OBJECT_FEATURE_COUNT + 2; + + /** + * The feature id for the '<em><b>Revision</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int DEPENDS_ON__REVISION = NSD_OBJECT_FEATURE_COUNT + 3; + + /** + * The feature id for the '<em><b>Publication Stage</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int DEPENDS_ON__PUBLICATION_STAGE = NSD_OBJECT_FEATURE_COUNT + 4; + + /** + * The feature id for the '<em><b>NS</b></em>' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int DEPENDS_ON__NS = NSD_OBJECT_FEATURE_COUNT + 5; + + /** + * The feature id for the '<em><b>Refers To NS</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int DEPENDS_ON__REFERS_TO_NS = NSD_OBJECT_FEATURE_COUNT + 6; + + /** + * The number of structural features of the '<em>Depends On</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int DEPENDS_ON_FEATURE_COUNT = NSD_OBJECT_FEATURE_COUNT + 7; + + /** + * The operation id for the '<em>Build Explicit Links</em>' operation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int DEPENDS_ON___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE = NSD_OBJECT___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE; + + /** + * The number of operations of the '<em>Depends On</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int DEPENDS_ON_OPERATION_COUNT = NSD_OBJECT_OPERATION_COUNT + 0; + + /** + * The feature id for the '<em><b>Mixed</b></em>' attribute list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int DOCUMENT_ROOT__MIXED = 0; + + /** + * The feature id for the '<em><b>XMLNS Prefix Map</b></em>' map. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> * @generated + * @ordered */ - int AG_UNDERLYING_TYPE = 57; + int DOCUMENT_ROOT__XMLNS_PREFIX_MAP = 1; /** - * The meta object id for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.AgUMLImpl <em>Ag UML</em>}' class. + * The feature id for the '<em><b>XSI Schema Location</b></em>' map. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.AgUMLImpl - * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getAgUML() * @generated + * @ordered */ - int AG_UML = 58; + int DOCUMENT_ROOT__XSI_SCHEMA_LOCATION = 2; /** - * The meta object id for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.AgNSdescImpl <em>Ag NSdesc</em>}' class. + * The feature id for the '<em><b>Applicable Service NS</b></em>' containment reference. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.AgNSdescImpl - * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getAgNSdesc() * @generated + * @ordered */ - int AG_NSDESC = 59; + int DOCUMENT_ROOT__APPLICABLE_SERVICE_NS = 3; /** - * The meta object id for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdObjectImpl <em>Object</em>}' class. + * The feature id for the '<em><b>NS</b></em>' containment reference. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdObjectImpl - * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getNsdObject() * @generated + * @ordered */ - int NSD_OBJECT = 49; + int DOCUMENT_ROOT__NS = 4; /** - * The feature id for the '<em><b>Line Number</b></em>' attribute. + * The feature id for the '<em><b>NS Doc</b></em>' containment reference. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated * @ordered */ - int NSD_OBJECT__LINE_NUMBER = 0; + int DOCUMENT_ROOT__NS_DOC = 5; /** - * The number of structural features of the '<em>Object</em>' class. + * The feature id for the '<em><b>Service NS</b></em>' containment reference. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated * @ordered */ - int NSD_OBJECT_FEATURE_COUNT = 1; + int DOCUMENT_ROOT__SERVICE_NS = 6; /** - * The operation id for the '<em>Build Explicit Links</em>' operation. + * The number of structural features of the '<em>Document Root</em>' class. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated * @ordered */ - int NSD_OBJECT___BUILD_EXPLICIT_LINKS = 0; + int DOCUMENT_ROOT_FEATURE_COUNT = 7; /** - * The number of operations of the '<em>Object</em>' class. + * The number of operations of the '<em>Document Root</em>' class. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated * @ordered */ - int NSD_OBJECT_OPERATION_COUNT = 1; + int DOCUMENT_ROOT_OPERATION_COUNT = 0; /** * The feature id for the '<em><b>Line Number</b></em>' attribute. @@ -1064,7 +1028,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int SERVICE_TYPE___BUILD_EXPLICIT_LINKS = NSD_OBJECT___BUILD_EXPLICIT_LINKS; + int SERVICE_TYPE___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE = NSD_OBJECT___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE; /** * The number of operations of the '<em>Service Type</em>' class. @@ -1127,7 +1091,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int ABBREVIATION___BUILD_EXPLICIT_LINKS = NSD_OBJECT___BUILD_EXPLICIT_LINKS; + int ABBREVIATION___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE = NSD_OBJECT___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE; /** * The number of operations of the '<em>Abbreviation</em>' class. @@ -1190,7 +1154,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int ABBREVIATIONS___BUILD_EXPLICIT_LINKS = NSD_OBJECT___BUILD_EXPLICIT_LINKS; + int ABBREVIATIONS___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE = NSD_OBJECT___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE; /** * The number of operations of the '<em>Abbreviations</em>' class. @@ -1253,7 +1217,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int DOCUMENTED_CLASS___BUILD_EXPLICIT_LINKS = NSD_OBJECT___BUILD_EXPLICIT_LINKS; + int DOCUMENTED_CLASS___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE = NSD_OBJECT___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE; /** * The number of operations of the '<em>Documented Class</em>' class. @@ -1325,7 +1289,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int TITLED_CLASS___BUILD_EXPLICIT_LINKS = DOCUMENTED_CLASS___BUILD_EXPLICIT_LINKS; + int TITLED_CLASS___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE = DOCUMENTED_CLASS___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE; /** * The number of operations of the '<em>Titled Class</em>' class. @@ -1399,6 +1363,15 @@ public interface NsdPackage extends EPackage { */ int ANY_LN_CLASS__BASE = TITLED_CLASS_FEATURE_COUNT + 1; + /** + * The feature id for the '<em><b>Refers To Abstract LN Class</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ANY_LN_CLASS__REFERS_TO_ABSTRACT_LN_CLASS = TITLED_CLASS_FEATURE_COUNT + 2; + /** * The number of structural features of the '<em>Any LN Class</em>' class. * <!-- begin-user-doc --> @@ -1406,7 +1379,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int ANY_LN_CLASS_FEATURE_COUNT = TITLED_CLASS_FEATURE_COUNT + 2; + int ANY_LN_CLASS_FEATURE_COUNT = TITLED_CLASS_FEATURE_COUNT + 3; /** * The operation id for the '<em>Build Explicit Links</em>' operation. @@ -1415,7 +1388,16 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int ANY_LN_CLASS___BUILD_EXPLICIT_LINKS = TITLED_CLASS___BUILD_EXPLICIT_LINKS; + int ANY_LN_CLASS___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE = TITLED_CLASS___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE; + + /** + * The operation id for the '<em>Get Name</em>' operation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ANY_LN_CLASS___GET_NAME = TITLED_CLASS_OPERATION_COUNT + 0; /** * The number of operations of the '<em>Any LN Class</em>' class. @@ -1424,7 +1406,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int ANY_LN_CLASS_OPERATION_COUNT = TITLED_CLASS_OPERATION_COUNT + 0; + int ANY_LN_CLASS_OPERATION_COUNT = TITLED_CLASS_OPERATION_COUNT + 1; /** * The feature id for the '<em><b>Line Number</b></em>' attribute. @@ -1489,6 +1471,15 @@ public interface NsdPackage extends EPackage { */ int ABSTRACT_LN_CLASS__BASE = ANY_LN_CLASS__BASE; + /** + * The feature id for the '<em><b>Refers To Abstract LN Class</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ABSTRACT_LN_CLASS__REFERS_TO_ABSTRACT_LN_CLASS = ANY_LN_CLASS__REFERS_TO_ABSTRACT_LN_CLASS; + /** * The feature id for the '<em><b>Name</b></em>' attribute. * <!-- begin-user-doc --> @@ -1507,6 +1498,15 @@ public interface NsdPackage extends EPackage { */ int ABSTRACT_LN_CLASS__LN_CLASSES = ANY_LN_CLASS_FEATURE_COUNT + 1; + /** + * The feature id for the '<em><b>Referred By Any LN Class</b></em>' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ABSTRACT_LN_CLASS__REFERRED_BY_ANY_LN_CLASS = ANY_LN_CLASS_FEATURE_COUNT + 2; + /** * The number of structural features of the '<em>Abstract LN Class</em>' class. * <!-- begin-user-doc --> @@ -1514,7 +1514,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int ABSTRACT_LN_CLASS_FEATURE_COUNT = ANY_LN_CLASS_FEATURE_COUNT + 2; + int ABSTRACT_LN_CLASS_FEATURE_COUNT = ANY_LN_CLASS_FEATURE_COUNT + 3; /** * The operation id for the '<em>Build Explicit Links</em>' operation. @@ -1523,7 +1523,16 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int ABSTRACT_LN_CLASS___BUILD_EXPLICIT_LINKS = ANY_LN_CLASS___BUILD_EXPLICIT_LINKS; + int ABSTRACT_LN_CLASS___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE = ANY_LN_CLASS___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE; + + /** + * The operation id for the '<em>Get Name</em>' operation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ABSTRACT_LN_CLASS___GET_NAME = ANY_LN_CLASS___GET_NAME; /** * The number of operations of the '<em>Abstract LN Class</em>' class. @@ -1568,7 +1577,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int COPYRIGHTED___BUILD_EXPLICIT_LINKS = NSD_OBJECT___BUILD_EXPLICIT_LINKS; + int COPYRIGHTED___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE = NSD_OBJECT___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE; /** * The number of operations of the '<em>Copyrighted</em>' class. @@ -1640,7 +1649,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int APPLICABLE_SERVICE_NS___BUILD_EXPLICIT_LINKS = COPYRIGHTED___BUILD_EXPLICIT_LINKS; + int APPLICABLE_SERVICE_NS___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE = COPYRIGHTED___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE; /** * The number of operations of the '<em>Applicable Service NS</em>' class. @@ -1703,7 +1712,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int APPLICABLE_SERVICES___BUILD_EXPLICIT_LINKS = NSD_OBJECT___BUILD_EXPLICIT_LINKS; + int APPLICABLE_SERVICES___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE = NSD_OBJECT___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE; /** * The number of operations of the '<em>Applicable Services</em>' class. @@ -1766,7 +1775,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int BASIC_TYPE___BUILD_EXPLICIT_LINKS = NSD_OBJECT___BUILD_EXPLICIT_LINKS; + int BASIC_TYPE___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE = NSD_OBJECT___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE; /** * The number of operations of the '<em>Basic Type</em>' class. @@ -1820,7 +1829,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int BASIC_TYPES___BUILD_EXPLICIT_LINKS = NSD_OBJECT___BUILD_EXPLICIT_LINKS; + int BASIC_TYPES___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE = NSD_OBJECT___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE; /** * The number of operations of the '<em>Basic Types</em>' class. @@ -1973,7 +1982,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int CDC___BUILD_EXPLICIT_LINKS = TITLED_CLASS___BUILD_EXPLICIT_LINKS; + int CDC___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE = TITLED_CLASS___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE; /** * The number of operations of the '<em>CDC</em>' class. @@ -2027,7 +2036,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int CD_CS___BUILD_EXPLICIT_LINKS = NSD_OBJECT___BUILD_EXPLICIT_LINKS; + int CD_CS___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE = NSD_OBJECT___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE; /** * The number of operations of the '<em>CD Cs</em>' class. @@ -2135,7 +2144,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int CHANGES___BUILD_EXPLICIT_LINKS = NSD_OBJECT___BUILD_EXPLICIT_LINKS; + int CHANGES___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE = NSD_OBJECT___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE; /** * The number of operations of the '<em>Changes</em>' class. @@ -2243,7 +2252,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int CONSTRUCTED_ATTRIBUTE___BUILD_EXPLICIT_LINKS = TITLED_CLASS___BUILD_EXPLICIT_LINKS; + int CONSTRUCTED_ATTRIBUTE___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE = TITLED_CLASS___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE; /** * The number of operations of the '<em>Constructed Attribute</em>' class. @@ -2297,7 +2306,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int CONSTRUCTED_ATTRIBUTES___BUILD_EXPLICIT_LINKS = NSD_OBJECT___BUILD_EXPLICIT_LINKS; + int CONSTRUCTED_ATTRIBUTES___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE = NSD_OBJECT___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE; /** * The number of operations of the '<em>Constructed Attributes</em>' class. @@ -2360,7 +2369,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int COPYRIGHT_NOTICE___BUILD_EXPLICIT_LINKS = NSD_OBJECT___BUILD_EXPLICIT_LINKS; + int COPYRIGHT_NOTICE___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE = NSD_OBJECT___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE; /** * The number of operations of the '<em>Copyright Notice</em>' class. @@ -2585,7 +2594,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int DATA_ATTRIBUTE___BUILD_EXPLICIT_LINKS = DOCUMENTED_CLASS___BUILD_EXPLICIT_LINKS; + int DATA_ATTRIBUTE___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE = DOCUMENTED_CLASS___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE; /** * The number of operations of the '<em>Data Attribute</em>' class. @@ -2756,7 +2765,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int DATA_OBJECT___BUILD_EXPLICIT_LINKS = DOCUMENTED_CLASS___BUILD_EXPLICIT_LINKS; + int DATA_OBJECT___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE = DOCUMENTED_CLASS___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE; /** * The number of operations of the '<em>Data Object</em>' class. @@ -2810,7 +2819,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int DATA_SET_MEMBER_OF___BUILD_EXPLICIT_LINKS = NSD_OBJECT___BUILD_EXPLICIT_LINKS; + int DATA_SET_MEMBER_OF___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE = NSD_OBJECT___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE; /** * The number of operations of the '<em>Data Set Member Of</em>' class. @@ -2891,7 +2900,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int DOC___BUILD_EXPLICIT_LINKS = NSD_OBJECT___BUILD_EXPLICIT_LINKS; + int DOC___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE = NSD_OBJECT___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE; /** * The number of operations of the '<em>Doc</em>' class. @@ -2999,7 +3008,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int ENUMERATION___BUILD_EXPLICIT_LINKS = TITLED_CLASS___BUILD_EXPLICIT_LINKS; + int ENUMERATION___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE = TITLED_CLASS___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE; /** * The number of operations of the '<em>Enumeration</em>' class. @@ -3053,7 +3062,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int ENUMERATIONS___BUILD_EXPLICIT_LINKS = NSD_OBJECT___BUILD_EXPLICIT_LINKS; + int ENUMERATIONS___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE = NSD_OBJECT___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE; /** * The number of operations of the '<em>Enumerations</em>' class. @@ -3134,7 +3143,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int FUNCTIONAL_CONSTRAINT___BUILD_EXPLICIT_LINKS = NSD_OBJECT___BUILD_EXPLICIT_LINKS; + int FUNCTIONAL_CONSTRAINT___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE = NSD_OBJECT___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE; /** * The number of operations of the '<em>Functional Constraint</em>' class. @@ -3197,7 +3206,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int FUNCTIONAL_CONSTRAINTS___BUILD_EXPLICIT_LINKS = NSD_OBJECT___BUILD_EXPLICIT_LINKS; + int FUNCTIONAL_CONSTRAINTS___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE = NSD_OBJECT___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE; /** * The number of operations of the '<em>Functional Constraints</em>' class. @@ -3269,7 +3278,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int LICENSE___BUILD_EXPLICIT_LINKS = NSD_OBJECT___BUILD_EXPLICIT_LINKS; + int LICENSE___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE = NSD_OBJECT___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE; /** * The number of operations of the '<em>License</em>' class. @@ -3359,7 +3368,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int LITERAL___BUILD_EXPLICIT_LINKS = DOCUMENTED_CLASS___BUILD_EXPLICIT_LINKS; + int LITERAL___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE = DOCUMENTED_CLASS___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE; /** * The number of operations of the '<em>Literal</em>' class. @@ -3433,6 +3442,15 @@ public interface NsdPackage extends EPackage { */ int LN_CLASS__BASE = ANY_LN_CLASS__BASE; + /** + * The feature id for the '<em><b>Refers To Abstract LN Class</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int LN_CLASS__REFERS_TO_ABSTRACT_LN_CLASS = ANY_LN_CLASS__REFERS_TO_ABSTRACT_LN_CLASS; + /** * The feature id for the '<em><b>Can Have LOG</b></em>' attribute. * <!-- begin-user-doc --> @@ -3485,7 +3503,16 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int LN_CLASS___BUILD_EXPLICIT_LINKS = ANY_LN_CLASS___BUILD_EXPLICIT_LINKS; + int LN_CLASS___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE = ANY_LN_CLASS___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE; + + /** + * The operation id for the '<em>Get Name</em>' operation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int LN_CLASS___GET_NAME = ANY_LN_CLASS___GET_NAME; /** * The number of operations of the '<em>LN Class</em>' class. @@ -3548,7 +3575,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int LN_CLASSES___BUILD_EXPLICIT_LINKS = NSD_OBJECT___BUILD_EXPLICIT_LINKS; + int LN_CLASSES___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE = NSD_OBJECT___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE; /** * The number of operations of the '<em>LN Classes</em>' class. @@ -3602,7 +3629,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int NOTICE___BUILD_EXPLICIT_LINKS = NSD_OBJECT___BUILD_EXPLICIT_LINKS; + int NOTICE___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE = NSD_OBJECT___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE; /** * The number of operations of the '<em>Notice</em>' class. @@ -3793,6 +3820,15 @@ public interface NsdPackage extends EPackage { */ int NS__LN_CLASSES = COPYRIGHTED_FEATURE_COUNT + 17; + /** + * The feature id for the '<em><b>Referred By Depends On</b></em>' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int NS__REFERRED_BY_DEPENDS_ON = COPYRIGHTED_FEATURE_COUNT + 18; + /** * The number of structural features of the '<em>NS</em>' class. * <!-- begin-user-doc --> @@ -3800,7 +3836,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int NS_FEATURE_COUNT = COPYRIGHTED_FEATURE_COUNT + 18; + int NS_FEATURE_COUNT = COPYRIGHTED_FEATURE_COUNT + 19; /** * The operation id for the '<em>Build Explicit Links</em>' operation. @@ -3809,7 +3845,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int NS___BUILD_EXPLICIT_LINKS = COPYRIGHTED___BUILD_EXPLICIT_LINKS; + int NS___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE = COPYRIGHTED___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE; /** * The number of operations of the '<em>NS</em>' class. @@ -3935,7 +3971,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int NS_DOC___BUILD_EXPLICIT_LINKS = COPYRIGHTED___BUILD_EXPLICIT_LINKS; + int NS_DOC___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE = COPYRIGHTED___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE; /** * The number of operations of the '<em>NS Doc</em>' class. @@ -4016,7 +4052,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int PRESENCE_CONDITION___BUILD_EXPLICIT_LINKS = NSD_OBJECT___BUILD_EXPLICIT_LINKS; + int PRESENCE_CONDITION___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE = NSD_OBJECT___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE; /** * The number of operations of the '<em>Presence Condition</em>' class. @@ -4079,7 +4115,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int PRESENCE_CONDITIONS___BUILD_EXPLICIT_LINKS = NSD_OBJECT___BUILD_EXPLICIT_LINKS; + int PRESENCE_CONDITIONS___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE = NSD_OBJECT___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE; /** * The number of operations of the '<em>Presence Conditions</em>' class. @@ -4151,7 +4187,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int SERVICE_CDC___BUILD_EXPLICIT_LINKS = NSD_OBJECT___BUILD_EXPLICIT_LINKS; + int SERVICE_CDC___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE = NSD_OBJECT___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE; /** * The number of operations of the '<em>Service CDC</em>' class. @@ -4205,7 +4241,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int SERVICE_CD_CS___BUILD_EXPLICIT_LINKS = NSD_OBJECT___BUILD_EXPLICIT_LINKS; + int SERVICE_CD_CS___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE = NSD_OBJECT___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE; /** * The number of operations of the '<em>Service CD Cs</em>' class. @@ -4331,7 +4367,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int SERVICE_CONSTRUCTED_ATTRIBUTE___BUILD_EXPLICIT_LINKS = CONSTRUCTED_ATTRIBUTE___BUILD_EXPLICIT_LINKS; + int SERVICE_CONSTRUCTED_ATTRIBUTE___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE = CONSTRUCTED_ATTRIBUTE___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE; /** * The number of operations of the '<em>Service Constructed Attribute</em>' class. @@ -4385,7 +4421,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int SERVICE_CONSTRUCTED_ATTRIBUTES___BUILD_EXPLICIT_LINKS = NSD_OBJECT___BUILD_EXPLICIT_LINKS; + int SERVICE_CONSTRUCTED_ATTRIBUTES___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE = NSD_OBJECT___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE; /** * The number of operations of the '<em>Service Constructed Attributes</em>' class. @@ -4538,7 +4574,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int SERVICE_DATA_ATTRIBUTE___BUILD_EXPLICIT_LINKS = DOCUMENTED_CLASS___BUILD_EXPLICIT_LINKS; + int SERVICE_DATA_ATTRIBUTE___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE = DOCUMENTED_CLASS___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE; /** * The number of operations of the '<em>Service Data Attribute</em>' class. @@ -4718,7 +4754,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int SERVICE_NS___BUILD_EXPLICIT_LINKS = COPYRIGHTED___BUILD_EXPLICIT_LINKS; + int SERVICE_NS___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE = COPYRIGHTED___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE; /** * The number of operations of the '<em>Service NS</em>' class. @@ -4817,7 +4853,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int SERVICE_NS_USAGE___BUILD_EXPLICIT_LINKS = NSD_OBJECT___BUILD_EXPLICIT_LINKS; + int SERVICE_NS_USAGE___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE = NSD_OBJECT___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE; /** * The number of operations of the '<em>Service Ns Usage</em>' class. @@ -4943,7 +4979,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int SERVICE_PARAMETER___BUILD_EXPLICIT_LINKS = DOCUMENTED_CLASS___BUILD_EXPLICIT_LINKS; + int SERVICE_PARAMETER___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE = DOCUMENTED_CLASS___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE; /** * The number of operations of the '<em>Service Parameter</em>' class. @@ -4997,7 +5033,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int SERVICE_TYPE_REALIZATIONS___BUILD_EXPLICIT_LINKS = NSD_OBJECT___BUILD_EXPLICIT_LINKS; + int SERVICE_TYPE_REALIZATIONS___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE = NSD_OBJECT___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE; /** * The number of operations of the '<em>Service Type Realizations</em>' class. @@ -5186,7 +5222,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int SUB_DATA_ATTRIBUTE___BUILD_EXPLICIT_LINKS = DOCUMENTED_CLASS___BUILD_EXPLICIT_LINKS; + int SUB_DATA_ATTRIBUTE___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE = DOCUMENTED_CLASS___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE; /** * The number of operations of the '<em>Sub Data Attribute</em>' class. @@ -5357,7 +5393,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int SUB_DATA_OBJECT___BUILD_EXPLICIT_LINKS = DOCUMENTED_CLASS___BUILD_EXPLICIT_LINKS; + int SUB_DATA_OBJECT___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE = DOCUMENTED_CLASS___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE; /** * The number of operations of the '<em>Sub Data Object</em>' class. @@ -5368,6 +5404,69 @@ public interface NsdPackage extends EPackage { */ int SUB_DATA_OBJECT_OPERATION_COUNT = DOCUMENTED_CLASS_OPERATION_COUNT + 0; + /** + * The feature id for the '<em><b>Release</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int AG_NS_IDENTIFICATION__RELEASE = 0; + + /** + * The feature id for the '<em><b>Version</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int AG_NS_IDENTIFICATION__VERSION = 1; + + /** + * The feature id for the '<em><b>Id</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int AG_NS_IDENTIFICATION__ID = 2; + + /** + * The feature id for the '<em><b>Revision</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int AG_NS_IDENTIFICATION__REVISION = 3; + + /** + * The feature id for the '<em><b>Publication Stage</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int AG_NS_IDENTIFICATION__PUBLICATION_STAGE = 4; + + /** + * The number of structural features of the '<em>Ag NS Identification</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int AG_NS_IDENTIFICATION_FEATURE_COUNT = 5; + + /** + * The number of operations of the '<em>Ag NS Identification</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int AG_NS_IDENTIFICATION_OPERATION_COUNT = 0; + /** * The feature id for the '<em><b>Pres Cond</b></em>' attribute. * <!-- begin-user-doc --> @@ -5755,6 +5854,34 @@ public interface NsdPackage extends EPackage { */ int AG_NSDESC_OPERATION_COUNT = 0; + /** + * The meta object id for the '{@link fr.centralesupelec.edf.riseclipse.util.IRiseClipseConsole <em>IRise Clipse Console</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see fr.centralesupelec.edf.riseclipse.util.IRiseClipseConsole + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getIRiseClipseConsole() + * @generated + */ + int IRISE_CLIPSE_CONSOLE = 60; + + /** + * The number of structural features of the '<em>IRise Clipse Console</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int IRISE_CLIPSE_CONSOLE_FEATURE_COUNT = 0; + + /** + * The number of operations of the '<em>IRise Clipse Console</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int IRISE_CLIPSE_CONSOLE_OPERATION_COUNT = 0; + /** * The meta object id for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ACSIServicesKind <em>ACSI Services Kind</em>}' enum. * <!-- begin-user-doc --> @@ -5763,7 +5890,7 @@ public interface NsdPackage extends EPackage { * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getACSIServicesKind() * @generated */ - int ACSI_SERVICES_KIND = 60; + int ACSI_SERVICES_KIND = 61; /** * The meta object id for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.CBKind <em>CB Kind</em>}' enum. @@ -5773,7 +5900,7 @@ public interface NsdPackage extends EPackage { * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getCBKind() * @generated */ - int CB_KIND = 61; + int CB_KIND = 62; /** * The meta object id for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DefinedAttributeTypeKind <em>Defined Attribute Type Kind</em>}' enum. @@ -5783,7 +5910,7 @@ public interface NsdPackage extends EPackage { * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getDefinedAttributeTypeKind() * @generated */ - int DEFINED_ATTRIBUTE_TYPE_KIND = 62; + int DEFINED_ATTRIBUTE_TYPE_KIND = 63; /** * The meta object id for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.LicenseKind <em>License Kind</em>}' enum. @@ -5793,7 +5920,7 @@ public interface NsdPackage extends EPackage { * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getLicenseKind() * @generated */ - int LICENSE_KIND = 63; + int LICENSE_KIND = 64; /** * The meta object id for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.PubStage <em>Pub Stage</em>}' enum. @@ -5803,7 +5930,7 @@ public interface NsdPackage extends EPackage { * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getPubStage() * @generated */ - int PUB_STAGE = 64; + int PUB_STAGE = 65; /** * The meta object id for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.UndefinedAttributeTypeKind <em>Undefined Attribute Type Kind</em>}' enum. @@ -5813,7 +5940,7 @@ public interface NsdPackage extends EPackage { * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getUndefinedAttributeTypeKind() * @generated */ - int UNDEFINED_ATTRIBUTE_TYPE_KIND = 65; + int UNDEFINED_ATTRIBUTE_TYPE_KIND = 66; /** * The meta object id for the '<em>ACSI Services Kind Object</em>' data type. @@ -5823,7 +5950,7 @@ public interface NsdPackage extends EPackage { * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getACSIServicesKindObject() * @generated */ - int ACSI_SERVICES_KIND_OBJECT = 66; + int ACSI_SERVICES_KIND_OBJECT = 67; /** * The meta object id for the '<em>Attribute Type Kind</em>' data type. @@ -5833,7 +5960,7 @@ public interface NsdPackage extends EPackage { * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getAttributeTypeKind() * @generated */ - int ATTRIBUTE_TYPE_KIND = 67; + int ATTRIBUTE_TYPE_KIND = 68; /** * The meta object id for the '<em>CB Kind Object</em>' data type. @@ -5843,7 +5970,7 @@ public interface NsdPackage extends EPackage { * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getCBKindObject() * @generated */ - int CB_KIND_OBJECT = 68; + int CB_KIND_OBJECT = 69; /** * The meta object id for the '<em>Defined Attribute Type Kind Object</em>' data type. @@ -5853,7 +5980,7 @@ public interface NsdPackage extends EPackage { * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getDefinedAttributeTypeKindObject() * @generated */ - int DEFINED_ATTRIBUTE_TYPE_KIND_OBJECT = 69; + int DEFINED_ATTRIBUTE_TYPE_KIND_OBJECT = 70; /** * The meta object id for the '<em>License Kind Object</em>' data type. @@ -5863,7 +5990,7 @@ public interface NsdPackage extends EPackage { * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getLicenseKindObject() * @generated */ - int LICENSE_KIND_OBJECT = 70; + int LICENSE_KIND_OBJECT = 71; /** * The meta object id for the '<em>Pub Stage Object</em>' data type. @@ -5873,7 +6000,7 @@ public interface NsdPackage extends EPackage { * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getPubStageObject() * @generated */ - int PUB_STAGE_OBJECT = 71; + int PUB_STAGE_OBJECT = 72; /** * The meta object id for the '<em>Undefined Attribute Type Kind Object</em>' data type. @@ -5883,7 +6010,7 @@ public interface NsdPackage extends EPackage { * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getUndefinedAttributeTypeKindObject() * @generated */ - int UNDEFINED_ATTRIBUTE_TYPE_KIND_OBJECT = 72; + int UNDEFINED_ATTRIBUTE_TYPE_KIND_OBJECT = 73; /** * Returns the meta object for class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.AppliesToType <em>Applies To Type</em>}'. @@ -5927,6 +6054,17 @@ public interface NsdPackage extends EPackage { */ EReference getDependsOn_NS(); + /** + * Returns the meta object for the reference '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOn#getRefersToNS <em>Refers To NS</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference '<em>Refers To NS</em>'. + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOn#getRefersToNS() + * @see #getDependsOn() + * @generated + */ + EReference getDependsOn_RefersToNS(); + /** * Returns the meta object for class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DocumentRoot <em>Document Root</em>}'. * <!-- begin-user-doc --> @@ -6164,6 +6302,17 @@ public interface NsdPackage extends EPackage { */ EReference getAbstractLNClass_LNClasses(); + /** + * Returns the meta object for the reference list '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.AbstractLNClass#getReferredByAnyLNClass <em>Referred By Any LN Class</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference list '<em>Referred By Any LN Class</em>'. + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.AbstractLNClass#getReferredByAnyLNClass() + * @see #getAbstractLNClass() + * @generated + */ + EReference getAbstractLNClass_ReferredByAnyLNClass(); + /** * Returns the meta object for class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.AnyLNClass <em>Any LN Class</em>}'. * <!-- begin-user-doc --> @@ -6196,6 +6345,27 @@ public interface NsdPackage extends EPackage { */ EAttribute getAnyLNClass_Base(); + /** + * Returns the meta object for the reference '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.AnyLNClass#getRefersToAbstractLNClass <em>Refers To Abstract LN Class</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference '<em>Refers To Abstract LN Class</em>'. + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.AnyLNClass#getRefersToAbstractLNClass() + * @see #getAnyLNClass() + * @generated + */ + EReference getAnyLNClass_RefersToAbstractLNClass(); + + /** + * Returns the meta object for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.AnyLNClass#getName() <em>Get Name</em>}' operation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the '<em>Get Name</em>' operation. + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.AnyLNClass#getName() + * @generated + */ + EOperation getAnyLNClass__GetName(); + /** * Returns the meta object for class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ApplicableServiceNS <em>Applicable Service NS</em>}'. * <!-- begin-user-doc --> @@ -7523,6 +7693,17 @@ public interface NsdPackage extends EPackage { */ EReference getNS_LNClasses(); + /** + * Returns the meta object for the reference list '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS#getReferredByDependsOn <em>Referred By Depends On</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference list '<em>Referred By Depends On</em>'. + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS#getReferredByDependsOn() + * @see #getNS() + * @generated + */ + EReference getNS_ReferredByDependsOn(); + /** * Returns the meta object for class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.NSDoc <em>NS Doc</em>}'. * <!-- begin-user-doc --> @@ -8157,14 +8338,14 @@ public interface NsdPackage extends EPackage { EAttribute getNsdObject_LineNumber(); /** - * Returns the meta object for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdObject#buildExplicitLinks() <em>Build Explicit Links</em>}' operation. + * Returns the meta object for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdObject#buildExplicitLinks(fr.centralesupelec.edf.riseclipse.util.IRiseClipseConsole) <em>Build Explicit Links</em>}' operation. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @return the meta object for the '<em>Build Explicit Links</em>' operation. - * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdObject#buildExplicitLinks() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdObject#buildExplicitLinks(fr.centralesupelec.edf.riseclipse.util.IRiseClipseConsole) * @generated */ - EOperation getNsdObject__BuildExplicitLinks(); + EOperation getNsdObject__BuildExplicitLinks__IRiseClipseConsole(); /** * Returns the meta object for class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.AgNSIdentification <em>Ag NS Identification</em>}'. @@ -8574,6 +8755,17 @@ public interface NsdPackage extends EPackage { */ EAttribute getAgNSdesc_DescID(); + /** + * Returns the meta object for class '{@link fr.centralesupelec.edf.riseclipse.util.IRiseClipseConsole <em>IRise Clipse Console</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>IRise Clipse Console</em>'. + * @see fr.centralesupelec.edf.riseclipse.util.IRiseClipseConsole + * @model instanceClass="fr.centralesupelec.edf.riseclipse.util.IRiseClipseConsole" + * @generated + */ + EClass getIRiseClipseConsole(); + /** * Returns the meta object for enum '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ACSIServicesKind <em>ACSI Services Kind</em>}'. * <!-- begin-user-doc --> @@ -8777,6 +8969,14 @@ public interface NsdPackage extends EPackage { */ EReference DEPENDS_ON__NS = eINSTANCE.getDependsOn_NS(); + /** + * The meta object literal for the '<em><b>Refers To NS</b></em>' reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference DEPENDS_ON__REFERS_TO_NS = eINSTANCE.getDependsOn_RefersToNS(); + /** * The meta object literal for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.DocumentRootImpl <em>Document Root</em>}' class. * <!-- begin-user-doc --> @@ -8963,6 +9163,14 @@ public interface NsdPackage extends EPackage { */ EReference ABSTRACT_LN_CLASS__LN_CLASSES = eINSTANCE.getAbstractLNClass_LNClasses(); + /** + * The meta object literal for the '<em><b>Referred By Any LN Class</b></em>' reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference ABSTRACT_LN_CLASS__REFERRED_BY_ANY_LN_CLASS = eINSTANCE.getAbstractLNClass_ReferredByAnyLNClass(); + /** * The meta object literal for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.AnyLNClassImpl <em>Any LN Class</em>}' class. * <!-- begin-user-doc --> @@ -8989,6 +9197,22 @@ public interface NsdPackage extends EPackage { */ EAttribute ANY_LN_CLASS__BASE = eINSTANCE.getAnyLNClass_Base(); + /** + * The meta object literal for the '<em><b>Refers To Abstract LN Class</b></em>' reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference ANY_LN_CLASS__REFERS_TO_ABSTRACT_LN_CLASS = eINSTANCE.getAnyLNClass_RefersToAbstractLNClass(); + + /** + * The meta object literal for the '<em><b>Get Name</b></em>' operation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EOperation ANY_LN_CLASS___GET_NAME = eINSTANCE.getAnyLNClass__GetName(); + /** * The meta object literal for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.ApplicableServiceNSImpl <em>Applicable Service NS</em>}' class. * <!-- begin-user-doc --> @@ -10030,6 +10254,14 @@ public interface NsdPackage extends EPackage { */ EReference NS__LN_CLASSES = eINSTANCE.getNS_LNClasses(); + /** + * The meta object literal for the '<em><b>Referred By Depends On</b></em>' reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference NS__REFERRED_BY_DEPENDS_ON = eINSTANCE.getNS_ReferredByDependsOn(); + /** * The meta object literal for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NSDocImpl <em>NS Doc</em>}' class. * <!-- begin-user-doc --> @@ -10544,7 +10776,8 @@ public interface NsdPackage extends EPackage { * <!-- end-user-doc --> * @generated */ - EOperation NSD_OBJECT___BUILD_EXPLICIT_LINKS = eINSTANCE.getNsdObject__BuildExplicitLinks(); + EOperation NSD_OBJECT___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE = eINSTANCE + .getNsdObject__BuildExplicitLinks__IRiseClipseConsole(); /** * The meta object literal for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.AgNSIdentificationImpl <em>Ag NS Identification</em>}' class. @@ -10873,6 +11106,16 @@ public interface NsdPackage extends EPackage { */ EAttribute AG_NSDESC__DESC_ID = eINSTANCE.getAgNSdesc_DescID(); + /** + * The meta object literal for the '{@link fr.centralesupelec.edf.riseclipse.util.IRiseClipseConsole <em>IRise Clipse Console</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see fr.centralesupelec.edf.riseclipse.util.IRiseClipseConsole + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getIRiseClipseConsole() + * @generated + */ + EClass IRISE_CLIPSE_CONSOLE = eINSTANCE.getIRiseClipseConsole(); + /** * The meta object literal for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ACSIServicesKind <em>ACSI Services Kind</em>}' enum. * <!-- begin-user-doc --> diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/AbstractLNClassImpl.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/AbstractLNClassImpl.java index 4a0b285bf1cbcedf53e51f8b0626e20329ffd22d..bab18874c9a21bd1afa3808afaaf35da22aaad42 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/AbstractLNClassImpl.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/AbstractLNClassImpl.java @@ -20,17 +20,22 @@ package fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.AbstractLNClass; +import fr.centralesupelec.edf.riseclipse.iec61850.nsd.AnyLNClass; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.LNClasses; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage; +import java.util.Collection; import org.eclipse.emf.common.notify.Notification; import org.eclipse.emf.common.notify.NotificationChain; +import org.eclipse.emf.common.util.EList; import org.eclipse.emf.ecore.EClass; import org.eclipse.emf.ecore.InternalEObject; import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList; import org.eclipse.emf.ecore.util.EcoreUtil; +import org.eclipse.emf.ecore.util.InternalEList; /** * <!-- begin-user-doc --> @@ -42,6 +47,7 @@ import org.eclipse.emf.ecore.util.EcoreUtil; * <ul> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.AbstractLNClassImpl#getName <em>Name</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.AbstractLNClassImpl#getLNClasses <em>LN Classes</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.AbstractLNClassImpl#getReferredByAnyLNClass <em>Referred By Any LN Class</em>}</li> * </ul> * * @generated @@ -76,6 +82,16 @@ public class AbstractLNClassImpl extends AnyLNClassImpl implements AbstractLNCla */ protected boolean nameESet; + /** + * The cached value of the '{@link #getReferredByAnyLNClass() <em>Referred By Any LN Class</em>}' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getReferredByAnyLNClass() + * @generated + * @ordered + */ + protected EList< AnyLNClass > referredByAnyLNClass; + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -194,11 +210,50 @@ public class AbstractLNClassImpl extends AnyLNClassImpl implements AbstractLNCla * @generated */ @Override + public EList< AnyLNClass > getReferredByAnyLNClass() { + if( referredByAnyLNClass == null ) { + referredByAnyLNClass = new EObjectWithInverseResolvingEList.Unsettable< AnyLNClass >( AnyLNClass.class, + this, NsdPackage.ABSTRACT_LN_CLASS__REFERRED_BY_ANY_LN_CLASS, + NsdPackage.ANY_LN_CLASS__REFERS_TO_ABSTRACT_LN_CLASS ); + } + return referredByAnyLNClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetReferredByAnyLNClass() { + if( referredByAnyLNClass != null ) ( ( InternalEList.Unsettable< ? > ) referredByAnyLNClass ).unset(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetReferredByAnyLNClass() { + return referredByAnyLNClass != null && ( ( InternalEList.Unsettable< ? > ) referredByAnyLNClass ).isSet(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @SuppressWarnings( "unchecked" ) + @Override public NotificationChain eInverseAdd( InternalEObject otherEnd, int featureID, NotificationChain msgs ) { switch( featureID ) { case NsdPackage.ABSTRACT_LN_CLASS__LN_CLASSES: if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); return basicSetLNClasses( ( LNClasses ) otherEnd, msgs ); + case NsdPackage.ABSTRACT_LN_CLASS__REFERRED_BY_ANY_LN_CLASS: + return ( ( InternalEList< InternalEObject > ) ( InternalEList< ? > ) getReferredByAnyLNClass() ) + .basicAdd( otherEnd, msgs ); } return super.eInverseAdd( otherEnd, featureID, msgs ); } @@ -213,6 +268,8 @@ public class AbstractLNClassImpl extends AnyLNClassImpl implements AbstractLNCla switch( featureID ) { case NsdPackage.ABSTRACT_LN_CLASS__LN_CLASSES: return basicSetLNClasses( null, msgs ); + case NsdPackage.ABSTRACT_LN_CLASS__REFERRED_BY_ANY_LN_CLASS: + return ( ( InternalEList< ? > ) getReferredByAnyLNClass() ).basicRemove( otherEnd, msgs ); } return super.eInverseRemove( otherEnd, featureID, msgs ); } @@ -244,6 +301,8 @@ public class AbstractLNClassImpl extends AnyLNClassImpl implements AbstractLNCla return getName(); case NsdPackage.ABSTRACT_LN_CLASS__LN_CLASSES: return getLNClasses(); + case NsdPackage.ABSTRACT_LN_CLASS__REFERRED_BY_ANY_LN_CLASS: + return getReferredByAnyLNClass(); } return super.eGet( featureID, resolve, coreType ); } @@ -253,6 +312,7 @@ public class AbstractLNClassImpl extends AnyLNClassImpl implements AbstractLNCla * <!-- end-user-doc --> * @generated */ + @SuppressWarnings( "unchecked" ) @Override public void eSet( int featureID, Object newValue ) { switch( featureID ) { @@ -262,6 +322,10 @@ public class AbstractLNClassImpl extends AnyLNClassImpl implements AbstractLNCla case NsdPackage.ABSTRACT_LN_CLASS__LN_CLASSES: setLNClasses( ( LNClasses ) newValue ); return; + case NsdPackage.ABSTRACT_LN_CLASS__REFERRED_BY_ANY_LN_CLASS: + getReferredByAnyLNClass().clear(); + getReferredByAnyLNClass().addAll( ( Collection< ? extends AnyLNClass > ) newValue ); + return; } super.eSet( featureID, newValue ); } @@ -280,6 +344,9 @@ public class AbstractLNClassImpl extends AnyLNClassImpl implements AbstractLNCla case NsdPackage.ABSTRACT_LN_CLASS__LN_CLASSES: setLNClasses( ( LNClasses ) null ); return; + case NsdPackage.ABSTRACT_LN_CLASS__REFERRED_BY_ANY_LN_CLASS: + unsetReferredByAnyLNClass(); + return; } super.eUnset( featureID ); } @@ -296,6 +363,8 @@ public class AbstractLNClassImpl extends AnyLNClassImpl implements AbstractLNCla return isSetName(); case NsdPackage.ABSTRACT_LN_CLASS__LN_CLASSES: return getLNClasses() != null; + case NsdPackage.ABSTRACT_LN_CLASS__REFERRED_BY_ANY_LN_CLASS: + return isSetReferredByAnyLNClass(); } return super.eIsSet( featureID ); } diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/AnyLNClassImpl.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/AnyLNClassImpl.java index 10409b1f6d246a89f74edcebca9a028cd2a336de..f04c4cc3c101ca8a3d0461ba9ad8530dab078271 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/AnyLNClassImpl.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/AnyLNClassImpl.java @@ -19,10 +19,14 @@ */ package fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl; +import fr.centralesupelec.edf.riseclipse.iec61850.nsd.AbstractLNClass; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.AnyLNClass; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataObject; +import fr.centralesupelec.edf.riseclipse.iec61850.nsd.LNClasses; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage; +import fr.centralesupelec.edf.riseclipse.util.IRiseClipseConsole; +import java.lang.reflect.InvocationTargetException; import java.util.Collection; import org.eclipse.emf.common.notify.Notification; @@ -47,6 +51,7 @@ import org.eclipse.emf.ecore.util.InternalEList; * <ul> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.AnyLNClassImpl#getDataObject <em>Data Object</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.AnyLNClassImpl#getBase <em>Base</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.AnyLNClassImpl#getRefersToAbstractLNClass <em>Refers To Abstract LN Class</em>}</li> * </ul> * * @generated @@ -91,6 +96,25 @@ public abstract class AnyLNClassImpl extends TitledClassImpl implements AnyLNCla */ protected boolean baseESet; + /** + * The cached value of the '{@link #getRefersToAbstractLNClass() <em>Refers To Abstract LN Class</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getRefersToAbstractLNClass() + * @generated + * @ordered + */ + protected AbstractLNClass refersToAbstractLNClass; + + /** + * This is true if the Refers To Abstract LN Class reference has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean refersToAbstractLNClassESet; + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -194,6 +218,133 @@ public abstract class AnyLNClassImpl extends TitledClassImpl implements AnyLNCla return baseESet; } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public AbstractLNClass getRefersToAbstractLNClass() { + return refersToAbstractLNClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetRefersToAbstractLNClass( AbstractLNClass newRefersToAbstractLNClass, + NotificationChain msgs ) { + AbstractLNClass oldRefersToAbstractLNClass = refersToAbstractLNClass; + refersToAbstractLNClass = newRefersToAbstractLNClass; + boolean oldRefersToAbstractLNClassESet = refersToAbstractLNClassESet; + refersToAbstractLNClassESet = true; + if( eNotificationRequired() ) { + ENotificationImpl notification = new ENotificationImpl( this, Notification.SET, + NsdPackage.ANY_LN_CLASS__REFERS_TO_ABSTRACT_LN_CLASS, oldRefersToAbstractLNClass, + newRefersToAbstractLNClass, !oldRefersToAbstractLNClassESet ); + if( msgs == null ) + msgs = notification; + else + msgs.add( notification ); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setRefersToAbstractLNClass( AbstractLNClass newRefersToAbstractLNClass ) { + if( newRefersToAbstractLNClass != refersToAbstractLNClass ) { + NotificationChain msgs = null; + if( refersToAbstractLNClass != null ) + msgs = ( ( InternalEObject ) refersToAbstractLNClass ).eInverseRemove( this, + NsdPackage.ABSTRACT_LN_CLASS__REFERRED_BY_ANY_LN_CLASS, AbstractLNClass.class, msgs ); + if( newRefersToAbstractLNClass != null ) + msgs = ( ( InternalEObject ) newRefersToAbstractLNClass ).eInverseAdd( this, + NsdPackage.ABSTRACT_LN_CLASS__REFERRED_BY_ANY_LN_CLASS, AbstractLNClass.class, msgs ); + msgs = basicSetRefersToAbstractLNClass( newRefersToAbstractLNClass, msgs ); + if( msgs != null ) msgs.dispatch(); + } + else { + boolean oldRefersToAbstractLNClassESet = refersToAbstractLNClassESet; + refersToAbstractLNClassESet = true; + if( eNotificationRequired() ) eNotify( + new ENotificationImpl( this, Notification.SET, NsdPackage.ANY_LN_CLASS__REFERS_TO_ABSTRACT_LN_CLASS, + newRefersToAbstractLNClass, newRefersToAbstractLNClass, !oldRefersToAbstractLNClassESet ) ); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicUnsetRefersToAbstractLNClass( NotificationChain msgs ) { + AbstractLNClass oldRefersToAbstractLNClass = refersToAbstractLNClass; + refersToAbstractLNClass = null; + boolean oldRefersToAbstractLNClassESet = refersToAbstractLNClassESet; + refersToAbstractLNClassESet = false; + if( eNotificationRequired() ) { + ENotificationImpl notification = new ENotificationImpl( this, Notification.UNSET, + NsdPackage.ANY_LN_CLASS__REFERS_TO_ABSTRACT_LN_CLASS, oldRefersToAbstractLNClass, null, + oldRefersToAbstractLNClassESet ); + if( msgs == null ) + msgs = notification; + else + msgs.add( notification ); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetRefersToAbstractLNClass() { + if( refersToAbstractLNClass != null ) { + NotificationChain msgs = null; + msgs = ( ( InternalEObject ) refersToAbstractLNClass ).eInverseRemove( this, + NsdPackage.ABSTRACT_LN_CLASS__REFERRED_BY_ANY_LN_CLASS, AbstractLNClass.class, msgs ); + msgs = basicUnsetRefersToAbstractLNClass( msgs ); + if( msgs != null ) msgs.dispatch(); + } + else { + boolean oldRefersToAbstractLNClassESet = refersToAbstractLNClassESet; + refersToAbstractLNClassESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.ANY_LN_CLASS__REFERS_TO_ABSTRACT_LN_CLASS, null, null, + oldRefersToAbstractLNClassESet ) ); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetRefersToAbstractLNClass() { + return refersToAbstractLNClassESet; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String getName() { + // TODO: implement this method + // Ensure that you remove @generated or mark it @generated NOT + throw new UnsupportedOperationException(); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -206,6 +357,11 @@ public abstract class AnyLNClassImpl extends TitledClassImpl implements AnyLNCla case NsdPackage.ANY_LN_CLASS__DATA_OBJECT: return ( ( InternalEList< InternalEObject > ) ( InternalEList< ? > ) getDataObject() ).basicAdd( otherEnd, msgs ); + case NsdPackage.ANY_LN_CLASS__REFERS_TO_ABSTRACT_LN_CLASS: + if( refersToAbstractLNClass != null ) + msgs = ( ( InternalEObject ) refersToAbstractLNClass ).eInverseRemove( this, + NsdPackage.ABSTRACT_LN_CLASS__REFERRED_BY_ANY_LN_CLASS, AbstractLNClass.class, msgs ); + return basicSetRefersToAbstractLNClass( ( AbstractLNClass ) otherEnd, msgs ); } return super.eInverseAdd( otherEnd, featureID, msgs ); } @@ -220,6 +376,8 @@ public abstract class AnyLNClassImpl extends TitledClassImpl implements AnyLNCla switch( featureID ) { case NsdPackage.ANY_LN_CLASS__DATA_OBJECT: return ( ( InternalEList< ? > ) getDataObject() ).basicRemove( otherEnd, msgs ); + case NsdPackage.ANY_LN_CLASS__REFERS_TO_ABSTRACT_LN_CLASS: + return basicUnsetRefersToAbstractLNClass( msgs ); } return super.eInverseRemove( otherEnd, featureID, msgs ); } @@ -236,6 +394,8 @@ public abstract class AnyLNClassImpl extends TitledClassImpl implements AnyLNCla return getDataObject(); case NsdPackage.ANY_LN_CLASS__BASE: return getBase(); + case NsdPackage.ANY_LN_CLASS__REFERS_TO_ABSTRACT_LN_CLASS: + return getRefersToAbstractLNClass(); } return super.eGet( featureID, resolve, coreType ); } @@ -256,6 +416,9 @@ public abstract class AnyLNClassImpl extends TitledClassImpl implements AnyLNCla case NsdPackage.ANY_LN_CLASS__BASE: setBase( ( String ) newValue ); return; + case NsdPackage.ANY_LN_CLASS__REFERS_TO_ABSTRACT_LN_CLASS: + setRefersToAbstractLNClass( ( AbstractLNClass ) newValue ); + return; } super.eSet( featureID, newValue ); } @@ -274,6 +437,9 @@ public abstract class AnyLNClassImpl extends TitledClassImpl implements AnyLNCla case NsdPackage.ANY_LN_CLASS__BASE: unsetBase(); return; + case NsdPackage.ANY_LN_CLASS__REFERS_TO_ABSTRACT_LN_CLASS: + unsetRefersToAbstractLNClass(); + return; } super.eUnset( featureID ); } @@ -290,10 +456,26 @@ public abstract class AnyLNClassImpl extends TitledClassImpl implements AnyLNCla return isSetDataObject(); case NsdPackage.ANY_LN_CLASS__BASE: return isSetBase(); + case NsdPackage.ANY_LN_CLASS__REFERS_TO_ABSTRACT_LN_CLASS: + return isSetRefersToAbstractLNClass(); } return super.eIsSet( featureID ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eInvoke( int operationID, EList< ? > arguments ) throws InvocationTargetException { + switch( operationID ) { + case NsdPackage.ANY_LN_CLASS___GET_NAME: + return getName(); + } + return super.eInvoke( operationID, arguments ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -313,4 +495,26 @@ public abstract class AnyLNClassImpl extends TitledClassImpl implements AnyLNCla return result.toString(); } + /* Implicit link + * AnyLNClass.base -> AbstractLNClass + */ + @Override + public void buildExplicitLinks( IRiseClipseConsole console ) { + super.buildExplicitLinks( console ); + if( !baseESet ) return; + + LNClasses lNClasses = ( LNClasses ) eContainer(); + EList< AbstractLNClass > l = lNClasses.getAbstractLNClass(); + setRefersToAbstractLNClass( l.stream() + .filter( abstractLNClass -> abstractLNClass.getName().equals( getBase() ) ).findAny().orElse( null ) ); + if( getRefersToAbstractLNClass() == null ) { + console.error( "AbstractLNClass (name: " + getBase() + ") refers by AnyLNClass (name: " + getName() + + ") in NS (id:" + lNClasses.getNS().getId() + ") is unknown" ); + } + else { + console.info( "AbstractLNClass (name: " + getBase() + ") refers by AnyLNClass (name: " + getName() + + ") in NS (id:" + lNClasses.getNS().getId() + ") found" ); + } + } + } //AnyLNClassImpl diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/AppliesToTypeImpl.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/AppliesToTypeImpl.java index ad1ea28a79bbb56db2f19b9c1df4a0e9913609f1..cd28eb2fd305aca2281094ad434858415bb7675a 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/AppliesToTypeImpl.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/AppliesToTypeImpl.java @@ -19,15 +19,14 @@ */ package fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl; +import fr.centralesupelec.edf.riseclipse.iec61850.nsd.AgNSIdentification; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.AppliesToType; -import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdObject; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage; +import fr.centralesupelec.edf.riseclipse.iec61850.nsd.PubStage; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceNsUsage; -import java.lang.reflect.InvocationTargetException; import org.eclipse.emf.common.notify.Notification; import org.eclipse.emf.common.notify.NotificationChain; -import org.eclipse.emf.common.util.EList; import org.eclipse.emf.ecore.EClass; import org.eclipse.emf.ecore.InternalEObject; @@ -42,32 +41,161 @@ import org.eclipse.emf.ecore.util.EcoreUtil; * The following features are implemented: * </p> * <ul> - * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.AppliesToTypeImpl#getLineNumber <em>Line Number</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.AppliesToTypeImpl#getRelease <em>Release</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.AppliesToTypeImpl#getVersion <em>Version</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.AppliesToTypeImpl#getId <em>Id</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.AppliesToTypeImpl#getRevision <em>Revision</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.AppliesToTypeImpl#getPublicationStage <em>Publication Stage</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.AppliesToTypeImpl#getServiceNsUsage <em>Service Ns Usage</em>}</li> * </ul> * * @generated */ -public class AppliesToTypeImpl extends AgNSIdentificationImpl implements AppliesToType { +public class AppliesToTypeImpl extends NsdObjectImpl implements AppliesToType { /** - * The default value of the '{@link #getLineNumber() <em>Line Number</em>}' attribute. + * The default value of the '{@link #getRelease() <em>Release</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * @see #getLineNumber() + * @see #getRelease() * @generated * @ordered */ - protected static final int LINE_NUMBER_EDEFAULT = -1; + protected static final Integer RELEASE_EDEFAULT = new Integer( 1 ); /** - * The cached value of the '{@link #getLineNumber() <em>Line Number</em>}' attribute. + * The cached value of the '{@link #getRelease() <em>Release</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * @see #getLineNumber() + * @see #getRelease() * @generated * @ordered */ - protected int lineNumber = LINE_NUMBER_EDEFAULT; + protected Integer release = RELEASE_EDEFAULT; + + /** + * This is true if the Release attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean releaseESet; + + /** + * The default value of the '{@link #getVersion() <em>Version</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getVersion() + * @generated + * @ordered + */ + protected static final Integer VERSION_EDEFAULT = null; + + /** + * The cached value of the '{@link #getVersion() <em>Version</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getVersion() + * @generated + * @ordered + */ + protected Integer version = VERSION_EDEFAULT; + + /** + * This is true if the Version attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean versionESet; + + /** + * The default value of the '{@link #getId() <em>Id</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getId() + * @generated + * @ordered + */ + protected static final String ID_EDEFAULT = null; + + /** + * The cached value of the '{@link #getId() <em>Id</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getId() + * @generated + * @ordered + */ + protected String id = ID_EDEFAULT; + + /** + * This is true if the Id attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean idESet; + + /** + * The default value of the '{@link #getRevision() <em>Revision</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getRevision() + * @generated + * @ordered + */ + protected static final String REVISION_EDEFAULT = "A"; + + /** + * The cached value of the '{@link #getRevision() <em>Revision</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getRevision() + * @generated + * @ordered + */ + protected String revision = REVISION_EDEFAULT; + + /** + * This is true if the Revision attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean revisionESet; + + /** + * The default value of the '{@link #getPublicationStage() <em>Publication Stage</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getPublicationStage() + * @generated + * @ordered + */ + protected static final PubStage PUBLICATION_STAGE_EDEFAULT = PubStage.IS; + + /** + * The cached value of the '{@link #getPublicationStage() <em>Publication Stage</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getPublicationStage() + * @generated + * @ordered + */ + protected PubStage publicationStage = PUBLICATION_STAGE_EDEFAULT; + + /** + * This is true if the Publication Stage attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean publicationStageESet; /** * <!-- begin-user-doc --> @@ -94,8 +222,8 @@ public class AppliesToTypeImpl extends AgNSIdentificationImpl implements Applies * @generated */ @Override - public int getLineNumber() { - return lineNumber; + public Integer getRelease() { + return release; } /** @@ -104,11 +232,240 @@ public class AppliesToTypeImpl extends AgNSIdentificationImpl implements Applies * @generated */ @Override - public void setLineNumber( int newLineNumber ) { - int oldLineNumber = lineNumber; - lineNumber = newLineNumber; + public void setRelease( Integer newRelease ) { + Integer oldRelease = release; + release = newRelease; + boolean oldReleaseESet = releaseESet; + releaseESet = true; if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, - NsdPackage.APPLIES_TO_TYPE__LINE_NUMBER, oldLineNumber, lineNumber ) ); + NsdPackage.APPLIES_TO_TYPE__RELEASE, oldRelease, release, !oldReleaseESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetRelease() { + Integer oldRelease = release; + boolean oldReleaseESet = releaseESet; + release = RELEASE_EDEFAULT; + releaseESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.APPLIES_TO_TYPE__RELEASE, oldRelease, RELEASE_EDEFAULT, oldReleaseESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetRelease() { + return releaseESet; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Integer getVersion() { + return version; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setVersion( Integer newVersion ) { + Integer oldVersion = version; + version = newVersion; + boolean oldVersionESet = versionESet; + versionESet = true; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, + NsdPackage.APPLIES_TO_TYPE__VERSION, oldVersion, version, !oldVersionESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetVersion() { + Integer oldVersion = version; + boolean oldVersionESet = versionESet; + version = VERSION_EDEFAULT; + versionESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.APPLIES_TO_TYPE__VERSION, oldVersion, VERSION_EDEFAULT, oldVersionESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetVersion() { + return versionESet; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String getId() { + return id; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setId( String newId ) { + String oldId = id; + id = newId; + boolean oldIdESet = idESet; + idESet = true; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, + NsdPackage.APPLIES_TO_TYPE__ID, oldId, id, !oldIdESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetId() { + String oldId = id; + boolean oldIdESet = idESet; + id = ID_EDEFAULT; + idESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.APPLIES_TO_TYPE__ID, oldId, ID_EDEFAULT, oldIdESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetId() { + return idESet; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String getRevision() { + return revision; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setRevision( String newRevision ) { + String oldRevision = revision; + revision = newRevision; + boolean oldRevisionESet = revisionESet; + revisionESet = true; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, + NsdPackage.APPLIES_TO_TYPE__REVISION, oldRevision, revision, !oldRevisionESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetRevision() { + String oldRevision = revision; + boolean oldRevisionESet = revisionESet; + revision = REVISION_EDEFAULT; + revisionESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.APPLIES_TO_TYPE__REVISION, oldRevision, REVISION_EDEFAULT, oldRevisionESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetRevision() { + return revisionESet; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public PubStage getPublicationStage() { + return publicationStage; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setPublicationStage( PubStage newPublicationStage ) { + PubStage oldPublicationStage = publicationStage; + publicationStage = newPublicationStage == null ? PUBLICATION_STAGE_EDEFAULT : newPublicationStage; + boolean oldPublicationStageESet = publicationStageESet; + publicationStageESet = true; + if( eNotificationRequired() ) + eNotify( new ENotificationImpl( this, Notification.SET, NsdPackage.APPLIES_TO_TYPE__PUBLICATION_STAGE, + oldPublicationStage, publicationStage, !oldPublicationStageESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetPublicationStage() { + PubStage oldPublicationStage = publicationStage; + boolean oldPublicationStageESet = publicationStageESet; + publicationStage = PUBLICATION_STAGE_EDEFAULT; + publicationStageESet = false; + if( eNotificationRequired() ) + eNotify( new ENotificationImpl( this, Notification.UNSET, NsdPackage.APPLIES_TO_TYPE__PUBLICATION_STAGE, + oldPublicationStage, PUBLICATION_STAGE_EDEFAULT, oldPublicationStageESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetPublicationStage() { + return publicationStageESet; } /** @@ -156,18 +513,6 @@ public class AppliesToTypeImpl extends AgNSIdentificationImpl implements Applies NsdPackage.APPLIES_TO_TYPE__SERVICE_NS_USAGE, newServiceNsUsage, newServiceNsUsage ) ); } - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - @Override - public void buildExplicitLinks() { - // TODO: implement this method - // Ensure that you remove @generated or mark it @generated NOT - throw new UnsupportedOperationException(); - } - /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -220,8 +565,16 @@ public class AppliesToTypeImpl extends AgNSIdentificationImpl implements Applies @Override public Object eGet( int featureID, boolean resolve, boolean coreType ) { switch( featureID ) { - case NsdPackage.APPLIES_TO_TYPE__LINE_NUMBER: - return getLineNumber(); + case NsdPackage.APPLIES_TO_TYPE__RELEASE: + return getRelease(); + case NsdPackage.APPLIES_TO_TYPE__VERSION: + return getVersion(); + case NsdPackage.APPLIES_TO_TYPE__ID: + return getId(); + case NsdPackage.APPLIES_TO_TYPE__REVISION: + return getRevision(); + case NsdPackage.APPLIES_TO_TYPE__PUBLICATION_STAGE: + return getPublicationStage(); case NsdPackage.APPLIES_TO_TYPE__SERVICE_NS_USAGE: return getServiceNsUsage(); } @@ -236,8 +589,20 @@ public class AppliesToTypeImpl extends AgNSIdentificationImpl implements Applies @Override public void eSet( int featureID, Object newValue ) { switch( featureID ) { - case NsdPackage.APPLIES_TO_TYPE__LINE_NUMBER: - setLineNumber( ( Integer ) newValue ); + case NsdPackage.APPLIES_TO_TYPE__RELEASE: + setRelease( ( Integer ) newValue ); + return; + case NsdPackage.APPLIES_TO_TYPE__VERSION: + setVersion( ( Integer ) newValue ); + return; + case NsdPackage.APPLIES_TO_TYPE__ID: + setId( ( String ) newValue ); + return; + case NsdPackage.APPLIES_TO_TYPE__REVISION: + setRevision( ( String ) newValue ); + return; + case NsdPackage.APPLIES_TO_TYPE__PUBLICATION_STAGE: + setPublicationStage( ( PubStage ) newValue ); return; case NsdPackage.APPLIES_TO_TYPE__SERVICE_NS_USAGE: setServiceNsUsage( ( ServiceNsUsage ) newValue ); @@ -254,8 +619,20 @@ public class AppliesToTypeImpl extends AgNSIdentificationImpl implements Applies @Override public void eUnset( int featureID ) { switch( featureID ) { - case NsdPackage.APPLIES_TO_TYPE__LINE_NUMBER: - setLineNumber( LINE_NUMBER_EDEFAULT ); + case NsdPackage.APPLIES_TO_TYPE__RELEASE: + unsetRelease(); + return; + case NsdPackage.APPLIES_TO_TYPE__VERSION: + unsetVersion(); + return; + case NsdPackage.APPLIES_TO_TYPE__ID: + unsetId(); + return; + case NsdPackage.APPLIES_TO_TYPE__REVISION: + unsetRevision(); + return; + case NsdPackage.APPLIES_TO_TYPE__PUBLICATION_STAGE: + unsetPublicationStage(); return; case NsdPackage.APPLIES_TO_TYPE__SERVICE_NS_USAGE: setServiceNsUsage( ( ServiceNsUsage ) null ); @@ -272,8 +649,16 @@ public class AppliesToTypeImpl extends AgNSIdentificationImpl implements Applies @Override public boolean eIsSet( int featureID ) { switch( featureID ) { - case NsdPackage.APPLIES_TO_TYPE__LINE_NUMBER: - return lineNumber != LINE_NUMBER_EDEFAULT; + case NsdPackage.APPLIES_TO_TYPE__RELEASE: + return isSetRelease(); + case NsdPackage.APPLIES_TO_TYPE__VERSION: + return isSetVersion(); + case NsdPackage.APPLIES_TO_TYPE__ID: + return isSetId(); + case NsdPackage.APPLIES_TO_TYPE__REVISION: + return isSetRevision(); + case NsdPackage.APPLIES_TO_TYPE__PUBLICATION_STAGE: + return isSetPublicationStage(); case NsdPackage.APPLIES_TO_TYPE__SERVICE_NS_USAGE: return getServiceNsUsage() != null; } @@ -287,10 +672,18 @@ public class AppliesToTypeImpl extends AgNSIdentificationImpl implements Applies */ @Override public int eBaseStructuralFeatureID( int derivedFeatureID, Class< ? > baseClass ) { - if( baseClass == NsdObject.class ) { + if( baseClass == AgNSIdentification.class ) { switch( derivedFeatureID ) { - case NsdPackage.APPLIES_TO_TYPE__LINE_NUMBER: - return NsdPackage.NSD_OBJECT__LINE_NUMBER; + case NsdPackage.APPLIES_TO_TYPE__RELEASE: + return NsdPackage.AG_NS_IDENTIFICATION__RELEASE; + case NsdPackage.APPLIES_TO_TYPE__VERSION: + return NsdPackage.AG_NS_IDENTIFICATION__VERSION; + case NsdPackage.APPLIES_TO_TYPE__ID: + return NsdPackage.AG_NS_IDENTIFICATION__ID; + case NsdPackage.APPLIES_TO_TYPE__REVISION: + return NsdPackage.AG_NS_IDENTIFICATION__REVISION; + case NsdPackage.APPLIES_TO_TYPE__PUBLICATION_STAGE: + return NsdPackage.AG_NS_IDENTIFICATION__PUBLICATION_STAGE; default: return -1; } @@ -305,10 +698,18 @@ public class AppliesToTypeImpl extends AgNSIdentificationImpl implements Applies */ @Override public int eDerivedStructuralFeatureID( int baseFeatureID, Class< ? > baseClass ) { - if( baseClass == NsdObject.class ) { + if( baseClass == AgNSIdentification.class ) { switch( baseFeatureID ) { - case NsdPackage.NSD_OBJECT__LINE_NUMBER: - return NsdPackage.APPLIES_TO_TYPE__LINE_NUMBER; + case NsdPackage.AG_NS_IDENTIFICATION__RELEASE: + return NsdPackage.APPLIES_TO_TYPE__RELEASE; + case NsdPackage.AG_NS_IDENTIFICATION__VERSION: + return NsdPackage.APPLIES_TO_TYPE__VERSION; + case NsdPackage.AG_NS_IDENTIFICATION__ID: + return NsdPackage.APPLIES_TO_TYPE__ID; + case NsdPackage.AG_NS_IDENTIFICATION__REVISION: + return NsdPackage.APPLIES_TO_TYPE__REVISION; + case NsdPackage.AG_NS_IDENTIFICATION__PUBLICATION_STAGE: + return NsdPackage.APPLIES_TO_TYPE__PUBLICATION_STAGE; default: return -1; } @@ -316,39 +717,6 @@ public class AppliesToTypeImpl extends AgNSIdentificationImpl implements Applies return super.eDerivedStructuralFeatureID( baseFeatureID, baseClass ); } - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - @Override - public int eDerivedOperationID( int baseOperationID, Class< ? > baseClass ) { - if( baseClass == NsdObject.class ) { - switch( baseOperationID ) { - case NsdPackage.NSD_OBJECT___BUILD_EXPLICIT_LINKS: - return NsdPackage.APPLIES_TO_TYPE___BUILD_EXPLICIT_LINKS; - default: - return -1; - } - } - return super.eDerivedOperationID( baseOperationID, baseClass ); - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - @Override - public Object eInvoke( int operationID, EList< ? > arguments ) throws InvocationTargetException { - switch( operationID ) { - case NsdPackage.APPLIES_TO_TYPE___BUILD_EXPLICIT_LINKS: - buildExplicitLinks(); - return null; - } - return super.eInvoke( operationID, arguments ); - } - /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -359,8 +727,31 @@ public class AppliesToTypeImpl extends AgNSIdentificationImpl implements Applies if( eIsProxy() ) return super.toString(); StringBuilder result = new StringBuilder( super.toString() ); - result.append( " (lineNumber: " ); - result.append( lineNumber ); + result.append( " (release: " ); + if( releaseESet ) + result.append( release ); + else + result.append( "<unset>" ); + result.append( ", version: " ); + if( versionESet ) + result.append( version ); + else + result.append( "<unset>" ); + result.append( ", id: " ); + if( idESet ) + result.append( id ); + else + result.append( "<unset>" ); + result.append( ", revision: " ); + if( revisionESet ) + result.append( revision ); + else + result.append( "<unset>" ); + result.append( ", publicationStage: " ); + if( publicationStageESet ) + result.append( publicationStage ); + else + result.append( "<unset>" ); result.append( ')' ); return result.toString(); } diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/DependsOnImpl.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/DependsOnImpl.java index 68c90f9242065beb03b6587921e024f83b14a4d9..0a4650b0f9da163ab9db5a3464d9fa1aea11c507 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/DependsOnImpl.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/DependsOnImpl.java @@ -19,9 +19,14 @@ */ package fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl; +import fr.centralesupelec.edf.riseclipse.iec61850.nsd.AgNSIdentification; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOn; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage; +import fr.centralesupelec.edf.riseclipse.iec61850.nsd.PubStage; +import fr.centralesupelec.edf.riseclipse.iec61850.nsd.util.NsdResourceSetImpl; +import fr.centralesupelec.edf.riseclipse.util.IRiseClipseConsole; + import org.eclipse.emf.common.notify.Notification; import org.eclipse.emf.common.notify.NotificationChain; import org.eclipse.emf.ecore.EClass; @@ -39,12 +44,167 @@ import org.eclipse.emf.ecore.util.EcoreUtil; * The following features are implemented: * </p> * <ul> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.DependsOnImpl#getRelease <em>Release</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.DependsOnImpl#getVersion <em>Version</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.DependsOnImpl#getId <em>Id</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.DependsOnImpl#getRevision <em>Revision</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.DependsOnImpl#getPublicationStage <em>Publication Stage</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.DependsOnImpl#getNS <em>NS</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.DependsOnImpl#getRefersToNS <em>Refers To NS</em>}</li> * </ul> * * @generated */ -public class DependsOnImpl extends AgNSIdentificationImpl implements DependsOn { +public class DependsOnImpl extends NsdObjectImpl implements DependsOn { + /** + * The default value of the '{@link #getRelease() <em>Release</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getRelease() + * @generated + * @ordered + */ + protected static final Integer RELEASE_EDEFAULT = new Integer( 1 ); + /** + * The cached value of the '{@link #getRelease() <em>Release</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getRelease() + * @generated + * @ordered + */ + protected Integer release = RELEASE_EDEFAULT; + /** + * This is true if the Release attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean releaseESet; + /** + * The default value of the '{@link #getVersion() <em>Version</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getVersion() + * @generated + * @ordered + */ + protected static final Integer VERSION_EDEFAULT = null; + /** + * The cached value of the '{@link #getVersion() <em>Version</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getVersion() + * @generated + * @ordered + */ + protected Integer version = VERSION_EDEFAULT; + /** + * This is true if the Version attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean versionESet; + /** + * The default value of the '{@link #getId() <em>Id</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getId() + * @generated + * @ordered + */ + protected static final String ID_EDEFAULT = null; + /** + * The cached value of the '{@link #getId() <em>Id</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getId() + * @generated + * @ordered + */ + protected String id = ID_EDEFAULT; + /** + * This is true if the Id attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean idESet; + /** + * The default value of the '{@link #getRevision() <em>Revision</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getRevision() + * @generated + * @ordered + */ + protected static final String REVISION_EDEFAULT = "A"; + /** + * The cached value of the '{@link #getRevision() <em>Revision</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getRevision() + * @generated + * @ordered + */ + protected String revision = REVISION_EDEFAULT; + /** + * This is true if the Revision attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean revisionESet; + /** + * The default value of the '{@link #getPublicationStage() <em>Publication Stage</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getPublicationStage() + * @generated + * @ordered + */ + protected static final PubStage PUBLICATION_STAGE_EDEFAULT = PubStage.IS; + /** + * The cached value of the '{@link #getPublicationStage() <em>Publication Stage</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getPublicationStage() + * @generated + * @ordered + */ + protected PubStage publicationStage = PUBLICATION_STAGE_EDEFAULT; + /** + * This is true if the Publication Stage attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean publicationStageESet; + + /** + * The cached value of the '{@link #getRefersToNS() <em>Refers To NS</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getRefersToNS() + * @generated + * @ordered + */ + protected NS refersToNS; + /** + * This is true if the Refers To NS reference has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean refersToNSESet; + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -64,6 +224,258 @@ public class DependsOnImpl extends AgNSIdentificationImpl implements DependsOn { return NsdPackage.Literals.DEPENDS_ON; } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Integer getRelease() { + return release; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setRelease( Integer newRelease ) { + Integer oldRelease = release; + release = newRelease; + boolean oldReleaseESet = releaseESet; + releaseESet = true; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, + NsdPackage.DEPENDS_ON__RELEASE, oldRelease, release, !oldReleaseESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetRelease() { + Integer oldRelease = release; + boolean oldReleaseESet = releaseESet; + release = RELEASE_EDEFAULT; + releaseESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.DEPENDS_ON__RELEASE, oldRelease, RELEASE_EDEFAULT, oldReleaseESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetRelease() { + return releaseESet; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Integer getVersion() { + return version; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setVersion( Integer newVersion ) { + Integer oldVersion = version; + version = newVersion; + boolean oldVersionESet = versionESet; + versionESet = true; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, + NsdPackage.DEPENDS_ON__VERSION, oldVersion, version, !oldVersionESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetVersion() { + Integer oldVersion = version; + boolean oldVersionESet = versionESet; + version = VERSION_EDEFAULT; + versionESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.DEPENDS_ON__VERSION, oldVersion, VERSION_EDEFAULT, oldVersionESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetVersion() { + return versionESet; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String getId() { + return id; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setId( String newId ) { + String oldId = id; + id = newId; + boolean oldIdESet = idESet; + idESet = true; + if( eNotificationRequired() ) eNotify( + new ENotificationImpl( this, Notification.SET, NsdPackage.DEPENDS_ON__ID, oldId, id, !oldIdESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetId() { + String oldId = id; + boolean oldIdESet = idESet; + id = ID_EDEFAULT; + idESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.DEPENDS_ON__ID, oldId, ID_EDEFAULT, oldIdESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetId() { + return idESet; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String getRevision() { + return revision; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setRevision( String newRevision ) { + String oldRevision = revision; + revision = newRevision; + boolean oldRevisionESet = revisionESet; + revisionESet = true; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, + NsdPackage.DEPENDS_ON__REVISION, oldRevision, revision, !oldRevisionESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetRevision() { + String oldRevision = revision; + boolean oldRevisionESet = revisionESet; + revision = REVISION_EDEFAULT; + revisionESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.DEPENDS_ON__REVISION, oldRevision, REVISION_EDEFAULT, oldRevisionESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetRevision() { + return revisionESet; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public PubStage getPublicationStage() { + return publicationStage; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setPublicationStage( PubStage newPublicationStage ) { + PubStage oldPublicationStage = publicationStage; + publicationStage = newPublicationStage == null ? PUBLICATION_STAGE_EDEFAULT : newPublicationStage; + boolean oldPublicationStageESet = publicationStageESet; + publicationStageESet = true; + if( eNotificationRequired() ) + eNotify( new ENotificationImpl( this, Notification.SET, NsdPackage.DEPENDS_ON__PUBLICATION_STAGE, + oldPublicationStage, publicationStage, !oldPublicationStageESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetPublicationStage() { + PubStage oldPublicationStage = publicationStage; + boolean oldPublicationStageESet = publicationStageESet; + publicationStage = PUBLICATION_STAGE_EDEFAULT; + publicationStageESet = false; + if( eNotificationRequired() ) + eNotify( new ENotificationImpl( this, Notification.UNSET, NsdPackage.DEPENDS_ON__PUBLICATION_STAGE, + oldPublicationStage, PUBLICATION_STAGE_EDEFAULT, oldPublicationStageESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetPublicationStage() { + return publicationStageESet; + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -106,6 +518,114 @@ public class DependsOnImpl extends AgNSIdentificationImpl implements DependsOn { eNotify( new ENotificationImpl( this, Notification.SET, NsdPackage.DEPENDS_ON__NS, newNS, newNS ) ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NS getRefersToNS() { + return refersToNS; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetRefersToNS( NS newRefersToNS, NotificationChain msgs ) { + NS oldRefersToNS = refersToNS; + refersToNS = newRefersToNS; + boolean oldRefersToNSESet = refersToNSESet; + refersToNSESet = true; + if( eNotificationRequired() ) { + ENotificationImpl notification = new ENotificationImpl( this, Notification.SET, + NsdPackage.DEPENDS_ON__REFERS_TO_NS, oldRefersToNS, newRefersToNS, !oldRefersToNSESet ); + if( msgs == null ) + msgs = notification; + else + msgs.add( notification ); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setRefersToNS( NS newRefersToNS ) { + if( newRefersToNS != refersToNS ) { + NotificationChain msgs = null; + if( refersToNS != null ) msgs = ( ( InternalEObject ) refersToNS ).eInverseRemove( this, + NsdPackage.NS__REFERRED_BY_DEPENDS_ON, NS.class, msgs ); + if( newRefersToNS != null ) msgs = ( ( InternalEObject ) newRefersToNS ).eInverseAdd( this, + NsdPackage.NS__REFERRED_BY_DEPENDS_ON, NS.class, msgs ); + msgs = basicSetRefersToNS( newRefersToNS, msgs ); + if( msgs != null ) msgs.dispatch(); + } + else { + boolean oldRefersToNSESet = refersToNSESet; + refersToNSESet = true; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, + NsdPackage.DEPENDS_ON__REFERS_TO_NS, newRefersToNS, newRefersToNS, !oldRefersToNSESet ) ); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicUnsetRefersToNS( NotificationChain msgs ) { + NS oldRefersToNS = refersToNS; + refersToNS = null; + boolean oldRefersToNSESet = refersToNSESet; + refersToNSESet = false; + if( eNotificationRequired() ) { + ENotificationImpl notification = new ENotificationImpl( this, Notification.UNSET, + NsdPackage.DEPENDS_ON__REFERS_TO_NS, oldRefersToNS, null, oldRefersToNSESet ); + if( msgs == null ) + msgs = notification; + else + msgs.add( notification ); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetRefersToNS() { + if( refersToNS != null ) { + NotificationChain msgs = null; + msgs = ( ( InternalEObject ) refersToNS ).eInverseRemove( this, NsdPackage.NS__REFERRED_BY_DEPENDS_ON, + NS.class, msgs ); + msgs = basicUnsetRefersToNS( msgs ); + if( msgs != null ) msgs.dispatch(); + } + else { + boolean oldRefersToNSESet = refersToNSESet; + refersToNSESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.DEPENDS_ON__REFERS_TO_NS, null, null, oldRefersToNSESet ) ); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetRefersToNS() { + return refersToNSESet; + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -117,6 +637,10 @@ public class DependsOnImpl extends AgNSIdentificationImpl implements DependsOn { case NsdPackage.DEPENDS_ON__NS: if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); return basicSetNS( ( NS ) otherEnd, msgs ); + case NsdPackage.DEPENDS_ON__REFERS_TO_NS: + if( refersToNS != null ) msgs = ( ( InternalEObject ) refersToNS ).eInverseRemove( this, + NsdPackage.NS__REFERRED_BY_DEPENDS_ON, NS.class, msgs ); + return basicSetRefersToNS( ( NS ) otherEnd, msgs ); } return super.eInverseAdd( otherEnd, featureID, msgs ); } @@ -131,6 +655,8 @@ public class DependsOnImpl extends AgNSIdentificationImpl implements DependsOn { switch( featureID ) { case NsdPackage.DEPENDS_ON__NS: return basicSetNS( null, msgs ); + case NsdPackage.DEPENDS_ON__REFERS_TO_NS: + return basicUnsetRefersToNS( msgs ); } return super.eInverseRemove( otherEnd, featureID, msgs ); } @@ -157,8 +683,20 @@ public class DependsOnImpl extends AgNSIdentificationImpl implements DependsOn { @Override public Object eGet( int featureID, boolean resolve, boolean coreType ) { switch( featureID ) { + case NsdPackage.DEPENDS_ON__RELEASE: + return getRelease(); + case NsdPackage.DEPENDS_ON__VERSION: + return getVersion(); + case NsdPackage.DEPENDS_ON__ID: + return getId(); + case NsdPackage.DEPENDS_ON__REVISION: + return getRevision(); + case NsdPackage.DEPENDS_ON__PUBLICATION_STAGE: + return getPublicationStage(); case NsdPackage.DEPENDS_ON__NS: return getNS(); + case NsdPackage.DEPENDS_ON__REFERS_TO_NS: + return getRefersToNS(); } return super.eGet( featureID, resolve, coreType ); } @@ -171,9 +709,27 @@ public class DependsOnImpl extends AgNSIdentificationImpl implements DependsOn { @Override public void eSet( int featureID, Object newValue ) { switch( featureID ) { + case NsdPackage.DEPENDS_ON__RELEASE: + setRelease( ( Integer ) newValue ); + return; + case NsdPackage.DEPENDS_ON__VERSION: + setVersion( ( Integer ) newValue ); + return; + case NsdPackage.DEPENDS_ON__ID: + setId( ( String ) newValue ); + return; + case NsdPackage.DEPENDS_ON__REVISION: + setRevision( ( String ) newValue ); + return; + case NsdPackage.DEPENDS_ON__PUBLICATION_STAGE: + setPublicationStage( ( PubStage ) newValue ); + return; case NsdPackage.DEPENDS_ON__NS: setNS( ( NS ) newValue ); return; + case NsdPackage.DEPENDS_ON__REFERS_TO_NS: + setRefersToNS( ( NS ) newValue ); + return; } super.eSet( featureID, newValue ); } @@ -186,9 +742,27 @@ public class DependsOnImpl extends AgNSIdentificationImpl implements DependsOn { @Override public void eUnset( int featureID ) { switch( featureID ) { + case NsdPackage.DEPENDS_ON__RELEASE: + unsetRelease(); + return; + case NsdPackage.DEPENDS_ON__VERSION: + unsetVersion(); + return; + case NsdPackage.DEPENDS_ON__ID: + unsetId(); + return; + case NsdPackage.DEPENDS_ON__REVISION: + unsetRevision(); + return; + case NsdPackage.DEPENDS_ON__PUBLICATION_STAGE: + unsetPublicationStage(); + return; case NsdPackage.DEPENDS_ON__NS: setNS( ( NS ) null ); return; + case NsdPackage.DEPENDS_ON__REFERS_TO_NS: + unsetRefersToNS(); + return; } super.eUnset( featureID ); } @@ -201,10 +775,131 @@ public class DependsOnImpl extends AgNSIdentificationImpl implements DependsOn { @Override public boolean eIsSet( int featureID ) { switch( featureID ) { + case NsdPackage.DEPENDS_ON__RELEASE: + return isSetRelease(); + case NsdPackage.DEPENDS_ON__VERSION: + return isSetVersion(); + case NsdPackage.DEPENDS_ON__ID: + return isSetId(); + case NsdPackage.DEPENDS_ON__REVISION: + return isSetRevision(); + case NsdPackage.DEPENDS_ON__PUBLICATION_STAGE: + return isSetPublicationStage(); case NsdPackage.DEPENDS_ON__NS: return getNS() != null; + case NsdPackage.DEPENDS_ON__REFERS_TO_NS: + return isSetRefersToNS(); } return super.eIsSet( featureID ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public int eBaseStructuralFeatureID( int derivedFeatureID, Class< ? > baseClass ) { + if( baseClass == AgNSIdentification.class ) { + switch( derivedFeatureID ) { + case NsdPackage.DEPENDS_ON__RELEASE: + return NsdPackage.AG_NS_IDENTIFICATION__RELEASE; + case NsdPackage.DEPENDS_ON__VERSION: + return NsdPackage.AG_NS_IDENTIFICATION__VERSION; + case NsdPackage.DEPENDS_ON__ID: + return NsdPackage.AG_NS_IDENTIFICATION__ID; + case NsdPackage.DEPENDS_ON__REVISION: + return NsdPackage.AG_NS_IDENTIFICATION__REVISION; + case NsdPackage.DEPENDS_ON__PUBLICATION_STAGE: + return NsdPackage.AG_NS_IDENTIFICATION__PUBLICATION_STAGE; + default: + return -1; + } + } + return super.eBaseStructuralFeatureID( derivedFeatureID, baseClass ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public int eDerivedStructuralFeatureID( int baseFeatureID, Class< ? > baseClass ) { + if( baseClass == AgNSIdentification.class ) { + switch( baseFeatureID ) { + case NsdPackage.AG_NS_IDENTIFICATION__RELEASE: + return NsdPackage.DEPENDS_ON__RELEASE; + case NsdPackage.AG_NS_IDENTIFICATION__VERSION: + return NsdPackage.DEPENDS_ON__VERSION; + case NsdPackage.AG_NS_IDENTIFICATION__ID: + return NsdPackage.DEPENDS_ON__ID; + case NsdPackage.AG_NS_IDENTIFICATION__REVISION: + return NsdPackage.DEPENDS_ON__REVISION; + case NsdPackage.AG_NS_IDENTIFICATION__PUBLICATION_STAGE: + return NsdPackage.DEPENDS_ON__PUBLICATION_STAGE; + default: + return -1; + } + } + return super.eDerivedStructuralFeatureID( baseFeatureID, baseClass ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String toString() { + if( eIsProxy() ) return super.toString(); + + StringBuilder result = new StringBuilder( super.toString() ); + result.append( " (release: " ); + if( releaseESet ) + result.append( release ); + else + result.append( "<unset>" ); + result.append( ", version: " ); + if( versionESet ) + result.append( version ); + else + result.append( "<unset>" ); + result.append( ", id: " ); + if( idESet ) + result.append( id ); + else + result.append( "<unset>" ); + result.append( ", revision: " ); + if( revisionESet ) + result.append( revision ); + else + result.append( "<unset>" ); + result.append( ", publicationStage: " ); + if( publicationStageESet ) + result.append( publicationStage ); + else + result.append( "<unset>" ); + result.append( ')' ); + return result.toString(); + } + + /* Implicit link + * DependsOn.id -> NS.id + */ + @Override + public void buildExplicitLinks( IRiseClipseConsole console ) { + super.buildExplicitLinks( console ); + + NsdResourceSetImpl resourceSet = ( NsdResourceSetImpl ) eResource().getResourceSet(); + setRefersToNS( resourceSet.getNS( getId() ) ); + if( getRefersToNS() == null ) { + console.error( + "NS (id: " + getId() + ") and refers by DependsOn in NS (id:" + getNS().getId() + ") is unknown" ); + } + else { + console.info( "NS (id: " + getId() + ") and refers by DependsOn in NS (id:" + getNS().getId() + ") found" ); + } + } + } //DependsOnImpl 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 4e3f8c45fc1581cb0b6e8835cbea8653ac6f58ef..ad36eb805bf359103ecadc9668a84908d14ab27a 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 @@ -35,16 +35,19 @@ import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.PresenceConditions; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.PubStage; - +import java.util.Collection; import javax.xml.datatype.XMLGregorianCalendar; import org.eclipse.emf.common.notify.Notification; import org.eclipse.emf.common.notify.NotificationChain; +import org.eclipse.emf.common.util.EList; import org.eclipse.emf.ecore.EClass; import org.eclipse.emf.ecore.InternalEObject; import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.util.EObjectWithInverseEList; +import org.eclipse.emf.ecore.util.InternalEList; /** * <!-- begin-user-doc --> @@ -72,6 +75,7 @@ import org.eclipse.emf.ecore.impl.ENotificationImpl; * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NSImpl#getConstructedAttributes <em>Constructed Attributes</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NSImpl#getCDCs <em>CD Cs</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NSImpl#getLNClasses <em>LN Classes</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NSImpl#getReferredByDependsOn <em>Referred By Depends On</em>}</li> * </ul> * * @generated @@ -499,6 +503,16 @@ public class NSImpl extends CopyrightedImpl implements NS { */ protected boolean lNClassesESet; + /** + * The cached value of the '{@link #getReferredByDependsOn() <em>Referred By Depends On</em>}' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getReferredByDependsOn() + * @generated + * @ordered + */ + protected EList< DependsOn > referredByDependsOn; + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -1607,6 +1621,40 @@ public class NSImpl extends CopyrightedImpl implements NS { return lNClassesESet; } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EList< DependsOn > getReferredByDependsOn() { + if( referredByDependsOn == null ) { + referredByDependsOn = new EObjectWithInverseEList.Unsettable< DependsOn >( DependsOn.class, this, + NsdPackage.NS__REFERRED_BY_DEPENDS_ON, NsdPackage.DEPENDS_ON__REFERS_TO_NS ); + } + return referredByDependsOn; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetReferredByDependsOn() { + if( referredByDependsOn != null ) ( ( InternalEList.Unsettable< ? > ) referredByDependsOn ).unset(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetReferredByDependsOn() { + return referredByDependsOn != null && ( ( InternalEList.Unsettable< ? > ) referredByDependsOn ).isSet(); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -1963,6 +2011,7 @@ public class NSImpl extends CopyrightedImpl implements NS { * <!-- end-user-doc --> * @generated */ + @SuppressWarnings( "unchecked" ) @Override public NotificationChain eInverseAdd( InternalEObject otherEnd, int featureID, NotificationChain msgs ) { switch( featureID ) { @@ -2006,6 +2055,9 @@ public class NSImpl extends CopyrightedImpl implements NS { if( lNClasses != null ) msgs = ( ( InternalEObject ) lNClasses ).eInverseRemove( this, EOPPOSITE_FEATURE_BASE - NsdPackage.NS__LN_CLASSES, null, msgs ); return basicSetLNClasses( ( LNClasses ) otherEnd, msgs ); + case NsdPackage.NS__REFERRED_BY_DEPENDS_ON: + return ( ( InternalEList< InternalEObject > ) ( InternalEList< ? > ) getReferredByDependsOn() ) + .basicAdd( otherEnd, msgs ); } return super.eInverseAdd( otherEnd, featureID, msgs ); } @@ -2088,6 +2140,8 @@ public class NSImpl extends CopyrightedImpl implements NS { return basicUnsetCDCs( msgs ); case NsdPackage.NS__LN_CLASSES: return basicUnsetLNClasses( msgs ); + case NsdPackage.NS__REFERRED_BY_DEPENDS_ON: + return ( ( InternalEList< ? > ) getReferredByDependsOn() ).basicRemove( otherEnd, msgs ); } return super.eInverseRemove( otherEnd, featureID, msgs ); } @@ -2136,6 +2190,8 @@ public class NSImpl extends CopyrightedImpl implements NS { return getCDCs(); case NsdPackage.NS__LN_CLASSES: return getLNClasses(); + case NsdPackage.NS__REFERRED_BY_DEPENDS_ON: + return getReferredByDependsOn(); } return super.eGet( featureID, resolve, coreType ); } @@ -2145,6 +2201,7 @@ public class NSImpl extends CopyrightedImpl implements NS { * <!-- end-user-doc --> * @generated */ + @SuppressWarnings( "unchecked" ) @Override public void eSet( int featureID, Object newValue ) { switch( featureID ) { @@ -2202,6 +2259,10 @@ public class NSImpl extends CopyrightedImpl implements NS { case NsdPackage.NS__LN_CLASSES: setLNClasses( ( LNClasses ) newValue ); return; + case NsdPackage.NS__REFERRED_BY_DEPENDS_ON: + getReferredByDependsOn().clear(); + getReferredByDependsOn().addAll( ( Collection< ? extends DependsOn > ) newValue ); + return; } super.eSet( featureID, newValue ); } @@ -2268,6 +2329,9 @@ public class NSImpl extends CopyrightedImpl implements NS { case NsdPackage.NS__LN_CLASSES: unsetLNClasses(); return; + case NsdPackage.NS__REFERRED_BY_DEPENDS_ON: + unsetReferredByDependsOn(); + return; } super.eUnset( featureID ); } @@ -2316,6 +2380,8 @@ public class NSImpl extends CopyrightedImpl implements NS { return isSetCDCs(); case NsdPackage.NS__LN_CLASSES: return isSetLNClasses(); + case NsdPackage.NS__REFERRED_BY_DEPENDS_ON: + return isSetReferredByDependsOn(); } return super.eIsSet( featureID ); } diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/NsdObjectImpl.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/NsdObjectImpl.java index 9f174fc8d14e32ff8c3fe4e25fdfacc9b775e4b8..1fd5f9c579549c4d8b264534144bc9c513576b27 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/NsdObjectImpl.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/NsdObjectImpl.java @@ -22,11 +22,13 @@ package fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdObject; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage; +import fr.centralesupelec.edf.riseclipse.util.IRiseClipseConsole; import java.lang.reflect.InvocationTargetException; import org.eclipse.emf.common.notify.Notification; import org.eclipse.emf.common.util.EList; +import org.eclipse.emf.common.util.TreeIterator; import org.eclipse.emf.ecore.EClass; - +import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.impl.ENotificationImpl; import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; @@ -108,13 +110,18 @@ public abstract class NsdObjectImpl extends MinimalEObjectImpl.Container impleme /** * <!-- begin-user-doc --> * <!-- end-user-doc --> - * @generated + * @generated NOT */ @Override - public void buildExplicitLinks() { - // TODO: implement this method - // Ensure that you remove @generated or mark it @generated NOT - throw new UnsupportedOperationException(); + public void buildExplicitLinks( IRiseClipseConsole console ) { + TreeIterator< EObject > it = eAllContents(); + while( it.hasNext() ) { + EObject o = it.next(); + if( o instanceof NsdObject ) { + ( ( NsdObject ) o ).buildExplicitLinks( console ); + } + } + return; } /** @@ -183,8 +190,8 @@ public abstract class NsdObjectImpl extends MinimalEObjectImpl.Container impleme @Override public Object eInvoke( int operationID, EList< ? > arguments ) throws InvocationTargetException { switch( operationID ) { - case NsdPackage.NSD_OBJECT___BUILD_EXPLICIT_LINKS: - buildExplicitLinks(); + case NsdPackage.NSD_OBJECT___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE: + buildExplicitLinks( ( IRiseClipseConsole ) arguments.get( 0 ) ); return null; } return super.eInvoke( operationID, arguments ); 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 ac3e2d9535562d64ac6c8e27ec26b97307084495..86de77af68e5fe3bb6af809332a9f4db13a8b17f 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 @@ -88,6 +88,7 @@ import fr.centralesupelec.edf.riseclipse.iec61850.nsd.UndefinedAttributeTypeKind import fr.centralesupelec.edf.riseclipse.iec61850.nsd.util.NsdValidator; +import fr.centralesupelec.edf.riseclipse.util.IRiseClipseConsole; import org.eclipse.emf.common.util.Enumerator; import org.eclipse.emf.ecore.EAttribute; @@ -530,6 +531,13 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { */ private EClass agNSdescEClass = null; + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass iRiseClipseConsoleEClass = null; + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -735,6 +743,16 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { return ( EReference ) dependsOnEClass.getEStructuralFeatures().get( 0 ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getDependsOn_RefersToNS() { + return ( EReference ) dependsOnEClass.getEStructuralFeatures().get( 1 ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -955,6 +973,16 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { return ( EReference ) abstractLNClassEClass.getEStructuralFeatures().get( 1 ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getAbstractLNClass_ReferredByAnyLNClass() { + return ( EReference ) abstractLNClassEClass.getEStructuralFeatures().get( 2 ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -985,6 +1013,26 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { return ( EAttribute ) anyLNClassEClass.getEStructuralFeatures().get( 1 ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getAnyLNClass_RefersToAbstractLNClass() { + return ( EReference ) anyLNClassEClass.getEStructuralFeatures().get( 2 ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EOperation getAnyLNClass__GetName() { + return anyLNClassEClass.getEOperations().get( 0 ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -2215,6 +2263,16 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { return ( EReference ) nsEClass.getEStructuralFeatures().get( 9 ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getNS_ReferredByDependsOn() { + return ( EReference ) nsEClass.getEStructuralFeatures().get( 10 ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -2811,7 +2869,7 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { * @generated */ @Override - public EOperation getNsdObject__BuildExplicitLinks() { + public EOperation getNsdObject__BuildExplicitLinks__IRiseClipseConsole() { return nsdObjectEClass.getEOperations().get( 0 ); } @@ -3195,6 +3253,16 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { return ( EAttribute ) agNSdescEClass.getEStructuralFeatures().get( 0 ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EClass getIRiseClipseConsole() { + return iRiseClipseConsoleEClass; + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -3359,6 +3427,7 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { dependsOnEClass = createEClass( DEPENDS_ON ); createEReference( dependsOnEClass, DEPENDS_ON__NS ); + createEReference( dependsOnEClass, DEPENDS_ON__REFERS_TO_NS ); documentRootEClass = createEClass( DOCUMENT_ROOT ); createEAttribute( documentRootEClass, DOCUMENT_ROOT__MIXED ); @@ -3386,10 +3455,13 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { abstractLNClassEClass = createEClass( ABSTRACT_LN_CLASS ); createEAttribute( abstractLNClassEClass, ABSTRACT_LN_CLASS__NAME ); createEReference( abstractLNClassEClass, ABSTRACT_LN_CLASS__LN_CLASSES ); + createEReference( abstractLNClassEClass, ABSTRACT_LN_CLASS__REFERRED_BY_ANY_LN_CLASS ); anyLNClassEClass = createEClass( ANY_LN_CLASS ); createEReference( anyLNClassEClass, ANY_LN_CLASS__DATA_OBJECT ); createEAttribute( anyLNClassEClass, ANY_LN_CLASS__BASE ); + createEReference( anyLNClassEClass, ANY_LN_CLASS__REFERS_TO_ABSTRACT_LN_CLASS ); + createEOperation( anyLNClassEClass, ANY_LN_CLASS___GET_NAME ); applicableServiceNSEClass = createEClass( APPLICABLE_SERVICE_NS ); createEReference( applicableServiceNSEClass, APPLICABLE_SERVICE_NS__SERVICE_NS_USAGE ); @@ -3539,6 +3611,7 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { createEReference( nsEClass, NS__CONSTRUCTED_ATTRIBUTES ); createEReference( nsEClass, NS__CD_CS ); createEReference( nsEClass, NS__LN_CLASSES ); + createEReference( nsEClass, NS__REFERRED_BY_DEPENDS_ON ); nsDocEClass = createEClass( NS_DOC ); createEReference( nsDocEClass, NS_DOC__DOC ); @@ -3616,7 +3689,7 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { nsdObjectEClass = createEClass( NSD_OBJECT ); createEAttribute( nsdObjectEClass, NSD_OBJECT__LINE_NUMBER ); - createEOperation( nsdObjectEClass, NSD_OBJECT___BUILD_EXPLICIT_LINKS ); + createEOperation( nsdObjectEClass, NSD_OBJECT___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE ); agNSIdentificationEClass = createEClass( AG_NS_IDENTIFICATION ); createEAttribute( agNSIdentificationEClass, AG_NS_IDENTIFICATION__RELEASE ); @@ -3669,6 +3742,8 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { agNSdescEClass = createEClass( AG_NSDESC ); createEAttribute( agNSdescEClass, AG_NSDESC__DESC_ID ); + iRiseClipseConsoleEClass = createEClass( IRISE_CLIPSE_CONSOLE ); + // Create enums acsiServicesKindEEnum = createEEnum( ACSI_SERVICES_KIND ); cbKindEEnum = createEEnum( CB_KIND ); @@ -3719,8 +3794,9 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { // Set bounds for type parameters // Add supertypes to classes - appliesToTypeEClass.getESuperTypes().add( this.getAgNSIdentification() ); appliesToTypeEClass.getESuperTypes().add( this.getNsdObject() ); + appliesToTypeEClass.getESuperTypes().add( this.getAgNSIdentification() ); + dependsOnEClass.getESuperTypes().add( this.getNsdObject() ); dependsOnEClass.getESuperTypes().add( this.getAgNSIdentification() ); serviceTypeEClass.getESuperTypes().add( this.getNsdObject() ); abbreviationEClass.getESuperTypes().add( this.getNsdObject() ); @@ -3808,6 +3884,9 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { initEReference( getDependsOn_NS(), this.getNS(), this.getNS_DependsOn(), "nS", null, 0, 1, DependsOn.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); + initEReference( getDependsOn_RefersToNS(), this.getNS(), this.getNS_ReferredByDependsOn(), "refersToNS", null, + 0, 1, DependsOn.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, + IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); initEClass( documentRootEClass, DocumentRoot.class, "DocumentRoot", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS ); @@ -3870,6 +3949,10 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { initEReference( getAbstractLNClass_LNClasses(), this.getLNClasses(), this.getLNClasses_AbstractLNClass(), "lNClasses", null, 0, 1, AbstractLNClass.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); + initEReference( getAbstractLNClass_ReferredByAnyLNClass(), this.getAnyLNClass(), + this.getAnyLNClass_RefersToAbstractLNClass(), "referredByAnyLNClass", null, 0, -1, + AbstractLNClass.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, + IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); initEClass( anyLNClassEClass, AnyLNClass.class, "AnyLNClass", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS ); @@ -3878,6 +3961,13 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); initEAttribute( getAnyLNClass_Base(), ecorePackage.getEString(), "base", null, 0, 1, AnyLNClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); + initEReference( getAnyLNClass_RefersToAbstractLNClass(), this.getAbstractLNClass(), + this.getAbstractLNClass_ReferredByAnyLNClass(), "refersToAbstractLNClass", null, 0, 1, AnyLNClass.class, + IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, + !IS_DERIVED, !IS_ORDERED ); + + initEOperation( getAnyLNClass__GetName(), theXMLTypePackage.getString(), "getName", 0, 1, IS_UNIQUE, + IS_ORDERED ); initEClass( applicableServiceNSEClass, ApplicableServiceNS.class, "ApplicableServiceNS", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS ); @@ -4235,6 +4325,10 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { initEReference( getNS_LNClasses(), this.getLNClasses(), this.getLNClasses_NS(), "lNClasses", null, 0, 1, fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); + initEReference( getNS_ReferredByDependsOn(), this.getDependsOn(), this.getDependsOn_RefersToNS(), + "referredByDependsOn", null, 0, -1, fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS.class, + IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, + !IS_DERIVED, !IS_ORDERED ); initEClass( nsDocEClass, NSDoc.class, "NSDoc", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS ); initEReference( getNSDoc_Doc(), this.getDoc(), this.getDoc_NSDoc(), "doc", null, 0, -1, NSDoc.class, @@ -4422,7 +4516,9 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { initEAttribute( getNsdObject_LineNumber(), ecorePackage.getEInt(), "lineNumber", "-1", 1, 1, NsdObject.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); - initEOperation( getNsdObject__BuildExplicitLinks(), null, "buildExplicitLinks", 0, 1, IS_UNIQUE, IS_ORDERED ); + EOperation op = initEOperation( getNsdObject__BuildExplicitLinks__IRiseClipseConsole(), null, + "buildExplicitLinks", 0, 1, IS_UNIQUE, IS_ORDERED ); + addEParameter( op, this.getIRiseClipseConsole(), "console", 0, 1, IS_UNIQUE, IS_ORDERED ); initEClass( agNSIdentificationEClass, AgNSIdentification.class, "AgNSIdentification", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS ); @@ -4526,6 +4622,9 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { initEAttribute( getAgNSdesc_DescID(), ecorePackage.getEString(), "descID", null, 0, 1, AgNSdesc.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); + initEClass( iRiseClipseConsoleEClass, IRiseClipseConsole.class, "IRiseClipseConsole", IS_ABSTRACT, IS_INTERFACE, + !IS_GENERATED_INSTANCE_CLASS ); + // Initialize enums and add enum literals initEEnum( acsiServicesKindEEnum, ACSIServicesKind.class, "ACSIServicesKind" ); addEEnumLiteral( acsiServicesKindEEnum, ACSIServicesKind.ASSOCIATE ); diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/util/NsdAdapterFactory.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/util/NsdAdapterFactory.java index 0a2fe0264453ea6de40789ac7a39e41c335b999b..1b40e9d7c61de43b7e27de577e950791980b41d9 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/util/NsdAdapterFactory.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/util/NsdAdapterFactory.java @@ -21,6 +21,7 @@ package fr.centralesupelec.edf.riseclipse.iec61850.nsd.util; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.*; +import fr.centralesupelec.edf.riseclipse.util.IRiseClipseConsole; import org.eclipse.emf.common.notify.Adapter; import org.eclipse.emf.common.notify.Notifier; @@ -383,6 +384,11 @@ public class NsdAdapterFactory extends AdapterFactoryImpl { return createAgNSdescAdapter(); } + @Override + public Adapter caseIRiseClipseConsole( IRiseClipseConsole object ) { + return createIRiseClipseConsoleAdapter(); + } + @Override public Adapter defaultCase( EObject object ) { return createEObjectAdapter(); @@ -1242,6 +1248,20 @@ public class NsdAdapterFactory extends AdapterFactoryImpl { return null; } + /** + * Creates a new adapter for an object of class '{@link fr.centralesupelec.edf.riseclipse.util.IRiseClipseConsole <em>IRise Clipse Console</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see fr.centralesupelec.edf.riseclipse.util.IRiseClipseConsole + * @generated + */ + public Adapter createIRiseClipseConsoleAdapter() { + return null; + } + /** * Creates a new adapter for the default case. * <!-- begin-user-doc --> diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/util/NsdResourceSetImpl.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/util/NsdResourceSetImpl.java index c13261f0aed48e934a090553518ad67ec8be39e2..a6627b621780992b141ecf03f96413e74f1f7e55 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/util/NsdResourceSetImpl.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/util/NsdResourceSetImpl.java @@ -29,16 +29,17 @@ import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.DocumentRoot; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS; import fr.centralesupelec.edf.riseclipse.util.AbstractRiseClipseConsole; +import fr.centralesupelec.edf.riseclipse.util.IRiseClipseConsole; public class NsdResourceSetImpl extends ResourceSetImpl { - private Map< String, NsdResourceImpl > nsdResources; + private Map< String, NS > nsdResources; public NsdResourceSetImpl() { super(); - nsdResources = new HashMap< String, NsdResourceImpl >(); + nsdResources = new HashMap< String, NS >(); } @Override @@ -67,7 +68,7 @@ public class NsdResourceSetImpl extends ResourceSetImpl { this.getResources().remove( resource ); return; } - nsdResources.put( ns.getId(), ( NsdResourceImpl ) resource ); + nsdResources.put( ns.getId(), ns ); } /* @@ -144,8 +145,8 @@ public class NsdResourceSetImpl extends ResourceSetImpl { * * * The following links are implicit: - * DependsOn.id -> NS.id - * AnyLNClass.base -> AbstractLNClass + * DependsOn.id -> NS.id DONE + * AnyLNClass.base -> AbstractLNClass DONE * DataObject.type -> CDC.name * DataObject.presCond -> PresenceCondition.name * DataObject.dsPresCond -> PresenceCondition.name @@ -169,9 +170,17 @@ public class NsdResourceSetImpl extends ResourceSetImpl { * ServiceTypeRealization.fc -> FunctionalConstraint.abbreviation ? ServiceTypeRealization is not a name of a type but a name of a refence * ServiceTypeRealization.presCond -> PresenceCondition.name ? idem */ - public void createExplicitLinks() { - //for( resource : get) + public void buildExplicitLinks( IRiseClipseConsole console ) { + for( Resource resource : getResources() ) { + DocumentRoot root = (DocumentRoot) resource.getContents().get( 0 ); + NS ns = ( NS ) root.getNS(); + ns.buildExplicitLinks( console ); + } } + public NS getNS( String id ) { + return nsdResources.get( id ); + } + } diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/util/NsdSwitch.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/util/NsdSwitch.java index ade822b8c80e5a9e57a6bae6ae673923e3f93e07..98ad8b816701fed2fce920c263727e5eeb9e3c14 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/util/NsdSwitch.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/util/NsdSwitch.java @@ -21,6 +21,7 @@ package fr.centralesupelec.edf.riseclipse.iec61850.nsd.util; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.*; +import fr.centralesupelec.edf.riseclipse.util.IRiseClipseConsole; import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.EPackage; @@ -86,14 +87,15 @@ public class NsdSwitch< T > extends Switch< T > { case NsdPackage.APPLIES_TO_TYPE: { AppliesToType appliesToType = ( AppliesToType ) theEObject; T result = caseAppliesToType( appliesToType ); - if( result == null ) result = caseAgNSIdentification( appliesToType ); if( result == null ) result = caseNsdObject( appliesToType ); + if( result == null ) result = caseAgNSIdentification( appliesToType ); if( result == null ) result = defaultCase( theEObject ); return result; } case NsdPackage.DEPENDS_ON: { DependsOn dependsOn = ( DependsOn ) theEObject; T result = caseDependsOn( dependsOn ); + if( result == null ) result = caseNsdObject( dependsOn ); if( result == null ) result = caseAgNSIdentification( dependsOn ); if( result == null ) result = defaultCase( theEObject ); return result; @@ -551,6 +553,12 @@ public class NsdSwitch< T > extends Switch< T > { if( result == null ) result = defaultCase( theEObject ); return result; } + case NsdPackage.IRISE_CLIPSE_CONSOLE: { + IRiseClipseConsole iRiseClipseConsole = ( IRiseClipseConsole ) theEObject; + T result = caseIRiseClipseConsole( iRiseClipseConsole ); + if( result == null ) result = defaultCase( theEObject ); + return result; + } default: return defaultCase( theEObject ); } @@ -1456,6 +1464,21 @@ public class NsdSwitch< T > extends Switch< T > { return null; } + /** + * Returns the result of interpreting the object as an instance of '<em>IRise Clipse Console</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>IRise Clipse Console</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseIRiseClipseConsole( IRiseClipseConsole object ) { + return null; + } + /** * Returns the result of interpreting the object as an instance of '<em>EObject</em>'. * <!-- begin-user-doc --> diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/util/NsdValidator.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/util/NsdValidator.java index df407f5e02a869f35f6a1b2a182d569897102683..ce713aa08dec8bc3e180ec8d9db8c5d698ada89d 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/util/NsdValidator.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/util/NsdValidator.java @@ -21,6 +21,7 @@ package fr.centralesupelec.edf.riseclipse.iec61850.nsd.util; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.*; +import fr.centralesupelec.edf.riseclipse.util.IRiseClipseConsole; import java.util.Map; import org.eclipse.emf.common.util.BasicDiagnostic; @@ -29,6 +30,7 @@ import org.eclipse.emf.common.util.DiagnosticChain; import org.eclipse.emf.common.util.Enumerator; import org.eclipse.emf.common.util.ResourceLocator; +import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.EPackage; import org.eclipse.emf.ecore.util.EObjectValidator; @@ -227,6 +229,8 @@ public class NsdValidator extends EObjectValidator { return validateAgUML( ( AgUML ) value, diagnostics, context ); case NsdPackage.AG_NSDESC: return validateAgNSdesc( ( AgNSdesc ) value, diagnostics, context ); + case NsdPackage.IRISE_CLIPSE_CONSOLE: + return validateIRiseClipseConsole( ( IRiseClipseConsole ) value, diagnostics, context ); case NsdPackage.ACSI_SERVICES_KIND: return validateACSIServicesKind( ( ACSIServicesKind ) value, diagnostics, context ); case NsdPackage.CB_KIND: @@ -846,6 +850,16 @@ public class NsdValidator extends EObjectValidator { return validate_EveryDefaultConstraint( agNSdesc, diagnostics, context ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean validateIRiseClipseConsole( IRiseClipseConsole iRiseClipseConsole, DiagnosticChain diagnostics, + Map< Object, Object > context ) { + return validate_EveryDefaultConstraint( ( EObject ) iRiseClipseConsole, diagnostics, context ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc -->