You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lenya.apache.org by mi...@apache.org on 2006/04/08 01:18:55 UTC

svn commit: r392447 - /lenya/trunk/src/java/org/apache/lenya/cms/ac/PublicationAccessControllerResolver.java

Author: michi
Date: Fri Apr  7 16:18:52 2006
New Revision: 392447

URL: http://svn.apache.org/viewcvs?rev=392447&view=rev
Log:
getConfiguration separated

Modified:
    lenya/trunk/src/java/org/apache/lenya/cms/ac/PublicationAccessControllerResolver.java

Modified: lenya/trunk/src/java/org/apache/lenya/cms/ac/PublicationAccessControllerResolver.java
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/java/org/apache/lenya/cms/ac/PublicationAccessControllerResolver.java?rev=392447&r1=392446&r2=392447&view=diff
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/ac/PublicationAccessControllerResolver.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/ac/PublicationAccessControllerResolver.java Fri Apr  7 16:18:52 2006
@@ -41,8 +41,7 @@
 public class PublicationAccessControllerResolver extends AbstractAccessControllerResolver implements
         Initializable {
 
-    protected static final String CONFIGURATION_FILE = "config/ac/ac.xconf".replace('/',
-            File.separatorChar);
+    protected static final String AC_CONFIGURATION_FILE = "config/ac/ac.xconf".replace('/', File.separatorChar);
     protected static final String TYPE_ATTRIBUTE = "type";
 
     /**
@@ -124,6 +123,27 @@
         return this.context;
     }
 
+    /**
+     * Retrieves access control configuration of a specific publication.
+     * @param publication The publication.
+     * @return Configuration
+     * @throws AccessControlException when something went wrong.
+     */
+    public Configuration getConfiguration(Publication publication) throws AccessControlException {
+        File configurationFile = new File(publication.getDirectory(), AC_CONFIGURATION_FILE);
+
+        if (configurationFile.isFile()) {
+            try {
+                Configuration configuration = new DefaultConfigurationBuilder().buildFromFile(configurationFile);
+                return configuration;
+            } catch (Exception e) {
+                throw new AccessControlException(e);
+            }
+        } else {
+            throw new AccessControlException("No such file or directory: " + configurationFile);
+        }
+    }
+
     private File context;
 
     /**
@@ -139,11 +159,9 @@
         assert publication != null;
 
         AccessController accessController = null;
-        File configurationFile = new File(publication.getDirectory(), CONFIGURATION_FILE);
 
-        if (configurationFile.isFile()) {
             try {
-                Configuration configuration = new DefaultConfigurationBuilder().buildFromFile(configurationFile);
+                Configuration configuration = getConfiguration(publication);
                 String type = configuration.getAttribute(TYPE_ATTRIBUTE);
 
                 accessController = (AccessController) getManager().lookup(AccessController.ROLE
@@ -156,7 +174,6 @@
             } catch (Exception e) {
                 throw new AccessControlException(e);
             }
-        }
 
         return accessController;
     }
@@ -188,4 +205,4 @@
         this.context = contextDir;
     }
 
-}
\ No newline at end of file
+}



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@lenya.apache.org
For additional commands, e-mail: commits-help@lenya.apache.org