- 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>