Преглед изворни кода

Remove extra dependency on Commons Lang. This dependency is only required by the domain subproject, not the core security project.

Ben Alex пре 19 година
родитељ
комит
49a917b08d

+ 0 - 5
core/pom.xml

@@ -44,11 +44,6 @@
       <version>2.0.11</version>
       <optional>true</optional>
     </dependency>
-    <dependency>
-      <groupId>commons-lang</groupId>
-      <artifactId>commons-lang</artifactId>
-      <version>2.1</version>
-    </dependency>
     <dependency>
       <groupId>commons-logging</groupId>
       <artifactId>commons-logging</artifactId>

+ 17 - 6
core/src/main/java/org/acegisecurity/acl/basic/NamedEntityObjectIdentity.java

@@ -15,9 +15,8 @@
 
 package org.acegisecurity.acl.basic;
 
-import org.apache.commons.lang.ClassUtils;
-
 import org.springframework.util.Assert;
+import org.springframework.util.ClassUtils;
 
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
@@ -66,10 +65,10 @@ public class NamedEntityObjectIdentity implements AclObjectIdentity {
         throws IllegalAccessException, InvocationTargetException {
         Assert.notNull(object, "object cannot be null");
 
-        this.classname = (object.getClass().getPackage() == null)
-            ? ClassUtils.getShortClassName(object.getClass())
-            : (object.getClass().getPackage().getName() + "."
-            + ClassUtils.getShortClassName(object.getClass()));
+        this.classname = (getPackageName(object.getClass().getName()) == null)
+            ? ClassUtils.getShortName(object.getClass())
+            : getPackageName(object.getClass().getName() + "."
+                + ClassUtils.getShortName(object.getClass()));
 
         Class clazz = object.getClass();
 
@@ -134,6 +133,18 @@ public class NamedEntityObjectIdentity implements AclObjectIdentity {
         return id;
     }
 
+    private String getPackageName(String className) {
+        Assert.hasLength(className, "class name must not be empty");
+
+        int lastDotIndex = className.lastIndexOf(".");
+
+        if (lastDotIndex == -1) {
+            return null;
+        }
+
+        return className.substring(0, lastDotIndex);
+    }
+
     /**
      * Important so caching operates properly.
      *

+ 0 - 10
project.xml

@@ -211,16 +211,6 @@
         <war.bundle>true</war.bundle>
       </properties>
     </dependency>
-    <dependency>
-      <groupId>commons-lang</groupId>
-      <artifactId>commons-lang</artifactId>
-      <version>2.1</version>
-      <type>jar</type>
-      <url>http://jakarta.apache.org/commons</url>
-      <properties>
-        <war.bundle>true</war.bundle>
-      </properties>
-    </dependency>
     <dependency>
       <groupId>commons-logging</groupId>
       <artifactId>commons-logging</artifactId>