diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/.classpath b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/.classpath
new file mode 100644
index 0000000000000000000000000000000000000000..22f30643cba38503dfc820a64bc4225fd8c743ba
--- /dev/null
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/.classpath
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/.project b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/.project
new file mode 100644
index 0000000000000000000000000000000000000000..4be95a5053c984436b01374714d4b8b7e57cbf3c
--- /dev/null
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/.project
@@ -0,0 +1,28 @@
+
+
+ fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+ org.eclipse.pde.ManifestBuilder
+
+
+
+
+ org.eclipse.pde.SchemaBuilder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+ org.eclipse.pde.PluginNature
+
+
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/META-INF/MANIFEST.MF b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/META-INF/MANIFEST.MF
new file mode 100644
index 0000000000000000000000000000000000000000..c61043e991ee0ad6910eb5f53452cb67d7e54f13
--- /dev/null
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/META-INF/MANIFEST.MF
@@ -0,0 +1,16 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit;singleton:=true
+Automatic-Module-Name: fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit
+Bundle-Version: 1.0.0.qualifier
+Bundle-ClassPath: .
+Bundle-Activator: fr.centralesupelec.edf.riseclipse.iec61850.nsd.provider.NSDEditPlugin$Implementation
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Export-Package: fr.centralesupelec.edf.riseclipse.iec61850.nsd.provider
+Require-Bundle: org.eclipse.core.runtime,
+ fr.centralesupelec.edf.riseclipse.iec61850.nsd;visibility:=reexport,
+ org.eclipse.emf.edit;visibility:=reexport
+Bundle-ActivationPolicy: lazy
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/build.properties b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/build.properties
new file mode 100644
index 0000000000000000000000000000000000000000..ed85e02f345262c32053c491e5423d60edb0b486
--- /dev/null
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/build.properties
@@ -0,0 +1,26 @@
+# Copyright (c) 2019 CentraleSupélec & EDF.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# This file is part of the RiseClipse tool
+#
+# Contributors:
+# Computer Science Department, CentraleSupélec
+# EDF R&D
+# Contacts:
+# dominique.marcadet@centralesupelec.fr
+# aurelie.dehouck-neveu@edf.fr
+# Web site:
+# http://wdi.supelec.fr/software/RiseClipse/
+#
+
+bin.includes = .,\
+ icons/,\
+ META-INF/,\
+ plugin.xml,\
+ plugin.properties
+jars.compile.order = .
+source.. = src/
+output.. = bin/
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateDocumentRoot_applicableServiceNS_TApplicableServiceNS.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateDocumentRoot_applicableServiceNS_TApplicableServiceNS.gif
new file mode 100644
index 0000000000000000000000000000000000000000..464e623af1bec3cb9169427f8df20d5108dce5cc
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateDocumentRoot_applicableServiceNS_TApplicableServiceNS.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateDocumentRoot_copyright_TCopyrightNotice.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateDocumentRoot_copyright_TCopyrightNotice.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f9be6da8f0d6f383d1c7bd8399c52a2ae1471218
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateDocumentRoot_copyright_TCopyrightNotice.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateDocumentRoot_nSDoc_TNSDoc.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateDocumentRoot_nSDoc_TNSDoc.gif
new file mode 100644
index 0000000000000000000000000000000000000000..4ce1821708002471aeef8f03b62ff111d81b2a59
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateDocumentRoot_nSDoc_TNSDoc.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateDocumentRoot_nS_TNS.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateDocumentRoot_nS_TNS.gif
new file mode 100644
index 0000000000000000000000000000000000000000..5b78080875cb046770b6a0b2b5dc9fde9bbab56f
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateDocumentRoot_nS_TNS.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateDocumentRoot_serviceNS_TServiceNS.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateDocumentRoot_serviceNS_TServiceNS.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1f8189adbeb9c651b1e073744529291b07715292
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateDocumentRoot_serviceNS_TServiceNS.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTAbbreviations_abbreviation_TAbbreviation.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTAbbreviations_abbreviation_TAbbreviation.gif
new file mode 100644
index 0000000000000000000000000000000000000000..75a50e9797168d949d43c084a8e0f538ce52f9b9
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTAbbreviations_abbreviation_TAbbreviation.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTAnyLNClass_dataObject_TDataObject.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTAnyLNClass_dataObject_TDataObject.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d203b1d7444ad06025851896742ad53ab23a52dd
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTAnyLNClass_dataObject_TDataObject.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTApplicableServiceNS_serviceNsUsage_TServiceNsUsage.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTApplicableServiceNS_serviceNsUsage_TServiceNsUsage.gif
new file mode 100644
index 0000000000000000000000000000000000000000..50ac6daf7ed170da8972dc9b878bc21df67ed47a
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTApplicableServiceNS_serviceNsUsage_TServiceNsUsage.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTApplicableServices_dataSetMemberOf_TDataSetMemberOf.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTApplicableServices_dataSetMemberOf_TDataSetMemberOf.gif
new file mode 100644
index 0000000000000000000000000000000000000000..bf56763cd023ae9231705dcef6b7370ce9620ae6
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTApplicableServices_dataSetMemberOf_TDataSetMemberOf.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTApplicableServices_service_ServiceType.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTApplicableServices_service_ServiceType.gif
new file mode 100644
index 0000000000000000000000000000000000000000..bf56763cd023ae9231705dcef6b7370ce9620ae6
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTApplicableServices_service_ServiceType.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTBasicTypes_basicType_TBasicType.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTBasicTypes_basicType_TBasicType.gif
new file mode 100644
index 0000000000000000000000000000000000000000..b33e855fc39f163d653d09adfa309e59712913c9
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTBasicTypes_basicType_TBasicType.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTCDC_dataAttribute_TDataAttribute.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTCDC_dataAttribute_TDataAttribute.gif
new file mode 100644
index 0000000000000000000000000000000000000000..b6a1aceeddbe006c82b5f3102376e47cd6e7eb6f
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTCDC_dataAttribute_TDataAttribute.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTCDC_serviceParameter_TServiceParameter.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTCDC_serviceParameter_TServiceParameter.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f9e5fa823dae523cbf28d74b8e4f586df9098150
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTCDC_serviceParameter_TServiceParameter.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTCDC_subDataObject_TSubDataObject.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTCDC_subDataObject_TSubDataObject.gif
new file mode 100644
index 0000000000000000000000000000000000000000..ed16f99f0c22fe084d0c13b73f0a76558e4187b4
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTCDC_subDataObject_TSubDataObject.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTCDCs_cDC_TCDC.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTCDCs_cDC_TCDC.gif
new file mode 100644
index 0000000000000000000000000000000000000000..5766979ace0102112fd64e06602aefa40fdbcce8
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTCDCs_cDC_TCDC.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTConstructedAttribute_subDataAttribute_TSubDataAttribute.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTConstructedAttribute_subDataAttribute_TSubDataAttribute.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c85d5ad3a7e887b2da130c7e2efb426a8d7e64ed
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTConstructedAttribute_subDataAttribute_TSubDataAttribute.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTConstructedAttributes_constructedAttribute_TConstructedAttribute.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTConstructedAttributes_constructedAttribute_TConstructedAttribute.gif
new file mode 100644
index 0000000000000000000000000000000000000000..589ded3dfbde2368c1de8f9c11b19ace32d6ee81
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTConstructedAttributes_constructedAttribute_TConstructedAttribute.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTConstructedAttributes_constructedAttribute_TServiceConstructedAttribute.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTConstructedAttributes_constructedAttribute_TServiceConstructedAttribute.gif
new file mode 100644
index 0000000000000000000000000000000000000000..289eb8bf3851a5a2b39203366e46e4533a5cb076
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTConstructedAttributes_constructedAttribute_TServiceConstructedAttribute.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTCopyrightNotice_license_TLicense.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTCopyrightNotice_license_TLicense.gif
new file mode 100644
index 0000000000000000000000000000000000000000..4c7f166dc4cbbbe39079f159ed44cfce8f1d9222
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTCopyrightNotice_license_TLicense.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTCopyrightNotice_notice_TNotice.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTCopyrightNotice_notice_TNotice.gif
new file mode 100644
index 0000000000000000000000000000000000000000..07adaab9f3a18020b0770b8d7bb1244b28cdd8de
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTCopyrightNotice_notice_TNotice.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTCopyrighted_copyright_TCopyrightNotice.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTCopyrighted_copyright_TCopyrightNotice.gif
new file mode 100644
index 0000000000000000000000000000000000000000..05dffc0a5ca466028783f0ab8ede814763b8e6fe
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTCopyrighted_copyright_TCopyrightNotice.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTEnumeration_literal_TLiteral.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTEnumeration_literal_TLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..b3a2d022b7a46d296ae303203809034de9c205bc
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTEnumeration_literal_TLiteral.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTEnumerations_enumeration_TEnumeration.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTEnumerations_enumeration_TEnumeration.gif
new file mode 100644
index 0000000000000000000000000000000000000000..73486a0c2db1f4a597d1e68276beb0b0ed7e80d8
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTEnumerations_enumeration_TEnumeration.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTFunctionalConstraint_applicableServices_TApplicableServices.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTFunctionalConstraint_applicableServices_TApplicableServices.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1edc5b9b23cf1c2c9ce8f303fec3cf3f94cf6bc4
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTFunctionalConstraint_applicableServices_TApplicableServices.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTFunctionalConstraints_functionalConstraint_TFunctionalConstraint.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTFunctionalConstraints_functionalConstraint_TFunctionalConstraint.gif
new file mode 100644
index 0000000000000000000000000000000000000000..75a50e9797168d949d43c084a8e0f538ce52f9b9
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTFunctionalConstraints_functionalConstraint_TFunctionalConstraint.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTLNClasses_abstractLNClass_TAbstractLNClass.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTLNClasses_abstractLNClass_TAbstractLNClass.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d847f1b240113c9afb29e93e8c81445440b808e0
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTLNClasses_abstractLNClass_TAbstractLNClass.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTLNClasses_lNClass_TLNClass.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTLNClasses_lNClass_TLNClass.gif
new file mode 100644
index 0000000000000000000000000000000000000000..e83e884daab92968f0214de522f83757650c1b47
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTLNClasses_lNClass_TLNClass.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTNSDoc_doc_TDoc.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTNSDoc_doc_TDoc.gif
new file mode 100644
index 0000000000000000000000000000000000000000..fc17ce1f3934e33bc78e9dc80b93d8e8a0038f3a
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTNSDoc_doc_TDoc.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTNS_abbreviations_TAbbreviations.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTNS_abbreviations_TAbbreviations.gif
new file mode 100644
index 0000000000000000000000000000000000000000..5a593b6190f37120215dcb71123289cd6ff9ab8d
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTNS_abbreviations_TAbbreviations.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTNS_basicTypes_TBasicTypes.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTNS_basicTypes_TBasicTypes.gif
new file mode 100644
index 0000000000000000000000000000000000000000..b82fff7ab452de12a3842b56e606fcd22deafa3a
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTNS_basicTypes_TBasicTypes.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTNS_cDCs_TCDCs.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTNS_cDCs_TCDCs.gif
new file mode 100644
index 0000000000000000000000000000000000000000..247671fa2f2b04669c256db7a7ac4698521f6e46
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTNS_cDCs_TCDCs.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTNS_changes_TChanges.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTNS_changes_TChanges.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d192e7c2c0b12086b8e19647ddc82bd559196f52
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTNS_changes_TChanges.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTNS_constructedAttributes_TConstructedAttributes.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTNS_constructedAttributes_TConstructedAttributes.gif
new file mode 100644
index 0000000000000000000000000000000000000000..32f857fd43dadcf04d3ac028b425a621cbf1b67a
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTNS_constructedAttributes_TConstructedAttributes.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTNS_dependsOn_DependsOnType.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTNS_dependsOn_DependsOnType.gif
new file mode 100644
index 0000000000000000000000000000000000000000..db2e9afd1d66186807006c834e5120dd29a2064c
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTNS_dependsOn_DependsOnType.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTNS_enumerations_TEnumerations.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTNS_enumerations_TEnumerations.gif
new file mode 100644
index 0000000000000000000000000000000000000000..e22c7e4cc469d050c527b7643d63ab6e7f2ff0f5
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTNS_enumerations_TEnumerations.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTNS_functionalConstraints_TFunctionalConstraints.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTNS_functionalConstraints_TFunctionalConstraints.gif
new file mode 100644
index 0000000000000000000000000000000000000000..5a593b6190f37120215dcb71123289cd6ff9ab8d
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTNS_functionalConstraints_TFunctionalConstraints.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTNS_lNClasses_TLNClasses.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTNS_lNClasses_TLNClasses.gif
new file mode 100644
index 0000000000000000000000000000000000000000..414b3c5f11aab7ab69c04c20eefacbe1a9f05513
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTNS_lNClasses_TLNClasses.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTNS_presenceConditions_TPresenceConditions.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTNS_presenceConditions_TPresenceConditions.gif
new file mode 100644
index 0000000000000000000000000000000000000000..73486a0c2db1f4a597d1e68276beb0b0ed7e80d8
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTNS_presenceConditions_TPresenceConditions.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTPresenceConditions_presenceCondition_TPresenceCondition.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTPresenceConditions_presenceCondition_TPresenceCondition.gif
new file mode 100644
index 0000000000000000000000000000000000000000..65e9a41807f7a448b15e2b038cb1af59ac7b000e
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTPresenceConditions_presenceCondition_TPresenceCondition.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTServiceCDC_serviceDataAttribute_TServiceDataAttribute.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTServiceCDC_serviceDataAttribute_TServiceDataAttribute.gif
new file mode 100644
index 0000000000000000000000000000000000000000..4ca2167bf6fdc7a61cc9f9326051d70aa10773a4
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTServiceCDC_serviceDataAttribute_TServiceDataAttribute.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTServiceCDCs_serviceCDC_TServiceCDC.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTServiceCDCs_serviceCDC_TServiceCDC.gif
new file mode 100644
index 0000000000000000000000000000000000000000..6f2bb5e61f432b92a53f0bfe469e6d226a542650
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTServiceCDCs_serviceCDC_TServiceCDC.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTServiceConstructedAttributes_serviceConstructedAttribute_TServiceConstructedAttribute.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTServiceConstructedAttributes_serviceConstructedAttribute_TServiceConstructedAttribute.gif
new file mode 100644
index 0000000000000000000000000000000000000000..fe9abb249374273fa38884b03394592ebfadaa78
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTServiceConstructedAttributes_serviceConstructedAttribute_TServiceConstructedAttribute.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTServiceNS_abbreviations_TAbbreviations.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTServiceNS_abbreviations_TAbbreviations.gif
new file mode 100644
index 0000000000000000000000000000000000000000..74f7ceb34b938a5d45117b8b00f03c067b4a51a8
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTServiceNS_abbreviations_TAbbreviations.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTServiceNS_changes_TChanges.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTServiceNS_changes_TChanges.gif
new file mode 100644
index 0000000000000000000000000000000000000000..9b19f705944427e17a1e9dcb69b79d3466837f80
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTServiceNS_changes_TChanges.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTServiceNS_functionalConstraints_TFunctionalConstraints.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTServiceNS_functionalConstraints_TFunctionalConstraints.gif
new file mode 100644
index 0000000000000000000000000000000000000000..74f7ceb34b938a5d45117b8b00f03c067b4a51a8
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTServiceNS_functionalConstraints_TFunctionalConstraints.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTServiceNS_presenceConditions_TPresenceConditions.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTServiceNS_presenceConditions_TPresenceConditions.gif
new file mode 100644
index 0000000000000000000000000000000000000000..89d8767bf56c38fd34720d1577c45b61dc8817ca
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTServiceNS_presenceConditions_TPresenceConditions.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTServiceNS_serviceCDCs_TServiceCDCs.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTServiceNS_serviceCDCs_TServiceCDCs.gif
new file mode 100644
index 0000000000000000000000000000000000000000..04aab9257b410114d814aa6c4591dbf71f20b349
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTServiceNS_serviceCDCs_TServiceCDCs.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTServiceNS_serviceConstructedAttributes_TServiceConstructedAttributes.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTServiceNS_serviceConstructedAttributes_TServiceConstructedAttributes.gif
new file mode 100644
index 0000000000000000000000000000000000000000..9231d350a3d9e5357f17fb8203c0a0f4e8644f0e
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTServiceNS_serviceConstructedAttributes_TServiceConstructedAttributes.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTServiceNS_serviceTypeRealizations_TServiceTypeRealizations.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTServiceNS_serviceTypeRealizations_TServiceTypeRealizations.gif
new file mode 100644
index 0000000000000000000000000000000000000000..381214b7725a0ba12c093604e1b4bf4c563cc604
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTServiceNS_serviceTypeRealizations_TServiceTypeRealizations.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTServiceNsUsage_appliesTo_AppliesToType.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTServiceNsUsage_appliesTo_AppliesToType.gif
new file mode 100644
index 0000000000000000000000000000000000000000..9402ae7ef37fcb66d6a5e014ef7c43a11b5d062c
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTServiceNsUsage_appliesTo_AppliesToType.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTServiceTypeRealizations_serviceTypeRealization_TConstructedAttribute.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTServiceTypeRealizations_serviceTypeRealization_TConstructedAttribute.gif
new file mode 100644
index 0000000000000000000000000000000000000000..e9245bcdf6ce78f567069d1828d7daae12c2b8c6
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTServiceTypeRealizations_serviceTypeRealization_TConstructedAttribute.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTServiceTypeRealizations_serviceTypeRealization_TServiceConstructedAttribute.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTServiceTypeRealizations_serviceTypeRealization_TServiceConstructedAttribute.gif
new file mode 100644
index 0000000000000000000000000000000000000000..420dc70ca847db12046841705530d67cf1036d9f
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateTServiceTypeRealizations_serviceTypeRealization_TServiceConstructedAttribute.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/AppliesToType.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/AppliesToType.gif
new file mode 100644
index 0000000000000000000000000000000000000000..9250fecbffd185d174d53f6b7ea979f63ce222d2
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/AppliesToType.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/DependsOnType.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/DependsOnType.gif
new file mode 100644
index 0000000000000000000000000000000000000000..45731fe28e7e3521c15328ef201d58b47a13b383
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/DependsOnType.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/DocumentRoot.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/DocumentRoot.gif
new file mode 100644
index 0000000000000000000000000000000000000000..739ebbfa6ac7b44cc1632663c006f47e20f05127
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/DocumentRoot.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/ServiceType.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/ServiceType.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c8d381f0b327e1289745a7e8ea72b5cc7b782bfe
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/ServiceType.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TAbbreviation.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TAbbreviation.gif
new file mode 100644
index 0000000000000000000000000000000000000000..904159880b359f157463f3cb9230da602e5b3d3a
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TAbbreviation.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TAbbreviations.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TAbbreviations.gif
new file mode 100644
index 0000000000000000000000000000000000000000..739ebbfa6ac7b44cc1632663c006f47e20f05127
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TAbbreviations.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TAbstractLNClass.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TAbstractLNClass.gif
new file mode 100644
index 0000000000000000000000000000000000000000..498364f1c1ae0e61f26b0063dea3a1606959210e
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TAbstractLNClass.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TApplicableServiceNS.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TApplicableServiceNS.gif
new file mode 100644
index 0000000000000000000000000000000000000000..7b7c428c715e615c179d42a8462ee953741414d4
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TApplicableServiceNS.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TApplicableServices.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TApplicableServices.gif
new file mode 100644
index 0000000000000000000000000000000000000000..cdd3b76e3c0b3318166d84292d8d9e2146a48aa1
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TApplicableServices.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TBasicType.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TBasicType.gif
new file mode 100644
index 0000000000000000000000000000000000000000..4365960a04b1589a21b7607f45f9b5907e2f01a8
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TBasicType.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TBasicTypes.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TBasicTypes.gif
new file mode 100644
index 0000000000000000000000000000000000000000..7bac4fd3808df6247660dfb8d76e15609f279841
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TBasicTypes.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TCDC.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TCDC.gif
new file mode 100644
index 0000000000000000000000000000000000000000..cdd3b76e3c0b3318166d84292d8d9e2146a48aa1
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TCDC.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TCDCs.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TCDCs.gif
new file mode 100644
index 0000000000000000000000000000000000000000..05dc74ad5da0d7b040b29537d5b24f2b120b11d5
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TCDCs.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TChanges.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TChanges.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a26660ec28fda4a4216562537c32047bab42b782
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TChanges.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TConstructedAttribute.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TConstructedAttribute.gif
new file mode 100644
index 0000000000000000000000000000000000000000..83afb9b3c9a3c3e261dd043d2232d39254ac8e4a
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TConstructedAttribute.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TConstructedAttributes.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TConstructedAttributes.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c3370c7ddd5e0817a59de6fd45ad0993b52abe28
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TConstructedAttributes.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TCopyrightNotice.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TCopyrightNotice.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a26660ec28fda4a4216562537c32047bab42b782
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TCopyrightNotice.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TCopyrighted.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TCopyrighted.gif
new file mode 100644
index 0000000000000000000000000000000000000000..9250fecbffd185d174d53f6b7ea979f63ce222d2
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TCopyrighted.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TDataAttribute.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TDataAttribute.gif
new file mode 100644
index 0000000000000000000000000000000000000000..420eee177528d9bd6d862c38d2a66c14835a6140
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TDataAttribute.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TDataObject.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TDataObject.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a17dc7d88e993e89a1d5f913ddfab16b1676c5bb
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TDataObject.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TDataSetMemberOf.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TDataSetMemberOf.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c8d381f0b327e1289745a7e8ea72b5cc7b782bfe
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TDataSetMemberOf.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TDoc.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TDoc.gif
new file mode 100644
index 0000000000000000000000000000000000000000..134551bff7eb3f0beb14a6c4a270a2a94f782ec5
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TDoc.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TDocumentedClass.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TDocumentedClass.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d92f34c8aea721c98537ccb1f4da29bdee3b8912
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TDocumentedClass.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TEnumeration.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TEnumeration.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d3dc5a9ad8159548d5ada4a1cd545ec1d4de029c
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TEnumeration.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TEnumerations.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TEnumerations.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1e5345fb3237c2f6eabcee2dbe44a371b49d8379
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TEnumerations.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TFunctionalConstraint.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TFunctionalConstraint.gif
new file mode 100644
index 0000000000000000000000000000000000000000..904159880b359f157463f3cb9230da602e5b3d3a
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TFunctionalConstraint.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TFunctionalConstraints.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TFunctionalConstraints.gif
new file mode 100644
index 0000000000000000000000000000000000000000..739ebbfa6ac7b44cc1632663c006f47e20f05127
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TFunctionalConstraints.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TLNClass.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TLNClass.gif
new file mode 100644
index 0000000000000000000000000000000000000000..53500daf98e17bc98acd04b14eb7b16938ceb4dd
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TLNClass.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TLNClasses.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TLNClasses.gif
new file mode 100644
index 0000000000000000000000000000000000000000..89ad5da38ab3060f14ba925b1251bd5cb8454012
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TLNClasses.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TLicense.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TLicense.gif
new file mode 100644
index 0000000000000000000000000000000000000000..420eee177528d9bd6d862c38d2a66c14835a6140
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TLicense.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TLiteral.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..53500daf98e17bc98acd04b14eb7b16938ceb4dd
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TLiteral.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TNS.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TNS.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1e5345fb3237c2f6eabcee2dbe44a371b49d8379
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TNS.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TNSDoc.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TNSDoc.gif
new file mode 100644
index 0000000000000000000000000000000000000000..89ad5da38ab3060f14ba925b1251bd5cb8454012
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TNSDoc.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TNotice.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TNotice.gif
new file mode 100644
index 0000000000000000000000000000000000000000..48e3cf2268736efbb8bc3c5bd29315702f2b38c4
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TNotice.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TPresenceCondition.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TPresenceCondition.gif
new file mode 100644
index 0000000000000000000000000000000000000000..45731fe28e7e3521c15328ef201d58b47a13b383
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TPresenceCondition.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TPresenceConditions.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TPresenceConditions.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d3dc5a9ad8159548d5ada4a1cd545ec1d4de029c
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TPresenceConditions.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TServiceCDC.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TServiceCDC.gif
new file mode 100644
index 0000000000000000000000000000000000000000..10d222998af0a3a571390bae7e117c9964ec1562
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TServiceCDC.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TServiceCDCs.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TServiceCDCs.gif
new file mode 100644
index 0000000000000000000000000000000000000000..106881e5d9bf05cb0cf3375cfd102e8039b8ace9
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TServiceCDCs.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TServiceConstructedAttribute.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TServiceConstructedAttribute.gif
new file mode 100644
index 0000000000000000000000000000000000000000..afb82ea48a50d3fb875ce03cf0ec154e51c97cb7
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TServiceConstructedAttribute.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TServiceConstructedAttributes.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TServiceConstructedAttributes.gif
new file mode 100644
index 0000000000000000000000000000000000000000..33a997a1606acf7cb8a32921faeee1e5c809a0cb
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TServiceConstructedAttributes.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TServiceDataAttribute.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TServiceDataAttribute.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c414fe9f728a37e7a2578cf66e5d3f625b429d0e
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TServiceDataAttribute.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TServiceNS.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TServiceNS.gif
new file mode 100644
index 0000000000000000000000000000000000000000..cdd3b76e3c0b3318166d84292d8d9e2146a48aa1
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TServiceNS.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TServiceNsUsage.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TServiceNsUsage.gif
new file mode 100644
index 0000000000000000000000000000000000000000..48e3cf2268736efbb8bc3c5bd29315702f2b38c4
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TServiceNsUsage.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TServiceParameter.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TServiceParameter.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a3908bcf7b4ec0b29040bb1ef944c4d5a93fbb32
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TServiceParameter.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TServiceTypeRealization.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TServiceTypeRealization.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c8d381f0b327e1289745a7e8ea72b5cc7b782bfe
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TServiceTypeRealization.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TServiceTypeRealizations.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TServiceTypeRealizations.gif
new file mode 100644
index 0000000000000000000000000000000000000000..98b351f1c441775dfbe390577f2e534a4dcf07f9
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TServiceTypeRealizations.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TSubDataAttribute.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TSubDataAttribute.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d3dc5a9ad8159548d5ada4a1cd545ec1d4de029c
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TSubDataAttribute.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TSubDataObject.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TSubDataObject.gif
new file mode 100644
index 0000000000000000000000000000000000000000..53500daf98e17bc98acd04b14eb7b16938ceb4dd
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TSubDataObject.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TTitledClass.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TTitledClass.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c3370c7ddd5e0817a59de6fd45ad0993b52abe28
Binary files /dev/null and b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/TTitledClass.gif differ
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/plugin.properties b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/plugin.properties
new file mode 100644
index 0000000000000000000000000000000000000000..da1d5b177bed8de7149a307a295b95c2fab220ac
--- /dev/null
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/plugin.properties
@@ -0,0 +1,386 @@
+# Copyright (c) 2019 CentraleSupélec & EDF.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# This file is part of the RiseClipse tool
+#
+# Contributors:
+# Computer Science Department, CentraleSupélec
+# EDF R&D
+# Contacts:
+# dominique.marcadet@centralesupelec.fr
+# aurelie.dehouck-neveu@edf.fr
+# Web site:
+# http://wdi.supelec.fr/software/RiseClipse/
+#
+
+pluginName = NSD Edit Support
+providerName = www.example.org
+
+_UI_CreateChild_text = {0}
+_UI_CreateChild_text2 = {1} {0}
+_UI_CreateChild_text3 = {1}
+_UI_CreateChild_tooltip = Create New {0} Under {1} Feature
+_UI_CreateChild_description = Create a new child of type {0} for the {1} feature of the selected {2}.
+_UI_CreateSibling_description = Create a new sibling of type {0} for the selected {2}, under the {1} feature of their parent.
+
+_UI_PropertyDescriptor_description = The {0} of the {1}
+
+_UI_AppliesToType_type = Applies To Type
+_UI_DependsOnType_type = Depends On Type
+_UI_DocumentRoot_type = Document Root
+_UI_ServiceType_type = Service Type
+_UI_TAbbreviation_type = TAbbreviation
+_UI_TAbbreviations_type = TAbbreviations
+_UI_TAbstractLNClass_type = TAbstract LN Class
+_UI_TAnyLNClass_type = TAny LN Class
+_UI_TApplicableServiceNS_type = TApplicable Service NS
+_UI_TApplicableServices_type = TApplicable Services
+_UI_TBasicType_type = TBasic Type
+_UI_TBasicTypes_type = TBasic Types
+_UI_TCDC_type = TCDC
+_UI_TCDCs_type = TCD Cs
+_UI_TChanges_type = TChanges
+_UI_TConstructedAttribute_type = TConstructed Attribute
+_UI_TConstructedAttributes_type = TConstructed Attributes
+_UI_TCopyrighted_type = TCopyrighted
+_UI_TCopyrightNotice_type = TCopyright Notice
+_UI_TDataAttribute_type = TData Attribute
+_UI_TDataObject_type = TData Object
+_UI_TDataSetMemberOf_type = TData Set Member Of
+_UI_TDoc_type = TDoc
+_UI_TDocumentedClass_type = TDocumented Class
+_UI_TEnumeration_type = TEnumeration
+_UI_TEnumerations_type = TEnumerations
+_UI_TFunctionalConstraint_type = TFunctional Constraint
+_UI_TFunctionalConstraints_type = TFunctional Constraints
+_UI_TLicense_type = TLicense
+_UI_TLiteral_type = TLiteral
+_UI_TLNClass_type = TLN Class
+_UI_TLNClasses_type = TLN Classes
+_UI_TNotice_type = TNotice
+_UI_TNS_type = TNS
+_UI_TNSDoc_type = TNS Doc
+_UI_TPresenceCondition_type = TPresence Condition
+_UI_TPresenceConditions_type = TPresence Conditions
+_UI_TServiceCDC_type = TService CDC
+_UI_TServiceCDCs_type = TService CD Cs
+_UI_TServiceConstructedAttribute_type = TService Constructed Attribute
+_UI_TServiceConstructedAttributes_type = TService Constructed Attributes
+_UI_TServiceDataAttribute_type = TService Data Attribute
+_UI_TServiceNS_type = TService NS
+_UI_TServiceNsUsage_type = TService Ns Usage
+_UI_TServiceParameter_type = TService Parameter
+_UI_TServiceTypeRealization_type = TService Type Realization
+_UI_TServiceTypeRealizations_type = TService Type Realizations
+_UI_TSubDataAttribute_type = TSub Data Attribute
+_UI_TSubDataObject_type = TSub Data Object
+_UI_TTitledClass_type = TTitled Class
+_UI_Unknown_type = Object
+
+_UI_Unknown_datatype= Value
+
+_UI_AppliesToType_id_feature = Id
+_UI_AppliesToType_publicationStage_feature = Publication Stage
+_UI_AppliesToType_release_feature = Release
+_UI_AppliesToType_revision_feature = Revision
+_UI_AppliesToType_version_feature = Version
+_UI_DependsOnType_id_feature = Id
+_UI_DependsOnType_publicationStage_feature = Publication Stage
+_UI_DependsOnType_release_feature = Release
+_UI_DependsOnType_revision_feature = Revision
+_UI_DependsOnType_version_feature = Version
+_UI_DocumentRoot_mixed_feature = Mixed
+_UI_DocumentRoot_xMLNSPrefixMap_feature = XMLNS Prefix Map
+_UI_DocumentRoot_xSISchemaLocation_feature = XSI Schema Location
+_UI_DocumentRoot_applicableServiceNS_feature = Applicable Service NS
+_UI_DocumentRoot_copyright_feature = Copyright
+_UI_DocumentRoot_nS_feature = NS
+_UI_DocumentRoot_nSDoc_feature = NS Doc
+_UI_DocumentRoot_serviceNS_feature = Service NS
+_UI_ServiceType_name_feature = Name
+_UI_TAbbreviation_descID_feature = Desc ID
+_UI_TAbbreviation_name_feature = Name
+_UI_TAbbreviations_abbreviation_feature = Abbreviation
+_UI_TAbstractLNClass_name_feature = Name
+_UI_TAnyLNClass_dataObject_feature = Data Object
+_UI_TAnyLNClass_base_feature = Base
+_UI_TApplicableServiceNS_serviceNsUsage_feature = Service Ns Usage
+_UI_TApplicableServiceNS_date_feature = Date
+_UI_TApplicableServiceNS_version_feature = Version
+_UI_TApplicableServices_service_feature = Service
+_UI_TApplicableServices_dataSetMemberOf_feature = Data Set Member Of
+_UI_TBasicType_descID_feature = Desc ID
+_UI_TBasicType_name_feature = Name
+_UI_TBasicTypes_basicType_feature = Basic Type
+_UI_TCDC_subDataObject_feature = Sub Data Object
+_UI_TCDC_dataAttribute_feature = Data Attribute
+_UI_TCDC_serviceParameter_feature = Service Parameter
+_UI_TCDC_enumParameterized_feature = Enum Parameterized
+_UI_TCDC_name_feature = Name
+_UI_TCDC_statistics_feature = Statistics
+_UI_TCDC_typeKindParameterized_feature = Type Kind Parameterized
+_UI_TCDC_variant_feature = Variant
+_UI_TCDCs_cDC_feature = CDC
+_UI_TChanges_changesID_feature = Changes ID
+_UI_TChanges_date_feature = Date
+_UI_TChanges_release_feature = Release
+_UI_TChanges_revision_feature = Revision
+_UI_TChanges_tissues_feature = Tissues
+_UI_TChanges_version_feature = Version
+_UI_TConstructedAttribute_subDataAttribute_feature = Sub Data Attribute
+_UI_TConstructedAttribute_name_feature = Name
+_UI_TConstructedAttributes_constructedAttribute_feature = Constructed Attribute
+_UI_TCopyrighted_copyright_feature = Copyright
+_UI_TCopyrightNotice_notice_feature = Notice
+_UI_TCopyrightNotice_license_feature = License
+_UI_TDataAttribute_dchg_feature = Dchg
+_UI_TDataAttribute_defaultValue_feature = Default Value
+_UI_TDataAttribute_dupd_feature = Dupd
+_UI_TDataAttribute_fc_feature = Fc
+_UI_TDataAttribute_isArray_feature = Is Array
+_UI_TDataAttribute_maxIndexAttribute_feature = Max Index Attribute
+_UI_TDataAttribute_maxValue_feature = Max Value
+_UI_TDataAttribute_minIndex_feature = Min Index
+_UI_TDataAttribute_minValue_feature = Min Value
+_UI_TDataAttribute_name_feature = Name
+_UI_TDataAttribute_presCond_feature = Pres Cond
+_UI_TDataAttribute_presCondArgs_feature = Pres Cond Args
+_UI_TDataAttribute_presCondArgsID_feature = Pres Cond Args ID
+_UI_TDataAttribute_qchg_feature = Qchg
+_UI_TDataAttribute_sizeAttribute_feature = Size Attribute
+_UI_TDataAttribute_type_feature = Type
+_UI_TDataAttribute_typeKind_feature = Type Kind
+_UI_TDataObject_dsPresCond_feature = Ds Pres Cond
+_UI_TDataObject_dsPresCondArgs_feature = Ds Pres Cond Args
+_UI_TDataObject_dsPresCondArgsID_feature = Ds Pres Cond Args ID
+_UI_TDataObject_name_feature = Name
+_UI_TDataObject_presCond_feature = Pres Cond
+_UI_TDataObject_presCondArgs_feature = Pres Cond Args
+_UI_TDataObject_presCondArgsID_feature = Pres Cond Args ID
+_UI_TDataObject_transient_feature = Transient
+_UI_TDataObject_type_feature = Type
+_UI_TDataObject_underlyingType_feature = Underlying Type
+_UI_TDataObject_underlyingTypeKind_feature = Underlying Type Kind
+_UI_TDataSetMemberOf_cb_feature = Cb
+_UI_TDoc_mixed_feature = Mixed
+_UI_TDoc_group_feature = Group
+_UI_TDoc_any_feature = Any
+_UI_TDoc_id_feature = Id
+_UI_TDocumentedClass_deprecated_feature = Deprecated
+_UI_TDocumentedClass_descID_feature = Desc ID
+_UI_TDocumentedClass_informative_feature = Informative
+_UI_TEnumeration_literal_feature = Literal
+_UI_TEnumeration_inheritedFrom_feature = Inherited From
+_UI_TEnumeration_name_feature = Name
+_UI_TEnumerations_enumeration_feature = Enumeration
+_UI_TFunctionalConstraint_applicableServices_feature = Applicable Services
+_UI_TFunctionalConstraint_abbreviation_feature = Abbreviation
+_UI_TFunctionalConstraint_descID_feature = Desc ID
+_UI_TFunctionalConstraint_titleID_feature = Title ID
+_UI_TFunctionalConstraints_functionalConstraint_feature = Functional Constraint
+_UI_TLicense_mixed_feature = Mixed
+_UI_TLicense_kind_feature = Kind
+_UI_TLicense_uri_feature = Uri
+_UI_TLiteral_literalVal_feature = Literal Val
+_UI_TLiteral_name_feature = Name
+_UI_TLNClass_canHaveLOG_feature = Can Have LOG
+_UI_TLNClass_isExtension_feature = Is Extension
+_UI_TLNClass_name_feature = Name
+_UI_TLNClasses_abstractLNClass_feature = Abstract LN Class
+_UI_TLNClasses_lNClass_feature = LN Class
+_UI_TNotice_mixed_feature = Mixed
+_UI_TNS_changes_feature = Changes
+_UI_TNS_dependsOn_feature = Depends On
+_UI_TNS_basicTypes_feature = Basic Types
+_UI_TNS_functionalConstraints_feature = Functional Constraints
+_UI_TNS_presenceConditions_feature = Presence Conditions
+_UI_TNS_abbreviations_feature = Abbreviations
+_UI_TNS_enumerations_feature = Enumerations
+_UI_TNS_constructedAttributes_feature = Constructed Attributes
+_UI_TNS_cDCs_feature = CD Cs
+_UI_TNS_lNClasses_feature = LN Classes
+_UI_TNS_descID_feature = Desc ID
+_UI_TNS_id_feature = Id
+_UI_TNS_publicationStage_feature = Publication Stage
+_UI_TNS_release_feature = Release
+_UI_TNS_revision_feature = Revision
+_UI_TNS_umlDate_feature = Uml Date
+_UI_TNS_umlVersion_feature = Uml Version
+_UI_TNS_version_feature = Version
+_UI_TNSDoc_doc_feature = Doc
+_UI_TNSDoc_id_feature = Id
+_UI_TNSDoc_lang_feature = Lang
+_UI_TNSDoc_publicationStage_feature = Publication Stage
+_UI_TNSDoc_release_feature = Release
+_UI_TNSDoc_revision_feature = Revision
+_UI_TNSDoc_umlDate_feature = Uml Date
+_UI_TNSDoc_umlVersion_feature = Uml Version
+_UI_TNSDoc_version_feature = Version
+_UI_TPresenceCondition_argument_feature = Argument
+_UI_TPresenceCondition_descID_feature = Desc ID
+_UI_TPresenceCondition_name_feature = Name
+_UI_TPresenceCondition_titleID_feature = Title ID
+_UI_TPresenceConditions_presenceCondition_feature = Presence Condition
+_UI_TServiceCDC_serviceDataAttribute_feature = Service Data Attribute
+_UI_TServiceCDC_cdc_feature = Cdc
+_UI_TServiceCDC_variant_feature = Variant
+_UI_TServiceCDCs_serviceCDC_feature = Service CDC
+_UI_TServiceConstructedAttribute_typeKindParameterized_feature = Type Kind Parameterized
+_UI_TServiceConstructedAttributes_serviceConstructedAttribute_feature = Service Constructed Attribute
+_UI_TServiceDataAttribute_fc_feature = Fc
+_UI_TServiceDataAttribute_name_feature = Name
+_UI_TServiceDataAttribute_presCond_feature = Pres Cond
+_UI_TServiceDataAttribute_presCondArgs_feature = Pres Cond Args
+_UI_TServiceDataAttribute_presCondArgsID_feature = Pres Cond Args ID
+_UI_TServiceDataAttribute_type_feature = Type
+_UI_TServiceDataAttribute_typeKind_feature = Type Kind
+_UI_TServiceDataAttribute_underlyingType_feature = Underlying Type
+_UI_TServiceDataAttribute_underlyingTypeKind_feature = Underlying Type Kind
+_UI_TServiceNS_changes_feature = Changes
+_UI_TServiceNS_functionalConstraints_feature = Functional Constraints
+_UI_TServiceNS_presenceConditions_feature = Presence Conditions
+_UI_TServiceNS_abbreviations_feature = Abbreviations
+_UI_TServiceNS_serviceTypeRealizations_feature = Service Type Realizations
+_UI_TServiceNS_serviceConstructedAttributes_feature = Service Constructed Attributes
+_UI_TServiceNS_serviceCDCs_feature = Service CD Cs
+_UI_TServiceNS_descID_feature = Desc ID
+_UI_TServiceNS_id_feature = Id
+_UI_TServiceNS_publicationStage_feature = Publication Stage
+_UI_TServiceNS_release_feature = Release
+_UI_TServiceNS_revision_feature = Revision
+_UI_TServiceNS_umlDate_feature = Uml Date
+_UI_TServiceNS_umlVersion_feature = Uml Version
+_UI_TServiceNS_version_feature = Version
+_UI_TServiceNsUsage_appliesTo_feature = Applies To
+_UI_TServiceNsUsage_id_feature = Id
+_UI_TServiceNsUsage_publicationStage_feature = Publication Stage
+_UI_TServiceNsUsage_release_feature = Release
+_UI_TServiceNsUsage_revision_feature = Revision
+_UI_TServiceNsUsage_version_feature = Version
+_UI_TServiceParameter_defaultValue_feature = Default Value
+_UI_TServiceParameter_maxValue_feature = Max Value
+_UI_TServiceParameter_minValue_feature = Min Value
+_UI_TServiceParameter_name_feature = Name
+_UI_TServiceParameter_type_feature = Type
+_UI_TServiceParameter_typeKind_feature = Type Kind
+_UI_TServiceTypeRealization_fc_feature = Fc
+_UI_TServiceTypeRealization_name_feature = Name
+_UI_TServiceTypeRealization_presCond_feature = Pres Cond
+_UI_TServiceTypeRealization_presCondArgs_feature = Pres Cond Args
+_UI_TServiceTypeRealization_presCondArgsID_feature = Pres Cond Args ID
+_UI_TServiceTypeRealization_type_feature = Type
+_UI_TServiceTypeRealization_typeKind_feature = Type Kind
+_UI_TServiceTypeRealizations_serviceTypeRealization_feature = Service Type Realization
+_UI_TSubDataAttribute_defaultValue_feature = Default Value
+_UI_TSubDataAttribute_isArray_feature = Is Array
+_UI_TSubDataAttribute_maxIndexAttribute_feature = Max Index Attribute
+_UI_TSubDataAttribute_maxValue_feature = Max Value
+_UI_TSubDataAttribute_minIndex_feature = Min Index
+_UI_TSubDataAttribute_minValue_feature = Min Value
+_UI_TSubDataAttribute_name_feature = Name
+_UI_TSubDataAttribute_presCond_feature = Pres Cond
+_UI_TSubDataAttribute_presCondArgs_feature = Pres Cond Args
+_UI_TSubDataAttribute_presCondArgsID_feature = Pres Cond Args ID
+_UI_TSubDataAttribute_sizeAttribute_feature = Size Attribute
+_UI_TSubDataAttribute_type_feature = Type
+_UI_TSubDataAttribute_typeKind_feature = Type Kind
+_UI_TSubDataObject_isArray_feature = Is Array
+_UI_TSubDataObject_maxIndexAttribute_feature = Max Index Attribute
+_UI_TSubDataObject_minIndex_feature = Min Index
+_UI_TSubDataObject_name_feature = Name
+_UI_TSubDataObject_presCond_feature = Pres Cond
+_UI_TSubDataObject_presCondArgs_feature = Pres Cond Args
+_UI_TSubDataObject_presCondArgsID_feature = Pres Cond Args ID
+_UI_TSubDataObject_sizeAttribute_feature = Size Attribute
+_UI_TSubDataObject_type_feature = Type
+_UI_TSubDataObject_underlyingType_feature = Underlying Type
+_UI_TSubDataObject_underlyingTypeKind_feature = Underlying Type Kind
+_UI_TTitledClass_titleID_feature = Title ID
+_UI_XMLTypeDocumentRoot_comment_feature = Comment
+_UI_XMLTypeDocumentRoot_text_feature = Text
+_UI_XMLTypeDocumentRoot_processingInstruction_feature = Processing Instruction
+_UI_XMLTypeDocumentRoot_cDATA_feature = CDATA
+_UI_Unknown_feature = Unspecified
+
+_UI_TACSIServicesKind_Associate_literal = Associate
+_UI_TACSIServicesKind_Abort_literal = Abort
+_UI_TACSIServicesKind_Release_literal = Release
+_UI_TACSIServicesKind_GetServerDirectory_literal = GetServerDirectory
+_UI_TACSIServicesKind_GetLogicalDeviceDirectory_literal = GetLogicalDeviceDirectory
+_UI_TACSIServicesKind_GetAllDataValues_literal = GetAllDataValues
+_UI_TACSIServicesKind_GetDataValues_literal = GetDataValues
+_UI_TACSIServicesKind_SetDataValues_literal = SetDataValues
+_UI_TACSIServicesKind_GetDataDirectory_literal = GetDataDirectory
+_UI_TACSIServicesKind_GetDataDefinition_literal = GetDataDefinition
+_UI_TACSIServicesKind_GetDataSetValues_literal = GetDataSetValues
+_UI_TACSIServicesKind_SetDataSetValues_literal = SetDataSetValues
+_UI_TACSIServicesKind_CreateDataSet_literal = CreateDataSet
+_UI_TACSIServicesKind_DeleteDataSet_literal = DeleteDataSet
+_UI_TACSIServicesKind_GetDataSetDirectory_literal = GetDataSetDirectory
+_UI_TACSIServicesKind_SelectActiveSG_literal = SelectActiveSG
+_UI_TACSIServicesKind_SelectEditSG_literal = SelectEditSG
+_UI_TACSIServicesKind_SetEditSGValue_literal = SetEditSGValue
+_UI_TACSIServicesKind_ConfirmEditSGValues_literal = ConfirmEditSGValues
+_UI_TACSIServicesKind_GetEditSGValue_literal = GetEditSGValue
+_UI_TACSIServicesKind_GetSGCBValues_literal = GetSGCBValues
+_UI_TACSIServicesKind_Report_literal = Report
+_UI_TACSIServicesKind_GetBRCBValues_literal = GetBRCBValues
+_UI_TACSIServicesKind_SetBRCBValues_literal = SetBRCBValues
+_UI_TACSIServicesKind_GetURCBValues_literal = GetURCBValues
+_UI_TACSIServicesKind_SetURCBValues_literal = SetURCBValues
+_UI_TACSIServicesKind_GetLCBValues_literal = GetLCBValues
+_UI_TACSIServicesKind_SetLCBValues_literal = SetLCBValues
+_UI_TACSIServicesKind_QueryLogByTime_literal = QueryLogByTime
+_UI_TACSIServicesKind_QueryLogAfter_literal = QueryLogAfter
+_UI_TACSIServicesKind_GetLogStatusValues_literal = GetLogStatusValues
+_UI_TACSIServicesKind_SendGOOSEMessage_literal = SendGOOSEMessage
+_UI_TACSIServicesKind_GetGoCBValues_literal = GetGoCBValues
+_UI_TACSIServicesKind_SetGoCBValues_literal = SetGoCBValues
+_UI_TACSIServicesKind_GetGoReference_literal = GetGoReference
+_UI_TACSIServicesKind_GetGOOSEElementNumber_literal = GetGOOSEElementNumber
+_UI_TACSIServicesKind_SendMSVMessage_literal = SendMSVMessage
+_UI_TACSIServicesKind_GetMSVCBValues_literal = GetMSVCBValues
+_UI_TACSIServicesKind_SetMSVCBValues_literal = SetMSVCBValues
+_UI_TACSIServicesKind_SendUSVMessage_literal = SendUSVMessage
+_UI_TACSIServicesKind_GetUSVCBValues_literal = GetUSVCBValues
+_UI_TACSIServicesKind_SetUSVCBValues_literal = SetUSVCBValues
+_UI_TACSIServicesKind_Select_literal = Select
+_UI_TACSIServicesKind_SelectWithValue_literal = SelectWithValue
+_UI_TACSIServicesKind_Cancel_literal = Cancel
+_UI_TACSIServicesKind_Operate_literal = Operate
+_UI_TACSIServicesKind_CommandTermination_literal = CommandTermination
+_UI_TACSIServicesKind_TimeActivatedOperate_literal = TimeActivatedOperate
+_UI_TACSIServicesKind_GetFile_literal = GetFile
+_UI_TACSIServicesKind_SetFile_literal = SetFile
+_UI_TACSIServicesKind_DeleteFile_literal = DeleteFile
+_UI_TACSIServicesKind_GetFileAttributeValues_literal = GetFileAttributeValues
+_UI_TACSIServicesKind_TimeSynchronization_literal = TimeSynchronization
+_UI_TACSIServicesKind_InternalChange_literal = InternalChange
+_UI_TACSIServicesKind_GetLogicalNodeDirectory_literal = GetLogicalNodeDirectory
+_UI_TACSIServicesKind_GetMsvReference_literal = GetMsvReference
+_UI_TACSIServicesKind_GetMSVElementNumber_literal = GetMSVElementNumber
+_UI_TACSIServicesKind_GetUsvReference_literal = GetUsvReference
+_UI_TACSIServicesKind_GetUSVElementNumber_literal = GetUSVElementNumber
+_UI_TCBKind_RCB_literal = RCB
+_UI_TCBKind_LCB_literal = LCB
+_UI_TCBKind_GoCB_literal = GoCB
+_UI_TCBKind_SVCB_literal = SVCB
+_UI_TDefinedAttributeTypeKind_BASIC_literal = BASIC
+_UI_TDefinedAttributeTypeKind_ENUMERATED_literal = ENUMERATED
+_UI_TDefinedAttributeTypeKind_CONSTRUCTED_literal = CONSTRUCTED
+_UI_TLicenseKind_Standard_literal = Standard
+_UI_TLicenseKind_Private_literal = Private
+_UI_TLicenseKind_None_literal = None
+_UI_TPubStage_WD_literal = WD
+_UI_TPubStage_CD_literal = CD
+_UI_TPubStage_CDV_literal = CDV
+_UI_TPubStage_DTS_literal = DTS
+_UI_TPubStage_DTR_literal = DTR
+_UI_TPubStage_FDIS_literal = FDIS
+_UI_TPubStage_TS_literal = TS
+_UI_TPubStage_TR_literal = TR
+_UI_TPubStage_IS_literal = IS
+_UI_TUndefinedAttributeTypeKind_undefined_literal = undefined
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/plugin.xml b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/plugin.xml
new file mode 100644
index 0000000000000000000000000000000000000000..fc2be3857aff3c4c6a0d508dd07c30c1eb1dcf08
--- /dev/null
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/plugin.xml
@@ -0,0 +1,39 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
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
new file mode 100644
index 0000000000000000000000000000000000000000..5b3ffed8ee96dc9223ff50c2c3d0a4cc47149027
--- /dev/null
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/AppliesToTypeItemProvider.java
@@ -0,0 +1,232 @@
+/**
+ * Copyright (c) 2019 CentraleSupélec & EDF.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * This file is part of the RiseClipse tool
+ *
+ * Contributors:
+ * Computer Science Department, CentraleSupélec
+ * EDF R&D
+ * Contacts:
+ * dominique.marcadet@centralesupelec.fr
+ * aurelie.dehouck-neveu@edf.fr
+ * Web site:
+ * http://wdi.supelec.fr/software/RiseClipse/
+ *
+ */
+package fr.centralesupelec.edf.riseclipse.iec61850.nsd.provider;
+
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.AppliesToType;
+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.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.AppliesToType} object.
+ *
+ *
+ * @generated
+ */
+public class AppliesToTypeItemProvider extends ItemProviderAdapter implements IEditingDomainItemProvider,
+ IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ *
+ *
+ * @generated
+ */
+ public AppliesToTypeItemProvider( AdapterFactory adapterFactory ) {
+ super( adapterFactory );
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public List< IItemPropertyDescriptor > getPropertyDescriptors( Object object ) {
+ if( itemPropertyDescriptors == null ) {
+ super.getPropertyDescriptors( object );
+
+ addIdPropertyDescriptor( object );
+ addPublicationStagePropertyDescriptor( object );
+ addReleasePropertyDescriptor( object );
+ addRevisionPropertyDescriptor( object );
+ addVersionPropertyDescriptor( object );
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Id feature.
+ *
+ *
+ * @generated
+ */
+ protected void addIdPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_AppliesToType_id_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_AppliesToType_id_feature",
+ "_UI_AppliesToType_type" ),
+ NsdPackage.Literals.APPLIES_TO_TYPE__ID, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Publication Stage feature.
+ *
+ *
+ * @generated
+ */
+ protected void addPublicationStagePropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_AppliesToType_publicationStage_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_AppliesToType_publicationStage_feature",
+ "_UI_AppliesToType_type" ),
+ NsdPackage.Literals.APPLIES_TO_TYPE__PUBLICATION_STAGE, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Release feature.
+ *
+ *
+ * @generated
+ */
+ protected void addReleasePropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_AppliesToType_release_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_AppliesToType_release_feature",
+ "_UI_AppliesToType_type" ),
+ NsdPackage.Literals.APPLIES_TO_TYPE__RELEASE, true, false, false,
+ ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Revision feature.
+ *
+ *
+ * @generated
+ */
+ protected void addRevisionPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_AppliesToType_revision_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_AppliesToType_revision_feature",
+ "_UI_AppliesToType_type" ),
+ NsdPackage.Literals.APPLIES_TO_TYPE__REVISION, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Version feature.
+ *
+ *
+ * @generated
+ */
+ protected void addVersionPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_AppliesToType_version_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_AppliesToType_version_feature",
+ "_UI_AppliesToType_type" ),
+ NsdPackage.Literals.APPLIES_TO_TYPE__VERSION, true, false, false,
+ ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This returns AppliesToType.gif.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage( Object object ) {
+ return overlayImage( object, getResourceLocator().getImage( "full/obj16/AppliesToType" ) );
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public String getText( Object object ) {
+ String label = ( ( AppliesToType ) object ).getId();
+ return label == null || label.length() == 0 ? getString( "_UI_AppliesToType_type" )
+ : getString( "_UI_AppliesToType_type" ) + " " + label;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged( Notification notification ) {
+ updateChildren( notification );
+
+ switch( notification.getFeatureID( AppliesToType.class ) ) {
+ case NsdPackage.APPLIES_TO_TYPE__ID:
+ case NsdPackage.APPLIES_TO_TYPE__PUBLICATION_STAGE:
+ case NsdPackage.APPLIES_TO_TYPE__RELEASE:
+ case NsdPackage.APPLIES_TO_TYPE__REVISION:
+ case NsdPackage.APPLIES_TO_TYPE__VERSION:
+ fireNotifyChanged( new ViewerNotification( notification, notification.getNotifier(), false, true ) );
+ return;
+ }
+ super.notifyChanged( notification );
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors( Collection< Object > newChildDescriptors, Object object ) {
+ super.collectNewChildDescriptors( newChildDescriptors, object );
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return NSDEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/DependsOnTypeItemProvider.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/DependsOnTypeItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..59137e2776bf4b9f40d3b0e63c0619c38bececa1
--- /dev/null
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/DependsOnTypeItemProvider.java
@@ -0,0 +1,232 @@
+/**
+ * Copyright (c) 2019 CentraleSupélec & EDF.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * This file is part of the RiseClipse tool
+ *
+ * Contributors:
+ * Computer Science Department, CentraleSupélec
+ * EDF R&D
+ * Contacts:
+ * dominique.marcadet@centralesupelec.fr
+ * aurelie.dehouck-neveu@edf.fr
+ * Web site:
+ * http://wdi.supelec.fr/software/RiseClipse/
+ *
+ */
+package fr.centralesupelec.edf.riseclipse.iec61850.nsd.provider;
+
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOnType;
+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.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOnType} object.
+ *
+ *
+ * @generated
+ */
+public class DependsOnTypeItemProvider extends ItemProviderAdapter implements IEditingDomainItemProvider,
+ IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ *
+ *
+ * @generated
+ */
+ public DependsOnTypeItemProvider( AdapterFactory adapterFactory ) {
+ super( adapterFactory );
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public List< IItemPropertyDescriptor > getPropertyDescriptors( Object object ) {
+ if( itemPropertyDescriptors == null ) {
+ super.getPropertyDescriptors( object );
+
+ addIdPropertyDescriptor( object );
+ addPublicationStagePropertyDescriptor( object );
+ addReleasePropertyDescriptor( object );
+ addRevisionPropertyDescriptor( object );
+ addVersionPropertyDescriptor( object );
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Id feature.
+ *
+ *
+ * @generated
+ */
+ protected void addIdPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_DependsOnType_id_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_DependsOnType_id_feature",
+ "_UI_DependsOnType_type" ),
+ NsdPackage.Literals.DEPENDS_ON_TYPE__ID, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Publication Stage feature.
+ *
+ *
+ * @generated
+ */
+ protected void addPublicationStagePropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_DependsOnType_publicationStage_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_DependsOnType_publicationStage_feature",
+ "_UI_DependsOnType_type" ),
+ NsdPackage.Literals.DEPENDS_ON_TYPE__PUBLICATION_STAGE, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Release feature.
+ *
+ *
+ * @generated
+ */
+ protected void addReleasePropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_DependsOnType_release_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_DependsOnType_release_feature",
+ "_UI_DependsOnType_type" ),
+ NsdPackage.Literals.DEPENDS_ON_TYPE__RELEASE, true, false, false,
+ ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Revision feature.
+ *
+ *
+ * @generated
+ */
+ protected void addRevisionPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_DependsOnType_revision_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_DependsOnType_revision_feature",
+ "_UI_DependsOnType_type" ),
+ NsdPackage.Literals.DEPENDS_ON_TYPE__REVISION, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Version feature.
+ *
+ *
+ * @generated
+ */
+ protected void addVersionPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_DependsOnType_version_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_DependsOnType_version_feature",
+ "_UI_DependsOnType_type" ),
+ NsdPackage.Literals.DEPENDS_ON_TYPE__VERSION, true, false, false,
+ ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This returns DependsOnType.gif.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage( Object object ) {
+ return overlayImage( object, getResourceLocator().getImage( "full/obj16/DependsOnType" ) );
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public String getText( Object object ) {
+ String label = ( ( DependsOnType ) object ).getId();
+ return label == null || label.length() == 0 ? getString( "_UI_DependsOnType_type" )
+ : getString( "_UI_DependsOnType_type" ) + " " + label;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged( Notification notification ) {
+ updateChildren( notification );
+
+ switch( notification.getFeatureID( DependsOnType.class ) ) {
+ case NsdPackage.DEPENDS_ON_TYPE__ID:
+ case NsdPackage.DEPENDS_ON_TYPE__PUBLICATION_STAGE:
+ case NsdPackage.DEPENDS_ON_TYPE__RELEASE:
+ case NsdPackage.DEPENDS_ON_TYPE__REVISION:
+ case NsdPackage.DEPENDS_ON_TYPE__VERSION:
+ fireNotifyChanged( new ViewerNotification( notification, notification.getNotifier(), false, true ) );
+ return;
+ }
+ super.notifyChanged( notification );
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors( Collection< Object > newChildDescriptors, Object object ) {
+ super.collectNewChildDescriptors( newChildDescriptors, object );
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return NSDEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/DocumentRootItemProvider.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/DocumentRootItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..f480cd84982ae39a362255acd8af85659a49f640
--- /dev/null
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/DocumentRootItemProvider.java
@@ -0,0 +1,195 @@
+/**
+ * Copyright (c) 2019 CentraleSupélec & EDF.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * This file is part of the RiseClipse tool
+ *
+ * Contributors:
+ * Computer Science Department, CentraleSupélec
+ * EDF R&D
+ * Contacts:
+ * dominique.marcadet@centralesupelec.fr
+ * aurelie.dehouck-neveu@edf.fr
+ * Web site:
+ * http://wdi.supelec.fr/software/RiseClipse/
+ *
+ */
+package fr.centralesupelec.edf.riseclipse.iec61850.nsd.provider;
+
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.DocumentRoot;
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdFactory;
+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.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DocumentRoot} object.
+ *
+ *
+ * @generated
+ */
+public class DocumentRootItemProvider extends ItemProviderAdapter implements IEditingDomainItemProvider,
+ IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ *
+ *
+ * @generated
+ */
+ public DocumentRootItemProvider( AdapterFactory adapterFactory ) {
+ super( adapterFactory );
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public List< IItemPropertyDescriptor > getPropertyDescriptors( Object object ) {
+ if( itemPropertyDescriptors == null ) {
+ super.getPropertyDescriptors( object );
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * 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
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Collection< ? extends EStructuralFeature > getChildrenFeatures( Object object ) {
+ if( childrenFeatures == null ) {
+ super.getChildrenFeatures( object );
+ childrenFeatures.add( NsdPackage.Literals.DOCUMENT_ROOT__APPLICABLE_SERVICE_NS );
+ childrenFeatures.add( NsdPackage.Literals.DOCUMENT_ROOT__COPYRIGHT );
+ childrenFeatures.add( NsdPackage.Literals.DOCUMENT_ROOT__NS );
+ childrenFeatures.add( NsdPackage.Literals.DOCUMENT_ROOT__NS_DOC );
+ childrenFeatures.add( NsdPackage.Literals.DOCUMENT_ROOT__SERVICE_NS );
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected EStructuralFeature getChildFeature( Object object, Object child ) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature( object, child );
+ }
+
+ /**
+ * This returns DocumentRoot.gif.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage( Object object ) {
+ return overlayImage( object, getResourceLocator().getImage( "full/obj16/DocumentRoot" ) );
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public String getText( Object object ) {
+ return getString( "_UI_DocumentRoot_type" );
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged( Notification notification ) {
+ updateChildren( notification );
+
+ switch( notification.getFeatureID( DocumentRoot.class ) ) {
+ case NsdPackage.DOCUMENT_ROOT__APPLICABLE_SERVICE_NS:
+ case NsdPackage.DOCUMENT_ROOT__COPYRIGHT:
+ case NsdPackage.DOCUMENT_ROOT__NS:
+ case NsdPackage.DOCUMENT_ROOT__NS_DOC:
+ case NsdPackage.DOCUMENT_ROOT__SERVICE_NS:
+ fireNotifyChanged( new ViewerNotification( notification, notification.getNotifier(), true, false ) );
+ return;
+ }
+ super.notifyChanged( notification );
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors( Collection< Object > newChildDescriptors, Object object ) {
+ super.collectNewChildDescriptors( newChildDescriptors, object );
+
+ newChildDescriptors.add( createChildParameter( NsdPackage.Literals.DOCUMENT_ROOT__APPLICABLE_SERVICE_NS,
+ NsdFactory.eINSTANCE.createTApplicableServiceNS() ) );
+
+ newChildDescriptors.add( createChildParameter( NsdPackage.Literals.DOCUMENT_ROOT__COPYRIGHT,
+ NsdFactory.eINSTANCE.createTCopyrightNotice() ) );
+
+ newChildDescriptors
+ .add( createChildParameter( NsdPackage.Literals.DOCUMENT_ROOT__NS, NsdFactory.eINSTANCE.createTNS() ) );
+
+ newChildDescriptors.add( createChildParameter( NsdPackage.Literals.DOCUMENT_ROOT__NS_DOC,
+ NsdFactory.eINSTANCE.createTNSDoc() ) );
+
+ newChildDescriptors.add( createChildParameter( NsdPackage.Literals.DOCUMENT_ROOT__SERVICE_NS,
+ NsdFactory.eINSTANCE.createTServiceNS() ) );
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return NSDEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/NSDEditPlugin.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/NSDEditPlugin.java
new file mode 100644
index 0000000000000000000000000000000000000000..6668aad8fa586f03e2be6698497b9ab0e6816587
--- /dev/null
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/NSDEditPlugin.java
@@ -0,0 +1,104 @@
+/**
+ * Copyright (c) 2019 CentraleSupélec & EDF.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * This file is part of the RiseClipse tool
+ *
+ * Contributors:
+ * Computer Science Department, CentraleSupélec
+ * EDF R&D
+ * Contacts:
+ * dominique.marcadet@centralesupelec.fr
+ * aurelie.dehouck-neveu@edf.fr
+ * Web site:
+ * http://wdi.supelec.fr/software/RiseClipse/
+ *
+ */
+package fr.centralesupelec.edf.riseclipse.iec61850.nsd.provider;
+
+import org.eclipse.emf.common.EMFPlugin;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+/**
+ * This is the central singleton for the NSD edit plugin.
+ *
+ *
+ * @generated
+ */
+public final class NSDEditPlugin extends EMFPlugin {
+ /**
+ * Keep track of the singleton.
+ *
+ *
+ * @generated
+ */
+ public static final NSDEditPlugin INSTANCE = new NSDEditPlugin();
+
+ /**
+ * Keep track of the singleton.
+ *
+ *
+ * @generated
+ */
+ private static Implementation plugin;
+
+ /**
+ * Create the instance.
+ *
+ *
+ * @generated
+ */
+ public NSDEditPlugin() {
+ super( new ResourceLocator[] {} );
+ }
+
+ /**
+ * Returns the singleton instance of the Eclipse plugin.
+ *
+ *
+ * @return the singleton instance.
+ * @generated
+ */
+ @Override
+ public ResourceLocator getPluginResourceLocator() {
+ return plugin;
+ }
+
+ /**
+ * Returns the singleton instance of the Eclipse plugin.
+ *
+ *
+ * @return the singleton instance.
+ * @generated
+ */
+ public static Implementation getPlugin() {
+ return plugin;
+ }
+
+ /**
+ * The actual implementation of the Eclipse Plugin.
+ *
+ *
+ * @generated
+ */
+ public static class Implementation extends EclipsePlugin {
+ /**
+ * Creates an instance.
+ *
+ *
+ * @generated
+ */
+ public Implementation() {
+ super();
+
+ // Remember the static instance.
+ //
+ plugin = this;
+ }
+ }
+
+}
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/NsdItemProviderAdapterFactory.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/NsdItemProviderAdapterFactory.java
new file mode 100644
index 0000000000000000000000000000000000000000..992462c21fec5884812d027204a3ab1285c95966
--- /dev/null
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/NsdItemProviderAdapterFactory.java
@@ -0,0 +1,1375 @@
+/**
+ * Copyright (c) 2019 CentraleSupélec & EDF.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * This file is part of the RiseClipse tool
+ *
+ * Contributors:
+ * Computer Science Department, CentraleSupélec
+ * EDF R&D
+ * Contacts:
+ * dominique.marcadet@centralesupelec.fr
+ * aurelie.dehouck-neveu@edf.fr
+ * Web site:
+ * http://wdi.supelec.fr/software/RiseClipse/
+ *
+ */
+package fr.centralesupelec.edf.riseclipse.iec61850.nsd.provider;
+
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.util.NsdAdapterFactory;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.edit.provider.ChangeNotifier;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emf.edit.provider.IChangeNotifier;
+import org.eclipse.emf.edit.provider.IDisposable;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.INotifyChangedListener;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+/**
+ * This is the factory that is used to provide the interfaces needed to support Viewers.
+ * The adapters generated by this factory convert EMF adapter notifications into calls to {@link #fireNotifyChanged fireNotifyChanged}.
+ * The adapters also support Eclipse property sheets.
+ * Note that most of the adapters are shared among multiple instances.
+ *
+ *
+ * @generated
+ */
+public class NsdItemProviderAdapterFactory extends NsdAdapterFactory
+ implements ComposeableAdapterFactory, IChangeNotifier, IDisposable {
+ /**
+ * This keeps track of the root adapter factory that delegates to this adapter factory.
+ *
+ *
+ * @generated
+ */
+ protected ComposedAdapterFactory parentAdapterFactory;
+
+ /**
+ * This is used to implement {@link org.eclipse.emf.edit.provider.IChangeNotifier}.
+ *
+ *
+ * @generated
+ */
+ protected IChangeNotifier changeNotifier = new ChangeNotifier();
+
+ /**
+ * This keeps track of all the supported types checked by {@link #isFactoryForType isFactoryForType}.
+ *
+ *
+ * @generated
+ */
+ protected Collection< Object > supportedTypes = new ArrayList< Object >();
+
+ /**
+ * This constructs an instance.
+ *
+ *
+ * @generated
+ */
+ public NsdItemProviderAdapterFactory() {
+ supportedTypes.add( IEditingDomainItemProvider.class );
+ supportedTypes.add( IStructuredItemContentProvider.class );
+ supportedTypes.add( ITreeItemContentProvider.class );
+ supportedTypes.add( IItemLabelProvider.class );
+ supportedTypes.add( IItemPropertySource.class );
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.AppliesToType} instances.
+ *
+ *
+ * @generated
+ */
+ protected AppliesToTypeItemProvider appliesToTypeItemProvider;
+
+ /**
+ * This creates an adapter for a {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.AppliesToType}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createAppliesToTypeAdapter() {
+ if( appliesToTypeItemProvider == null ) {
+ appliesToTypeItemProvider = new AppliesToTypeItemProvider( this );
+ }
+
+ return appliesToTypeItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOnType} instances.
+ *
+ *
+ * @generated
+ */
+ protected DependsOnTypeItemProvider dependsOnTypeItemProvider;
+
+ /**
+ * This creates an adapter for a {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOnType}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createDependsOnTypeAdapter() {
+ if( dependsOnTypeItemProvider == null ) {
+ dependsOnTypeItemProvider = new DependsOnTypeItemProvider( this );
+ }
+
+ return dependsOnTypeItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DocumentRoot} instances.
+ *
+ *
+ * @generated
+ */
+ protected DocumentRootItemProvider documentRootItemProvider;
+
+ /**
+ * This creates an adapter for a {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DocumentRoot}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createDocumentRootAdapter() {
+ if( documentRootItemProvider == null ) {
+ documentRootItemProvider = new DocumentRootItemProvider( this );
+ }
+
+ return documentRootItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceType} instances.
+ *
+ *
+ * @generated
+ */
+ protected ServiceTypeItemProvider serviceTypeItemProvider;
+
+ /**
+ * This creates an adapter for a {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceType}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createServiceTypeAdapter() {
+ if( serviceTypeItemProvider == null ) {
+ serviceTypeItemProvider = new ServiceTypeItemProvider( this );
+ }
+
+ return serviceTypeItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TAbbreviation} instances.
+ *
+ *
+ * @generated
+ */
+ protected TAbbreviationItemProvider tAbbreviationItemProvider;
+
+ /**
+ * This creates an adapter for a {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TAbbreviation}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createTAbbreviationAdapter() {
+ if( tAbbreviationItemProvider == null ) {
+ tAbbreviationItemProvider = new TAbbreviationItemProvider( this );
+ }
+
+ return tAbbreviationItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TAbbreviations} instances.
+ *
+ *
+ * @generated
+ */
+ protected TAbbreviationsItemProvider tAbbreviationsItemProvider;
+
+ /**
+ * This creates an adapter for a {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TAbbreviations}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createTAbbreviationsAdapter() {
+ if( tAbbreviationsItemProvider == null ) {
+ tAbbreviationsItemProvider = new TAbbreviationsItemProvider( this );
+ }
+
+ return tAbbreviationsItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TAbstractLNClass} instances.
+ *
+ *
+ * @generated
+ */
+ protected TAbstractLNClassItemProvider tAbstractLNClassItemProvider;
+
+ /**
+ * This creates an adapter for a {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TAbstractLNClass}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createTAbstractLNClassAdapter() {
+ if( tAbstractLNClassItemProvider == null ) {
+ tAbstractLNClassItemProvider = new TAbstractLNClassItemProvider( this );
+ }
+
+ return tAbstractLNClassItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TApplicableServiceNS} instances.
+ *
+ *
+ * @generated
+ */
+ protected TApplicableServiceNSItemProvider tApplicableServiceNSItemProvider;
+
+ /**
+ * This creates an adapter for a {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TApplicableServiceNS}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createTApplicableServiceNSAdapter() {
+ if( tApplicableServiceNSItemProvider == null ) {
+ tApplicableServiceNSItemProvider = new TApplicableServiceNSItemProvider( this );
+ }
+
+ return tApplicableServiceNSItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TApplicableServices} instances.
+ *
+ *
+ * @generated
+ */
+ protected TApplicableServicesItemProvider tApplicableServicesItemProvider;
+
+ /**
+ * This creates an adapter for a {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TApplicableServices}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createTApplicableServicesAdapter() {
+ if( tApplicableServicesItemProvider == null ) {
+ tApplicableServicesItemProvider = new TApplicableServicesItemProvider( this );
+ }
+
+ return tApplicableServicesItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TBasicType} instances.
+ *
+ *
+ * @generated
+ */
+ protected TBasicTypeItemProvider tBasicTypeItemProvider;
+
+ /**
+ * This creates an adapter for a {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TBasicType}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createTBasicTypeAdapter() {
+ if( tBasicTypeItemProvider == null ) {
+ tBasicTypeItemProvider = new TBasicTypeItemProvider( this );
+ }
+
+ return tBasicTypeItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TBasicTypes} instances.
+ *
+ *
+ * @generated
+ */
+ protected TBasicTypesItemProvider tBasicTypesItemProvider;
+
+ /**
+ * This creates an adapter for a {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TBasicTypes}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createTBasicTypesAdapter() {
+ if( tBasicTypesItemProvider == null ) {
+ tBasicTypesItemProvider = new TBasicTypesItemProvider( this );
+ }
+
+ return tBasicTypesItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TCDC} instances.
+ *
+ *
+ * @generated
+ */
+ protected TCDCItemProvider tcdcItemProvider;
+
+ /**
+ * This creates an adapter for a {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TCDC}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createTCDCAdapter() {
+ if( tcdcItemProvider == null ) {
+ tcdcItemProvider = new TCDCItemProvider( this );
+ }
+
+ return tcdcItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TCDCs} instances.
+ *
+ *
+ * @generated
+ */
+ protected TCDCsItemProvider tcdCsItemProvider;
+
+ /**
+ * This creates an adapter for a {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TCDCs}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createTCDCsAdapter() {
+ if( tcdCsItemProvider == null ) {
+ tcdCsItemProvider = new TCDCsItemProvider( this );
+ }
+
+ return tcdCsItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TChanges} instances.
+ *
+ *
+ * @generated
+ */
+ protected TChangesItemProvider tChangesItemProvider;
+
+ /**
+ * This creates an adapter for a {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TChanges}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createTChangesAdapter() {
+ if( tChangesItemProvider == null ) {
+ tChangesItemProvider = new TChangesItemProvider( this );
+ }
+
+ return tChangesItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TConstructedAttribute} instances.
+ *
+ *
+ * @generated
+ */
+ protected TConstructedAttributeItemProvider tConstructedAttributeItemProvider;
+
+ /**
+ * This creates an adapter for a {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TConstructedAttribute}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createTConstructedAttributeAdapter() {
+ if( tConstructedAttributeItemProvider == null ) {
+ tConstructedAttributeItemProvider = new TConstructedAttributeItemProvider( this );
+ }
+
+ return tConstructedAttributeItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TConstructedAttributes} instances.
+ *
+ *
+ * @generated
+ */
+ protected TConstructedAttributesItemProvider tConstructedAttributesItemProvider;
+
+ /**
+ * This creates an adapter for a {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TConstructedAttributes}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createTConstructedAttributesAdapter() {
+ if( tConstructedAttributesItemProvider == null ) {
+ tConstructedAttributesItemProvider = new TConstructedAttributesItemProvider( this );
+ }
+
+ return tConstructedAttributesItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TCopyrighted} instances.
+ *
+ *
+ * @generated
+ */
+ protected TCopyrightedItemProvider tCopyrightedItemProvider;
+
+ /**
+ * This creates an adapter for a {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TCopyrighted}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createTCopyrightedAdapter() {
+ if( tCopyrightedItemProvider == null ) {
+ tCopyrightedItemProvider = new TCopyrightedItemProvider( this );
+ }
+
+ return tCopyrightedItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TCopyrightNotice} instances.
+ *
+ *
+ * @generated
+ */
+ protected TCopyrightNoticeItemProvider tCopyrightNoticeItemProvider;
+
+ /**
+ * This creates an adapter for a {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TCopyrightNotice}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createTCopyrightNoticeAdapter() {
+ if( tCopyrightNoticeItemProvider == null ) {
+ tCopyrightNoticeItemProvider = new TCopyrightNoticeItemProvider( this );
+ }
+
+ return tCopyrightNoticeItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TDataAttribute} instances.
+ *
+ *
+ * @generated
+ */
+ protected TDataAttributeItemProvider tDataAttributeItemProvider;
+
+ /**
+ * This creates an adapter for a {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TDataAttribute}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createTDataAttributeAdapter() {
+ if( tDataAttributeItemProvider == null ) {
+ tDataAttributeItemProvider = new TDataAttributeItemProvider( this );
+ }
+
+ return tDataAttributeItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TDataObject} instances.
+ *
+ *
+ * @generated
+ */
+ protected TDataObjectItemProvider tDataObjectItemProvider;
+
+ /**
+ * This creates an adapter for a {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TDataObject}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createTDataObjectAdapter() {
+ if( tDataObjectItemProvider == null ) {
+ tDataObjectItemProvider = new TDataObjectItemProvider( this );
+ }
+
+ return tDataObjectItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TDataSetMemberOf} instances.
+ *
+ *
+ * @generated
+ */
+ protected TDataSetMemberOfItemProvider tDataSetMemberOfItemProvider;
+
+ /**
+ * This creates an adapter for a {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TDataSetMemberOf}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createTDataSetMemberOfAdapter() {
+ if( tDataSetMemberOfItemProvider == null ) {
+ tDataSetMemberOfItemProvider = new TDataSetMemberOfItemProvider( this );
+ }
+
+ return tDataSetMemberOfItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TDoc} instances.
+ *
+ *
+ * @generated
+ */
+ protected TDocItemProvider tDocItemProvider;
+
+ /**
+ * This creates an adapter for a {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TDoc}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createTDocAdapter() {
+ if( tDocItemProvider == null ) {
+ tDocItemProvider = new TDocItemProvider( this );
+ }
+
+ return tDocItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TDocumentedClass} instances.
+ *
+ *
+ * @generated
+ */
+ protected TDocumentedClassItemProvider tDocumentedClassItemProvider;
+
+ /**
+ * This creates an adapter for a {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TDocumentedClass}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createTDocumentedClassAdapter() {
+ if( tDocumentedClassItemProvider == null ) {
+ tDocumentedClassItemProvider = new TDocumentedClassItemProvider( this );
+ }
+
+ return tDocumentedClassItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TEnumeration} instances.
+ *
+ *
+ * @generated
+ */
+ protected TEnumerationItemProvider tEnumerationItemProvider;
+
+ /**
+ * This creates an adapter for a {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TEnumeration}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createTEnumerationAdapter() {
+ if( tEnumerationItemProvider == null ) {
+ tEnumerationItemProvider = new TEnumerationItemProvider( this );
+ }
+
+ return tEnumerationItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TEnumerations} instances.
+ *
+ *
+ * @generated
+ */
+ protected TEnumerationsItemProvider tEnumerationsItemProvider;
+
+ /**
+ * This creates an adapter for a {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TEnumerations}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createTEnumerationsAdapter() {
+ if( tEnumerationsItemProvider == null ) {
+ tEnumerationsItemProvider = new TEnumerationsItemProvider( this );
+ }
+
+ return tEnumerationsItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TFunctionalConstraint} instances.
+ *
+ *
+ * @generated
+ */
+ protected TFunctionalConstraintItemProvider tFunctionalConstraintItemProvider;
+
+ /**
+ * This creates an adapter for a {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TFunctionalConstraint}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createTFunctionalConstraintAdapter() {
+ if( tFunctionalConstraintItemProvider == null ) {
+ tFunctionalConstraintItemProvider = new TFunctionalConstraintItemProvider( this );
+ }
+
+ return tFunctionalConstraintItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TFunctionalConstraints} instances.
+ *
+ *
+ * @generated
+ */
+ protected TFunctionalConstraintsItemProvider tFunctionalConstraintsItemProvider;
+
+ /**
+ * This creates an adapter for a {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TFunctionalConstraints}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createTFunctionalConstraintsAdapter() {
+ if( tFunctionalConstraintsItemProvider == null ) {
+ tFunctionalConstraintsItemProvider = new TFunctionalConstraintsItemProvider( this );
+ }
+
+ return tFunctionalConstraintsItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TLicense} instances.
+ *
+ *
+ * @generated
+ */
+ protected TLicenseItemProvider tLicenseItemProvider;
+
+ /**
+ * This creates an adapter for a {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TLicense}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createTLicenseAdapter() {
+ if( tLicenseItemProvider == null ) {
+ tLicenseItemProvider = new TLicenseItemProvider( this );
+ }
+
+ return tLicenseItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TLiteral} instances.
+ *
+ *
+ * @generated
+ */
+ protected TLiteralItemProvider tLiteralItemProvider;
+
+ /**
+ * This creates an adapter for a {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TLiteral}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createTLiteralAdapter() {
+ if( tLiteralItemProvider == null ) {
+ tLiteralItemProvider = new TLiteralItemProvider( this );
+ }
+
+ return tLiteralItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TLNClass} instances.
+ *
+ *
+ * @generated
+ */
+ protected TLNClassItemProvider tlnClassItemProvider;
+
+ /**
+ * This creates an adapter for a {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TLNClass}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createTLNClassAdapter() {
+ if( tlnClassItemProvider == null ) {
+ tlnClassItemProvider = new TLNClassItemProvider( this );
+ }
+
+ return tlnClassItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TLNClasses} instances.
+ *
+ *
+ * @generated
+ */
+ protected TLNClassesItemProvider tlnClassesItemProvider;
+
+ /**
+ * This creates an adapter for a {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TLNClasses}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createTLNClassesAdapter() {
+ if( tlnClassesItemProvider == null ) {
+ tlnClassesItemProvider = new TLNClassesItemProvider( this );
+ }
+
+ return tlnClassesItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TNotice} instances.
+ *
+ *
+ * @generated
+ */
+ protected TNoticeItemProvider tNoticeItemProvider;
+
+ /**
+ * This creates an adapter for a {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TNotice}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createTNoticeAdapter() {
+ if( tNoticeItemProvider == null ) {
+ tNoticeItemProvider = new TNoticeItemProvider( this );
+ }
+
+ return tNoticeItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TNS} instances.
+ *
+ *
+ * @generated
+ */
+ protected TNSItemProvider tnsItemProvider;
+
+ /**
+ * This creates an adapter for a {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TNS}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createTNSAdapter() {
+ if( tnsItemProvider == null ) {
+ tnsItemProvider = new TNSItemProvider( this );
+ }
+
+ return tnsItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TNSDoc} instances.
+ *
+ *
+ * @generated
+ */
+ protected TNSDocItemProvider tnsDocItemProvider;
+
+ /**
+ * This creates an adapter for a {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TNSDoc}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createTNSDocAdapter() {
+ if( tnsDocItemProvider == null ) {
+ tnsDocItemProvider = new TNSDocItemProvider( this );
+ }
+
+ return tnsDocItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TPresenceCondition} instances.
+ *
+ *
+ * @generated
+ */
+ protected TPresenceConditionItemProvider tPresenceConditionItemProvider;
+
+ /**
+ * This creates an adapter for a {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TPresenceCondition}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createTPresenceConditionAdapter() {
+ if( tPresenceConditionItemProvider == null ) {
+ tPresenceConditionItemProvider = new TPresenceConditionItemProvider( this );
+ }
+
+ return tPresenceConditionItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TPresenceConditions} instances.
+ *
+ *
+ * @generated
+ */
+ protected TPresenceConditionsItemProvider tPresenceConditionsItemProvider;
+
+ /**
+ * This creates an adapter for a {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TPresenceConditions}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createTPresenceConditionsAdapter() {
+ if( tPresenceConditionsItemProvider == null ) {
+ tPresenceConditionsItemProvider = new TPresenceConditionsItemProvider( this );
+ }
+
+ return tPresenceConditionsItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TServiceCDC} instances.
+ *
+ *
+ * @generated
+ */
+ protected TServiceCDCItemProvider tServiceCDCItemProvider;
+
+ /**
+ * This creates an adapter for a {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TServiceCDC}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createTServiceCDCAdapter() {
+ if( tServiceCDCItemProvider == null ) {
+ tServiceCDCItemProvider = new TServiceCDCItemProvider( this );
+ }
+
+ return tServiceCDCItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TServiceCDCs} instances.
+ *
+ *
+ * @generated
+ */
+ protected TServiceCDCsItemProvider tServiceCDCsItemProvider;
+
+ /**
+ * This creates an adapter for a {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TServiceCDCs}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createTServiceCDCsAdapter() {
+ if( tServiceCDCsItemProvider == null ) {
+ tServiceCDCsItemProvider = new TServiceCDCsItemProvider( this );
+ }
+
+ return tServiceCDCsItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TServiceConstructedAttribute} instances.
+ *
+ *
+ * @generated
+ */
+ protected TServiceConstructedAttributeItemProvider tServiceConstructedAttributeItemProvider;
+
+ /**
+ * This creates an adapter for a {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TServiceConstructedAttribute}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createTServiceConstructedAttributeAdapter() {
+ if( tServiceConstructedAttributeItemProvider == null ) {
+ tServiceConstructedAttributeItemProvider = new TServiceConstructedAttributeItemProvider( this );
+ }
+
+ return tServiceConstructedAttributeItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TServiceConstructedAttributes} instances.
+ *
+ *
+ * @generated
+ */
+ protected TServiceConstructedAttributesItemProvider tServiceConstructedAttributesItemProvider;
+
+ /**
+ * This creates an adapter for a {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TServiceConstructedAttributes}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createTServiceConstructedAttributesAdapter() {
+ if( tServiceConstructedAttributesItemProvider == null ) {
+ tServiceConstructedAttributesItemProvider = new TServiceConstructedAttributesItemProvider( this );
+ }
+
+ return tServiceConstructedAttributesItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TServiceDataAttribute} instances.
+ *
+ *
+ * @generated
+ */
+ protected TServiceDataAttributeItemProvider tServiceDataAttributeItemProvider;
+
+ /**
+ * This creates an adapter for a {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TServiceDataAttribute}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createTServiceDataAttributeAdapter() {
+ if( tServiceDataAttributeItemProvider == null ) {
+ tServiceDataAttributeItemProvider = new TServiceDataAttributeItemProvider( this );
+ }
+
+ return tServiceDataAttributeItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TServiceNS} instances.
+ *
+ *
+ * @generated
+ */
+ protected TServiceNSItemProvider tServiceNSItemProvider;
+
+ /**
+ * This creates an adapter for a {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TServiceNS}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createTServiceNSAdapter() {
+ if( tServiceNSItemProvider == null ) {
+ tServiceNSItemProvider = new TServiceNSItemProvider( this );
+ }
+
+ return tServiceNSItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TServiceNsUsage} instances.
+ *
+ *
+ * @generated
+ */
+ protected TServiceNsUsageItemProvider tServiceNsUsageItemProvider;
+
+ /**
+ * This creates an adapter for a {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TServiceNsUsage}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createTServiceNsUsageAdapter() {
+ if( tServiceNsUsageItemProvider == null ) {
+ tServiceNsUsageItemProvider = new TServiceNsUsageItemProvider( this );
+ }
+
+ return tServiceNsUsageItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TServiceParameter} instances.
+ *
+ *
+ * @generated
+ */
+ protected TServiceParameterItemProvider tServiceParameterItemProvider;
+
+ /**
+ * This creates an adapter for a {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TServiceParameter}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createTServiceParameterAdapter() {
+ if( tServiceParameterItemProvider == null ) {
+ tServiceParameterItemProvider = new TServiceParameterItemProvider( this );
+ }
+
+ return tServiceParameterItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TServiceTypeRealization} instances.
+ *
+ *
+ * @generated
+ */
+ protected TServiceTypeRealizationItemProvider tServiceTypeRealizationItemProvider;
+
+ /**
+ * This creates an adapter for a {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TServiceTypeRealization}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createTServiceTypeRealizationAdapter() {
+ if( tServiceTypeRealizationItemProvider == null ) {
+ tServiceTypeRealizationItemProvider = new TServiceTypeRealizationItemProvider( this );
+ }
+
+ return tServiceTypeRealizationItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TServiceTypeRealizations} instances.
+ *
+ *
+ * @generated
+ */
+ protected TServiceTypeRealizationsItemProvider tServiceTypeRealizationsItemProvider;
+
+ /**
+ * This creates an adapter for a {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TServiceTypeRealizations}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createTServiceTypeRealizationsAdapter() {
+ if( tServiceTypeRealizationsItemProvider == null ) {
+ tServiceTypeRealizationsItemProvider = new TServiceTypeRealizationsItemProvider( this );
+ }
+
+ return tServiceTypeRealizationsItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TSubDataAttribute} instances.
+ *
+ *
+ * @generated
+ */
+ protected TSubDataAttributeItemProvider tSubDataAttributeItemProvider;
+
+ /**
+ * This creates an adapter for a {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TSubDataAttribute}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createTSubDataAttributeAdapter() {
+ if( tSubDataAttributeItemProvider == null ) {
+ tSubDataAttributeItemProvider = new TSubDataAttributeItemProvider( this );
+ }
+
+ return tSubDataAttributeItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TSubDataObject} instances.
+ *
+ *
+ * @generated
+ */
+ protected TSubDataObjectItemProvider tSubDataObjectItemProvider;
+
+ /**
+ * This creates an adapter for a {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TSubDataObject}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createTSubDataObjectAdapter() {
+ if( tSubDataObjectItemProvider == null ) {
+ tSubDataObjectItemProvider = new TSubDataObjectItemProvider( this );
+ }
+
+ return tSubDataObjectItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TTitledClass} instances.
+ *
+ *
+ * @generated
+ */
+ protected TTitledClassItemProvider tTitledClassItemProvider;
+
+ /**
+ * This creates an adapter for a {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TTitledClass}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createTTitledClassAdapter() {
+ if( tTitledClassItemProvider == null ) {
+ tTitledClassItemProvider = new TTitledClassItemProvider( this );
+ }
+
+ return tTitledClassItemProvider;
+ }
+
+ /**
+ * This returns the root adapter factory that contains this factory.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public ComposeableAdapterFactory getRootAdapterFactory() {
+ return parentAdapterFactory == null ? this : parentAdapterFactory.getRootAdapterFactory();
+ }
+
+ /**
+ * This sets the composed adapter factory that contains this factory.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void setParentAdapterFactory( ComposedAdapterFactory parentAdapterFactory ) {
+ this.parentAdapterFactory = parentAdapterFactory;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType( Object type ) {
+ return supportedTypes.contains( type ) || super.isFactoryForType( type );
+ }
+
+ /**
+ * This implementation substitutes the factory itself as the key for the adapter.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Adapter adapt( Notifier notifier, Object type ) {
+ return super.adapt( notifier, this );
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Object adapt( Object object, Object type ) {
+ if( isFactoryForType( type ) ) {
+ Object adapter = super.adapt( object, type );
+ if( !( type instanceof Class< ? > ) || ( ( ( Class< ? > ) type ).isInstance( adapter ) ) ) {
+ return adapter;
+ }
+ }
+
+ return null;
+ }
+
+ /**
+ * This adds a listener.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void addListener( INotifyChangedListener notifyChangedListener ) {
+ changeNotifier.addListener( notifyChangedListener );
+ }
+
+ /**
+ * This removes a listener.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void removeListener( INotifyChangedListener notifyChangedListener ) {
+ changeNotifier.removeListener( notifyChangedListener );
+ }
+
+ /**
+ * This delegates to {@link #changeNotifier} and to {@link #parentAdapterFactory}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void fireNotifyChanged( Notification notification ) {
+ changeNotifier.fireNotifyChanged( notification );
+
+ if( parentAdapterFactory != null ) {
+ parentAdapterFactory.fireNotifyChanged( notification );
+ }
+ }
+
+ /**
+ * This disposes all of the item providers created by this factory.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void dispose() {
+ if( appliesToTypeItemProvider != null ) appliesToTypeItemProvider.dispose();
+ if( dependsOnTypeItemProvider != null ) dependsOnTypeItemProvider.dispose();
+ if( documentRootItemProvider != null ) documentRootItemProvider.dispose();
+ if( serviceTypeItemProvider != null ) serviceTypeItemProvider.dispose();
+ if( tAbbreviationItemProvider != null ) tAbbreviationItemProvider.dispose();
+ if( tAbbreviationsItemProvider != null ) tAbbreviationsItemProvider.dispose();
+ if( tAbstractLNClassItemProvider != null ) tAbstractLNClassItemProvider.dispose();
+ if( tApplicableServiceNSItemProvider != null ) tApplicableServiceNSItemProvider.dispose();
+ if( tApplicableServicesItemProvider != null ) tApplicableServicesItemProvider.dispose();
+ if( tBasicTypeItemProvider != null ) tBasicTypeItemProvider.dispose();
+ if( tBasicTypesItemProvider != null ) tBasicTypesItemProvider.dispose();
+ if( tcdcItemProvider != null ) tcdcItemProvider.dispose();
+ if( tcdCsItemProvider != null ) tcdCsItemProvider.dispose();
+ if( tChangesItemProvider != null ) tChangesItemProvider.dispose();
+ if( tConstructedAttributeItemProvider != null ) tConstructedAttributeItemProvider.dispose();
+ if( tConstructedAttributesItemProvider != null ) tConstructedAttributesItemProvider.dispose();
+ if( tCopyrightedItemProvider != null ) tCopyrightedItemProvider.dispose();
+ if( tCopyrightNoticeItemProvider != null ) tCopyrightNoticeItemProvider.dispose();
+ if( tDataAttributeItemProvider != null ) tDataAttributeItemProvider.dispose();
+ if( tDataObjectItemProvider != null ) tDataObjectItemProvider.dispose();
+ if( tDataSetMemberOfItemProvider != null ) tDataSetMemberOfItemProvider.dispose();
+ if( tDocItemProvider != null ) tDocItemProvider.dispose();
+ if( tDocumentedClassItemProvider != null ) tDocumentedClassItemProvider.dispose();
+ if( tEnumerationItemProvider != null ) tEnumerationItemProvider.dispose();
+ if( tEnumerationsItemProvider != null ) tEnumerationsItemProvider.dispose();
+ if( tFunctionalConstraintItemProvider != null ) tFunctionalConstraintItemProvider.dispose();
+ if( tFunctionalConstraintsItemProvider != null ) tFunctionalConstraintsItemProvider.dispose();
+ if( tLicenseItemProvider != null ) tLicenseItemProvider.dispose();
+ if( tLiteralItemProvider != null ) tLiteralItemProvider.dispose();
+ if( tlnClassItemProvider != null ) tlnClassItemProvider.dispose();
+ if( tlnClassesItemProvider != null ) tlnClassesItemProvider.dispose();
+ if( tNoticeItemProvider != null ) tNoticeItemProvider.dispose();
+ if( tnsItemProvider != null ) tnsItemProvider.dispose();
+ if( tnsDocItemProvider != null ) tnsDocItemProvider.dispose();
+ if( tPresenceConditionItemProvider != null ) tPresenceConditionItemProvider.dispose();
+ if( tPresenceConditionsItemProvider != null ) tPresenceConditionsItemProvider.dispose();
+ if( tServiceCDCItemProvider != null ) tServiceCDCItemProvider.dispose();
+ if( tServiceCDCsItemProvider != null ) tServiceCDCsItemProvider.dispose();
+ if( tServiceConstructedAttributeItemProvider != null ) tServiceConstructedAttributeItemProvider.dispose();
+ if( tServiceConstructedAttributesItemProvider != null ) tServiceConstructedAttributesItemProvider.dispose();
+ if( tServiceDataAttributeItemProvider != null ) tServiceDataAttributeItemProvider.dispose();
+ if( tServiceNSItemProvider != null ) tServiceNSItemProvider.dispose();
+ if( tServiceNsUsageItemProvider != null ) tServiceNsUsageItemProvider.dispose();
+ if( tServiceParameterItemProvider != null ) tServiceParameterItemProvider.dispose();
+ if( tServiceTypeRealizationItemProvider != null ) tServiceTypeRealizationItemProvider.dispose();
+ if( tServiceTypeRealizationsItemProvider != null ) tServiceTypeRealizationsItemProvider.dispose();
+ if( tSubDataAttributeItemProvider != null ) tSubDataAttributeItemProvider.dispose();
+ if( tSubDataObjectItemProvider != null ) tSubDataObjectItemProvider.dispose();
+ if( tTitledClassItemProvider != null ) tTitledClassItemProvider.dispose();
+ }
+
+}
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/ServiceTypeItemProvider.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/ServiceTypeItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..faa28dfb73622e1fb03988d5b00670ccf720f63c
--- /dev/null
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/ServiceTypeItemProvider.java
@@ -0,0 +1,162 @@
+/**
+ * Copyright (c) 2019 CentraleSupélec & EDF.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * This file is part of the RiseClipse tool
+ *
+ * Contributors:
+ * Computer Science Department, CentraleSupélec
+ * EDF R&D
+ * Contacts:
+ * dominique.marcadet@centralesupelec.fr
+ * aurelie.dehouck-neveu@edf.fr
+ * Web site:
+ * http://wdi.supelec.fr/software/RiseClipse/
+ *
+ */
+package fr.centralesupelec.edf.riseclipse.iec61850.nsd.provider;
+
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage;
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceType;
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.TACSIServicesKind;
+
+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.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceType} object.
+ *
+ *
+ * @generated
+ */
+public class ServiceTypeItemProvider extends ItemProviderAdapter implements IEditingDomainItemProvider,
+ IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ *
+ *
+ * @generated
+ */
+ public ServiceTypeItemProvider( AdapterFactory adapterFactory ) {
+ super( adapterFactory );
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public List< IItemPropertyDescriptor > getPropertyDescriptors( Object object ) {
+ if( itemPropertyDescriptors == null ) {
+ super.getPropertyDescriptors( object );
+
+ addNamePropertyDescriptor( object );
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Name feature.
+ *
+ *
+ * @generated
+ */
+ protected void addNamePropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_ServiceType_name_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_ServiceType_name_feature",
+ "_UI_ServiceType_type" ),
+ NsdPackage.Literals.SERVICE_TYPE__NAME, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This returns ServiceType.gif.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage( Object object ) {
+ return overlayImage( object, getResourceLocator().getImage( "full/obj16/ServiceType" ) );
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public String getText( Object object ) {
+ TACSIServicesKind labelValue = ( ( ServiceType ) object ).getName();
+ String label = labelValue == null ? null : labelValue.toString();
+ return label == null || label.length() == 0 ? getString( "_UI_ServiceType_type" )
+ : getString( "_UI_ServiceType_type" ) + " " + label;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged( Notification notification ) {
+ updateChildren( notification );
+
+ switch( notification.getFeatureID( ServiceType.class ) ) {
+ case NsdPackage.SERVICE_TYPE__NAME:
+ fireNotifyChanged( new ViewerNotification( notification, notification.getNotifier(), false, true ) );
+ return;
+ }
+ super.notifyChanged( notification );
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors( Collection< Object > newChildDescriptors, Object object ) {
+ super.collectNewChildDescriptors( newChildDescriptors, object );
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return NSDEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TAbbreviationItemProvider.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TAbbreviationItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..498f66012e06416679f738f9699e4854ac44e43b
--- /dev/null
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TAbbreviationItemProvider.java
@@ -0,0 +1,178 @@
+/**
+ * Copyright (c) 2019 CentraleSupélec & EDF.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * This file is part of the RiseClipse tool
+ *
+ * Contributors:
+ * Computer Science Department, CentraleSupélec
+ * EDF R&D
+ * Contacts:
+ * dominique.marcadet@centralesupelec.fr
+ * aurelie.dehouck-neveu@edf.fr
+ * Web site:
+ * http://wdi.supelec.fr/software/RiseClipse/
+ *
+ */
+package fr.centralesupelec.edf.riseclipse.iec61850.nsd.provider;
+
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage;
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.TAbbreviation;
+
+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.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TAbbreviation} object.
+ *
+ *
+ * @generated
+ */
+public class TAbbreviationItemProvider extends ItemProviderAdapter implements IEditingDomainItemProvider,
+ IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ *
+ *
+ * @generated
+ */
+ public TAbbreviationItemProvider( AdapterFactory adapterFactory ) {
+ super( adapterFactory );
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public List< IItemPropertyDescriptor > getPropertyDescriptors( Object object ) {
+ if( itemPropertyDescriptors == null ) {
+ super.getPropertyDescriptors( object );
+
+ addDescIDPropertyDescriptor( object );
+ addNamePropertyDescriptor( object );
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Desc ID feature.
+ *
+ *
+ * @generated
+ */
+ protected void addDescIDPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TAbbreviation_descID_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TAbbreviation_descID_feature",
+ "_UI_TAbbreviation_type" ),
+ NsdPackage.Literals.TABBREVIATION__DESC_ID, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Name feature.
+ *
+ *
+ * @generated
+ */
+ protected void addNamePropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TAbbreviation_name_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TAbbreviation_name_feature",
+ "_UI_TAbbreviation_type" ),
+ NsdPackage.Literals.TABBREVIATION__NAME, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This returns TAbbreviation.gif.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage( Object object ) {
+ return overlayImage( object, getResourceLocator().getImage( "full/obj16/TAbbreviation" ) );
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public String getText( Object object ) {
+ String label = ( ( TAbbreviation ) object ).getName();
+ return label == null || label.length() == 0 ? getString( "_UI_TAbbreviation_type" )
+ : getString( "_UI_TAbbreviation_type" ) + " " + label;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged( Notification notification ) {
+ updateChildren( notification );
+
+ switch( notification.getFeatureID( TAbbreviation.class ) ) {
+ case NsdPackage.TABBREVIATION__DESC_ID:
+ case NsdPackage.TABBREVIATION__NAME:
+ fireNotifyChanged( new ViewerNotification( notification, notification.getNotifier(), false, true ) );
+ return;
+ }
+ super.notifyChanged( notification );
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors( Collection< Object > newChildDescriptors, Object object ) {
+ super.collectNewChildDescriptors( newChildDescriptors, object );
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return NSDEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TAbbreviationsItemProvider.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TAbbreviationsItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..521b4c724c4397a99a5929c2314dc94dcf967b2a
--- /dev/null
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TAbbreviationsItemProvider.java
@@ -0,0 +1,175 @@
+/**
+ * Copyright (c) 2019 CentraleSupélec & EDF.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * This file is part of the RiseClipse tool
+ *
+ * Contributors:
+ * Computer Science Department, CentraleSupélec
+ * EDF R&D
+ * Contacts:
+ * dominique.marcadet@centralesupelec.fr
+ * aurelie.dehouck-neveu@edf.fr
+ * Web site:
+ * http://wdi.supelec.fr/software/RiseClipse/
+ *
+ */
+package fr.centralesupelec.edf.riseclipse.iec61850.nsd.provider;
+
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdFactory;
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage;
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.TAbbreviations;
+
+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.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TAbbreviations} object.
+ *
+ *
+ * @generated
+ */
+public class TAbbreviationsItemProvider extends ItemProviderAdapter implements IEditingDomainItemProvider,
+ IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ *
+ *
+ * @generated
+ */
+ public TAbbreviationsItemProvider( AdapterFactory adapterFactory ) {
+ super( adapterFactory );
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public List< IItemPropertyDescriptor > getPropertyDescriptors( Object object ) {
+ if( itemPropertyDescriptors == null ) {
+ super.getPropertyDescriptors( object );
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * 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
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Collection< ? extends EStructuralFeature > getChildrenFeatures( Object object ) {
+ if( childrenFeatures == null ) {
+ super.getChildrenFeatures( object );
+ childrenFeatures.add( NsdPackage.Literals.TABBREVIATIONS__ABBREVIATION );
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected EStructuralFeature getChildFeature( Object object, Object child ) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature( object, child );
+ }
+
+ /**
+ * This returns TAbbreviations.gif.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage( Object object ) {
+ return overlayImage( object, getResourceLocator().getImage( "full/obj16/TAbbreviations" ) );
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public String getText( Object object ) {
+ return getString( "_UI_TAbbreviations_type" );
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged( Notification notification ) {
+ updateChildren( notification );
+
+ switch( notification.getFeatureID( TAbbreviations.class ) ) {
+ case NsdPackage.TABBREVIATIONS__ABBREVIATION:
+ fireNotifyChanged( new ViewerNotification( notification, notification.getNotifier(), true, false ) );
+ return;
+ }
+ super.notifyChanged( notification );
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors( Collection< Object > newChildDescriptors, Object object ) {
+ super.collectNewChildDescriptors( newChildDescriptors, object );
+
+ newChildDescriptors.add( createChildParameter( NsdPackage.Literals.TABBREVIATIONS__ABBREVIATION,
+ NsdFactory.eINSTANCE.createTAbbreviation() ) );
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return NSDEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TAbstractLNClassItemProvider.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TAbstractLNClassItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..629ef0c168e31c08b3fc7d0abccd9a96db3b649d
--- /dev/null
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TAbstractLNClassItemProvider.java
@@ -0,0 +1,140 @@
+/**
+ * Copyright (c) 2019 CentraleSupélec & EDF.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * This file is part of the RiseClipse tool
+ *
+ * Contributors:
+ * Computer Science Department, CentraleSupélec
+ * EDF R&D
+ * Contacts:
+ * dominique.marcadet@centralesupelec.fr
+ * aurelie.dehouck-neveu@edf.fr
+ * Web site:
+ * http://wdi.supelec.fr/software/RiseClipse/
+ *
+ */
+package fr.centralesupelec.edf.riseclipse.iec61850.nsd.provider;
+
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage;
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.TAbstractLNClass;
+
+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.TAbstractLNClass} object.
+ *
+ *
+ * @generated
+ */
+public class TAbstractLNClassItemProvider extends TAnyLNClassItemProvider {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ *
+ *
+ * @generated
+ */
+ public TAbstractLNClassItemProvider( AdapterFactory adapterFactory ) {
+ super( adapterFactory );
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public List< IItemPropertyDescriptor > getPropertyDescriptors( Object object ) {
+ if( itemPropertyDescriptors == null ) {
+ super.getPropertyDescriptors( object );
+
+ addNamePropertyDescriptor( object );
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Name feature.
+ *
+ *
+ * @generated
+ */
+ protected void addNamePropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TAbstractLNClass_name_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TAbstractLNClass_name_feature",
+ "_UI_TAbstractLNClass_type" ),
+ NsdPackage.Literals.TABSTRACT_LN_CLASS__NAME, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This returns TAbstractLNClass.gif.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage( Object object ) {
+ return overlayImage( object, getResourceLocator().getImage( "full/obj16/TAbstractLNClass" ) );
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public String getText( Object object ) {
+ String label = ( ( TAbstractLNClass ) object ).getName();
+ return label == null || label.length() == 0 ? getString( "_UI_TAbstractLNClass_type" )
+ : getString( "_UI_TAbstractLNClass_type" ) + " " + label;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged( Notification notification ) {
+ updateChildren( notification );
+
+ switch( notification.getFeatureID( TAbstractLNClass.class ) ) {
+ case NsdPackage.TABSTRACT_LN_CLASS__NAME:
+ fireNotifyChanged( new ViewerNotification( notification, notification.getNotifier(), false, true ) );
+ return;
+ }
+ super.notifyChanged( notification );
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors( Collection< Object > newChildDescriptors, Object object ) {
+ super.collectNewChildDescriptors( newChildDescriptors, object );
+ }
+
+}
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TAnyLNClassItemProvider.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TAnyLNClassItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..a29a220c4801ba3d7a180603e61796f7369d624f
--- /dev/null
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TAnyLNClassItemProvider.java
@@ -0,0 +1,167 @@
+/**
+ * Copyright (c) 2019 CentraleSupélec & EDF.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * This file is part of the RiseClipse tool
+ *
+ * Contributors:
+ * Computer Science Department, CentraleSupélec
+ * EDF R&D
+ * Contacts:
+ * dominique.marcadet@centralesupelec.fr
+ * aurelie.dehouck-neveu@edf.fr
+ * Web site:
+ * http://wdi.supelec.fr/software/RiseClipse/
+ *
+ */
+package fr.centralesupelec.edf.riseclipse.iec61850.nsd.provider;
+
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdFactory;
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage;
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.TAnyLNClass;
+
+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.ecore.EStructuralFeature;
+
+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.TAnyLNClass} object.
+ *
+ *
+ * @generated
+ */
+public class TAnyLNClassItemProvider extends TTitledClassItemProvider {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ *
+ *
+ * @generated
+ */
+ public TAnyLNClassItemProvider( AdapterFactory adapterFactory ) {
+ super( adapterFactory );
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public List< IItemPropertyDescriptor > getPropertyDescriptors( Object object ) {
+ if( itemPropertyDescriptors == null ) {
+ super.getPropertyDescriptors( object );
+
+ addBasePropertyDescriptor( object );
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Base feature.
+ *
+ *
+ * @generated
+ */
+ protected void addBasePropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TAnyLNClass_base_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TAnyLNClass_base_feature",
+ "_UI_TAnyLNClass_type" ),
+ NsdPackage.Literals.TANY_LN_CLASS__BASE, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, 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
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Collection< ? extends EStructuralFeature > getChildrenFeatures( Object object ) {
+ if( childrenFeatures == null ) {
+ super.getChildrenFeatures( object );
+ childrenFeatures.add( NsdPackage.Literals.TANY_LN_CLASS__DATA_OBJECT );
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected EStructuralFeature getChildFeature( Object object, Object child ) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature( object, child );
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public String getText( Object object ) {
+ TAnyLNClass tAnyLNClass = ( TAnyLNClass ) object;
+ return getString( "_UI_TAnyLNClass_type" ) + " " + tAnyLNClass.isDeprecated();
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged( Notification notification ) {
+ updateChildren( notification );
+
+ switch( notification.getFeatureID( TAnyLNClass.class ) ) {
+ case NsdPackage.TANY_LN_CLASS__BASE:
+ fireNotifyChanged( new ViewerNotification( notification, notification.getNotifier(), false, true ) );
+ return;
+ case NsdPackage.TANY_LN_CLASS__DATA_OBJECT:
+ fireNotifyChanged( new ViewerNotification( notification, notification.getNotifier(), true, false ) );
+ return;
+ }
+ super.notifyChanged( notification );
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors( Collection< Object > newChildDescriptors, Object object ) {
+ super.collectNewChildDescriptors( newChildDescriptors, object );
+
+ newChildDescriptors.add( createChildParameter( NsdPackage.Literals.TANY_LN_CLASS__DATA_OBJECT,
+ NsdFactory.eINSTANCE.createTDataObject() ) );
+ }
+
+}
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TApplicableServiceNSItemProvider.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TApplicableServiceNSItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..afe74ab4d5e4f6425a853c5f9f775da5c77e96d9
--- /dev/null
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TApplicableServiceNSItemProvider.java
@@ -0,0 +1,200 @@
+/**
+ * Copyright (c) 2019 CentraleSupélec & EDF.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * This file is part of the RiseClipse tool
+ *
+ * Contributors:
+ * Computer Science Department, CentraleSupélec
+ * EDF R&D
+ * Contacts:
+ * dominique.marcadet@centralesupelec.fr
+ * aurelie.dehouck-neveu@edf.fr
+ * Web site:
+ * http://wdi.supelec.fr/software/RiseClipse/
+ *
+ */
+package fr.centralesupelec.edf.riseclipse.iec61850.nsd.provider;
+
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdFactory;
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage;
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.TApplicableServiceNS;
+
+import java.util.Collection;
+import java.util.List;
+
+import javax.xml.datatype.XMLGregorianCalendar;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+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.TApplicableServiceNS} object.
+ *
+ *
+ * @generated
+ */
+public class TApplicableServiceNSItemProvider extends TCopyrightedItemProvider {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ *
+ *
+ * @generated
+ */
+ public TApplicableServiceNSItemProvider( AdapterFactory adapterFactory ) {
+ super( adapterFactory );
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public List< IItemPropertyDescriptor > getPropertyDescriptors( Object object ) {
+ if( itemPropertyDescriptors == null ) {
+ super.getPropertyDescriptors( object );
+
+ addDatePropertyDescriptor( object );
+ addVersionPropertyDescriptor( object );
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Date feature.
+ *
+ *
+ * @generated
+ */
+ protected void addDatePropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TApplicableServiceNS_date_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TApplicableServiceNS_date_feature",
+ "_UI_TApplicableServiceNS_type" ),
+ NsdPackage.Literals.TAPPLICABLE_SERVICE_NS__DATE, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Version feature.
+ *
+ *
+ * @generated
+ */
+ protected void addVersionPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TApplicableServiceNS_version_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TApplicableServiceNS_version_feature",
+ "_UI_TApplicableServiceNS_type" ),
+ NsdPackage.Literals.TAPPLICABLE_SERVICE_NS__VERSION, true, false, false,
+ ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE, 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
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Collection< ? extends EStructuralFeature > getChildrenFeatures( Object object ) {
+ if( childrenFeatures == null ) {
+ super.getChildrenFeatures( object );
+ childrenFeatures.add( NsdPackage.Literals.TAPPLICABLE_SERVICE_NS__SERVICE_NS_USAGE );
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected EStructuralFeature getChildFeature( Object object, Object child ) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature( object, child );
+ }
+
+ /**
+ * This returns TApplicableServiceNS.gif.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage( Object object ) {
+ return overlayImage( object, getResourceLocator().getImage( "full/obj16/TApplicableServiceNS" ) );
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public String getText( Object object ) {
+ XMLGregorianCalendar labelValue = ( ( TApplicableServiceNS ) object ).getDate();
+ String label = labelValue == null ? null : labelValue.toString();
+ return label == null || label.length() == 0 ? getString( "_UI_TApplicableServiceNS_type" )
+ : getString( "_UI_TApplicableServiceNS_type" ) + " " + label;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged( Notification notification ) {
+ updateChildren( notification );
+
+ switch( notification.getFeatureID( TApplicableServiceNS.class ) ) {
+ case NsdPackage.TAPPLICABLE_SERVICE_NS__DATE:
+ case NsdPackage.TAPPLICABLE_SERVICE_NS__VERSION:
+ fireNotifyChanged( new ViewerNotification( notification, notification.getNotifier(), false, true ) );
+ return;
+ case NsdPackage.TAPPLICABLE_SERVICE_NS__SERVICE_NS_USAGE:
+ fireNotifyChanged( new ViewerNotification( notification, notification.getNotifier(), true, false ) );
+ return;
+ }
+ super.notifyChanged( notification );
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors( Collection< Object > newChildDescriptors, Object object ) {
+ super.collectNewChildDescriptors( newChildDescriptors, object );
+
+ newChildDescriptors.add( createChildParameter( NsdPackage.Literals.TAPPLICABLE_SERVICE_NS__SERVICE_NS_USAGE,
+ NsdFactory.eINSTANCE.createTServiceNsUsage() ) );
+ }
+
+}
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TApplicableServicesItemProvider.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TApplicableServicesItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..d6a453b2132e83ba53574ad4e72651e6be556ca1
--- /dev/null
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TApplicableServicesItemProvider.java
@@ -0,0 +1,180 @@
+/**
+ * Copyright (c) 2019 CentraleSupélec & EDF.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * This file is part of the RiseClipse tool
+ *
+ * Contributors:
+ * Computer Science Department, CentraleSupélec
+ * EDF R&D
+ * Contacts:
+ * dominique.marcadet@centralesupelec.fr
+ * aurelie.dehouck-neveu@edf.fr
+ * Web site:
+ * http://wdi.supelec.fr/software/RiseClipse/
+ *
+ */
+package fr.centralesupelec.edf.riseclipse.iec61850.nsd.provider;
+
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdFactory;
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage;
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.TApplicableServices;
+
+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.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TApplicableServices} object.
+ *
+ *
+ * @generated
+ */
+public class TApplicableServicesItemProvider extends ItemProviderAdapter implements IEditingDomainItemProvider,
+ IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ *
+ *
+ * @generated
+ */
+ public TApplicableServicesItemProvider( AdapterFactory adapterFactory ) {
+ super( adapterFactory );
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public List< IItemPropertyDescriptor > getPropertyDescriptors( Object object ) {
+ if( itemPropertyDescriptors == null ) {
+ super.getPropertyDescriptors( object );
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * 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
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Collection< ? extends EStructuralFeature > getChildrenFeatures( Object object ) {
+ if( childrenFeatures == null ) {
+ super.getChildrenFeatures( object );
+ childrenFeatures.add( NsdPackage.Literals.TAPPLICABLE_SERVICES__SERVICE );
+ childrenFeatures.add( NsdPackage.Literals.TAPPLICABLE_SERVICES__DATA_SET_MEMBER_OF );
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected EStructuralFeature getChildFeature( Object object, Object child ) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature( object, child );
+ }
+
+ /**
+ * This returns TApplicableServices.gif.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage( Object object ) {
+ return overlayImage( object, getResourceLocator().getImage( "full/obj16/TApplicableServices" ) );
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public String getText( Object object ) {
+ return getString( "_UI_TApplicableServices_type" );
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged( Notification notification ) {
+ updateChildren( notification );
+
+ switch( notification.getFeatureID( TApplicableServices.class ) ) {
+ case NsdPackage.TAPPLICABLE_SERVICES__SERVICE:
+ case NsdPackage.TAPPLICABLE_SERVICES__DATA_SET_MEMBER_OF:
+ fireNotifyChanged( new ViewerNotification( notification, notification.getNotifier(), true, false ) );
+ return;
+ }
+ super.notifyChanged( notification );
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors( Collection< Object > newChildDescriptors, Object object ) {
+ super.collectNewChildDescriptors( newChildDescriptors, object );
+
+ newChildDescriptors.add( createChildParameter( NsdPackage.Literals.TAPPLICABLE_SERVICES__SERVICE,
+ NsdFactory.eINSTANCE.createServiceType() ) );
+
+ newChildDescriptors.add( createChildParameter( NsdPackage.Literals.TAPPLICABLE_SERVICES__DATA_SET_MEMBER_OF,
+ NsdFactory.eINSTANCE.createTDataSetMemberOf() ) );
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return NSDEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TBasicTypeItemProvider.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TBasicTypeItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..50cf4ada4f5c0fdaefccf8ea6092cb73b6d46b76
--- /dev/null
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TBasicTypeItemProvider.java
@@ -0,0 +1,178 @@
+/**
+ * Copyright (c) 2019 CentraleSupélec & EDF.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * This file is part of the RiseClipse tool
+ *
+ * Contributors:
+ * Computer Science Department, CentraleSupélec
+ * EDF R&D
+ * Contacts:
+ * dominique.marcadet@centralesupelec.fr
+ * aurelie.dehouck-neveu@edf.fr
+ * Web site:
+ * http://wdi.supelec.fr/software/RiseClipse/
+ *
+ */
+package fr.centralesupelec.edf.riseclipse.iec61850.nsd.provider;
+
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage;
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.TBasicType;
+
+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.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TBasicType} object.
+ *
+ *
+ * @generated
+ */
+public class TBasicTypeItemProvider extends ItemProviderAdapter implements IEditingDomainItemProvider,
+ IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ *
+ *
+ * @generated
+ */
+ public TBasicTypeItemProvider( AdapterFactory adapterFactory ) {
+ super( adapterFactory );
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public List< IItemPropertyDescriptor > getPropertyDescriptors( Object object ) {
+ if( itemPropertyDescriptors == null ) {
+ super.getPropertyDescriptors( object );
+
+ addDescIDPropertyDescriptor( object );
+ addNamePropertyDescriptor( object );
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Desc ID feature.
+ *
+ *
+ * @generated
+ */
+ protected void addDescIDPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TBasicType_descID_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TBasicType_descID_feature",
+ "_UI_TBasicType_type" ),
+ NsdPackage.Literals.TBASIC_TYPE__DESC_ID, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Name feature.
+ *
+ *
+ * @generated
+ */
+ protected void addNamePropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TBasicType_name_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TBasicType_name_feature",
+ "_UI_TBasicType_type" ),
+ NsdPackage.Literals.TBASIC_TYPE__NAME, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This returns TBasicType.gif.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage( Object object ) {
+ return overlayImage( object, getResourceLocator().getImage( "full/obj16/TBasicType" ) );
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public String getText( Object object ) {
+ String label = ( ( TBasicType ) object ).getName();
+ return label == null || label.length() == 0 ? getString( "_UI_TBasicType_type" )
+ : getString( "_UI_TBasicType_type" ) + " " + label;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged( Notification notification ) {
+ updateChildren( notification );
+
+ switch( notification.getFeatureID( TBasicType.class ) ) {
+ case NsdPackage.TBASIC_TYPE__DESC_ID:
+ case NsdPackage.TBASIC_TYPE__NAME:
+ fireNotifyChanged( new ViewerNotification( notification, notification.getNotifier(), false, true ) );
+ return;
+ }
+ super.notifyChanged( notification );
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors( Collection< Object > newChildDescriptors, Object object ) {
+ super.collectNewChildDescriptors( newChildDescriptors, object );
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return NSDEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TBasicTypesItemProvider.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TBasicTypesItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..568221931aadf6f05fdecef67e81974ddbd473d6
--- /dev/null
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TBasicTypesItemProvider.java
@@ -0,0 +1,175 @@
+/**
+ * Copyright (c) 2019 CentraleSupélec & EDF.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * This file is part of the RiseClipse tool
+ *
+ * Contributors:
+ * Computer Science Department, CentraleSupélec
+ * EDF R&D
+ * Contacts:
+ * dominique.marcadet@centralesupelec.fr
+ * aurelie.dehouck-neveu@edf.fr
+ * Web site:
+ * http://wdi.supelec.fr/software/RiseClipse/
+ *
+ */
+package fr.centralesupelec.edf.riseclipse.iec61850.nsd.provider;
+
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdFactory;
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage;
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.TBasicTypes;
+
+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.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TBasicTypes} object.
+ *
+ *
+ * @generated
+ */
+public class TBasicTypesItemProvider extends ItemProviderAdapter implements IEditingDomainItemProvider,
+ IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ *
+ *
+ * @generated
+ */
+ public TBasicTypesItemProvider( AdapterFactory adapterFactory ) {
+ super( adapterFactory );
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public List< IItemPropertyDescriptor > getPropertyDescriptors( Object object ) {
+ if( itemPropertyDescriptors == null ) {
+ super.getPropertyDescriptors( object );
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * 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
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Collection< ? extends EStructuralFeature > getChildrenFeatures( Object object ) {
+ if( childrenFeatures == null ) {
+ super.getChildrenFeatures( object );
+ childrenFeatures.add( NsdPackage.Literals.TBASIC_TYPES__BASIC_TYPE );
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected EStructuralFeature getChildFeature( Object object, Object child ) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature( object, child );
+ }
+
+ /**
+ * This returns TBasicTypes.gif.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage( Object object ) {
+ return overlayImage( object, getResourceLocator().getImage( "full/obj16/TBasicTypes" ) );
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public String getText( Object object ) {
+ return getString( "_UI_TBasicTypes_type" );
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged( Notification notification ) {
+ updateChildren( notification );
+
+ switch( notification.getFeatureID( TBasicTypes.class ) ) {
+ case NsdPackage.TBASIC_TYPES__BASIC_TYPE:
+ fireNotifyChanged( new ViewerNotification( notification, notification.getNotifier(), true, false ) );
+ return;
+ }
+ super.notifyChanged( notification );
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors( Collection< Object > newChildDescriptors, Object object ) {
+ super.collectNewChildDescriptors( newChildDescriptors, object );
+
+ newChildDescriptors.add( createChildParameter( NsdPackage.Literals.TBASIC_TYPES__BASIC_TYPE,
+ NsdFactory.eINSTANCE.createTBasicType() ) );
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return NSDEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TCDCItemProvider.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TCDCItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..c4bd4b08d795c395692bd67e0f8ceac29c70d92d
--- /dev/null
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TCDCItemProvider.java
@@ -0,0 +1,259 @@
+/**
+ * Copyright (c) 2019 CentraleSupélec & EDF.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * This file is part of the RiseClipse tool
+ *
+ * Contributors:
+ * Computer Science Department, CentraleSupélec
+ * EDF R&D
+ * Contacts:
+ * dominique.marcadet@centralesupelec.fr
+ * aurelie.dehouck-neveu@edf.fr
+ * Web site:
+ * http://wdi.supelec.fr/software/RiseClipse/
+ *
+ */
+package fr.centralesupelec.edf.riseclipse.iec61850.nsd.provider;
+
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdFactory;
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage;
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.TCDC;
+
+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.ecore.EStructuralFeature;
+
+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.TCDC} object.
+ *
+ *
+ * @generated
+ */
+public class TCDCItemProvider extends TTitledClassItemProvider {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ *
+ *
+ * @generated
+ */
+ public TCDCItemProvider( AdapterFactory adapterFactory ) {
+ super( adapterFactory );
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public List< IItemPropertyDescriptor > getPropertyDescriptors( Object object ) {
+ if( itemPropertyDescriptors == null ) {
+ super.getPropertyDescriptors( object );
+
+ addEnumParameterizedPropertyDescriptor( object );
+ addNamePropertyDescriptor( object );
+ addStatisticsPropertyDescriptor( object );
+ addTypeKindParameterizedPropertyDescriptor( object );
+ addVariantPropertyDescriptor( object );
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Enum Parameterized feature.
+ *
+ *
+ * @generated
+ */
+ protected void addEnumParameterizedPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TCDC_enumParameterized_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TCDC_enumParameterized_feature",
+ "_UI_TCDC_type" ),
+ NsdPackage.Literals.TCDC__ENUM_PARAMETERIZED, true, false, false,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Name feature.
+ *
+ *
+ * @generated
+ */
+ protected void addNamePropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TCDC_name_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TCDC_name_feature", "_UI_TCDC_type" ),
+ NsdPackage.Literals.TCDC__NAME, true, false, false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Statistics feature.
+ *
+ *
+ * @generated
+ */
+ protected void addStatisticsPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TCDC_statistics_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TCDC_statistics_feature",
+ "_UI_TCDC_type" ),
+ NsdPackage.Literals.TCDC__STATISTICS, true, false, false,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Type Kind Parameterized feature.
+ *
+ *
+ * @generated
+ */
+ protected void addTypeKindParameterizedPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TCDC_typeKindParameterized_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TCDC_typeKindParameterized_feature",
+ "_UI_TCDC_type" ),
+ NsdPackage.Literals.TCDC__TYPE_KIND_PARAMETERIZED, true, false, false,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Variant feature.
+ *
+ *
+ * @generated
+ */
+ protected void addVariantPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TCDC_variant_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TCDC_variant_feature", "_UI_TCDC_type" ),
+ NsdPackage.Literals.TCDC__VARIANT, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, 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
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Collection< ? extends EStructuralFeature > getChildrenFeatures( Object object ) {
+ if( childrenFeatures == null ) {
+ super.getChildrenFeatures( object );
+ childrenFeatures.add( NsdPackage.Literals.TCDC__SUB_DATA_OBJECT );
+ childrenFeatures.add( NsdPackage.Literals.TCDC__DATA_ATTRIBUTE );
+ childrenFeatures.add( NsdPackage.Literals.TCDC__SERVICE_PARAMETER );
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected EStructuralFeature getChildFeature( Object object, Object child ) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature( object, child );
+ }
+
+ /**
+ * This returns TCDC.gif.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage( Object object ) {
+ return overlayImage( object, getResourceLocator().getImage( "full/obj16/TCDC" ) );
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public String getText( Object object ) {
+ String label = ( ( TCDC ) object ).getName();
+ return label == null || label.length() == 0 ? getString( "_UI_TCDC_type" )
+ : getString( "_UI_TCDC_type" ) + " " + label;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged( Notification notification ) {
+ updateChildren( notification );
+
+ switch( notification.getFeatureID( TCDC.class ) ) {
+ case NsdPackage.TCDC__ENUM_PARAMETERIZED:
+ case NsdPackage.TCDC__NAME:
+ case NsdPackage.TCDC__STATISTICS:
+ case NsdPackage.TCDC__TYPE_KIND_PARAMETERIZED:
+ case NsdPackage.TCDC__VARIANT:
+ fireNotifyChanged( new ViewerNotification( notification, notification.getNotifier(), false, true ) );
+ return;
+ case NsdPackage.TCDC__SUB_DATA_OBJECT:
+ case NsdPackage.TCDC__DATA_ATTRIBUTE:
+ case NsdPackage.TCDC__SERVICE_PARAMETER:
+ fireNotifyChanged( new ViewerNotification( notification, notification.getNotifier(), true, false ) );
+ return;
+ }
+ super.notifyChanged( notification );
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors( Collection< Object > newChildDescriptors, Object object ) {
+ super.collectNewChildDescriptors( newChildDescriptors, object );
+
+ newChildDescriptors.add( createChildParameter( NsdPackage.Literals.TCDC__SUB_DATA_OBJECT,
+ NsdFactory.eINSTANCE.createTSubDataObject() ) );
+
+ newChildDescriptors.add( createChildParameter( NsdPackage.Literals.TCDC__DATA_ATTRIBUTE,
+ NsdFactory.eINSTANCE.createTDataAttribute() ) );
+
+ newChildDescriptors.add( createChildParameter( NsdPackage.Literals.TCDC__SERVICE_PARAMETER,
+ NsdFactory.eINSTANCE.createTServiceParameter() ) );
+ }
+
+}
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TCDCsItemProvider.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TCDCsItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..4b69e5dee1bdeda14fd30fee3337937e1e966be0
--- /dev/null
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TCDCsItemProvider.java
@@ -0,0 +1,175 @@
+/**
+ * Copyright (c) 2019 CentraleSupélec & EDF.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * This file is part of the RiseClipse tool
+ *
+ * Contributors:
+ * Computer Science Department, CentraleSupélec
+ * EDF R&D
+ * Contacts:
+ * dominique.marcadet@centralesupelec.fr
+ * aurelie.dehouck-neveu@edf.fr
+ * Web site:
+ * http://wdi.supelec.fr/software/RiseClipse/
+ *
+ */
+package fr.centralesupelec.edf.riseclipse.iec61850.nsd.provider;
+
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdFactory;
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage;
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.TCDCs;
+
+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.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TCDCs} object.
+ *
+ *
+ * @generated
+ */
+public class TCDCsItemProvider extends ItemProviderAdapter implements IEditingDomainItemProvider,
+ IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ *
+ *
+ * @generated
+ */
+ public TCDCsItemProvider( AdapterFactory adapterFactory ) {
+ super( adapterFactory );
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public List< IItemPropertyDescriptor > getPropertyDescriptors( Object object ) {
+ if( itemPropertyDescriptors == null ) {
+ super.getPropertyDescriptors( object );
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * 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
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Collection< ? extends EStructuralFeature > getChildrenFeatures( Object object ) {
+ if( childrenFeatures == null ) {
+ super.getChildrenFeatures( object );
+ childrenFeatures.add( NsdPackage.Literals.TCD_CS__CDC );
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected EStructuralFeature getChildFeature( Object object, Object child ) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature( object, child );
+ }
+
+ /**
+ * This returns TCDCs.gif.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage( Object object ) {
+ return overlayImage( object, getResourceLocator().getImage( "full/obj16/TCDCs" ) );
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public String getText( Object object ) {
+ return getString( "_UI_TCDCs_type" );
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged( Notification notification ) {
+ updateChildren( notification );
+
+ switch( notification.getFeatureID( TCDCs.class ) ) {
+ case NsdPackage.TCD_CS__CDC:
+ fireNotifyChanged( new ViewerNotification( notification, notification.getNotifier(), true, false ) );
+ return;
+ }
+ super.notifyChanged( notification );
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors( Collection< Object > newChildDescriptors, Object object ) {
+ super.collectNewChildDescriptors( newChildDescriptors, object );
+
+ newChildDescriptors
+ .add( createChildParameter( NsdPackage.Literals.TCD_CS__CDC, NsdFactory.eINSTANCE.createTCDC() ) );
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return NSDEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TChangesItemProvider.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TChangesItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..aba4b48c98021a231ac8932ec12f80f3e9cd9c4c
--- /dev/null
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TChangesItemProvider.java
@@ -0,0 +1,250 @@
+/**
+ * Copyright (c) 2019 CentraleSupélec & EDF.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * This file is part of the RiseClipse tool
+ *
+ * Contributors:
+ * Computer Science Department, CentraleSupélec
+ * EDF R&D
+ * Contacts:
+ * dominique.marcadet@centralesupelec.fr
+ * aurelie.dehouck-neveu@edf.fr
+ * Web site:
+ * http://wdi.supelec.fr/software/RiseClipse/
+ *
+ */
+package fr.centralesupelec.edf.riseclipse.iec61850.nsd.provider;
+
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage;
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.TChanges;
+
+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.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TChanges} object.
+ *
+ *
+ * @generated
+ */
+public class TChangesItemProvider extends ItemProviderAdapter implements IEditingDomainItemProvider,
+ IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ *
+ *
+ * @generated
+ */
+ public TChangesItemProvider( AdapterFactory adapterFactory ) {
+ super( adapterFactory );
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public List< IItemPropertyDescriptor > getPropertyDescriptors( Object object ) {
+ if( itemPropertyDescriptors == null ) {
+ super.getPropertyDescriptors( object );
+
+ addChangesIDPropertyDescriptor( object );
+ addDatePropertyDescriptor( object );
+ addReleasePropertyDescriptor( object );
+ addRevisionPropertyDescriptor( object );
+ addTissuesPropertyDescriptor( object );
+ addVersionPropertyDescriptor( object );
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Changes ID feature.
+ *
+ *
+ * @generated
+ */
+ protected void addChangesIDPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TChanges_changesID_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TChanges_changesID_feature",
+ "_UI_TChanges_type" ),
+ NsdPackage.Literals.TCHANGES__CHANGES_ID, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Date feature.
+ *
+ *
+ * @generated
+ */
+ protected void addDatePropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TChanges_date_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TChanges_date_feature",
+ "_UI_TChanges_type" ),
+ NsdPackage.Literals.TCHANGES__DATE, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Release feature.
+ *
+ *
+ * @generated
+ */
+ protected void addReleasePropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TChanges_release_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TChanges_release_feature",
+ "_UI_TChanges_type" ),
+ NsdPackage.Literals.TCHANGES__RELEASE, true, false, false,
+ ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Revision feature.
+ *
+ *
+ * @generated
+ */
+ protected void addRevisionPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TChanges_revision_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TChanges_revision_feature",
+ "_UI_TChanges_type" ),
+ NsdPackage.Literals.TCHANGES__REVISION, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Tissues feature.
+ *
+ *
+ * @generated
+ */
+ protected void addTissuesPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TChanges_tissues_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TChanges_tissues_feature",
+ "_UI_TChanges_type" ),
+ NsdPackage.Literals.TCHANGES__TISSUES, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Version feature.
+ *
+ *
+ * @generated
+ */
+ protected void addVersionPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TChanges_version_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TChanges_version_feature",
+ "_UI_TChanges_type" ),
+ NsdPackage.Literals.TCHANGES__VERSION, true, false, false,
+ ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This returns TChanges.gif.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage( Object object ) {
+ return overlayImage( object, getResourceLocator().getImage( "full/obj16/TChanges" ) );
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public String getText( Object object ) {
+ String label = ( ( TChanges ) object ).getChangesID();
+ return label == null || label.length() == 0 ? getString( "_UI_TChanges_type" )
+ : getString( "_UI_TChanges_type" ) + " " + label;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged( Notification notification ) {
+ updateChildren( notification );
+
+ switch( notification.getFeatureID( TChanges.class ) ) {
+ case NsdPackage.TCHANGES__CHANGES_ID:
+ case NsdPackage.TCHANGES__DATE:
+ case NsdPackage.TCHANGES__RELEASE:
+ case NsdPackage.TCHANGES__REVISION:
+ case NsdPackage.TCHANGES__TISSUES:
+ case NsdPackage.TCHANGES__VERSION:
+ fireNotifyChanged( new ViewerNotification( notification, notification.getNotifier(), false, true ) );
+ return;
+ }
+ super.notifyChanged( notification );
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors( Collection< Object > newChildDescriptors, Object object ) {
+ super.collectNewChildDescriptors( newChildDescriptors, object );
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return NSDEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TConstructedAttributeItemProvider.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TConstructedAttributeItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..5223b0c6eaccd2b863210fdfb1ec9c84566ff9dc
--- /dev/null
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TConstructedAttributeItemProvider.java
@@ -0,0 +1,179 @@
+/**
+ * Copyright (c) 2019 CentraleSupélec & EDF.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * This file is part of the RiseClipse tool
+ *
+ * Contributors:
+ * Computer Science Department, CentraleSupélec
+ * EDF R&D
+ * Contacts:
+ * dominique.marcadet@centralesupelec.fr
+ * aurelie.dehouck-neveu@edf.fr
+ * Web site:
+ * http://wdi.supelec.fr/software/RiseClipse/
+ *
+ */
+package fr.centralesupelec.edf.riseclipse.iec61850.nsd.provider;
+
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdFactory;
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage;
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.TConstructedAttribute;
+
+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.ecore.EStructuralFeature;
+
+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.TConstructedAttribute} object.
+ *
+ *
+ * @generated
+ */
+public class TConstructedAttributeItemProvider extends TTitledClassItemProvider {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ *
+ *
+ * @generated
+ */
+ public TConstructedAttributeItemProvider( AdapterFactory adapterFactory ) {
+ super( adapterFactory );
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public List< IItemPropertyDescriptor > getPropertyDescriptors( Object object ) {
+ if( itemPropertyDescriptors == null ) {
+ super.getPropertyDescriptors( object );
+
+ addNamePropertyDescriptor( object );
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Name feature.
+ *
+ *
+ * @generated
+ */
+ protected void addNamePropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TConstructedAttribute_name_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TConstructedAttribute_name_feature",
+ "_UI_TConstructedAttribute_type" ),
+ NsdPackage.Literals.TCONSTRUCTED_ATTRIBUTE__NAME, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, 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
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Collection< ? extends EStructuralFeature > getChildrenFeatures( Object object ) {
+ if( childrenFeatures == null ) {
+ super.getChildrenFeatures( object );
+ childrenFeatures.add( NsdPackage.Literals.TCONSTRUCTED_ATTRIBUTE__SUB_DATA_ATTRIBUTE );
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected EStructuralFeature getChildFeature( Object object, Object child ) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature( object, child );
+ }
+
+ /**
+ * This returns TConstructedAttribute.gif.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage( Object object ) {
+ return overlayImage( object, getResourceLocator().getImage( "full/obj16/TConstructedAttribute" ) );
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public String getText( Object object ) {
+ String label = ( ( TConstructedAttribute ) object ).getName();
+ return label == null || label.length() == 0 ? getString( "_UI_TConstructedAttribute_type" )
+ : getString( "_UI_TConstructedAttribute_type" ) + " " + label;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged( Notification notification ) {
+ updateChildren( notification );
+
+ switch( notification.getFeatureID( TConstructedAttribute.class ) ) {
+ case NsdPackage.TCONSTRUCTED_ATTRIBUTE__NAME:
+ fireNotifyChanged( new ViewerNotification( notification, notification.getNotifier(), false, true ) );
+ return;
+ case NsdPackage.TCONSTRUCTED_ATTRIBUTE__SUB_DATA_ATTRIBUTE:
+ fireNotifyChanged( new ViewerNotification( notification, notification.getNotifier(), true, false ) );
+ return;
+ }
+ super.notifyChanged( notification );
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors( Collection< Object > newChildDescriptors, Object object ) {
+ super.collectNewChildDescriptors( newChildDescriptors, object );
+
+ newChildDescriptors.add( createChildParameter( NsdPackage.Literals.TCONSTRUCTED_ATTRIBUTE__SUB_DATA_ATTRIBUTE,
+ NsdFactory.eINSTANCE.createTSubDataAttribute() ) );
+ }
+
+}
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TConstructedAttributesItemProvider.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TConstructedAttributesItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..770b87cc3b0d369fd8d92b5e22c1a106e8f10265
--- /dev/null
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TConstructedAttributesItemProvider.java
@@ -0,0 +1,180 @@
+/**
+ * Copyright (c) 2019 CentraleSupélec & EDF.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * This file is part of the RiseClipse tool
+ *
+ * Contributors:
+ * Computer Science Department, CentraleSupélec
+ * EDF R&D
+ * Contacts:
+ * dominique.marcadet@centralesupelec.fr
+ * aurelie.dehouck-neveu@edf.fr
+ * Web site:
+ * http://wdi.supelec.fr/software/RiseClipse/
+ *
+ */
+package fr.centralesupelec.edf.riseclipse.iec61850.nsd.provider;
+
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdFactory;
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage;
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.TConstructedAttributes;
+
+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.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TConstructedAttributes} object.
+ *
+ *
+ * @generated
+ */
+public class TConstructedAttributesItemProvider extends ItemProviderAdapter implements IEditingDomainItemProvider,
+ IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ *
+ *
+ * @generated
+ */
+ public TConstructedAttributesItemProvider( AdapterFactory adapterFactory ) {
+ super( adapterFactory );
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public List< IItemPropertyDescriptor > getPropertyDescriptors( Object object ) {
+ if( itemPropertyDescriptors == null ) {
+ super.getPropertyDescriptors( object );
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * 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
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Collection< ? extends EStructuralFeature > getChildrenFeatures( Object object ) {
+ if( childrenFeatures == null ) {
+ super.getChildrenFeatures( object );
+ childrenFeatures.add( NsdPackage.Literals.TCONSTRUCTED_ATTRIBUTES__CONSTRUCTED_ATTRIBUTE );
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected EStructuralFeature getChildFeature( Object object, Object child ) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature( object, child );
+ }
+
+ /**
+ * This returns TConstructedAttributes.gif.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage( Object object ) {
+ return overlayImage( object, getResourceLocator().getImage( "full/obj16/TConstructedAttributes" ) );
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public String getText( Object object ) {
+ return getString( "_UI_TConstructedAttributes_type" );
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged( Notification notification ) {
+ updateChildren( notification );
+
+ switch( notification.getFeatureID( TConstructedAttributes.class ) ) {
+ case NsdPackage.TCONSTRUCTED_ATTRIBUTES__CONSTRUCTED_ATTRIBUTE:
+ fireNotifyChanged( new ViewerNotification( notification, notification.getNotifier(), true, false ) );
+ return;
+ }
+ super.notifyChanged( notification );
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors( Collection< Object > newChildDescriptors, Object object ) {
+ super.collectNewChildDescriptors( newChildDescriptors, object );
+
+ newChildDescriptors
+ .add( createChildParameter( NsdPackage.Literals.TCONSTRUCTED_ATTRIBUTES__CONSTRUCTED_ATTRIBUTE,
+ NsdFactory.eINSTANCE.createTConstructedAttribute() ) );
+
+ newChildDescriptors
+ .add( createChildParameter( NsdPackage.Literals.TCONSTRUCTED_ATTRIBUTES__CONSTRUCTED_ATTRIBUTE,
+ NsdFactory.eINSTANCE.createTServiceConstructedAttribute() ) );
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return NSDEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TCopyrightNoticeItemProvider.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TCopyrightNoticeItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..cb8d8bb8d748e5f69eb9d92b0e427decf596c925
--- /dev/null
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TCopyrightNoticeItemProvider.java
@@ -0,0 +1,180 @@
+/**
+ * Copyright (c) 2019 CentraleSupélec & EDF.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * This file is part of the RiseClipse tool
+ *
+ * Contributors:
+ * Computer Science Department, CentraleSupélec
+ * EDF R&D
+ * Contacts:
+ * dominique.marcadet@centralesupelec.fr
+ * aurelie.dehouck-neveu@edf.fr
+ * Web site:
+ * http://wdi.supelec.fr/software/RiseClipse/
+ *
+ */
+package fr.centralesupelec.edf.riseclipse.iec61850.nsd.provider;
+
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdFactory;
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage;
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.TCopyrightNotice;
+
+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.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TCopyrightNotice} object.
+ *
+ *
+ * @generated
+ */
+public class TCopyrightNoticeItemProvider extends ItemProviderAdapter implements IEditingDomainItemProvider,
+ IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ *
+ *
+ * @generated
+ */
+ public TCopyrightNoticeItemProvider( AdapterFactory adapterFactory ) {
+ super( adapterFactory );
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public List< IItemPropertyDescriptor > getPropertyDescriptors( Object object ) {
+ if( itemPropertyDescriptors == null ) {
+ super.getPropertyDescriptors( object );
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * 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
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Collection< ? extends EStructuralFeature > getChildrenFeatures( Object object ) {
+ if( childrenFeatures == null ) {
+ super.getChildrenFeatures( object );
+ childrenFeatures.add( NsdPackage.Literals.TCOPYRIGHT_NOTICE__NOTICE );
+ childrenFeatures.add( NsdPackage.Literals.TCOPYRIGHT_NOTICE__LICENSE );
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected EStructuralFeature getChildFeature( Object object, Object child ) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature( object, child );
+ }
+
+ /**
+ * This returns TCopyrightNotice.gif.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage( Object object ) {
+ return overlayImage( object, getResourceLocator().getImage( "full/obj16/TCopyrightNotice" ) );
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public String getText( Object object ) {
+ return getString( "_UI_TCopyrightNotice_type" );
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged( Notification notification ) {
+ updateChildren( notification );
+
+ switch( notification.getFeatureID( TCopyrightNotice.class ) ) {
+ case NsdPackage.TCOPYRIGHT_NOTICE__NOTICE:
+ case NsdPackage.TCOPYRIGHT_NOTICE__LICENSE:
+ fireNotifyChanged( new ViewerNotification( notification, notification.getNotifier(), true, false ) );
+ return;
+ }
+ super.notifyChanged( notification );
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors( Collection< Object > newChildDescriptors, Object object ) {
+ super.collectNewChildDescriptors( newChildDescriptors, object );
+
+ newChildDescriptors.add( createChildParameter( NsdPackage.Literals.TCOPYRIGHT_NOTICE__NOTICE,
+ NsdFactory.eINSTANCE.createTNotice() ) );
+
+ newChildDescriptors.add( createChildParameter( NsdPackage.Literals.TCOPYRIGHT_NOTICE__LICENSE,
+ NsdFactory.eINSTANCE.createTLicense() ) );
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return NSDEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TCopyrightedItemProvider.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TCopyrightedItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..da7fe44a0793952ea3b4fef2081c5b297010e63e
--- /dev/null
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TCopyrightedItemProvider.java
@@ -0,0 +1,175 @@
+/**
+ * Copyright (c) 2019 CentraleSupélec & EDF.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * This file is part of the RiseClipse tool
+ *
+ * Contributors:
+ * Computer Science Department, CentraleSupélec
+ * EDF R&D
+ * Contacts:
+ * dominique.marcadet@centralesupelec.fr
+ * aurelie.dehouck-neveu@edf.fr
+ * Web site:
+ * http://wdi.supelec.fr/software/RiseClipse/
+ *
+ */
+package fr.centralesupelec.edf.riseclipse.iec61850.nsd.provider;
+
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdFactory;
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage;
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.TCopyrighted;
+
+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.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TCopyrighted} object.
+ *
+ *
+ * @generated
+ */
+public class TCopyrightedItemProvider extends ItemProviderAdapter implements IEditingDomainItemProvider,
+ IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ *
+ *
+ * @generated
+ */
+ public TCopyrightedItemProvider( AdapterFactory adapterFactory ) {
+ super( adapterFactory );
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public List< IItemPropertyDescriptor > getPropertyDescriptors( Object object ) {
+ if( itemPropertyDescriptors == null ) {
+ super.getPropertyDescriptors( object );
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * 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
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Collection< ? extends EStructuralFeature > getChildrenFeatures( Object object ) {
+ if( childrenFeatures == null ) {
+ super.getChildrenFeatures( object );
+ childrenFeatures.add( NsdPackage.Literals.TCOPYRIGHTED__COPYRIGHT );
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected EStructuralFeature getChildFeature( Object object, Object child ) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature( object, child );
+ }
+
+ /**
+ * This returns TCopyrighted.gif.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage( Object object ) {
+ return overlayImage( object, getResourceLocator().getImage( "full/obj16/TCopyrighted" ) );
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public String getText( Object object ) {
+ return getString( "_UI_TCopyrighted_type" );
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged( Notification notification ) {
+ updateChildren( notification );
+
+ switch( notification.getFeatureID( TCopyrighted.class ) ) {
+ case NsdPackage.TCOPYRIGHTED__COPYRIGHT:
+ fireNotifyChanged( new ViewerNotification( notification, notification.getNotifier(), true, false ) );
+ return;
+ }
+ super.notifyChanged( notification );
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors( Collection< Object > newChildDescriptors, Object object ) {
+ super.collectNewChildDescriptors( newChildDescriptors, object );
+
+ newChildDescriptors.add( createChildParameter( NsdPackage.Literals.TCOPYRIGHTED__COPYRIGHT,
+ NsdFactory.eINSTANCE.createTCopyrightNotice() ) );
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return NSDEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TDataAttributeItemProvider.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TDataAttributeItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..a65e1a2a6e483c49d3c23b9e3f3bb58033f098a3
--- /dev/null
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TDataAttributeItemProvider.java
@@ -0,0 +1,428 @@
+/**
+ * Copyright (c) 2019 CentraleSupélec & EDF.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * This file is part of the RiseClipse tool
+ *
+ * Contributors:
+ * Computer Science Department, CentraleSupélec
+ * EDF R&D
+ * Contacts:
+ * dominique.marcadet@centralesupelec.fr
+ * aurelie.dehouck-neveu@edf.fr
+ * Web site:
+ * http://wdi.supelec.fr/software/RiseClipse/
+ *
+ */
+package fr.centralesupelec.edf.riseclipse.iec61850.nsd.provider;
+
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage;
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.TDataAttribute;
+
+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.TDataAttribute} object.
+ *
+ *
+ * @generated
+ */
+public class TDataAttributeItemProvider extends TDocumentedClassItemProvider {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ *
+ *
+ * @generated
+ */
+ public TDataAttributeItemProvider( AdapterFactory adapterFactory ) {
+ super( adapterFactory );
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public List< IItemPropertyDescriptor > getPropertyDescriptors( Object object ) {
+ if( itemPropertyDescriptors == null ) {
+ super.getPropertyDescriptors( object );
+
+ addDchgPropertyDescriptor( object );
+ addDefaultValuePropertyDescriptor( object );
+ addDupdPropertyDescriptor( object );
+ addFcPropertyDescriptor( object );
+ addIsArrayPropertyDescriptor( object );
+ addMaxIndexAttributePropertyDescriptor( object );
+ addMaxValuePropertyDescriptor( object );
+ addMinIndexPropertyDescriptor( object );
+ addMinValuePropertyDescriptor( object );
+ addNamePropertyDescriptor( object );
+ addPresCondPropertyDescriptor( object );
+ addPresCondArgsPropertyDescriptor( object );
+ addPresCondArgsIDPropertyDescriptor( object );
+ addQchgPropertyDescriptor( object );
+ addSizeAttributePropertyDescriptor( object );
+ addTypePropertyDescriptor( object );
+ addTypeKindPropertyDescriptor( object );
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Dchg feature.
+ *
+ *
+ * @generated
+ */
+ protected void addDchgPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TDataAttribute_dchg_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TDataAttribute_dchg_feature",
+ "_UI_TDataAttribute_type" ),
+ NsdPackage.Literals.TDATA_ATTRIBUTE__DCHG, true, false, false,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Default Value feature.
+ *
+ *
+ * @generated
+ */
+ protected void addDefaultValuePropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TDataAttribute_defaultValue_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TDataAttribute_defaultValue_feature",
+ "_UI_TDataAttribute_type" ),
+ NsdPackage.Literals.TDATA_ATTRIBUTE__DEFAULT_VALUE, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Dupd feature.
+ *
+ *
+ * @generated
+ */
+ protected void addDupdPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TDataAttribute_dupd_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TDataAttribute_dupd_feature",
+ "_UI_TDataAttribute_type" ),
+ NsdPackage.Literals.TDATA_ATTRIBUTE__DUPD, true, false, false,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Fc feature.
+ *
+ *
+ * @generated
+ */
+ protected void addFcPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TDataAttribute_fc_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TDataAttribute_fc_feature",
+ "_UI_TDataAttribute_type" ),
+ NsdPackage.Literals.TDATA_ATTRIBUTE__FC, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Is Array feature.
+ *
+ *
+ * @generated
+ */
+ protected void addIsArrayPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TDataAttribute_isArray_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TDataAttribute_isArray_feature",
+ "_UI_TDataAttribute_type" ),
+ NsdPackage.Literals.TDATA_ATTRIBUTE__IS_ARRAY, true, false, false,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Max Index Attribute feature.
+ *
+ *
+ * @generated
+ */
+ protected void addMaxIndexAttributePropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TDataAttribute_maxIndexAttribute_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TDataAttribute_maxIndexAttribute_feature",
+ "_UI_TDataAttribute_type" ),
+ NsdPackage.Literals.TDATA_ATTRIBUTE__MAX_INDEX_ATTRIBUTE, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Max Value feature.
+ *
+ *
+ * @generated
+ */
+ protected void addMaxValuePropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TDataAttribute_maxValue_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TDataAttribute_maxValue_feature",
+ "_UI_TDataAttribute_type" ),
+ NsdPackage.Literals.TDATA_ATTRIBUTE__MAX_VALUE, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Min Index feature.
+ *
+ *
+ * @generated
+ */
+ protected void addMinIndexPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TDataAttribute_minIndex_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TDataAttribute_minIndex_feature",
+ "_UI_TDataAttribute_type" ),
+ NsdPackage.Literals.TDATA_ATTRIBUTE__MIN_INDEX, true, false, false,
+ ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Min Value feature.
+ *
+ *
+ * @generated
+ */
+ protected void addMinValuePropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TDataAttribute_minValue_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TDataAttribute_minValue_feature",
+ "_UI_TDataAttribute_type" ),
+ NsdPackage.Literals.TDATA_ATTRIBUTE__MIN_VALUE, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Name feature.
+ *
+ *
+ * @generated
+ */
+ protected void addNamePropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TDataAttribute_name_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TDataAttribute_name_feature",
+ "_UI_TDataAttribute_type" ),
+ NsdPackage.Literals.TDATA_ATTRIBUTE__NAME, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Pres Cond feature.
+ *
+ *
+ * @generated
+ */
+ protected void addPresCondPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TDataAttribute_presCond_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TDataAttribute_presCond_feature",
+ "_UI_TDataAttribute_type" ),
+ NsdPackage.Literals.TDATA_ATTRIBUTE__PRES_COND, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Pres Cond Args feature.
+ *
+ *
+ * @generated
+ */
+ protected void addPresCondArgsPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TDataAttribute_presCondArgs_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TDataAttribute_presCondArgs_feature",
+ "_UI_TDataAttribute_type" ),
+ NsdPackage.Literals.TDATA_ATTRIBUTE__PRES_COND_ARGS, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Pres Cond Args ID feature.
+ *
+ *
+ * @generated
+ */
+ protected void addPresCondArgsIDPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TDataAttribute_presCondArgsID_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TDataAttribute_presCondArgsID_feature",
+ "_UI_TDataAttribute_type" ),
+ NsdPackage.Literals.TDATA_ATTRIBUTE__PRES_COND_ARGS_ID, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Qchg feature.
+ *
+ *
+ * @generated
+ */
+ protected void addQchgPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TDataAttribute_qchg_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TDataAttribute_qchg_feature",
+ "_UI_TDataAttribute_type" ),
+ NsdPackage.Literals.TDATA_ATTRIBUTE__QCHG, true, false, false,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Size Attribute feature.
+ *
+ *
+ * @generated
+ */
+ protected void addSizeAttributePropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TDataAttribute_sizeAttribute_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TDataAttribute_sizeAttribute_feature",
+ "_UI_TDataAttribute_type" ),
+ NsdPackage.Literals.TDATA_ATTRIBUTE__SIZE_ATTRIBUTE, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Type feature.
+ *
+ *
+ * @generated
+ */
+ protected void addTypePropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TDataAttribute_type_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TDataAttribute_type_feature",
+ "_UI_TDataAttribute_type" ),
+ NsdPackage.Literals.TDATA_ATTRIBUTE__TYPE, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Type Kind feature.
+ *
+ *
+ * @generated
+ */
+ protected void addTypeKindPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TDataAttribute_typeKind_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TDataAttribute_typeKind_feature",
+ "_UI_TDataAttribute_type" ),
+ NsdPackage.Literals.TDATA_ATTRIBUTE__TYPE_KIND, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This returns TDataAttribute.gif.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage( Object object ) {
+ return overlayImage( object, getResourceLocator().getImage( "full/obj16/TDataAttribute" ) );
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public String getText( Object object ) {
+ String label = ( ( TDataAttribute ) object ).getName();
+ return label == null || label.length() == 0 ? getString( "_UI_TDataAttribute_type" )
+ : getString( "_UI_TDataAttribute_type" ) + " " + label;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged( Notification notification ) {
+ updateChildren( notification );
+
+ switch( notification.getFeatureID( TDataAttribute.class ) ) {
+ case NsdPackage.TDATA_ATTRIBUTE__DCHG:
+ case NsdPackage.TDATA_ATTRIBUTE__DEFAULT_VALUE:
+ case NsdPackage.TDATA_ATTRIBUTE__DUPD:
+ case NsdPackage.TDATA_ATTRIBUTE__FC:
+ case NsdPackage.TDATA_ATTRIBUTE__IS_ARRAY:
+ case NsdPackage.TDATA_ATTRIBUTE__MAX_INDEX_ATTRIBUTE:
+ case NsdPackage.TDATA_ATTRIBUTE__MAX_VALUE:
+ case NsdPackage.TDATA_ATTRIBUTE__MIN_INDEX:
+ case NsdPackage.TDATA_ATTRIBUTE__MIN_VALUE:
+ case NsdPackage.TDATA_ATTRIBUTE__NAME:
+ case NsdPackage.TDATA_ATTRIBUTE__PRES_COND:
+ case NsdPackage.TDATA_ATTRIBUTE__PRES_COND_ARGS:
+ case NsdPackage.TDATA_ATTRIBUTE__PRES_COND_ARGS_ID:
+ case NsdPackage.TDATA_ATTRIBUTE__QCHG:
+ case NsdPackage.TDATA_ATTRIBUTE__SIZE_ATTRIBUTE:
+ case NsdPackage.TDATA_ATTRIBUTE__TYPE:
+ case NsdPackage.TDATA_ATTRIBUTE__TYPE_KIND:
+ fireNotifyChanged( new ViewerNotification( notification, notification.getNotifier(), false, true ) );
+ return;
+ }
+ super.notifyChanged( notification );
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors( Collection< Object > newChildDescriptors, Object object ) {
+ super.collectNewChildDescriptors( newChildDescriptors, object );
+ }
+
+}
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TDataObjectItemProvider.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TDataObjectItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..138e490ea90c713cc60e96343b5aa24011bf8ac8
--- /dev/null
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TDataObjectItemProvider.java
@@ -0,0 +1,320 @@
+/**
+ * Copyright (c) 2019 CentraleSupélec & EDF.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * This file is part of the RiseClipse tool
+ *
+ * Contributors:
+ * Computer Science Department, CentraleSupélec
+ * EDF R&D
+ * Contacts:
+ * dominique.marcadet@centralesupelec.fr
+ * aurelie.dehouck-neveu@edf.fr
+ * Web site:
+ * http://wdi.supelec.fr/software/RiseClipse/
+ *
+ */
+package fr.centralesupelec.edf.riseclipse.iec61850.nsd.provider;
+
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage;
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.TDataObject;
+
+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.TDataObject} object.
+ *
+ *
+ * @generated
+ */
+public class TDataObjectItemProvider extends TDocumentedClassItemProvider {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ *
+ *
+ * @generated
+ */
+ public TDataObjectItemProvider( AdapterFactory adapterFactory ) {
+ super( adapterFactory );
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public List< IItemPropertyDescriptor > getPropertyDescriptors( Object object ) {
+ if( itemPropertyDescriptors == null ) {
+ super.getPropertyDescriptors( object );
+
+ addDsPresCondPropertyDescriptor( object );
+ addDsPresCondArgsPropertyDescriptor( object );
+ addDsPresCondArgsIDPropertyDescriptor( object );
+ addNamePropertyDescriptor( object );
+ addPresCondPropertyDescriptor( object );
+ addPresCondArgsPropertyDescriptor( object );
+ addPresCondArgsIDPropertyDescriptor( object );
+ addTransientPropertyDescriptor( object );
+ addTypePropertyDescriptor( object );
+ addUnderlyingTypePropertyDescriptor( object );
+ addUnderlyingTypeKindPropertyDescriptor( object );
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Ds Pres Cond feature.
+ *
+ *
+ * @generated
+ */
+ protected void addDsPresCondPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TDataObject_dsPresCond_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TDataObject_dsPresCond_feature",
+ "_UI_TDataObject_type" ),
+ NsdPackage.Literals.TDATA_OBJECT__DS_PRES_COND, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Ds Pres Cond Args feature.
+ *
+ *
+ * @generated
+ */
+ protected void addDsPresCondArgsPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TDataObject_dsPresCondArgs_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TDataObject_dsPresCondArgs_feature",
+ "_UI_TDataObject_type" ),
+ NsdPackage.Literals.TDATA_OBJECT__DS_PRES_COND_ARGS, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Ds Pres Cond Args ID feature.
+ *
+ *
+ * @generated
+ */
+ protected void addDsPresCondArgsIDPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TDataObject_dsPresCondArgsID_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TDataObject_dsPresCondArgsID_feature",
+ "_UI_TDataObject_type" ),
+ NsdPackage.Literals.TDATA_OBJECT__DS_PRES_COND_ARGS_ID, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Name feature.
+ *
+ *
+ * @generated
+ */
+ protected void addNamePropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TDataObject_name_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TDataObject_name_feature",
+ "_UI_TDataObject_type" ),
+ NsdPackage.Literals.TDATA_OBJECT__NAME, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Pres Cond feature.
+ *
+ *
+ * @generated
+ */
+ protected void addPresCondPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TDataObject_presCond_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TDataObject_presCond_feature",
+ "_UI_TDataObject_type" ),
+ NsdPackage.Literals.TDATA_OBJECT__PRES_COND, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Pres Cond Args feature.
+ *
+ *
+ * @generated
+ */
+ protected void addPresCondArgsPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TDataObject_presCondArgs_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TDataObject_presCondArgs_feature",
+ "_UI_TDataObject_type" ),
+ NsdPackage.Literals.TDATA_OBJECT__PRES_COND_ARGS, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Pres Cond Args ID feature.
+ *
+ *
+ * @generated
+ */
+ protected void addPresCondArgsIDPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TDataObject_presCondArgsID_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TDataObject_presCondArgsID_feature",
+ "_UI_TDataObject_type" ),
+ NsdPackage.Literals.TDATA_OBJECT__PRES_COND_ARGS_ID, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Transient feature.
+ *
+ *
+ * @generated
+ */
+ protected void addTransientPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TDataObject_transient_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TDataObject_transient_feature",
+ "_UI_TDataObject_type" ),
+ NsdPackage.Literals.TDATA_OBJECT__TRANSIENT, true, false, false,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Type feature.
+ *
+ *
+ * @generated
+ */
+ protected void addTypePropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TDataObject_type_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TDataObject_type_feature",
+ "_UI_TDataObject_type" ),
+ NsdPackage.Literals.TDATA_OBJECT__TYPE, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Underlying Type feature.
+ *
+ *
+ * @generated
+ */
+ protected void addUnderlyingTypePropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TDataObject_underlyingType_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TDataObject_underlyingType_feature",
+ "_UI_TDataObject_type" ),
+ NsdPackage.Literals.TDATA_OBJECT__UNDERLYING_TYPE, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Underlying Type Kind feature.
+ *
+ *
+ * @generated
+ */
+ protected void addUnderlyingTypeKindPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TDataObject_underlyingTypeKind_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TDataObject_underlyingTypeKind_feature",
+ "_UI_TDataObject_type" ),
+ NsdPackage.Literals.TDATA_OBJECT__UNDERLYING_TYPE_KIND, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This returns TDataObject.gif.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage( Object object ) {
+ return overlayImage( object, getResourceLocator().getImage( "full/obj16/TDataObject" ) );
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public String getText( Object object ) {
+ String label = ( ( TDataObject ) object ).getName();
+ return label == null || label.length() == 0 ? getString( "_UI_TDataObject_type" )
+ : getString( "_UI_TDataObject_type" ) + " " + label;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged( Notification notification ) {
+ updateChildren( notification );
+
+ switch( notification.getFeatureID( TDataObject.class ) ) {
+ case NsdPackage.TDATA_OBJECT__DS_PRES_COND:
+ case NsdPackage.TDATA_OBJECT__DS_PRES_COND_ARGS:
+ case NsdPackage.TDATA_OBJECT__DS_PRES_COND_ARGS_ID:
+ case NsdPackage.TDATA_OBJECT__NAME:
+ case NsdPackage.TDATA_OBJECT__PRES_COND:
+ case NsdPackage.TDATA_OBJECT__PRES_COND_ARGS:
+ case NsdPackage.TDATA_OBJECT__PRES_COND_ARGS_ID:
+ case NsdPackage.TDATA_OBJECT__TRANSIENT:
+ case NsdPackage.TDATA_OBJECT__TYPE:
+ case NsdPackage.TDATA_OBJECT__UNDERLYING_TYPE:
+ case NsdPackage.TDATA_OBJECT__UNDERLYING_TYPE_KIND:
+ fireNotifyChanged( new ViewerNotification( notification, notification.getNotifier(), false, true ) );
+ return;
+ }
+ super.notifyChanged( notification );
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors( Collection< Object > newChildDescriptors, Object object ) {
+ super.collectNewChildDescriptors( newChildDescriptors, object );
+ }
+
+}
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TDataSetMemberOfItemProvider.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TDataSetMemberOfItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..383414adcee9f22484beb5f40aefa63870fb9acd
--- /dev/null
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TDataSetMemberOfItemProvider.java
@@ -0,0 +1,162 @@
+/**
+ * Copyright (c) 2019 CentraleSupélec & EDF.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * This file is part of the RiseClipse tool
+ *
+ * Contributors:
+ * Computer Science Department, CentraleSupélec
+ * EDF R&D
+ * Contacts:
+ * dominique.marcadet@centralesupelec.fr
+ * aurelie.dehouck-neveu@edf.fr
+ * Web site:
+ * http://wdi.supelec.fr/software/RiseClipse/
+ *
+ */
+package fr.centralesupelec.edf.riseclipse.iec61850.nsd.provider;
+
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage;
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.TCBKind;
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.TDataSetMemberOf;
+
+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.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TDataSetMemberOf} object.
+ *
+ *
+ * @generated
+ */
+public class TDataSetMemberOfItemProvider extends ItemProviderAdapter implements IEditingDomainItemProvider,
+ IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ *
+ *
+ * @generated
+ */
+ public TDataSetMemberOfItemProvider( AdapterFactory adapterFactory ) {
+ super( adapterFactory );
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public List< IItemPropertyDescriptor > getPropertyDescriptors( Object object ) {
+ if( itemPropertyDescriptors == null ) {
+ super.getPropertyDescriptors( object );
+
+ addCbPropertyDescriptor( object );
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Cb feature.
+ *
+ *
+ * @generated
+ */
+ protected void addCbPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TDataSetMemberOf_cb_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TDataSetMemberOf_cb_feature",
+ "_UI_TDataSetMemberOf_type" ),
+ NsdPackage.Literals.TDATA_SET_MEMBER_OF__CB, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This returns TDataSetMemberOf.gif.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage( Object object ) {
+ return overlayImage( object, getResourceLocator().getImage( "full/obj16/TDataSetMemberOf" ) );
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public String getText( Object object ) {
+ TCBKind labelValue = ( ( TDataSetMemberOf ) object ).getCb();
+ String label = labelValue == null ? null : labelValue.toString();
+ return label == null || label.length() == 0 ? getString( "_UI_TDataSetMemberOf_type" )
+ : getString( "_UI_TDataSetMemberOf_type" ) + " " + label;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged( Notification notification ) {
+ updateChildren( notification );
+
+ switch( notification.getFeatureID( TDataSetMemberOf.class ) ) {
+ case NsdPackage.TDATA_SET_MEMBER_OF__CB:
+ fireNotifyChanged( new ViewerNotification( notification, notification.getNotifier(), false, true ) );
+ return;
+ }
+ super.notifyChanged( notification );
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors( Collection< Object > newChildDescriptors, Object object ) {
+ super.collectNewChildDescriptors( newChildDescriptors, object );
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return NSDEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TDocItemProvider.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TDocItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..e97ddd71274d32ee5d4d58a7ffcbf0f3c213b5d6
--- /dev/null
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TDocItemProvider.java
@@ -0,0 +1,261 @@
+/**
+ * Copyright (c) 2019 CentraleSupélec & EDF.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * This file is part of the RiseClipse tool
+ *
+ * Contributors:
+ * Computer Science Department, CentraleSupélec
+ * EDF R&D
+ * Contacts:
+ * dominique.marcadet@centralesupelec.fr
+ * aurelie.dehouck-neveu@edf.fr
+ * Web site:
+ * http://wdi.supelec.fr/software/RiseClipse/
+ *
+ */
+package fr.centralesupelec.edf.riseclipse.iec61850.nsd.provider;
+
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdFactory;
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage;
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.TDoc;
+
+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.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.ecore.util.FeatureMap;
+import org.eclipse.emf.ecore.util.FeatureMapUtil;
+
+import org.eclipse.emf.ecore.xml.type.XMLTypeFactory;
+import org.eclipse.emf.ecore.xml.type.XMLTypePackage;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TDoc} object.
+ *
+ *
+ * @generated
+ */
+public class TDocItemProvider extends ItemProviderAdapter implements IEditingDomainItemProvider,
+ IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ *
+ *
+ * @generated
+ */
+ public TDocItemProvider( AdapterFactory adapterFactory ) {
+ super( adapterFactory );
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public List< IItemPropertyDescriptor > getPropertyDescriptors( Object object ) {
+ if( itemPropertyDescriptors == null ) {
+ super.getPropertyDescriptors( object );
+
+ addIdPropertyDescriptor( object );
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Id feature.
+ *
+ *
+ * @generated
+ */
+ protected void addIdPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TDoc_id_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TDoc_id_feature", "_UI_TDoc_type" ),
+ NsdPackage.Literals.TDOC__ID, true, false, false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ 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
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Collection< ? extends EStructuralFeature > getChildrenFeatures( Object object ) {
+ if( childrenFeatures == null ) {
+ super.getChildrenFeatures( object );
+ childrenFeatures.add( NsdPackage.Literals.TDOC__MIXED );
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected EStructuralFeature getChildFeature( Object object, Object child ) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature( object, child );
+ }
+
+ /**
+ * This returns TDoc.gif.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage( Object object ) {
+ return overlayImage( object, getResourceLocator().getImage( "full/obj16/TDoc" ) );
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public String getText( Object object ) {
+ String label = ( ( TDoc ) object ).getId();
+ return label == null || label.length() == 0 ? getString( "_UI_TDoc_type" )
+ : getString( "_UI_TDoc_type" ) + " " + label;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged( Notification notification ) {
+ updateChildren( notification );
+
+ switch( notification.getFeatureID( TDoc.class ) ) {
+ case NsdPackage.TDOC__ID:
+ fireNotifyChanged( new ViewerNotification( notification, notification.getNotifier(), false, true ) );
+ return;
+ case NsdPackage.TDOC__MIXED:
+ fireNotifyChanged( new ViewerNotification( notification, notification.getNotifier(), true, false ) );
+ return;
+ }
+ super.notifyChanged( notification );
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors( Collection< Object > newChildDescriptors, Object object ) {
+ super.collectNewChildDescriptors( newChildDescriptors, object );
+
+ newChildDescriptors.add( createChildParameter( NsdPackage.Literals.TDOC__MIXED,
+ FeatureMapUtil.createEntry( XMLTypePackage.Literals.XML_TYPE_DOCUMENT_ROOT__COMMENT, "" ) ) );
+
+ newChildDescriptors.add( createChildParameter( NsdPackage.Literals.TDOC__MIXED,
+ FeatureMapUtil.createEntry( XMLTypePackage.Literals.XML_TYPE_DOCUMENT_ROOT__TEXT, "" ) ) );
+
+ newChildDescriptors.add( createChildParameter( NsdPackage.Literals.TDOC__MIXED,
+ FeatureMapUtil.createEntry( XMLTypePackage.Literals.XML_TYPE_DOCUMENT_ROOT__PROCESSING_INSTRUCTION,
+ XMLTypeFactory.eINSTANCE.createProcessingInstruction() ) ) );
+
+ newChildDescriptors.add( createChildParameter( NsdPackage.Literals.TDOC__MIXED,
+ FeatureMapUtil.createEntry( XMLTypePackage.Literals.XML_TYPE_DOCUMENT_ROOT__CDATA, "" ) ) );
+
+ newChildDescriptors.add( createChildParameter( NsdPackage.Literals.TDOC__MIXED,
+ FeatureMapUtil.createEntry( NsdPackage.Literals.DOCUMENT_ROOT__APPLICABLE_SERVICE_NS,
+ NsdFactory.eINSTANCE.createTApplicableServiceNS() ) ) );
+
+ newChildDescriptors.add( createChildParameter( NsdPackage.Literals.TDOC__MIXED, FeatureMapUtil.createEntry(
+ NsdPackage.Literals.DOCUMENT_ROOT__COPYRIGHT, NsdFactory.eINSTANCE.createTCopyrightNotice() ) ) );
+
+ newChildDescriptors.add( createChildParameter( NsdPackage.Literals.TDOC__MIXED, FeatureMapUtil
+ .createEntry( NsdPackage.Literals.DOCUMENT_ROOT__NS, NsdFactory.eINSTANCE.createTNS() ) ) );
+
+ newChildDescriptors.add( createChildParameter( NsdPackage.Literals.TDOC__MIXED, FeatureMapUtil
+ .createEntry( NsdPackage.Literals.DOCUMENT_ROOT__NS_DOC, NsdFactory.eINSTANCE.createTNSDoc() ) ) );
+
+ newChildDescriptors.add( createChildParameter( NsdPackage.Literals.TDOC__MIXED, FeatureMapUtil.createEntry(
+ NsdPackage.Literals.DOCUMENT_ROOT__SERVICE_NS, NsdFactory.eINSTANCE.createTServiceNS() ) ) );
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public String getCreateChildText( Object owner, Object feature, Object child, Collection< ? > selection ) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ if( childFeature instanceof EStructuralFeature
+ && FeatureMapUtil.isFeatureMap( ( EStructuralFeature ) childFeature ) ) {
+ FeatureMap.Entry entry = ( FeatureMap.Entry ) childObject;
+ childFeature = entry.getEStructuralFeature();
+ childObject = entry.getValue();
+ }
+
+ boolean qualify = childFeature == NsdPackage.Literals.DOCUMENT_ROOT__APPLICABLE_SERVICE_NS
+ || childFeature == NsdPackage.Literals.DOCUMENT_ROOT__COPYRIGHT
+ || childFeature == NsdPackage.Literals.DOCUMENT_ROOT__NS
+ || childFeature == NsdPackage.Literals.DOCUMENT_ROOT__NS_DOC
+ || childFeature == NsdPackage.Literals.DOCUMENT_ROOT__SERVICE_NS;
+
+ if( qualify ) {
+ return getString( "_UI_CreateChild_text2",
+ new Object[] { getTypeText( childObject ), getFeatureText( childFeature ), getTypeText( owner ) } );
+ }
+ return super.getCreateChildText( owner, feature, child, selection );
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return NSDEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TDocumentedClassItemProvider.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TDocumentedClassItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..914eb0ed78198b7cbb203fd780a0c3bfb2bfb3bc
--- /dev/null
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TDocumentedClassItemProvider.java
@@ -0,0 +1,195 @@
+/**
+ * Copyright (c) 2019 CentraleSupélec & EDF.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * This file is part of the RiseClipse tool
+ *
+ * Contributors:
+ * Computer Science Department, CentraleSupélec
+ * EDF R&D
+ * Contacts:
+ * dominique.marcadet@centralesupelec.fr
+ * aurelie.dehouck-neveu@edf.fr
+ * Web site:
+ * http://wdi.supelec.fr/software/RiseClipse/
+ *
+ */
+package fr.centralesupelec.edf.riseclipse.iec61850.nsd.provider;
+
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage;
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.TDocumentedClass;
+
+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.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TDocumentedClass} object.
+ *
+ *
+ * @generated
+ */
+public class TDocumentedClassItemProvider extends ItemProviderAdapter implements IEditingDomainItemProvider,
+ IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ *
+ *
+ * @generated
+ */
+ public TDocumentedClassItemProvider( AdapterFactory adapterFactory ) {
+ super( adapterFactory );
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public List< IItemPropertyDescriptor > getPropertyDescriptors( Object object ) {
+ if( itemPropertyDescriptors == null ) {
+ super.getPropertyDescriptors( object );
+
+ addDeprecatedPropertyDescriptor( object );
+ addDescIDPropertyDescriptor( object );
+ addInformativePropertyDescriptor( object );
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Deprecated feature.
+ *
+ *
+ * @generated
+ */
+ protected void addDeprecatedPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TDocumentedClass_deprecated_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TDocumentedClass_deprecated_feature",
+ "_UI_TDocumentedClass_type" ),
+ NsdPackage.Literals.TDOCUMENTED_CLASS__DEPRECATED, true, false, false,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Desc ID feature.
+ *
+ *
+ * @generated
+ */
+ protected void addDescIDPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TDocumentedClass_descID_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TDocumentedClass_descID_feature",
+ "_UI_TDocumentedClass_type" ),
+ NsdPackage.Literals.TDOCUMENTED_CLASS__DESC_ID, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Informative feature.
+ *
+ *
+ * @generated
+ */
+ protected void addInformativePropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TDocumentedClass_informative_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TDocumentedClass_informative_feature",
+ "_UI_TDocumentedClass_type" ),
+ NsdPackage.Literals.TDOCUMENTED_CLASS__INFORMATIVE, true, false, false,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This returns TDocumentedClass.gif.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage( Object object ) {
+ return overlayImage( object, getResourceLocator().getImage( "full/obj16/TDocumentedClass" ) );
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public String getText( Object object ) {
+ TDocumentedClass tDocumentedClass = ( TDocumentedClass ) object;
+ return getString( "_UI_TDocumentedClass_type" ) + " " + tDocumentedClass.isDeprecated();
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged( Notification notification ) {
+ updateChildren( notification );
+
+ switch( notification.getFeatureID( TDocumentedClass.class ) ) {
+ case NsdPackage.TDOCUMENTED_CLASS__DEPRECATED:
+ case NsdPackage.TDOCUMENTED_CLASS__DESC_ID:
+ case NsdPackage.TDOCUMENTED_CLASS__INFORMATIVE:
+ fireNotifyChanged( new ViewerNotification( notification, notification.getNotifier(), false, true ) );
+ return;
+ }
+ super.notifyChanged( notification );
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors( Collection< Object > newChildDescriptors, Object object ) {
+ super.collectNewChildDescriptors( newChildDescriptors, object );
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return NSDEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TEnumerationItemProvider.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TEnumerationItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..9141ef3a25fb53ce33cd3a50ff222204536ad3e4
--- /dev/null
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TEnumerationItemProvider.java
@@ -0,0 +1,197 @@
+/**
+ * Copyright (c) 2019 CentraleSupélec & EDF.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * This file is part of the RiseClipse tool
+ *
+ * Contributors:
+ * Computer Science Department, CentraleSupélec
+ * EDF R&D
+ * Contacts:
+ * dominique.marcadet@centralesupelec.fr
+ * aurelie.dehouck-neveu@edf.fr
+ * Web site:
+ * http://wdi.supelec.fr/software/RiseClipse/
+ *
+ */
+package fr.centralesupelec.edf.riseclipse.iec61850.nsd.provider;
+
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdFactory;
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage;
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.TEnumeration;
+
+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.ecore.EStructuralFeature;
+
+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.TEnumeration} object.
+ *
+ *
+ * @generated
+ */
+public class TEnumerationItemProvider extends TTitledClassItemProvider {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ *
+ *
+ * @generated
+ */
+ public TEnumerationItemProvider( AdapterFactory adapterFactory ) {
+ super( adapterFactory );
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public List< IItemPropertyDescriptor > getPropertyDescriptors( Object object ) {
+ if( itemPropertyDescriptors == null ) {
+ super.getPropertyDescriptors( object );
+
+ addInheritedFromPropertyDescriptor( object );
+ addNamePropertyDescriptor( object );
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Inherited From feature.
+ *
+ *
+ * @generated
+ */
+ protected void addInheritedFromPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TEnumeration_inheritedFrom_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TEnumeration_inheritedFrom_feature",
+ "_UI_TEnumeration_type" ),
+ NsdPackage.Literals.TENUMERATION__INHERITED_FROM, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Name feature.
+ *
+ *
+ * @generated
+ */
+ protected void addNamePropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TEnumeration_name_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TEnumeration_name_feature",
+ "_UI_TEnumeration_type" ),
+ NsdPackage.Literals.TENUMERATION__NAME, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, 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
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Collection< ? extends EStructuralFeature > getChildrenFeatures( Object object ) {
+ if( childrenFeatures == null ) {
+ super.getChildrenFeatures( object );
+ childrenFeatures.add( NsdPackage.Literals.TENUMERATION__LITERAL );
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected EStructuralFeature getChildFeature( Object object, Object child ) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature( object, child );
+ }
+
+ /**
+ * This returns TEnumeration.gif.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage( Object object ) {
+ return overlayImage( object, getResourceLocator().getImage( "full/obj16/TEnumeration" ) );
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public String getText( Object object ) {
+ String label = ( ( TEnumeration ) object ).getName();
+ return label == null || label.length() == 0 ? getString( "_UI_TEnumeration_type" )
+ : getString( "_UI_TEnumeration_type" ) + " " + label;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged( Notification notification ) {
+ updateChildren( notification );
+
+ switch( notification.getFeatureID( TEnumeration.class ) ) {
+ case NsdPackage.TENUMERATION__INHERITED_FROM:
+ case NsdPackage.TENUMERATION__NAME:
+ fireNotifyChanged( new ViewerNotification( notification, notification.getNotifier(), false, true ) );
+ return;
+ case NsdPackage.TENUMERATION__LITERAL:
+ fireNotifyChanged( new ViewerNotification( notification, notification.getNotifier(), true, false ) );
+ return;
+ }
+ super.notifyChanged( notification );
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors( Collection< Object > newChildDescriptors, Object object ) {
+ super.collectNewChildDescriptors( newChildDescriptors, object );
+
+ newChildDescriptors.add( createChildParameter( NsdPackage.Literals.TENUMERATION__LITERAL,
+ NsdFactory.eINSTANCE.createTLiteral() ) );
+ }
+
+}
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TEnumerationsItemProvider.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TEnumerationsItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..4171f84ddeac755fb4b438a1bcf5a07c08278b4c
--- /dev/null
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TEnumerationsItemProvider.java
@@ -0,0 +1,175 @@
+/**
+ * Copyright (c) 2019 CentraleSupélec & EDF.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * This file is part of the RiseClipse tool
+ *
+ * Contributors:
+ * Computer Science Department, CentraleSupélec
+ * EDF R&D
+ * Contacts:
+ * dominique.marcadet@centralesupelec.fr
+ * aurelie.dehouck-neveu@edf.fr
+ * Web site:
+ * http://wdi.supelec.fr/software/RiseClipse/
+ *
+ */
+package fr.centralesupelec.edf.riseclipse.iec61850.nsd.provider;
+
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdFactory;
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage;
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.TEnumerations;
+
+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.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TEnumerations} object.
+ *
+ *
+ * @generated
+ */
+public class TEnumerationsItemProvider extends ItemProviderAdapter implements IEditingDomainItemProvider,
+ IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ *
+ *
+ * @generated
+ */
+ public TEnumerationsItemProvider( AdapterFactory adapterFactory ) {
+ super( adapterFactory );
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public List< IItemPropertyDescriptor > getPropertyDescriptors( Object object ) {
+ if( itemPropertyDescriptors == null ) {
+ super.getPropertyDescriptors( object );
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * 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
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Collection< ? extends EStructuralFeature > getChildrenFeatures( Object object ) {
+ if( childrenFeatures == null ) {
+ super.getChildrenFeatures( object );
+ childrenFeatures.add( NsdPackage.Literals.TENUMERATIONS__ENUMERATION );
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected EStructuralFeature getChildFeature( Object object, Object child ) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature( object, child );
+ }
+
+ /**
+ * This returns TEnumerations.gif.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage( Object object ) {
+ return overlayImage( object, getResourceLocator().getImage( "full/obj16/TEnumerations" ) );
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public String getText( Object object ) {
+ return getString( "_UI_TEnumerations_type" );
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged( Notification notification ) {
+ updateChildren( notification );
+
+ switch( notification.getFeatureID( TEnumerations.class ) ) {
+ case NsdPackage.TENUMERATIONS__ENUMERATION:
+ fireNotifyChanged( new ViewerNotification( notification, notification.getNotifier(), true, false ) );
+ return;
+ }
+ super.notifyChanged( notification );
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors( Collection< Object > newChildDescriptors, Object object ) {
+ super.collectNewChildDescriptors( newChildDescriptors, object );
+
+ newChildDescriptors.add( createChildParameter( NsdPackage.Literals.TENUMERATIONS__ENUMERATION,
+ NsdFactory.eINSTANCE.createTEnumeration() ) );
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return NSDEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TFunctionalConstraintItemProvider.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TFunctionalConstraintItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..f6616dd9e843b5965b0fc0e4988d366800f16df0
--- /dev/null
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TFunctionalConstraintItemProvider.java
@@ -0,0 +1,235 @@
+/**
+ * Copyright (c) 2019 CentraleSupélec & EDF.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * This file is part of the RiseClipse tool
+ *
+ * Contributors:
+ * Computer Science Department, CentraleSupélec
+ * EDF R&D
+ * Contacts:
+ * dominique.marcadet@centralesupelec.fr
+ * aurelie.dehouck-neveu@edf.fr
+ * Web site:
+ * http://wdi.supelec.fr/software/RiseClipse/
+ *
+ */
+package fr.centralesupelec.edf.riseclipse.iec61850.nsd.provider;
+
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdFactory;
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage;
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.TFunctionalConstraint;
+
+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.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TFunctionalConstraint} object.
+ *
+ *
+ * @generated
+ */
+public class TFunctionalConstraintItemProvider extends ItemProviderAdapter implements IEditingDomainItemProvider,
+ IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ *
+ *
+ * @generated
+ */
+ public TFunctionalConstraintItemProvider( AdapterFactory adapterFactory ) {
+ super( adapterFactory );
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public List< IItemPropertyDescriptor > getPropertyDescriptors( Object object ) {
+ if( itemPropertyDescriptors == null ) {
+ super.getPropertyDescriptors( object );
+
+ addAbbreviationPropertyDescriptor( object );
+ addDescIDPropertyDescriptor( object );
+ addTitleIDPropertyDescriptor( object );
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Abbreviation feature.
+ *
+ *
+ * @generated
+ */
+ protected void addAbbreviationPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add( createItemPropertyDescriptor(
+ ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(), getResourceLocator(),
+ getString( "_UI_TFunctionalConstraint_abbreviation_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TFunctionalConstraint_abbreviation_feature",
+ "_UI_TFunctionalConstraint_type" ),
+ NsdPackage.Literals.TFUNCTIONAL_CONSTRAINT__ABBREVIATION, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Desc ID feature.
+ *
+ *
+ * @generated
+ */
+ protected void addDescIDPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TFunctionalConstraint_descID_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TFunctionalConstraint_descID_feature",
+ "_UI_TFunctionalConstraint_type" ),
+ NsdPackage.Literals.TFUNCTIONAL_CONSTRAINT__DESC_ID, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Title ID feature.
+ *
+ *
+ * @generated
+ */
+ protected void addTitleIDPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add( createItemPropertyDescriptor(
+ ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(), getResourceLocator(),
+ getString( "_UI_TFunctionalConstraint_titleID_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TFunctionalConstraint_titleID_feature",
+ "_UI_TFunctionalConstraint_type" ),
+ NsdPackage.Literals.TFUNCTIONAL_CONSTRAINT__TITLE_ID, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, 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
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Collection< ? extends EStructuralFeature > getChildrenFeatures( Object object ) {
+ if( childrenFeatures == null ) {
+ super.getChildrenFeatures( object );
+ childrenFeatures.add( NsdPackage.Literals.TFUNCTIONAL_CONSTRAINT__APPLICABLE_SERVICES );
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected EStructuralFeature getChildFeature( Object object, Object child ) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature( object, child );
+ }
+
+ /**
+ * This returns TFunctionalConstraint.gif.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage( Object object ) {
+ return overlayImage( object, getResourceLocator().getImage( "full/obj16/TFunctionalConstraint" ) );
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public String getText( Object object ) {
+ String label = ( ( TFunctionalConstraint ) object ).getAbbreviation();
+ return label == null || label.length() == 0 ? getString( "_UI_TFunctionalConstraint_type" )
+ : getString( "_UI_TFunctionalConstraint_type" ) + " " + label;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged( Notification notification ) {
+ updateChildren( notification );
+
+ switch( notification.getFeatureID( TFunctionalConstraint.class ) ) {
+ case NsdPackage.TFUNCTIONAL_CONSTRAINT__ABBREVIATION:
+ case NsdPackage.TFUNCTIONAL_CONSTRAINT__DESC_ID:
+ case NsdPackage.TFUNCTIONAL_CONSTRAINT__TITLE_ID:
+ fireNotifyChanged( new ViewerNotification( notification, notification.getNotifier(), false, true ) );
+ return;
+ case NsdPackage.TFUNCTIONAL_CONSTRAINT__APPLICABLE_SERVICES:
+ fireNotifyChanged( new ViewerNotification( notification, notification.getNotifier(), true, false ) );
+ return;
+ }
+ super.notifyChanged( notification );
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors( Collection< Object > newChildDescriptors, Object object ) {
+ super.collectNewChildDescriptors( newChildDescriptors, object );
+
+ newChildDescriptors.add( createChildParameter( NsdPackage.Literals.TFUNCTIONAL_CONSTRAINT__APPLICABLE_SERVICES,
+ NsdFactory.eINSTANCE.createTApplicableServices() ) );
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return NSDEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TFunctionalConstraintsItemProvider.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TFunctionalConstraintsItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..c186cffbeccc832bfb70285bec24749591afb482
--- /dev/null
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TFunctionalConstraintsItemProvider.java
@@ -0,0 +1,176 @@
+/**
+ * Copyright (c) 2019 CentraleSupélec & EDF.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * This file is part of the RiseClipse tool
+ *
+ * Contributors:
+ * Computer Science Department, CentraleSupélec
+ * EDF R&D
+ * Contacts:
+ * dominique.marcadet@centralesupelec.fr
+ * aurelie.dehouck-neveu@edf.fr
+ * Web site:
+ * http://wdi.supelec.fr/software/RiseClipse/
+ *
+ */
+package fr.centralesupelec.edf.riseclipse.iec61850.nsd.provider;
+
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdFactory;
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage;
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.TFunctionalConstraints;
+
+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.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TFunctionalConstraints} object.
+ *
+ *
+ * @generated
+ */
+public class TFunctionalConstraintsItemProvider extends ItemProviderAdapter implements IEditingDomainItemProvider,
+ IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ *
+ *
+ * @generated
+ */
+ public TFunctionalConstraintsItemProvider( AdapterFactory adapterFactory ) {
+ super( adapterFactory );
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public List< IItemPropertyDescriptor > getPropertyDescriptors( Object object ) {
+ if( itemPropertyDescriptors == null ) {
+ super.getPropertyDescriptors( object );
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * 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
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Collection< ? extends EStructuralFeature > getChildrenFeatures( Object object ) {
+ if( childrenFeatures == null ) {
+ super.getChildrenFeatures( object );
+ childrenFeatures.add( NsdPackage.Literals.TFUNCTIONAL_CONSTRAINTS__FUNCTIONAL_CONSTRAINT );
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected EStructuralFeature getChildFeature( Object object, Object child ) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature( object, child );
+ }
+
+ /**
+ * This returns TFunctionalConstraints.gif.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage( Object object ) {
+ return overlayImage( object, getResourceLocator().getImage( "full/obj16/TFunctionalConstraints" ) );
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public String getText( Object object ) {
+ return getString( "_UI_TFunctionalConstraints_type" );
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged( Notification notification ) {
+ updateChildren( notification );
+
+ switch( notification.getFeatureID( TFunctionalConstraints.class ) ) {
+ case NsdPackage.TFUNCTIONAL_CONSTRAINTS__FUNCTIONAL_CONSTRAINT:
+ fireNotifyChanged( new ViewerNotification( notification, notification.getNotifier(), true, false ) );
+ return;
+ }
+ super.notifyChanged( notification );
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors( Collection< Object > newChildDescriptors, Object object ) {
+ super.collectNewChildDescriptors( newChildDescriptors, object );
+
+ newChildDescriptors
+ .add( createChildParameter( NsdPackage.Literals.TFUNCTIONAL_CONSTRAINTS__FUNCTIONAL_CONSTRAINT,
+ NsdFactory.eINSTANCE.createTFunctionalConstraint() ) );
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return NSDEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TLNClassItemProvider.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TLNClassItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..d2eca39c8aa6d56b204e29c1e6e220993ec2e506
--- /dev/null
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TLNClassItemProvider.java
@@ -0,0 +1,176 @@
+/**
+ * Copyright (c) 2019 CentraleSupélec & EDF.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * This file is part of the RiseClipse tool
+ *
+ * Contributors:
+ * Computer Science Department, CentraleSupélec
+ * EDF R&D
+ * Contacts:
+ * dominique.marcadet@centralesupelec.fr
+ * aurelie.dehouck-neveu@edf.fr
+ * Web site:
+ * http://wdi.supelec.fr/software/RiseClipse/
+ *
+ */
+package fr.centralesupelec.edf.riseclipse.iec61850.nsd.provider;
+
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage;
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.TLNClass;
+
+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.TLNClass} object.
+ *
+ *
+ * @generated
+ */
+public class TLNClassItemProvider extends TAnyLNClassItemProvider {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ *
+ *
+ * @generated
+ */
+ public TLNClassItemProvider( AdapterFactory adapterFactory ) {
+ super( adapterFactory );
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public List< IItemPropertyDescriptor > getPropertyDescriptors( Object object ) {
+ if( itemPropertyDescriptors == null ) {
+ super.getPropertyDescriptors( object );
+
+ addCanHaveLOGPropertyDescriptor( object );
+ addIsExtensionPropertyDescriptor( object );
+ addNamePropertyDescriptor( object );
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Can Have LOG feature.
+ *
+ *
+ * @generated
+ */
+ protected void addCanHaveLOGPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TLNClass_canHaveLOG_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TLNClass_canHaveLOG_feature",
+ "_UI_TLNClass_type" ),
+ NsdPackage.Literals.TLN_CLASS__CAN_HAVE_LOG, true, false, false,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Is Extension feature.
+ *
+ *
+ * @generated
+ */
+ protected void addIsExtensionPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TLNClass_isExtension_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TLNClass_isExtension_feature",
+ "_UI_TLNClass_type" ),
+ NsdPackage.Literals.TLN_CLASS__IS_EXTENSION, true, false, false,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Name feature.
+ *
+ *
+ * @generated
+ */
+ protected void addNamePropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TLNClass_name_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TLNClass_name_feature",
+ "_UI_TLNClass_type" ),
+ NsdPackage.Literals.TLN_CLASS__NAME, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This returns TLNClass.gif.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage( Object object ) {
+ return overlayImage( object, getResourceLocator().getImage( "full/obj16/TLNClass" ) );
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public String getText( Object object ) {
+ String label = ( ( TLNClass ) object ).getName();
+ return label == null || label.length() == 0 ? getString( "_UI_TLNClass_type" )
+ : getString( "_UI_TLNClass_type" ) + " " + label;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged( Notification notification ) {
+ updateChildren( notification );
+
+ switch( notification.getFeatureID( TLNClass.class ) ) {
+ case NsdPackage.TLN_CLASS__CAN_HAVE_LOG:
+ case NsdPackage.TLN_CLASS__IS_EXTENSION:
+ case NsdPackage.TLN_CLASS__NAME:
+ fireNotifyChanged( new ViewerNotification( notification, notification.getNotifier(), false, true ) );
+ return;
+ }
+ super.notifyChanged( notification );
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors( Collection< Object > newChildDescriptors, Object object ) {
+ super.collectNewChildDescriptors( newChildDescriptors, object );
+ }
+
+}
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TLNClassesItemProvider.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TLNClassesItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..8b7e25df8739bb320d1316bc1961ca9dd70c6bca
--- /dev/null
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TLNClassesItemProvider.java
@@ -0,0 +1,180 @@
+/**
+ * Copyright (c) 2019 CentraleSupélec & EDF.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * This file is part of the RiseClipse tool
+ *
+ * Contributors:
+ * Computer Science Department, CentraleSupélec
+ * EDF R&D
+ * Contacts:
+ * dominique.marcadet@centralesupelec.fr
+ * aurelie.dehouck-neveu@edf.fr
+ * Web site:
+ * http://wdi.supelec.fr/software/RiseClipse/
+ *
+ */
+package fr.centralesupelec.edf.riseclipse.iec61850.nsd.provider;
+
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdFactory;
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage;
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.TLNClasses;
+
+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.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TLNClasses} object.
+ *
+ *
+ * @generated
+ */
+public class TLNClassesItemProvider extends ItemProviderAdapter implements IEditingDomainItemProvider,
+ IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ *
+ *
+ * @generated
+ */
+ public TLNClassesItemProvider( AdapterFactory adapterFactory ) {
+ super( adapterFactory );
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public List< IItemPropertyDescriptor > getPropertyDescriptors( Object object ) {
+ if( itemPropertyDescriptors == null ) {
+ super.getPropertyDescriptors( object );
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * 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
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Collection< ? extends EStructuralFeature > getChildrenFeatures( Object object ) {
+ if( childrenFeatures == null ) {
+ super.getChildrenFeatures( object );
+ childrenFeatures.add( NsdPackage.Literals.TLN_CLASSES__ABSTRACT_LN_CLASS );
+ childrenFeatures.add( NsdPackage.Literals.TLN_CLASSES__LN_CLASS );
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected EStructuralFeature getChildFeature( Object object, Object child ) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature( object, child );
+ }
+
+ /**
+ * This returns TLNClasses.gif.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage( Object object ) {
+ return overlayImage( object, getResourceLocator().getImage( "full/obj16/TLNClasses" ) );
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public String getText( Object object ) {
+ return getString( "_UI_TLNClasses_type" );
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged( Notification notification ) {
+ updateChildren( notification );
+
+ switch( notification.getFeatureID( TLNClasses.class ) ) {
+ case NsdPackage.TLN_CLASSES__ABSTRACT_LN_CLASS:
+ case NsdPackage.TLN_CLASSES__LN_CLASS:
+ fireNotifyChanged( new ViewerNotification( notification, notification.getNotifier(), true, false ) );
+ return;
+ }
+ super.notifyChanged( notification );
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors( Collection< Object > newChildDescriptors, Object object ) {
+ super.collectNewChildDescriptors( newChildDescriptors, object );
+
+ newChildDescriptors.add( createChildParameter( NsdPackage.Literals.TLN_CLASSES__ABSTRACT_LN_CLASS,
+ NsdFactory.eINSTANCE.createTAbstractLNClass() ) );
+
+ newChildDescriptors.add( createChildParameter( NsdPackage.Literals.TLN_CLASSES__LN_CLASS,
+ NsdFactory.eINSTANCE.createTLNClass() ) );
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return NSDEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TLicenseItemProvider.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TLicenseItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..4f01f5b938b4bd41719e10c5de7f0e451d3961f8
--- /dev/null
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TLicenseItemProvider.java
@@ -0,0 +1,233 @@
+/**
+ * Copyright (c) 2019 CentraleSupélec & EDF.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * This file is part of the RiseClipse tool
+ *
+ * Contributors:
+ * Computer Science Department, CentraleSupélec
+ * EDF R&D
+ * Contacts:
+ * dominique.marcadet@centralesupelec.fr
+ * aurelie.dehouck-neveu@edf.fr
+ * Web site:
+ * http://wdi.supelec.fr/software/RiseClipse/
+ *
+ */
+package fr.centralesupelec.edf.riseclipse.iec61850.nsd.provider;
+
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage;
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.TLicense;
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.TLicenseKind;
+
+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.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.ecore.util.FeatureMapUtil;
+
+import org.eclipse.emf.ecore.xml.type.XMLTypeFactory;
+import org.eclipse.emf.ecore.xml.type.XMLTypePackage;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TLicense} object.
+ *
+ *
+ * @generated
+ */
+public class TLicenseItemProvider extends ItemProviderAdapter implements IEditingDomainItemProvider,
+ IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ *
+ *
+ * @generated
+ */
+ public TLicenseItemProvider( AdapterFactory adapterFactory ) {
+ super( adapterFactory );
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public List< IItemPropertyDescriptor > getPropertyDescriptors( Object object ) {
+ if( itemPropertyDescriptors == null ) {
+ super.getPropertyDescriptors( object );
+
+ addKindPropertyDescriptor( object );
+ addUriPropertyDescriptor( object );
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Kind feature.
+ *
+ *
+ * @generated
+ */
+ protected void addKindPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TLicense_kind_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TLicense_kind_feature",
+ "_UI_TLicense_type" ),
+ NsdPackage.Literals.TLICENSE__KIND, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Uri feature.
+ *
+ *
+ * @generated
+ */
+ protected void addUriPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TLicense_uri_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TLicense_uri_feature",
+ "_UI_TLicense_type" ),
+ NsdPackage.Literals.TLICENSE__URI, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, 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
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Collection< ? extends EStructuralFeature > getChildrenFeatures( Object object ) {
+ if( childrenFeatures == null ) {
+ super.getChildrenFeatures( object );
+ childrenFeatures.add( NsdPackage.Literals.TLICENSE__MIXED );
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected EStructuralFeature getChildFeature( Object object, Object child ) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature( object, child );
+ }
+
+ /**
+ * This returns TLicense.gif.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage( Object object ) {
+ return overlayImage( object, getResourceLocator().getImage( "full/obj16/TLicense" ) );
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public String getText( Object object ) {
+ TLicenseKind labelValue = ( ( TLicense ) object ).getKind();
+ String label = labelValue == null ? null : labelValue.toString();
+ return label == null || label.length() == 0 ? getString( "_UI_TLicense_type" )
+ : getString( "_UI_TLicense_type" ) + " " + label;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged( Notification notification ) {
+ updateChildren( notification );
+
+ switch( notification.getFeatureID( TLicense.class ) ) {
+ case NsdPackage.TLICENSE__KIND:
+ case NsdPackage.TLICENSE__URI:
+ fireNotifyChanged( new ViewerNotification( notification, notification.getNotifier(), false, true ) );
+ return;
+ case NsdPackage.TLICENSE__MIXED:
+ fireNotifyChanged( new ViewerNotification( notification, notification.getNotifier(), true, false ) );
+ return;
+ }
+ super.notifyChanged( notification );
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors( Collection< Object > newChildDescriptors, Object object ) {
+ super.collectNewChildDescriptors( newChildDescriptors, object );
+
+ newChildDescriptors.add( createChildParameter( NsdPackage.Literals.TLICENSE__MIXED,
+ FeatureMapUtil.createEntry( XMLTypePackage.Literals.XML_TYPE_DOCUMENT_ROOT__COMMENT, "" ) ) );
+
+ newChildDescriptors.add( createChildParameter( NsdPackage.Literals.TLICENSE__MIXED,
+ FeatureMapUtil.createEntry( XMLTypePackage.Literals.XML_TYPE_DOCUMENT_ROOT__TEXT, "" ) ) );
+
+ newChildDescriptors.add( createChildParameter( NsdPackage.Literals.TLICENSE__MIXED,
+ FeatureMapUtil.createEntry( XMLTypePackage.Literals.XML_TYPE_DOCUMENT_ROOT__PROCESSING_INSTRUCTION,
+ XMLTypeFactory.eINSTANCE.createProcessingInstruction() ) ) );
+
+ newChildDescriptors.add( createChildParameter( NsdPackage.Literals.TLICENSE__MIXED,
+ FeatureMapUtil.createEntry( XMLTypePackage.Literals.XML_TYPE_DOCUMENT_ROOT__CDATA, "" ) ) );
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return NSDEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TLiteralItemProvider.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TLiteralItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..3d75e82ac3bbbbe7bd66331623278d988cce3362
--- /dev/null
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TLiteralItemProvider.java
@@ -0,0 +1,158 @@
+/**
+ * Copyright (c) 2019 CentraleSupélec & EDF.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * This file is part of the RiseClipse tool
+ *
+ * Contributors:
+ * Computer Science Department, CentraleSupélec
+ * EDF R&D
+ * Contacts:
+ * dominique.marcadet@centralesupelec.fr
+ * aurelie.dehouck-neveu@edf.fr
+ * Web site:
+ * http://wdi.supelec.fr/software/RiseClipse/
+ *
+ */
+package fr.centralesupelec.edf.riseclipse.iec61850.nsd.provider;
+
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage;
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.TLiteral;
+
+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.TLiteral} object.
+ *
+ *
+ * @generated
+ */
+public class TLiteralItemProvider extends TDocumentedClassItemProvider {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ *
+ *
+ * @generated
+ */
+ public TLiteralItemProvider( AdapterFactory adapterFactory ) {
+ super( adapterFactory );
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public List< IItemPropertyDescriptor > getPropertyDescriptors( Object object ) {
+ if( itemPropertyDescriptors == null ) {
+ super.getPropertyDescriptors( object );
+
+ addLiteralValPropertyDescriptor( object );
+ addNamePropertyDescriptor( object );
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Literal Val feature.
+ *
+ *
+ * @generated
+ */
+ protected void addLiteralValPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TLiteral_literalVal_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TLiteral_literalVal_feature",
+ "_UI_TLiteral_type" ),
+ NsdPackage.Literals.TLITERAL__LITERAL_VAL, true, false, false,
+ ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Name feature.
+ *
+ *
+ * @generated
+ */
+ protected void addNamePropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TLiteral_name_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TLiteral_name_feature",
+ "_UI_TLiteral_type" ),
+ NsdPackage.Literals.TLITERAL__NAME, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This returns TLiteral.gif.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage( Object object ) {
+ return overlayImage( object, getResourceLocator().getImage( "full/obj16/TLiteral" ) );
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public String getText( Object object ) {
+ String label = ( ( TLiteral ) object ).getName();
+ return label == null || label.length() == 0 ? getString( "_UI_TLiteral_type" )
+ : getString( "_UI_TLiteral_type" ) + " " + label;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged( Notification notification ) {
+ updateChildren( notification );
+
+ switch( notification.getFeatureID( TLiteral.class ) ) {
+ case NsdPackage.TLITERAL__LITERAL_VAL:
+ case NsdPackage.TLITERAL__NAME:
+ fireNotifyChanged( new ViewerNotification( notification, notification.getNotifier(), false, true ) );
+ return;
+ }
+ super.notifyChanged( notification );
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors( Collection< Object > newChildDescriptors, Object object ) {
+ super.collectNewChildDescriptors( newChildDescriptors, object );
+ }
+
+}
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TNSDocItemProvider.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TNSDocItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..c45a3d731abacde347adc94e1a291c8fd0401154
--- /dev/null
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TNSDocItemProvider.java
@@ -0,0 +1,303 @@
+/**
+ * Copyright (c) 2019 CentraleSupélec & EDF.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * This file is part of the RiseClipse tool
+ *
+ * Contributors:
+ * Computer Science Department, CentraleSupélec
+ * EDF R&D
+ * Contacts:
+ * dominique.marcadet@centralesupelec.fr
+ * aurelie.dehouck-neveu@edf.fr
+ * Web site:
+ * http://wdi.supelec.fr/software/RiseClipse/
+ *
+ */
+package fr.centralesupelec.edf.riseclipse.iec61850.nsd.provider;
+
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdFactory;
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage;
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.TNSDoc;
+
+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.ecore.EStructuralFeature;
+
+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.TNSDoc} object.
+ *
+ *
+ * @generated
+ */
+public class TNSDocItemProvider extends TCopyrightedItemProvider {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ *
+ *
+ * @generated
+ */
+ public TNSDocItemProvider( AdapterFactory adapterFactory ) {
+ super( adapterFactory );
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public List< IItemPropertyDescriptor > getPropertyDescriptors( Object object ) {
+ if( itemPropertyDescriptors == null ) {
+ super.getPropertyDescriptors( object );
+
+ addIdPropertyDescriptor( object );
+ addLangPropertyDescriptor( object );
+ addPublicationStagePropertyDescriptor( object );
+ addReleasePropertyDescriptor( object );
+ addRevisionPropertyDescriptor( object );
+ addUmlDatePropertyDescriptor( object );
+ addUmlVersionPropertyDescriptor( object );
+ addVersionPropertyDescriptor( object );
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Id feature.
+ *
+ *
+ * @generated
+ */
+ protected void addIdPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TNSDoc_id_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TNSDoc_id_feature", "_UI_TNSDoc_type" ),
+ NsdPackage.Literals.TNS_DOC__ID, true, false, false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Lang feature.
+ *
+ *
+ * @generated
+ */
+ protected void addLangPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TNSDoc_lang_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TNSDoc_lang_feature", "_UI_TNSDoc_type" ),
+ NsdPackage.Literals.TNS_DOC__LANG, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Publication Stage feature.
+ *
+ *
+ * @generated
+ */
+ protected void addPublicationStagePropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TNSDoc_publicationStage_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TNSDoc_publicationStage_feature",
+ "_UI_TNSDoc_type" ),
+ NsdPackage.Literals.TNS_DOC__PUBLICATION_STAGE, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Release feature.
+ *
+ *
+ * @generated
+ */
+ protected void addReleasePropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TNSDoc_release_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TNSDoc_release_feature",
+ "_UI_TNSDoc_type" ),
+ NsdPackage.Literals.TNS_DOC__RELEASE, true, false, false,
+ ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Revision feature.
+ *
+ *
+ * @generated
+ */
+ protected void addRevisionPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TNSDoc_revision_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TNSDoc_revision_feature",
+ "_UI_TNSDoc_type" ),
+ NsdPackage.Literals.TNS_DOC__REVISION, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Uml Date feature.
+ *
+ *
+ * @generated
+ */
+ protected void addUmlDatePropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TNSDoc_umlDate_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TNSDoc_umlDate_feature",
+ "_UI_TNSDoc_type" ),
+ NsdPackage.Literals.TNS_DOC__UML_DATE, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Uml Version feature.
+ *
+ *
+ * @generated
+ */
+ protected void addUmlVersionPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TNSDoc_umlVersion_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TNSDoc_umlVersion_feature",
+ "_UI_TNSDoc_type" ),
+ NsdPackage.Literals.TNS_DOC__UML_VERSION, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Version feature.
+ *
+ *
+ * @generated
+ */
+ protected void addVersionPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TNSDoc_version_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TNSDoc_version_feature",
+ "_UI_TNSDoc_type" ),
+ NsdPackage.Literals.TNS_DOC__VERSION, true, false, false,
+ ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE, 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
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Collection< ? extends EStructuralFeature > getChildrenFeatures( Object object ) {
+ if( childrenFeatures == null ) {
+ super.getChildrenFeatures( object );
+ childrenFeatures.add( NsdPackage.Literals.TNS_DOC__DOC );
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected EStructuralFeature getChildFeature( Object object, Object child ) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature( object, child );
+ }
+
+ /**
+ * This returns TNSDoc.gif.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage( Object object ) {
+ return overlayImage( object, getResourceLocator().getImage( "full/obj16/TNSDoc" ) );
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public String getText( Object object ) {
+ String label = ( ( TNSDoc ) object ).getId();
+ return label == null || label.length() == 0 ? getString( "_UI_TNSDoc_type" )
+ : getString( "_UI_TNSDoc_type" ) + " " + label;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged( Notification notification ) {
+ updateChildren( notification );
+
+ switch( notification.getFeatureID( TNSDoc.class ) ) {
+ case NsdPackage.TNS_DOC__ID:
+ case NsdPackage.TNS_DOC__LANG:
+ case NsdPackage.TNS_DOC__PUBLICATION_STAGE:
+ case NsdPackage.TNS_DOC__RELEASE:
+ case NsdPackage.TNS_DOC__REVISION:
+ case NsdPackage.TNS_DOC__UML_DATE:
+ case NsdPackage.TNS_DOC__UML_VERSION:
+ case NsdPackage.TNS_DOC__VERSION:
+ fireNotifyChanged( new ViewerNotification( notification, notification.getNotifier(), false, true ) );
+ return;
+ case NsdPackage.TNS_DOC__DOC:
+ fireNotifyChanged( new ViewerNotification( notification, notification.getNotifier(), true, false ) );
+ return;
+ }
+ super.notifyChanged( notification );
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors( Collection< Object > newChildDescriptors, Object object ) {
+ super.collectNewChildDescriptors( newChildDescriptors, object );
+
+ newChildDescriptors
+ .add( createChildParameter( NsdPackage.Literals.TNS_DOC__DOC, NsdFactory.eINSTANCE.createTDoc() ) );
+ }
+
+}
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TNSItemProvider.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TNSItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..1690f583be47926739fe80003afce659e9d728fb
--- /dev/null
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TNSItemProvider.java
@@ -0,0 +1,343 @@
+/**
+ * Copyright (c) 2019 CentraleSupélec & EDF.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * This file is part of the RiseClipse tool
+ *
+ * Contributors:
+ * Computer Science Department, CentraleSupélec
+ * EDF R&D
+ * Contacts:
+ * dominique.marcadet@centralesupelec.fr
+ * aurelie.dehouck-neveu@edf.fr
+ * Web site:
+ * http://wdi.supelec.fr/software/RiseClipse/
+ *
+ */
+package fr.centralesupelec.edf.riseclipse.iec61850.nsd.provider;
+
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdFactory;
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage;
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.TNS;
+
+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.ecore.EStructuralFeature;
+
+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.TNS} object.
+ *
+ *
+ * @generated
+ */
+public class TNSItemProvider extends TCopyrightedItemProvider {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ *
+ *
+ * @generated
+ */
+ public TNSItemProvider( AdapterFactory adapterFactory ) {
+ super( adapterFactory );
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public List< IItemPropertyDescriptor > getPropertyDescriptors( Object object ) {
+ if( itemPropertyDescriptors == null ) {
+ super.getPropertyDescriptors( object );
+
+ addDescIDPropertyDescriptor( object );
+ addIdPropertyDescriptor( object );
+ addPublicationStagePropertyDescriptor( object );
+ addReleasePropertyDescriptor( object );
+ addRevisionPropertyDescriptor( object );
+ addUmlDatePropertyDescriptor( object );
+ addUmlVersionPropertyDescriptor( object );
+ addVersionPropertyDescriptor( object );
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Desc ID feature.
+ *
+ *
+ * @generated
+ */
+ protected void addDescIDPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TNS_descID_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TNS_descID_feature", "_UI_TNS_type" ),
+ NsdPackage.Literals.TNS__DESC_ID, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Id feature.
+ *
+ *
+ * @generated
+ */
+ protected void addIdPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TNS_id_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TNS_id_feature", "_UI_TNS_type" ),
+ NsdPackage.Literals.TNS__ID, true, false, false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Publication Stage feature.
+ *
+ *
+ * @generated
+ */
+ protected void addPublicationStagePropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TNS_publicationStage_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TNS_publicationStage_feature",
+ "_UI_TNS_type" ),
+ NsdPackage.Literals.TNS__PUBLICATION_STAGE, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Release feature.
+ *
+ *
+ * @generated
+ */
+ protected void addReleasePropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TNS_release_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TNS_release_feature", "_UI_TNS_type" ),
+ NsdPackage.Literals.TNS__RELEASE, true, false, false,
+ ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Revision feature.
+ *
+ *
+ * @generated
+ */
+ protected void addRevisionPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TNS_revision_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TNS_revision_feature", "_UI_TNS_type" ),
+ NsdPackage.Literals.TNS__REVISION, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Uml Date feature.
+ *
+ *
+ * @generated
+ */
+ protected void addUmlDatePropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TNS_umlDate_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TNS_umlDate_feature", "_UI_TNS_type" ),
+ NsdPackage.Literals.TNS__UML_DATE, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Uml Version feature.
+ *
+ *
+ * @generated
+ */
+ protected void addUmlVersionPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TNS_umlVersion_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TNS_umlVersion_feature", "_UI_TNS_type" ),
+ NsdPackage.Literals.TNS__UML_VERSION, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Version feature.
+ *
+ *
+ * @generated
+ */
+ protected void addVersionPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TNS_version_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TNS_version_feature", "_UI_TNS_type" ),
+ NsdPackage.Literals.TNS__VERSION, true, false, false,
+ ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE, 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
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Collection< ? extends EStructuralFeature > getChildrenFeatures( Object object ) {
+ if( childrenFeatures == null ) {
+ super.getChildrenFeatures( object );
+ childrenFeatures.add( NsdPackage.Literals.TNS__CHANGES );
+ childrenFeatures.add( NsdPackage.Literals.TNS__DEPENDS_ON );
+ childrenFeatures.add( NsdPackage.Literals.TNS__BASIC_TYPES );
+ childrenFeatures.add( NsdPackage.Literals.TNS__FUNCTIONAL_CONSTRAINTS );
+ childrenFeatures.add( NsdPackage.Literals.TNS__PRESENCE_CONDITIONS );
+ childrenFeatures.add( NsdPackage.Literals.TNS__ABBREVIATIONS );
+ childrenFeatures.add( NsdPackage.Literals.TNS__ENUMERATIONS );
+ childrenFeatures.add( NsdPackage.Literals.TNS__CONSTRUCTED_ATTRIBUTES );
+ childrenFeatures.add( NsdPackage.Literals.TNS__CD_CS );
+ childrenFeatures.add( NsdPackage.Literals.TNS__LN_CLASSES );
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected EStructuralFeature getChildFeature( Object object, Object child ) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature( object, child );
+ }
+
+ /**
+ * This returns TNS.gif.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage( Object object ) {
+ return overlayImage( object, getResourceLocator().getImage( "full/obj16/TNS" ) );
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public String getText( Object object ) {
+ String label = ( ( TNS ) object ).getId();
+ return label == null || label.length() == 0 ? getString( "_UI_TNS_type" )
+ : getString( "_UI_TNS_type" ) + " " + label;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged( Notification notification ) {
+ updateChildren( notification );
+
+ switch( notification.getFeatureID( TNS.class ) ) {
+ case NsdPackage.TNS__DESC_ID:
+ case NsdPackage.TNS__ID:
+ case NsdPackage.TNS__PUBLICATION_STAGE:
+ case NsdPackage.TNS__RELEASE:
+ case NsdPackage.TNS__REVISION:
+ case NsdPackage.TNS__UML_DATE:
+ case NsdPackage.TNS__UML_VERSION:
+ case NsdPackage.TNS__VERSION:
+ fireNotifyChanged( new ViewerNotification( notification, notification.getNotifier(), false, true ) );
+ return;
+ case NsdPackage.TNS__CHANGES:
+ case NsdPackage.TNS__DEPENDS_ON:
+ case NsdPackage.TNS__BASIC_TYPES:
+ case NsdPackage.TNS__FUNCTIONAL_CONSTRAINTS:
+ case NsdPackage.TNS__PRESENCE_CONDITIONS:
+ case NsdPackage.TNS__ABBREVIATIONS:
+ case NsdPackage.TNS__ENUMERATIONS:
+ case NsdPackage.TNS__CONSTRUCTED_ATTRIBUTES:
+ case NsdPackage.TNS__CD_CS:
+ case NsdPackage.TNS__LN_CLASSES:
+ fireNotifyChanged( new ViewerNotification( notification, notification.getNotifier(), true, false ) );
+ return;
+ }
+ super.notifyChanged( notification );
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors( Collection< Object > newChildDescriptors, Object object ) {
+ super.collectNewChildDescriptors( newChildDescriptors, object );
+
+ newChildDescriptors
+ .add( createChildParameter( NsdPackage.Literals.TNS__CHANGES, NsdFactory.eINSTANCE.createTChanges() ) );
+
+ newChildDescriptors.add( createChildParameter( NsdPackage.Literals.TNS__DEPENDS_ON,
+ NsdFactory.eINSTANCE.createDependsOnType() ) );
+
+ newChildDescriptors.add( createChildParameter( NsdPackage.Literals.TNS__BASIC_TYPES,
+ NsdFactory.eINSTANCE.createTBasicTypes() ) );
+
+ newChildDescriptors.add( createChildParameter( NsdPackage.Literals.TNS__FUNCTIONAL_CONSTRAINTS,
+ NsdFactory.eINSTANCE.createTFunctionalConstraints() ) );
+
+ newChildDescriptors.add( createChildParameter( NsdPackage.Literals.TNS__PRESENCE_CONDITIONS,
+ NsdFactory.eINSTANCE.createTPresenceConditions() ) );
+
+ newChildDescriptors.add( createChildParameter( NsdPackage.Literals.TNS__ABBREVIATIONS,
+ NsdFactory.eINSTANCE.createTAbbreviations() ) );
+
+ newChildDescriptors.add( createChildParameter( NsdPackage.Literals.TNS__ENUMERATIONS,
+ NsdFactory.eINSTANCE.createTEnumerations() ) );
+
+ newChildDescriptors.add( createChildParameter( NsdPackage.Literals.TNS__CONSTRUCTED_ATTRIBUTES,
+ NsdFactory.eINSTANCE.createTConstructedAttributes() ) );
+
+ newChildDescriptors
+ .add( createChildParameter( NsdPackage.Literals.TNS__CD_CS, NsdFactory.eINSTANCE.createTCDCs() ) );
+
+ newChildDescriptors.add(
+ createChildParameter( NsdPackage.Literals.TNS__LN_CLASSES, NsdFactory.eINSTANCE.createTLNClasses() ) );
+ }
+
+}
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TNoticeItemProvider.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TNoticeItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..6b26e6dcc8f1c62c61f9899547de994be47717c1
--- /dev/null
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TNoticeItemProvider.java
@@ -0,0 +1,189 @@
+/**
+ * Copyright (c) 2019 CentraleSupélec & EDF.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * This file is part of the RiseClipse tool
+ *
+ * Contributors:
+ * Computer Science Department, CentraleSupélec
+ * EDF R&D
+ * Contacts:
+ * dominique.marcadet@centralesupelec.fr
+ * aurelie.dehouck-neveu@edf.fr
+ * Web site:
+ * http://wdi.supelec.fr/software/RiseClipse/
+ *
+ */
+package fr.centralesupelec.edf.riseclipse.iec61850.nsd.provider;
+
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage;
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.TNotice;
+
+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.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.ecore.util.FeatureMapUtil;
+
+import org.eclipse.emf.ecore.xml.type.XMLTypeFactory;
+import org.eclipse.emf.ecore.xml.type.XMLTypePackage;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TNotice} object.
+ *
+ *
+ * @generated
+ */
+public class TNoticeItemProvider extends ItemProviderAdapter implements IEditingDomainItemProvider,
+ IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ *
+ *
+ * @generated
+ */
+ public TNoticeItemProvider( AdapterFactory adapterFactory ) {
+ super( adapterFactory );
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public List< IItemPropertyDescriptor > getPropertyDescriptors( Object object ) {
+ if( itemPropertyDescriptors == null ) {
+ super.getPropertyDescriptors( object );
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * 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
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Collection< ? extends EStructuralFeature > getChildrenFeatures( Object object ) {
+ if( childrenFeatures == null ) {
+ super.getChildrenFeatures( object );
+ childrenFeatures.add( NsdPackage.Literals.TNOTICE__MIXED );
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected EStructuralFeature getChildFeature( Object object, Object child ) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature( object, child );
+ }
+
+ /**
+ * This returns TNotice.gif.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage( Object object ) {
+ return overlayImage( object, getResourceLocator().getImage( "full/obj16/TNotice" ) );
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public String getText( Object object ) {
+ return getString( "_UI_TNotice_type" );
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged( Notification notification ) {
+ updateChildren( notification );
+
+ switch( notification.getFeatureID( TNotice.class ) ) {
+ case NsdPackage.TNOTICE__MIXED:
+ fireNotifyChanged( new ViewerNotification( notification, notification.getNotifier(), true, false ) );
+ return;
+ }
+ super.notifyChanged( notification );
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors( Collection< Object > newChildDescriptors, Object object ) {
+ super.collectNewChildDescriptors( newChildDescriptors, object );
+
+ newChildDescriptors.add( createChildParameter( NsdPackage.Literals.TNOTICE__MIXED,
+ FeatureMapUtil.createEntry( XMLTypePackage.Literals.XML_TYPE_DOCUMENT_ROOT__COMMENT, "" ) ) );
+
+ newChildDescriptors.add( createChildParameter( NsdPackage.Literals.TNOTICE__MIXED,
+ FeatureMapUtil.createEntry( XMLTypePackage.Literals.XML_TYPE_DOCUMENT_ROOT__TEXT, "" ) ) );
+
+ newChildDescriptors.add( createChildParameter( NsdPackage.Literals.TNOTICE__MIXED,
+ FeatureMapUtil.createEntry( XMLTypePackage.Literals.XML_TYPE_DOCUMENT_ROOT__PROCESSING_INSTRUCTION,
+ XMLTypeFactory.eINSTANCE.createProcessingInstruction() ) ) );
+
+ newChildDescriptors.add( createChildParameter( NsdPackage.Literals.TNOTICE__MIXED,
+ FeatureMapUtil.createEntry( XMLTypePackage.Literals.XML_TYPE_DOCUMENT_ROOT__CDATA, "" ) ) );
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return NSDEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TPresenceConditionItemProvider.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TPresenceConditionItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..9a21749fc0cfa9b03f5771d77ae64df19e331858
--- /dev/null
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TPresenceConditionItemProvider.java
@@ -0,0 +1,214 @@
+/**
+ * Copyright (c) 2019 CentraleSupélec & EDF.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * This file is part of the RiseClipse tool
+ *
+ * Contributors:
+ * Computer Science Department, CentraleSupélec
+ * EDF R&D
+ * Contacts:
+ * dominique.marcadet@centralesupelec.fr
+ * aurelie.dehouck-neveu@edf.fr
+ * Web site:
+ * http://wdi.supelec.fr/software/RiseClipse/
+ *
+ */
+package fr.centralesupelec.edf.riseclipse.iec61850.nsd.provider;
+
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage;
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.TPresenceCondition;
+
+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.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TPresenceCondition} object.
+ *
+ *
+ * @generated
+ */
+public class TPresenceConditionItemProvider extends ItemProviderAdapter implements IEditingDomainItemProvider,
+ IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ *
+ *
+ * @generated
+ */
+ public TPresenceConditionItemProvider( AdapterFactory adapterFactory ) {
+ super( adapterFactory );
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public List< IItemPropertyDescriptor > getPropertyDescriptors( Object object ) {
+ if( itemPropertyDescriptors == null ) {
+ super.getPropertyDescriptors( object );
+
+ addArgumentPropertyDescriptor( object );
+ addDescIDPropertyDescriptor( object );
+ addNamePropertyDescriptor( object );
+ addTitleIDPropertyDescriptor( object );
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Argument feature.
+ *
+ *
+ * @generated
+ */
+ protected void addArgumentPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TPresenceCondition_argument_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TPresenceCondition_argument_feature",
+ "_UI_TPresenceCondition_type" ),
+ NsdPackage.Literals.TPRESENCE_CONDITION__ARGUMENT, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Desc ID feature.
+ *
+ *
+ * @generated
+ */
+ protected void addDescIDPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TPresenceCondition_descID_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TPresenceCondition_descID_feature",
+ "_UI_TPresenceCondition_type" ),
+ NsdPackage.Literals.TPRESENCE_CONDITION__DESC_ID, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Name feature.
+ *
+ *
+ * @generated
+ */
+ protected void addNamePropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TPresenceCondition_name_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TPresenceCondition_name_feature",
+ "_UI_TPresenceCondition_type" ),
+ NsdPackage.Literals.TPRESENCE_CONDITION__NAME, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Title ID feature.
+ *
+ *
+ * @generated
+ */
+ protected void addTitleIDPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TPresenceCondition_titleID_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TPresenceCondition_titleID_feature",
+ "_UI_TPresenceCondition_type" ),
+ NsdPackage.Literals.TPRESENCE_CONDITION__TITLE_ID, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This returns TPresenceCondition.gif.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage( Object object ) {
+ return overlayImage( object, getResourceLocator().getImage( "full/obj16/TPresenceCondition" ) );
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public String getText( Object object ) {
+ String label = ( ( TPresenceCondition ) object ).getName();
+ return label == null || label.length() == 0 ? getString( "_UI_TPresenceCondition_type" )
+ : getString( "_UI_TPresenceCondition_type" ) + " " + label;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged( Notification notification ) {
+ updateChildren( notification );
+
+ switch( notification.getFeatureID( TPresenceCondition.class ) ) {
+ case NsdPackage.TPRESENCE_CONDITION__ARGUMENT:
+ case NsdPackage.TPRESENCE_CONDITION__DESC_ID:
+ case NsdPackage.TPRESENCE_CONDITION__NAME:
+ case NsdPackage.TPRESENCE_CONDITION__TITLE_ID:
+ fireNotifyChanged( new ViewerNotification( notification, notification.getNotifier(), false, true ) );
+ return;
+ }
+ super.notifyChanged( notification );
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors( Collection< Object > newChildDescriptors, Object object ) {
+ super.collectNewChildDescriptors( newChildDescriptors, object );
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return NSDEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TPresenceConditionsItemProvider.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TPresenceConditionsItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..a57447008eda82f3961d83f0e930dbc669c6f44a
--- /dev/null
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TPresenceConditionsItemProvider.java
@@ -0,0 +1,175 @@
+/**
+ * Copyright (c) 2019 CentraleSupélec & EDF.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * This file is part of the RiseClipse tool
+ *
+ * Contributors:
+ * Computer Science Department, CentraleSupélec
+ * EDF R&D
+ * Contacts:
+ * dominique.marcadet@centralesupelec.fr
+ * aurelie.dehouck-neveu@edf.fr
+ * Web site:
+ * http://wdi.supelec.fr/software/RiseClipse/
+ *
+ */
+package fr.centralesupelec.edf.riseclipse.iec61850.nsd.provider;
+
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdFactory;
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage;
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.TPresenceConditions;
+
+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.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TPresenceConditions} object.
+ *
+ *
+ * @generated
+ */
+public class TPresenceConditionsItemProvider extends ItemProviderAdapter implements IEditingDomainItemProvider,
+ IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ *
+ *
+ * @generated
+ */
+ public TPresenceConditionsItemProvider( AdapterFactory adapterFactory ) {
+ super( adapterFactory );
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public List< IItemPropertyDescriptor > getPropertyDescriptors( Object object ) {
+ if( itemPropertyDescriptors == null ) {
+ super.getPropertyDescriptors( object );
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * 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
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Collection< ? extends EStructuralFeature > getChildrenFeatures( Object object ) {
+ if( childrenFeatures == null ) {
+ super.getChildrenFeatures( object );
+ childrenFeatures.add( NsdPackage.Literals.TPRESENCE_CONDITIONS__PRESENCE_CONDITION );
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected EStructuralFeature getChildFeature( Object object, Object child ) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature( object, child );
+ }
+
+ /**
+ * This returns TPresenceConditions.gif.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage( Object object ) {
+ return overlayImage( object, getResourceLocator().getImage( "full/obj16/TPresenceConditions" ) );
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public String getText( Object object ) {
+ return getString( "_UI_TPresenceConditions_type" );
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged( Notification notification ) {
+ updateChildren( notification );
+
+ switch( notification.getFeatureID( TPresenceConditions.class ) ) {
+ case NsdPackage.TPRESENCE_CONDITIONS__PRESENCE_CONDITION:
+ fireNotifyChanged( new ViewerNotification( notification, notification.getNotifier(), true, false ) );
+ return;
+ }
+ super.notifyChanged( notification );
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors( Collection< Object > newChildDescriptors, Object object ) {
+ super.collectNewChildDescriptors( newChildDescriptors, object );
+
+ newChildDescriptors.add( createChildParameter( NsdPackage.Literals.TPRESENCE_CONDITIONS__PRESENCE_CONDITION,
+ NsdFactory.eINSTANCE.createTPresenceCondition() ) );
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return NSDEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TServiceCDCItemProvider.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TServiceCDCItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..9f7d394cdefb56a8587b0e99d2de520466f2b1d2
--- /dev/null
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TServiceCDCItemProvider.java
@@ -0,0 +1,217 @@
+/**
+ * Copyright (c) 2019 CentraleSupélec & EDF.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * This file is part of the RiseClipse tool
+ *
+ * Contributors:
+ * Computer Science Department, CentraleSupélec
+ * EDF R&D
+ * Contacts:
+ * dominique.marcadet@centralesupelec.fr
+ * aurelie.dehouck-neveu@edf.fr
+ * Web site:
+ * http://wdi.supelec.fr/software/RiseClipse/
+ *
+ */
+package fr.centralesupelec.edf.riseclipse.iec61850.nsd.provider;
+
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdFactory;
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage;
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.TServiceCDC;
+
+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.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TServiceCDC} object.
+ *
+ *
+ * @generated
+ */
+public class TServiceCDCItemProvider extends ItemProviderAdapter implements IEditingDomainItemProvider,
+ IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ *
+ *
+ * @generated
+ */
+ public TServiceCDCItemProvider( AdapterFactory adapterFactory ) {
+ super( adapterFactory );
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public List< IItemPropertyDescriptor > getPropertyDescriptors( Object object ) {
+ if( itemPropertyDescriptors == null ) {
+ super.getPropertyDescriptors( object );
+
+ addCdcPropertyDescriptor( object );
+ addVariantPropertyDescriptor( object );
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Cdc feature.
+ *
+ *
+ * @generated
+ */
+ protected void addCdcPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TServiceCDC_cdc_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TServiceCDC_cdc_feature",
+ "_UI_TServiceCDC_type" ),
+ NsdPackage.Literals.TSERVICE_CDC__CDC, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Variant feature.
+ *
+ *
+ * @generated
+ */
+ protected void addVariantPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TServiceCDC_variant_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TServiceCDC_variant_feature",
+ "_UI_TServiceCDC_type" ),
+ NsdPackage.Literals.TSERVICE_CDC__VARIANT, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, 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
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Collection< ? extends EStructuralFeature > getChildrenFeatures( Object object ) {
+ if( childrenFeatures == null ) {
+ super.getChildrenFeatures( object );
+ childrenFeatures.add( NsdPackage.Literals.TSERVICE_CDC__SERVICE_DATA_ATTRIBUTE );
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected EStructuralFeature getChildFeature( Object object, Object child ) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature( object, child );
+ }
+
+ /**
+ * This returns TServiceCDC.gif.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage( Object object ) {
+ return overlayImage( object, getResourceLocator().getImage( "full/obj16/TServiceCDC" ) );
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public String getText( Object object ) {
+ String label = ( ( TServiceCDC ) object ).getCdc();
+ return label == null || label.length() == 0 ? getString( "_UI_TServiceCDC_type" )
+ : getString( "_UI_TServiceCDC_type" ) + " " + label;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged( Notification notification ) {
+ updateChildren( notification );
+
+ switch( notification.getFeatureID( TServiceCDC.class ) ) {
+ case NsdPackage.TSERVICE_CDC__CDC:
+ case NsdPackage.TSERVICE_CDC__VARIANT:
+ fireNotifyChanged( new ViewerNotification( notification, notification.getNotifier(), false, true ) );
+ return;
+ case NsdPackage.TSERVICE_CDC__SERVICE_DATA_ATTRIBUTE:
+ fireNotifyChanged( new ViewerNotification( notification, notification.getNotifier(), true, false ) );
+ return;
+ }
+ super.notifyChanged( notification );
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors( Collection< Object > newChildDescriptors, Object object ) {
+ super.collectNewChildDescriptors( newChildDescriptors, object );
+
+ newChildDescriptors.add( createChildParameter( NsdPackage.Literals.TSERVICE_CDC__SERVICE_DATA_ATTRIBUTE,
+ NsdFactory.eINSTANCE.createTServiceDataAttribute() ) );
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return NSDEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TServiceCDCsItemProvider.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TServiceCDCsItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..af0695a9362c87d53ec9e9601cd0bd5746d85bce
--- /dev/null
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TServiceCDCsItemProvider.java
@@ -0,0 +1,175 @@
+/**
+ * Copyright (c) 2019 CentraleSupélec & EDF.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * This file is part of the RiseClipse tool
+ *
+ * Contributors:
+ * Computer Science Department, CentraleSupélec
+ * EDF R&D
+ * Contacts:
+ * dominique.marcadet@centralesupelec.fr
+ * aurelie.dehouck-neveu@edf.fr
+ * Web site:
+ * http://wdi.supelec.fr/software/RiseClipse/
+ *
+ */
+package fr.centralesupelec.edf.riseclipse.iec61850.nsd.provider;
+
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdFactory;
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage;
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.TServiceCDCs;
+
+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.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TServiceCDCs} object.
+ *
+ *
+ * @generated
+ */
+public class TServiceCDCsItemProvider extends ItemProviderAdapter implements IEditingDomainItemProvider,
+ IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ *
+ *
+ * @generated
+ */
+ public TServiceCDCsItemProvider( AdapterFactory adapterFactory ) {
+ super( adapterFactory );
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public List< IItemPropertyDescriptor > getPropertyDescriptors( Object object ) {
+ if( itemPropertyDescriptors == null ) {
+ super.getPropertyDescriptors( object );
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * 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
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Collection< ? extends EStructuralFeature > getChildrenFeatures( Object object ) {
+ if( childrenFeatures == null ) {
+ super.getChildrenFeatures( object );
+ childrenFeatures.add( NsdPackage.Literals.TSERVICE_CD_CS__SERVICE_CDC );
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected EStructuralFeature getChildFeature( Object object, Object child ) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature( object, child );
+ }
+
+ /**
+ * This returns TServiceCDCs.gif.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage( Object object ) {
+ return overlayImage( object, getResourceLocator().getImage( "full/obj16/TServiceCDCs" ) );
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public String getText( Object object ) {
+ return getString( "_UI_TServiceCDCs_type" );
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged( Notification notification ) {
+ updateChildren( notification );
+
+ switch( notification.getFeatureID( TServiceCDCs.class ) ) {
+ case NsdPackage.TSERVICE_CD_CS__SERVICE_CDC:
+ fireNotifyChanged( new ViewerNotification( notification, notification.getNotifier(), true, false ) );
+ return;
+ }
+ super.notifyChanged( notification );
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors( Collection< Object > newChildDescriptors, Object object ) {
+ super.collectNewChildDescriptors( newChildDescriptors, object );
+
+ newChildDescriptors.add( createChildParameter( NsdPackage.Literals.TSERVICE_CD_CS__SERVICE_CDC,
+ NsdFactory.eINSTANCE.createTServiceCDC() ) );
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return NSDEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TServiceConstructedAttributeItemProvider.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TServiceConstructedAttributeItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..61517356ca12000f6fc4771e8b7be47aa7096786
--- /dev/null
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TServiceConstructedAttributeItemProvider.java
@@ -0,0 +1,141 @@
+/**
+ * Copyright (c) 2019 CentraleSupélec & EDF.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * This file is part of the RiseClipse tool
+ *
+ * Contributors:
+ * Computer Science Department, CentraleSupélec
+ * EDF R&D
+ * Contacts:
+ * dominique.marcadet@centralesupelec.fr
+ * aurelie.dehouck-neveu@edf.fr
+ * Web site:
+ * http://wdi.supelec.fr/software/RiseClipse/
+ *
+ */
+package fr.centralesupelec.edf.riseclipse.iec61850.nsd.provider;
+
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage;
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.TServiceConstructedAttribute;
+
+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.TServiceConstructedAttribute} object.
+ *
+ *
+ * @generated
+ */
+public class TServiceConstructedAttributeItemProvider extends TConstructedAttributeItemProvider {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ *
+ *
+ * @generated
+ */
+ public TServiceConstructedAttributeItemProvider( AdapterFactory adapterFactory ) {
+ super( adapterFactory );
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public List< IItemPropertyDescriptor > getPropertyDescriptors( Object object ) {
+ if( itemPropertyDescriptors == null ) {
+ super.getPropertyDescriptors( object );
+
+ addTypeKindParameterizedPropertyDescriptor( object );
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Type Kind Parameterized feature.
+ *
+ *
+ * @generated
+ */
+ protected void addTypeKindParameterizedPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add( createItemPropertyDescriptor(
+ ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(), getResourceLocator(),
+ getString( "_UI_TServiceConstructedAttribute_typeKindParameterized_feature" ),
+ getString( "_UI_PropertyDescriptor_description",
+ "_UI_TServiceConstructedAttribute_typeKindParameterized_feature",
+ "_UI_TServiceConstructedAttribute_type" ),
+ NsdPackage.Literals.TSERVICE_CONSTRUCTED_ATTRIBUTE__TYPE_KIND_PARAMETERIZED, true, false, false,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This returns TServiceConstructedAttribute.gif.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage( Object object ) {
+ return overlayImage( object, getResourceLocator().getImage( "full/obj16/TServiceConstructedAttribute" ) );
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public String getText( Object object ) {
+ String label = ( ( TServiceConstructedAttribute ) object ).getName();
+ return label == null || label.length() == 0 ? getString( "_UI_TServiceConstructedAttribute_type" )
+ : getString( "_UI_TServiceConstructedAttribute_type" ) + " " + label;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged( Notification notification ) {
+ updateChildren( notification );
+
+ switch( notification.getFeatureID( TServiceConstructedAttribute.class ) ) {
+ case NsdPackage.TSERVICE_CONSTRUCTED_ATTRIBUTE__TYPE_KIND_PARAMETERIZED:
+ fireNotifyChanged( new ViewerNotification( notification, notification.getNotifier(), false, true ) );
+ return;
+ }
+ super.notifyChanged( notification );
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors( Collection< Object > newChildDescriptors, Object object ) {
+ super.collectNewChildDescriptors( newChildDescriptors, object );
+ }
+
+}
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TServiceConstructedAttributesItemProvider.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TServiceConstructedAttributesItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..f910c9efe2e8a0d8fd583b9b760aaba54cfee5ee
--- /dev/null
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TServiceConstructedAttributesItemProvider.java
@@ -0,0 +1,177 @@
+/**
+ * Copyright (c) 2019 CentraleSupélec & EDF.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * This file is part of the RiseClipse tool
+ *
+ * Contributors:
+ * Computer Science Department, CentraleSupélec
+ * EDF R&D
+ * Contacts:
+ * dominique.marcadet@centralesupelec.fr
+ * aurelie.dehouck-neveu@edf.fr
+ * Web site:
+ * http://wdi.supelec.fr/software/RiseClipse/
+ *
+ */
+package fr.centralesupelec.edf.riseclipse.iec61850.nsd.provider;
+
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdFactory;
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage;
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.TServiceConstructedAttributes;
+
+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.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TServiceConstructedAttributes} object.
+ *
+ *
+ * @generated
+ */
+public class TServiceConstructedAttributesItemProvider extends ItemProviderAdapter
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider, ITreeItemContentProvider,
+ IItemLabelProvider, IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ *
+ *
+ * @generated
+ */
+ public TServiceConstructedAttributesItemProvider( AdapterFactory adapterFactory ) {
+ super( adapterFactory );
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public List< IItemPropertyDescriptor > getPropertyDescriptors( Object object ) {
+ if( itemPropertyDescriptors == null ) {
+ super.getPropertyDescriptors( object );
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * 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
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Collection< ? extends EStructuralFeature > getChildrenFeatures( Object object ) {
+ if( childrenFeatures == null ) {
+ super.getChildrenFeatures( object );
+ childrenFeatures.add( NsdPackage.Literals.TSERVICE_CONSTRUCTED_ATTRIBUTES__SERVICE_CONSTRUCTED_ATTRIBUTE );
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected EStructuralFeature getChildFeature( Object object, Object child ) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature( object, child );
+ }
+
+ /**
+ * This returns TServiceConstructedAttributes.gif.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage( Object object ) {
+ return overlayImage( object, getResourceLocator().getImage( "full/obj16/TServiceConstructedAttributes" ) );
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public String getText( Object object ) {
+ return getString( "_UI_TServiceConstructedAttributes_type" );
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged( Notification notification ) {
+ updateChildren( notification );
+
+ switch( notification.getFeatureID( TServiceConstructedAttributes.class ) ) {
+ case NsdPackage.TSERVICE_CONSTRUCTED_ATTRIBUTES__SERVICE_CONSTRUCTED_ATTRIBUTE:
+ fireNotifyChanged( new ViewerNotification( notification, notification.getNotifier(), true, false ) );
+ return;
+ }
+ super.notifyChanged( notification );
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors( Collection< Object > newChildDescriptors, Object object ) {
+ super.collectNewChildDescriptors( newChildDescriptors, object );
+
+ newChildDescriptors.add( createChildParameter(
+ NsdPackage.Literals.TSERVICE_CONSTRUCTED_ATTRIBUTES__SERVICE_CONSTRUCTED_ATTRIBUTE,
+ NsdFactory.eINSTANCE.createTServiceConstructedAttribute() ) );
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return NSDEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TServiceDataAttributeItemProvider.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TServiceDataAttributeItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..41c79b586ac3aff9a958728d89c2d65236bcafdf
--- /dev/null
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TServiceDataAttributeItemProvider.java
@@ -0,0 +1,284 @@
+/**
+ * Copyright (c) 2019 CentraleSupélec & EDF.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * This file is part of the RiseClipse tool
+ *
+ * Contributors:
+ * Computer Science Department, CentraleSupélec
+ * EDF R&D
+ * Contacts:
+ * dominique.marcadet@centralesupelec.fr
+ * aurelie.dehouck-neveu@edf.fr
+ * Web site:
+ * http://wdi.supelec.fr/software/RiseClipse/
+ *
+ */
+package fr.centralesupelec.edf.riseclipse.iec61850.nsd.provider;
+
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage;
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.TServiceDataAttribute;
+
+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.TServiceDataAttribute} object.
+ *
+ *
+ * @generated
+ */
+public class TServiceDataAttributeItemProvider extends TDocumentedClassItemProvider {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ *
+ *
+ * @generated
+ */
+ public TServiceDataAttributeItemProvider( AdapterFactory adapterFactory ) {
+ super( adapterFactory );
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public List< IItemPropertyDescriptor > getPropertyDescriptors( Object object ) {
+ if( itemPropertyDescriptors == null ) {
+ super.getPropertyDescriptors( object );
+
+ addFcPropertyDescriptor( object );
+ addNamePropertyDescriptor( object );
+ addPresCondPropertyDescriptor( object );
+ addPresCondArgsPropertyDescriptor( object );
+ addPresCondArgsIDPropertyDescriptor( object );
+ addTypePropertyDescriptor( object );
+ addTypeKindPropertyDescriptor( object );
+ addUnderlyingTypePropertyDescriptor( object );
+ addUnderlyingTypeKindPropertyDescriptor( object );
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Fc feature.
+ *
+ *
+ * @generated
+ */
+ protected void addFcPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TServiceDataAttribute_fc_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TServiceDataAttribute_fc_feature",
+ "_UI_TServiceDataAttribute_type" ),
+ NsdPackage.Literals.TSERVICE_DATA_ATTRIBUTE__FC, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Name feature.
+ *
+ *
+ * @generated
+ */
+ protected void addNamePropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TServiceDataAttribute_name_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TServiceDataAttribute_name_feature",
+ "_UI_TServiceDataAttribute_type" ),
+ NsdPackage.Literals.TSERVICE_DATA_ATTRIBUTE__NAME, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Pres Cond feature.
+ *
+ *
+ * @generated
+ */
+ protected void addPresCondPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add( createItemPropertyDescriptor(
+ ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(), getResourceLocator(),
+ getString( "_UI_TServiceDataAttribute_presCond_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TServiceDataAttribute_presCond_feature",
+ "_UI_TServiceDataAttribute_type" ),
+ NsdPackage.Literals.TSERVICE_DATA_ATTRIBUTE__PRES_COND, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Pres Cond Args feature.
+ *
+ *
+ * @generated
+ */
+ protected void addPresCondArgsPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add( createItemPropertyDescriptor(
+ ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(), getResourceLocator(),
+ getString( "_UI_TServiceDataAttribute_presCondArgs_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TServiceDataAttribute_presCondArgs_feature",
+ "_UI_TServiceDataAttribute_type" ),
+ NsdPackage.Literals.TSERVICE_DATA_ATTRIBUTE__PRES_COND_ARGS, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Pres Cond Args ID feature.
+ *
+ *
+ * @generated
+ */
+ protected void addPresCondArgsIDPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TServiceDataAttribute_presCondArgsID_feature" ),
+ getString( "_UI_PropertyDescriptor_description",
+ "_UI_TServiceDataAttribute_presCondArgsID_feature", "_UI_TServiceDataAttribute_type" ),
+ NsdPackage.Literals.TSERVICE_DATA_ATTRIBUTE__PRES_COND_ARGS_ID, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Type feature.
+ *
+ *
+ * @generated
+ */
+ protected void addTypePropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TServiceDataAttribute_type_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TServiceDataAttribute_type_feature",
+ "_UI_TServiceDataAttribute_type" ),
+ NsdPackage.Literals.TSERVICE_DATA_ATTRIBUTE__TYPE, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Type Kind feature.
+ *
+ *
+ * @generated
+ */
+ protected void addTypeKindPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add( createItemPropertyDescriptor(
+ ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(), getResourceLocator(),
+ getString( "_UI_TServiceDataAttribute_typeKind_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TServiceDataAttribute_typeKind_feature",
+ "_UI_TServiceDataAttribute_type" ),
+ NsdPackage.Literals.TSERVICE_DATA_ATTRIBUTE__TYPE_KIND, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Underlying Type feature.
+ *
+ *
+ * @generated
+ */
+ protected void addUnderlyingTypePropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TServiceDataAttribute_underlyingType_feature" ),
+ getString( "_UI_PropertyDescriptor_description",
+ "_UI_TServiceDataAttribute_underlyingType_feature", "_UI_TServiceDataAttribute_type" ),
+ NsdPackage.Literals.TSERVICE_DATA_ATTRIBUTE__UNDERLYING_TYPE, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Underlying Type Kind feature.
+ *
+ *
+ * @generated
+ */
+ protected void addUnderlyingTypeKindPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add( createItemPropertyDescriptor(
+ ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(), getResourceLocator(),
+ getString( "_UI_TServiceDataAttribute_underlyingTypeKind_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TServiceDataAttribute_underlyingTypeKind_feature",
+ "_UI_TServiceDataAttribute_type" ),
+ NsdPackage.Literals.TSERVICE_DATA_ATTRIBUTE__UNDERLYING_TYPE_KIND, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This returns TServiceDataAttribute.gif.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage( Object object ) {
+ return overlayImage( object, getResourceLocator().getImage( "full/obj16/TServiceDataAttribute" ) );
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public String getText( Object object ) {
+ String label = ( ( TServiceDataAttribute ) object ).getName();
+ return label == null || label.length() == 0 ? getString( "_UI_TServiceDataAttribute_type" )
+ : getString( "_UI_TServiceDataAttribute_type" ) + " " + label;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged( Notification notification ) {
+ updateChildren( notification );
+
+ switch( notification.getFeatureID( TServiceDataAttribute.class ) ) {
+ case NsdPackage.TSERVICE_DATA_ATTRIBUTE__FC:
+ case NsdPackage.TSERVICE_DATA_ATTRIBUTE__NAME:
+ case NsdPackage.TSERVICE_DATA_ATTRIBUTE__PRES_COND:
+ case NsdPackage.TSERVICE_DATA_ATTRIBUTE__PRES_COND_ARGS:
+ case NsdPackage.TSERVICE_DATA_ATTRIBUTE__PRES_COND_ARGS_ID:
+ case NsdPackage.TSERVICE_DATA_ATTRIBUTE__TYPE:
+ case NsdPackage.TSERVICE_DATA_ATTRIBUTE__TYPE_KIND:
+ case NsdPackage.TSERVICE_DATA_ATTRIBUTE__UNDERLYING_TYPE:
+ case NsdPackage.TSERVICE_DATA_ATTRIBUTE__UNDERLYING_TYPE_KIND:
+ fireNotifyChanged( new ViewerNotification( notification, notification.getNotifier(), false, true ) );
+ return;
+ }
+ super.notifyChanged( notification );
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors( Collection< Object > newChildDescriptors, Object object ) {
+ super.collectNewChildDescriptors( newChildDescriptors, object );
+ }
+
+}
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TServiceNSItemProvider.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TServiceNSItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..4b18daef637b2fa20ae6928a232f73cceb0a86fa
--- /dev/null
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TServiceNSItemProvider.java
@@ -0,0 +1,335 @@
+/**
+ * Copyright (c) 2019 CentraleSupélec & EDF.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * This file is part of the RiseClipse tool
+ *
+ * Contributors:
+ * Computer Science Department, CentraleSupélec
+ * EDF R&D
+ * Contacts:
+ * dominique.marcadet@centralesupelec.fr
+ * aurelie.dehouck-neveu@edf.fr
+ * Web site:
+ * http://wdi.supelec.fr/software/RiseClipse/
+ *
+ */
+package fr.centralesupelec.edf.riseclipse.iec61850.nsd.provider;
+
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdFactory;
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage;
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.TServiceNS;
+
+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.ecore.EStructuralFeature;
+
+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.TServiceNS} object.
+ *
+ *
+ * @generated
+ */
+public class TServiceNSItemProvider extends TCopyrightedItemProvider {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ *
+ *
+ * @generated
+ */
+ public TServiceNSItemProvider( AdapterFactory adapterFactory ) {
+ super( adapterFactory );
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public List< IItemPropertyDescriptor > getPropertyDescriptors( Object object ) {
+ if( itemPropertyDescriptors == null ) {
+ super.getPropertyDescriptors( object );
+
+ addDescIDPropertyDescriptor( object );
+ addIdPropertyDescriptor( object );
+ addPublicationStagePropertyDescriptor( object );
+ addReleasePropertyDescriptor( object );
+ addRevisionPropertyDescriptor( object );
+ addUmlDatePropertyDescriptor( object );
+ addUmlVersionPropertyDescriptor( object );
+ addVersionPropertyDescriptor( object );
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Desc ID feature.
+ *
+ *
+ * @generated
+ */
+ protected void addDescIDPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TServiceNS_descID_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TServiceNS_descID_feature",
+ "_UI_TServiceNS_type" ),
+ NsdPackage.Literals.TSERVICE_NS__DESC_ID, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Id feature.
+ *
+ *
+ * @generated
+ */
+ protected void addIdPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TServiceNS_id_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TServiceNS_id_feature",
+ "_UI_TServiceNS_type" ),
+ NsdPackage.Literals.TSERVICE_NS__ID, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Publication Stage feature.
+ *
+ *
+ * @generated
+ */
+ protected void addPublicationStagePropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TServiceNS_publicationStage_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TServiceNS_publicationStage_feature",
+ "_UI_TServiceNS_type" ),
+ NsdPackage.Literals.TSERVICE_NS__PUBLICATION_STAGE, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Release feature.
+ *
+ *
+ * @generated
+ */
+ protected void addReleasePropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TServiceNS_release_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TServiceNS_release_feature",
+ "_UI_TServiceNS_type" ),
+ NsdPackage.Literals.TSERVICE_NS__RELEASE, true, false, false,
+ ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Revision feature.
+ *
+ *
+ * @generated
+ */
+ protected void addRevisionPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TServiceNS_revision_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TServiceNS_revision_feature",
+ "_UI_TServiceNS_type" ),
+ NsdPackage.Literals.TSERVICE_NS__REVISION, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Uml Date feature.
+ *
+ *
+ * @generated
+ */
+ protected void addUmlDatePropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TServiceNS_umlDate_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TServiceNS_umlDate_feature",
+ "_UI_TServiceNS_type" ),
+ NsdPackage.Literals.TSERVICE_NS__UML_DATE, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Uml Version feature.
+ *
+ *
+ * @generated
+ */
+ protected void addUmlVersionPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TServiceNS_umlVersion_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TServiceNS_umlVersion_feature",
+ "_UI_TServiceNS_type" ),
+ NsdPackage.Literals.TSERVICE_NS__UML_VERSION, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Version feature.
+ *
+ *
+ * @generated
+ */
+ protected void addVersionPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TServiceNS_version_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TServiceNS_version_feature",
+ "_UI_TServiceNS_type" ),
+ NsdPackage.Literals.TSERVICE_NS__VERSION, true, false, false,
+ ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE, 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
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Collection< ? extends EStructuralFeature > getChildrenFeatures( Object object ) {
+ if( childrenFeatures == null ) {
+ super.getChildrenFeatures( object );
+ childrenFeatures.add( NsdPackage.Literals.TSERVICE_NS__CHANGES );
+ childrenFeatures.add( NsdPackage.Literals.TSERVICE_NS__FUNCTIONAL_CONSTRAINTS );
+ childrenFeatures.add( NsdPackage.Literals.TSERVICE_NS__PRESENCE_CONDITIONS );
+ childrenFeatures.add( NsdPackage.Literals.TSERVICE_NS__ABBREVIATIONS );
+ childrenFeatures.add( NsdPackage.Literals.TSERVICE_NS__SERVICE_TYPE_REALIZATIONS );
+ childrenFeatures.add( NsdPackage.Literals.TSERVICE_NS__SERVICE_CONSTRUCTED_ATTRIBUTES );
+ childrenFeatures.add( NsdPackage.Literals.TSERVICE_NS__SERVICE_CD_CS );
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected EStructuralFeature getChildFeature( Object object, Object child ) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature( object, child );
+ }
+
+ /**
+ * This returns TServiceNS.gif.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage( Object object ) {
+ return overlayImage( object, getResourceLocator().getImage( "full/obj16/TServiceNS" ) );
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public String getText( Object object ) {
+ String label = ( ( TServiceNS ) object ).getId();
+ return label == null || label.length() == 0 ? getString( "_UI_TServiceNS_type" )
+ : getString( "_UI_TServiceNS_type" ) + " " + label;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged( Notification notification ) {
+ updateChildren( notification );
+
+ switch( notification.getFeatureID( TServiceNS.class ) ) {
+ case NsdPackage.TSERVICE_NS__DESC_ID:
+ case NsdPackage.TSERVICE_NS__ID:
+ case NsdPackage.TSERVICE_NS__PUBLICATION_STAGE:
+ case NsdPackage.TSERVICE_NS__RELEASE:
+ case NsdPackage.TSERVICE_NS__REVISION:
+ case NsdPackage.TSERVICE_NS__UML_DATE:
+ case NsdPackage.TSERVICE_NS__UML_VERSION:
+ case NsdPackage.TSERVICE_NS__VERSION:
+ fireNotifyChanged( new ViewerNotification( notification, notification.getNotifier(), false, true ) );
+ return;
+ case NsdPackage.TSERVICE_NS__CHANGES:
+ case NsdPackage.TSERVICE_NS__FUNCTIONAL_CONSTRAINTS:
+ case NsdPackage.TSERVICE_NS__PRESENCE_CONDITIONS:
+ case NsdPackage.TSERVICE_NS__ABBREVIATIONS:
+ case NsdPackage.TSERVICE_NS__SERVICE_TYPE_REALIZATIONS:
+ case NsdPackage.TSERVICE_NS__SERVICE_CONSTRUCTED_ATTRIBUTES:
+ case NsdPackage.TSERVICE_NS__SERVICE_CD_CS:
+ fireNotifyChanged( new ViewerNotification( notification, notification.getNotifier(), true, false ) );
+ return;
+ }
+ super.notifyChanged( notification );
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors( Collection< Object > newChildDescriptors, Object object ) {
+ super.collectNewChildDescriptors( newChildDescriptors, object );
+
+ newChildDescriptors.add( createChildParameter( NsdPackage.Literals.TSERVICE_NS__CHANGES,
+ NsdFactory.eINSTANCE.createTChanges() ) );
+
+ newChildDescriptors.add( createChildParameter( NsdPackage.Literals.TSERVICE_NS__FUNCTIONAL_CONSTRAINTS,
+ NsdFactory.eINSTANCE.createTFunctionalConstraints() ) );
+
+ newChildDescriptors.add( createChildParameter( NsdPackage.Literals.TSERVICE_NS__PRESENCE_CONDITIONS,
+ NsdFactory.eINSTANCE.createTPresenceConditions() ) );
+
+ newChildDescriptors.add( createChildParameter( NsdPackage.Literals.TSERVICE_NS__ABBREVIATIONS,
+ NsdFactory.eINSTANCE.createTAbbreviations() ) );
+
+ newChildDescriptors.add( createChildParameter( NsdPackage.Literals.TSERVICE_NS__SERVICE_TYPE_REALIZATIONS,
+ NsdFactory.eINSTANCE.createTServiceTypeRealizations() ) );
+
+ newChildDescriptors.add( createChildParameter( NsdPackage.Literals.TSERVICE_NS__SERVICE_CONSTRUCTED_ATTRIBUTES,
+ NsdFactory.eINSTANCE.createTServiceConstructedAttributes() ) );
+
+ newChildDescriptors.add( createChildParameter( NsdPackage.Literals.TSERVICE_NS__SERVICE_CD_CS,
+ NsdFactory.eINSTANCE.createTServiceCDCs() ) );
+ }
+
+}
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TServiceNsUsageItemProvider.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TServiceNsUsageItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..5e5fbed167e9192a28b674af4d49914a086841da
--- /dev/null
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TServiceNsUsageItemProvider.java
@@ -0,0 +1,271 @@
+/**
+ * Copyright (c) 2019 CentraleSupélec & EDF.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * This file is part of the RiseClipse tool
+ *
+ * Contributors:
+ * Computer Science Department, CentraleSupélec
+ * EDF R&D
+ * Contacts:
+ * dominique.marcadet@centralesupelec.fr
+ * aurelie.dehouck-neveu@edf.fr
+ * Web site:
+ * http://wdi.supelec.fr/software/RiseClipse/
+ *
+ */
+package fr.centralesupelec.edf.riseclipse.iec61850.nsd.provider;
+
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdFactory;
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage;
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.TServiceNsUsage;
+
+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.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TServiceNsUsage} object.
+ *
+ *
+ * @generated
+ */
+public class TServiceNsUsageItemProvider extends ItemProviderAdapter implements IEditingDomainItemProvider,
+ IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ *
+ *
+ * @generated
+ */
+ public TServiceNsUsageItemProvider( AdapterFactory adapterFactory ) {
+ super( adapterFactory );
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public List< IItemPropertyDescriptor > getPropertyDescriptors( Object object ) {
+ if( itemPropertyDescriptors == null ) {
+ super.getPropertyDescriptors( object );
+
+ addIdPropertyDescriptor( object );
+ addPublicationStagePropertyDescriptor( object );
+ addReleasePropertyDescriptor( object );
+ addRevisionPropertyDescriptor( object );
+ addVersionPropertyDescriptor( object );
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Id feature.
+ *
+ *
+ * @generated
+ */
+ protected void addIdPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TServiceNsUsage_id_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TServiceNsUsage_id_feature",
+ "_UI_TServiceNsUsage_type" ),
+ NsdPackage.Literals.TSERVICE_NS_USAGE__ID, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Publication Stage feature.
+ *
+ *
+ * @generated
+ */
+ protected void addPublicationStagePropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TServiceNsUsage_publicationStage_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TServiceNsUsage_publicationStage_feature",
+ "_UI_TServiceNsUsage_type" ),
+ NsdPackage.Literals.TSERVICE_NS_USAGE__PUBLICATION_STAGE, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Release feature.
+ *
+ *
+ * @generated
+ */
+ protected void addReleasePropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TServiceNsUsage_release_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TServiceNsUsage_release_feature",
+ "_UI_TServiceNsUsage_type" ),
+ NsdPackage.Literals.TSERVICE_NS_USAGE__RELEASE, true, false, false,
+ ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Revision feature.
+ *
+ *
+ * @generated
+ */
+ protected void addRevisionPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TServiceNsUsage_revision_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TServiceNsUsage_revision_feature",
+ "_UI_TServiceNsUsage_type" ),
+ NsdPackage.Literals.TSERVICE_NS_USAGE__REVISION, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Version feature.
+ *
+ *
+ * @generated
+ */
+ protected void addVersionPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TServiceNsUsage_version_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TServiceNsUsage_version_feature",
+ "_UI_TServiceNsUsage_type" ),
+ NsdPackage.Literals.TSERVICE_NS_USAGE__VERSION, true, false, false,
+ ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE, 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
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Collection< ? extends EStructuralFeature > getChildrenFeatures( Object object ) {
+ if( childrenFeatures == null ) {
+ super.getChildrenFeatures( object );
+ childrenFeatures.add( NsdPackage.Literals.TSERVICE_NS_USAGE__APPLIES_TO );
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected EStructuralFeature getChildFeature( Object object, Object child ) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature( object, child );
+ }
+
+ /**
+ * This returns TServiceNsUsage.gif.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage( Object object ) {
+ return overlayImage( object, getResourceLocator().getImage( "full/obj16/TServiceNsUsage" ) );
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public String getText( Object object ) {
+ String label = ( ( TServiceNsUsage ) object ).getId();
+ return label == null || label.length() == 0 ? getString( "_UI_TServiceNsUsage_type" )
+ : getString( "_UI_TServiceNsUsage_type" ) + " " + label;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged( Notification notification ) {
+ updateChildren( notification );
+
+ switch( notification.getFeatureID( TServiceNsUsage.class ) ) {
+ case NsdPackage.TSERVICE_NS_USAGE__ID:
+ case NsdPackage.TSERVICE_NS_USAGE__PUBLICATION_STAGE:
+ case NsdPackage.TSERVICE_NS_USAGE__RELEASE:
+ case NsdPackage.TSERVICE_NS_USAGE__REVISION:
+ case NsdPackage.TSERVICE_NS_USAGE__VERSION:
+ fireNotifyChanged( new ViewerNotification( notification, notification.getNotifier(), false, true ) );
+ return;
+ case NsdPackage.TSERVICE_NS_USAGE__APPLIES_TO:
+ fireNotifyChanged( new ViewerNotification( notification, notification.getNotifier(), true, false ) );
+ return;
+ }
+ super.notifyChanged( notification );
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors( Collection< Object > newChildDescriptors, Object object ) {
+ super.collectNewChildDescriptors( newChildDescriptors, object );
+
+ newChildDescriptors.add( createChildParameter( NsdPackage.Literals.TSERVICE_NS_USAGE__APPLIES_TO,
+ NsdFactory.eINSTANCE.createAppliesToType() ) );
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return NSDEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TServiceParameterItemProvider.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TServiceParameterItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..5699081acdf07bcd98d3fcb6de94da865e9e5004
--- /dev/null
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TServiceParameterItemProvider.java
@@ -0,0 +1,230 @@
+/**
+ * Copyright (c) 2019 CentraleSupélec & EDF.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * This file is part of the RiseClipse tool
+ *
+ * Contributors:
+ * Computer Science Department, CentraleSupélec
+ * EDF R&D
+ * Contacts:
+ * dominique.marcadet@centralesupelec.fr
+ * aurelie.dehouck-neveu@edf.fr
+ * Web site:
+ * http://wdi.supelec.fr/software/RiseClipse/
+ *
+ */
+package fr.centralesupelec.edf.riseclipse.iec61850.nsd.provider;
+
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage;
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.TServiceParameter;
+
+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.TServiceParameter} object.
+ *
+ *
+ * @generated
+ */
+public class TServiceParameterItemProvider extends TDocumentedClassItemProvider {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ *
+ *
+ * @generated
+ */
+ public TServiceParameterItemProvider( AdapterFactory adapterFactory ) {
+ super( adapterFactory );
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public List< IItemPropertyDescriptor > getPropertyDescriptors( Object object ) {
+ if( itemPropertyDescriptors == null ) {
+ super.getPropertyDescriptors( object );
+
+ addDefaultValuePropertyDescriptor( object );
+ addMaxValuePropertyDescriptor( object );
+ addMinValuePropertyDescriptor( object );
+ addNamePropertyDescriptor( object );
+ addTypePropertyDescriptor( object );
+ addTypeKindPropertyDescriptor( object );
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Default Value feature.
+ *
+ *
+ * @generated
+ */
+ protected void addDefaultValuePropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TServiceParameter_defaultValue_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TServiceParameter_defaultValue_feature",
+ "_UI_TServiceParameter_type" ),
+ NsdPackage.Literals.TSERVICE_PARAMETER__DEFAULT_VALUE, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Max Value feature.
+ *
+ *
+ * @generated
+ */
+ protected void addMaxValuePropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TServiceParameter_maxValue_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TServiceParameter_maxValue_feature",
+ "_UI_TServiceParameter_type" ),
+ NsdPackage.Literals.TSERVICE_PARAMETER__MAX_VALUE, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Min Value feature.
+ *
+ *
+ * @generated
+ */
+ protected void addMinValuePropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TServiceParameter_minValue_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TServiceParameter_minValue_feature",
+ "_UI_TServiceParameter_type" ),
+ NsdPackage.Literals.TSERVICE_PARAMETER__MIN_VALUE, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Name feature.
+ *
+ *
+ * @generated
+ */
+ protected void addNamePropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TServiceParameter_name_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TServiceParameter_name_feature",
+ "_UI_TServiceParameter_type" ),
+ NsdPackage.Literals.TSERVICE_PARAMETER__NAME, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Type feature.
+ *
+ *
+ * @generated
+ */
+ protected void addTypePropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TServiceParameter_type_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TServiceParameter_type_feature",
+ "_UI_TServiceParameter_type" ),
+ NsdPackage.Literals.TSERVICE_PARAMETER__TYPE, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Type Kind feature.
+ *
+ *
+ * @generated
+ */
+ protected void addTypeKindPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TServiceParameter_typeKind_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TServiceParameter_typeKind_feature",
+ "_UI_TServiceParameter_type" ),
+ NsdPackage.Literals.TSERVICE_PARAMETER__TYPE_KIND, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This returns TServiceParameter.gif.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage( Object object ) {
+ return overlayImage( object, getResourceLocator().getImage( "full/obj16/TServiceParameter" ) );
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public String getText( Object object ) {
+ String label = ( ( TServiceParameter ) object ).getName();
+ return label == null || label.length() == 0 ? getString( "_UI_TServiceParameter_type" )
+ : getString( "_UI_TServiceParameter_type" ) + " " + label;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged( Notification notification ) {
+ updateChildren( notification );
+
+ switch( notification.getFeatureID( TServiceParameter.class ) ) {
+ case NsdPackage.TSERVICE_PARAMETER__DEFAULT_VALUE:
+ case NsdPackage.TSERVICE_PARAMETER__MAX_VALUE:
+ case NsdPackage.TSERVICE_PARAMETER__MIN_VALUE:
+ case NsdPackage.TSERVICE_PARAMETER__NAME:
+ case NsdPackage.TSERVICE_PARAMETER__TYPE:
+ case NsdPackage.TSERVICE_PARAMETER__TYPE_KIND:
+ fireNotifyChanged( new ViewerNotification( notification, notification.getNotifier(), false, true ) );
+ return;
+ }
+ super.notifyChanged( notification );
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors( Collection< Object > newChildDescriptors, Object object ) {
+ super.collectNewChildDescriptors( newChildDescriptors, object );
+ }
+
+}
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TServiceTypeRealizationItemProvider.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TServiceTypeRealizationItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..b68b66cbf0f61a7df5109c9b10d3cd0a111cd2ad
--- /dev/null
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TServiceTypeRealizationItemProvider.java
@@ -0,0 +1,268 @@
+/**
+ * Copyright (c) 2019 CentraleSupélec & EDF.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * This file is part of the RiseClipse tool
+ *
+ * Contributors:
+ * Computer Science Department, CentraleSupélec
+ * EDF R&D
+ * Contacts:
+ * dominique.marcadet@centralesupelec.fr
+ * aurelie.dehouck-neveu@edf.fr
+ * Web site:
+ * http://wdi.supelec.fr/software/RiseClipse/
+ *
+ */
+package fr.centralesupelec.edf.riseclipse.iec61850.nsd.provider;
+
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage;
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.TServiceTypeRealization;
+
+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.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TServiceTypeRealization} object.
+ *
+ *
+ * @generated
+ */
+public class TServiceTypeRealizationItemProvider extends ItemProviderAdapter implements IEditingDomainItemProvider,
+ IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ *
+ *
+ * @generated
+ */
+ public TServiceTypeRealizationItemProvider( AdapterFactory adapterFactory ) {
+ super( adapterFactory );
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public List< IItemPropertyDescriptor > getPropertyDescriptors( Object object ) {
+ if( itemPropertyDescriptors == null ) {
+ super.getPropertyDescriptors( object );
+
+ addFcPropertyDescriptor( object );
+ addNamePropertyDescriptor( object );
+ addPresCondPropertyDescriptor( object );
+ addPresCondArgsPropertyDescriptor( object );
+ addPresCondArgsIDPropertyDescriptor( object );
+ addTypePropertyDescriptor( object );
+ addTypeKindPropertyDescriptor( object );
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Fc feature.
+ *
+ *
+ * @generated
+ */
+ protected void addFcPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TServiceTypeRealization_fc_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TServiceTypeRealization_fc_feature",
+ "_UI_TServiceTypeRealization_type" ),
+ NsdPackage.Literals.TSERVICE_TYPE_REALIZATION__FC, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Name feature.
+ *
+ *
+ * @generated
+ */
+ protected void addNamePropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add( createItemPropertyDescriptor(
+ ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(), getResourceLocator(),
+ getString( "_UI_TServiceTypeRealization_name_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TServiceTypeRealization_name_feature",
+ "_UI_TServiceTypeRealization_type" ),
+ NsdPackage.Literals.TSERVICE_TYPE_REALIZATION__NAME, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Pres Cond feature.
+ *
+ *
+ * @generated
+ */
+ protected void addPresCondPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add( createItemPropertyDescriptor(
+ ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(), getResourceLocator(),
+ getString( "_UI_TServiceTypeRealization_presCond_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TServiceTypeRealization_presCond_feature",
+ "_UI_TServiceTypeRealization_type" ),
+ NsdPackage.Literals.TSERVICE_TYPE_REALIZATION__PRES_COND, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Pres Cond Args feature.
+ *
+ *
+ * @generated
+ */
+ protected void addPresCondArgsPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add( createItemPropertyDescriptor(
+ ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(), getResourceLocator(),
+ getString( "_UI_TServiceTypeRealization_presCondArgs_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TServiceTypeRealization_presCondArgs_feature",
+ "_UI_TServiceTypeRealization_type" ),
+ NsdPackage.Literals.TSERVICE_TYPE_REALIZATION__PRES_COND_ARGS, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Pres Cond Args ID feature.
+ *
+ *
+ * @generated
+ */
+ protected void addPresCondArgsIDPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add( createItemPropertyDescriptor(
+ ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(), getResourceLocator(),
+ getString( "_UI_TServiceTypeRealization_presCondArgsID_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TServiceTypeRealization_presCondArgsID_feature",
+ "_UI_TServiceTypeRealization_type" ),
+ NsdPackage.Literals.TSERVICE_TYPE_REALIZATION__PRES_COND_ARGS_ID, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Type feature.
+ *
+ *
+ * @generated
+ */
+ protected void addTypePropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add( createItemPropertyDescriptor(
+ ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(), getResourceLocator(),
+ getString( "_UI_TServiceTypeRealization_type_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TServiceTypeRealization_type_feature",
+ "_UI_TServiceTypeRealization_type" ),
+ NsdPackage.Literals.TSERVICE_TYPE_REALIZATION__TYPE, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Type Kind feature.
+ *
+ *
+ * @generated
+ */
+ protected void addTypeKindPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add( createItemPropertyDescriptor(
+ ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(), getResourceLocator(),
+ getString( "_UI_TServiceTypeRealization_typeKind_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TServiceTypeRealization_typeKind_feature",
+ "_UI_TServiceTypeRealization_type" ),
+ NsdPackage.Literals.TSERVICE_TYPE_REALIZATION__TYPE_KIND, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This returns TServiceTypeRealization.gif.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage( Object object ) {
+ return overlayImage( object, getResourceLocator().getImage( "full/obj16/TServiceTypeRealization" ) );
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public String getText( Object object ) {
+ String label = ( ( TServiceTypeRealization ) object ).getName();
+ return label == null || label.length() == 0 ? getString( "_UI_TServiceTypeRealization_type" )
+ : getString( "_UI_TServiceTypeRealization_type" ) + " " + label;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged( Notification notification ) {
+ updateChildren( notification );
+
+ switch( notification.getFeatureID( TServiceTypeRealization.class ) ) {
+ case NsdPackage.TSERVICE_TYPE_REALIZATION__FC:
+ case NsdPackage.TSERVICE_TYPE_REALIZATION__NAME:
+ case NsdPackage.TSERVICE_TYPE_REALIZATION__PRES_COND:
+ case NsdPackage.TSERVICE_TYPE_REALIZATION__PRES_COND_ARGS:
+ case NsdPackage.TSERVICE_TYPE_REALIZATION__PRES_COND_ARGS_ID:
+ case NsdPackage.TSERVICE_TYPE_REALIZATION__TYPE:
+ case NsdPackage.TSERVICE_TYPE_REALIZATION__TYPE_KIND:
+ fireNotifyChanged( new ViewerNotification( notification, notification.getNotifier(), false, true ) );
+ return;
+ }
+ super.notifyChanged( notification );
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors( Collection< Object > newChildDescriptors, Object object ) {
+ super.collectNewChildDescriptors( newChildDescriptors, object );
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return NSDEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TServiceTypeRealizationsItemProvider.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TServiceTypeRealizationsItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..476e0dd0d0ce775c885eec6b0428fb42a7c0d26b
--- /dev/null
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TServiceTypeRealizationsItemProvider.java
@@ -0,0 +1,180 @@
+/**
+ * Copyright (c) 2019 CentraleSupélec & EDF.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * This file is part of the RiseClipse tool
+ *
+ * Contributors:
+ * Computer Science Department, CentraleSupélec
+ * EDF R&D
+ * Contacts:
+ * dominique.marcadet@centralesupelec.fr
+ * aurelie.dehouck-neveu@edf.fr
+ * Web site:
+ * http://wdi.supelec.fr/software/RiseClipse/
+ *
+ */
+package fr.centralesupelec.edf.riseclipse.iec61850.nsd.provider;
+
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdFactory;
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage;
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.TServiceTypeRealizations;
+
+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.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TServiceTypeRealizations} object.
+ *
+ *
+ * @generated
+ */
+public class TServiceTypeRealizationsItemProvider extends ItemProviderAdapter implements IEditingDomainItemProvider,
+ IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ *
+ *
+ * @generated
+ */
+ public TServiceTypeRealizationsItemProvider( AdapterFactory adapterFactory ) {
+ super( adapterFactory );
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public List< IItemPropertyDescriptor > getPropertyDescriptors( Object object ) {
+ if( itemPropertyDescriptors == null ) {
+ super.getPropertyDescriptors( object );
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * 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
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Collection< ? extends EStructuralFeature > getChildrenFeatures( Object object ) {
+ if( childrenFeatures == null ) {
+ super.getChildrenFeatures( object );
+ childrenFeatures.add( NsdPackage.Literals.TSERVICE_TYPE_REALIZATIONS__SERVICE_TYPE_REALIZATION );
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected EStructuralFeature getChildFeature( Object object, Object child ) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature( object, child );
+ }
+
+ /**
+ * This returns TServiceTypeRealizations.gif.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage( Object object ) {
+ return overlayImage( object, getResourceLocator().getImage( "full/obj16/TServiceTypeRealizations" ) );
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public String getText( Object object ) {
+ return getString( "_UI_TServiceTypeRealizations_type" );
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged( Notification notification ) {
+ updateChildren( notification );
+
+ switch( notification.getFeatureID( TServiceTypeRealizations.class ) ) {
+ case NsdPackage.TSERVICE_TYPE_REALIZATIONS__SERVICE_TYPE_REALIZATION:
+ fireNotifyChanged( new ViewerNotification( notification, notification.getNotifier(), true, false ) );
+ return;
+ }
+ super.notifyChanged( notification );
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors( Collection< Object > newChildDescriptors, Object object ) {
+ super.collectNewChildDescriptors( newChildDescriptors, object );
+
+ newChildDescriptors
+ .add( createChildParameter( NsdPackage.Literals.TSERVICE_TYPE_REALIZATIONS__SERVICE_TYPE_REALIZATION,
+ NsdFactory.eINSTANCE.createTConstructedAttribute() ) );
+
+ newChildDescriptors
+ .add( createChildParameter( NsdPackage.Literals.TSERVICE_TYPE_REALIZATIONS__SERVICE_TYPE_REALIZATION,
+ NsdFactory.eINSTANCE.createTServiceConstructedAttribute() ) );
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return NSDEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TSubDataAttributeItemProvider.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TSubDataAttributeItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..3e16fc9f1d4c649ea7ba0cbbeb75efb70fde47f7
--- /dev/null
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TSubDataAttributeItemProvider.java
@@ -0,0 +1,356 @@
+/**
+ * Copyright (c) 2019 CentraleSupélec & EDF.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * This file is part of the RiseClipse tool
+ *
+ * Contributors:
+ * Computer Science Department, CentraleSupélec
+ * EDF R&D
+ * Contacts:
+ * dominique.marcadet@centralesupelec.fr
+ * aurelie.dehouck-neveu@edf.fr
+ * Web site:
+ * http://wdi.supelec.fr/software/RiseClipse/
+ *
+ */
+package fr.centralesupelec.edf.riseclipse.iec61850.nsd.provider;
+
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage;
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.TSubDataAttribute;
+
+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.TSubDataAttribute} object.
+ *
+ *
+ * @generated
+ */
+public class TSubDataAttributeItemProvider extends TDocumentedClassItemProvider {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ *
+ *
+ * @generated
+ */
+ public TSubDataAttributeItemProvider( AdapterFactory adapterFactory ) {
+ super( adapterFactory );
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public List< IItemPropertyDescriptor > getPropertyDescriptors( Object object ) {
+ if( itemPropertyDescriptors == null ) {
+ super.getPropertyDescriptors( object );
+
+ addDefaultValuePropertyDescriptor( object );
+ addIsArrayPropertyDescriptor( object );
+ addMaxIndexAttributePropertyDescriptor( object );
+ addMaxValuePropertyDescriptor( object );
+ addMinIndexPropertyDescriptor( object );
+ addMinValuePropertyDescriptor( object );
+ addNamePropertyDescriptor( object );
+ addPresCondPropertyDescriptor( object );
+ addPresCondArgsPropertyDescriptor( object );
+ addPresCondArgsIDPropertyDescriptor( object );
+ addSizeAttributePropertyDescriptor( object );
+ addTypePropertyDescriptor( object );
+ addTypeKindPropertyDescriptor( object );
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Default Value feature.
+ *
+ *
+ * @generated
+ */
+ protected void addDefaultValuePropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TSubDataAttribute_defaultValue_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TSubDataAttribute_defaultValue_feature",
+ "_UI_TSubDataAttribute_type" ),
+ NsdPackage.Literals.TSUB_DATA_ATTRIBUTE__DEFAULT_VALUE, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Is Array feature.
+ *
+ *
+ * @generated
+ */
+ protected void addIsArrayPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TSubDataAttribute_isArray_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TSubDataAttribute_isArray_feature",
+ "_UI_TSubDataAttribute_type" ),
+ NsdPackage.Literals.TSUB_DATA_ATTRIBUTE__IS_ARRAY, true, false, false,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Max Index Attribute feature.
+ *
+ *
+ * @generated
+ */
+ protected void addMaxIndexAttributePropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add( createItemPropertyDescriptor(
+ ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(), getResourceLocator(),
+ getString( "_UI_TSubDataAttribute_maxIndexAttribute_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TSubDataAttribute_maxIndexAttribute_feature",
+ "_UI_TSubDataAttribute_type" ),
+ NsdPackage.Literals.TSUB_DATA_ATTRIBUTE__MAX_INDEX_ATTRIBUTE, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Max Value feature.
+ *
+ *
+ * @generated
+ */
+ protected void addMaxValuePropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TSubDataAttribute_maxValue_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TSubDataAttribute_maxValue_feature",
+ "_UI_TSubDataAttribute_type" ),
+ NsdPackage.Literals.TSUB_DATA_ATTRIBUTE__MAX_VALUE, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Min Index feature.
+ *
+ *
+ * @generated
+ */
+ protected void addMinIndexPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TSubDataAttribute_minIndex_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TSubDataAttribute_minIndex_feature",
+ "_UI_TSubDataAttribute_type" ),
+ NsdPackage.Literals.TSUB_DATA_ATTRIBUTE__MIN_INDEX, true, false, false,
+ ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Min Value feature.
+ *
+ *
+ * @generated
+ */
+ protected void addMinValuePropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TSubDataAttribute_minValue_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TSubDataAttribute_minValue_feature",
+ "_UI_TSubDataAttribute_type" ),
+ NsdPackage.Literals.TSUB_DATA_ATTRIBUTE__MIN_VALUE, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Name feature.
+ *
+ *
+ * @generated
+ */
+ protected void addNamePropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TSubDataAttribute_name_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TSubDataAttribute_name_feature",
+ "_UI_TSubDataAttribute_type" ),
+ NsdPackage.Literals.TSUB_DATA_ATTRIBUTE__NAME, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Pres Cond feature.
+ *
+ *
+ * @generated
+ */
+ protected void addPresCondPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TSubDataAttribute_presCond_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TSubDataAttribute_presCond_feature",
+ "_UI_TSubDataAttribute_type" ),
+ NsdPackage.Literals.TSUB_DATA_ATTRIBUTE__PRES_COND, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Pres Cond Args feature.
+ *
+ *
+ * @generated
+ */
+ protected void addPresCondArgsPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TSubDataAttribute_presCondArgs_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TSubDataAttribute_presCondArgs_feature",
+ "_UI_TSubDataAttribute_type" ),
+ NsdPackage.Literals.TSUB_DATA_ATTRIBUTE__PRES_COND_ARGS, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Pres Cond Args ID feature.
+ *
+ *
+ * @generated
+ */
+ protected void addPresCondArgsIDPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add( createItemPropertyDescriptor(
+ ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(), getResourceLocator(),
+ getString( "_UI_TSubDataAttribute_presCondArgsID_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TSubDataAttribute_presCondArgsID_feature",
+ "_UI_TSubDataAttribute_type" ),
+ NsdPackage.Literals.TSUB_DATA_ATTRIBUTE__PRES_COND_ARGS_ID, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Size Attribute feature.
+ *
+ *
+ * @generated
+ */
+ protected void addSizeAttributePropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TSubDataAttribute_sizeAttribute_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TSubDataAttribute_sizeAttribute_feature",
+ "_UI_TSubDataAttribute_type" ),
+ NsdPackage.Literals.TSUB_DATA_ATTRIBUTE__SIZE_ATTRIBUTE, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Type feature.
+ *
+ *
+ * @generated
+ */
+ protected void addTypePropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TSubDataAttribute_type_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TSubDataAttribute_type_feature",
+ "_UI_TSubDataAttribute_type" ),
+ NsdPackage.Literals.TSUB_DATA_ATTRIBUTE__TYPE, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Type Kind feature.
+ *
+ *
+ * @generated
+ */
+ protected void addTypeKindPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TSubDataAttribute_typeKind_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TSubDataAttribute_typeKind_feature",
+ "_UI_TSubDataAttribute_type" ),
+ NsdPackage.Literals.TSUB_DATA_ATTRIBUTE__TYPE_KIND, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This returns TSubDataAttribute.gif.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage( Object object ) {
+ return overlayImage( object, getResourceLocator().getImage( "full/obj16/TSubDataAttribute" ) );
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public String getText( Object object ) {
+ String label = ( ( TSubDataAttribute ) object ).getName();
+ return label == null || label.length() == 0 ? getString( "_UI_TSubDataAttribute_type" )
+ : getString( "_UI_TSubDataAttribute_type" ) + " " + label;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged( Notification notification ) {
+ updateChildren( notification );
+
+ switch( notification.getFeatureID( TSubDataAttribute.class ) ) {
+ case NsdPackage.TSUB_DATA_ATTRIBUTE__DEFAULT_VALUE:
+ case NsdPackage.TSUB_DATA_ATTRIBUTE__IS_ARRAY:
+ case NsdPackage.TSUB_DATA_ATTRIBUTE__MAX_INDEX_ATTRIBUTE:
+ case NsdPackage.TSUB_DATA_ATTRIBUTE__MAX_VALUE:
+ case NsdPackage.TSUB_DATA_ATTRIBUTE__MIN_INDEX:
+ case NsdPackage.TSUB_DATA_ATTRIBUTE__MIN_VALUE:
+ case NsdPackage.TSUB_DATA_ATTRIBUTE__NAME:
+ case NsdPackage.TSUB_DATA_ATTRIBUTE__PRES_COND:
+ case NsdPackage.TSUB_DATA_ATTRIBUTE__PRES_COND_ARGS:
+ case NsdPackage.TSUB_DATA_ATTRIBUTE__PRES_COND_ARGS_ID:
+ case NsdPackage.TSUB_DATA_ATTRIBUTE__SIZE_ATTRIBUTE:
+ case NsdPackage.TSUB_DATA_ATTRIBUTE__TYPE:
+ case NsdPackage.TSUB_DATA_ATTRIBUTE__TYPE_KIND:
+ fireNotifyChanged( new ViewerNotification( notification, notification.getNotifier(), false, true ) );
+ return;
+ }
+ super.notifyChanged( notification );
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors( Collection< Object > newChildDescriptors, Object object ) {
+ super.collectNewChildDescriptors( newChildDescriptors, object );
+ }
+
+}
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TSubDataObjectItemProvider.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TSubDataObjectItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..e250e5ae41f46ff8da17eb0d8f228228712e1e16
--- /dev/null
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TSubDataObjectItemProvider.java
@@ -0,0 +1,320 @@
+/**
+ * Copyright (c) 2019 CentraleSupélec & EDF.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * This file is part of the RiseClipse tool
+ *
+ * Contributors:
+ * Computer Science Department, CentraleSupélec
+ * EDF R&D
+ * Contacts:
+ * dominique.marcadet@centralesupelec.fr
+ * aurelie.dehouck-neveu@edf.fr
+ * Web site:
+ * http://wdi.supelec.fr/software/RiseClipse/
+ *
+ */
+package fr.centralesupelec.edf.riseclipse.iec61850.nsd.provider;
+
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage;
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.TSubDataObject;
+
+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.TSubDataObject} object.
+ *
+ *
+ * @generated
+ */
+public class TSubDataObjectItemProvider extends TDocumentedClassItemProvider {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ *
+ *
+ * @generated
+ */
+ public TSubDataObjectItemProvider( AdapterFactory adapterFactory ) {
+ super( adapterFactory );
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public List< IItemPropertyDescriptor > getPropertyDescriptors( Object object ) {
+ if( itemPropertyDescriptors == null ) {
+ super.getPropertyDescriptors( object );
+
+ addIsArrayPropertyDescriptor( object );
+ addMaxIndexAttributePropertyDescriptor( object );
+ addMinIndexPropertyDescriptor( object );
+ addNamePropertyDescriptor( object );
+ addPresCondPropertyDescriptor( object );
+ addPresCondArgsPropertyDescriptor( object );
+ addPresCondArgsIDPropertyDescriptor( object );
+ addSizeAttributePropertyDescriptor( object );
+ addTypePropertyDescriptor( object );
+ addUnderlyingTypePropertyDescriptor( object );
+ addUnderlyingTypeKindPropertyDescriptor( object );
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Is Array feature.
+ *
+ *
+ * @generated
+ */
+ protected void addIsArrayPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TSubDataObject_isArray_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TSubDataObject_isArray_feature",
+ "_UI_TSubDataObject_type" ),
+ NsdPackage.Literals.TSUB_DATA_OBJECT__IS_ARRAY, true, false, false,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Max Index Attribute feature.
+ *
+ *
+ * @generated
+ */
+ protected void addMaxIndexAttributePropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TSubDataObject_maxIndexAttribute_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TSubDataObject_maxIndexAttribute_feature",
+ "_UI_TSubDataObject_type" ),
+ NsdPackage.Literals.TSUB_DATA_OBJECT__MAX_INDEX_ATTRIBUTE, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Min Index feature.
+ *
+ *
+ * @generated
+ */
+ protected void addMinIndexPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TSubDataObject_minIndex_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TSubDataObject_minIndex_feature",
+ "_UI_TSubDataObject_type" ),
+ NsdPackage.Literals.TSUB_DATA_OBJECT__MIN_INDEX, true, false, false,
+ ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Name feature.
+ *
+ *
+ * @generated
+ */
+ protected void addNamePropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TSubDataObject_name_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TSubDataObject_name_feature",
+ "_UI_TSubDataObject_type" ),
+ NsdPackage.Literals.TSUB_DATA_OBJECT__NAME, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Pres Cond feature.
+ *
+ *
+ * @generated
+ */
+ protected void addPresCondPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TSubDataObject_presCond_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TSubDataObject_presCond_feature",
+ "_UI_TSubDataObject_type" ),
+ NsdPackage.Literals.TSUB_DATA_OBJECT__PRES_COND, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Pres Cond Args feature.
+ *
+ *
+ * @generated
+ */
+ protected void addPresCondArgsPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TSubDataObject_presCondArgs_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TSubDataObject_presCondArgs_feature",
+ "_UI_TSubDataObject_type" ),
+ NsdPackage.Literals.TSUB_DATA_OBJECT__PRES_COND_ARGS, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Pres Cond Args ID feature.
+ *
+ *
+ * @generated
+ */
+ protected void addPresCondArgsIDPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TSubDataObject_presCondArgsID_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TSubDataObject_presCondArgsID_feature",
+ "_UI_TSubDataObject_type" ),
+ NsdPackage.Literals.TSUB_DATA_OBJECT__PRES_COND_ARGS_ID, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Size Attribute feature.
+ *
+ *
+ * @generated
+ */
+ protected void addSizeAttributePropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TSubDataObject_sizeAttribute_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TSubDataObject_sizeAttribute_feature",
+ "_UI_TSubDataObject_type" ),
+ NsdPackage.Literals.TSUB_DATA_OBJECT__SIZE_ATTRIBUTE, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Type feature.
+ *
+ *
+ * @generated
+ */
+ protected void addTypePropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TSubDataObject_type_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TSubDataObject_type_feature",
+ "_UI_TSubDataObject_type" ),
+ NsdPackage.Literals.TSUB_DATA_OBJECT__TYPE, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Underlying Type feature.
+ *
+ *
+ * @generated
+ */
+ protected void addUnderlyingTypePropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TSubDataObject_underlyingType_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TSubDataObject_underlyingType_feature",
+ "_UI_TSubDataObject_type" ),
+ NsdPackage.Literals.TSUB_DATA_OBJECT__UNDERLYING_TYPE, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This adds a property descriptor for the Underlying Type Kind feature.
+ *
+ *
+ * @generated
+ */
+ protected void addUnderlyingTypeKindPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add( createItemPropertyDescriptor(
+ ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(), getResourceLocator(),
+ getString( "_UI_TSubDataObject_underlyingTypeKind_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TSubDataObject_underlyingTypeKind_feature",
+ "_UI_TSubDataObject_type" ),
+ NsdPackage.Literals.TSUB_DATA_OBJECT__UNDERLYING_TYPE_KIND, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This returns TSubDataObject.gif.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage( Object object ) {
+ return overlayImage( object, getResourceLocator().getImage( "full/obj16/TSubDataObject" ) );
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public String getText( Object object ) {
+ String label = ( ( TSubDataObject ) object ).getName();
+ return label == null || label.length() == 0 ? getString( "_UI_TSubDataObject_type" )
+ : getString( "_UI_TSubDataObject_type" ) + " " + label;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged( Notification notification ) {
+ updateChildren( notification );
+
+ switch( notification.getFeatureID( TSubDataObject.class ) ) {
+ case NsdPackage.TSUB_DATA_OBJECT__IS_ARRAY:
+ case NsdPackage.TSUB_DATA_OBJECT__MAX_INDEX_ATTRIBUTE:
+ case NsdPackage.TSUB_DATA_OBJECT__MIN_INDEX:
+ case NsdPackage.TSUB_DATA_OBJECT__NAME:
+ case NsdPackage.TSUB_DATA_OBJECT__PRES_COND:
+ case NsdPackage.TSUB_DATA_OBJECT__PRES_COND_ARGS:
+ case NsdPackage.TSUB_DATA_OBJECT__PRES_COND_ARGS_ID:
+ case NsdPackage.TSUB_DATA_OBJECT__SIZE_ATTRIBUTE:
+ case NsdPackage.TSUB_DATA_OBJECT__TYPE:
+ case NsdPackage.TSUB_DATA_OBJECT__UNDERLYING_TYPE:
+ case NsdPackage.TSUB_DATA_OBJECT__UNDERLYING_TYPE_KIND:
+ fireNotifyChanged( new ViewerNotification( notification, notification.getNotifier(), false, true ) );
+ return;
+ }
+ super.notifyChanged( notification );
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors( Collection< Object > newChildDescriptors, Object object ) {
+ super.collectNewChildDescriptors( newChildDescriptors, object );
+ }
+
+}
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TTitledClassItemProvider.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TTitledClassItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..834eb4dddbfeeada36a1c137fc8e0c7ce9a9b6b3
--- /dev/null
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/TTitledClassItemProvider.java
@@ -0,0 +1,139 @@
+/**
+ * Copyright (c) 2019 CentraleSupélec & EDF.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * This file is part of the RiseClipse tool
+ *
+ * Contributors:
+ * Computer Science Department, CentraleSupélec
+ * EDF R&D
+ * Contacts:
+ * dominique.marcadet@centralesupelec.fr
+ * aurelie.dehouck-neveu@edf.fr
+ * Web site:
+ * http://wdi.supelec.fr/software/RiseClipse/
+ *
+ */
+package fr.centralesupelec.edf.riseclipse.iec61850.nsd.provider;
+
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage;
+import fr.centralesupelec.edf.riseclipse.iec61850.nsd.TTitledClass;
+
+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.TTitledClass} object.
+ *
+ *
+ * @generated
+ */
+public class TTitledClassItemProvider extends TDocumentedClassItemProvider {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ *
+ *
+ * @generated
+ */
+ public TTitledClassItemProvider( AdapterFactory adapterFactory ) {
+ super( adapterFactory );
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public List< IItemPropertyDescriptor > getPropertyDescriptors( Object object ) {
+ if( itemPropertyDescriptors == null ) {
+ super.getPropertyDescriptors( object );
+
+ addTitleIDPropertyDescriptor( object );
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Title ID feature.
+ *
+ *
+ * @generated
+ */
+ protected void addTitleIDPropertyDescriptor( Object object ) {
+ itemPropertyDescriptors.add(
+ createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
+ getResourceLocator(), getString( "_UI_TTitledClass_titleID_feature" ),
+ getString( "_UI_PropertyDescriptor_description", "_UI_TTitledClass_titleID_feature",
+ "_UI_TTitledClass_type" ),
+ NsdPackage.Literals.TTITLED_CLASS__TITLE_ID, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
+ }
+
+ /**
+ * This returns TTitledClass.gif.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage( Object object ) {
+ return overlayImage( object, getResourceLocator().getImage( "full/obj16/TTitledClass" ) );
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public String getText( Object object ) {
+ TTitledClass tTitledClass = ( TTitledClass ) object;
+ return getString( "_UI_TTitledClass_type" ) + " " + tTitledClass.isDeprecated();
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged( Notification notification ) {
+ updateChildren( notification );
+
+ switch( notification.getFeatureID( TTitledClass.class ) ) {
+ case NsdPackage.TTITLED_CLASS__TITLE_ID:
+ fireNotifyChanged( new ViewerNotification( notification, notification.getNotifier(), false, true ) );
+ return;
+ }
+ super.notifyChanged( notification );
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors( Collection< Object > newChildDescriptors, Object object ) {
+ super.collectNewChildDescriptors( newChildDescriptors, object );
+ }
+
+}
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/.classpath b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/.classpath
new file mode 100644
index 0000000000000000000000000000000000000000..22f30643cba38503dfc820a64bc4225fd8c743ba
--- /dev/null
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/.classpath
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/.project b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/.project
new file mode 100644
index 0000000000000000000000000000000000000000..2256c101e379cc9ce15e459336d8798d65be622a
--- /dev/null
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/.project
@@ -0,0 +1,28 @@
+
+
+ fr.centralesupelec.edf.riseclipse.iec61850.nsd
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+ org.eclipse.pde.ManifestBuilder
+
+
+
+
+ org.eclipse.pde.SchemaBuilder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+ org.eclipse.pde.PluginNature
+
+
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/META-INF/MANIFEST.MF b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/META-INF/MANIFEST.MF
new file mode 100644
index 0000000000000000000000000000000000000000..f02084668c05b8a20d41d4e7589067775f34f4cd
--- /dev/null
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/META-INF/MANIFEST.MF
@@ -0,0 +1,18 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: fr.centralesupelec.edf.riseclipse.iec61850.nsd;singleton:=true
+Automatic-Module-Name: fr.centralesupelec.edf.riseclipse.iec61850.nsd
+Bundle-Version: 1.0.0.qualifier
+Bundle-ClassPath: .
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Export-Package: fr.centralesupelec.edf.riseclipse.iec61850.nsd,
+ fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl,
+ fr.centralesupelec.edf.riseclipse.iec61850.nsd.util
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.emf.ecore;visibility:=reexport,
+ org.eclipse.emf.ecore.xmi;visibility:=reexport,
+ fr.centralesupelec.edf.riseclipse.main
+Bundle-ActivationPolicy: lazy
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/build.properties b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/build.properties
new file mode 100644
index 0000000000000000000000000000000000000000..ad2171deec023d176c423ae916e3ad7e44a65f76
--- /dev/null
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/build.properties
@@ -0,0 +1,26 @@
+# Copyright (c) 2019 CentraleSupélec & EDF.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# This file is part of the RiseClipse tool
+#
+# Contributors:
+# Computer Science Department, CentraleSupélec
+# EDF R&D
+# Contacts:
+# dominique.marcadet@centralesupelec.fr
+# aurelie.dehouck-neveu@edf.fr
+# Web site:
+# http://wdi.supelec.fr/software/RiseClipse/
+#
+
+bin.includes = .,\
+ model/,\
+ META-INF/,\
+ plugin.xml,\
+ plugin.properties
+jars.compile.order = .
+source.. = src/
+output.. = bin/
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/model/nsd.ecore b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/model/nsd.ecore
new file mode 100644
index 0000000000000000000000000000000000000000..d5bc0ede031d2f4538cd9d75443ba67a80640043
--- /dev/null
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/model/nsd.ecore
@@ -0,0 +1,2978 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/model/nsd.genmodel b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/model/nsd.genmodel
new file mode 100644
index 0000000000000000000000000000000000000000..8313f1615342c3db2de679533e34f9b9f81d48ac
--- /dev/null
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/model/nsd.genmodel
@@ -0,0 +1,452 @@
+
+
+ file:/Users/marcadet/Documents/Contrats/EDF%20CIM/2018-19/NSD/IEC_61850-7-7/NSD.xsd
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/plugin.properties b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/plugin.properties
new file mode 100644
index 0000000000000000000000000000000000000000..10e27cc6e51cc70f4fc76e4f415f0198f945d1a7
--- /dev/null
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/plugin.properties
@@ -0,0 +1,20 @@
+# Copyright (c) 2019 CentraleSupélec & EDF.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# This file is part of the RiseClipse tool
+#
+# Contributors:
+# Computer Science Department, CentraleSupélec
+# EDF R&D
+# Contacts:
+# dominique.marcadet@centralesupelec.fr
+# aurelie.dehouck-neveu@edf.fr
+# Web site:
+# http://wdi.supelec.fr/software/RiseClipse/
+#
+
+pluginName = NSD Model
+providerName = www.example.org
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/plugin.xml b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/plugin.xml
new file mode 100644
index 0000000000000000000000000000000000000000..e93ddc7b16e9a3da8dc9b48c12ff6df8e8a81fb6
--- /dev/null
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/plugin.xml
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
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
new file mode 100644
index 0000000000000000000000000000000000000000..9786cf8d746a0a8d810b57af6f27500720882b1b
--- /dev/null
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/AppliesToType.java
@@ -0,0 +1,289 @@
+/**
+ * Copyright (c) 2019 CentraleSupélec & EDF.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * This file is part of the RiseClipse tool
+ *
+ * Contributors:
+ * Computer Science Department, CentraleSupélec
+ * EDF R&D
+ * Contacts:
+ * dominique.marcadet@centralesupelec.fr
+ * aurelie.dehouck-neveu@edf.fr
+ * Web site:
+ * http://wdi.supelec.fr/software/RiseClipse/
+ *
+ */
+package fr.centralesupelec.edf.riseclipse.iec61850.nsd;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ *
+ * A representation of the model object 'Applies To Type'.
+ *
+ *
+ *
+ * The following features are supported:
+ *
+ *
+ * - {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.AppliesToType#getId Id}
+ * - {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.AppliesToType#getPublicationStage Publication Stage}
+ * - {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.AppliesToType#getRelease Release}
+ * - {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.AppliesToType#getRevision Revision}
+ * - {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.AppliesToType#getVersion Version}
+ *
+ *
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getAppliesToType()
+ * @model extendedMetaData="name='AppliesTo_._type' kind='empty'"
+ * @generated
+ */
+public interface AppliesToType extends EObject {
+ /**
+ * Returns the value of the 'Id' attribute.
+ *
+ *
+ *
+ * Identifier of the namespace, e.g., "IEC 61850-7-4", "(Tr)IEC 61850-90-4".
+ *
+ * @return the value of the 'Id' attribute.
+ * @see #setId(String)
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getAppliesToType_Id()
+ * @model dataType="fr.centralesupelec.edf.riseclipse.iec61850.nsd.TNSIdentifier" required="true"
+ * extendedMetaData="kind='attribute' name='id'"
+ * @generated
+ */
+ String getId();
+
+ /**
+ * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.AppliesToType#getId Id}' attribute.
+ *
+ *
+ * @param value the new value of the 'Id' attribute.
+ * @see #getId()
+ * @generated
+ */
+ void setId( String value );
+
+ /**
+ * Returns the value of the 'Publication Stage' attribute.
+ * The default value is "IS"
.
+ * The literals are from the enumeration {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TPubStage}.
+ *
+ *
+ *
+ * The publication stage of the namespace, by default IS.
+ *
+ * @return the value of the 'Publication Stage' attribute.
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.TPubStage
+ * @see #isSetPublicationStage()
+ * @see #unsetPublicationStage()
+ * @see #setPublicationStage(TPubStage)
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getAppliesToType_PublicationStage()
+ * @model default="IS" unsettable="true"
+ * extendedMetaData="kind='attribute' name='publicationStage'"
+ * @generated
+ */
+ TPubStage getPublicationStage();
+
+ /**
+ * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.AppliesToType#getPublicationStage Publication Stage}' attribute.
+ *
+ *
+ * @param value the new value of the 'Publication Stage' attribute.
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.TPubStage
+ * @see #isSetPublicationStage()
+ * @see #unsetPublicationStage()
+ * @see #getPublicationStage()
+ * @generated
+ */
+ void setPublicationStage( TPubStage value );
+
+ /**
+ * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.AppliesToType#getPublicationStage Publication Stage}' attribute.
+ *
+ *
+ * @see #isSetPublicationStage()
+ * @see #getPublicationStage()
+ * @see #setPublicationStage(TPubStage)
+ * @generated
+ */
+ void unsetPublicationStage();
+
+ /**
+ * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.AppliesToType#getPublicationStage Publication Stage}' attribute is set.
+ *
+ *
+ * @return whether the value of the 'Publication Stage' attribute is set.
+ * @see #unsetPublicationStage()
+ * @see #getPublicationStage()
+ * @see #setPublicationStage(TPubStage)
+ * @generated
+ */
+ boolean isSetPublicationStage();
+
+ /**
+ * Returns the value of the 'Release' attribute.
+ * The default value is "1"
.
+ *
+ *
+ *
+ * Release of the namespace version and revision, by default 1.
+ *
+ * @return the value of the 'Release' attribute.
+ * @see #isSetRelease()
+ * @see #unsetRelease()
+ * @see #setRelease(short)
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getAppliesToType_Release()
+ * @model default="1" unsettable="true" dataType="fr.centralesupelec.edf.riseclipse.iec61850.nsd.TNSRelease"
+ * extendedMetaData="kind='attribute' name='release'"
+ * @generated
+ */
+ short getRelease();
+
+ /**
+ * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.AppliesToType#getRelease Release}' attribute.
+ *
+ *
+ * @param value the new value of the 'Release' attribute.
+ * @see #isSetRelease()
+ * @see #unsetRelease()
+ * @see #getRelease()
+ * @generated
+ */
+ void setRelease( short value );
+
+ /**
+ * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.AppliesToType#getRelease Release}' attribute.
+ *
+ *
+ * @see #isSetRelease()
+ * @see #getRelease()
+ * @see #setRelease(short)
+ * @generated
+ */
+ void unsetRelease();
+
+ /**
+ * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.AppliesToType#getRelease Release}' attribute is set.
+ *
+ *
+ * @return whether the value of the 'Release' attribute is set.
+ * @see #unsetRelease()
+ * @see #getRelease()
+ * @see #setRelease(short)
+ * @generated
+ */
+ boolean isSetRelease();
+
+ /**
+ * Returns the value of the 'Revision' attribute.
+ * The default value is "A"
.
+ *
+ *
+ *
+ * Revision of the namespace version, by default 'A'.
+ *
+ * @return the value of the 'Revision' attribute.
+ * @see #isSetRevision()
+ * @see #unsetRevision()
+ * @see #setRevision(String)
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getAppliesToType_Revision()
+ * @model default="A" unsettable="true" dataType="fr.centralesupelec.edf.riseclipse.iec61850.nsd.TNSRevision"
+ * extendedMetaData="kind='attribute' name='revision'"
+ * @generated
+ */
+ String getRevision();
+
+ /**
+ * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.AppliesToType#getRevision Revision}' attribute.
+ *
+ *
+ * @param value the new value of the 'Revision' attribute.
+ * @see #isSetRevision()
+ * @see #unsetRevision()
+ * @see #getRevision()
+ * @generated
+ */
+ void setRevision( String value );
+
+ /**
+ * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.AppliesToType#getRevision Revision}' attribute.
+ *
+ *
+ * @see #isSetRevision()
+ * @see #getRevision()
+ * @see #setRevision(String)
+ * @generated
+ */
+ void unsetRevision();
+
+ /**
+ * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.AppliesToType#getRevision Revision}' attribute is set.
+ *
+ *
+ * @return whether the value of the 'Revision' attribute is set.
+ * @see #unsetRevision()
+ * @see #getRevision()
+ * @see #setRevision(String)
+ * @generated
+ */
+ boolean isSetRevision();
+
+ /**
+ * Returns the value of the 'Version' attribute.
+ *
+ *
+ *
+ * Version (year) of the namespace.
+ *
+ * @return the value of the 'Version' attribute.
+ * @see #isSetVersion()
+ * @see #unsetVersion()
+ * @see #setVersion(int)
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getAppliesToType_Version()
+ * @model unsettable="true" dataType="fr.centralesupelec.edf.riseclipse.iec61850.nsd.TNSVersion" required="true"
+ * extendedMetaData="kind='attribute' name='version'"
+ * @generated
+ */
+ int getVersion();
+
+ /**
+ * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.AppliesToType#getVersion Version}' attribute.
+ *
+ *
+ * @param value the new value of the 'Version' attribute.
+ * @see #isSetVersion()
+ * @see #unsetVersion()
+ * @see #getVersion()
+ * @generated
+ */
+ void setVersion( int value );
+
+ /**
+ * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.AppliesToType#getVersion Version}' attribute.
+ *
+ *
+ * @see #isSetVersion()
+ * @see #getVersion()
+ * @see #setVersion(int)
+ * @generated
+ */
+ void unsetVersion();
+
+ /**
+ * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.AppliesToType#getVersion Version}' attribute is set.
+ *
+ *
+ * @return whether the value of the 'Version' attribute is set.
+ * @see #unsetVersion()
+ * @see #getVersion()
+ * @see #setVersion(int)
+ * @generated
+ */
+ boolean isSetVersion();
+
+} // AppliesToType
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/DependsOnType.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/DependsOnType.java
new file mode 100644
index 0000000000000000000000000000000000000000..679a7cd708cbbcfc6df62ce77db5a154fc1a97bc
--- /dev/null
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/DependsOnType.java
@@ -0,0 +1,289 @@
+/**
+ * Copyright (c) 2019 CentraleSupélec & EDF.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * This file is part of the RiseClipse tool
+ *
+ * Contributors:
+ * Computer Science Department, CentraleSupélec
+ * EDF R&D
+ * Contacts:
+ * dominique.marcadet@centralesupelec.fr
+ * aurelie.dehouck-neveu@edf.fr
+ * Web site:
+ * http://wdi.supelec.fr/software/RiseClipse/
+ *
+ */
+package fr.centralesupelec.edf.riseclipse.iec61850.nsd;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ *
+ * A representation of the model object 'Depends On Type'.
+ *
+ *
+ *
+ * The following features are supported:
+ *
+ *
+ * - {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOnType#getId Id}
+ * - {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOnType#getPublicationStage Publication Stage}
+ * - {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOnType#getRelease Release}
+ * - {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOnType#getRevision Revision}
+ * - {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOnType#getVersion Version}
+ *
+ *
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getDependsOnType()
+ * @model extendedMetaData="name='DependsOn_._type' kind='empty'"
+ * @generated
+ */
+public interface DependsOnType extends EObject {
+ /**
+ * Returns the value of the 'Id' attribute.
+ *
+ *
+ *
+ * Identifier of the namespace, e.g., "IEC 61850-7-4", "(Tr)IEC 61850-90-4".
+ *
+ * @return the value of the 'Id' attribute.
+ * @see #setId(String)
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getDependsOnType_Id()
+ * @model dataType="fr.centralesupelec.edf.riseclipse.iec61850.nsd.TNSIdentifier" required="true"
+ * extendedMetaData="kind='attribute' name='id'"
+ * @generated
+ */
+ String getId();
+
+ /**
+ * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOnType#getId Id}' attribute.
+ *
+ *
+ * @param value the new value of the 'Id' attribute.
+ * @see #getId()
+ * @generated
+ */
+ void setId( String value );
+
+ /**
+ * Returns the value of the 'Publication Stage' attribute.
+ * The default value is "IS"
.
+ * The literals are from the enumeration {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TPubStage}.
+ *
+ *
+ *
+ * The publication stage of the namespace, by default IS.
+ *
+ * @return the value of the 'Publication Stage' attribute.
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.TPubStage
+ * @see #isSetPublicationStage()
+ * @see #unsetPublicationStage()
+ * @see #setPublicationStage(TPubStage)
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getDependsOnType_PublicationStage()
+ * @model default="IS" unsettable="true"
+ * extendedMetaData="kind='attribute' name='publicationStage'"
+ * @generated
+ */
+ TPubStage getPublicationStage();
+
+ /**
+ * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOnType#getPublicationStage Publication Stage}' attribute.
+ *
+ *
+ * @param value the new value of the 'Publication Stage' attribute.
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.TPubStage
+ * @see #isSetPublicationStage()
+ * @see #unsetPublicationStage()
+ * @see #getPublicationStage()
+ * @generated
+ */
+ void setPublicationStage( TPubStage value );
+
+ /**
+ * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOnType#getPublicationStage Publication Stage}' attribute.
+ *
+ *
+ * @see #isSetPublicationStage()
+ * @see #getPublicationStage()
+ * @see #setPublicationStage(TPubStage)
+ * @generated
+ */
+ void unsetPublicationStage();
+
+ /**
+ * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOnType#getPublicationStage Publication Stage}' attribute is set.
+ *
+ *
+ * @return whether the value of the 'Publication Stage' attribute is set.
+ * @see #unsetPublicationStage()
+ * @see #getPublicationStage()
+ * @see #setPublicationStage(TPubStage)
+ * @generated
+ */
+ boolean isSetPublicationStage();
+
+ /**
+ * Returns the value of the 'Release' attribute.
+ * The default value is "1"
.
+ *
+ *
+ *
+ * Release of the namespace version and revision, by default 1.
+ *
+ * @return the value of the 'Release' attribute.
+ * @see #isSetRelease()
+ * @see #unsetRelease()
+ * @see #setRelease(short)
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getDependsOnType_Release()
+ * @model default="1" unsettable="true" dataType="fr.centralesupelec.edf.riseclipse.iec61850.nsd.TNSRelease"
+ * extendedMetaData="kind='attribute' name='release'"
+ * @generated
+ */
+ short getRelease();
+
+ /**
+ * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOnType#getRelease Release}' attribute.
+ *
+ *
+ * @param value the new value of the 'Release' attribute.
+ * @see #isSetRelease()
+ * @see #unsetRelease()
+ * @see #getRelease()
+ * @generated
+ */
+ void setRelease( short value );
+
+ /**
+ * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOnType#getRelease Release}' attribute.
+ *
+ *
+ * @see #isSetRelease()
+ * @see #getRelease()
+ * @see #setRelease(short)
+ * @generated
+ */
+ void unsetRelease();
+
+ /**
+ * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOnType#getRelease Release}' attribute is set.
+ *
+ *
+ * @return whether the value of the 'Release' attribute is set.
+ * @see #unsetRelease()
+ * @see #getRelease()
+ * @see #setRelease(short)
+ * @generated
+ */
+ boolean isSetRelease();
+
+ /**
+ * Returns the value of the 'Revision' attribute.
+ * The default value is "A"
.
+ *
+ *
+ *
+ * Revision of the namespace version, by default 'A'.
+ *
+ * @return the value of the 'Revision' attribute.
+ * @see #isSetRevision()
+ * @see #unsetRevision()
+ * @see #setRevision(String)
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getDependsOnType_Revision()
+ * @model default="A" unsettable="true" dataType="fr.centralesupelec.edf.riseclipse.iec61850.nsd.TNSRevision"
+ * extendedMetaData="kind='attribute' name='revision'"
+ * @generated
+ */
+ String getRevision();
+
+ /**
+ * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOnType#getRevision Revision}' attribute.
+ *
+ *
+ * @param value the new value of the 'Revision' attribute.
+ * @see #isSetRevision()
+ * @see #unsetRevision()
+ * @see #getRevision()
+ * @generated
+ */
+ void setRevision( String value );
+
+ /**
+ * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOnType#getRevision Revision}' attribute.
+ *
+ *
+ * @see #isSetRevision()
+ * @see #getRevision()
+ * @see #setRevision(String)
+ * @generated
+ */
+ void unsetRevision();
+
+ /**
+ * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOnType#getRevision Revision}' attribute is set.
+ *
+ *
+ * @return whether the value of the 'Revision' attribute is set.
+ * @see #unsetRevision()
+ * @see #getRevision()
+ * @see #setRevision(String)
+ * @generated
+ */
+ boolean isSetRevision();
+
+ /**
+ * Returns the value of the 'Version' attribute.
+ *
+ *
+ *
+ * Version (year) of the namespace.
+ *
+ * @return the value of the 'Version' attribute.
+ * @see #isSetVersion()
+ * @see #unsetVersion()
+ * @see #setVersion(int)
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getDependsOnType_Version()
+ * @model unsettable="true" dataType="fr.centralesupelec.edf.riseclipse.iec61850.nsd.TNSVersion" required="true"
+ * extendedMetaData="kind='attribute' name='version'"
+ * @generated
+ */
+ int getVersion();
+
+ /**
+ * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOnType#getVersion Version}' attribute.
+ *
+ *
+ * @param value the new value of the 'Version' attribute.
+ * @see #isSetVersion()
+ * @see #unsetVersion()
+ * @see #getVersion()
+ * @generated
+ */
+ void setVersion( int value );
+
+ /**
+ * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOnType#getVersion Version}' attribute.
+ *
+ *
+ * @see #isSetVersion()
+ * @see #getVersion()
+ * @see #setVersion(int)
+ * @generated
+ */
+ void unsetVersion();
+
+ /**
+ * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOnType#getVersion Version}' attribute is set.
+ *
+ *
+ * @return whether the value of the 'Version' attribute is set.
+ * @see #unsetVersion()
+ * @see #getVersion()
+ * @see #setVersion(int)
+ * @generated
+ */
+ boolean isSetVersion();
+
+} // DependsOnType
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/DocumentRoot.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/DocumentRoot.java
new file mode 100644
index 0000000000000000000000000000000000000000..826456aee55315b6f352644666879b7da586f1fb
--- /dev/null
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/DocumentRoot.java
@@ -0,0 +1,235 @@
+/**
+ * Copyright (c) 2019 CentraleSupélec & EDF.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * This file is part of the RiseClipse tool
+ *
+ * Contributors:
+ * Computer Science Department, CentraleSupélec
+ * EDF R&D
+ * Contacts:
+ * dominique.marcadet@centralesupelec.fr
+ * aurelie.dehouck-neveu@edf.fr
+ * Web site:
+ * http://wdi.supelec.fr/software/RiseClipse/
+ *
+ */
+package fr.centralesupelec.edf.riseclipse.iec61850.nsd;
+
+import org.eclipse.emf.common.util.EMap;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.emf.ecore.util.FeatureMap;
+
+/**
+ *
+ * A representation of the model object 'Document Root'.
+ *
+ *
+ *
+ * The following features are supported:
+ *
+ *
+ * - {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DocumentRoot#getMixed Mixed}
+ * - {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DocumentRoot#getXMLNSPrefixMap XMLNS Prefix Map}
+ * - {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DocumentRoot#getXSISchemaLocation XSI Schema Location}
+ * - {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DocumentRoot#getApplicableServiceNS Applicable Service NS}
+ * - {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DocumentRoot#getCopyright Copyright}
+ * - {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DocumentRoot#getNS NS}
+ * - {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DocumentRoot#getNSDoc NS Doc}
+ * - {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DocumentRoot#getServiceNS Service NS}
+ *
+ *
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getDocumentRoot()
+ * @model extendedMetaData="name='' kind='mixed'"
+ * @generated
+ */
+public interface DocumentRoot extends EObject {
+ /**
+ * Returns the value of the 'Mixed' attribute list.
+ * The list contents are of type {@link org.eclipse.emf.ecore.util.FeatureMap.Entry}.
+ *
+ *
+ * If the meaning of the 'Mixed' attribute list isn't clear,
+ * there really should be more of a description here...
+ *
+ *
+ * @return the value of the 'Mixed' attribute list.
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getDocumentRoot_Mixed()
+ * @model unique="false" dataType="org.eclipse.emf.ecore.EFeatureMapEntry" many="true"
+ * extendedMetaData="kind='elementWildcard' name=':mixed'"
+ * @generated
+ */
+ FeatureMap getMixed();
+
+ /**
+ * Returns the value of the 'XMLNS Prefix Map' map.
+ * The key is of type {@link java.lang.String},
+ * and the value is of type {@link java.lang.String},
+ *
+ *
+ * If the meaning of the 'XMLNS Prefix Map' map isn't clear,
+ * there really should be more of a description here...
+ *
+ *
+ * @return the value of the 'XMLNS Prefix Map' map.
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getDocumentRoot_XMLNSPrefixMap()
+ * @model mapType="org.eclipse.emf.ecore.EStringToStringMapEntry<org.eclipse.emf.ecore.EString, org.eclipse.emf.ecore.EString>" transient="true"
+ * extendedMetaData="kind='attribute' name='xmlns:prefix'"
+ * @generated
+ */
+ EMap< String, String > getXMLNSPrefixMap();
+
+ /**
+ * Returns the value of the 'XSI Schema Location' map.
+ * The key is of type {@link java.lang.String},
+ * and the value is of type {@link java.lang.String},
+ *
+ *
+ * If the meaning of the 'XSI Schema Location' map isn't clear,
+ * there really should be more of a description here...
+ *
+ *
+ * @return the value of the 'XSI Schema Location' map.
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getDocumentRoot_XSISchemaLocation()
+ * @model mapType="org.eclipse.emf.ecore.EStringToStringMapEntry<org.eclipse.emf.ecore.EString, org.eclipse.emf.ecore.EString>" transient="true"
+ * extendedMetaData="kind='attribute' name='xsi:schemaLocation'"
+ * @generated
+ */
+ EMap< String, String > getXSISchemaLocation();
+
+ /**
+ * Returns the value of the 'Applicable Service NS' containment reference.
+ *
+ *
+ *
+ * Root element of a file holding the allowed usages of ServiceNS-es.
+ *
+ * @return the value of the 'Applicable Service NS' containment reference.
+ * @see #setApplicableServiceNS(TApplicableServiceNS)
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getDocumentRoot_ApplicableServiceNS()
+ * @model containment="true" upper="-2" transient="true" volatile="true" derived="true"
+ * extendedMetaData="kind='element' name='ApplicableServiceNS' namespace='##targetNamespace'"
+ * @generated
+ */
+ TApplicableServiceNS getApplicableServiceNS();
+
+ /**
+ * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DocumentRoot#getApplicableServiceNS Applicable Service NS}' containment reference.
+ *
+ *
+ * @param value the new value of the 'Applicable Service NS' containment reference.
+ * @see #getApplicableServiceNS()
+ * @generated
+ */
+ void setApplicableServiceNS( TApplicableServiceNS value );
+
+ /**
+ * Returns the value of the 'Copyright' containment reference.
+ *
+ *
+ *
+ * The copyright notice attached to the XML
+ *
+ * @return the value of the 'Copyright' containment reference.
+ * @see #setCopyright(TCopyrightNotice)
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getDocumentRoot_Copyright()
+ * @model containment="true" upper="-2" transient="true" volatile="true" derived="true"
+ * extendedMetaData="kind='element' name='Copyright' namespace='##targetNamespace'"
+ * @generated
+ */
+ TCopyrightNotice getCopyright();
+
+ /**
+ * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DocumentRoot#getCopyright Copyright}' containment reference.
+ *
+ *
+ * @param value the new value of the 'Copyright' containment reference.
+ * @see #getCopyright()
+ * @generated
+ */
+ void setCopyright( TCopyrightNotice value );
+
+ /**
+ * Returns the value of the 'NS' containment reference.
+ *
+ *
+ *
+ * Root element of a namespace definition (NSD) file.
+ *
+ * @return the value of the 'NS' containment reference.
+ * @see #setNS(TNS)
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getDocumentRoot_NS()
+ * @model containment="true" upper="-2" transient="true" volatile="true" derived="true"
+ * extendedMetaData="kind='element' name='NS' namespace='##targetNamespace'"
+ * @generated
+ */
+ TNS getNS();
+
+ /**
+ * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DocumentRoot#getNS NS}' containment reference.
+ *
+ *
+ * @param value the new value of the 'NS' containment reference.
+ * @see #getNS()
+ * @generated
+ */
+ void setNS( TNS value );
+
+ /**
+ * Returns the value of the 'NS Doc' containment reference.
+ *
+ *
+ *
+ * Root element of a file holding the documentation strings of an NSD file (NSDOC).
+ *
+ * @return the value of the 'NS Doc' containment reference.
+ * @see #setNSDoc(TNSDoc)
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getDocumentRoot_NSDoc()
+ * @model containment="true" upper="-2" transient="true" volatile="true" derived="true"
+ * extendedMetaData="kind='element' name='NSDoc' namespace='##targetNamespace'"
+ * @generated
+ */
+ TNSDoc getNSDoc();
+
+ /**
+ * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DocumentRoot#getNSDoc NS Doc}' containment reference.
+ *
+ *
+ * @param value the new value of the 'NS Doc' containment reference.
+ * @see #getNSDoc()
+ * @generated
+ */
+ void setNSDoc( TNSDoc value );
+
+ /**
+ * Returns the value of the 'Service NS' containment reference.
+ *
+ *
+ *
+ * Root element of a service namespace definition (SNSD) file.
+ *
+ * @return the value of the 'Service NS' containment reference.
+ * @see #setServiceNS(TServiceNS)
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getDocumentRoot_ServiceNS()
+ * @model containment="true" upper="-2" transient="true" volatile="true" derived="true"
+ * extendedMetaData="kind='element' name='ServiceNS' namespace='##targetNamespace'"
+ * @generated
+ */
+ TServiceNS getServiceNS();
+
+ /**
+ * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DocumentRoot#getServiceNS Service NS}' containment reference.
+ *
+ *
+ * @param value the new value of the 'Service NS' containment reference.
+ * @see #getServiceNS()
+ * @generated
+ */
+ void setServiceNS( TServiceNS value );
+
+} // DocumentRoot
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/NsdFactory.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/NsdFactory.java
new file mode 100644
index 0000000000000000000000000000000000000000..2b691f5833bf825d444b85f4937b877017ecd5c5
--- /dev/null
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/NsdFactory.java
@@ -0,0 +1,491 @@
+/**
+ * Copyright (c) 2019 CentraleSupélec & EDF.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * This file is part of the RiseClipse tool
+ *
+ * Contributors:
+ * Computer Science Department, CentraleSupélec
+ * EDF R&D
+ * Contacts:
+ * dominique.marcadet@centralesupelec.fr
+ * aurelie.dehouck-neveu@edf.fr
+ * Web site:
+ * http://wdi.supelec.fr/software/RiseClipse/
+ *
+ */
+package fr.centralesupelec.edf.riseclipse.iec61850.nsd;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ *
+ * The Factory for the model.
+ * It provides a create method for each non-abstract class of the model.
+ *
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage
+ * @generated
+ */
+public interface NsdFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ *
+ *
+ * @generated
+ */
+ NsdFactory eINSTANCE = fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdFactoryImpl.init();
+
+ /**
+ * Returns a new object of class 'Applies To Type'.
+ *
+ *
+ * @return a new object of class 'Applies To Type'.
+ * @generated
+ */
+ AppliesToType createAppliesToType();
+
+ /**
+ * Returns a new object of class 'Depends On Type'.
+ *
+ *
+ * @return a new object of class 'Depends On Type'.
+ * @generated
+ */
+ DependsOnType createDependsOnType();
+
+ /**
+ * Returns a new object of class 'Document Root'.
+ *
+ *
+ * @return a new object of class 'Document Root'.
+ * @generated
+ */
+ DocumentRoot createDocumentRoot();
+
+ /**
+ * Returns a new object of class 'Service Type'.
+ *
+ *
+ * @return a new object of class 'Service Type'.
+ * @generated
+ */
+ ServiceType createServiceType();
+
+ /**
+ * Returns a new object of class 'TAbbreviation'.
+ *
+ *
+ * @return a new object of class 'TAbbreviation'.
+ * @generated
+ */
+ TAbbreviation createTAbbreviation();
+
+ /**
+ * Returns a new object of class 'TAbbreviations'.
+ *
+ *
+ * @return a new object of class 'TAbbreviations'.
+ * @generated
+ */
+ TAbbreviations createTAbbreviations();
+
+ /**
+ * Returns a new object of class 'TAbstract LN Class'.
+ *
+ *
+ * @return a new object of class 'TAbstract LN Class'.
+ * @generated
+ */
+ TAbstractLNClass createTAbstractLNClass();
+
+ /**
+ * Returns a new object of class 'TApplicable Service NS'.
+ *
+ *
+ * @return a new object of class 'TApplicable Service NS'.
+ * @generated
+ */
+ TApplicableServiceNS createTApplicableServiceNS();
+
+ /**
+ * Returns a new object of class 'TApplicable Services'.
+ *
+ *
+ * @return a new object of class 'TApplicable Services'.
+ * @generated
+ */
+ TApplicableServices createTApplicableServices();
+
+ /**
+ * Returns a new object of class 'TBasic Type'.
+ *
+ *
+ * @return a new object of class 'TBasic Type'.
+ * @generated
+ */
+ TBasicType createTBasicType();
+
+ /**
+ * Returns a new object of class 'TBasic Types'.
+ *
+ *
+ * @return a new object of class 'TBasic Types'.
+ * @generated
+ */
+ TBasicTypes createTBasicTypes();
+
+ /**
+ * Returns a new object of class 'TCDC'.
+ *
+ *
+ * @return a new object of class 'TCDC'.
+ * @generated
+ */
+ TCDC createTCDC();
+
+ /**
+ * Returns a new object of class 'TCD Cs'.
+ *
+ *
+ * @return a new object of class 'TCD Cs'.
+ * @generated
+ */
+ TCDCs createTCDCs();
+
+ /**
+ * Returns a new object of class 'TChanges'.
+ *
+ *
+ * @return a new object of class 'TChanges'.
+ * @generated
+ */
+ TChanges createTChanges();
+
+ /**
+ * Returns a new object of class 'TConstructed Attribute'.
+ *
+ *
+ * @return a new object of class 'TConstructed Attribute'.
+ * @generated
+ */
+ TConstructedAttribute createTConstructedAttribute();
+
+ /**
+ * Returns a new object of class 'TConstructed Attributes'.
+ *
+ *
+ * @return a new object of class 'TConstructed Attributes'.
+ * @generated
+ */
+ TConstructedAttributes createTConstructedAttributes();
+
+ /**
+ * Returns a new object of class 'TCopyrighted'.
+ *
+ *
+ * @return a new object of class 'TCopyrighted'.
+ * @generated
+ */
+ TCopyrighted createTCopyrighted();
+
+ /**
+ * Returns a new object of class 'TCopyright Notice'.
+ *
+ *
+ * @return a new object of class 'TCopyright Notice'.
+ * @generated
+ */
+ TCopyrightNotice createTCopyrightNotice();
+
+ /**
+ * Returns a new object of class 'TData Attribute'.
+ *
+ *
+ * @return a new object of class 'TData Attribute'.
+ * @generated
+ */
+ TDataAttribute createTDataAttribute();
+
+ /**
+ * Returns a new object of class 'TData Object'.
+ *
+ *
+ * @return a new object of class 'TData Object'.
+ * @generated
+ */
+ TDataObject createTDataObject();
+
+ /**
+ * Returns a new object of class 'TData Set Member Of'.
+ *
+ *
+ * @return a new object of class 'TData Set Member Of'.
+ * @generated
+ */
+ TDataSetMemberOf createTDataSetMemberOf();
+
+ /**
+ * Returns a new object of class 'TDoc'.
+ *
+ *
+ * @return a new object of class 'TDoc'.
+ * @generated
+ */
+ TDoc createTDoc();
+
+ /**
+ * Returns a new object of class 'TDocumented Class'.
+ *
+ *
+ * @return a new object of class 'TDocumented Class'.
+ * @generated
+ */
+ TDocumentedClass createTDocumentedClass();
+
+ /**
+ * Returns a new object of class 'TEnumeration'.
+ *
+ *
+ * @return a new object of class 'TEnumeration'.
+ * @generated
+ */
+ TEnumeration createTEnumeration();
+
+ /**
+ * Returns a new object of class 'TEnumerations'.
+ *
+ *
+ * @return a new object of class 'TEnumerations'.
+ * @generated
+ */
+ TEnumerations createTEnumerations();
+
+ /**
+ * Returns a new object of class 'TFunctional Constraint'.
+ *
+ *
+ * @return a new object of class 'TFunctional Constraint'.
+ * @generated
+ */
+ TFunctionalConstraint createTFunctionalConstraint();
+
+ /**
+ * Returns a new object of class 'TFunctional Constraints'.
+ *
+ *
+ * @return a new object of class 'TFunctional Constraints'.
+ * @generated
+ */
+ TFunctionalConstraints createTFunctionalConstraints();
+
+ /**
+ * Returns a new object of class 'TLicense'.
+ *
+ *
+ * @return a new object of class 'TLicense'.
+ * @generated
+ */
+ TLicense createTLicense();
+
+ /**
+ * Returns a new object of class 'TLiteral'.
+ *
+ *
+ * @return a new object of class 'TLiteral'.
+ * @generated
+ */
+ TLiteral createTLiteral();
+
+ /**
+ * Returns a new object of class 'TLN Class'.
+ *
+ *
+ * @return a new object of class 'TLN Class'.
+ * @generated
+ */
+ TLNClass createTLNClass();
+
+ /**
+ * Returns a new object of class 'TLN Classes'.
+ *
+ *
+ * @return a new object of class 'TLN Classes'.
+ * @generated
+ */
+ TLNClasses createTLNClasses();
+
+ /**
+ * Returns a new object of class 'TNotice'.
+ *
+ *
+ * @return a new object of class 'TNotice'.
+ * @generated
+ */
+ TNotice createTNotice();
+
+ /**
+ * Returns a new object of class 'TNS'.
+ *
+ *
+ * @return a new object of class 'TNS'.
+ * @generated
+ */
+ TNS createTNS();
+
+ /**
+ * Returns a new object of class 'TNS Doc'.
+ *
+ *
+ * @return a new object of class 'TNS Doc'.
+ * @generated
+ */
+ TNSDoc createTNSDoc();
+
+ /**
+ * Returns a new object of class 'TPresence Condition'.
+ *
+ *
+ * @return a new object of class 'TPresence Condition'.
+ * @generated
+ */
+ TPresenceCondition createTPresenceCondition();
+
+ /**
+ * Returns a new object of class 'TPresence Conditions'.
+ *
+ *
+ * @return a new object of class 'TPresence Conditions'.
+ * @generated
+ */
+ TPresenceConditions createTPresenceConditions();
+
+ /**
+ * Returns a new object of class 'TService CDC'.
+ *
+ *
+ * @return a new object of class 'TService CDC'.
+ * @generated
+ */
+ TServiceCDC createTServiceCDC();
+
+ /**
+ * Returns a new object of class 'TService CD Cs'.
+ *
+ *
+ * @return a new object of class 'TService CD Cs'.
+ * @generated
+ */
+ TServiceCDCs createTServiceCDCs();
+
+ /**
+ * Returns a new object of class 'TService Constructed Attribute'.
+ *
+ *
+ * @return a new object of class 'TService Constructed Attribute'.
+ * @generated
+ */
+ TServiceConstructedAttribute createTServiceConstructedAttribute();
+
+ /**
+ * Returns a new object of class 'TService Constructed Attributes'.
+ *
+ *
+ * @return a new object of class 'TService Constructed Attributes'.
+ * @generated
+ */
+ TServiceConstructedAttributes createTServiceConstructedAttributes();
+
+ /**
+ * Returns a new object of class 'TService Data Attribute'.
+ *
+ *
+ * @return a new object of class 'TService Data Attribute'.
+ * @generated
+ */
+ TServiceDataAttribute createTServiceDataAttribute();
+
+ /**
+ * Returns a new object of class 'TService NS'.
+ *
+ *
+ * @return a new object of class 'TService NS'.
+ * @generated
+ */
+ TServiceNS createTServiceNS();
+
+ /**
+ * Returns a new object of class 'TService Ns Usage'.
+ *
+ *
+ * @return a new object of class 'TService Ns Usage'.
+ * @generated
+ */
+ TServiceNsUsage createTServiceNsUsage();
+
+ /**
+ * Returns a new object of class 'TService Parameter'.
+ *
+ *
+ * @return a new object of class 'TService Parameter'.
+ * @generated
+ */
+ TServiceParameter createTServiceParameter();
+
+ /**
+ * Returns a new object of class 'TService Type Realization'.
+ *
+ *
+ * @return a new object of class 'TService Type Realization'.
+ * @generated
+ */
+ TServiceTypeRealization createTServiceTypeRealization();
+
+ /**
+ * Returns a new object of class 'TService Type Realizations'.
+ *
+ *
+ * @return a new object of class 'TService Type Realizations'.
+ * @generated
+ */
+ TServiceTypeRealizations createTServiceTypeRealizations();
+
+ /**
+ * Returns a new object of class 'TSub Data Attribute'.
+ *
+ *
+ * @return a new object of class 'TSub Data Attribute'.
+ * @generated
+ */
+ TSubDataAttribute createTSubDataAttribute();
+
+ /**
+ * Returns a new object of class 'TSub Data Object'.
+ *
+ *
+ * @return a new object of class 'TSub Data Object'.
+ * @generated
+ */
+ TSubDataObject createTSubDataObject();
+
+ /**
+ * Returns a new object of class 'TTitled Class'.
+ *
+ *
+ * @return a new object of class 'TTitled Class'.
+ * @generated
+ */
+ TTitledClass createTTitledClass();
+
+ /**
+ * Returns the package supported by this factory.
+ *
+ *
+ * @return the package supported by this factory.
+ * @generated
+ */
+ NsdPackage getNsdPackage();
+
+} //NsdFactory
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
new file mode 100644
index 0000000000000000000000000000000000000000..9523b26a449ecb46f9d9f1203cfdd6c02760ea9b
--- /dev/null
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/NsdPackage.java
@@ -0,0 +1,10373 @@
+/**
+ * Copyright (c) 2019 CentraleSupélec & EDF.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * This file is part of the RiseClipse tool
+ *
+ * Contributors:
+ * Computer Science Department, CentraleSupélec
+ * EDF R&D
+ * Contacts:
+ * dominique.marcadet@centralesupelec.fr
+ * aurelie.dehouck-neveu@edf.fr
+ * Web site:
+ * http://wdi.supelec.fr/software/RiseClipse/
+ *
+ */
+package fr.centralesupelec.edf.riseclipse.iec61850.nsd;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ *
+ * The Package for the model.
+ * It contains accessors for the meta objects to represent
+ *
+ * - each class,
+ * - each feature of each class,
+ * - each operation of each class,
+ * - each enum,
+ * - and each data type
+ *
+ *
+ *
+ *
+ *
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface NsdPackage extends EPackage {
+ /**
+ * The package name.
+ *
+ *
+ * @generated
+ */
+ String eNAME = "nsd";
+
+ /**
+ * The package namespace URI.
+ *
+ *
+ * @generated
+ */
+ String eNS_URI = "http://www.iec.ch/61850/2016/NSD";
+
+ /**
+ * The package namespace name.
+ *
+ *
+ * @generated
+ */
+ String eNS_PREFIX = "nsd";
+
+ /**
+ * The singleton instance of the package.
+ *
+ *
+ * @generated
+ */
+ NsdPackage eINSTANCE = fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.AppliesToTypeImpl Applies To Type}' class.
+ *
+ *
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.AppliesToTypeImpl
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getAppliesToType()
+ * @generated
+ */
+ int APPLIES_TO_TYPE = 0;
+
+ /**
+ * The feature id for the 'Id' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int APPLIES_TO_TYPE__ID = 0;
+
+ /**
+ * The feature id for the 'Publication Stage' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int APPLIES_TO_TYPE__PUBLICATION_STAGE = 1;
+
+ /**
+ * The feature id for the 'Release' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int APPLIES_TO_TYPE__RELEASE = 2;
+
+ /**
+ * The feature id for the 'Revision' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int APPLIES_TO_TYPE__REVISION = 3;
+
+ /**
+ * The feature id for the 'Version' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int APPLIES_TO_TYPE__VERSION = 4;
+
+ /**
+ * The number of structural features of the 'Applies To Type' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int APPLIES_TO_TYPE_FEATURE_COUNT = 5;
+
+ /**
+ * The number of operations of the 'Applies To Type' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int APPLIES_TO_TYPE_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.DependsOnTypeImpl Depends On Type}' class.
+ *
+ *
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.DependsOnTypeImpl
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getDependsOnType()
+ * @generated
+ */
+ int DEPENDS_ON_TYPE = 1;
+
+ /**
+ * The feature id for the 'Id' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int DEPENDS_ON_TYPE__ID = 0;
+
+ /**
+ * The feature id for the 'Publication Stage' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int DEPENDS_ON_TYPE__PUBLICATION_STAGE = 1;
+
+ /**
+ * The feature id for the 'Release' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int DEPENDS_ON_TYPE__RELEASE = 2;
+
+ /**
+ * The feature id for the 'Revision' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int DEPENDS_ON_TYPE__REVISION = 3;
+
+ /**
+ * The feature id for the 'Version' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int DEPENDS_ON_TYPE__VERSION = 4;
+
+ /**
+ * The number of structural features of the 'Depends On Type' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int DEPENDS_ON_TYPE_FEATURE_COUNT = 5;
+
+ /**
+ * The number of operations of the 'Depends On Type' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int DEPENDS_ON_TYPE_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.DocumentRootImpl Document Root}' class.
+ *
+ *
+ * @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 'Mixed' attribute list.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int DOCUMENT_ROOT__MIXED = 0;
+
+ /**
+ * The feature id for the 'XMLNS Prefix Map' map.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int DOCUMENT_ROOT__XMLNS_PREFIX_MAP = 1;
+
+ /**
+ * The feature id for the 'XSI Schema Location' map.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int DOCUMENT_ROOT__XSI_SCHEMA_LOCATION = 2;
+
+ /**
+ * The feature id for the 'Applicable Service NS' containment reference.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int DOCUMENT_ROOT__APPLICABLE_SERVICE_NS = 3;
+
+ /**
+ * The feature id for the 'Copyright' containment reference.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int DOCUMENT_ROOT__COPYRIGHT = 4;
+
+ /**
+ * The feature id for the 'NS' containment reference.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int DOCUMENT_ROOT__NS = 5;
+
+ /**
+ * The feature id for the 'NS Doc' containment reference.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int DOCUMENT_ROOT__NS_DOC = 6;
+
+ /**
+ * The feature id for the 'Service NS' containment reference.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int DOCUMENT_ROOT__SERVICE_NS = 7;
+
+ /**
+ * The number of structural features of the 'Document Root' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int DOCUMENT_ROOT_FEATURE_COUNT = 8;
+
+ /**
+ * The number of operations of the 'Document Root' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int DOCUMENT_ROOT_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.ServiceTypeImpl Service Type}' class.
+ *
+ *
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.ServiceTypeImpl
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getServiceType()
+ * @generated
+ */
+ int SERVICE_TYPE = 3;
+
+ /**
+ * The feature id for the 'Name' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int SERVICE_TYPE__NAME = 0;
+
+ /**
+ * The number of structural features of the 'Service Type' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int SERVICE_TYPE_FEATURE_COUNT = 1;
+
+ /**
+ * The number of operations of the 'Service Type' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int SERVICE_TYPE_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TAbbreviationImpl TAbbreviation}' class.
+ *
+ *
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TAbbreviationImpl
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getTAbbreviation()
+ * @generated
+ */
+ int TABBREVIATION = 4;
+
+ /**
+ * The feature id for the 'Desc ID' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TABBREVIATION__DESC_ID = 0;
+
+ /**
+ * The feature id for the 'Name' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TABBREVIATION__NAME = 1;
+
+ /**
+ * The number of structural features of the 'TAbbreviation' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TABBREVIATION_FEATURE_COUNT = 2;
+
+ /**
+ * The number of operations of the 'TAbbreviation' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TABBREVIATION_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TAbbreviationsImpl TAbbreviations}' class.
+ *
+ *
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TAbbreviationsImpl
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getTAbbreviations()
+ * @generated
+ */
+ int TABBREVIATIONS = 5;
+
+ /**
+ * The feature id for the 'Abbreviation' containment reference list.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TABBREVIATIONS__ABBREVIATION = 0;
+
+ /**
+ * The number of structural features of the 'TAbbreviations' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TABBREVIATIONS_FEATURE_COUNT = 1;
+
+ /**
+ * The number of operations of the 'TAbbreviations' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TABBREVIATIONS_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TDocumentedClassImpl TDocumented Class}' class.
+ *
+ *
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TDocumentedClassImpl
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getTDocumentedClass()
+ * @generated
+ */
+ int TDOCUMENTED_CLASS = 23;
+
+ /**
+ * The feature id for the 'Deprecated' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TDOCUMENTED_CLASS__DEPRECATED = 0;
+
+ /**
+ * The feature id for the 'Desc ID' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TDOCUMENTED_CLASS__DESC_ID = 1;
+
+ /**
+ * The feature id for the 'Informative' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TDOCUMENTED_CLASS__INFORMATIVE = 2;
+
+ /**
+ * The number of structural features of the 'TDocumented Class' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TDOCUMENTED_CLASS_FEATURE_COUNT = 3;
+
+ /**
+ * The number of operations of the 'TDocumented Class' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TDOCUMENTED_CLASS_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TTitledClassImpl TTitled Class}' class.
+ *
+ *
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TTitledClassImpl
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getTTitledClass()
+ * @generated
+ */
+ int TTITLED_CLASS = 49;
+
+ /**
+ * The feature id for the 'Deprecated' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TTITLED_CLASS__DEPRECATED = TDOCUMENTED_CLASS__DEPRECATED;
+
+ /**
+ * The feature id for the 'Desc ID' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TTITLED_CLASS__DESC_ID = TDOCUMENTED_CLASS__DESC_ID;
+
+ /**
+ * The feature id for the 'Informative' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TTITLED_CLASS__INFORMATIVE = TDOCUMENTED_CLASS__INFORMATIVE;
+
+ /**
+ * The feature id for the 'Title ID' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TTITLED_CLASS__TITLE_ID = TDOCUMENTED_CLASS_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the 'TTitled Class' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TTITLED_CLASS_FEATURE_COUNT = TDOCUMENTED_CLASS_FEATURE_COUNT + 1;
+
+ /**
+ * The number of operations of the 'TTitled Class' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TTITLED_CLASS_OPERATION_COUNT = TDOCUMENTED_CLASS_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TAnyLNClassImpl TAny LN Class}' class.
+ *
+ *
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TAnyLNClassImpl
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getTAnyLNClass()
+ * @generated
+ */
+ int TANY_LN_CLASS = 7;
+
+ /**
+ * The feature id for the 'Deprecated' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TANY_LN_CLASS__DEPRECATED = TTITLED_CLASS__DEPRECATED;
+
+ /**
+ * The feature id for the 'Desc ID' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TANY_LN_CLASS__DESC_ID = TTITLED_CLASS__DESC_ID;
+
+ /**
+ * The feature id for the 'Informative' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TANY_LN_CLASS__INFORMATIVE = TTITLED_CLASS__INFORMATIVE;
+
+ /**
+ * The feature id for the 'Title ID' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TANY_LN_CLASS__TITLE_ID = TTITLED_CLASS__TITLE_ID;
+
+ /**
+ * The feature id for the 'Data Object' containment reference list.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TANY_LN_CLASS__DATA_OBJECT = TTITLED_CLASS_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the 'Base' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TANY_LN_CLASS__BASE = TTITLED_CLASS_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the 'TAny LN Class' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TANY_LN_CLASS_FEATURE_COUNT = TTITLED_CLASS_FEATURE_COUNT + 2;
+
+ /**
+ * The number of operations of the 'TAny LN Class' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TANY_LN_CLASS_OPERATION_COUNT = TTITLED_CLASS_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TAbstractLNClassImpl TAbstract LN Class}' class.
+ *
+ *
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TAbstractLNClassImpl
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getTAbstractLNClass()
+ * @generated
+ */
+ int TABSTRACT_LN_CLASS = 6;
+
+ /**
+ * The feature id for the 'Deprecated' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TABSTRACT_LN_CLASS__DEPRECATED = TANY_LN_CLASS__DEPRECATED;
+
+ /**
+ * The feature id for the 'Desc ID' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TABSTRACT_LN_CLASS__DESC_ID = TANY_LN_CLASS__DESC_ID;
+
+ /**
+ * The feature id for the 'Informative' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TABSTRACT_LN_CLASS__INFORMATIVE = TANY_LN_CLASS__INFORMATIVE;
+
+ /**
+ * The feature id for the 'Title ID' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TABSTRACT_LN_CLASS__TITLE_ID = TANY_LN_CLASS__TITLE_ID;
+
+ /**
+ * The feature id for the 'Data Object' containment reference list.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TABSTRACT_LN_CLASS__DATA_OBJECT = TANY_LN_CLASS__DATA_OBJECT;
+
+ /**
+ * The feature id for the 'Base' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TABSTRACT_LN_CLASS__BASE = TANY_LN_CLASS__BASE;
+
+ /**
+ * The feature id for the 'Name' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TABSTRACT_LN_CLASS__NAME = TANY_LN_CLASS_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the 'TAbstract LN Class' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TABSTRACT_LN_CLASS_FEATURE_COUNT = TANY_LN_CLASS_FEATURE_COUNT + 1;
+
+ /**
+ * The number of operations of the 'TAbstract LN Class' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TABSTRACT_LN_CLASS_OPERATION_COUNT = TANY_LN_CLASS_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TCopyrightedImpl TCopyrighted}' class.
+ *
+ *
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TCopyrightedImpl
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getTCopyrighted()
+ * @generated
+ */
+ int TCOPYRIGHTED = 17;
+
+ /**
+ * The feature id for the 'Copyright' containment reference.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TCOPYRIGHTED__COPYRIGHT = 0;
+
+ /**
+ * The number of structural features of the 'TCopyrighted' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TCOPYRIGHTED_FEATURE_COUNT = 1;
+
+ /**
+ * The number of operations of the 'TCopyrighted' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TCOPYRIGHTED_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TApplicableServiceNSImpl TApplicable Service NS}' class.
+ *
+ *
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TApplicableServiceNSImpl
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getTApplicableServiceNS()
+ * @generated
+ */
+ int TAPPLICABLE_SERVICE_NS = 8;
+
+ /**
+ * The feature id for the 'Copyright' containment reference.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TAPPLICABLE_SERVICE_NS__COPYRIGHT = TCOPYRIGHTED__COPYRIGHT;
+
+ /**
+ * The feature id for the 'Service Ns Usage' containment reference list.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TAPPLICABLE_SERVICE_NS__SERVICE_NS_USAGE = TCOPYRIGHTED_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the 'Date' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TAPPLICABLE_SERVICE_NS__DATE = TCOPYRIGHTED_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the 'Version' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TAPPLICABLE_SERVICE_NS__VERSION = TCOPYRIGHTED_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the 'TApplicable Service NS' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TAPPLICABLE_SERVICE_NS_FEATURE_COUNT = TCOPYRIGHTED_FEATURE_COUNT + 3;
+
+ /**
+ * The number of operations of the 'TApplicable Service NS' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TAPPLICABLE_SERVICE_NS_OPERATION_COUNT = TCOPYRIGHTED_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TApplicableServicesImpl TApplicable Services}' class.
+ *
+ *
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TApplicableServicesImpl
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getTApplicableServices()
+ * @generated
+ */
+ int TAPPLICABLE_SERVICES = 9;
+
+ /**
+ * The feature id for the 'Service' containment reference list.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TAPPLICABLE_SERVICES__SERVICE = 0;
+
+ /**
+ * The feature id for the 'Data Set Member Of' containment reference list.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TAPPLICABLE_SERVICES__DATA_SET_MEMBER_OF = 1;
+
+ /**
+ * The number of structural features of the 'TApplicable Services' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TAPPLICABLE_SERVICES_FEATURE_COUNT = 2;
+
+ /**
+ * The number of operations of the 'TApplicable Services' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TAPPLICABLE_SERVICES_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TBasicTypeImpl TBasic Type}' class.
+ *
+ *
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TBasicTypeImpl
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getTBasicType()
+ * @generated
+ */
+ int TBASIC_TYPE = 10;
+
+ /**
+ * The feature id for the 'Desc ID' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TBASIC_TYPE__DESC_ID = 0;
+
+ /**
+ * The feature id for the 'Name' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TBASIC_TYPE__NAME = 1;
+
+ /**
+ * The number of structural features of the 'TBasic Type' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TBASIC_TYPE_FEATURE_COUNT = 2;
+
+ /**
+ * The number of operations of the 'TBasic Type' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TBASIC_TYPE_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TBasicTypesImpl TBasic Types}' class.
+ *
+ *
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TBasicTypesImpl
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getTBasicTypes()
+ * @generated
+ */
+ int TBASIC_TYPES = 11;
+
+ /**
+ * The feature id for the 'Basic Type' containment reference list.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TBASIC_TYPES__BASIC_TYPE = 0;
+
+ /**
+ * The number of structural features of the 'TBasic Types' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TBASIC_TYPES_FEATURE_COUNT = 1;
+
+ /**
+ * The number of operations of the 'TBasic Types' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TBASIC_TYPES_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TCDCImpl TCDC}' class.
+ *
+ *
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TCDCImpl
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getTCDC()
+ * @generated
+ */
+ int TCDC = 12;
+
+ /**
+ * The feature id for the 'Deprecated' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TCDC__DEPRECATED = TTITLED_CLASS__DEPRECATED;
+
+ /**
+ * The feature id for the 'Desc ID' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TCDC__DESC_ID = TTITLED_CLASS__DESC_ID;
+
+ /**
+ * The feature id for the 'Informative' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TCDC__INFORMATIVE = TTITLED_CLASS__INFORMATIVE;
+
+ /**
+ * The feature id for the 'Title ID' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TCDC__TITLE_ID = TTITLED_CLASS__TITLE_ID;
+
+ /**
+ * The feature id for the 'Sub Data Object' containment reference list.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TCDC__SUB_DATA_OBJECT = TTITLED_CLASS_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the 'Data Attribute' containment reference list.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TCDC__DATA_ATTRIBUTE = TTITLED_CLASS_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the 'Service Parameter' containment reference.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TCDC__SERVICE_PARAMETER = TTITLED_CLASS_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the 'Enum Parameterized' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TCDC__ENUM_PARAMETERIZED = TTITLED_CLASS_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the 'Name' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TCDC__NAME = TTITLED_CLASS_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the 'Statistics' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TCDC__STATISTICS = TTITLED_CLASS_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the 'Type Kind Parameterized' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TCDC__TYPE_KIND_PARAMETERIZED = TTITLED_CLASS_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the 'Variant' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TCDC__VARIANT = TTITLED_CLASS_FEATURE_COUNT + 7;
+
+ /**
+ * The number of structural features of the 'TCDC' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TCDC_FEATURE_COUNT = TTITLED_CLASS_FEATURE_COUNT + 8;
+
+ /**
+ * The number of operations of the 'TCDC' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TCDC_OPERATION_COUNT = TTITLED_CLASS_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TCDCsImpl TCD Cs}' class.
+ *
+ *
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TCDCsImpl
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getTCDCs()
+ * @generated
+ */
+ int TCD_CS = 13;
+
+ /**
+ * The feature id for the 'CDC' containment reference list.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TCD_CS__CDC = 0;
+
+ /**
+ * The number of structural features of the 'TCD Cs' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TCD_CS_FEATURE_COUNT = 1;
+
+ /**
+ * The number of operations of the 'TCD Cs' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TCD_CS_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TChangesImpl TChanges}' class.
+ *
+ *
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TChangesImpl
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getTChanges()
+ * @generated
+ */
+ int TCHANGES = 14;
+
+ /**
+ * The feature id for the 'Changes ID' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TCHANGES__CHANGES_ID = 0;
+
+ /**
+ * The feature id for the 'Date' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TCHANGES__DATE = 1;
+
+ /**
+ * The feature id for the 'Release' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TCHANGES__RELEASE = 2;
+
+ /**
+ * The feature id for the 'Revision' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TCHANGES__REVISION = 3;
+
+ /**
+ * The feature id for the 'Tissues' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TCHANGES__TISSUES = 4;
+
+ /**
+ * The feature id for the 'Version' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TCHANGES__VERSION = 5;
+
+ /**
+ * The number of structural features of the 'TChanges' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TCHANGES_FEATURE_COUNT = 6;
+
+ /**
+ * The number of operations of the 'TChanges' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TCHANGES_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TConstructedAttributeImpl TConstructed Attribute}' class.
+ *
+ *
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TConstructedAttributeImpl
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getTConstructedAttribute()
+ * @generated
+ */
+ int TCONSTRUCTED_ATTRIBUTE = 15;
+
+ /**
+ * The feature id for the 'Deprecated' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TCONSTRUCTED_ATTRIBUTE__DEPRECATED = TTITLED_CLASS__DEPRECATED;
+
+ /**
+ * The feature id for the 'Desc ID' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TCONSTRUCTED_ATTRIBUTE__DESC_ID = TTITLED_CLASS__DESC_ID;
+
+ /**
+ * The feature id for the 'Informative' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TCONSTRUCTED_ATTRIBUTE__INFORMATIVE = TTITLED_CLASS__INFORMATIVE;
+
+ /**
+ * The feature id for the 'Title ID' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TCONSTRUCTED_ATTRIBUTE__TITLE_ID = TTITLED_CLASS__TITLE_ID;
+
+ /**
+ * The feature id for the 'Sub Data Attribute' containment reference list.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TCONSTRUCTED_ATTRIBUTE__SUB_DATA_ATTRIBUTE = TTITLED_CLASS_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the 'Name' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TCONSTRUCTED_ATTRIBUTE__NAME = TTITLED_CLASS_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the 'TConstructed Attribute' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TCONSTRUCTED_ATTRIBUTE_FEATURE_COUNT = TTITLED_CLASS_FEATURE_COUNT + 2;
+
+ /**
+ * The number of operations of the 'TConstructed Attribute' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TCONSTRUCTED_ATTRIBUTE_OPERATION_COUNT = TTITLED_CLASS_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TConstructedAttributesImpl TConstructed Attributes}' class.
+ *
+ *
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TConstructedAttributesImpl
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getTConstructedAttributes()
+ * @generated
+ */
+ int TCONSTRUCTED_ATTRIBUTES = 16;
+
+ /**
+ * The feature id for the 'Constructed Attribute' containment reference list.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TCONSTRUCTED_ATTRIBUTES__CONSTRUCTED_ATTRIBUTE = 0;
+
+ /**
+ * The number of structural features of the 'TConstructed Attributes' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TCONSTRUCTED_ATTRIBUTES_FEATURE_COUNT = 1;
+
+ /**
+ * The number of operations of the 'TConstructed Attributes' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TCONSTRUCTED_ATTRIBUTES_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TCopyrightNoticeImpl TCopyright Notice}' class.
+ *
+ *
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TCopyrightNoticeImpl
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getTCopyrightNotice()
+ * @generated
+ */
+ int TCOPYRIGHT_NOTICE = 18;
+
+ /**
+ * The feature id for the 'Notice' containment reference.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TCOPYRIGHT_NOTICE__NOTICE = 0;
+
+ /**
+ * The feature id for the 'License' containment reference.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TCOPYRIGHT_NOTICE__LICENSE = 1;
+
+ /**
+ * The number of structural features of the 'TCopyright Notice' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TCOPYRIGHT_NOTICE_FEATURE_COUNT = 2;
+
+ /**
+ * The number of operations of the 'TCopyright Notice' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TCOPYRIGHT_NOTICE_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TDataAttributeImpl TData Attribute}' class.
+ *
+ *
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TDataAttributeImpl
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getTDataAttribute()
+ * @generated
+ */
+ int TDATA_ATTRIBUTE = 19;
+
+ /**
+ * The feature id for the 'Deprecated' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TDATA_ATTRIBUTE__DEPRECATED = TDOCUMENTED_CLASS__DEPRECATED;
+
+ /**
+ * The feature id for the 'Desc ID' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TDATA_ATTRIBUTE__DESC_ID = TDOCUMENTED_CLASS__DESC_ID;
+
+ /**
+ * The feature id for the 'Informative' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TDATA_ATTRIBUTE__INFORMATIVE = TDOCUMENTED_CLASS__INFORMATIVE;
+
+ /**
+ * The feature id for the 'Dchg' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TDATA_ATTRIBUTE__DCHG = TDOCUMENTED_CLASS_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the 'Default Value' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TDATA_ATTRIBUTE__DEFAULT_VALUE = TDOCUMENTED_CLASS_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the 'Dupd' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TDATA_ATTRIBUTE__DUPD = TDOCUMENTED_CLASS_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the 'Fc' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TDATA_ATTRIBUTE__FC = TDOCUMENTED_CLASS_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the 'Is Array' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TDATA_ATTRIBUTE__IS_ARRAY = TDOCUMENTED_CLASS_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the 'Max Index Attribute' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TDATA_ATTRIBUTE__MAX_INDEX_ATTRIBUTE = TDOCUMENTED_CLASS_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the 'Max Value' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TDATA_ATTRIBUTE__MAX_VALUE = TDOCUMENTED_CLASS_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the 'Min Index' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TDATA_ATTRIBUTE__MIN_INDEX = TDOCUMENTED_CLASS_FEATURE_COUNT + 7;
+
+ /**
+ * The feature id for the 'Min Value' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TDATA_ATTRIBUTE__MIN_VALUE = TDOCUMENTED_CLASS_FEATURE_COUNT + 8;
+
+ /**
+ * The feature id for the 'Name' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TDATA_ATTRIBUTE__NAME = TDOCUMENTED_CLASS_FEATURE_COUNT + 9;
+
+ /**
+ * The feature id for the 'Pres Cond' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TDATA_ATTRIBUTE__PRES_COND = TDOCUMENTED_CLASS_FEATURE_COUNT + 10;
+
+ /**
+ * The feature id for the 'Pres Cond Args' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TDATA_ATTRIBUTE__PRES_COND_ARGS = TDOCUMENTED_CLASS_FEATURE_COUNT + 11;
+
+ /**
+ * The feature id for the 'Pres Cond Args ID' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TDATA_ATTRIBUTE__PRES_COND_ARGS_ID = TDOCUMENTED_CLASS_FEATURE_COUNT + 12;
+
+ /**
+ * The feature id for the 'Qchg' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TDATA_ATTRIBUTE__QCHG = TDOCUMENTED_CLASS_FEATURE_COUNT + 13;
+
+ /**
+ * The feature id for the 'Size Attribute' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TDATA_ATTRIBUTE__SIZE_ATTRIBUTE = TDOCUMENTED_CLASS_FEATURE_COUNT + 14;
+
+ /**
+ * The feature id for the 'Type' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TDATA_ATTRIBUTE__TYPE = TDOCUMENTED_CLASS_FEATURE_COUNT + 15;
+
+ /**
+ * The feature id for the 'Type Kind' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TDATA_ATTRIBUTE__TYPE_KIND = TDOCUMENTED_CLASS_FEATURE_COUNT + 16;
+
+ /**
+ * The number of structural features of the 'TData Attribute' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TDATA_ATTRIBUTE_FEATURE_COUNT = TDOCUMENTED_CLASS_FEATURE_COUNT + 17;
+
+ /**
+ * The number of operations of the 'TData Attribute' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TDATA_ATTRIBUTE_OPERATION_COUNT = TDOCUMENTED_CLASS_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TDataObjectImpl TData Object}' class.
+ *
+ *
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TDataObjectImpl
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getTDataObject()
+ * @generated
+ */
+ int TDATA_OBJECT = 20;
+
+ /**
+ * The feature id for the 'Deprecated' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TDATA_OBJECT__DEPRECATED = TDOCUMENTED_CLASS__DEPRECATED;
+
+ /**
+ * The feature id for the 'Desc ID' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TDATA_OBJECT__DESC_ID = TDOCUMENTED_CLASS__DESC_ID;
+
+ /**
+ * The feature id for the 'Informative' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TDATA_OBJECT__INFORMATIVE = TDOCUMENTED_CLASS__INFORMATIVE;
+
+ /**
+ * The feature id for the 'Ds Pres Cond' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TDATA_OBJECT__DS_PRES_COND = TDOCUMENTED_CLASS_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the 'Ds Pres Cond Args' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TDATA_OBJECT__DS_PRES_COND_ARGS = TDOCUMENTED_CLASS_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the 'Ds Pres Cond Args ID' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TDATA_OBJECT__DS_PRES_COND_ARGS_ID = TDOCUMENTED_CLASS_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the 'Name' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TDATA_OBJECT__NAME = TDOCUMENTED_CLASS_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the 'Pres Cond' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TDATA_OBJECT__PRES_COND = TDOCUMENTED_CLASS_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the 'Pres Cond Args' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TDATA_OBJECT__PRES_COND_ARGS = TDOCUMENTED_CLASS_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the 'Pres Cond Args ID' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TDATA_OBJECT__PRES_COND_ARGS_ID = TDOCUMENTED_CLASS_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the 'Transient' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TDATA_OBJECT__TRANSIENT = TDOCUMENTED_CLASS_FEATURE_COUNT + 7;
+
+ /**
+ * The feature id for the 'Type' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TDATA_OBJECT__TYPE = TDOCUMENTED_CLASS_FEATURE_COUNT + 8;
+
+ /**
+ * The feature id for the 'Underlying Type' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TDATA_OBJECT__UNDERLYING_TYPE = TDOCUMENTED_CLASS_FEATURE_COUNT + 9;
+
+ /**
+ * The feature id for the 'Underlying Type Kind' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TDATA_OBJECT__UNDERLYING_TYPE_KIND = TDOCUMENTED_CLASS_FEATURE_COUNT + 10;
+
+ /**
+ * The number of structural features of the 'TData Object' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TDATA_OBJECT_FEATURE_COUNT = TDOCUMENTED_CLASS_FEATURE_COUNT + 11;
+
+ /**
+ * The number of operations of the 'TData Object' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TDATA_OBJECT_OPERATION_COUNT = TDOCUMENTED_CLASS_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TDataSetMemberOfImpl TData Set Member Of}' class.
+ *
+ *
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TDataSetMemberOfImpl
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getTDataSetMemberOf()
+ * @generated
+ */
+ int TDATA_SET_MEMBER_OF = 21;
+
+ /**
+ * The feature id for the 'Cb' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TDATA_SET_MEMBER_OF__CB = 0;
+
+ /**
+ * The number of structural features of the 'TData Set Member Of' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TDATA_SET_MEMBER_OF_FEATURE_COUNT = 1;
+
+ /**
+ * The number of operations of the 'TData Set Member Of' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TDATA_SET_MEMBER_OF_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TDocImpl TDoc}' class.
+ *
+ *
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TDocImpl
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getTDoc()
+ * @generated
+ */
+ int TDOC = 22;
+
+ /**
+ * The feature id for the 'Mixed' attribute list.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TDOC__MIXED = 0;
+
+ /**
+ * The feature id for the 'Group' attribute list.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TDOC__GROUP = 1;
+
+ /**
+ * The feature id for the 'Any' attribute list.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TDOC__ANY = 2;
+
+ /**
+ * The feature id for the 'Id' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TDOC__ID = 3;
+
+ /**
+ * The number of structural features of the 'TDoc' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TDOC_FEATURE_COUNT = 4;
+
+ /**
+ * The number of operations of the 'TDoc' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TDOC_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TEnumerationImpl TEnumeration}' class.
+ *
+ *
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TEnumerationImpl
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getTEnumeration()
+ * @generated
+ */
+ int TENUMERATION = 24;
+
+ /**
+ * The feature id for the 'Deprecated' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TENUMERATION__DEPRECATED = TTITLED_CLASS__DEPRECATED;
+
+ /**
+ * The feature id for the 'Desc ID' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TENUMERATION__DESC_ID = TTITLED_CLASS__DESC_ID;
+
+ /**
+ * The feature id for the 'Informative' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TENUMERATION__INFORMATIVE = TTITLED_CLASS__INFORMATIVE;
+
+ /**
+ * The feature id for the 'Title ID' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TENUMERATION__TITLE_ID = TTITLED_CLASS__TITLE_ID;
+
+ /**
+ * The feature id for the 'Literal' containment reference list.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TENUMERATION__LITERAL = TTITLED_CLASS_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the 'Inherited From' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TENUMERATION__INHERITED_FROM = TTITLED_CLASS_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the 'Name' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TENUMERATION__NAME = TTITLED_CLASS_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the 'TEnumeration' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TENUMERATION_FEATURE_COUNT = TTITLED_CLASS_FEATURE_COUNT + 3;
+
+ /**
+ * The number of operations of the 'TEnumeration' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TENUMERATION_OPERATION_COUNT = TTITLED_CLASS_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TEnumerationsImpl TEnumerations}' class.
+ *
+ *
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TEnumerationsImpl
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getTEnumerations()
+ * @generated
+ */
+ int TENUMERATIONS = 25;
+
+ /**
+ * The feature id for the 'Enumeration' containment reference list.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TENUMERATIONS__ENUMERATION = 0;
+
+ /**
+ * The number of structural features of the 'TEnumerations' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TENUMERATIONS_FEATURE_COUNT = 1;
+
+ /**
+ * The number of operations of the 'TEnumerations' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TENUMERATIONS_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TFunctionalConstraintImpl TFunctional Constraint}' class.
+ *
+ *
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TFunctionalConstraintImpl
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getTFunctionalConstraint()
+ * @generated
+ */
+ int TFUNCTIONAL_CONSTRAINT = 26;
+
+ /**
+ * The feature id for the 'Applicable Services' containment reference.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TFUNCTIONAL_CONSTRAINT__APPLICABLE_SERVICES = 0;
+
+ /**
+ * The feature id for the 'Abbreviation' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TFUNCTIONAL_CONSTRAINT__ABBREVIATION = 1;
+
+ /**
+ * The feature id for the 'Desc ID' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TFUNCTIONAL_CONSTRAINT__DESC_ID = 2;
+
+ /**
+ * The feature id for the 'Title ID' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TFUNCTIONAL_CONSTRAINT__TITLE_ID = 3;
+
+ /**
+ * The number of structural features of the 'TFunctional Constraint' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TFUNCTIONAL_CONSTRAINT_FEATURE_COUNT = 4;
+
+ /**
+ * The number of operations of the 'TFunctional Constraint' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TFUNCTIONAL_CONSTRAINT_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TFunctionalConstraintsImpl TFunctional Constraints}' class.
+ *
+ *
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TFunctionalConstraintsImpl
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getTFunctionalConstraints()
+ * @generated
+ */
+ int TFUNCTIONAL_CONSTRAINTS = 27;
+
+ /**
+ * The feature id for the 'Functional Constraint' containment reference list.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TFUNCTIONAL_CONSTRAINTS__FUNCTIONAL_CONSTRAINT = 0;
+
+ /**
+ * The number of structural features of the 'TFunctional Constraints' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TFUNCTIONAL_CONSTRAINTS_FEATURE_COUNT = 1;
+
+ /**
+ * The number of operations of the 'TFunctional Constraints' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TFUNCTIONAL_CONSTRAINTS_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TLicenseImpl TLicense}' class.
+ *
+ *
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TLicenseImpl
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getTLicense()
+ * @generated
+ */
+ int TLICENSE = 28;
+
+ /**
+ * The feature id for the 'Mixed' attribute list.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TLICENSE__MIXED = 0;
+
+ /**
+ * The feature id for the 'Kind' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TLICENSE__KIND = 1;
+
+ /**
+ * The feature id for the 'Uri' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TLICENSE__URI = 2;
+
+ /**
+ * The number of structural features of the 'TLicense' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TLICENSE_FEATURE_COUNT = 3;
+
+ /**
+ * The number of operations of the 'TLicense' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TLICENSE_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TLiteralImpl TLiteral}' class.
+ *
+ *
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TLiteralImpl
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getTLiteral()
+ * @generated
+ */
+ int TLITERAL = 29;
+
+ /**
+ * The feature id for the 'Deprecated' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TLITERAL__DEPRECATED = TDOCUMENTED_CLASS__DEPRECATED;
+
+ /**
+ * The feature id for the 'Desc ID' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TLITERAL__DESC_ID = TDOCUMENTED_CLASS__DESC_ID;
+
+ /**
+ * The feature id for the 'Informative' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TLITERAL__INFORMATIVE = TDOCUMENTED_CLASS__INFORMATIVE;
+
+ /**
+ * The feature id for the 'Literal Val' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TLITERAL__LITERAL_VAL = TDOCUMENTED_CLASS_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the 'Name' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TLITERAL__NAME = TDOCUMENTED_CLASS_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the 'TLiteral' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TLITERAL_FEATURE_COUNT = TDOCUMENTED_CLASS_FEATURE_COUNT + 2;
+
+ /**
+ * The number of operations of the 'TLiteral' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TLITERAL_OPERATION_COUNT = TDOCUMENTED_CLASS_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TLNClassImpl TLN Class}' class.
+ *
+ *
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TLNClassImpl
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getTLNClass()
+ * @generated
+ */
+ int TLN_CLASS = 30;
+
+ /**
+ * The feature id for the 'Deprecated' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TLN_CLASS__DEPRECATED = TANY_LN_CLASS__DEPRECATED;
+
+ /**
+ * The feature id for the 'Desc ID' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TLN_CLASS__DESC_ID = TANY_LN_CLASS__DESC_ID;
+
+ /**
+ * The feature id for the 'Informative' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TLN_CLASS__INFORMATIVE = TANY_LN_CLASS__INFORMATIVE;
+
+ /**
+ * The feature id for the 'Title ID' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TLN_CLASS__TITLE_ID = TANY_LN_CLASS__TITLE_ID;
+
+ /**
+ * The feature id for the 'Data Object' containment reference list.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TLN_CLASS__DATA_OBJECT = TANY_LN_CLASS__DATA_OBJECT;
+
+ /**
+ * The feature id for the 'Base' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TLN_CLASS__BASE = TANY_LN_CLASS__BASE;
+
+ /**
+ * The feature id for the 'Can Have LOG' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TLN_CLASS__CAN_HAVE_LOG = TANY_LN_CLASS_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the 'Is Extension' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TLN_CLASS__IS_EXTENSION = TANY_LN_CLASS_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the 'Name' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TLN_CLASS__NAME = TANY_LN_CLASS_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the 'TLN Class' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TLN_CLASS_FEATURE_COUNT = TANY_LN_CLASS_FEATURE_COUNT + 3;
+
+ /**
+ * The number of operations of the 'TLN Class' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TLN_CLASS_OPERATION_COUNT = TANY_LN_CLASS_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TLNClassesImpl TLN Classes}' class.
+ *
+ *
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TLNClassesImpl
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getTLNClasses()
+ * @generated
+ */
+ int TLN_CLASSES = 31;
+
+ /**
+ * The feature id for the 'Abstract LN Class' containment reference list.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TLN_CLASSES__ABSTRACT_LN_CLASS = 0;
+
+ /**
+ * The feature id for the 'LN Class' containment reference list.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TLN_CLASSES__LN_CLASS = 1;
+
+ /**
+ * The number of structural features of the 'TLN Classes' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TLN_CLASSES_FEATURE_COUNT = 2;
+
+ /**
+ * The number of operations of the 'TLN Classes' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TLN_CLASSES_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TNoticeImpl TNotice}' class.
+ *
+ *
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TNoticeImpl
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getTNotice()
+ * @generated
+ */
+ int TNOTICE = 32;
+
+ /**
+ * The feature id for the 'Mixed' attribute list.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TNOTICE__MIXED = 0;
+
+ /**
+ * The number of structural features of the 'TNotice' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TNOTICE_FEATURE_COUNT = 1;
+
+ /**
+ * The number of operations of the 'TNotice' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TNOTICE_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TNSImpl TNS}' class.
+ *
+ *
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TNSImpl
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getTNS()
+ * @generated
+ */
+ int TNS = 33;
+
+ /**
+ * The feature id for the 'Copyright' containment reference.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TNS__COPYRIGHT = TCOPYRIGHTED__COPYRIGHT;
+
+ /**
+ * The feature id for the 'Changes' containment reference.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TNS__CHANGES = TCOPYRIGHTED_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the 'Depends On' containment reference.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TNS__DEPENDS_ON = TCOPYRIGHTED_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the 'Basic Types' containment reference.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TNS__BASIC_TYPES = TCOPYRIGHTED_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the 'Functional Constraints' containment reference.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TNS__FUNCTIONAL_CONSTRAINTS = TCOPYRIGHTED_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the 'Presence Conditions' containment reference.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TNS__PRESENCE_CONDITIONS = TCOPYRIGHTED_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the 'Abbreviations' containment reference.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TNS__ABBREVIATIONS = TCOPYRIGHTED_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the 'Enumerations' containment reference.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TNS__ENUMERATIONS = TCOPYRIGHTED_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the 'Constructed Attributes' containment reference.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TNS__CONSTRUCTED_ATTRIBUTES = TCOPYRIGHTED_FEATURE_COUNT + 7;
+
+ /**
+ * The feature id for the 'CD Cs' containment reference.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TNS__CD_CS = TCOPYRIGHTED_FEATURE_COUNT + 8;
+
+ /**
+ * The feature id for the 'LN Classes' containment reference.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TNS__LN_CLASSES = TCOPYRIGHTED_FEATURE_COUNT + 9;
+
+ /**
+ * The feature id for the 'Desc ID' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TNS__DESC_ID = TCOPYRIGHTED_FEATURE_COUNT + 10;
+
+ /**
+ * The feature id for the 'Id' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TNS__ID = TCOPYRIGHTED_FEATURE_COUNT + 11;
+
+ /**
+ * The feature id for the 'Publication Stage' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TNS__PUBLICATION_STAGE = TCOPYRIGHTED_FEATURE_COUNT + 12;
+
+ /**
+ * The feature id for the 'Release' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TNS__RELEASE = TCOPYRIGHTED_FEATURE_COUNT + 13;
+
+ /**
+ * The feature id for the 'Revision' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TNS__REVISION = TCOPYRIGHTED_FEATURE_COUNT + 14;
+
+ /**
+ * The feature id for the 'Uml Date' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TNS__UML_DATE = TCOPYRIGHTED_FEATURE_COUNT + 15;
+
+ /**
+ * The feature id for the 'Uml Version' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TNS__UML_VERSION = TCOPYRIGHTED_FEATURE_COUNT + 16;
+
+ /**
+ * The feature id for the 'Version' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TNS__VERSION = TCOPYRIGHTED_FEATURE_COUNT + 17;
+
+ /**
+ * The number of structural features of the 'TNS' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TNS_FEATURE_COUNT = TCOPYRIGHTED_FEATURE_COUNT + 18;
+
+ /**
+ * The number of operations of the 'TNS' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TNS_OPERATION_COUNT = TCOPYRIGHTED_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TNSDocImpl TNS Doc}' class.
+ *
+ *
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TNSDocImpl
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getTNSDoc()
+ * @generated
+ */
+ int TNS_DOC = 34;
+
+ /**
+ * The feature id for the 'Copyright' containment reference.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TNS_DOC__COPYRIGHT = TCOPYRIGHTED__COPYRIGHT;
+
+ /**
+ * The feature id for the 'Doc' containment reference list.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TNS_DOC__DOC = TCOPYRIGHTED_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the 'Id' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TNS_DOC__ID = TCOPYRIGHTED_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the 'Lang' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TNS_DOC__LANG = TCOPYRIGHTED_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the 'Publication Stage' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TNS_DOC__PUBLICATION_STAGE = TCOPYRIGHTED_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the 'Release' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TNS_DOC__RELEASE = TCOPYRIGHTED_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the 'Revision' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TNS_DOC__REVISION = TCOPYRIGHTED_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the 'Uml Date' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TNS_DOC__UML_DATE = TCOPYRIGHTED_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the 'Uml Version' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TNS_DOC__UML_VERSION = TCOPYRIGHTED_FEATURE_COUNT + 7;
+
+ /**
+ * The feature id for the 'Version' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TNS_DOC__VERSION = TCOPYRIGHTED_FEATURE_COUNT + 8;
+
+ /**
+ * The number of structural features of the 'TNS Doc' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TNS_DOC_FEATURE_COUNT = TCOPYRIGHTED_FEATURE_COUNT + 9;
+
+ /**
+ * The number of operations of the 'TNS Doc' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TNS_DOC_OPERATION_COUNT = TCOPYRIGHTED_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TPresenceConditionImpl TPresence Condition}' class.
+ *
+ *
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TPresenceConditionImpl
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getTPresenceCondition()
+ * @generated
+ */
+ int TPRESENCE_CONDITION = 35;
+
+ /**
+ * The feature id for the 'Argument' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TPRESENCE_CONDITION__ARGUMENT = 0;
+
+ /**
+ * The feature id for the 'Desc ID' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TPRESENCE_CONDITION__DESC_ID = 1;
+
+ /**
+ * The feature id for the 'Name' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TPRESENCE_CONDITION__NAME = 2;
+
+ /**
+ * The feature id for the 'Title ID' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TPRESENCE_CONDITION__TITLE_ID = 3;
+
+ /**
+ * The number of structural features of the 'TPresence Condition' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TPRESENCE_CONDITION_FEATURE_COUNT = 4;
+
+ /**
+ * The number of operations of the 'TPresence Condition' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TPRESENCE_CONDITION_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TPresenceConditionsImpl TPresence Conditions}' class.
+ *
+ *
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TPresenceConditionsImpl
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getTPresenceConditions()
+ * @generated
+ */
+ int TPRESENCE_CONDITIONS = 36;
+
+ /**
+ * The feature id for the 'Presence Condition' containment reference list.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TPRESENCE_CONDITIONS__PRESENCE_CONDITION = 0;
+
+ /**
+ * The number of structural features of the 'TPresence Conditions' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TPRESENCE_CONDITIONS_FEATURE_COUNT = 1;
+
+ /**
+ * The number of operations of the 'TPresence Conditions' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TPRESENCE_CONDITIONS_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TServiceCDCImpl TService CDC}' class.
+ *
+ *
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TServiceCDCImpl
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getTServiceCDC()
+ * @generated
+ */
+ int TSERVICE_CDC = 37;
+
+ /**
+ * The feature id for the 'Service Data Attribute' containment reference list.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSERVICE_CDC__SERVICE_DATA_ATTRIBUTE = 0;
+
+ /**
+ * The feature id for the 'Cdc' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSERVICE_CDC__CDC = 1;
+
+ /**
+ * The feature id for the 'Variant' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSERVICE_CDC__VARIANT = 2;
+
+ /**
+ * The number of structural features of the 'TService CDC' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSERVICE_CDC_FEATURE_COUNT = 3;
+
+ /**
+ * The number of operations of the 'TService CDC' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSERVICE_CDC_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TServiceCDCsImpl TService CD Cs}' class.
+ *
+ *
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TServiceCDCsImpl
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getTServiceCDCs()
+ * @generated
+ */
+ int TSERVICE_CD_CS = 38;
+
+ /**
+ * The feature id for the 'Service CDC' containment reference list.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSERVICE_CD_CS__SERVICE_CDC = 0;
+
+ /**
+ * The number of structural features of the 'TService CD Cs' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSERVICE_CD_CS_FEATURE_COUNT = 1;
+
+ /**
+ * The number of operations of the 'TService CD Cs' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSERVICE_CD_CS_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TServiceConstructedAttributeImpl TService Constructed Attribute}' class.
+ *
+ *
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TServiceConstructedAttributeImpl
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getTServiceConstructedAttribute()
+ * @generated
+ */
+ int TSERVICE_CONSTRUCTED_ATTRIBUTE = 39;
+
+ /**
+ * The feature id for the 'Deprecated' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSERVICE_CONSTRUCTED_ATTRIBUTE__DEPRECATED = TCONSTRUCTED_ATTRIBUTE__DEPRECATED;
+
+ /**
+ * The feature id for the 'Desc ID' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSERVICE_CONSTRUCTED_ATTRIBUTE__DESC_ID = TCONSTRUCTED_ATTRIBUTE__DESC_ID;
+
+ /**
+ * The feature id for the 'Informative' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSERVICE_CONSTRUCTED_ATTRIBUTE__INFORMATIVE = TCONSTRUCTED_ATTRIBUTE__INFORMATIVE;
+
+ /**
+ * The feature id for the 'Title ID' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSERVICE_CONSTRUCTED_ATTRIBUTE__TITLE_ID = TCONSTRUCTED_ATTRIBUTE__TITLE_ID;
+
+ /**
+ * The feature id for the 'Sub Data Attribute' containment reference list.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSERVICE_CONSTRUCTED_ATTRIBUTE__SUB_DATA_ATTRIBUTE = TCONSTRUCTED_ATTRIBUTE__SUB_DATA_ATTRIBUTE;
+
+ /**
+ * The feature id for the 'Name' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSERVICE_CONSTRUCTED_ATTRIBUTE__NAME = TCONSTRUCTED_ATTRIBUTE__NAME;
+
+ /**
+ * The feature id for the 'Type Kind Parameterized' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSERVICE_CONSTRUCTED_ATTRIBUTE__TYPE_KIND_PARAMETERIZED = TCONSTRUCTED_ATTRIBUTE_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the 'TService Constructed Attribute' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSERVICE_CONSTRUCTED_ATTRIBUTE_FEATURE_COUNT = TCONSTRUCTED_ATTRIBUTE_FEATURE_COUNT + 1;
+
+ /**
+ * The number of operations of the 'TService Constructed Attribute' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSERVICE_CONSTRUCTED_ATTRIBUTE_OPERATION_COUNT = TCONSTRUCTED_ATTRIBUTE_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TServiceConstructedAttributesImpl TService Constructed Attributes}' class.
+ *
+ *
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TServiceConstructedAttributesImpl
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getTServiceConstructedAttributes()
+ * @generated
+ */
+ int TSERVICE_CONSTRUCTED_ATTRIBUTES = 40;
+
+ /**
+ * The feature id for the 'Service Constructed Attribute' containment reference list.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSERVICE_CONSTRUCTED_ATTRIBUTES__SERVICE_CONSTRUCTED_ATTRIBUTE = 0;
+
+ /**
+ * The number of structural features of the 'TService Constructed Attributes' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSERVICE_CONSTRUCTED_ATTRIBUTES_FEATURE_COUNT = 1;
+
+ /**
+ * The number of operations of the 'TService Constructed Attributes' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSERVICE_CONSTRUCTED_ATTRIBUTES_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TServiceDataAttributeImpl TService Data Attribute}' class.
+ *
+ *
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TServiceDataAttributeImpl
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getTServiceDataAttribute()
+ * @generated
+ */
+ int TSERVICE_DATA_ATTRIBUTE = 41;
+
+ /**
+ * The feature id for the 'Deprecated' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSERVICE_DATA_ATTRIBUTE__DEPRECATED = TDOCUMENTED_CLASS__DEPRECATED;
+
+ /**
+ * The feature id for the 'Desc ID' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSERVICE_DATA_ATTRIBUTE__DESC_ID = TDOCUMENTED_CLASS__DESC_ID;
+
+ /**
+ * The feature id for the 'Informative' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSERVICE_DATA_ATTRIBUTE__INFORMATIVE = TDOCUMENTED_CLASS__INFORMATIVE;
+
+ /**
+ * The feature id for the 'Fc' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSERVICE_DATA_ATTRIBUTE__FC = TDOCUMENTED_CLASS_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the 'Name' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSERVICE_DATA_ATTRIBUTE__NAME = TDOCUMENTED_CLASS_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the 'Pres Cond' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSERVICE_DATA_ATTRIBUTE__PRES_COND = TDOCUMENTED_CLASS_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the 'Pres Cond Args' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSERVICE_DATA_ATTRIBUTE__PRES_COND_ARGS = TDOCUMENTED_CLASS_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the 'Pres Cond Args ID' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSERVICE_DATA_ATTRIBUTE__PRES_COND_ARGS_ID = TDOCUMENTED_CLASS_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the 'Type' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSERVICE_DATA_ATTRIBUTE__TYPE = TDOCUMENTED_CLASS_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the 'Type Kind' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSERVICE_DATA_ATTRIBUTE__TYPE_KIND = TDOCUMENTED_CLASS_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the 'Underlying Type' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSERVICE_DATA_ATTRIBUTE__UNDERLYING_TYPE = TDOCUMENTED_CLASS_FEATURE_COUNT + 7;
+
+ /**
+ * The feature id for the 'Underlying Type Kind' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSERVICE_DATA_ATTRIBUTE__UNDERLYING_TYPE_KIND = TDOCUMENTED_CLASS_FEATURE_COUNT + 8;
+
+ /**
+ * The number of structural features of the 'TService Data Attribute' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSERVICE_DATA_ATTRIBUTE_FEATURE_COUNT = TDOCUMENTED_CLASS_FEATURE_COUNT + 9;
+
+ /**
+ * The number of operations of the 'TService Data Attribute' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSERVICE_DATA_ATTRIBUTE_OPERATION_COUNT = TDOCUMENTED_CLASS_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TServiceNSImpl TService NS}' class.
+ *
+ *
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TServiceNSImpl
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getTServiceNS()
+ * @generated
+ */
+ int TSERVICE_NS = 42;
+
+ /**
+ * The feature id for the 'Copyright' containment reference.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSERVICE_NS__COPYRIGHT = TCOPYRIGHTED__COPYRIGHT;
+
+ /**
+ * The feature id for the 'Changes' containment reference.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSERVICE_NS__CHANGES = TCOPYRIGHTED_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the 'Functional Constraints' containment reference.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSERVICE_NS__FUNCTIONAL_CONSTRAINTS = TCOPYRIGHTED_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the 'Presence Conditions' containment reference.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSERVICE_NS__PRESENCE_CONDITIONS = TCOPYRIGHTED_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the 'Abbreviations' containment reference.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSERVICE_NS__ABBREVIATIONS = TCOPYRIGHTED_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the 'Service Type Realizations' containment reference.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSERVICE_NS__SERVICE_TYPE_REALIZATIONS = TCOPYRIGHTED_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the 'Service Constructed Attributes' containment reference.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSERVICE_NS__SERVICE_CONSTRUCTED_ATTRIBUTES = TCOPYRIGHTED_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the 'Service CD Cs' containment reference.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSERVICE_NS__SERVICE_CD_CS = TCOPYRIGHTED_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the 'Desc ID' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSERVICE_NS__DESC_ID = TCOPYRIGHTED_FEATURE_COUNT + 7;
+
+ /**
+ * The feature id for the 'Id' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSERVICE_NS__ID = TCOPYRIGHTED_FEATURE_COUNT + 8;
+
+ /**
+ * The feature id for the 'Publication Stage' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSERVICE_NS__PUBLICATION_STAGE = TCOPYRIGHTED_FEATURE_COUNT + 9;
+
+ /**
+ * The feature id for the 'Release' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSERVICE_NS__RELEASE = TCOPYRIGHTED_FEATURE_COUNT + 10;
+
+ /**
+ * The feature id for the 'Revision' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSERVICE_NS__REVISION = TCOPYRIGHTED_FEATURE_COUNT + 11;
+
+ /**
+ * The feature id for the 'Uml Date' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSERVICE_NS__UML_DATE = TCOPYRIGHTED_FEATURE_COUNT + 12;
+
+ /**
+ * The feature id for the 'Uml Version' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSERVICE_NS__UML_VERSION = TCOPYRIGHTED_FEATURE_COUNT + 13;
+
+ /**
+ * The feature id for the 'Version' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSERVICE_NS__VERSION = TCOPYRIGHTED_FEATURE_COUNT + 14;
+
+ /**
+ * The number of structural features of the 'TService NS' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSERVICE_NS_FEATURE_COUNT = TCOPYRIGHTED_FEATURE_COUNT + 15;
+
+ /**
+ * The number of operations of the 'TService NS' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSERVICE_NS_OPERATION_COUNT = TCOPYRIGHTED_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TServiceNsUsageImpl TService Ns Usage}' class.
+ *
+ *
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TServiceNsUsageImpl
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getTServiceNsUsage()
+ * @generated
+ */
+ int TSERVICE_NS_USAGE = 43;
+
+ /**
+ * The feature id for the 'Applies To' containment reference list.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSERVICE_NS_USAGE__APPLIES_TO = 0;
+
+ /**
+ * The feature id for the 'Id' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSERVICE_NS_USAGE__ID = 1;
+
+ /**
+ * The feature id for the 'Publication Stage' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSERVICE_NS_USAGE__PUBLICATION_STAGE = 2;
+
+ /**
+ * The feature id for the 'Release' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSERVICE_NS_USAGE__RELEASE = 3;
+
+ /**
+ * The feature id for the 'Revision' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSERVICE_NS_USAGE__REVISION = 4;
+
+ /**
+ * The feature id for the 'Version' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSERVICE_NS_USAGE__VERSION = 5;
+
+ /**
+ * The number of structural features of the 'TService Ns Usage' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSERVICE_NS_USAGE_FEATURE_COUNT = 6;
+
+ /**
+ * The number of operations of the 'TService Ns Usage' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSERVICE_NS_USAGE_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TServiceParameterImpl TService Parameter}' class.
+ *
+ *
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TServiceParameterImpl
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getTServiceParameter()
+ * @generated
+ */
+ int TSERVICE_PARAMETER = 44;
+
+ /**
+ * The feature id for the 'Deprecated' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSERVICE_PARAMETER__DEPRECATED = TDOCUMENTED_CLASS__DEPRECATED;
+
+ /**
+ * The feature id for the 'Desc ID' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSERVICE_PARAMETER__DESC_ID = TDOCUMENTED_CLASS__DESC_ID;
+
+ /**
+ * The feature id for the 'Informative' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSERVICE_PARAMETER__INFORMATIVE = TDOCUMENTED_CLASS__INFORMATIVE;
+
+ /**
+ * The feature id for the 'Default Value' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSERVICE_PARAMETER__DEFAULT_VALUE = TDOCUMENTED_CLASS_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the 'Max Value' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSERVICE_PARAMETER__MAX_VALUE = TDOCUMENTED_CLASS_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the 'Min Value' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSERVICE_PARAMETER__MIN_VALUE = TDOCUMENTED_CLASS_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the 'Name' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSERVICE_PARAMETER__NAME = TDOCUMENTED_CLASS_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the 'Type' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSERVICE_PARAMETER__TYPE = TDOCUMENTED_CLASS_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the 'Type Kind' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSERVICE_PARAMETER__TYPE_KIND = TDOCUMENTED_CLASS_FEATURE_COUNT + 5;
+
+ /**
+ * The number of structural features of the 'TService Parameter' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSERVICE_PARAMETER_FEATURE_COUNT = TDOCUMENTED_CLASS_FEATURE_COUNT + 6;
+
+ /**
+ * The number of operations of the 'TService Parameter' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSERVICE_PARAMETER_OPERATION_COUNT = TDOCUMENTED_CLASS_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TServiceTypeRealizationImpl TService Type Realization}' class.
+ *
+ *
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TServiceTypeRealizationImpl
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getTServiceTypeRealization()
+ * @generated
+ */
+ int TSERVICE_TYPE_REALIZATION = 45;
+
+ /**
+ * The feature id for the 'Fc' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSERVICE_TYPE_REALIZATION__FC = 0;
+
+ /**
+ * The feature id for the 'Name' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSERVICE_TYPE_REALIZATION__NAME = 1;
+
+ /**
+ * The feature id for the 'Pres Cond' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSERVICE_TYPE_REALIZATION__PRES_COND = 2;
+
+ /**
+ * The feature id for the 'Pres Cond Args' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSERVICE_TYPE_REALIZATION__PRES_COND_ARGS = 3;
+
+ /**
+ * The feature id for the 'Pres Cond Args ID' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSERVICE_TYPE_REALIZATION__PRES_COND_ARGS_ID = 4;
+
+ /**
+ * The feature id for the 'Type' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSERVICE_TYPE_REALIZATION__TYPE = 5;
+
+ /**
+ * The feature id for the 'Type Kind' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSERVICE_TYPE_REALIZATION__TYPE_KIND = 6;
+
+ /**
+ * The number of structural features of the 'TService Type Realization' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSERVICE_TYPE_REALIZATION_FEATURE_COUNT = 7;
+
+ /**
+ * The number of operations of the 'TService Type Realization' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSERVICE_TYPE_REALIZATION_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TServiceTypeRealizationsImpl TService Type Realizations}' class.
+ *
+ *
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TServiceTypeRealizationsImpl
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getTServiceTypeRealizations()
+ * @generated
+ */
+ int TSERVICE_TYPE_REALIZATIONS = 46;
+
+ /**
+ * The feature id for the 'Service Type Realization' containment reference list.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSERVICE_TYPE_REALIZATIONS__SERVICE_TYPE_REALIZATION = 0;
+
+ /**
+ * The number of structural features of the 'TService Type Realizations' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSERVICE_TYPE_REALIZATIONS_FEATURE_COUNT = 1;
+
+ /**
+ * The number of operations of the 'TService Type Realizations' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSERVICE_TYPE_REALIZATIONS_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TSubDataAttributeImpl TSub Data Attribute}' class.
+ *
+ *
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TSubDataAttributeImpl
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getTSubDataAttribute()
+ * @generated
+ */
+ int TSUB_DATA_ATTRIBUTE = 47;
+
+ /**
+ * The feature id for the 'Deprecated' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSUB_DATA_ATTRIBUTE__DEPRECATED = TDOCUMENTED_CLASS__DEPRECATED;
+
+ /**
+ * The feature id for the 'Desc ID' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSUB_DATA_ATTRIBUTE__DESC_ID = TDOCUMENTED_CLASS__DESC_ID;
+
+ /**
+ * The feature id for the 'Informative' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSUB_DATA_ATTRIBUTE__INFORMATIVE = TDOCUMENTED_CLASS__INFORMATIVE;
+
+ /**
+ * The feature id for the 'Default Value' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSUB_DATA_ATTRIBUTE__DEFAULT_VALUE = TDOCUMENTED_CLASS_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the 'Is Array' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSUB_DATA_ATTRIBUTE__IS_ARRAY = TDOCUMENTED_CLASS_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the 'Max Index Attribute' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSUB_DATA_ATTRIBUTE__MAX_INDEX_ATTRIBUTE = TDOCUMENTED_CLASS_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the 'Max Value' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSUB_DATA_ATTRIBUTE__MAX_VALUE = TDOCUMENTED_CLASS_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the 'Min Index' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSUB_DATA_ATTRIBUTE__MIN_INDEX = TDOCUMENTED_CLASS_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the 'Min Value' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSUB_DATA_ATTRIBUTE__MIN_VALUE = TDOCUMENTED_CLASS_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the 'Name' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSUB_DATA_ATTRIBUTE__NAME = TDOCUMENTED_CLASS_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the 'Pres Cond' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSUB_DATA_ATTRIBUTE__PRES_COND = TDOCUMENTED_CLASS_FEATURE_COUNT + 7;
+
+ /**
+ * The feature id for the 'Pres Cond Args' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSUB_DATA_ATTRIBUTE__PRES_COND_ARGS = TDOCUMENTED_CLASS_FEATURE_COUNT + 8;
+
+ /**
+ * The feature id for the 'Pres Cond Args ID' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSUB_DATA_ATTRIBUTE__PRES_COND_ARGS_ID = TDOCUMENTED_CLASS_FEATURE_COUNT + 9;
+
+ /**
+ * The feature id for the 'Size Attribute' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSUB_DATA_ATTRIBUTE__SIZE_ATTRIBUTE = TDOCUMENTED_CLASS_FEATURE_COUNT + 10;
+
+ /**
+ * The feature id for the 'Type' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSUB_DATA_ATTRIBUTE__TYPE = TDOCUMENTED_CLASS_FEATURE_COUNT + 11;
+
+ /**
+ * The feature id for the 'Type Kind' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSUB_DATA_ATTRIBUTE__TYPE_KIND = TDOCUMENTED_CLASS_FEATURE_COUNT + 12;
+
+ /**
+ * The number of structural features of the 'TSub Data Attribute' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSUB_DATA_ATTRIBUTE_FEATURE_COUNT = TDOCUMENTED_CLASS_FEATURE_COUNT + 13;
+
+ /**
+ * The number of operations of the 'TSub Data Attribute' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSUB_DATA_ATTRIBUTE_OPERATION_COUNT = TDOCUMENTED_CLASS_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TSubDataObjectImpl TSub Data Object}' class.
+ *
+ *
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TSubDataObjectImpl
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getTSubDataObject()
+ * @generated
+ */
+ int TSUB_DATA_OBJECT = 48;
+
+ /**
+ * The feature id for the 'Deprecated' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSUB_DATA_OBJECT__DEPRECATED = TDOCUMENTED_CLASS__DEPRECATED;
+
+ /**
+ * The feature id for the 'Desc ID' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSUB_DATA_OBJECT__DESC_ID = TDOCUMENTED_CLASS__DESC_ID;
+
+ /**
+ * The feature id for the 'Informative' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSUB_DATA_OBJECT__INFORMATIVE = TDOCUMENTED_CLASS__INFORMATIVE;
+
+ /**
+ * The feature id for the 'Is Array' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSUB_DATA_OBJECT__IS_ARRAY = TDOCUMENTED_CLASS_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the 'Max Index Attribute' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSUB_DATA_OBJECT__MAX_INDEX_ATTRIBUTE = TDOCUMENTED_CLASS_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the 'Min Index' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSUB_DATA_OBJECT__MIN_INDEX = TDOCUMENTED_CLASS_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the 'Name' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSUB_DATA_OBJECT__NAME = TDOCUMENTED_CLASS_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the 'Pres Cond' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSUB_DATA_OBJECT__PRES_COND = TDOCUMENTED_CLASS_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the 'Pres Cond Args' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSUB_DATA_OBJECT__PRES_COND_ARGS = TDOCUMENTED_CLASS_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the 'Pres Cond Args ID' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSUB_DATA_OBJECT__PRES_COND_ARGS_ID = TDOCUMENTED_CLASS_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the 'Size Attribute' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSUB_DATA_OBJECT__SIZE_ATTRIBUTE = TDOCUMENTED_CLASS_FEATURE_COUNT + 7;
+
+ /**
+ * The feature id for the 'Type' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSUB_DATA_OBJECT__TYPE = TDOCUMENTED_CLASS_FEATURE_COUNT + 8;
+
+ /**
+ * The feature id for the 'Underlying Type' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSUB_DATA_OBJECT__UNDERLYING_TYPE = TDOCUMENTED_CLASS_FEATURE_COUNT + 9;
+
+ /**
+ * The feature id for the 'Underlying Type Kind' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSUB_DATA_OBJECT__UNDERLYING_TYPE_KIND = TDOCUMENTED_CLASS_FEATURE_COUNT + 10;
+
+ /**
+ * The number of structural features of the 'TSub Data Object' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSUB_DATA_OBJECT_FEATURE_COUNT = TDOCUMENTED_CLASS_FEATURE_COUNT + 11;
+
+ /**
+ * The number of operations of the 'TSub Data Object' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TSUB_DATA_OBJECT_OPERATION_COUNT = TDOCUMENTED_CLASS_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TACSIServicesKind TACSI Services Kind}' enum.
+ *
+ *
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.TACSIServicesKind
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getTACSIServicesKind()
+ * @generated
+ */
+ int TACSI_SERVICES_KIND = 50;
+
+ /**
+ * The meta object id for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TCBKind TCB Kind}' enum.
+ *
+ *
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.TCBKind
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getTCBKind()
+ * @generated
+ */
+ int TCB_KIND = 51;
+
+ /**
+ * The meta object id for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TDefinedAttributeTypeKind TDefined Attribute Type Kind}' enum.
+ *
+ *
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.TDefinedAttributeTypeKind
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getTDefinedAttributeTypeKind()
+ * @generated
+ */
+ int TDEFINED_ATTRIBUTE_TYPE_KIND = 52;
+
+ /**
+ * The meta object id for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TLicenseKind TLicense Kind}' enum.
+ *
+ *
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.TLicenseKind
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getTLicenseKind()
+ * @generated
+ */
+ int TLICENSE_KIND = 53;
+
+ /**
+ * The meta object id for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TPubStage TPub Stage}' enum.
+ *
+ *
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.TPubStage
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getTPubStage()
+ * @generated
+ */
+ int TPUB_STAGE = 54;
+
+ /**
+ * The meta object id for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TUndefinedAttributeTypeKind TUndefined Attribute Type Kind}' enum.
+ *
+ *
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.TUndefinedAttributeTypeKind
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getTUndefinedAttributeTypeKind()
+ * @generated
+ */
+ int TUNDEFINED_ATTRIBUTE_TYPE_KIND = 55;
+
+ /**
+ * The meta object id for the 'TAbbreviation Name' data type.
+ *
+ *
+ * @see java.lang.String
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getTAbbreviationName()
+ * @generated
+ */
+ int TABBREVIATION_NAME = 56;
+
+ /**
+ * The meta object id for the 'TAbstract LN Class Name' data type.
+ *
+ *
+ * @see java.lang.String
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getTAbstractLNClassName()
+ * @generated
+ */
+ int TABSTRACT_LN_CLASS_NAME = 57;
+
+ /**
+ * The meta object id for the 'TACSI Services Kind Object' data type.
+ *
+ *
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.TACSIServicesKind
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getTACSIServicesKindObject()
+ * @generated
+ */
+ int TACSI_SERVICES_KIND_OBJECT = 58;
+
+ /**
+ * The meta object id for the 'TAttribute Name' data type.
+ *
+ *
+ * @see java.lang.String
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getTAttributeName()
+ * @generated
+ */
+ int TATTRIBUTE_NAME = 59;
+
+ /**
+ * The meta object id for the 'TAttribute Type Kind' data type.
+ *
+ *
+ * @see org.eclipse.emf.common.util.Enumerator
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getTAttributeTypeKind()
+ * @generated
+ */
+ int TATTRIBUTE_TYPE_KIND = 60;
+
+ /**
+ * The meta object id for the 'TBasic Type Name' data type.
+ *
+ *
+ * @see java.lang.String
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getTBasicTypeName()
+ * @generated
+ */
+ int TBASIC_TYPE_NAME = 61;
+
+ /**
+ * The meta object id for the 'TCB Kind Object' data type.
+ *
+ *
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.TCBKind
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getTCBKindObject()
+ * @generated
+ */
+ int TCB_KIND_OBJECT = 62;
+
+ /**
+ * The meta object id for the 'TCDC Name' data type.
+ *
+ *
+ * @see java.lang.String
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getTCDCName()
+ * @generated
+ */
+ int TCDC_NAME = 63;
+
+ /**
+ * The meta object id for the 'TData Object Name' data type.
+ *
+ *
+ * @see java.lang.String
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getTDataObjectName()
+ * @generated
+ */
+ int TDATA_OBJECT_NAME = 64;
+
+ /**
+ * The meta object id for the 'TDefined Attribute Type Kind Object' data type.
+ *
+ *
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.TDefinedAttributeTypeKind
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getTDefinedAttributeTypeKindObject()
+ * @generated
+ */
+ int TDEFINED_ATTRIBUTE_TYPE_KIND_OBJECT = 65;
+
+ /**
+ * The meta object id for the 'TDoc ID' data type.
+ *
+ *
+ * @see java.lang.String
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getTDocID()
+ * @generated
+ */
+ int TDOC_ID = 66;
+
+ /**
+ * The meta object id for the 'TEmpty String' data type.
+ *
+ *
+ * @see java.lang.String
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getTEmptyString()
+ * @generated
+ */
+ int TEMPTY_STRING = 67;
+
+ /**
+ * The meta object id for the 'TFC Abbreviation' data type.
+ *
+ *
+ * @see java.lang.String
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getTFCAbbreviation()
+ * @generated
+ */
+ int TFC_ABBREVIATION = 68;
+
+ /**
+ * The meta object id for the 'TIec61850 Name' data type.
+ *
+ *
+ * @see java.lang.String
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getTIec61850Name()
+ * @generated
+ */
+ int TIEC61850_NAME = 69;
+
+ /**
+ * The meta object id for the 'TIec61850 Name String' data type.
+ *
+ *
+ * @see java.lang.String
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getTIec61850NameString()
+ * @generated
+ */
+ int TIEC61850_NAME_STRING = 70;
+
+ /**
+ * The meta object id for the 'Tissues Type' data type.
+ *
+ *
+ * @see java.lang.String
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getTissuesType()
+ * @generated
+ */
+ int TISSUES_TYPE = 71;
+
+ /**
+ * The meta object id for the 'TLicense Kind Object' data type.
+ *
+ *
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.TLicenseKind
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getTLicenseKindObject()
+ * @generated
+ */
+ int TLICENSE_KIND_OBJECT = 72;
+
+ /**
+ * The meta object id for the 'TLiteral Name' data type.
+ *
+ *
+ * @see java.lang.String
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getTLiteralName()
+ * @generated
+ */
+ int TLITERAL_NAME = 73;
+
+ /**
+ * The meta object id for the 'TLN Class Name' data type.
+ *
+ *
+ * @see java.lang.String
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getTLNClassName()
+ * @generated
+ */
+ int TLN_CLASS_NAME = 74;
+
+ /**
+ * The meta object id for the 'TNS Identifier' data type.
+ *
+ *
+ * @see java.lang.String
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getTNSIdentifier()
+ * @generated
+ */
+ int TNS_IDENTIFIER = 75;
+
+ /**
+ * The meta object id for the 'TNS Release' data type.
+ *
+ *
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getTNSRelease()
+ * @generated
+ */
+ int TNS_RELEASE = 76;
+
+ /**
+ * The meta object id for the 'TNS Release Object' data type.
+ *
+ *
+ * @see java.lang.Short
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getTNSReleaseObject()
+ * @generated
+ */
+ int TNS_RELEASE_OBJECT = 77;
+
+ /**
+ * The meta object id for the 'TNS Revision' data type.
+ *
+ *
+ * @see java.lang.String
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getTNSRevision()
+ * @generated
+ */
+ int TNS_REVISION = 78;
+
+ /**
+ * The meta object id for the 'TNS Version' data type.
+ *
+ *
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getTNSVersion()
+ * @generated
+ */
+ int TNS_VERSION = 79;
+
+ /**
+ * The meta object id for the 'TNS Version Object' data type.
+ *
+ *
+ * @see java.lang.Integer
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getTNSVersionObject()
+ * @generated
+ */
+ int TNS_VERSION_OBJECT = 80;
+
+ /**
+ * The meta object id for the 'TPresence Condition Argument' data type.
+ *
+ *
+ * @see java.lang.String
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getTPresenceConditionArgument()
+ * @generated
+ */
+ int TPRESENCE_CONDITION_ARGUMENT = 81;
+
+ /**
+ * The meta object id for the 'TPresence Condition Name' data type.
+ *
+ *
+ * @see java.lang.String
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getTPresenceConditionName()
+ * @generated
+ */
+ int TPRESENCE_CONDITION_NAME = 82;
+
+ /**
+ * The meta object id for the 'TPub Stage Object' data type.
+ *
+ *
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.TPubStage
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getTPubStageObject()
+ * @generated
+ */
+ int TPUB_STAGE_OBJECT = 83;
+
+ /**
+ * The meta object id for the 'TSub Data Object Name' data type.
+ *
+ *
+ * @see java.lang.String
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getTSubDataObjectName()
+ * @generated
+ */
+ int TSUB_DATA_OBJECT_NAME = 84;
+
+ /**
+ * The meta object id for the 'TUML Version' data type.
+ *
+ *
+ * @see java.lang.String
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getTUMLVersion()
+ * @generated
+ */
+ int TUML_VERSION = 85;
+
+ /**
+ * The meta object id for the 'TUndefined Attribute Type Kind Object' data type.
+ *
+ *
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.TUndefinedAttributeTypeKind
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getTUndefinedAttributeTypeKindObject()
+ * @generated
+ */
+ int TUNDEFINED_ATTRIBUTE_TYPE_KIND_OBJECT = 86;
+
+ /**
+ * Returns the meta object for class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.AppliesToType Applies To Type}'.
+ *
+ *
+ * @return the meta object for class 'Applies To Type'.
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.AppliesToType
+ * @generated
+ */
+ EClass getAppliesToType();
+
+ /**
+ * Returns the meta object for the attribute '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.AppliesToType#getId Id}'.
+ *
+ *
+ * @return the meta object for the attribute 'Id'.
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.AppliesToType#getId()
+ * @see #getAppliesToType()
+ * @generated
+ */
+ EAttribute getAppliesToType_Id();
+
+ /**
+ * Returns the meta object for the attribute '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.AppliesToType#getPublicationStage Publication Stage}'.
+ *
+ *
+ * @return the meta object for the attribute 'Publication Stage'.
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.AppliesToType#getPublicationStage()
+ * @see #getAppliesToType()
+ * @generated
+ */
+ EAttribute getAppliesToType_PublicationStage();
+
+ /**
+ * Returns the meta object for the attribute '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.AppliesToType#getRelease Release}'.
+ *
+ *
+ * @return the meta object for the attribute 'Release'.
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.AppliesToType#getRelease()
+ * @see #getAppliesToType()
+ * @generated
+ */
+ EAttribute getAppliesToType_Release();
+
+ /**
+ * Returns the meta object for the attribute '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.AppliesToType#getRevision Revision}'.
+ *
+ *
+ * @return the meta object for the attribute 'Revision'.
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.AppliesToType#getRevision()
+ * @see #getAppliesToType()
+ * @generated
+ */
+ EAttribute getAppliesToType_Revision();
+
+ /**
+ * Returns the meta object for the attribute '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.AppliesToType#getVersion Version}'.
+ *
+ *
+ * @return the meta object for the attribute 'Version'.
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.AppliesToType#getVersion()
+ * @see #getAppliesToType()
+ * @generated
+ */
+ EAttribute getAppliesToType_Version();
+
+ /**
+ * Returns the meta object for class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOnType Depends On Type}'.
+ *
+ *
+ * @return the meta object for class 'Depends On Type'.
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOnType
+ * @generated
+ */
+ EClass getDependsOnType();
+
+ /**
+ * Returns the meta object for the attribute '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOnType#getId Id}'.
+ *
+ *
+ * @return the meta object for the attribute 'Id'.
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOnType#getId()
+ * @see #getDependsOnType()
+ * @generated
+ */
+ EAttribute getDependsOnType_Id();
+
+ /**
+ * Returns the meta object for the attribute '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOnType#getPublicationStage Publication Stage}'.
+ *
+ *
+ * @return the meta object for the attribute 'Publication Stage'.
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOnType#getPublicationStage()
+ * @see #getDependsOnType()
+ * @generated
+ */
+ EAttribute getDependsOnType_PublicationStage();
+
+ /**
+ * Returns the meta object for the attribute '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOnType#getRelease Release}'.
+ *
+ *
+ * @return the meta object for the attribute 'Release'.
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOnType#getRelease()
+ * @see #getDependsOnType()
+ * @generated
+ */
+ EAttribute getDependsOnType_Release();
+
+ /**
+ * Returns the meta object for the attribute '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOnType#getRevision Revision}'.
+ *
+ *
+ * @return the meta object for the attribute 'Revision'.
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOnType#getRevision()
+ * @see #getDependsOnType()
+ * @generated
+ */
+ EAttribute getDependsOnType_Revision();
+
+ /**
+ * Returns the meta object for the attribute '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOnType#getVersion Version}'.
+ *
+ *
+ * @return the meta object for the attribute 'Version'.
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOnType#getVersion()
+ * @see #getDependsOnType()
+ * @generated
+ */
+ EAttribute getDependsOnType_Version();
+
+ /**
+ * Returns the meta object for class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DocumentRoot Document Root}'.
+ *
+ *
+ * @return the meta object for class 'Document Root'.
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.DocumentRoot
+ * @generated
+ */
+ EClass getDocumentRoot();
+
+ /**
+ * Returns the meta object for the attribute list '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DocumentRoot#getMixed Mixed}'.
+ *
+ *
+ * @return the meta object for the attribute list 'Mixed'.
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.DocumentRoot#getMixed()
+ * @see #getDocumentRoot()
+ * @generated
+ */
+ EAttribute getDocumentRoot_Mixed();
+
+ /**
+ * Returns the meta object for the map '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DocumentRoot#getXMLNSPrefixMap XMLNS Prefix Map}'.
+ *
+ *
+ * @return the meta object for the map 'XMLNS Prefix Map'.
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.DocumentRoot#getXMLNSPrefixMap()
+ * @see #getDocumentRoot()
+ * @generated
+ */
+ EReference getDocumentRoot_XMLNSPrefixMap();
+
+ /**
+ * Returns the meta object for the map '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DocumentRoot#getXSISchemaLocation XSI Schema Location}'.
+ *
+ *
+ * @return the meta object for the map 'XSI Schema Location'.
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.DocumentRoot#getXSISchemaLocation()
+ * @see #getDocumentRoot()
+ * @generated
+ */
+ EReference getDocumentRoot_XSISchemaLocation();
+
+ /**
+ * Returns the meta object for the containment reference '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DocumentRoot#getApplicableServiceNS Applicable Service NS}'.
+ *
+ *
+ * @return the meta object for the containment reference 'Applicable Service NS'.
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.DocumentRoot#getApplicableServiceNS()
+ * @see #getDocumentRoot()
+ * @generated
+ */
+ EReference getDocumentRoot_ApplicableServiceNS();
+
+ /**
+ * Returns the meta object for the containment reference '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DocumentRoot#getCopyright Copyright}'.
+ *
+ *
+ * @return the meta object for the containment reference 'Copyright'.
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.DocumentRoot#getCopyright()
+ * @see #getDocumentRoot()
+ * @generated
+ */
+ EReference getDocumentRoot_Copyright();
+
+ /**
+ * Returns the meta object for the containment reference '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DocumentRoot#getNS NS}'.
+ *
+ *
+ * @return the meta object for the containment reference 'NS'.
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.DocumentRoot#getNS()
+ * @see #getDocumentRoot()
+ * @generated
+ */
+ EReference getDocumentRoot_NS();
+
+ /**
+ * Returns the meta object for the containment reference '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DocumentRoot#getNSDoc NS Doc}'.
+ *
+ *
+ * @return the meta object for the containment reference 'NS Doc'.
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.DocumentRoot#getNSDoc()
+ * @see #getDocumentRoot()
+ * @generated
+ */
+ EReference getDocumentRoot_NSDoc();
+
+ /**
+ * Returns the meta object for the containment reference '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DocumentRoot#getServiceNS Service NS}'.
+ *
+ *
+ * @return the meta object for the containment reference 'Service NS'.
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.DocumentRoot#getServiceNS()
+ * @see #getDocumentRoot()
+ * @generated
+ */
+ EReference getDocumentRoot_ServiceNS();
+
+ /**
+ * Returns the meta object for class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceType Service Type}'.
+ *
+ *
+ * @return the meta object for class 'Service Type'.
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceType
+ * @generated
+ */
+ EClass getServiceType();
+
+ /**
+ * Returns the meta object for the attribute '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceType#getName Name}'.
+ *
+ *
+ * @return the meta object for the attribute 'Name'.
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceType#getName()
+ * @see #getServiceType()
+ * @generated
+ */
+ EAttribute getServiceType_Name();
+
+ /**
+ * Returns the meta object for class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TAbbreviation TAbbreviation}'.
+ *
+ *
+ * @return the meta object for class 'TAbbreviation'.
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.TAbbreviation
+ * @generated
+ */
+ EClass getTAbbreviation();
+
+ /**
+ * Returns the meta object for the attribute '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TAbbreviation#getDescID Desc ID}'.
+ *
+ *
+ * @return the meta object for the attribute 'Desc ID'.
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.TAbbreviation#getDescID()
+ * @see #getTAbbreviation()
+ * @generated
+ */
+ EAttribute getTAbbreviation_DescID();
+
+ /**
+ * Returns the meta object for the attribute '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TAbbreviation#getName Name}'.
+ *
+ *
+ * @return the meta object for the attribute 'Name'.
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.TAbbreviation#getName()
+ * @see #getTAbbreviation()
+ * @generated
+ */
+ EAttribute getTAbbreviation_Name();
+
+ /**
+ * Returns the meta object for class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TAbbreviations TAbbreviations}'.
+ *
+ *
+ * @return the meta object for class 'TAbbreviations'.
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.TAbbreviations
+ * @generated
+ */
+ EClass getTAbbreviations();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TAbbreviations#getAbbreviation Abbreviation}'.
+ *
+ *
+ * @return the meta object for the containment reference list 'Abbreviation'.
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.TAbbreviations#getAbbreviation()
+ * @see #getTAbbreviations()
+ * @generated
+ */
+ EReference getTAbbreviations_Abbreviation();
+
+ /**
+ * Returns the meta object for class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TAbstractLNClass TAbstract LN Class}'.
+ *
+ *
+ * @return the meta object for class 'TAbstract LN Class'.
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.TAbstractLNClass
+ * @generated
+ */
+ EClass getTAbstractLNClass();
+
+ /**
+ * Returns the meta object for the attribute '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TAbstractLNClass#getName Name}'.
+ *
+ *
+ * @return the meta object for the attribute 'Name'.
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.TAbstractLNClass#getName()
+ * @see #getTAbstractLNClass()
+ * @generated
+ */
+ EAttribute getTAbstractLNClass_Name();
+
+ /**
+ * Returns the meta object for class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TAnyLNClass TAny LN Class}'.
+ *
+ *
+ * @return the meta object for class 'TAny LN Class'.
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.TAnyLNClass
+ * @generated
+ */
+ EClass getTAnyLNClass();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TAnyLNClass#getDataObject Data Object}'.
+ *
+ *
+ * @return the meta object for the containment reference list 'Data Object'.
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.TAnyLNClass#getDataObject()
+ * @see #getTAnyLNClass()
+ * @generated
+ */
+ EReference getTAnyLNClass_DataObject();
+
+ /**
+ * Returns the meta object for the attribute '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TAnyLNClass#getBase Base}'.
+ *
+ *
+ * @return the meta object for the attribute 'Base'.
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.TAnyLNClass#getBase()
+ * @see #getTAnyLNClass()
+ * @generated
+ */
+ EAttribute getTAnyLNClass_Base();
+
+ /**
+ * Returns the meta object for class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TApplicableServiceNS TApplicable Service NS}'.
+ *
+ *
+ * @return the meta object for class 'TApplicable Service NS'.
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.TApplicableServiceNS
+ * @generated
+ */
+ EClass getTApplicableServiceNS();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TApplicableServiceNS#getServiceNsUsage Service Ns Usage}'.
+ *
+ *
+ * @return the meta object for the containment reference list 'Service Ns Usage'.
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.TApplicableServiceNS#getServiceNsUsage()
+ * @see #getTApplicableServiceNS()
+ * @generated
+ */
+ EReference getTApplicableServiceNS_ServiceNsUsage();
+
+ /**
+ * Returns the meta object for the attribute '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TApplicableServiceNS#getDate Date}'.
+ *
+ *
+ * @return the meta object for the attribute 'Date'.
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.TApplicableServiceNS#getDate()
+ * @see #getTApplicableServiceNS()
+ * @generated
+ */
+ EAttribute getTApplicableServiceNS_Date();
+
+ /**
+ * Returns the meta object for the attribute '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TApplicableServiceNS#getVersion Version}'.
+ *
+ *
+ * @return the meta object for the attribute 'Version'.
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.TApplicableServiceNS#getVersion()
+ * @see #getTApplicableServiceNS()
+ * @generated
+ */
+ EAttribute getTApplicableServiceNS_Version();
+
+ /**
+ * Returns the meta object for class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TApplicableServices TApplicable Services}'.
+ *
+ *
+ * @return the meta object for class 'TApplicable Services'.
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.TApplicableServices
+ * @generated
+ */
+ EClass getTApplicableServices();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TApplicableServices#getService Service}'.
+ *
+ *
+ * @return the meta object for the containment reference list 'Service'.
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.TApplicableServices#getService()
+ * @see #getTApplicableServices()
+ * @generated
+ */
+ EReference getTApplicableServices_Service();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TApplicableServices#getDataSetMemberOf Data Set Member Of}'.
+ *
+ *
+ * @return the meta object for the containment reference list 'Data Set Member Of'.
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.TApplicableServices#getDataSetMemberOf()
+ * @see #getTApplicableServices()
+ * @generated
+ */
+ EReference getTApplicableServices_DataSetMemberOf();
+
+ /**
+ * Returns the meta object for class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TBasicType TBasic Type}'.
+ *
+ *
+ * @return the meta object for class 'TBasic Type'.
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.TBasicType
+ * @generated
+ */
+ EClass getTBasicType();
+
+ /**
+ * Returns the meta object for the attribute '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TBasicType#getDescID Desc ID}'.
+ *
+ *
+ * @return the meta object for the attribute 'Desc ID'.
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.TBasicType#getDescID()
+ * @see #getTBasicType()
+ * @generated
+ */
+ EAttribute getTBasicType_DescID();
+
+ /**
+ * Returns the meta object for the attribute '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TBasicType#getName Name}'.
+ *
+ *
+ * @return the meta object for the attribute 'Name'.
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.TBasicType#getName()
+ * @see #getTBasicType()
+ * @generated
+ */
+ EAttribute getTBasicType_Name();
+
+ /**
+ * Returns the meta object for class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TBasicTypes TBasic Types}'.
+ *
+ *
+ * @return the meta object for class 'TBasic Types'.
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.TBasicTypes
+ * @generated
+ */
+ EClass getTBasicTypes();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TBasicTypes#getBasicType Basic Type}'.
+ *
+ *
+ * @return the meta object for the containment reference list 'Basic Type'.
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.TBasicTypes#getBasicType()
+ * @see #getTBasicTypes()
+ * @generated
+ */
+ EReference getTBasicTypes_BasicType();
+
+ /**
+ * Returns the meta object for class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TCDC TCDC}'.
+ *
+ *
+ * @return the meta object for class 'TCDC'.
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.TCDC
+ * @generated
+ */
+ EClass getTCDC();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TCDC#getSubDataObject Sub Data Object}'.
+ *
+ *
+ * @return the meta object for the containment reference list 'Sub Data Object'.
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.TCDC#getSubDataObject()
+ * @see #getTCDC()
+ * @generated
+ */
+ EReference getTCDC_SubDataObject();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TCDC#getDataAttribute Data Attribute}'.
+ *
+ *
+ * @return the meta object for the containment reference list 'Data Attribute'.
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.TCDC#getDataAttribute()
+ * @see #getTCDC()
+ * @generated
+ */
+ EReference getTCDC_DataAttribute();
+
+ /**
+ * Returns the meta object for the containment reference '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TCDC#getServiceParameter Service Parameter}'.
+ *
+ *
+ * @return the meta object for the containment reference 'Service Parameter'.
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.TCDC#getServiceParameter()
+ * @see #getTCDC()
+ * @generated
+ */
+ EReference getTCDC_ServiceParameter();
+
+ /**
+ * Returns the meta object for the attribute '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TCDC#isEnumParameterized Enum Parameterized}'.
+ *
+ *
+ * @return the meta object for the attribute 'Enum Parameterized'.
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.TCDC#isEnumParameterized()
+ * @see #getTCDC()
+ * @generated
+ */
+ EAttribute getTCDC_EnumParameterized();
+
+ /**
+ * Returns the meta object for the attribute '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TCDC#getName Name}'.
+ *
+ *
+ * @return the meta object for the attribute 'Name'.
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.TCDC#getName()
+ * @see #getTCDC()
+ * @generated
+ */
+ EAttribute getTCDC_Name();
+
+ /**
+ * Returns the meta object for the attribute '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TCDC#isStatistics Statistics}'.
+ *
+ *
+ * @return the meta object for the attribute 'Statistics'.
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.TCDC#isStatistics()
+ * @see #getTCDC()
+ * @generated
+ */
+ EAttribute getTCDC_Statistics();
+
+ /**
+ * Returns the meta object for the attribute '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TCDC#isTypeKindParameterized Type Kind Parameterized}'.
+ *
+ *
+ * @return the meta object for the attribute 'Type Kind Parameterized'.
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.TCDC#isTypeKindParameterized()
+ * @see #getTCDC()
+ * @generated
+ */
+ EAttribute getTCDC_TypeKindParameterized();
+
+ /**
+ * Returns the meta object for the attribute '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TCDC#getVariant Variant}'.
+ *
+ *
+ * @return the meta object for the attribute 'Variant'.
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.TCDC#getVariant()
+ * @see #getTCDC()
+ * @generated
+ */
+ EAttribute getTCDC_Variant();
+
+ /**
+ * Returns the meta object for class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TCDCs TCD Cs}'.
+ *
+ *
+ * @return the meta object for class 'TCD Cs'.
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.TCDCs
+ * @generated
+ */
+ EClass getTCDCs();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TCDCs#getCDC CDC}'.
+ *
+ *
+ * @return the meta object for the containment reference list 'CDC'.
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.TCDCs#getCDC()
+ * @see #getTCDCs()
+ * @generated
+ */
+ EReference getTCDCs_CDC();
+
+ /**
+ * Returns the meta object for class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TChanges TChanges}'.
+ *
+ *
+ * @return the meta object for class 'TChanges'.
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.TChanges
+ * @generated
+ */
+ EClass getTChanges();
+
+ /**
+ * Returns the meta object for the attribute '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TChanges#getChangesID Changes ID}'.
+ *
+ *
+ * @return the meta object for the attribute 'Changes ID'.
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.TChanges#getChangesID()
+ * @see #getTChanges()
+ * @generated
+ */
+ EAttribute getTChanges_ChangesID();
+
+ /**
+ * Returns the meta object for the attribute '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TChanges#getDate Date}'.
+ *
+ *
+ * @return the meta object for the attribute 'Date'.
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.TChanges#getDate()
+ * @see #getTChanges()
+ * @generated
+ */
+ EAttribute getTChanges_Date();
+
+ /**
+ * Returns the meta object for the attribute '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TChanges#getRelease Release}'.
+ *
+ *
+ * @return the meta object for the attribute 'Release'.
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.TChanges#getRelease()
+ * @see #getTChanges()
+ * @generated
+ */
+ EAttribute getTChanges_Release();
+
+ /**
+ * Returns the meta object for the attribute '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TChanges#getRevision Revision}'.
+ *
+ *
+ * @return the meta object for the attribute 'Revision'.
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.TChanges#getRevision()
+ * @see #getTChanges()
+ * @generated
+ */
+ EAttribute getTChanges_Revision();
+
+ /**
+ * Returns the meta object for the attribute '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TChanges#getTissues Tissues}'.
+ *
+ *
+ * @return the meta object for the attribute 'Tissues'.
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.TChanges#getTissues()
+ * @see #getTChanges()
+ * @generated
+ */
+ EAttribute getTChanges_Tissues();
+
+ /**
+ * Returns the meta object for the attribute '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TChanges#getVersion Version}'.
+ *
+ *
+ * @return the meta object for the attribute 'Version'.
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.TChanges#getVersion()
+ * @see #getTChanges()
+ * @generated
+ */
+ EAttribute getTChanges_Version();
+
+ /**
+ * Returns the meta object for class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TConstructedAttribute TConstructed Attribute}'.
+ *
+ *
+ * @return the meta object for class 'TConstructed Attribute'.
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.TConstructedAttribute
+ * @generated
+ */
+ EClass getTConstructedAttribute();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TConstructedAttribute#getSubDataAttribute Sub Data Attribute}'.
+ *
+ *
+ * @return the meta object for the containment reference list 'Sub Data Attribute'.
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.TConstructedAttribute#getSubDataAttribute()
+ * @see #getTConstructedAttribute()
+ * @generated
+ */
+ EReference getTConstructedAttribute_SubDataAttribute();
+
+ /**
+ * Returns the meta object for the attribute '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TConstructedAttribute#getName Name}'.
+ *
+ *
+ * @return the meta object for the attribute 'Name'.
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.TConstructedAttribute#getName()
+ * @see #getTConstructedAttribute()
+ * @generated
+ */
+ EAttribute getTConstructedAttribute_Name();
+
+ /**
+ * Returns the meta object for class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TConstructedAttributes TConstructed Attributes}'.
+ *
+ *
+ * @return the meta object for class 'TConstructed Attributes'.
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.TConstructedAttributes
+ * @generated
+ */
+ EClass getTConstructedAttributes();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TConstructedAttributes#getConstructedAttribute Constructed Attribute}'.
+ *
+ *
+ * @return the meta object for the containment reference list 'Constructed Attribute'.
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.TConstructedAttributes#getConstructedAttribute()
+ * @see #getTConstructedAttributes()
+ * @generated
+ */
+ EReference getTConstructedAttributes_ConstructedAttribute();
+
+ /**
+ * Returns the meta object for class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TCopyrighted TCopyrighted}'.
+ *
+ *
+ * @return the meta object for class 'TCopyrighted'.
+ * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.TCopyrighted
+ * @generated
+ */
+ EClass getTCopyrighted();
+
+ /**
+ * Returns the meta object for the containment reference '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TCopyrighted#getCopyright Copyright}'.
+ *
+ *
+ * @return the meta object for the conta