You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@shindig.apache.org by jo...@apache.org on 2009/11/05 21:50:12 UTC
svn commit: r833158 - in /incubator/shindig/trunk/java/gadgets/src:
main/java/org/apache/shindig/gadgets/features/FeatureRegistry.java
test/java/org/apache/shindig/gadgets/features/FeatureRegistryTest.java
Author: johnh
Date: Thu Nov 5 20:50:11 2009
New Revision: 833158
URL: http://svn.apache.org/viewvc?rev=833158&view=rev
Log:
Traverse into file-type feature subdirectories.
Modified:
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/features/FeatureRegistry.java
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/features/FeatureRegistryTest.java
Modified: incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/features/FeatureRegistry.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/features/FeatureRegistry.java?rev=833158&r1=833157&r2=833158&view=diff
==============================================================================
--- incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/features/FeatureRegistry.java (original)
+++ incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/features/FeatureRegistry.java Thu Nov 5 20:50:11 2009
@@ -417,7 +417,10 @@
for (File featureFile : toLoad) {
String featureFilePath = featureFile.getAbsolutePath();
- if (featureFilePath.toLowerCase(Locale.ENGLISH).endsWith(".xml")) {
+ if (featureFile.isDirectory()) {
+ // Traverse into subdirectories.
+ loadFile(featureFilePath);
+ } else if (featureFilePath.toLowerCase(Locale.ENGLISH).endsWith(".xml")) {
String content = ResourceLoader.getContent(featureFile);
Uri parent = new UriBuilder().setScheme("file").setPath(featureFilePath).toUri();
loadFeature(parent, content);
Modified: incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/features/FeatureRegistryTest.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/features/FeatureRegistryTest.java?rev=833158&r1=833157&r2=833158&view=diff
==============================================================================
--- incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/features/FeatureRegistryTest.java (original)
+++ incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/features/FeatureRegistryTest.java Thu Nov 5 20:50:11 2009
@@ -111,6 +111,38 @@
}
@Test
+ public void registerFromFileInNestedDirectoryFeatureXmlFile() throws Exception {
+ // Get the directory from dummyUri and create a subdir.
+ File tmpFile = File.createTempFile("dummy", ".dat");
+ tmpFile.deleteOnExit();
+ File parentDir = tmpFile.getParentFile();
+ String childDirName = "" + Math.random();
+ File childDir = new File(parentDir, childDirName);
+ childDir.mkdirs();
+ childDir.deleteOnExit();
+ File featureDir = new File(childDir, "thefeature");
+ featureDir.mkdirs();
+ featureDir.deleteOnExit();
+ File resFile = File.createTempFile("content", ".js", featureDir);
+ resFile.deleteOnExit();
+ String content = "content-foo";
+ BufferedWriter out = new BufferedWriter(new FileWriter(resFile));
+ out.write(content);
+ out.close();
+ File featureFile = File.createTempFile("feature", ".xml", featureDir);
+ featureFile.deleteOnExit();
+ out = new BufferedWriter(new FileWriter(featureFile));
+ out.write(xml(NODEP_TPL, "gadget", resFile.getAbsolutePath(), null));
+ out.close();
+ registry.register(childDir.getAbsolutePath());
+
+ // Verify single resource works all the way through.
+ List<FeatureResource> resources = registry.getAllFeatures();
+ assertEquals(1, resources.size());
+ assertEquals(content, resources.get(0).getContent());
+ }
+
+ @Test
public void registerFromResourceFeatureXml() throws Exception {
String content = "resource-content()";
Uri contentUri = expectResource(content);