Autoselection in Assurance Project wizard improvement
diff --git a/org.eclipse.opencert.apm.assurproj.wizards/src/org/eclipse/opencert/apm/assurproj/wizards/ui/wizards/AssurProjRefFrameworkSelectionWizardPage.java b/org.eclipse.opencert.apm.assurproj.wizards/src/org/eclipse/opencert/apm/assurproj/wizards/ui/wizards/AssurProjRefFrameworkSelectionWizardPage.java
index 4d56974..f72b153 100644
--- a/org.eclipse.opencert.apm.assurproj.wizards/src/org/eclipse/opencert/apm/assurproj/wizards/ui/wizards/AssurProjRefFrameworkSelectionWizardPage.java
+++ b/org.eclipse.opencert.apm.assurproj.wizards/src/org/eclipse/opencert/apm/assurproj/wizards/ui/wizards/AssurProjRefFrameworkSelectionWizardPage.java
@@ -543,36 +543,46 @@
while (actIterator.hasNext()){
RefActivity act=actIterator.next();
EList<RefActivity> subActivities = act.getSubActivity();
+
+ EList<RefRequirement> requirements = act.getOwnedRequirement();
+ EList<RefApplicability> applicabilities = act.getApplicability();
+ UpdateCriticality(criticalityViewer,aplicabilityViewer, tviewer,applicabilities,act,null);
+ UpdateReqCriticality(criticalityViewer,aplicabilityViewer, tviewer,requirements,act);
+
if(subActivities.size()>0){
UpdateActCriticality(criticalityViewer,aplicabilityViewer, tviewer,subActivities);
}
- EList<RefRequirement> requirements = act.getOwnedRequirement();
- EList<RefApplicability> applicabilities = act.getApplicability();
- UpdateCriticality(criticalityViewer,aplicabilityViewer, tviewer,applicabilities);
- UpdateReqCriticality(criticalityViewer,aplicabilityViewer, tviewer,requirements);
-
}
}
public void UpdateReqCriticality(CheckboxTreeViewerExt criticalityViewer,
CheckboxTreeViewerExt aplicabilityViewer,
CheckboxTreeViewerExt tviewer,
- EList<RefRequirement> requirements){
+ EList<RefRequirement> requirements,
+ RefActivity act){
Iterator<RefRequirement> reqIterator = requirements.iterator();
while(reqIterator.hasNext()){
RefRequirement req = reqIterator.next();
EList<RefRequirement> subReq = req.getSubRequirement();
- if(subReq.size()>0){
- UpdateReqCriticality(criticalityViewer,aplicabilityViewer, tviewer,subReq);
- }
+
EList<RefApplicability> reqApplicabilities = req.getApplicability();
- UpdateCriticality(criticalityViewer, aplicabilityViewer, tviewer,reqApplicabilities);
+ UpdateCriticality(criticalityViewer, aplicabilityViewer, tviewer,reqApplicabilities,act,req);
+
+ if(subReq.size()>0){
+ UpdateReqCriticality(criticalityViewer,aplicabilityViewer, tviewer,subReq,act);
+ }
}
}
- public void UpdateCriticality(CheckboxTreeViewerExt criticalityViewer, CheckboxTreeViewerExt aplicabilityViewer,CheckboxTreeViewerExt tviewer,EList<RefApplicability> applicabilities){
+ public void UpdateCriticality(CheckboxTreeViewerExt criticalityViewer, CheckboxTreeViewerExt aplicabilityViewer,CheckboxTreeViewerExt tviewer,EList<RefApplicability> applicabilities, RefActivity act, RefRequirement req){
+ //Is there is not applicabilities related to the element,it will be checked if it's parent refActivity is checked
+ if(applicabilities.size()==0){
+ if(req!=null){
+ tviewer.setChecked(req, tviewer.getChecked(act));
+ }
+ }
Iterator<RefApplicability> applIterator = applicabilities.iterator();
while(applIterator.hasNext()){
@@ -580,7 +590,7 @@
RefAssurableElement target = appli.getApplicTarget();
if (target!=null) {
tviewer.setChecked(target, false);
- tviewer.setChildrenStatus(target,false);
+ //tviewer.setChildrenStatus(target,false);
EList<RefCriticalityApplicability> critAppli = appli.getApplicCritic();
Iterator<RefCriticalityApplicability> critAppliIterator = critAppli.iterator();
while(critAppliIterator.hasNext()){
@@ -591,7 +601,7 @@
boolean statusApp = aplicabilityViewer.getChecked(applicabilityLevel);
if(statusCrit && statusApp ){
tviewer.setChecked(target, true);
- tviewer.setChildrenStatus(target,true);
+ //tviewer.setChildrenStatus(target,true);
}
//ALC
@@ -607,6 +617,35 @@
}
}
+ else if (act!=null){
+ EList<RefCriticalityApplicability> critAppli = appli.getApplicCritic();
+ Iterator<RefCriticalityApplicability> critAppliIterator = critAppli.iterator();
+ while(critAppliIterator.hasNext()){
+ RefCriticalityApplicability critApp = critAppliIterator.next();
+ RefCriticalityLevel criticalityLevel = critApp.getCriticLevel();
+ RefApplicabilityLevel applicabilityLevel = critApp.getApplicLevel();
+ boolean statusCrit = criticalityViewer.getChecked(criticalityLevel);
+ boolean statusApp = aplicabilityViewer.getChecked(applicabilityLevel);
+ if(statusCrit && statusApp ){
+ tviewer.setChecked(act, true);
+ //tviewer.setChildrenStatus(act,true);
+ if(req!=null){
+ tviewer.setChecked(req, true);
+ //tviewer.setChildrenStatus(req,true);
+ }
+
+ }
+ else{
+ tviewer.setChecked(act, false);
+ //tviewer.setChildrenStatus(act,false);
+
+ if(req!=null){
+ tviewer.setChecked(req, false);
+ // tviewer.setChildrenStatus(req,false);
+ }
+ }
+ }
+ }
}
}
diff --git a/org.eclipse.opencert.infra.dashboard/META-INF/MANIFEST.MF b/org.eclipse.opencert.infra.dashboard/META-INF/MANIFEST.MF
index e59c480..470cebc 100644
--- a/org.eclipse.opencert.infra.dashboard/META-INF/MANIFEST.MF
+++ b/org.eclipse.opencert.infra.dashboard/META-INF/MANIFEST.MF
@@ -7,17 +7,17 @@
Bundle-Vendor: Tecnalia
Require-Bundle: org.eclipse.opencert.pkm.refframework.diagram;bundle-version="1.0.0",
org.eclipse.amalgam.explorer.activity.ui;bundle-version="1.7.0",
- org.eclipse.ui.navigator;bundle-version="3.6.101",
org.eclipse.sirius;bundle-version="4.1.4",
org.apache.commons.lang;bundle-version="2.6.0",
- org.eclipse.ui.ide;bundle-version="3.12.3",
- org.eclipse.emf.common.ui;bundle-version="2.11.0",
- org.eclipse.ui.views.properties.tabbed;bundle-version="3.7.0",
org.eclipse.papyrus.infra.onefile;bundle-version="2.0.0",
- org.eclipse.emf.cdo;bundle-version="4.5.0",
org.eclipse.epf.authoring.ui;bundle-version="1.5.0",
org.eclipse.opencert.apm.assurproj.wizards;bundle-version="1.0.0",
org.polarsys.chess.wizards;bundle-version="0.9.0",
- org.eclipse.papyrus.sysml.modelexplorer;bundle-version="1.2.0"
+ org.eclipse.papyrus.sysml.diagram.requirement;bundle-version="2.0.0",
+ org.eclipse.papyrus.views.modelexplorer;bundle-version="2.1.0",
+ org.eclipse.papyrus.editor;bundle-version="1.3.0",
+ org.eclipse.papyrus.sysml.diagram.internalblock;bundle-version="2.0.0",
+ org.eclipse.papyrus.sysml.diagram.blockdefinition;bundle-version="2.0.0",
+ org.eclipse.papyrus.uml.profile;bundle-version="2.0.0"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ActivationPolicy: lazy
diff --git a/org.eclipse.opencert.infra.dashboard/plugin.xml b/org.eclipse.opencert.infra.dashboard/plugin.xml
index c6defed..8e07d1b 100644
--- a/org.eclipse.opencert.infra.dashboard/plugin.xml
+++ b/org.eclipse.opencert.infra.dashboard/plugin.xml
@@ -342,9 +342,9 @@
id="org.eclipse.opencert.infra.dashboard.activity.create.chess.project"
image="icons/assuranceproject/chess_project_icon.png"
index="0"
- name="Create a CHESS project">
+ name="Create a Papyrus CHESS project">
<Description>
- Create a CHESS project.
+ Create a Papyrus CHESS project.
</Description>
</Activity>
<Activity
@@ -356,35 +356,41 @@
</Description>
</Activity>
<Activity
+ class="org.eclipse.opencert.infra.dashboard.pages.adapters.CreateNewChessRequirementDiagram"
id="org.eclipse.opencert.infra.dashboard.activity.specify.requirements.chess"
+ image="icons/systemdesignanalysis/requirement_diagram.png"
index="2"
- name="Specify requirements in CHESS">
+ name="Specify requirements in Papyrus CHESS">
<Description>
- Specify requirements in CHESS.
+ Specify requirements in Papyrus CHESS.
</Description>
</Activity>
<Activity
+ class="org.eclipse.opencert.infra.dashboard.pages.adapters.OpenImportUserModelDialogHyperLinkAdapter"
id="org.eclipse.opencert.infra.dashboard.activity.import.requirements.chess"
+ image="icons/systemdesignanalysis/requirement_diagram.png"
index="3"
- name="Import requirements in CHESS">
+ name="Import requirements in Papyrus CHESS">
<Description>
- Import requirements in CHESS.
+ Import requirements in Papyrus CHESS.
</Description>
</Activity>
<Activity
+ class="org.eclipse.opencert.infra.dashboard.pages.adapters.CreateNewChessBlockDefinitionDiagram"
id="org.eclipse.opencert.infra.dashboard.activity.create.system.components.chess"
+ image="icons/systemdesignanalysis/block_definition_diagram.png"
index="4"
- name="Create system components in CHESS">
+ name="Create system components in Papyrus CHESS">
<Description>
- Create system components in CHESS.
+ Create system components in Papyrus CHESS
</Description>
</Activity>
<Activity
id="org.eclipse.opencert.infra.dashboard.activity.import.savona.model"
index="5"
- name="Import a SAVONA model in CHESS">
+ name="Import a SAVONA model in Papyrus CHESS">
<Description>
- Import a SAVONA model in CHESS.
+ Import a SAVONA model in Papyrus CHESS.
</Description>
</Activity>
</Section>
@@ -408,9 +414,9 @@
<Activity
id="org.eclipse.opencert.infra.dashboard.activity.formalize.requirements.temporal.logic"
index="1"
- name="Formalize a requirement into temporal logics in CHESS">
+ name="Formalize a requirement into temporal logics in Papyrus CHESS">
<Description>
- Formalize a requirements into temporal logics in CHESS.
+ Formalize a requirements into temporal logics in Papyrus CHESS.
</Description>
</Activity>
<Activity
@@ -424,9 +430,9 @@
<Activity
id="org.eclipse.opencert.infra.dashboard.activity.define.contract.component.chess"
index="3"
- name="Define a contract for a component in CHESS">
+ name="Define a contract for a component in Papyrus CHESS">
<Description>
- Define a contract for a component in CHESS.
+ Define a contract for a component in Papyrus CHESS.
</Description>
</Activity>
<Activity
@@ -450,9 +456,9 @@
<Activity
id="org.eclipse.opencert.infra.dashboard.activity.decompose.component.chess"
index="0"
- name="Decompose a component in CHESS">
+ name="Decompose a component in Papyrus CHESS">
<Description>
- Decompose a component in CHESS.
+ Decompose a component in Papyrus CHESS.
</Description>
</Activity>
<Activity
@@ -466,9 +472,9 @@
<Activity
id="org.eclipse.opencert.infra.dashboard.activity.model.contracts.refinement.chess"
index="2"
- name="Model contracts refinement in CHESS">
+ name="Model contracts refinement in Papyrus CHESS">
<Description>
- Model contracts refinement in CHESS.
+ Model contracts refinement in Papyrus CHESS.
</Description>
</Activity>
<Activity
@@ -482,25 +488,25 @@
<Activity
id="org.eclipse.opencert.infra.dashboard.activity.apply.architectural.patterns.chess"
index="4"
- name="Apply architectural patterns in CHESS">
+ name="Apply architectural patterns in Papyrus CHESS">
<Description>
- Apply architectural patterns in CHESS.
+ Apply architectural patterns in Papyrus CHESS.
</Description>
</Activity>
<Activity
id="org.eclipse.opencert.infra.dashboard.activity.specify.parameters.chess"
index="5"
- name="Specify parameters of the parameterized architecture in CHESS">
+ name="Specify parameters of the parameterized architecture in Papyrus CHESS">
<Description>
- Specify parameters of the parameterized architecture in CHESS.
+ Specify parameters of the parameterized architecture in Papyrus CHESS.
</Description>
</Activity>
<Activity
id="org.eclipse.opencert.infra.dashboard.activity.instantiate.parameterized.architecture.chess"
index="6"
- name="Instantiate a parameterized architecture in CHESS">
+ name="Instantiate a parameterized architecture in Papyrus CHESS">
<Description>
- Instantiate a parameterized architecture in CHESS.
+ Instantiate a parameterized architecture in Papyrus CHESS.
</Description>
</Activity>
</Section>
@@ -516,25 +522,25 @@
<Activity
id="org.eclipse.opencert.infra.dashboard.activity.define.nominal.statemachine.chess"
index="0"
- name="Define a nominal state machine for a component in CHESS">
+ name="Define a nominal state machine for a component in Papyrus CHESS">
<Description>
- Define a nominal state machine for a component in CHESS.
+ Define a nominal state machine for a component in Papyrus CHESS.
</Description>
</Activity>
<Activity
id="org.eclipse.opencert.infra.dashboard.activity.define.error.statemachine.chess"
index="1"
- name="Define an error state machine for a component in CHESS">
+ name="Define an error state machine for a component in Papyrus CHESS">
<Description>
- Define an error state machine for a component in CHESS.
+ Define an error state machine for a component in Papyrus CHESS.
</Description>
</Activity>
<Activity
id="org.eclipse.opencert.infra.dashboard.activity.define.failure.progation.rule.chess"
index="2"
- name="Define a failure propagation rule for a component in CHESS">
+ name="Define a failure propagation rule for a component in Papyrus CHESS">
<Description>
- Define a failure propagation rule for a component in CHESS.
+ Define a failure propagation rule for a component in Papyrus CHESS.
</Description>
</Activity>
</Section>