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