Author: etnu
Date: Wed Jan 9 22:19:59 2008
New Revision: 610689
URL: http://svn.apache.org/viewvc?rev=610689&view=rev
Log:
Fixed incorrect handling of multi-level dependency chains to properly walk the
dependency graph in all cases.
Modified:
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetFeatureRegistry.java
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/JsFeatureLoader.java
Modified:
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetFeatureRegistry.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetFeatureRegistry.java?rev=610689&r1=610688&r2=610689&view=diff
==============================================================================
---
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetFeatureRegistry.java
(original)
+++
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetFeatureRegistry.java
Wed Jan 9 22:19:59 2008
@@ -156,11 +156,22 @@
if (entry == null) {
resultsMissing.add(featureName);
} else {
- resultsFound.addAll(entry.deps);
- resultsFound.add(entry);
+ addEntryToSet(resultsFound, entry);
}
}
return resultsMissing.size() == 0;
+ }
+
+ /**
+ * Recursively add all dependencies.
+ * @param results
+ * @param entry
+ */
+ private void addEntryToSet(Set<Entry> results, Entry entry) {
+ for (Entry dep : entry.deps) {
+ addEntryToSet(results, dep);
+ }
+ results.add(entry);
}
/**
Modified:
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/JsFeatureLoader.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/JsFeatureLoader.java?rev=610689&r1=610688&r2=610689&view=diff
==============================================================================
---
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/JsFeatureLoader.java
(original)
+++
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/JsFeatureLoader.java
Wed Jan 9 22:19:59 2008
@@ -211,14 +211,14 @@
FileInputStream fis = null;
try {
byte[] content = load(new FileInputStream(file));
- feature = parse(content, file.getParent(), false);
+ feature = parse(content, file.getParent() + "/", false);
} catch (IOException e) {
- logger.warning("Error reading file: " + file.toString());
+ logger.warning("Error reading file: " + file.getAbsolutePath());
} catch (GadgetException ge) {
- logger.warning("Failed parsing file: " + file.toString());
+ logger.warning("Failed parsing file: " + file.getAbsolutePath());
}
} else {
- logger.warning("Unable to read file: " + file.toString());
+ logger.warning("Unable to read file: " + file.getAbsolutePath());
}
return feature;
}