[Yanel-commits] rev 32961 -
public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet
michi at wyona.com
michi at wyona.com
Wed Mar 5 20:50:46 CET 2008
Author: michi
Date: 2008-03-05 20:50:46 +0100 (Wed, 05 Mar 2008)
New Revision: 32961
Modified:
public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet/YanelServlet.java
Log:
writing of policies fixed
Modified: public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet/YanelServlet.java
===================================================================
--- public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet/YanelServlet.java 2008-03-05 19:49:22 UTC (rev 32960)
+++ public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet/YanelServlet.java 2008-03-05 19:50:46 UTC (rev 32961)
@@ -2220,6 +2220,7 @@
response.setStatus(response.SC_OK);
sb.append("<?xml version=\"1.0\"?><saved/>");
} catch(Exception e) {
+ log.error(e,e);
response.setStatus(response.SC_NOT_IMPLEMENTED);
sb.append("<?xml version=\"1.0\"?><not-saved>" + e.getMessage() + "</not-saved>");
}
@@ -2229,8 +2230,10 @@
String identitiesURL = "../.." + resource.getPath() + "?yanel.policy=update&get=identities";
//String saveURL = "../.." + resource.getPath() + "?yanel.policy=update&post=policy";
String saveURL = "?yanel.policy=update&post=policy";
+ String cancelURL = org.wyona.commons.io.PathUtil.getName(resource.getPath());
+ if (resource.getPath().endsWith("/")) cancelURL = "./";
- sb.append("<html><body><h1>Update Access Policy</h1><p><script language=\"javascript\">var getURLs = {\"identities-url\": \"" + identitiesURL + "\", \"policy-url\": \"../.." + resource.getPath() + "?yanel.policy=update&get=policy\", \"cancel-url\": \"" + org.wyona.commons.io.PathUtil.getName(resource.getPath()) + "\", \"save-url\": \"" + saveURL + "\"};</script><script language=\"javascript\" src=\"" + backToRealm + reservedPrefix + "/org.wyona.security.gwt.accesspolicyeditor.AccessPolicyEditor/org.wyona.security.gwt.accesspolicyeditor.AccessPolicyEditor.nocache.js\"></script></p></body></html>");
+ sb.append("<html><body><h1>Update Access Policy</h1><p><script language=\"javascript\">var getURLs = {\"identities-url\": \"" + identitiesURL + "\", \"policy-url\": \"../.." + resource.getPath() + "?yanel.policy=update&get=policy\", \"cancel-url\": \"" + cancelURL + "\", \"save-url\": \"" + saveURL + "\"};</script><script language=\"javascript\" src=\"" + backToRealm + reservedPrefix + "/org.wyona.security.gwt.accesspolicyeditor.AccessPolicyEditor/org.wyona.security.gwt.accesspolicyeditor.AccessPolicyEditor.nocache.js\"></script></p></body></html>");
}
} else {
response.setContentType("text/html; charset=" + DEFAULT_ENCODING);
@@ -2356,10 +2359,15 @@
StringBuffer sb = new StringBuffer("<?xml version=\"1.0\"?>");
try {
- Policy policy = pm.getPolicy(path, true);
- sb.append("<policy xmlns=\"http://www.wyona.org/security/1.0\" use-inherited-policies=\"" + policy.useInheritedPolicies() + "\">");
- sb.append(getPolicyIdentities(policy));
- sb.append(getPolicyGroups(policy));
+ Policy policy = pm.getPolicy(path, false);
+ if (policy == null) {
+ sb.append("<policy xmlns=\"http://www.wyona.org/security/1.0\" use-inherited-policies=\"false\">");
+ log.warn("No policy yet for path: " + path + " (Return empty policy)");
+ } else {
+ sb.append("<policy xmlns=\"http://www.wyona.org/security/1.0\" use-inherited-policies=\"" + policy.useInheritedPolicies() + "\">");
+ sb.append(getPolicyIdentities(policy));
+ sb.append(getPolicyGroups(policy));
+ }
} catch(Exception e) {
log.error(e, e);
sb.append("<policy xmlns=\"http://www.wyona.org/security/1.0\">");
@@ -2459,7 +2467,7 @@
* Write/Save policy
*/
private void writePolicy(InputStream policyAsInputStream, PolicyManager pm, String path) throws Exception {
- Policy policy = new org.wyona.security.impl.PolicyImplV2(policyAsInputStream);
+ Policy policy = new org.wyona.security.util.PolicyParser().parseXML(policyAsInputStream);
pm.setPolicy(path, policy);
}
}
More information about the Yanel-commits
mailing list