diff --git a/bundles/org.eclipse.tools.templates.freemarker/src/org/eclipse/tools/templates/freemarker/FMGenerator.java b/bundles/org.eclipse.tools.templates.freemarker/src/org/eclipse/tools/templates/freemarker/FMGenerator.java index 9c23ae90663..e7ad6949201 100644 --- a/bundles/org.eclipse.tools.templates.freemarker/src/org/eclipse/tools/templates/freemarker/FMGenerator.java +++ b/bundles/org.eclipse.tools.templates.freemarker/src/org/eclipse/tools/templates/freemarker/FMGenerator.java @@ -20,6 +20,7 @@ import java.net.URISyntaxException; import java.net.URL; import java.nio.charset.StandardCharsets; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.Map; @@ -74,8 +75,19 @@ public abstract class FMGenerator implements IGenerator, TemplateLoader { return manifest; } + protected void populateModel(Map model) { + // default nothing + } + + @Override + public void generate(IProgressMonitor monitor) throws CoreException { + generate(new HashMap<>(), monitor); + } + @Override public void generate(Map model, IProgressMonitor monitor) throws CoreException { + populateModel(model); + // If no manifest, just return if (manifestPath == null) { return; diff --git a/bundles/org.eclipse.tools.templates.freemarker/src/org/eclipse/tools/templates/freemarker/FMProjectGenerator.java b/bundles/org.eclipse.tools.templates.freemarker/src/org/eclipse/tools/templates/freemarker/FMProjectGenerator.java index f925b4defae..74f0716fe52 100644 --- a/bundles/org.eclipse.tools.templates.freemarker/src/org/eclipse/tools/templates/freemarker/FMProjectGenerator.java +++ b/bundles/org.eclipse.tools.templates.freemarker/src/org/eclipse/tools/templates/freemarker/FMProjectGenerator.java @@ -48,10 +48,15 @@ public abstract class FMProjectGenerator extends FMGenerator { } @Override - public void generate(Map model, IProgressMonitor monitor) throws CoreException { + protected void populateModel(Map model) { + super.populateModel(model); + // Make sure project name is in model model.put("projectName", projectName); //$NON-NLS-1$ + } + @Override + public void generate(Map model, IProgressMonitor monitor) throws CoreException { // Create the project createProject(monitor); @@ -59,7 +64,7 @@ public abstract class FMProjectGenerator extends FMGenerator { super.generate(model, monitor); } - protected void createProject(IProgressMonitor monitor) throws CoreException { + protected IProject createProject(IProgressMonitor monitor) throws CoreException { IWorkspace workspace = ResourcesPlugin.getWorkspace(); project = workspace.getRoot().getProject(projectName); @@ -76,6 +81,8 @@ public abstract class FMProjectGenerator extends FMGenerator { // TODO make sure it's got all our settings or is this an error // condition? } + + return project; } } diff --git a/bundles/org.eclipse.tools.templates.ui/META-INF/MANIFEST.MF b/bundles/org.eclipse.tools.templates.ui/META-INF/MANIFEST.MF index 1ba9b50e5bc..966b1cc76ae 100644 --- a/bundles/org.eclipse.tools.templates.ui/META-INF/MANIFEST.MF +++ b/bundles/org.eclipse.tools.templates.ui/META-INF/MANIFEST.MF @@ -11,4 +11,5 @@ Require-Bundle: org.eclipse.ui, org.eclipse.tools.templates.core;bundle-version="1.0.0";visibility:=reexport Bundle-RequiredExecutionEnvironment: JavaSE-1.8 Bundle-ActivationPolicy: lazy -Export-Package: org.eclipse.tools.templates.ui +Export-Package: org.eclipse.tools.templates.ui, + org.eclipse.tools.templates.ui.internal