diff --git a/core/org.eclipse.cdt.core.tests/templateengine/org/eclipse/cdt/core/tests/templateengine/AllTemplateEngineTests.java b/core/org.eclipse.cdt.core.tests/templateengine/org/eclipse/cdt/core/tests/templateengine/AllTemplateEngineTests.java index df276976f53..d588e80a747 100644 --- a/core/org.eclipse.cdt.core.tests/templateengine/org/eclipse/cdt/core/tests/templateengine/AllTemplateEngineTests.java +++ b/core/org.eclipse.cdt.core.tests/templateengine/org/eclipse/cdt/core/tests/templateengine/AllTemplateEngineTests.java @@ -21,7 +21,7 @@ import junit.framework.TestSuite; * @since 4.0 */ -public class AllTemplateEngineTests extends TestSuite{ +public class AllTemplateEngineTests extends TestSuite { public static void main(String[] args) { junit.swingui.TestRunner.run(AllTemplateEngineTests.class); diff --git a/core/org.eclipse.cdt.core.tests/templateengine/org/eclipse/cdt/core/tests/templateengine/TestProcesses.java b/core/org.eclipse.cdt.core.tests/templateengine/org/eclipse/cdt/core/tests/templateengine/TestProcesses.java index 66ff1d573f4..2bb9af58ad6 100644 --- a/core/org.eclipse.cdt.core.tests/templateengine/org/eclipse/cdt/core/tests/templateengine/TestProcesses.java +++ b/core/org.eclipse.cdt.core.tests/templateengine/org/eclipse/cdt/core/tests/templateengine/TestProcesses.java @@ -13,11 +13,10 @@ package org.eclipse.cdt.core.tests.templateengine; import java.io.File; import java.util.Map; -import junit.framework.TestCase; - import org.eclipse.cdt.core.CCorePlugin; import org.eclipse.cdt.core.templateengine.TemplateCore; import org.eclipse.cdt.core.templateengine.TemplateEngine; +import org.eclipse.cdt.core.testplugin.util.BaseTestCase; import org.eclipse.core.resources.IFile; import org.eclipse.core.resources.IFolder; import org.eclipse.core.resources.IProject; @@ -28,7 +27,7 @@ import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IPath; import org.eclipse.core.runtime.Platform; -public class TestProcesses extends TestCase { +public class TestProcesses extends BaseTestCase { private static final String workspaceLocation = ResourcesPlugin.getWorkspace().getRoot().getRawLocation().toOSString(); private static final String PROJECT_NAME = "TemplateEngineTestsProject"; //$NON-NLS-1$ diff --git a/core/org.eclipse.cdt.core.tests/templateengine/org/eclipse/cdt/core/tests/templateengine/TestSharedDefaults.java b/core/org.eclipse.cdt.core.tests/templateengine/org/eclipse/cdt/core/tests/templateengine/TestSharedDefaults.java index 5fa2d6a8862..f38821233dd 100644 --- a/core/org.eclipse.cdt.core.tests/templateengine/org/eclipse/cdt/core/tests/templateengine/TestSharedDefaults.java +++ b/core/org.eclipse.cdt.core.tests/templateengine/org/eclipse/cdt/core/tests/templateengine/TestSharedDefaults.java @@ -15,16 +15,15 @@ import java.util.Iterator; import java.util.Map; import java.util.Set; -import junit.framework.TestCase; - import org.eclipse.cdt.core.templateengine.SharedDefaults; +import org.eclipse.cdt.core.testplugin.util.BaseTestCase; /** * Executes all the test cases of SharedDefaults backend functionality */ -public class TestSharedDefaults extends TestCase { +public class TestSharedDefaults extends BaseTestCase { private SharedDefaults sharedDefaults; /* diff --git a/core/org.eclipse.cdt.core.tests/templateengine/org/eclipse/cdt/core/tests/templateengine/TestTemplateCore.java b/core/org.eclipse.cdt.core.tests/templateengine/org/eclipse/cdt/core/tests/templateengine/TestTemplateCore.java index c63e24795f8..6073e8aa739 100644 --- a/core/org.eclipse.cdt.core.tests/templateengine/org/eclipse/cdt/core/tests/templateengine/TestTemplateCore.java +++ b/core/org.eclipse.cdt.core.tests/templateengine/org/eclipse/cdt/core/tests/templateengine/TestTemplateCore.java @@ -10,14 +10,13 @@ *******************************************************************************/ package org.eclipse.cdt.core.tests.templateengine; -import junit.framework.TestCase; - import org.eclipse.cdt.core.templateengine.TemplateCore; +import org.eclipse.cdt.core.testplugin.util.BaseTestCase; /** * Test the functionality of Tempalte Class. */ -public class TestTemplateCore extends TestCase { +public class TestTemplateCore extends BaseTestCase { public TemplateCore[] templates = null; diff --git a/core/org.eclipse.cdt.core.tests/templateengine/org/eclipse/cdt/core/tests/templateengine/TestTemplateEngine.java b/core/org.eclipse.cdt.core.tests/templateengine/org/eclipse/cdt/core/tests/templateengine/TestTemplateEngine.java index 98cf4fd551b..ce862462f88 100644 --- a/core/org.eclipse.cdt.core.tests/templateengine/org/eclipse/cdt/core/tests/templateengine/TestTemplateEngine.java +++ b/core/org.eclipse.cdt.core.tests/templateengine/org/eclipse/cdt/core/tests/templateengine/TestTemplateEngine.java @@ -10,14 +10,13 @@ *******************************************************************************/ package org.eclipse.cdt.core.tests.templateengine; -import junit.framework.TestCase; - import org.eclipse.cdt.core.templateengine.TemplateEngine; +import org.eclipse.cdt.core.testplugin.util.BaseTestCase; /** * Test the functionality of TemplateEngine. */ -public class TestTemplateEngine extends TestCase { +public class TestTemplateEngine extends BaseTestCase { TemplateEngine templateEngine = null; diff --git a/core/org.eclipse.cdt.core.tests/templateengine/org/eclipse/cdt/core/tests/templateengine/TestValueStore.java b/core/org.eclipse.cdt.core.tests/templateengine/org/eclipse/cdt/core/tests/templateengine/TestValueStore.java index 8a2b3002ec2..42f0e45c710 100644 --- a/core/org.eclipse.cdt.core.tests/templateengine/org/eclipse/cdt/core/tests/templateengine/TestValueStore.java +++ b/core/org.eclipse.cdt.core.tests/templateengine/org/eclipse/cdt/core/tests/templateengine/TestValueStore.java @@ -13,16 +13,15 @@ package org.eclipse.cdt.core.tests.templateengine; import java.util.Iterator; import java.util.Map; -import junit.framework.TestCase; - import org.eclipse.cdt.core.templateengine.TemplateCore; import org.eclipse.cdt.core.templateengine.TemplateDescriptor; +import org.eclipse.cdt.core.testplugin.util.BaseTestCase; /** * Test the functionality of the ValueStore class. */ -public class TestValueStore extends TestCase { +public class TestValueStore extends BaseTestCase { /** diff --git a/core/org.eclipse.cdt.core/templateengine/org/eclipse/cdt/core/templateengine/TemplateCore.java b/core/org.eclipse.cdt.core/templateengine/org/eclipse/cdt/core/templateengine/TemplateCore.java index edab12bc362..96f289ed3ce 100644 --- a/core/org.eclipse.cdt.core/templateengine/org/eclipse/cdt/core/templateengine/TemplateCore.java +++ b/core/org.eclipse.cdt.core/templateengine/org/eclipse/cdt/core/templateengine/TemplateCore.java @@ -11,6 +11,8 @@ package org.eclipse.cdt.core.templateengine; import java.io.IOException; +import java.net.URL; +import java.text.MessageFormat; import java.util.Collection; import java.util.Comparator; import java.util.HashMap; @@ -20,15 +22,12 @@ import java.util.Map; import java.util.Set; import java.util.TreeSet; -import javax.xml.parsers.ParserConfigurationException; - import org.eclipse.cdt.core.CCorePlugin; import org.eclipse.cdt.core.templateengine.process.ProcessFailureException; import org.eclipse.cdt.core.templateengine.process.TemplateProcessHandler; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Status; -import org.xml.sax.SAXException; /** @@ -66,17 +65,19 @@ public class TemplateCore { private boolean fireDirtyEvents; /** - * Constructor - * - * @param templateInfo - * @throws IOException - * @throws SAXException - * @throws ParserConfigurationException + * @param templateInfo may not be null + * @throws TemplateInitializationException */ - - protected TemplateCore(TemplateInfo templateInfo) throws IOException, SAXException, ParserConfigurationException { + protected TemplateCore(TemplateInfo templateInfo) throws TemplateInitializationException { this.templateInfo = templateInfo; - templateDescriptor = new TemplateDescriptor(TemplateEngineHelper.getTemplateResourceURL(templateInfo.getPluginId(), templateInfo.getTemplatePath()), templateInfo.getPluginId()); + URL descriptorURL; + try { + descriptorURL= TemplateEngineHelper.getTemplateResourceURL(templateInfo.getPluginId(), templateInfo.getTemplatePath()); + } catch(IOException ioe) { + String msg= MessageFormat.format(TemplateEngineMessages.getString("TemplateCore.InitFailed"), new Object[]{templateInfo.getTemplatePath()}); //$NON-NLS-1$ + throw new TemplateInitializationException(msg); + } + templateDescriptor = new TemplateDescriptor(descriptorURL, templateInfo.getPluginId()); valueStore = new ValueStore/**/(this); valueStore.putAll(templateDescriptor.getTemplateDefaults(templateDescriptor.getRootElement())); valueStore.putAll(TemplateEngine.getDefault().getSharedDefaults()); @@ -221,14 +222,10 @@ public class TemplateCore { * Gets the Template * * @param templateInfo - * @throws IOException - * @throws ProcessFailureException - * @throws SAXException - * @throws ParserConfigurationException - * + * @throws TemplateInitializationException * @since 4.0 */ - public static TemplateCore getTemplate(TemplateInfo templateInfo) throws IOException, ProcessFailureException, SAXException, ParserConfigurationException { + public static TemplateCore getTemplate(TemplateInfo templateInfo) throws TemplateInitializationException { synchronized (templateCache) { TemplateCore template = (TemplateCore) templateCache.get(templateInfo); if (template == null) { diff --git a/core/org.eclipse.cdt.core/templateengine/org/eclipse/cdt/core/templateengine/TemplateDescriptor.java b/core/org.eclipse.cdt.core/templateengine/org/eclipse/cdt/core/templateengine/TemplateDescriptor.java index f868b2362a5..9ebb0910dc7 100644 --- a/core/org.eclipse.cdt.core/templateengine/org/eclipse/cdt/core/templateengine/TemplateDescriptor.java +++ b/core/org.eclipse.cdt.core/templateengine/org/eclipse/cdt/core/templateengine/TemplateDescriptor.java @@ -12,6 +12,7 @@ package org.eclipse.cdt.core.templateengine; import java.io.IOException; import java.net.URL; +import java.text.MessageFormat; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -46,15 +47,22 @@ public class TemplateDescriptor { /** * Constructor which construct the Document based the URL * @param descriptorURL - * @throws SAXException - * @throws IOException - * @throws ParserConfigurationException + * @throws TemplateInitializationException */ - public TemplateDescriptor(URL descriptorURL, String id) throws SAXException, IOException, ParserConfigurationException { - document = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(descriptorURL.openStream()); - rootElement = document.getDocumentElement(); - persistVector = new ArrayList/**/(); - pluginId = id; + public TemplateDescriptor(URL descriptorURL, String pluginId) throws TemplateInitializationException { + String msg= MessageFormat.format(TemplateEngineMessages.getString("TemplateCore.InitFailed"), new Object[]{descriptorURL}); //$NON-NLS-1$ + try { + this.document = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(descriptorURL.openStream()); + } catch(ParserConfigurationException pce) { + throw new TemplateInitializationException(msg, pce); + } catch(IOException ioe) { + throw new TemplateInitializationException(msg, ioe); + } catch(SAXException se) { + throw new TemplateInitializationException(msg, se); + } + this.rootElement = document.getDocumentElement(); + this.persistVector = new ArrayList/**/(); + this.pluginId = pluginId; } /** diff --git a/core/org.eclipse.cdt.core/templateengine/org/eclipse/cdt/core/templateengine/TemplateEngine.java b/core/org.eclipse.cdt.core/templateengine/org/eclipse/cdt/core/templateengine/TemplateEngine.java index a02609646b7..8e5c70c90f7 100644 --- a/core/org.eclipse.cdt.core/templateengine/org/eclipse/cdt/core/templateengine/TemplateEngine.java +++ b/core/org.eclipse.cdt.core/templateengine/org/eclipse/cdt/core/templateengine/TemplateEngine.java @@ -66,46 +66,54 @@ public class TemplateEngine { } /** - * get All the templates, no filtering is done. - * - * @return + * Returns all the TemplateCore objects, no filtering is done. */ public TemplateCore[] getTemplates() { TemplateInfo[] templateInfoArray = getTemplateInfos(); - List/*