Browse Source

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

Ben Alex 19 năm trước cách đây
mục cha
commit
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>