- Fix releng issues (root pom, switch to 2018-12, add sysml14 repo)
- Fix pom in analysis folder (restore previous version)
- Enable creation of LocalAnalysis diagram on classes instead of packages (and fix name).
- Apply LocalAnalysis and FMEA profiles on sub-packages instead of model root (reduce "pollution" of
  original model)

Signed-off-by: Ansgar Radermacher <ansgar.radermacher@cea.fr>
diff --git a/analysis/fmea/execution/org.polarsys.esf.fmea.execution/src/main/java/org/polarsys/esf/fmea/execution/setup/NewFMEASetup.java b/analysis/fmea/execution/org.polarsys.esf.fmea.execution/src/main/java/org/polarsys/esf/fmea/execution/setup/NewFMEASetup.java
index 0731022..51e3519 100644
--- a/analysis/fmea/execution/org.polarsys.esf.fmea.execution/src/main/java/org/polarsys/esf/fmea/execution/setup/NewFMEASetup.java
+++ b/analysis/fmea/execution/org.polarsys.esf.fmea.execution/src/main/java/org/polarsys/esf/fmea/execution/setup/NewFMEASetup.java
@@ -17,7 +17,6 @@
 import org.polarsys.esf.esfarchitectureconcepts.ISBlock;
 import org.polarsys.esf.esffmea.ISBlockFMEA;
 import org.polarsys.esf.esffmea.ISFMEA;
-import org.polarsys.esf.esffmea.impl.ESFFMEAPackage;
 import org.polarsys.esf.esfsafetyconcepts.ISSafetyArtifacts;
 import org.polarsys.esf.fmea.profile.tools.util.ESFFMEAUtil;
 import org.polarsys.esf.fmea.table.set.ESFFMEATablesSet;
