Преглед на файлове

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

Ben Alex преди 19 години
родител
ревизия
49a917b08d
променени са 3 файла, в които са добавени 17 реда и са изтрити 21 реда
  1. 0 5
      core/pom.xml
  2. 17 6
      core/src/main/java/org/acegisecurity/acl/basic/NamedEntityObjectIdentity.java
  3. 0 10
      project.xml

+ 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>