diff options
author | sboshev | 2008-09-23 14:24:04 +0000 |
---|---|---|
committer | sboshev | 2008-09-23 14:24:04 +0000 |
commit | 42a4ce5a04bd43f01cda57fd250d00800cc52bfb (patch) | |
tree | 1acfdbf71d523f1fbbb73ac1ca1f482c8d534004 | |
parent | 130e135cf4ede6e188705a973a5b8615fc3d985d (diff) | |
download | rt.equinox.bundles-42a4ce5a04bd43f01cda57fd250d00800cc52bfb.tar.gz rt.equinox.bundles-42a4ce5a04bd43f01cda57fd250d00800cc52bfb.tar.xz rt.equinox.bundles-42a4ce5a04bd43f01cda57fd250d00800cc52bfb.zip |
Bug 244365. [ds] Don't log the IAE when a <properties> file is not found
-rw-r--r-- | bundles/org.eclipse.equinox.ds/src/org/eclipse/equinox/internal/ds/model/DeclarationParser.java | 25 |
1 files changed, 21 insertions, 4 deletions
diff --git a/bundles/org.eclipse.equinox.ds/src/org/eclipse/equinox/internal/ds/model/DeclarationParser.java b/bundles/org.eclipse.equinox.ds/src/org/eclipse/equinox/internal/ds/model/DeclarationParser.java index b51939d32..bb78c3d8d 100644 --- a/bundles/org.eclipse.equinox.ds/src/org/eclipse/equinox/internal/ds/model/DeclarationParser.java +++ b/bundles/org.eclipse.equinox.ds/src/org/eclipse/equinox/internal/ds/model/DeclarationParser.java @@ -86,6 +86,9 @@ public class DeclarationParser implements ExTagListener { * the input stream to the XML declaration file * @param bundle * this is used to load the 'properties' tag + * @param components sets the components Vector where the parsed components should be placed + * @param processingURL the URL of the XML which is being processed. Will be used for debugging purposes + * @throws Exception if any unhandled exception occurs during the parsing */ public void parse(InputStream in, Bundle bundle, Vector components, String processingURL) throws Exception { this.components = components; @@ -116,6 +119,11 @@ public class DeclarationParser implements ExTagListener { if (isCorrectComponentTag(tagName)) { doCorrectComponentTag(tag, tagName); } + } catch (IllegalArgumentException iae) { + Activator.log.error("[SCR] Error occurred while processing start tag of XML '" + currentURL + "' in bundle " + bundle + "! The error is: " + iae.getMessage(), null); + if (Activator.DEBUG) { + Activator.log.debug("[SCR] Tracing the last exception", iae); + } } catch (Throwable e) { Activator.log.error("[SCR] Error occurred while processing start tag of XML '" + currentURL + "' in bundle " + bundle, e); } finally { @@ -173,6 +181,13 @@ public class DeclarationParser implements ExTagListener { try { doEndTag(tag); processNamespacesLeave(tag); + } catch (IllegalArgumentException iae) { + currentComponent = null; + closeTag = null; + Activator.log.error("[SCR] Error occurred while processing end tag of XML '" + currentURL + "' in bundle " + bundle + "! The error is: " + iae.getMessage(), null); + if (Activator.DEBUG) { + Activator.log.debug("[SCR] Tracing the last exception", iae); + } } catch (Throwable e) { currentComponent = null; closeTag = null; @@ -285,7 +300,6 @@ public class DeclarationParser implements ExTagListener { int size = tag.size(); if (size == 0) { IllegalArgumentException e = new IllegalArgumentException("The 'service' tag must have one 'provide' tag set at line " + tag.getLine()); - Activator.log.error("[SCR] " + e.getMessage(), e); throw e; } for (int i = 0; i < size; i++) { @@ -295,7 +309,6 @@ public class DeclarationParser implements ExTagListener { String iFace = p.getAttribute(ATTR_INTERFACE); if (iFace == null) { IllegalArgumentException e = new IllegalArgumentException("The 'provide' tag must have 'interface' attribute set at line " + tag.getLine()); - Activator.log.error("[SCR] " + e.getMessage(), e); throw e; } if (currentComponent.serviceInterfaces == null) { @@ -304,7 +317,6 @@ public class DeclarationParser implements ExTagListener { currentComponent.serviceInterfaces.addElement(iFace); } else { IllegalArgumentException e = new IllegalArgumentException("Found illegal element '" + pName + "' for tag 'service' at line " + tag.getLine()); - Activator.log.error("[SCR] " + e.getMessage(), e); throw e; } } @@ -375,7 +387,13 @@ public class DeclarationParser implements ExTagListener { currentComponent.properties = new Properties(); } currentComponent.properties.put(name, _value); + } catch (IllegalArgumentException iae) { + Activator.log.error("[SCR - DeclarationParser.doProperty()] Error while processing property '" + name + "' in XML " + currentURL + "! The error is: " + iae.getMessage(), null); + if (Activator.DEBUG) { + Activator.log.debug("[SCR] Tracing the last exception", iae); + } } catch (Throwable e) { + //logging unrecognized exception Activator.log.error("[SCR - DeclarationParser.doProperty()] Error while processing property '" + name + "' in XML " + currentURL, e); } } @@ -414,7 +432,6 @@ public class DeclarationParser implements ExTagListener { if (invalid) { IllegalArgumentException e = new IllegalArgumentException("The specified 'entry' for the 'properties' tag at line " + tag.getLine() + " doesn't contain valid reference to a property file: " + fileEntry); - Activator.log.error("[SCR] " + e.getMessage(), e); throw e; } } |