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