You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lenya.apache.org by an...@apache.org on 2006/12/14 17:59:13 UTC
svn commit: r487256 -
/lenya/trunk/src/modules-core/ac-impl/java/src/org/apache/lenya/ac/file/FilePolicyManager.java
Author: andreas
Date: Thu Dec 14 08:59:12 2006
New Revision: 487256
URL: http://svn.apache.org/viewvc?view=rev&rev=487256
Log:
Performance improvements in URL handling in file policy manager.
Modified:
lenya/trunk/src/modules-core/ac-impl/java/src/org/apache/lenya/ac/file/FilePolicyManager.java
Modified: lenya/trunk/src/modules-core/ac-impl/java/src/org/apache/lenya/ac/file/FilePolicyManager.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules-core/ac-impl/java/src/org/apache/lenya/ac/file/FilePolicyManager.java?view=diff&rev=487256&r1=487255&r2=487256
==============================================================================
--- lenya/trunk/src/modules-core/ac-impl/java/src/org/apache/lenya/ac/file/FilePolicyManager.java (original)
+++ lenya/trunk/src/modules-core/ac-impl/java/src/org/apache/lenya/ac/file/FilePolicyManager.java Thu Dec 14 08:59:12 2006
@@ -44,6 +44,7 @@
import org.apache.cocoon.util.NetUtils;
import org.apache.excalibur.source.Source;
import org.apache.excalibur.source.SourceResolver;
+import org.apache.excalibur.source.SourceUtil;
import org.apache.lenya.ac.AccessControlException;
import org.apache.lenya.ac.Accreditable;
import org.apache.lenya.ac.AccreditableManager;
@@ -192,8 +193,7 @@
url = "";
}
- File policyFile = new File(getPoliciesDirectory(), url + File.separator + policyFilename);
- String policyUri = policyFile.toURI().toString();
+ final String policyUri = this.policiesDirectoryUri + "/" + url + "/" + policyFilename;
if (getLogger().isDebugEnabled()) {
getLogger().debug("Computing policy URI [" + policyUri + "]");
}
@@ -210,13 +210,23 @@
*/
protected File getPolicyFile(String url, String policyFilename) throws AccessControlException {
String fileUri = getPolicySourceURI(url, policyFilename);
- File file;
+ SourceResolver resolver = null;
+ Source source = null;
try {
- file = new File(new URI(NetUtils.encodePath(fileUri)));
+ resolver = (SourceResolver) this.serviceManager.lookup(SourceResolver.ROLE);
+ source = resolver.resolveURI(fileUri);
+ return SourceUtil.getFile(source);
} catch (final Exception e) {
throw new AccessControlException(e);
}
- return file;
+ finally {
+ if (resolver != null) {
+ if (source != null) {
+ resolver.release(source);
+ }
+ this.serviceManager.release(resolver);
+ }
+ }
}
/**
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@lenya.apache.org
For additional commands, e-mail: commits-help@lenya.apache.org