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 &lt; 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 &lt; 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