Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.ui/src/org/eclipse/papyrus/qompass/designer/ui/handlers/InstantiateDepPlanHandler.java')
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.ui/src/org/eclipse/papyrus/qompass/designer/ui/handlers/InstantiateDepPlanHandler.java14
1 files changed, 10 insertions, 4 deletions
diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.ui/src/org/eclipse/papyrus/qompass/designer/ui/handlers/InstantiateDepPlanHandler.java b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.ui/src/org/eclipse/papyrus/qompass/designer/ui/handlers/InstantiateDepPlanHandler.java
index 7d7f0c4b67e..08c96c1963b 100644
--- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.ui/src/org/eclipse/papyrus/qompass/designer/ui/handlers/InstantiateDepPlanHandler.java
+++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.ui/src/org/eclipse/papyrus/qompass/designer/ui/handlers/InstantiateDepPlanHandler.java
@@ -31,7 +31,9 @@ import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.uml2.uml.Class;
import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.NamedElement;
import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.util.UMLUtil;
/**
* handler for instantiating a deployment plan
@@ -60,7 +62,7 @@ public class InstantiateDepPlanHandler extends CmdHandler {
// only one model is selected
selectedCDP = null;
if((selectedEObject instanceof Package) || (selectedEObject instanceof Class)) {
- selectedCDP = (Element)selectedEObject;
+ selectedCDP = (NamedElement) selectedEObject;
} else {
return null;
}
@@ -76,8 +78,12 @@ public class InstantiateDepPlanHandler extends CmdHandler {
@Override
protected IStatus run(IProgressMonitor monitor) {
// execute the task ...
- InstantiateDepPlan.instantiate(selectedCDP, monitor, project, genOptions);
- monitor.done();
+ if (selectedCDP instanceof Package) {
+ new InstantiateDepPlan().instantiate((Package)selectedCDP, monitor, project, genOptions);
+ } else if (StereotypeUtil.isApplied(selectedCDP, Configuration.class)) {
+ Configuration configuration = UMLUtil.getStereotypeApplication(selectedCDP, Configuration.class);
+ new InstantiateDepPlan().instantiate(configuration, monitor, project, genOptions);
+ }
return Status.OK_STATUS;
}
};
@@ -88,7 +94,7 @@ public class InstantiateDepPlanHandler extends CmdHandler {
return null;
}
- private Element selectedCDP;
+ private NamedElement selectedCDP;
private IProject project;
}

Back to the top