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 2003/11/13 18:06:39 UTC
cvs commit: cocoon-lenya/src/webapp/lenya/content/info access-control.xsp ac-live.xsp
andreas 2003/11/13 09:06:39
Modified: src/webapp/lenya/content/info access-control.xsp
Removed: src/webapp/lenya/content/info ac-live.xsp
Log:
- refactoring access control
- removed obsolete file
Revision Changes Path
1.3 +31 -13 cocoon-lenya/src/webapp/lenya/content/info/access-control.xsp
Index: access-control.xsp
===================================================================
RCS file: /home/cvs/cocoon-lenya/src/webapp/lenya/content/info/access-control.xsp,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- access-control.xsp 13 Nov 2003 16:20:08 -0000 1.2
+++ access-control.xsp 13 Nov 2003 17:06:39 -0000 1.3
@@ -16,12 +16,17 @@
<xsp:structure>
<xsp:include>java.io.IOException</xsp:include>
<xsp:include>org.apache.cocoon.environment.Session</xsp:include>
+ <xsp:include>org.apache.lenya.ac.Accreditable</xsp:include>
+ <xsp:include>org.apache.lenya.ac.Group</xsp:include>
+ <xsp:include>org.apache.lenya.ac.GroupManager</xsp:include>
+ <xsp:include>org.apache.lenya.ac.IPRange</xsp:include>
+ <xsp:include>org.apache.lenya.ac.IPRangeManager</xsp:include>
<xsp:include>org.apache.lenya.ac.Item</xsp:include>
- <xsp:include>org.apache.lenya.ac.ItemManager</xsp:include>
<xsp:include>org.apache.lenya.ac.Role</xsp:include>
<xsp:include>org.apache.lenya.ac.RoleManager</xsp:include>
- <xsp:include>org.apache.lenya.ac.Accreditable</xsp:include>
- <xsp:include>org.apache.lenya.ac.Credential</xsp:include>
+ <xsp:include>org.apache.lenya.ac.User</xsp:include>
+ <xsp:include>org.apache.lenya.ac.UserManager</xsp:include>
+ <xsp:include>org.apache.lenya.ac.impl.Credential</xsp:include>
<xsp:include>org.apache.lenya.cms.ac.cocoon.PolicyHelper</xsp:include>
<xsp:include>org.apache.lenya.cms.ac.cocoon.CredentialWrapper</xsp:include>
<xsp:include>org.apache.lenya.cms.publication.Publication</xsp:include>
@@ -40,26 +45,29 @@
<li:items>
<xsp:attribute name="type"><xsp:expr>types[i]</xsp:expr></xsp:attribute>
<xsp:logic>
- ItemManager manager = null;
+ Item[] items = null;
if (types[i].equals("user")) {
- manager = (ItemManager) <input:get-attribute module="access-control" name="user-manager" as="object"/>;
+ UserManager manager = (UserManager) <input:get-attribute module="access-control" name="user-manager" as="object"/>;
+ items = manager.getUsers();
}
else if (types[i].equals("group")) {
- manager = (ItemManager) <input:get-attribute module="access-control" name="group-manager" as="object"/>;
+ GroupManager manager = (GroupManager) <input:get-attribute module="access-control" name="group-manager" as="object"/>;
+ items = manager.getGroups();
}
else if (types[i].equals("iprange")) {
- manager = (ItemManager) <input:get-attribute module="access-control" name="iprange-manager" as="object"/>;
+ IPRangeManager manager = (IPRangeManager) <input:get-attribute module="access-control" name="iprange-manager" as="object"/>;
+ items = manager.getIPRanges();
}
else if (types[i].equals("role")) {
- manager = (ItemManager) <input:get-attribute module="access-control" name="role-manager" as="object"/>;
+ RoleManager manager = (RoleManager) <input:get-attribute module="access-control" name="role-manager" as="object"/>;
+ items = manager.getRoles();
}
- for (java.util.Iterator items = manager.getItems(); items.hasNext(); ) {
- Item item = (Item) items.next();
+ for (int j = 0; j < items.length; j++) {
<li:item>
- <xsp:attribute name="id"><xsp:expr>item.getId()</xsp:expr></xsp:attribute>
- <xsp:expr>item.getName()</xsp:expr>
+ <xsp:attribute name="id"><xsp:expr>items[j].getId()</xsp:expr></xsp:attribute>
+ <xsp:expr>items[j].getName()</xsp:expr>
</li:item>
}
</xsp:logic>
@@ -72,11 +80,21 @@
String roleId = request.getParameter("role_id");
String accreditableId = request.getParameter("accreditable_id");
- Item item = manager.getItem(accreditableId);
+ Item item = null;
+ for (int k = 0; k < items.length; k++) {
+ if (accreditableId.equals(items[k].getId())) {
+ item = items[k];
+ }
+ }
RoleManager roleManager = (RoleManager)
<input:get-attribute module="access-control" name="role-manager" as="object"/>;
Role role = roleManager.getRole(roleId);
+
+ if (role == null) {
+ throw new ProcessingException("Role [" + roleId + "] does not exist!");
+ }
+
helper.manipulateCredential(item, role, operations[j]);
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: lenya-cvs-unsubscribe@cocoon.apache.org
For additional commands, e-mail: lenya-cvs-help@cocoon.apache.org