You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@shindig.apache.org by et...@apache.org on 2008/02/20 11:19:21 UTC

svn commit: r629406 - in /incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig: gadgets/JsFeatureLoader.java gadgets/SyndicatorConfig.java util/ResourceLoader.java

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);
   }
 
   /**