Author: apetrelli
Date: Sun Nov 15 14:02:46 2009
New Revision: 836363
URL: http://svn.apache.org/viewvc?rev=836363&view=rev
Log:
TILES-484
Merge from trunk to tiles3 sandbox.
Applied patch by Alvin Singh.
Added regression test case.
Modified:
tiles/sandbox/trunk/tiles3/ (props changed)
tiles/sandbox/trunk/tiles3/tiles-extras/src/main/java/org/apache/tiles/extras/complete/CompleteAutoloadTilesContainerFactory.java
tiles/sandbox/trunk/tiles3/tiles-extras/src/test/java/org/apache/tiles/extras/complete/CompleteAutoloadTilesContainerFactoryTest.java
tiles/sandbox/trunk/tiles3/tiles-test-pom/tiles-test/ (props changed)
tiles/sandbox/trunk/tiles3/tiles-test-pom/tiles-test/src/main/webapp/WEB-INF/tools.xml
(props changed)
Propchange: tiles/sandbox/trunk/tiles3/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sun Nov 15 14:02:46 2009
@@ -1 +1 @@
-/tiles/framework/trunk:829356
+/tiles/framework/trunk:829356,836356
Modified:
tiles/sandbox/trunk/tiles3/tiles-extras/src/main/java/org/apache/tiles/extras/complete/CompleteAutoloadTilesContainerFactory.java
URL:
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles3/tiles-extras/src/main/java/org/apache/tiles/extras/complete/CompleteAutoloadTilesContainerFactory.java?rev=836363&r1=836362&r2=836363&view=diff
==============================================================================
---
tiles/sandbox/trunk/tiles3/tiles-extras/src/main/java/org/apache/tiles/extras/complete/CompleteAutoloadTilesContainerFactory.java
(original)
+++
tiles/sandbox/trunk/tiles3/tiles-extras/src/main/java/org/apache/tiles/extras/complete/CompleteAutoloadTilesContainerFactory.java
Sun Nov 15 14:02:46 2009
@@ -23,6 +23,7 @@
import java.io.IOException;
import java.net.URL;
+import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -227,11 +228,18 @@
protected List<URL> getSourceURLs(ApplicationContext applicationContext,
TilesRequestContextFactory contextFactory) {
try {
- Set<URL> urlSet = applicationContext
- .getResources("/WEB-INF/**/tiles*.xml");
- urlSet.addAll(applicationContext
- .getResources("classpath*:META-INF/**/tiles*.xml"));
- return URLUtil.getBaseTilesDefinitionURLs(urlSet);
+ Set<URL> finalSet = new HashSet<URL>();
+ Set<URL> webINFSet =
applicationContext.getResources("/WEB-INF/**/tiles*.xml");
+ Set<URL> metaINFSet =
applicationContext.getResources("classpath*:META-INF/**/tiles*.xml");
+
+ if (webINFSet != null) {
+ finalSet.addAll(webINFSet);
+ }
+ if (metaINFSet != null) {
+ finalSet.addAll(metaINFSet);
+ }
+
+ return URLUtil.getBaseTilesDefinitionURLs(finalSet);
} catch (IOException e) {
throw new DefinitionsFactoryException(
"Cannot load definition URLs", e);
Modified:
tiles/sandbox/trunk/tiles3/tiles-extras/src/test/java/org/apache/tiles/extras/complete/CompleteAutoloadTilesContainerFactoryTest.java
URL:
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles3/tiles-extras/src/test/java/org/apache/tiles/extras/complete/CompleteAutoloadTilesContainerFactoryTest.java?rev=836363&r1=836362&r2=836363&view=diff
==============================================================================
---
tiles/sandbox/trunk/tiles3/tiles-extras/src/test/java/org/apache/tiles/extras/complete/CompleteAutoloadTilesContainerFactoryTest.java
(original)
+++
tiles/sandbox/trunk/tiles3/tiles-extras/src/test/java/org/apache/tiles/extras/complete/CompleteAutoloadTilesContainerFactoryTest.java
Sun Nov 15 14:02:46 2009
@@ -320,6 +320,58 @@
}
/**
+ * Regression test for TILES-484 issue.
+ *
+ * @throws IOException If something goes wrong.
+ */
+ @Test
+ public void testTILES484first() throws IOException {
+ ApplicationContext applicationContext =
createMock(ApplicationContext.class);
+ TilesRequestContextFactory contextFactory =
createMock(TilesRequestContextFactory.class);
+
+ URL url3 = new URL("file:///nonexistent2/tiles.xml");
+
+ Set<URL> urls2 = new HashSet<URL>();
+ urls2.add(url3);
+
+
expect(applicationContext.getResources("/WEB-INF/**/tiles*.xml")).andReturn(null);
+
expect(applicationContext.getResources("classpath*:META-INF/**/tiles*.xml")).andReturn(urls2);
+
+ replay(applicationContext, contextFactory);
+ List<URL> urls = factory.getSourceURLs(applicationContext,
contextFactory);
+ assertEquals(1, urls.size());
+ assertTrue(urls.contains(url3));
+ verify(applicationContext, contextFactory);
+ }
+
+ /**
+ * Regression test for TILES-484 issue.
+ *
+ * @throws IOException If something goes wrong.
+ */
+ @Test
+ public void testTILES484second() throws IOException {
+ ApplicationContext applicationContext =
createMock(ApplicationContext.class);
+ TilesRequestContextFactory contextFactory =
createMock(TilesRequestContextFactory.class);
+
+ URL url1 = new URL("file:///nonexistent/tiles.xml");
+ URL url2 = new URL("file:///nonexistent/tiles_it.xml");
+
+ Set<URL> urls1 = new HashSet<URL>();
+ urls1.add(url1);
+ urls1.add(url2);
+
+
expect(applicationContext.getResources("/WEB-INF/**/tiles*.xml")).andReturn(urls1);
+
expect(applicationContext.getResources("classpath*:META-INF/**/tiles*.xml")).andReturn(null);
+
+ replay(applicationContext, contextFactory);
+ List<URL> urls = factory.getSourceURLs(applicationContext,
contextFactory);
+ assertEquals(1, urls.size());
+ assertTrue(urls.contains(url1));
+ verify(applicationContext, contextFactory);
+ }
+
+ /**
* Test method for
* {...@link CompleteAutoloadTilesContainerFactory
* #createDefinitionsReader(ApplicationContext,
TilesRequestContextFactory)}
Propchange: tiles/sandbox/trunk/tiles3/tiles-test-pom/tiles-test/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sun Nov 15 14:02:46 2009
@@ -1,3 +1,3 @@
-/tiles/framework/trunk/tiles-test-pom/tiles-test:829356
+/tiles/framework/trunk/tiles-test-pom/tiles-test:829356,836356
/tiles/sandbox/trunk/tiles-test:740289
/tiles/sandbox/trunk/tiles-test-sandbox:740290-745038,747727-751891
Propchange:
tiles/sandbox/trunk/tiles3/tiles-test-pom/tiles-test/src/main/webapp/WEB-INF/tools.xml
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sun Nov 15 14:02:46 2009
@@ -1 +1 @@
-/tiles/framework/trunk/tiles-test-pom/tiles-test/src/main/webapp/WEB-INF/tools.xml:829356
+/tiles/framework/trunk/tiles-test-pom/tiles-test/src/main/webapp/WEB-INF/tools.xml:829356,836356