You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@shindig.apache.org by li...@apache.org on 2008/09/03 01:00:47 UTC
svn commit: r691417 - in
/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets:
GadgetServer.java spec/GadgetSpec.java spec/SpecParserException.java
Author: lindner
Date: Tue Sep 2 16:00:47 2008
New Revision: 691417
URL: http://svn.apache.org/viewvc?rev=691417&view=rev
Log:
SHINDIG-227 | Better exception handling from Uriel Chemouni. Modified patch to work with trunk, some changes already implemented in GadgetSpecFactory
Modified:
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetServer.java
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/GadgetSpec.java
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/SpecParserException.java
Modified: incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetServer.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetServer.java?rev=691417&r1=691416&r2=691417&view=diff
==============================================================================
--- incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetServer.java (original)
+++ incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetServer.java Tue Sep 2 16:00:47 2008
@@ -151,13 +151,20 @@
Set<String> needed = features.keySet();
Set<String> unsupported = new HashSet<String>();
Collection<GadgetFeature> feats = registry.getFeatures(needed, unsupported);
+
if (!unsupported.isEmpty()) {
+ // Remove non-required libs
for (String missing : unsupported) {
- if (features.get(missing).getRequired()) {
- throw new UnsupportedFeatureException(missing);
+ if (!features.get(missing).getRequired()) {
+ unsupported.remove(missing);
}
}
+ // Throw error with full list of unsupported libraries
+ if (!unsupported.isEmpty()) {
+ throw new UnsupportedFeatureException(unsupported.toString());
+ }
}
+
Collection<JsLibrary> libraries = new LinkedList<JsLibrary>();
for (GadgetFeature feature : feats) {
libraries.addAll(feature.getJsLibraries(
Modified: incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/GadgetSpec.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/GadgetSpec.java?rev=691417&r1=691416&r2=691417&view=diff
==============================================================================
--- incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/GadgetSpec.java (original)
+++ incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/GadgetSpec.java Tue Sep 2 16:00:47 2008
@@ -162,8 +162,7 @@
try {
doc = XmlUtil.parse(xml);
} catch (XmlException e) {
- throw new SpecParserException("Malformed XML in file " + url.toString()
- + ": " + e.getMessage());
+ throw new SpecParserException("Malformed XML in file " + url.toString(), e);
}
this.url = url;
Modified: incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/SpecParserException.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/SpecParserException.java?rev=691417&r1=691416&r2=691417&view=diff
==============================================================================
--- incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/SpecParserException.java (original)
+++ incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/SpecParserException.java Tue Sep 2 16:00:47 2008
@@ -34,4 +34,9 @@
public SpecParserException(XmlException e) {
super(GadgetException.Code.MALFORMED_XML_DOCUMENT, e);
}
+
+ public SpecParserException(String message, XmlException e) {
+ super(GadgetException.Code.MALFORMED_XML_DOCUMENT, message, e);
+ }
+
}