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;
   }


Reply via email to