diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/plugin.properties b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/plugin.properties index 1cb6f010d9b4b76cf334b0559a07ec939a1d72fc..b96d357053792b3bdaca278dcc025df8588a7c45 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/plugin.properties +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/plugin.properties @@ -16,8 +16,8 @@ # http://wdi.supelec.fr/software/RiseClipse/ # -pluginName = NSD Model Edit Support -providerName = www.example.org +pluginName = RiseClipse IEC 61850 NSD Edit Support +providerName = CentraleSupélec & EDF _UI_CreateChild_text = {0} _UI_CreateChild_text2 = {1} {0} diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.utilities/.classpath b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.utilities/.classpath new file mode 100644 index 0000000000000000000000000000000000000000..eca7bdba8f03f22510b7980a94dbfe10c16c0901 --- /dev/null +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.utilities/.classpath @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/> + <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> + <classpathentry kind="src" path="src"/> + <classpathentry kind="output" path="bin"/> +</classpath> diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.utilities/.project b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.utilities/.project new file mode 100644 index 0000000000000000000000000000000000000000..bc8237a8308553c9c9662d565b2a4dd88c0f1ff4 --- /dev/null +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.utilities/.project @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>fr.centralesupelec.edf.riseclipse.iec61850.nsd.utilities</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.ManifestBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.SchemaBuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.pde.PluginNature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + </natures> +</projectDescription> diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.utilities/.settings/org.eclipse.jdt.core.prefs b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.utilities/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000000000000000000000000000000000000..0c68a61dca867ceb49e79d2402935261ec3e3809 --- /dev/null +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.utilities/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,7 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.utilities/META-INF/MANIFEST.MF b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.utilities/META-INF/MANIFEST.MF new file mode 100644 index 0000000000000000000000000000000000000000..81b95124b9ca7dc40bb76b3f9234e10b2a543191 --- /dev/null +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.utilities/META-INF/MANIFEST.MF @@ -0,0 +1,15 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: %pluginName +Bundle-Vendor: %providerName +Bundle-SymbolicName: fr.centralesupelec.edf.riseclipse.iec61850.nsd.utilities +Bundle-Version: 1.0.0.qualifier +Automatic-Module-Name: fr.centralesupelec.edf.riseclipse.iec61850.nsd.utilities +Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Require-Bundle: org.eclipse.emf.common, + org.eclipse.emf.ecore, + org.eclipse.emf.edit, + fr.centralesupelec.edf.riseclipse.iec61850.nsd, + fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit, + fr.centralesupelec.edf.riseclipse.main +Export-Package: fr.centralesupelec.edf.riseclipse.iec61850.nsd.utilities diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.utilities/build.properties b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.utilities/build.properties new file mode 100644 index 0000000000000000000000000000000000000000..34d2e4d2dad529ceaeb953bfcdb63c51d69ffed2 --- /dev/null +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.utilities/build.properties @@ -0,0 +1,4 @@ +source.. = src/ +output.. = bin/ +bin.includes = META-INF/,\ + . diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.utilities/plugin.properties b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.utilities/plugin.properties new file mode 100644 index 0000000000000000000000000000000000000000..6d564171174b613dab121a889e6d149e676ec068 --- /dev/null +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.utilities/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 = RiseClipse IEC 61850 NSD Utilities +providerName = CentraleSupélec & EDF diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.utilities/pom.xml b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.utilities/pom.xml new file mode 100644 index 0000000000000000000000000000000000000000..fdc7614ae5ccdcf377f1655e42aea0bd7e35503f --- /dev/null +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.utilities/pom.xml @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + + <modelVersion>4.0.0</modelVersion> + + <groupId>fr.centralesupelec.edf.riseclipse</groupId> + <artifactId>fr.centralesupelec.edf.riseclipse.iec61850.nsd.utilities</artifactId> + <version>1.0.0-SNAPSHOT</version> + <packaging>eclipse-plugin</packaging> + + <parent> + <groupId>fr.centralesupelec.edf.riseclipse</groupId> + <artifactId>RiseClipseMetamodel_NSD2016</artifactId> + <version>1.0.0-SNAPSHOT</version> + </parent> + + <build> + <plugins> + <plugin> + <groupId>org.eclipse.tycho</groupId> + <artifactId>target-platform-configuration</artifactId> + <version>${tycho-version}</version> + <configuration> + <!-- This needed parameter seems to be ignored if put in the pom root file --> + <pomDependencies>consider</pomDependencies> + </configuration> + </plugin> + </plugins> + </build> + +</project> diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.utilities/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/utilities/NsdModelLoader.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.utilities/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/utilities/NsdModelLoader.java new file mode 100644 index 0000000000000000000000000000000000000000..e828fe9296a997f87756d9289d972b65e134e1af --- /dev/null +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.utilities/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/utilities/NsdModelLoader.java @@ -0,0 +1,64 @@ +/** + * 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.utilities; + +import org.eclipse.emf.ecore.EValidator; +import org.eclipse.emf.ecore.resource.Resource; +import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage; +import fr.centralesupelec.edf.riseclipse.iec61850.nsd.util.NsdResourceFactoryImpl; +import fr.centralesupelec.edf.riseclipse.iec61850.nsd.util.NsdResourceSetImpl; +import fr.centralesupelec.edf.riseclipse.util.IRiseClipseConsole; +import fr.centralesupelec.edf.riseclipse.util.RiseClipseModelLoader; + +public class NsdModelLoader extends RiseClipseModelLoader { + + public NsdModelLoader( IRiseClipseConsole console ) { + super( console ); + } + + @Override + public void reset() { + super.reset( new NsdResourceSetImpl( true, console ) ); + + // Register the appropriate resource factory to handle all file + // extensions. + getResourceSet().getResourceFactoryRegistry().getExtensionToFactoryMap() + .put( Resource.Factory.Registry.DEFAULT_EXTENSION, new NsdResourceFactoryImpl() ); + + // Register the package to ensure it is available during loading. + getResourceSet().getPackageRegistry().put( NsdPackage.eNS_URI, NsdPackage.eINSTANCE ); + } + + @Override + public NsdResourceSetImpl getResourceSet() { + return ( NsdResourceSetImpl ) super.getResourceSet(); + } + + public Resource loadWithoutValidation( String name ) { + Object eValidator = EValidator.Registry.INSTANCE.remove( NsdPackage.eINSTANCE ); + + Resource resource = load( name ); + + if( eValidator != null ) { + EValidator.Registry.INSTANCE.put( NsdPackage.eINSTANCE, eValidator ); + } + return resource; + } + +} diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/plugin.properties b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/plugin.properties index 10e27cc6e51cc70f4fc76e4f415f0198f945d1a7..ed13549b19e72116aaf35fa89a22ba42c196af33 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/plugin.properties +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/plugin.properties @@ -16,5 +16,5 @@ # http://wdi.supelec.fr/software/RiseClipse/ # -pluginName = NSD Model -providerName = www.example.org +pluginName = RiseClipse IEC 61850 NSD Metamodel +providerName = CentraleSupélec & EDF diff --git a/pom.xml b/pom.xml index cff541c388e7d085efdcd1ac00e479ad5ca3f0a6..658b43a4693c82f70a3ebe1c1487d1cf7525cc84 100644 --- a/pom.xml +++ b/pom.xml @@ -23,6 +23,7 @@ <modules> <module>fr.centralesupelec.edf.riseclipse.iec61850.nsd</module> <module>fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit</module> + <module>fr.centralesupelec.edf.riseclipse.iec61850.nsd.utilities</module> </modules> </project>