@@ -46,11 +45,6 @@
         Model vESFModel = ModelUtil.getWorkingModel();
         if (vESFModel != null) {
 
-            // Verify and apply (if necessary) ESFFMEA profile
-            if (vESFModel.getAppliedProfile(ESFFMEAPackage.eNS_PREFIX) == null) {
-                ESFFMEAUtil.applyESFFMEAProfile(vESFModel);
-            }
-
             // Retrieve 'SafetyArtifacts' package
             ISSafetyArtifacts vSafetyArtifacts = ESFSafetyConceptsUtil.getSSafetyArtifacts(vESFModel);
 
diff --git a/analysis/fmea/profile/org.polarsys.esf.fmea.profile.tools/src/main/java/org/polarsys/esf/fmea/profile/tools/util/ESFFMEAUtil.java b/analysis/fmea/profile/org.polarsys.esf.fmea.profile.tools/src/main/java/org/polarsys/esf/fmea/profile/tools/util/ESFFMEAUtil.java
index 327f2cd..912f833 100644
--- a/analysis/fmea/profile/org.polarsys.esf.fmea.profile.tools/src/main/java/org/polarsys/esf/fmea/profile/tools/util/ESFFMEAUtil.java
+++ b/analysis/fmea/profile/org.polarsys.esf.fmea.profile.tools/src/main/java/org/polarsys/esf/fmea/profile/tools/util/ESFFMEAUtil.java
@@ -18,7 +18,6 @@
 import org.eclipse.emf.transaction.TransactionalEditingDomain;
 import org.eclipse.papyrus.uml.tools.utils.PackageUtil;
 import org.eclipse.uml2.uml.Class;
-import org.eclipse.uml2.uml.Model;
 import org.eclipse.uml2.uml.Package;
 import org.eclipse.uml2.uml.Profile;
 import org.eclipse.uml2.uml.Property;
@@ -75,6 +74,12 @@
             protected void doExecute() {
                 // Create the object 'FMEA' package
                 Package vFMEA = pSafetyArtifacts.createNestedPackage(FMEA_PACKAGE_NAME);
+                
+                // Verify and apply (if necessary) ESFFMEA profile
+                if (vFMEA.getAppliedProfile(ESFFMEAPackage.eNS_PREFIX) == null) {
+                    ESFFMEAUtil.applyESFFMEAProfile(vFMEA);
+                }
+
                 // Apply 'SFMEA' stereotype on 'FMEA' package
                 UMLUtil.StereotypeApplicationHelper.getInstance(vFMEA)
                     .applyStereotype(vFMEA, ESFFMEAPackage.eINSTANCE.getSFMEA());
@@ -195,7 +200,7 @@
      *
      * @param pModel The model target
      */
-    public static void applyESFFMEAProfile(final Model pModel) {
+    public static void applyESFFMEAProfile(final Package pModel) {
         TransactionalEditingDomain vDomain = ModelUtil.getTransactionalEditingDomain(pModel);
 
         RecordingCommand vApplyFMEAProfileCmd = new RecordingCommand(vDomain, APPLY_ESFFMEA_PROFILE_LABEL) {
diff --git a/analysis/localanalysis/diagram/org.polarsys.esf.localanalysis.diagram/src/main/java/org/polarsys/esf/localanalysis/diagram/set/ESFLocalAnalysisDiagramSet.java b/analysis/localanalysis/diagram/org.polarsys.esf.localanalysis.diagram/src/main/java/org/polarsys/esf/localanalysis/diagram/set/ESFLocalAnalysisDiagramSet.java
index 943df95..6dc45cf 100644
--- a/analysis/localanalysis/diagram/org.polarsys.esf.localanalysis.diagram/src/main/java/org/polarsys/esf/localanalysis/diagram/set/ESFLocalAnalysisDiagramSet.java
+++ b/analysis/localanalysis/diagram/org.polarsys.esf.localanalysis.diagram/src/main/java/org/polarsys/esf/localanalysis/diagram/set/ESFLocalAnalysisDiagramSet.java
@@ -24,7 +24,7 @@
      *  - localAnalysisDiagram.configuration
      */
     public static final String ESFLOCALANALYSIS_DIAGRAM_NAME =
-        "ESFLocalAnalysis Diagram"; //$NON-NLS-1$
+        "Local analysis diagram"; //$NON-NLS-1$
 
 
     /**
diff --git a/analysis/localanalysis/diagram/org.polarsys.esf.localanalysis.diagram/src/main/resources/architecture/localAnalysis.architecture b/analysis/localanalysis/diagram/org.polarsys.esf.localanalysis.diagram/src/main/resources/architecture/localAnalysis.architecture
index 8ab953f..87be21c 100644
--- a/analysis/localanalysis/diagram/org.polarsys.esf.localanalysis.diagram/src/main/resources/architecture/localAnalysis.architecture
+++ b/analysis/localanalysis/diagram/org.polarsys.esf.localanalysis.diagram/src/main/resources/architecture/localAnalysis.architecture
@@ -19,10 +19,10 @@
     <elementTypes xmi:type="elementtypesconfigurations:ElementTypeSetConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml-containments.elementtypesconfigurations#_ScP1oFYCEeS0WsAAtVmToA"/>
     <representationKinds xmi:type="gmfdiagrepresentation:PapyrusDiagram" xmi:id="_d79eQHcZEeSndfsfQOfW2A" id="org.eclipse.papyrus.esf.diagram.localanalysis" name="Local analysis diagram" description="Local analyisis diagram" icon="platform:/plugin/org.polarsys.esf.localanalysis.resources.graphical/src/main/resources/icons/icon_diagram_local_analysis.png" concerns="_SqiO4OGqEeewEL8Y1DXhbQ" implementationID="CompositeStructure" customStyle="platform:/plugin/org.polarsys.esf.localanalysis.diagram/src/main/resources/style/localAnalysisDiagramStyle.css" creationCommandClass="org.eclipse.papyrus.uml.diagram.composite.CreateCompositeDiagramCommand">
       <modelRules xmi:type="representation:ModelRule" xmi:id="_IfzbAHk9EeSk0Zv84QxXew" permit="true" elementMultiplicity="1" multiplicity="-1">
-        <element xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+        <element xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
       </modelRules>
       <owningRules xmi:type="representation:OwningRule" xmi:id="_0YJbEak7EeSk0Zv84QxXew" permit="true" multiplicity="-1">
-        <element xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+        <element xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
       </owningRules>
       <paletteRules xmi:type="gmfdiagrepresentation:PaletteRule" xmi:id="_J1gfEXk9EeSk0Zv84QxXew" permit="true" element="composite.group.*"/>
       <palettes xmi:type="paletteconfiguration:PaletteConfiguration" href="platform:/plugin/org.polarsys.esf.localanalysis.diagram/src/main/resources/palette/localAnalysisDiagram.paletteconfiguration#/"/>
diff --git a/analysis/localanalysis/execution/org.polarsys.esf.localanalysis.execution.ui/META-INF/MANIFEST.MF b/analysis/localanalysis/execution/org.polarsys.esf.localanalysis.execution.ui/META-INF/MANIFEST.MF
index e5d9367..b6db3ba 100644
--- a/analysis/localanalysis/execution/org.polarsys.esf.localanalysis.execution.ui/META-INF/MANIFEST.MF
+++ b/analysis/localanalysis/execution/org.polarsys.esf.localanalysis.execution.ui/META-INF/MANIFEST.MF
@@ -24,6 +24,7 @@
  org.eclipse.papyrus.infra.nattable,
  org.polarsys.esf.localanalysis.profile;visibility:=reexport,
  org.polarsys.esf.localanalysis.profile.tools;bundle-version="0.7.0";visibility:=reexport,
- org.polarsys.esf.analysis.common.ui;bundle-version="0.7.0";visibility:=reexport
+ org.polarsys.esf.analysis.common.ui;bundle-version="0.7.0";visibility:=reexport,
+ org.polarsys.esf.core.profile.esfarchitectureconcepts.application;bundle-version="0.7.0"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.7
 Bundle-ActivationPolicy: lazy
diff --git a/analysis/localanalysis/execution/org.polarsys.esf.localanalysis.execution.ui/src/main/java/org/polarsys/esf/localanalysis/execution/ui/handler/StartNewLocalAnalysisHandler.java b/analysis/localanalysis/execution/org.polarsys.esf.localanalysis.execution.ui/src/main/java/org/polarsys/esf/localanalysis/execution/ui/handler/StartNewLocalAnalysisHandler.java
index 8455f79..61378ce 100644
--- a/analysis/localanalysis/execution/org.polarsys.esf.localanalysis.execution.ui/src/main/java/org/polarsys/esf/localanalysis/execution/ui/handler/StartNewLocalAnalysisHandler.java
+++ b/analysis/localanalysis/execution/org.polarsys.esf.localanalysis.execution.ui/src/main/java/org/polarsys/esf/localanalysis/execution/ui/handler/StartNewLocalAnalysisHandler.java
@@ -13,11 +13,15 @@
 import org.eclipse.core.commands.AbstractHandler;
 import org.eclipse.core.commands.ExecutionEvent;
 import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.jface.dialogs.MessageDialog;
 import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.Shell;
 import org.eclipse.ui.handlers.HandlerUtil;
 import org.eclipse.uml2.uml.Class;
 import org.eclipse.uml2.uml.UMLPackage;
 import org.eclipse.uml2.uml.util.UMLUtil;
+import org.polarsys.esf.core.profile.esfarchitectureconcepts.application.ApplyESFArchitectureConceptsAnnotation;
 import org.polarsys.esf.core.utils.ModelUtil;
 import org.polarsys.esf.esfarchitectureconcepts.ISBlock;
 import org.polarsys.esf.localanalysis.execution.setup.NewLocalAnalysisSetup;
@@ -48,9 +52,26 @@
         final Class vSelectedClass =
             (Class) ModelUtil.getSelectedEObjectOfType(vSelection, UMLPackage.eINSTANCE.getClass_());
 
-        if ((vSelectedClass != null) && (UMLUtil.getStereotypeApplication(vSelectedClass, ISBlock.class) != null)) {
-            NewLocalAnalysisSetup.setup(UMLUtil.getStereotypeApplication(vSelectedClass, ISBlock.class));
+        if (vSelectedClass != null) {
+        	if (UMLUtil.getStereotypeApplication(vSelectedClass, ISBlock.class) == null) {
+             	Shell shell = Display.getCurrent().getActiveShell();
+            	boolean apply = MessageDialog.openQuestion(shell, "Cannot execute", "In order to execute this command, please apply the stereotype SBlock to the class. Should the tool apply ESF stereotypes on the whole model?");
+    			if (apply) {
+    				if (vSelectedClass.getModel() != null) {
+    					ApplyESFArchitectureConceptsAnnotation.applyAnnotationOnUMLModel(vSelectedClass.getModel());
+    				}
+    				else {
+    					// error message
+    				}
+    			}
+        	}
+        	if (UMLUtil.getStereotypeApplication(vSelectedClass, ISBlock.class) != null) {
+        		NewLocalAnalysisSetup.setup(UMLUtil.getStereotypeApplication(vSelectedClass, ISBlock.class));
+        	}
         }
+        else {
+   
+		}
         return null;
     }
 
diff --git a/analysis/localanalysis/execution/org.polarsys.esf.localanalysis.execution/src/main/java/org/polarsys/esf/localanalysis/execution/setup/NewLocalAnalysisSetup.java b/analysis/localanalysis/execution/org.polarsys.esf.localanalysis.execution/src/main/java/org/polarsys/esf/localanalysis/execution/setup/NewLocalAnalysisSetup.java
index 7dba91e..d0004b2 100644
--- a/analysis/localanalysis/execution/org.polarsys.esf.localanalysis.execution/src/main/java/org/polarsys/esf/localanalysis/execution/setup/NewLocalAnalysisSetup.java
+++ b/analysis/localanalysis/execution/org.polarsys.esf.localanalysis.execution/src/main/java/org/polarsys/esf/localanalysis/execution/setup/NewLocalAnalysisSetup.java
@@ -21,7 +21,6 @@
 import org.polarsys.esf.esflocalanalysis.ISBlockLAnalysis;
 import org.polarsys.esf.esflocalanalysis.ISLocalAnalysis;
 import org.polarsys.esf.esflocalanalysis.ISSystemEventsLibrary;
-import org.polarsys.esf.esflocalanalysis.impl.ESFLocalAnalysisPackage;
 import org.polarsys.esf.esfsafetyconcepts.ISSafetyArtifacts;
 import org.polarsys.esf.localanalysis.diagram.set.ESFLocalAnalysisDiagramSet;
 import org.polarsys.esf.localanalysis.diagram.util.ESFLocalAnalysisDiagramUtil;
@@ -55,16 +54,12 @@
         	// assure that model is writable
         	ReadOnlyManager.getReadOnlyHandler(TransactionUtil.getEditingDomain(vESFModel)).makeWritable(ReadOnlyAxis.anyAxis(), pSBlock.getBase_Class());
 
-            // Verify and apply (if necessary) ESFLocalAnalysis profile
-            if (vESFModel.getAppliedProfile(ESFLocalAnalysisPackage.eNS_PREFIX) == null) {
-                ESFLocalAnalysisUtil.applyESFLocalAnalysisProfile(vESFModel);
-            }
-
             // Retrieve 'SSafetyArtifacts' package
             ISSafetyArtifacts vSSafetyArtifacts = ESFSafetyConceptsUtil.getSSafetyArtifacts(vESFModel);
 
             if (vSSafetyArtifacts != null) {
-                // Retrieve 'SLocalAnalysis'
+
+            	// Retrieve 'SLocalAnalysis'
                 ISLocalAnalysis vSLocalAnalysis =
                     ESFLocalAnalysisUtil.getSLocalAnalysis(vSSafetyArtifacts.getBase_Package());
 
diff --git a/analysis/localanalysis/profile/org.polarsys.esf.localanalysis.profile.tools/src/main/java/org/polarsys/esf/localanalysis/profile/tools/util/ESFLocalAnalysisUtil.java b/analysis/localanalysis/profile/org.polarsys.esf.localanalysis.profile.tools/src/main/java/org/polarsys/esf/localanalysis/profile/tools/util/ESFLocalAnalysisUtil.java
index f692a49..2e90b7c 100644
--- a/analysis/localanalysis/profile/org.polarsys.esf.localanalysis.profile.tools/src/main/java/org/polarsys/esf/localanalysis/profile/tools/util/ESFLocalAnalysisUtil.java
+++ b/analysis/localanalysis/profile/org.polarsys.esf.localanalysis.profile.tools/src/main/java/org/polarsys/esf/localanalysis/profile/tools/util/ESFLocalAnalysisUtil.java
@@ -20,7 +20,6 @@
 import org.eclipse.papyrus.uml.tools.utils.PackageUtil;
 import org.eclipse.uml2.uml.Class;
 import org.eclipse.uml2.uml.Element;
-import org.eclipse.uml2.uml.Model;
 import org.eclipse.uml2.uml.Package;
 import org.eclipse.uml2.uml.Port;
 import org.eclipse.uml2.uml.Profile;
@@ -271,6 +270,12 @@
             protected void doExecute() {
                 // Create the object 'LocalAnalysis' package
                 Package vLocalAnalysis = pSafetyArtifacts.createNestedPackage(SLOCALANALYSIS_PACKAGE_NAME);
+                
+                // Verify and apply (if necessary) ESFLocalAnalysis profile
+                if (vLocalAnalysis.getAppliedProfile(ESFLocalAnalysisPackage.eNS_PREFIX) == null) {
+                    ESFLocalAnalysisUtil.applyESFLocalAnalysisProfile(vLocalAnalysis);
+                }
+               
                 // Apply 'SLocalAnalysis' stereotype on 'LocalAnalysis' package
                 UMLUtil.StereotypeApplicationHelper.getInstance(vLocalAnalysis)
                     .applyStereotype(vLocalAnalysis, ESFLocalAnalysisPackage.eINSTANCE.getSLocalAnalysis());
@@ -345,7 +350,7 @@
      *
      * @param pModel The model target
      */
-    public static void applyESFLocalAnalysisProfile(final Model pModel) {
+    public static void applyESFLocalAnalysisProfile(final Package pModel) {
         TransactionalEditingDomain vDomain = ModelUtil.getTransactionalEditingDomain(pModel);
 
         RecordingCommand vApplyLAProfileCmd = new RecordingCommand(vDomain, APPLY_ESFLOCALANALYSIS_PROFILE_LABEL) {
diff --git a/analysis/pom.xml b/analysis/pom.xml
index 450aab7..e461c09 100644
--- a/analysis/pom.xml
+++ b/analysis/pom.xml
@@ -7,9 +7,9 @@
   
   <!-- PROJECT DESCRIPTION -->
   <parent>
-		<artifactId>org.eclipse.papyrus.robmosys.plugins</artifactId>
-		<groupId>org.eclipse.papyrus.robmosys</groupId>
-		<version>0.7.0-SNAPSHOT</version>
+    <groupId>org.polarsys.esf</groupId>
+    <artifactId>esf-tools</artifactId>
+    <version>0.7.0-SNAPSHOT</version>
   </parent>
   
   <groupId>org.polarsys.esf</groupId>
diff --git a/pom.xml b/pom.xml
index 80845bc..d751ba3 100644
--- a/pom.xml
+++ b/pom.xml
@@ -49,14 +49,14 @@
   <!-- REPOSITORIES -->
   <repositories> 
     <repository>
-      <id>eclipse-neon</id>
+      <id>eclipse-2018-12</id>
       <layout>p2</layout>
-      <url>http://download.eclipse.org/releases/neon</url>
+      <url>https://download.eclipse.org/releases/2018-12</url>
     </repository>
-	<repository>
-      <id>papyrus-neon-extra</id>
+    <repository>
+      <id>sysml14</id>
       <layout>p2</layout>
-      <url>http://download.eclipse.org/modeling/mdt/papyrus/updates/nightly/neon/extra/</url>
+      <url>https://download.eclipse.org/modeling/mdt/papyrus/components/sysml14</url>
     </repository>
   </repositories>
     
@@ -258,4 +258,4 @@
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
   </properties>
   
-</project>
\ No newline at end of file
+</project>