[jboss-cvs] JBossAS SVN: r83148 - in projects/aop/trunk/aop/src: test/java/org/jboss/test/aop/unit and 2 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Wed Jan 21 07:31:53 EST 2009
Author: kabir.khan at jboss.com
Date: 2009-01-21 07:31:53 -0500 (Wed, 21 Jan 2009)
New Revision: 83148
Added:
projects/aop/trunk/aop/src/test/java/org/jboss/test/aop/unit/classpool/
projects/aop/trunk/aop/src/test/java/org/jboss/test/aop/unit/classpool/util/
projects/aop/trunk/aop/src/test/java/org/jboss/test/aop/unit/classpool/util/ClassLoaderUtilsTestCase.java
Modified:
projects/aop/trunk/aop/src/main/java/org/jboss/aop/util/ClassLoaderUtils.java
Log:
[JBAOP-666] Update ClassLoaderUtils to take arrays into account
Modified: projects/aop/trunk/aop/src/main/java/org/jboss/aop/util/ClassLoaderUtils.java
===================================================================
--- projects/aop/trunk/aop/src/main/java/org/jboss/aop/util/ClassLoaderUtils.java 2009-01-21 12:25:18 UTC (rev 83147)
+++ projects/aop/trunk/aop/src/main/java/org/jboss/aop/util/ClassLoaderUtils.java 2009-01-21 12:31:53 UTC (rev 83148)
@@ -30,14 +30,19 @@
{
public static String getResourceName(String classname)
{
- final int lastIndex = classname.lastIndexOf('$');
+ String name = classname;
+ if (name.endsWith("[]"))
+ {
+ name = classname.substring(0, name.indexOf("[]"));
+ }
+ final int lastIndex = name.lastIndexOf('$');
if (lastIndex < 0)
{
- return classname.replaceAll("[\\.]", "/") + ".class";
+ return name.replaceAll("[\\.]", "/") + ".class";
}
else
{
- return classname.substring(0, lastIndex).replaceAll("[\\.]", "/") + classname.substring(lastIndex) + ".class";
+ return name.substring(0, lastIndex).replaceAll("[\\.]", "/") + name.substring(lastIndex) + ".class";
}
}
Added: projects/aop/trunk/aop/src/test/java/org/jboss/test/aop/unit/classpool/util/ClassLoaderUtilsTestCase.java
===================================================================
--- projects/aop/trunk/aop/src/test/java/org/jboss/test/aop/unit/classpool/util/ClassLoaderUtilsTestCase.java (rev 0)
+++ projects/aop/trunk/aop/src/test/java/org/jboss/test/aop/unit/classpool/util/ClassLoaderUtilsTestCase.java 2009-01-21 12:31:53 UTC (rev 83148)
@@ -0,0 +1,94 @@
+/*
+* JBoss, Home of Professional Open Source.
+* Copyright 2006, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file in the
+* distribution for a full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.test.aop.unit.classpool.util;
+
+import org.jboss.aop.util.ClassLoaderUtils;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+/**
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class ClassLoaderUtilsTestCase extends TestCase
+{
+ public static Test suite()
+ {
+ return new TestSuite(ClassLoaderUtilsTestCase.class);
+ }
+
+ public ClassLoaderUtilsTestCase(String name)
+ {
+ super(name);
+ }
+
+ public void testClassResourceName()
+ {
+ String name = ClassLoaderUtils.getResourceName("org.acme.Test");
+ assertEquals("org/acme/Test.class", name);
+ }
+
+ public void testInnerClassResourceName()
+ {
+ String name = ClassLoaderUtils.getResourceName("org.acme.Test$Inner");
+ assertEquals("org/acme/Test$Inner.class", name);
+ }
+
+ public void testClassArrayResourceName()
+ {
+ String name = ClassLoaderUtils.getResourceName("org.acme.Test[]");
+ assertEquals("org/acme/Test.class", name);
+ }
+
+ public void testInnerClassArrayResourceName()
+ {
+ String name = ClassLoaderUtils.getResourceName("org.acme.Test$Inner[]");
+ assertEquals("org/acme/Test$Inner.class", name);
+ }
+
+ public void testClass2DArrayResourceName()
+ {
+ String name = ClassLoaderUtils.getResourceName("org.acme.Test[][]");
+ assertEquals("org/acme/Test.class", name);
+ }
+
+ public void testInnerClass2DArrayResourceName()
+ {
+ String name = ClassLoaderUtils.getResourceName("org.acme.Test$Inner[][]");
+ assertEquals("org/acme/Test$Inner.class", name);
+ }
+
+ public void testClassPackageName()
+ {
+ String name = ClassLoaderUtils.getPackageName("org.acme.Test");
+ assertEquals("org.acme", name);
+ }
+
+ public void testInnerClassPackageName()
+ {
+ String name = ClassLoaderUtils.getPackageName("org.acme.Test$Inner");
+ assertEquals("org.acme", name);
+ }
+}
More information about the jboss-cvs-commits
mailing list