You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by sv...@apache.org on 2012/02/07 18:02:46 UTC
git commit: WICKET-4393 no trailing dots from ResourceNameIterator
Updated Branches:
refs/heads/master 42daa225c -> 6c54afda0
WICKET-4393 no trailing dots from ResourceNameIterator
Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/6c54afda
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/6c54afda
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/6c54afda
Branch: refs/heads/master
Commit: 6c54afda00653bb1f355938a2d1743f55f0cad17
Parents: 42daa22
Author: svenmeier <sv...@apache.org>
Authored: Tue Feb 7 18:02:16 2012 +0100
Committer: svenmeier <sv...@apache.org>
Committed: Tue Feb 7 18:02:16 2012 +0100
----------------------------------------------------------------------
.../apache/wicket/resource/PropertiesFactory.java | 2 +-
.../locator/ExtensionResourceNameIterator.java | 24 ++++--
.../resource/locator/ResourceNameIteratorTest.java | 63 +++++++++++++--
3 files changed, 73 insertions(+), 16 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/wicket/blob/6c54afda/wicket-core/src/main/java/org/apache/wicket/resource/PropertiesFactory.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/resource/PropertiesFactory.java b/wicket-core/src/main/java/org/apache/wicket/resource/PropertiesFactory.java
index 279de87..18b98f8 100644
--- a/wicket-core/src/main/java/org/apache/wicket/resource/PropertiesFactory.java
+++ b/wicket-core/src/main/java/org/apache/wicket/resource/PropertiesFactory.java
@@ -147,7 +147,7 @@ public class PropertiesFactory implements IPropertiesFactory
while ((properties == null) && iter.hasNext())
{
IPropertiesLoader loader = iter.next();
- String fullPath = path + loader.getFileExtension();
+ String fullPath = path + "." + loader.getFileExtension();
// If not in the cache than try to load properties
IResourceStream resourceStream = context.getResourceStreamLocator()
http://git-wip-us.apache.org/repos/asf/wicket/blob/6c54afda/wicket-core/src/main/java/org/apache/wicket/util/resource/locator/ExtensionResourceNameIterator.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/util/resource/locator/ExtensionResourceNameIterator.java b/wicket-core/src/main/java/org/apache/wicket/util/resource/locator/ExtensionResourceNameIterator.java
index 319d994..6a83510 100644
--- a/wicket-core/src/main/java/org/apache/wicket/util/resource/locator/ExtensionResourceNameIterator.java
+++ b/wicket-core/src/main/java/org/apache/wicket/util/resource/locator/ExtensionResourceNameIterator.java
@@ -23,7 +23,7 @@ import org.apache.wicket.util.string.Strings;
/**
* Iterate over a list of 'comma' separated strings. If an empty string is provided, hasNext() will
- * successfully return once with next() returning an empty string ("").
+ * successfully return once with next() returning {@code null}.
*
* @author Juergen Donnerstag
*/
@@ -37,6 +37,7 @@ public class ExtensionResourceNameIterator implements Iterator<String>
* Construct.
*
* @param extension
+ * {@code null} or comma separated extensions
* @param separatorChar
*/
public ExtensionResourceNameIterator(final String extension, final char separatorChar)
@@ -46,7 +47,7 @@ public class ExtensionResourceNameIterator implements Iterator<String>
if (extensions.length == 0)
{
// Fail safe: hasNext() needs to return at least once with true.
- extensions = new String[] { "" };
+ extensions = new String[] { null };
}
this.extensions = extensions;
@@ -64,13 +65,14 @@ public class ExtensionResourceNameIterator implements Iterator<String>
}
/**
- * @return The next filename extension. A leading '.' will be removed.
+ * @return The next filename extension.
*/
@Override
public String next()
{
- String rtn = extensions[index++].trim();
- return rtn.startsWith(".") ? rtn.substring(1) : rtn;
+ index++;
+
+ return getExtension();
}
/**
@@ -78,8 +80,16 @@ public class ExtensionResourceNameIterator implements Iterator<String>
*/
public final String getExtension()
{
- String rtn = extensions[index - 1].trim();
- return rtn.startsWith(".") ? rtn.substring(1) : rtn;
+ String extension = extensions[index - 1];
+ if (extension != null)
+ {
+ extension = extension.trim();
+ if (extension.startsWith("."))
+ {
+ extension = extension.substring(1);
+ }
+ }
+ return extension;
}
/**
http://git-wip-us.apache.org/repos/asf/wicket/blob/6c54afda/wicket-core/src/test/java/org/apache/wicket/util/resource/locator/ResourceNameIteratorTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/util/resource/locator/ResourceNameIteratorTest.java b/wicket-core/src/test/java/org/apache/wicket/util/resource/locator/ResourceNameIteratorTest.java
index 68191ec..965be43 100644
--- a/wicket-core/src/test/java/org/apache/wicket/util/resource/locator/ResourceNameIteratorTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/util/resource/locator/ResourceNameIteratorTest.java
@@ -84,25 +84,57 @@ public class ResourceNameIteratorTest extends WicketTestCase
iterator.next();
assertFalse(iterator.hasNext());
- iterator = new StyleAndVariationResourceNameIterator("style", "variation");
+ iterator = new StyleAndVariationResourceNameIterator("style", null);
assertTrue(iterator.hasNext());
+ iterator.next();
+ assertEquals("style", iterator.getStyle());
+ assertEquals(null, iterator.getVariation());
+ iterator.next();
+ assertEquals(null, iterator.getStyle());
+ assertEquals(null, iterator.getVariation());
+ assertFalse(iterator.hasNext());
+ iterator = new StyleAndVariationResourceNameIterator("style", "variation");
+ assertTrue(iterator.hasNext());
iterator.next();
assertEquals("style", iterator.getStyle());
assertEquals("variation", iterator.getVariation());
-
iterator.next();
assertEquals("style", iterator.getStyle());
- assertNull(iterator.getVariation());
-
+ assertEquals(null, iterator.getVariation());
iterator.next();
- assertNull(iterator.getStyle());
+ assertEquals(null, iterator.getStyle());
assertEquals("variation", iterator.getVariation());
-
iterator.next();
- assertNull(iterator.getStyle());
- assertNull(iterator.getVariation());
+ assertEquals(null, iterator.getStyle());
+ assertEquals(null, iterator.getVariation());
+ assertFalse(iterator.hasNext());
+ }
+
+ /**
+ *
+ */
+ @Test
+ public void extensionResourceNameIterator()
+ {
+ ExtensionResourceNameIterator iterator = new ExtensionResourceNameIterator(null, ',');
+ assertTrue(iterator.hasNext());
+ assertEquals(null, iterator.next());
+ assertFalse(iterator.hasNext());
+ iterator = new ExtensionResourceNameIterator("txt", ',');
+ assertTrue(iterator.hasNext());
+ assertEquals("txt", iterator.next());
+ assertFalse(iterator.hasNext());
+
+ iterator = new ExtensionResourceNameIterator("properties,utf8.properties,properties.xml",
+ ',');
+ assertTrue(iterator.hasNext());
+ assertEquals("properties", iterator.next());
+ assertTrue(iterator.hasNext());
+ assertEquals("utf8.properties", iterator.next());
+ assertTrue(iterator.hasNext());
+ assertEquals("properties.xml", iterator.next());
assertFalse(iterator.hasNext());
}
@@ -126,4 +158,19 @@ public class ResourceNameIteratorTest extends WicketTestCase
}
assertEquals(6, variations.size());
}
+
+ /**
+ *
+ */
+ @Test
+ public void noTrailingDotWhenNoExtension()
+ {
+ Iterator<String> iterator = new ResourceNameIterator("foo", null, null, null, null, false);
+
+ assertTrue(iterator.hasNext());
+
+ assertEquals("foo", iterator.next());
+
+ assertFalse(iterator.hasNext());
+ }
}