Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnsgar Radermacher2013-10-08 13:39:13 +0000
committerAnsgar Radermacher2013-10-08 13:39:13 +0000
commit5d054ef5141e8dbf2d60748c37a81ddca9fc82d8 (patch)
treec14935f2b7cc8811d401d60d3ccfd2df8ed0ca57 /extraplugins
parent0a1d35d42a137cdf21c4ed046b28f4e793c4abae (diff)
downloadorg.eclipse.papyrus-5d054ef5141e8dbf2d60748c37a81ddca9fc82d8.tar.gz
org.eclipse.papyrus-5d054ef5141e8dbf2d60748c37a81ddca9fc82d8.tar.xz
org.eclipse.papyrus-5d054ef5141e8dbf2d60748c37a81ddca9fc82d8.zip
- Avoid NPE in ModelElementsCreator
- Support code generation for packages
Diffstat (limited to 'extraplugins')
-rw-r--r--extraplugins/codegen/org.eclipse.papyrus.acceleo/src/org/eclipse/papyrus/acceleo/ModelElementsCreator.java4
-rw-r--r--extraplugins/codegen/org.eclipse.papyrus.cpp.codegen.ui/src/org/eclipse/papyrus/cpp/codegen/ui/handler/GenerateCodeHandler.java15
2 files changed, 10 insertions, 9 deletions
diff --git a/extraplugins/codegen/org.eclipse.papyrus.acceleo/src/org/eclipse/papyrus/acceleo/ModelElementsCreator.java b/extraplugins/codegen/org.eclipse.papyrus.acceleo/src/org/eclipse/papyrus/acceleo/ModelElementsCreator.java
index 35ebc2dea90..63180eb5ace 100644
--- a/extraplugins/codegen/org.eclipse.papyrus.acceleo/src/org/eclipse/papyrus/acceleo/ModelElementsCreator.java
+++ b/extraplugins/codegen/org.eclipse.papyrus.acceleo/src/org/eclipse/papyrus/acceleo/ModelElementsCreator.java
@@ -237,7 +237,9 @@ abstract public class ModelElementsCreator {
* @throws CoreException
*/
protected void createPackage(IContainer packageContainer, IProgressMonitor monitor, Package pkg) throws CoreException {
- monitor.subTask("generate package " + pkg.getQualifiedName()); //$NON-NLS-1$
+ if (monitor != null) {
+ monitor.subTask("generate package " + pkg.getQualifiedName()); //$NON-NLS-1$
+ }
if(!isRoot(pkg) && !noCodeGen(pkg)) {
diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen.ui/src/org/eclipse/papyrus/cpp/codegen/ui/handler/GenerateCodeHandler.java b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen.ui/src/org/eclipse/papyrus/cpp/codegen/ui/handler/GenerateCodeHandler.java
index 0c4d7c9fbc4..1945de142b2 100644
--- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen.ui/src/org/eclipse/papyrus/cpp/codegen/ui/handler/GenerateCodeHandler.java
+++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen.ui/src/org/eclipse/papyrus/cpp/codegen/ui/handler/GenerateCodeHandler.java
@@ -37,7 +37,7 @@ import org.eclipse.papyrus.infra.core.Activator;
import org.eclipse.papyrus.infra.emf.utils.BusinessModelResolver;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.PlatformUI;
-import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.PackageableElement;
/**
* <b><u>SyncURI Handler</u></b>
@@ -102,11 +102,10 @@ public class GenerateCodeHandler extends AbstractHandler {
public Object execute(ExecutionEvent event) throws ExecutionException {
- if(selectedEObj instanceof Classifier) {
- Classifier classifier = (Classifier)selectedEObj;
+ if(selectedEObj instanceof PackageableElement) {
+ PackageableElement pe = (PackageableElement)selectedEObj;
-
- URI uri = classifier.eResource().getURI();
+ URI uri = pe.eResource().getURI();
// URIConverter uriConverter = resource.getResourceSet().getURIConverter();
IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
@@ -115,16 +114,16 @@ public class GenerateCodeHandler extends AbstractHandler {
}
IProject modelProject = root.getProject(uri.segment(1));
if(modelProject.exists()) {
- String name = classifier.getName();
+ String name = pe.getName();
// get the container for the current element
String headerSuffix = CppCodeGenUtils.getHeaderSuffix();
String bodySuffix = CppCodeGenUtils.getBodySuffix();
AcceleoDriver.clearErrors();
CppModelElementsCreator mec = new CppModelElementsCreator(modelProject);
- IContainer srcPkg = mec.getContainer(classifier);
+ IContainer srcPkg = mec.getContainer(pe);
try {
- mec.createPackageableElement(srcPkg, null, classifier);
+ mec.createPackageableElement(srcPkg, null, pe);
if (AcceleoDriver.hasErrors()) {
MessageDialog.openInformation(new Shell(), "Errors during code generation", //$NON-NLS-1$

Back to the top