Author: struberg
Date: Wed Dec 26 13:20:05 2012
New Revision: 1425899

URL: http://svn.apache.org/viewvc?rev=1425899&view=rev
Log:
fix AccessLevel reporting and check

Modified:
    commons/sandbox/privilizer/trunk/example/pom.xml
    
commons/sandbox/privilizer/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/FilesystemPrivilizer.java
    
commons/sandbox/privilizer/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/Privilizer.java
    
commons/sandbox/privilizer/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/PrivilizerWeaver.java

Modified: commons/sandbox/privilizer/trunk/example/pom.xml
URL: 
http://svn.apache.org/viewvc/commons/sandbox/privilizer/trunk/example/pom.xml?rev=1425899&r1=1425898&r2=1425899&view=diff
==============================================================================
--- commons/sandbox/privilizer/trunk/example/pom.xml (original)
+++ commons/sandbox/privilizer/trunk/example/pom.xml Wed Dec 26 13:20:05 2012
@@ -43,7 +43,7 @@
         <version>${project.version}</version>
         <configuration>
           <weaverConfig>
-            <privilizer.accessLevel>PRIVATE</privilizer.accessLevel>
+            <privilizer.accessLevel>PACKAGE</privilizer.accessLevel>
             <privilizer.policy>ON_INIT</privilizer.policy>
           </weaverConfig>
         </configuration>
@@ -83,7 +83,7 @@
                   <pluginExecutionFilter>
                     <groupId>org.apache.commons</groupId>
                     <artifactId>commons-privilizer-maven-plugin</artifactId>
-                    <versionRange>[1.0-SNAPSHOT,)</versionRange>
+                    <versionRange>[0.1-SNAPSHOT,)</versionRange>
                     <goals>
                       <goal>prepare</goal>
                       <goal>weave</goal>

Modified: 
commons/sandbox/privilizer/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/FilesystemPrivilizer.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/privilizer/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/FilesystemPrivilizer.java?rev=1425899&r1=1425898&r2=1425899&view=diff
==============================================================================
--- 
commons/sandbox/privilizer/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/FilesystemPrivilizer.java
 (original)
+++ 
commons/sandbox/privilizer/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/FilesystemPrivilizer.java
 Wed Dec 26 13:20:05 2012
@@ -34,6 +34,8 @@ import org.apache.commons.lang3.Validate
  * Handles weaving of methods annotated with {@link Privileged}.
  */
 public class FilesystemPrivilizer extends Privilizer<FilesystemPrivilizer> {
+
+
     private static ClassPool createClassPool(ClassLoader classpath, File 
target) {
         final ClassPool result = new ClassPool();
         try {

Modified: 
commons/sandbox/privilizer/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/Privilizer.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/privilizer/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/Privilizer.java?rev=1425899&r1=1425898&r2=1425899&view=diff
==============================================================================
--- 
commons/sandbox/privilizer/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/Privilizer.java
 (original)
+++ 
commons/sandbox/privilizer/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/Privilizer.java
 Wed Dec 26 13:20:05 2012
@@ -234,6 +234,10 @@ public abstract class Privilizer<SELF ex
         log.info(String.format(message, args));
     }
 
+    protected AccessLevel getTargetAccessLevel() {
+        return AccessLevel.PRIVATE;
+    }
+
     protected boolean permitMethodWeaving(AccessLevel accessLevel) {
         return true;
     }
@@ -346,8 +350,8 @@ public abstract class Privilizer<SELF ex
         final AccessLevel accessLevel = AccessLevel.of(method.getModifiers());
         if (!permitMethodWeaving(accessLevel)) {
             throw new IllegalAccessException("Method " + type.getName() + "#" 
+  toString(method)
-                                             + " must have maximum access 
level " + accessLevel
-                                             + " but is defined wider");
+                                             + " must have maximum access 
level '" + getTargetAccessLevel()
+                                             + "' but is defined wider ('" + 
accessLevel + "')");
         }
         if (AccessLevel.PACKAGE.compareTo(accessLevel) > 0) {
             warn("Possible security leak: granting privileges to %s method 
%s.%s", accessLevel, type.getName(),

Modified: 
commons/sandbox/privilizer/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/PrivilizerWeaver.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/privilizer/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/PrivilizerWeaver.java?rev=1425899&r1=1425898&r2=1425899&view=diff
==============================================================================
--- 
commons/sandbox/privilizer/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/PrivilizerWeaver.java
 (original)
+++ 
commons/sandbox/privilizer/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/PrivilizerWeaver.java
 Wed Dec 26 13:20:05 2012
@@ -36,6 +36,7 @@ public class PrivilizerWeaver implements
 
     private AccessLevel targetAccessLevel;
 
+
     @Override
     public void configure(List<String> classPath, File target, Properties 
config)
     {
@@ -58,6 +59,12 @@ public class PrivilizerWeaver implements
             protected boolean permitMethodWeaving(final AccessLevel 
accessLevel) {
                 return targetAccessLevel.compareTo(accessLevel) <= 0;
             }
+
+            @Override
+            protected AccessLevel getTargetAccessLevel()
+            {
+                return targetAccessLevel;
+            }
         };
 
     }


Reply via email to