Merge branch 'change/7154/2'
diff --git a/org.eclipse.opencert.apm.assurproj.reuse/src/org/eclipse/opencert/apm/assurproj/reuse/views/ReuseAssistanceView.java b/org.eclipse.opencert.apm.assurproj.reuse/src/org/eclipse/opencert/apm/assurproj/reuse/views/ReuseAssistanceView.java
index c86c626..28a7096 100644
--- a/org.eclipse.opencert.apm.assurproj.reuse/src/org/eclipse/opencert/apm/assurproj/reuse/views/ReuseAssistanceView.java
+++ b/org.eclipse.opencert.apm.assurproj.reuse/src/org/eclipse/opencert/apm/assurproj/reuse/views/ReuseAssistanceView.java
Binary files differ
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);
+ }
+ }
+ }
+ }
}
}