Author: etnu
Date: Wed Feb 20 02:19:19 2008
New Revision: 629406

URL: http://svn.apache.org/viewvc?rev=629406&view=rev
Log:
Eased restrictions on SyndicatorConfig & JsFeatureLoader to accept any file 
with an appropriate extension rather than requiring specific names. In practice 
this simplifies the code greatly and the removed code paths were never used 
anyway.


Modified:
    
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/JsFeatureLoader.java
    
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/SyndicatorConfig.java
    
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/util/ResourceLoader.java

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=629406&r1=629405&r2=629406&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 Feb 20 02:19:19 2008
@@ -53,8 +53,6 @@
  */
 public class JsFeatureLoader {
 
-  private static final String FEATURE_FILE_NAME = "feature.xml";
-
   private static final Logger logger
       = Logger.getLogger("org.apache.shindig.gadgets");
 
@@ -120,7 +118,7 @@
     for (File file : files) {
       if (file.isDirectory()) {
         loadFiles(file.listFiles(), features);
-      } else if (FEATURE_FILE_NAME.equals(file.getName())) {
+      } else if (file.getName().endsWith(".xml")) {
         ParsedFeature feature = processFile(file);
         if (feature != null) {
           features.put(feature.name, feature);
@@ -138,12 +136,10 @@
   private void loadResources(String[] paths, Map<String, ParsedFeature> feats)
       throws GadgetException {
     try {
-      Map<String, String> contents
-          = ResourceLoader.getContent(paths, FEATURE_FILE_NAME);
-      for (Map.Entry<String, String> entry : contents.entrySet()) {
-        String parent = entry.getKey();
-        parent = parent.substring(0, parent.lastIndexOf(FEATURE_FILE_NAME));
-        ParsedFeature feature = parse(entry.getValue(), parent, true);
+      for (String file : paths) {
+        String content = ResourceLoader.getContent(file);
+        String parent = file.substring(0, file.lastIndexOf('/') + 1);
+        ParsedFeature feature = parse(content, parent, true);
         if (feature != null) {
           feats.put(feature.name, feature);
         }

Modified: 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/SyndicatorConfig.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/SyndicatorConfig.java?rev=629406&r1=629405&r2=629406&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/SyndicatorConfig.java
 (original)
+++ 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/SyndicatorConfig.java
 Wed Feb 20 02:19:19 2008
@@ -45,7 +45,6 @@
 public class SyndicatorConfig {
   public static final SyndicatorConfig EMPTY = new SyndicatorConfig();
   private final Map<String, JSONObject> config;
-  public static final String SYNDICATOR_FILE_NAME = "syndicator.js";
   public static final String DEFAULT_SYNDICATOR = "default";
   public static final String SYNDICATOR_KEY = "gadgets.syndicator";
   private static final Logger logger
@@ -131,7 +130,7 @@
       for (File file : files) {
         if (file.isDirectory()) {
           loadFiles(file.listFiles());
-        } else if (SYNDICATOR_FILE_NAME.equals(file.getName())) {
+        } else {
           loadFromString(ResourceLoader.getContent(file));
         }
       }

Modified: 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/util/ResourceLoader.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/util/ResourceLoader.java?rev=629406&r1=629405&r2=629406&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/util/ResourceLoader.java
 (original)
+++ 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/util/ResourceLoader.java
 Wed Feb 20 02:19:19 2008
@@ -24,18 +24,6 @@
 import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.io.InputStream;
-import java.net.JarURLConnection;
-import java.net.URISyntaxException;
-import java.net.URL;
-import java.net.URLConnection;
-import java.util.Collections;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.jar.JarEntry;
-import java.util.jar.JarFile;
 import java.util.logging.Logger;
 
 /**
@@ -62,58 +50,6 @@
     }
 
     return InputStreamConsumer.readToString(is);
-  }
-
-  /**
-   * Loads resources recursively and returns the contents of all matching
-   * files.
-   *
-   * @param paths The base paths to look for the desired files.
-   * @param file The name of the files to actually return content for.
-   * @return A map of file paths to their contents.
-   *
-   * @throws IOException
-   */
-  public static Map<String, String> getContent(String[] paths, String file)
-      throws IOException {
-    ClassLoader cl = ResourceLoader.class.getClassLoader();
-    Map<String, String> out = new HashMap<String, String>();
-
-    for (String path : paths) {
-      logger.info("Looking for " + file + " in " + path);
-      Enumeration<URL> mappedResources = cl.getResources(path);
-      while (mappedResources.hasMoreElements()) {
-        URL resourceUrl =  mappedResources.nextElement();
-        if ("file".equals(resourceUrl.getProtocol())) {
-          try {
-            File f = new File(resourceUrl.toURI());
-            out.put(path, getContent(f));
-          } catch (URISyntaxException e) {
-            logger.warning("Unable to load file " + resourceUrl.toString());
-          }
-        } else {
-          URLConnection urlConnection = resourceUrl.openConnection();
-          List<String> fullPaths = new LinkedList<String>();
-          if (urlConnection instanceof JarURLConnection) {
-            JarURLConnection jarUrlConn = (JarURLConnection)urlConnection;
-            JarFile jar = jarUrlConn.getJarFile();
-
-            Enumeration<JarEntry> jarEntries = jar.entries();
-            while (jarEntries.hasMoreElements()) {
-              JarEntry jarEntry =  jarEntries.nextElement();
-              if (jarEntry.getName().startsWith(path) &&
-                  jarEntry.getName().endsWith(file)) {
-                fullPaths.add(jarEntry.getName());
-              }
-            }
-          }
-          for (String res : fullPaths) {
-            out.put(res, getContent(res));
-          }
-        }
-      }
-    }
-    return Collections.unmodifiableMap(out);
   }
 
   /**


Reply via email to