You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by tr...@apache.org on 2008/08/11 11:48:36 UTC
svn commit: r684694 - in /jackrabbit/trunk/jackrabbit-jcr-commons/src:
main/java/org/apache/jackrabbit/util/Text.java
test/java/org/apache/jackrabbit/util/TextTest.java
Author: tripod
Date: Mon Aug 11 02:48:34 2008
New Revision: 684694
URL: http://svn.apache.org/viewvc?rev=684694&view=rev
Log:
JCR-1706 Fix unexpected behavior of Text.getName()
Modified:
jackrabbit/trunk/jackrabbit-jcr-commons/src/main/java/org/apache/jackrabbit/util/Text.java
jackrabbit/trunk/jackrabbit-jcr-commons/src/test/java/org/apache/jackrabbit/util/TextTest.java
Modified: jackrabbit/trunk/jackrabbit-jcr-commons/src/main/java/org/apache/jackrabbit/util/Text.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-jcr-commons/src/main/java/org/apache/jackrabbit/util/Text.java?rev=684694&r1=684693&r2=684694&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-jcr-commons/src/main/java/org/apache/jackrabbit/util/Text.java (original)
+++ jackrabbit/trunk/jackrabbit-jcr-commons/src/main/java/org/apache/jackrabbit/util/Text.java Mon Aug 11 02:48:34 2008
@@ -516,11 +516,7 @@
* @return the name part or <code>null</code> if <code>path</code> is <code>null</code>.
*/
public static String getName(String path) {
- if (path == null) {
- return null;
- } else {
- return path.substring(path.lastIndexOf('/'));
- }
+ return getName(path, '/');
}
/**
@@ -533,11 +529,9 @@
* @return the name part or <code>null</code> if <code>path</code> is <code>null</code>.
*/
public static String getName(String path, char delim) {
- if (path == null) {
- return null;
- } else {
- return path.substring(path.lastIndexOf(delim));
- }
+ return path == null
+ ? null
+ : path.substring(path.lastIndexOf(delim) + 1);
}
/**
Modified: jackrabbit/trunk/jackrabbit-jcr-commons/src/test/java/org/apache/jackrabbit/util/TextTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-jcr-commons/src/test/java/org/apache/jackrabbit/util/TextTest.java?rev=684694&r1=684693&r2=684694&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-jcr-commons/src/test/java/org/apache/jackrabbit/util/TextTest.java (original)
+++ jackrabbit/trunk/jackrabbit-jcr-commons/src/test/java/org/apache/jackrabbit/util/TextTest.java Mon Aug 11 02:48:34 2008
@@ -103,4 +103,44 @@
assertFalse(nonDesc + " isn't a descendant of " + parent, Text.isDescendant(parent, nonDesc));
}
}
+
+ public void testGetName() {
+ List l = new ArrayList();
+ l.add(new String[] {"/a/b/c", "c"});
+ l.add(new String[] {"c", "c"});
+ l.add(new String[] {null, null});
+ l.add(new String[] {"", ""});
+ l.add(new String[] {"/", ""});
+ l.add(new String[] {"http://jackrabbit.apache.org/jackrabbit", "jackrabbit"});
+ l.add(new String[] {"http://jackrabbit.apache.org/jackrabbit/", ""});
+
+ for (Iterator it = l.iterator(); it.hasNext();) {
+ String[] strs = (String[]) it.next();
+ assertEquals(strs[1], Text.getName(strs[0]));
+ }
+
+ // Text.getName(String path, boolean ignoreTrailingSlash)
+ l = new ArrayList();
+ l.add(new String[] {"http://jackrabbit.apache.org/jackrabbit", "jackrabbit"});
+ l.add(new String[] {"http://jackrabbit.apache.org/jackrabbit/", "jackrabbit"});
+
+ for (Iterator it = l.iterator(); it.hasNext();) {
+ String[] strs = (String[]) it.next();
+ assertEquals(strs[1], Text.getName(strs[0], true));
+ }
+
+ // Text.getName(String path, char delim)
+ l = new ArrayList();
+ l.add(new String[] {"/a=b/c", "b/c"});
+ l.add(new String[] {"c", "c"});
+ l.add(new String[] {null, null});
+ l.add(new String[] {"", ""});
+ l.add(new String[] {"http:/=jackrabbit.apache.org/jackrabbit", "jackrabbit.apache.org/jackrabbit"});
+ l.add(new String[] {"http:=//jackrabbit.apache.org/jackrabbit/", "//jackrabbit.apache.org/jackrabbit/"});
+
+ for (Iterator it = l.iterator(); it.hasNext();) {
+ String[] strs = (String[]) it.next();
+ assertEquals(strs[1], Text.getName(strs[0], '='));
+ }
+ }
}