Author: mreutegg
Date: Mon Apr 15 12:21:41 2019
New Revision: 1857569
URL: http://svn.apache.org/viewvc?rev=1857569&view=rev
Log:
OAK-8228: Optimize PathUtils.dropIndexFromName(String)
Modified:
jackrabbit/oak/trunk/oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/PathUtils.java
jackrabbit/oak/trunk/oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/PathUtilsTest.java
Modified:
jackrabbit/oak/trunk/oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/PathUtils.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/PathUtils.java?rev=1857569&r1=1857568&r2=1857569&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/PathUtils.java
(original)
+++
jackrabbit/oak/trunk/oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/PathUtils.java
Mon Apr 15 12:21:41 2019
@@ -174,6 +174,9 @@ public final class PathUtils {
*/
@NotNull
public static String dropIndexFromName(@NotNull String name) {
+ if (!name.endsWith("]")) {
+ return name;
+ }
Matcher matcher = SNS_PATTERN.matcher(name);
if (matcher.matches()) {
return matcher.group(1);
Modified:
jackrabbit/oak/trunk/oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/PathUtilsTest.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/PathUtilsTest.java?rev=1857569&r1=1857568&r2=1857569&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/PathUtilsTest.java
(original)
+++
jackrabbit/oak/trunk/oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/PathUtilsTest.java
Mon Apr 15 12:21:41 2019
@@ -17,6 +17,7 @@
package org.apache.jackrabbit.oak.commons;
import java.util.Set;
+import java.util.concurrent.TimeUnit;
import junit.framework.AssertionFailedError;
import junit.framework.TestCase;
@@ -520,4 +521,15 @@ public class PathUtilsTest extends TestC
assertEquals(newHashSet("/a", "/b"), includes);
assertEquals(newHashSet(), excludes);
}
+
+ public void testDropIndexFromNamePerformance() {
+ int loopCount = 1000000;
+ long time = System.nanoTime();
+ for (int i = 0; i < loopCount; i++) {
+ PathUtils.dropIndexFromName("jcr:content");
+ }
+ time = System.nanoTime() - time;
+ System.out.println("PathUtils.dropIndexFromName(): " +
+ TimeUnit.NANOSECONDS.toMillis(time) + " ms.");
+ }
}