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/06/22 12:09:44 UTC

svn commit: r416313 [1/2] - in /lenya/trunk/src: impl/java/org/apache/lenya/ac/cache/ impl/java/org/apache/lenya/ac/cifs/ impl/java/org/apache/lenya/ac/file/ impl/java/org/apache/lenya/ac/impl/ impl/java/org/apache/lenya/ac/ldap/ impl/java/org/apache/l...

Author: andreas
Date: Thu Jun 22 03:09:34 2006
New Revision: 416313

URL: http://svn.apache.org/viewvc?rev=416313&view=rev
Log:
Moved AC impl and admin usecases to modules

Added:
    lenya/trunk/src/modules-core/
    lenya/trunk/src/modules-core/administration/
    lenya/trunk/src/modules-core/administration/config/
    lenya/trunk/src/modules-core/administration/config/cocoon-xconf/
    lenya/trunk/src/modules-core/administration/config/cocoon-xconf/tabs.xconf
      - copied unchanged from r415937, lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/tabs.xconf
    lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-addGroup.xconf
      - copied, changed from r415937, lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-addGroup.xconf
    lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-addIPRange.xconf
      - copied, changed from r415937, lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-addIPRange.xconf
    lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-addUser.xconf
      - copied, changed from r415937, lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-addUser.xconf
    lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-changePassword.xconf
      - copied, changed from r415937, lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-changePassword.xconf
    lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-changePasswordAdmin.xconf
      - copied, changed from r415937, lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-changePasswordAdmin.xconf
    lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-deleteGroup.xconf
      - copied, changed from r415937, lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-deleteGroup.xconf
    lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-deleteIPRange.xconf
      - copied, changed from r415937, lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-deleteIPRange.xconf
    lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-deleteUser.xconf
      - copied, changed from r415937, lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-deleteUser.xconf
    lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-emptyTrash.xconf
      - copied, changed from r415937, lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-emptyTrash.xconf
    lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-group.xconf
      - copied, changed from r415937, lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-group.xconf
    lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-groupMembers.xconf
      - copied, changed from r415937, lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-groupMembers.xconf
    lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-groupProfile.xconf
      - copied, changed from r415937, lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-groupProfile.xconf
    lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-groups.xconf
      - copied, changed from r415937, lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-groups.xconf
    lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-ipRange.xconf
      - copied, changed from r415937, lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-ipRange.xconf
    lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-ipRangeGroups.xconf
      - copied, changed from r415937, lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-ipRangeGroups.xconf
    lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-ipRangeProfile.xconf
      - copied, changed from r415937, lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-ipRangeProfile.xconf
    lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-ipRanges.xconf
      - copied, changed from r415937, lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-ipRanges.xconf
    lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-serverStatus.xconf
      - copied, changed from r415937, lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-serverStatus.xconf
    lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-sessions.xconf
      - copied, changed from r415937, lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-sessions.xconf
    lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-siteOverview.xconf
      - copied, changed from r415937, lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-siteOverview.xconf
    lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-user.xconf
      - copied, changed from r415937, lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-user.xconf
    lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-userGroups.xconf
      - copied, changed from r415937, lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-userGroups.xconf
    lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-userProfile.xconf
      - copied, changed from r415937, lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-userProfile.xconf
    lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-users.xconf
      - copied, changed from r415937, lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-users.xconf
    lenya/trunk/src/modules-core/administration/java/
    lenya/trunk/src/modules-core/administration/java/src/
    lenya/trunk/src/modules-core/administration/java/src/org/
    lenya/trunk/src/modules-core/administration/java/src/org/apache/
    lenya/trunk/src/modules-core/administration/java/src/org/apache/lenya/
    lenya/trunk/src/modules-core/administration/java/src/org/apache/lenya/cms/
    lenya/trunk/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/
    lenya/trunk/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/
    lenya/trunk/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/AccessControl.java
    lenya/trunk/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/AddGroup.java
    lenya/trunk/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/AddIPRange.java
    lenya/trunk/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/AddUser.java
      - copied unchanged from r416133, lenya/trunk/src/impl/java/org/apache/lenya/cms/ac/usecases/AddUser.java
    lenya/trunk/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/DeleteGroup.java
    lenya/trunk/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/DeleteIPRange.java
    lenya/trunk/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/DeleteUser.java
    lenya/trunk/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/Group.java
    lenya/trunk/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/GroupMembers.java
    lenya/trunk/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/GroupProfile.java
    lenya/trunk/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/Groups.java
    lenya/trunk/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/IPRange.java
    lenya/trunk/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/IPRangeGroups.java
    lenya/trunk/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/IPRangeProfile.java
    lenya/trunk/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/IPRanges.java
    lenya/trunk/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/SessionViewer.java
    lenya/trunk/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/User.java
    lenya/trunk/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/UserGroups.java
    lenya/trunk/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/UserPassword.java
    lenya/trunk/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/UserPasswordWithCheck.java
    lenya/trunk/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/UserProfile.java
    lenya/trunk/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/Users.java
    lenya/trunk/src/modules-core/administration/usecases/
    lenya/trunk/src/modules-core/administration/usecases/addGroup.jx   (contents, props changed)
      - copied, changed from r415937, lenya/trunk/src/webapp/lenya/usecases/admin/addGroup.jx
    lenya/trunk/src/modules-core/administration/usecases/addIPRange.jx
      - copied, changed from r415937, lenya/trunk/src/webapp/lenya/usecases/admin/addIPRange.jx
    lenya/trunk/src/modules-core/administration/usecases/addUser.jx   (contents, props changed)
      - copied, changed from r415937, lenya/trunk/src/webapp/lenya/usecases/admin/addUser.jx
    lenya/trunk/src/modules-core/administration/usecases/changePassword.jx   (contents, props changed)
      - copied, changed from r415937, lenya/trunk/src/webapp/lenya/usecases/admin/changePassword.jx
    lenya/trunk/src/modules-core/administration/usecases/deleteGroup.jx   (contents, props changed)
      - copied, changed from r415937, lenya/trunk/src/webapp/lenya/usecases/admin/deleteGroup.jx
    lenya/trunk/src/modules-core/administration/usecases/deleteUser.jx   (contents, props changed)
      - copied, changed from r415937, lenya/trunk/src/webapp/lenya/usecases/admin/deleteUser.jx
    lenya/trunk/src/modules-core/administration/usecases/emptyTrash.jx   (contents, props changed)
      - copied, changed from r415937, lenya/trunk/src/webapp/lenya/usecases/admin/emptyTrash.jx
    lenya/trunk/src/modules-core/administration/usecases/group.jx   (contents, props changed)
      - copied, changed from r415937, lenya/trunk/src/webapp/lenya/usecases/admin/group.jx
    lenya/trunk/src/modules-core/administration/usecases/groupMembers.jx   (contents, props changed)
      - copied, changed from r415937, lenya/trunk/src/webapp/lenya/usecases/admin/groupMembers.jx
    lenya/trunk/src/modules-core/administration/usecases/groupProfile.jx   (contents, props changed)
      - copied, changed from r415937, lenya/trunk/src/webapp/lenya/usecases/admin/groupProfile.jx
    lenya/trunk/src/modules-core/administration/usecases/groups.jx   (contents, props changed)
      - copied, changed from r415937, lenya/trunk/src/webapp/lenya/usecases/admin/groups.jx
    lenya/trunk/src/modules-core/administration/usecases/ipRange.jx
      - copied, changed from r415937, lenya/trunk/src/webapp/lenya/usecases/admin/ipRange.jx
    lenya/trunk/src/modules-core/administration/usecases/ipRangeGroups.jx
      - copied, changed from r415937, lenya/trunk/src/webapp/lenya/usecases/admin/ipRangeGroups.jx
    lenya/trunk/src/modules-core/administration/usecases/ipRangeProfile.jx
      - copied, changed from r415937, lenya/trunk/src/webapp/lenya/usecases/admin/ipRangeProfile.jx
    lenya/trunk/src/modules-core/administration/usecases/ipRanges.jx   (contents, props changed)
      - copied, changed from r415937, lenya/trunk/src/webapp/lenya/usecases/admin/ipRanges.jx
    lenya/trunk/src/modules-core/administration/usecases/serverStatus.jx   (contents, props changed)
      - copied, changed from r415937, lenya/trunk/src/webapp/lenya/usecases/admin/serverStatus.jx
    lenya/trunk/src/modules-core/administration/usecases/sessions.jx   (contents, props changed)
      - copied, changed from r415937, lenya/trunk/src/webapp/lenya/usecases/admin/sessions.jx
    lenya/trunk/src/modules-core/administration/usecases/siteOverview.jx
      - copied, changed from r415937, lenya/trunk/src/webapp/lenya/usecases/admin/siteOverview.jx
    lenya/trunk/src/modules-core/administration/usecases/usecase.xmap
      - copied, changed from r415937, lenya/trunk/src/webapp/lenya/usecases/admin/usecase.xmap
    lenya/trunk/src/modules-core/administration/usecases/user.jx   (props changed)
      - copied unchanged from r415937, lenya/trunk/src/webapp/lenya/usecases/admin/user.jx
    lenya/trunk/src/modules-core/administration/usecases/userGroups.jx   (contents, props changed)
      - copied, changed from r415937, lenya/trunk/src/webapp/lenya/usecases/admin/userGroups.jx
    lenya/trunk/src/modules-core/administration/usecases/userProfile.jx   (contents, props changed)
      - copied, changed from r415937, lenya/trunk/src/webapp/lenya/usecases/admin/userProfile.jx
    lenya/trunk/src/modules-core/administration/usecases/users.jx   (contents, props changed)
      - copied, changed from r415937, lenya/trunk/src/webapp/lenya/usecases/admin/users.jx
    lenya/trunk/src/modules-core/ldap/
    lenya/trunk/src/modules-core/ldap/java/
    lenya/trunk/src/modules-core/ldap/java/src/
    lenya/trunk/src/modules-core/ldap/java/src/org/
    lenya/trunk/src/modules-core/ldap/java/src/org/apache/
    lenya/trunk/src/modules-core/ldap/java/src/org/apache/lenya/
    lenya/trunk/src/modules-core/ldap/java/src/org/apache/lenya/ac/
    lenya/trunk/src/modules-core/ldap/java/src/org/apache/lenya/ac/ldap/
      - copied from r415937, lenya/trunk/src/impl/java/org/apache/lenya/ac/ldap/
    lenya/trunk/src/modules-core/ldap/java/src/org/apache/lenya/ac/ldap/LDAPUser.java
      - copied unchanged from r416311, lenya/trunk/src/impl/java/org/apache/lenya/ac/ldap/LDAPUser.java
Removed:
    lenya/trunk/src/impl/java/org/apache/lenya/ac/cache/
    lenya/trunk/src/impl/java/org/apache/lenya/ac/cifs/
    lenya/trunk/src/impl/java/org/apache/lenya/ac/file/
    lenya/trunk/src/impl/java/org/apache/lenya/ac/impl/
    lenya/trunk/src/impl/java/org/apache/lenya/ac/ldap/
    lenya/trunk/src/impl/java/org/apache/lenya/cms/ac/DocumentPolicyManagerWrapper.java
    lenya/trunk/src/impl/java/org/apache/lenya/cms/ac/PublicationAccessControllerResolver.java
    lenya/trunk/src/impl/java/org/apache/lenya/cms/ac/SitemapPolicyManager.java
    lenya/trunk/src/impl/java/org/apache/lenya/cms/ac/usecase/
    lenya/trunk/src/impl/java/org/apache/lenya/cms/ac/usecases/AddUser.java
    lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/AccessControl.java
    lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/AddGroup.java
    lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/AddIPRange.java
    lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/DeleteGroup.java
    lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/DeleteIPRange.java
    lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/DeleteUser.java
    lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/Group.java
    lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/GroupMembers.java
    lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/GroupProfile.java
    lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/Groups.java
    lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/IPRange.java
    lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/IPRangeGroups.java
    lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/IPRangeProfile.java
    lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/IPRanges.java
    lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/SessionViewer.java
    lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/User.java
    lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/UserGroups.java
    lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/UserPassword.java
    lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/UserPasswordWithCheck.java
    lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/UserProfile.java
    lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/Users.java
    lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/tabs.xconf
    lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-addGroup.xconf
    lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-addIPRange.xconf
    lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-addUser.xconf
    lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-changePassword.xconf
    lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-changePasswordAdmin.xconf
    lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-deleteGroup.xconf
    lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-deleteIPRange.xconf
    lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-deleteUser.xconf
    lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-emptyTrash.xconf
    lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-group.xconf
    lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-groupMembers.xconf
    lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-groupProfile.xconf
    lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-groups.xconf
    lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-ipRange.xconf
    lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-ipRangeGroups.xconf
    lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-ipRangeProfile.xconf
    lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-ipRanges.xconf
    lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-serverStatus.xconf
    lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-sessions.xconf
    lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-siteOverview.xconf
    lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-user.xconf
    lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-userGroups.xconf
    lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-userProfile.xconf
    lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-users.xconf
    lenya/trunk/src/webapp/lenya/usecases/admin/addGroup.jx
    lenya/trunk/src/webapp/lenya/usecases/admin/addIPRange.jx
    lenya/trunk/src/webapp/lenya/usecases/admin/addUser.jx
    lenya/trunk/src/webapp/lenya/usecases/admin/changePassword.jx
    lenya/trunk/src/webapp/lenya/usecases/admin/deleteGroup.jx
    lenya/trunk/src/webapp/lenya/usecases/admin/deleteUser.jx
    lenya/trunk/src/webapp/lenya/usecases/admin/emptyTrash.jx
    lenya/trunk/src/webapp/lenya/usecases/admin/group.jx
    lenya/trunk/src/webapp/lenya/usecases/admin/groupMembers.jx
    lenya/trunk/src/webapp/lenya/usecases/admin/groupProfile.jx
    lenya/trunk/src/webapp/lenya/usecases/admin/groups.jx
    lenya/trunk/src/webapp/lenya/usecases/admin/ipRange.jx
    lenya/trunk/src/webapp/lenya/usecases/admin/ipRangeGroups.jx
    lenya/trunk/src/webapp/lenya/usecases/admin/ipRangeProfile.jx
    lenya/trunk/src/webapp/lenya/usecases/admin/ipRanges.jx
    lenya/trunk/src/webapp/lenya/usecases/admin/serverStatus.jx
    lenya/trunk/src/webapp/lenya/usecases/admin/sessions.jx
    lenya/trunk/src/webapp/lenya/usecases/admin/siteOverview.jx
    lenya/trunk/src/webapp/lenya/usecases/admin/usecase.xmap
    lenya/trunk/src/webapp/lenya/usecases/admin/user.jx
    lenya/trunk/src/webapp/lenya/usecases/admin/userGroups.jx
    lenya/trunk/src/webapp/lenya/usecases/admin/userProfile.jx
    lenya/trunk/src/webapp/lenya/usecases/admin/users.jx

Copied: lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-addGroup.xconf (from r415937, lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-addGroup.xconf)
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-addGroup.xconf?p2=lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-addGroup.xconf&p1=lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-addGroup.xconf&r1=415937&r2=416313&rev=416313&view=diff
==============================================================================
--- lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-addGroup.xconf (original)
+++ lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-addGroup.xconf Thu Jun 22 03:09:34 2006
@@ -23,7 +23,7 @@
   <xconf xpath="/cocoon/usecases" unless="/cocoon/usecases/component-instance[@name = 'admin.groups']">
 
     <component-instance name="admin.addGroup" logger="lenya.admin" class="org.apache.lenya.cms.ac.usecases.AddGroup">
-      <view template="usecases/admin/addGroup.jx" menu="true">
+      <view template="modules/administration/usecases/addGroup.jx" menu="true">
         <tab group="admin" name="groups"/>
       </view>
       <exit usecase="admin.group"/>

Copied: lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-addIPRange.xconf (from r415937, lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-addIPRange.xconf)
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-addIPRange.xconf?p2=lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-addIPRange.xconf&p1=lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-addIPRange.xconf&r1=415937&r2=416313&rev=416313&view=diff
==============================================================================
--- lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-addIPRange.xconf (original)
+++ lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-addIPRange.xconf Thu Jun 22 03:09:34 2006
@@ -22,7 +22,7 @@
 
   <xconf xpath="/cocoon/usecases" unless="/cocoon/usecases/component-instance[@name = 'admin.addIPRange']">
     <component-instance name="admin.addIPRange" logger="lenya.admin" class="org.apache.lenya.cms.ac.usecases.AddIPRange">
-      <view template="usecases/admin/addIPRange.jx" menu="true">
+      <view template="modules/administration/usecases/addIPRange.jx" menu="true">
         <tab group="admin" name="ipRanges"/>
       </view>
       <exit usecase="admin.ipRanges"/>

Copied: lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-addUser.xconf (from r415937, lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-addUser.xconf)
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-addUser.xconf?p2=lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-addUser.xconf&p1=lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-addUser.xconf&r1=415937&r2=416313&rev=416313&view=diff
==============================================================================
--- lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-addUser.xconf (original)
+++ lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-addUser.xconf Thu Jun 22 03:09:34 2006
@@ -23,7 +23,7 @@
   <xconf xpath="/cocoon/usecases" unless="/cocoon/usecases/component-instance[@name = 'admin.addUser']">
 
     <component-instance name="admin.addUser" logger="lenya.admin" class="org.apache.lenya.cms.ac.usecases.AddUser">
-      <view template="usecases/admin/addUser.jx" menu="true">
+      <view template="modules/administration/usecases/addUser.jx" menu="true">
         <tab group="admin" name="users"/>
       </view>
       <exit usecase="admin.user"/>

Copied: lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-changePassword.xconf (from r415937, lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-changePassword.xconf)
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-changePassword.xconf?p2=lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-changePassword.xconf&p1=lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-changePassword.xconf&r1=415937&r2=416313&rev=416313&view=diff
==============================================================================
--- lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-changePassword.xconf (original)
+++ lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-changePassword.xconf Thu Jun 22 03:09:34 2006
@@ -24,7 +24,7 @@
 
     <component-instance name="admin.changePassword" logger="lenya.admin"
       class="org.apache.lenya.cms.ac.usecases.UserPasswordWithCheck">
-      <view template="usecases/admin/changePassword.jx" menu="true">
+      <view template="modules/administration/usecases/changePassword.jx" menu="true">
         <tab group="admin" name="users"/>
         <parameter name="checkPassword" value="true"/>
       </view>

Copied: lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-changePasswordAdmin.xconf (from r415937, lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-changePasswordAdmin.xconf)
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-changePasswordAdmin.xconf?p2=lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-changePasswordAdmin.xconf&p1=lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-changePasswordAdmin.xconf&r1=415937&r2=416313&rev=416313&view=diff
==============================================================================
--- lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-changePasswordAdmin.xconf (original)
+++ lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-changePasswordAdmin.xconf Thu Jun 22 03:09:34 2006
@@ -23,7 +23,7 @@
   <xconf xpath="/cocoon/usecases" unless="/cocoon/usecases/component-instance[@name = 'admin.changePasswordAdmin']">
 
     <component-instance name="admin.changePasswordAdmin" logger="lenya.admin" class="org.apache.lenya.cms.ac.usecases.UserPassword">
-      <view template="usecases/admin/changePassword.jx" menu="true">
+      <view template="modules/administration/usecases/changePassword.jx" menu="true">
         <tab group="admin" name="users"/>
         <parameter name="checkPassword" value="false"/>
       </view>

Copied: lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-deleteGroup.xconf (from r415937, lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-deleteGroup.xconf)
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-deleteGroup.xconf?p2=lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-deleteGroup.xconf&p1=lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-deleteGroup.xconf&r1=415937&r2=416313&rev=416313&view=diff
==============================================================================
--- lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-deleteGroup.xconf (original)
+++ lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-deleteGroup.xconf Thu Jun 22 03:09:34 2006
@@ -22,7 +22,7 @@
 
   <xconf xpath="/cocoon/usecases" unless="/cocoon/usecases/component-instance[@name = 'admin.deleteGroup']">
     <component-instance name="admin.deleteGroup" logger="lenya.admin" class="org.apache.lenya.cms.ac.usecases.DeleteGroup">
-      <view template="usecases/admin/deleteGroup.jx" menu="true">
+      <view template="modules/administration/usecases/deleteGroup.jx" menu="true">
         <tab group="admin" name="groups"/>
       </view>
       <exit usecase="admin.groups"/>

Copied: lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-deleteIPRange.xconf (from r415937, lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-deleteIPRange.xconf)
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-deleteIPRange.xconf?p2=lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-deleteIPRange.xconf&p1=lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-deleteIPRange.xconf&r1=415937&r2=416313&rev=416313&view=diff
==============================================================================
--- lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-deleteIPRange.xconf (original)
+++ lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-deleteIPRange.xconf Thu Jun 22 03:09:34 2006
@@ -22,7 +22,7 @@
 
   <xconf xpath="/cocoon/usecases" unless="/cocoon/usecases/component-instance[@name = 'admin.ipRangeGroups']">
     <component-instance name="admin.deleteIPRange" logger="lenya.admin" class="org.apache.lenya.cms.ac.usecases.DeleteIPRange">
-      <view template="usecases/admin/deleteIPRange.jx" menu="true">
+      <view template="modules/administration/usecases/deleteIPRange.jx" menu="true">
         <tab group="admin" name="ipRanges"/>
       </view>
       <exit usecase="admin.ipRanges"/>

Copied: lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-deleteUser.xconf (from r415937, lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-deleteUser.xconf)
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-deleteUser.xconf?p2=lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-deleteUser.xconf&p1=lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-deleteUser.xconf&r1=415937&r2=416313&rev=416313&view=diff
==============================================================================
--- lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-deleteUser.xconf (original)
+++ lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-deleteUser.xconf Thu Jun 22 03:09:34 2006
@@ -23,7 +23,7 @@
   <xconf xpath="/cocoon/usecases" unless="/cocoon/usecases/component-instance[@name = 'admin.deleteUser']">
 
     <component-instance name="admin.deleteUser" logger="lenya.admin" class="org.apache.lenya.cms.ac.usecases.DeleteUser">
-      <view template="usecases/admin/deleteUser.jx" menu="true">
+      <view template="modules/administration/usecases/deleteUser.jx" menu="true">
         <tab group="admin" name="users"/>
       </view>
       <exit usecase="admin.users"/>

Copied: lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-emptyTrash.xconf (from r415937, lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-emptyTrash.xconf)
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-emptyTrash.xconf?p2=lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-emptyTrash.xconf&p1=lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-emptyTrash.xconf&r1=415937&r2=416313&rev=416313&view=diff
==============================================================================
--- lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-emptyTrash.xconf (original)
+++ lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-emptyTrash.xconf Thu Jun 22 03:09:34 2006
@@ -22,7 +22,7 @@
 
   <xconf xpath="/cocoon/usecases" unless="/cocoon/usecases/component-instance[@name = 'admin.emptyTrash']">
     <component-instance name="admin.emptyTrash" logger="lenya.admin" class="org.apache.lenya.cms.site.usecases.EmptyTrash">
-      <view template="usecases/admin/emptyTrash.jx" menu="true">
+      <view template="modules/administration/usecases/emptyTrash.jx" menu="true">
         <tab group="admin" name="trash"/>
       </view>
       <exit usecase="admin.emptyTrash"/>

Copied: lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-group.xconf (from r415937, lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-group.xconf)
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-group.xconf?p2=lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-group.xconf&p1=lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-group.xconf&r1=415937&r2=416313&rev=416313&view=diff
==============================================================================
--- lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-group.xconf (original)
+++ lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-group.xconf Thu Jun 22 03:09:34 2006
@@ -23,7 +23,7 @@
   <xconf xpath="/cocoon/usecases" unless="/cocoon/usecases/component-instance[@name = 'admin.group']">
 
     <component-instance name="admin.group" logger="lenya.admin" class="org.apache.lenya.cms.ac.usecases.Group">
-      <view template="usecases/admin/group.jx" menu="true">
+      <view template="modules/administration/usecases/group.jx" menu="true">
         <tab group="admin" name="groups"/>
       </view>
       <exit usecase="admin.groups"/>

Copied: lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-groupMembers.xconf (from r415937, lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-groupMembers.xconf)
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-groupMembers.xconf?p2=lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-groupMembers.xconf&p1=lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-groupMembers.xconf&r1=415937&r2=416313&rev=416313&view=diff
==============================================================================
--- lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-groupMembers.xconf (original)
+++ lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-groupMembers.xconf Thu Jun 22 03:09:34 2006
@@ -23,7 +23,7 @@
   <xconf xpath="/cocoon/usecases" unless="/cocoon/usecases/component-instance[@name = 'admin.groupMembers']">
 
     <component-instance name="admin.groupMembers" logger="lenya.admin" class="org.apache.lenya.cms.ac.usecases.GroupMembers">
-      <view template="usecases/admin/groupMembers.jx" menu="true">
+      <view template="modules/administration/usecases/groupMembers.jx" menu="true">
         <tab group="admin" name="groups"/>
       </view>
       <exit usecase="admin.group">

Copied: lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-groupProfile.xconf (from r415937, lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-groupProfile.xconf)
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-groupProfile.xconf?p2=lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-groupProfile.xconf&p1=lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-groupProfile.xconf&r1=415937&r2=416313&rev=416313&view=diff
==============================================================================
--- lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-groupProfile.xconf (original)
+++ lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-groupProfile.xconf Thu Jun 22 03:09:34 2006
@@ -23,7 +23,7 @@
   <xconf xpath="/cocoon/usecases" unless="/cocoon/usecases/component-instance[@name = 'admin.groupProfile']">
 
     <component-instance name="admin.groupProfile" logger="lenya.admin" class="org.apache.lenya.cms.ac.usecases.GroupProfile">
-      <view template="usecases/admin/groupProfile.jx" menu="true">
+      <view template="modules/administration/usecases/groupProfile.jx" menu="true">
         <tab group="admin" name="groups"/>
       </view>
       <exit usecase="admin.group">

Copied: lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-groups.xconf (from r415937, lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-groups.xconf)
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-groups.xconf?p2=lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-groups.xconf&p1=lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-groups.xconf&r1=415937&r2=416313&rev=416313&view=diff
==============================================================================
--- lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-groups.xconf (original)
+++ lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-groups.xconf Thu Jun 22 03:09:34 2006
@@ -23,7 +23,7 @@
   <xconf xpath="/cocoon/usecases" unless="/cocoon/usecases/component-instance[@name = 'admin.groups']">
 
     <component-instance name="admin.groups" logger="lenya.admin" class="org.apache.lenya.cms.ac.usecases.Groups">
-      <view template="usecases/admin/groups.jx" menu="true">
+      <view template="modules/administration/usecases/groups.jx" menu="true">
         <tab group="admin" name="groups"/>
       </view>
       <exit usecase="admin.groups"/>

Copied: lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-ipRange.xconf (from r415937, lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-ipRange.xconf)
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-ipRange.xconf?p2=lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-ipRange.xconf&p1=lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-ipRange.xconf&r1=415937&r2=416313&rev=416313&view=diff
==============================================================================
--- lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-ipRange.xconf (original)
+++ lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-ipRange.xconf Thu Jun 22 03:09:34 2006
@@ -22,7 +22,7 @@
 
   <xconf xpath="/cocoon/usecases" unless="/cocoon/usecases/component-instance[@name = 'admin.addIPRange']">
     <component-instance name="admin.ipRange" logger="lenya.admin" class="org.apache.lenya.cms.ac.usecases.IPRange">
-      <view template="usecases/admin/ipRange.jx" menu="true">
+      <view template="modules/administration/usecases/ipRange.jx" menu="true">
         <tab group="admin" name="ipRanges"/>
       </view>
       <exit usecase="admin.ipRanges"/>

Copied: lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-ipRangeGroups.xconf (from r415937, lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-ipRangeGroups.xconf)
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-ipRangeGroups.xconf?p2=lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-ipRangeGroups.xconf&p1=lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-ipRangeGroups.xconf&r1=415937&r2=416313&rev=416313&view=diff
==============================================================================
--- lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-ipRangeGroups.xconf (original)
+++ lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-ipRangeGroups.xconf Thu Jun 22 03:09:34 2006
@@ -22,7 +22,7 @@
 
   <xconf xpath="/cocoon/usecases" unless="/cocoon/usecases/component-instance[@name = 'admin.ipRangeGroups']">
     <component-instance name="admin.ipRangeGroups" logger="lenya.admin" class="org.apache.lenya.cms.ac.usecases.IPRangeGroups">
-      <view template="usecases/admin/ipRangeGroups.jx" menu="true">
+      <view template="modules/administration/usecases/ipRangeGroups.jx" menu="true">
         <tab group="admin" name="ipRanges"/>
       </view>
       <exit usecase="admin.ipRange">

Copied: lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-ipRangeProfile.xconf (from r415937, lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-ipRangeProfile.xconf)
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-ipRangeProfile.xconf?p2=lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-ipRangeProfile.xconf&p1=lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-ipRangeProfile.xconf&r1=415937&r2=416313&rev=416313&view=diff
==============================================================================
--- lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-ipRangeProfile.xconf (original)
+++ lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-ipRangeProfile.xconf Thu Jun 22 03:09:34 2006
@@ -22,7 +22,7 @@
 
   <xconf xpath="/cocoon/usecases" unless="/cocoon/usecases/component-instance[@name = 'admin.ipRangeProfile']">
     <component-instance name="admin.ipRangeProfile" logger="lenya.admin" class="org.apache.lenya.cms.ac.usecases.IPRangeProfile">
-      <view template="usecases/admin/ipRangeProfile.jx" menu="true">
+      <view template="modules/administration/usecases/ipRangeProfile.jx" menu="true">
         <tab group="admin" name="ipRanges"/>
       </view>
       <exit usecase="admin.ipRange">

Copied: lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-ipRanges.xconf (from r415937, lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-ipRanges.xconf)
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-ipRanges.xconf?p2=lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-ipRanges.xconf&p1=lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-ipRanges.xconf&r1=415937&r2=416313&rev=416313&view=diff
==============================================================================
--- lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-ipRanges.xconf (original)
+++ lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-ipRanges.xconf Thu Jun 22 03:09:34 2006
@@ -22,7 +22,7 @@
 
   <xconf xpath="/cocoon/usecases" unless="/cocoon/usecases/component-instance[@name = 'admin.ipRanges']">
     <component-instance name="admin.ipRanges" logger="lenya.admin" class="org.apache.lenya.cms.ac.usecases.IPRanges">
-      <view template="usecases/admin/ipRanges.jx" menu="true">
+      <view template="modules/administration/usecases/ipRanges.jx" menu="true">
         <tab group="admin" name="ipRanges"/>
       </view>
       <exit usecase="admin.ipRanges"/>

Copied: lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-serverStatus.xconf (from r415937, lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-serverStatus.xconf)
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-serverStatus.xconf?p2=lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-serverStatus.xconf&p1=lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-serverStatus.xconf&r1=415937&r2=416313&rev=416313&view=diff
==============================================================================
--- lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-serverStatus.xconf (original)
+++ lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-serverStatus.xconf Thu Jun 22 03:09:34 2006
@@ -22,7 +22,7 @@
 
   <xconf xpath="/cocoon/usecases" unless="/cocoon/usecases/component-instance[@name = 'admin.serverStatus']">
     <component-instance name="admin.serverStatus" logger="lenya.admin" class="org.apache.lenya.cms.usecase.DummyUsecase">
-      <view template="usecases/admin/serverStatus.jx" menu="true">
+      <view template="modules/administration/usecases/serverStatus.jx" menu="true">
         <tab group="admin" name="serverStatus"/>
       </view>
       <exit usecase="admin.serverStatus"/>

Copied: lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-sessions.xconf (from r415937, lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-sessions.xconf)
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-sessions.xconf?p2=lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-sessions.xconf&p1=lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-sessions.xconf&r1=415937&r2=416313&rev=416313&view=diff
==============================================================================
--- lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-sessions.xconf (original)
+++ lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-sessions.xconf Thu Jun 22 03:09:34 2006
@@ -22,7 +22,7 @@
 
   <xconf xpath="/cocoon/usecases" unless="/cocoon/usecases/component-instance[@name = 'admin.sessions']">
     <component-instance name="admin.sessions" logger="lenya.admin" class="org.apache.lenya.cms.ac.usecases.SessionViewer">
-      <view template="usecases/admin/sessions.jx" menu="true">
+      <view template="modules/administration/usecases/sessions.jx" menu="true">
         <tab group="admin" name="sessions"/>
       </view>
       <exit usecase="admin.sessions"/>

Copied: lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-siteOverview.xconf (from r415937, lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-siteOverview.xconf)
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-siteOverview.xconf?p2=lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-siteOverview.xconf&p1=lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-siteOverview.xconf&r1=415937&r2=416313&rev=416313&view=diff
==============================================================================
--- lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-siteOverview.xconf (original)
+++ lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-siteOverview.xconf Thu Jun 22 03:09:34 2006
@@ -22,7 +22,7 @@
 
   <xconf xpath="/cocoon/usecases" unless="/cocoon/usecases/component-instance[@name = 'admin.siteOverview']">
     <component-instance name="admin.siteOverview" logger="lenya.admin" class="org.apache.lenya.cms.site.usecases.SiteOverview">
-      <view template="usecases/admin/siteOverview.jx" menu="true">
+      <view template="modules/administration/usecases/siteOverview.jx" menu="true">
         <tab group="admin" name="siteOverview"/>
       </view>
       <exit usecase="admin.siteOverview"/>

Copied: lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-user.xconf (from r415937, lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-user.xconf)
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-user.xconf?p2=lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-user.xconf&p1=lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-user.xconf&r1=415937&r2=416313&rev=416313&view=diff
==============================================================================
--- lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-user.xconf (original)
+++ lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-user.xconf Thu Jun 22 03:09:34 2006
@@ -23,7 +23,7 @@
   <xconf xpath="/cocoon/usecases" unless="/cocoon/usecases/component-instance[@name = 'admin.users']">
 
     <component-instance name="admin.user" logger="lenya.admin" class="org.apache.lenya.cms.ac.usecases.User">
-      <view template="usecases/admin/user.jx" menu="true">
+      <view template="modules/administration/usecases/user.jx" menu="true">
         <tab group="admin" name="users"/>
       </view>
       <exit usecase="admin.users"/>

Copied: lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-userGroups.xconf (from r415937, lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-userGroups.xconf)
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-userGroups.xconf?p2=lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-userGroups.xconf&p1=lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-userGroups.xconf&r1=415937&r2=416313&rev=416313&view=diff
==============================================================================
--- lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-userGroups.xconf (original)
+++ lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-userGroups.xconf Thu Jun 22 03:09:34 2006
@@ -23,7 +23,7 @@
   <xconf xpath="/cocoon/usecases" unless="/cocoon/usecases/component-instance[@name = 'admin.userGroups']">
 
     <component-instance name="admin.userGroups" logger="lenya.admin" class="org.apache.lenya.cms.ac.usecases.UserGroups">
-      <view template="usecases/admin/userGroups.jx" menu="true">
+      <view template="modules/administration/usecases/userGroups.jx" menu="true">
         <tab group="admin" name="users"/>
       </view>
       <exit usecase="admin.user">

Copied: lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-userProfile.xconf (from r415937, lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-userProfile.xconf)
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-userProfile.xconf?p2=lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-userProfile.xconf&p1=lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-userProfile.xconf&r1=415937&r2=416313&rev=416313&view=diff
==============================================================================
--- lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-userProfile.xconf (original)
+++ lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-userProfile.xconf Thu Jun 22 03:09:34 2006
@@ -23,7 +23,7 @@
   <xconf xpath="/cocoon/usecases" unless="/cocoon/usecases/component-instance[@name = 'admin.userProfile']">
 
     <component-instance name="admin.userProfile" logger="lenya.admin" class="org.apache.lenya.cms.ac.usecases.UserProfile">
-      <view template="usecases/admin/userProfile.jx" menu="true">
+      <view template="modules/administration/usecases/userProfile.jx" menu="true">
         <tab group="admin" name="users"/>
       </view>
       <exit usecase="admin.user">

Copied: lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-users.xconf (from r415937, lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-users.xconf)
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-users.xconf?p2=lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-users.xconf&p1=lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-users.xconf&r1=415937&r2=416313&rev=416313&view=diff
==============================================================================
--- lenya/trunk/src/webapp/lenya/config/cocoon-xconf/usecases/admin/usecase-admin-users.xconf (original)
+++ lenya/trunk/src/modules-core/administration/config/cocoon-xconf/usecase-admin-users.xconf Thu Jun 22 03:09:34 2006
@@ -23,7 +23,7 @@
   <xconf xpath="/cocoon/usecases" unless="/cocoon/usecases/component-instance[@name = 'admin.users']">
 
     <component-instance name="admin.users" logger="lenya.admin" class="org.apache.lenya.cms.ac.usecases.Users">
-      <view template="usecases/admin/users.jx" menu="true">
+      <view template="modules/administration/usecases/users.jx" menu="true">
         <tab group="admin" name="users"/>
       </view>
       <exit usecase="admin.users"/>

Added: lenya/trunk/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/AccessControl.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/AccessControl.java?rev=416313&view=auto
==============================================================================
--- lenya/trunk/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/AccessControl.java (added)
+++ lenya/trunk/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/AccessControl.java Thu Jun 22 03:09:34 2006
@@ -0,0 +1,421 @@
+package org.apache.lenya.cms.ac.usecases;
+
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Iterator;
+import java.util.List;
+
+import org.apache.cocoon.ProcessingException;
+import org.apache.lenya.cms.publication.Document;
+import org.apache.lenya.cms.publication.DocumentFactory;
+import org.apache.lenya.cms.publication.Publication;
+import org.apache.lenya.cms.publication.URLInformation;
+import org.apache.lenya.cms.usecase.UsecaseException;
+
+import org.apache.lenya.ac.AccessControlException;
+import org.apache.lenya.ac.Accreditable;
+import org.apache.lenya.ac.AccreditableManager;
+import org.apache.lenya.ac.Group;
+import org.apache.lenya.ac.IPRange;
+import org.apache.lenya.ac.Item;
+import org.apache.lenya.ac.Policy;
+import org.apache.lenya.ac.Role;
+import org.apache.lenya.ac.User;
+import org.apache.lenya.ac.Credential;
+import org.apache.lenya.ac.ModifiablePolicy;
+import org.apache.lenya.ac.InheritingPolicyManager;
+
+/**
+ * Usecase to display the AccessControl tab in the site area for a document. This is a mix-in class
+ * that ideally would inherit both from AccessControlUsecase and DocumentUsecase. FIXME i just took
+ * the appropriate code from DocumentUsecase, maybe its possible to have a saner inheritance?
+ * 
+ * @version $Id: AccessControl.java 408702 2006-05-22 16:03:49Z andreas $
+ */
+
+public class AccessControl extends AccessControlUsecase {
+
+    protected static final String AC_AREA = "acArea";
+
+    private Item[] items = null;
+
+    protected static final String ADD = "add";
+    protected static final String DELETE = "delete";
+
+    protected static final String USER = "user";
+    protected static final String GROUP = "group";
+    protected static final String IPRANGE = "ipRange";
+    protected static final String ROLE = "role";
+    private static String[] types = { USER, GROUP, IPRANGE };
+    private static String[] operations = { ADD, DELETE };
+
+    protected static final String SSL = "ssl";
+    protected static final String ANCESTOR_SSL = "ancestorSsl";
+    protected static final String DOCUMENT = "document";
+    protected static final String URL_CREDENTIALS = "urlCredentials";
+    protected static final String PARENT_CREDENTIALS = "parentCredentials";
+    private String COMPLETE_AREA = "private.completeArea";
+
+    /**
+     * Ctor.
+     */
+    public AccessControl() {
+        super();
+    }
+
+    /**
+     * @see org.apache.lenya.cms.usecase.AbstractUsecase#initParameters()
+     */
+    protected void initParameters() {
+        super.initParameters();
+
+        try {
+            URLInformation info = new URLInformation(getSourceURL());
+            setParameter(COMPLETE_AREA, info.getCompleteArea());
+
+            DocumentFactory map = getDocumentIdentityMap();
+            Document sourceDocument = map.getFromURL(getSourceURL());
+            setParameter(DOCUMENT, sourceDocument);
+
+            setParameter(SSL, Boolean.toString(isSSLProtected()));
+            setParameter(ANCESTOR_SSL, Boolean.toString(isAncestorSSLProtected()));
+
+            User[] users = getUserManager().getUsers();
+            String[] userIds = new String[users.length];
+            for (int i = 0; i < users.length; i++) {
+                userIds[i] = users[i].getId();
+            }
+            Arrays.sort(userIds);
+            setParameter("users", userIds);
+
+            Group[] groups = getGroupManager().getGroups();
+            String[] groupIds = new String[groups.length];
+            for (int i = 0; i < groups.length; i++) {
+                groupIds[i] = groups[i].getId();
+            }
+            Arrays.sort(groupIds);
+            setParameter("groups", groupIds);
+
+            IPRange[] ipRanges = getIpRangeManager().getIPRanges();
+            String[] ipRangeIds = new String[ipRanges.length];
+            for (int i = 0; i < ipRanges.length; i++) {
+                ipRangeIds[i] = ipRanges[i].getId();
+            }
+            Arrays.sort(ipRangeIds);
+            setParameter("ipRanges", ipRangeIds);
+
+            Role[] roles = getRoleManager().getRoles();
+            String visitorRole = "";
+            String[] roleIds = new String[roles.length];
+            for (int i = 0; i < roles.length; i++) {
+                roleIds[i] = roles[i].getId();
+                if (roles[i].getId().equals("visit")) {
+                    visitorRole = roles[i].getId();
+                }
+            }
+            Arrays.sort(roleIds);
+            setParameter("roles", roleIds);
+            setParameter("visitorRole", visitorRole);
+
+            setParameter(URL_CREDENTIALS, getURICredentials());
+            setParameter(PARENT_CREDENTIALS, getParentCredentials());
+
+        } catch (final Exception e) {
+            addErrorMessage("Could not read a value.");
+            getLogger().error("Could not read value for AccessControl usecase. ", e);
+        }
+
+    }
+
+    /**
+     * @see org.apache.lenya.cms.usecase.AbstractUsecase#doCheckPreconditions()
+     */
+    protected void doCheckPreconditions() throws Exception {
+        super.doCheckPreconditions();
+        URLInformation info = new URLInformation(getSourceURL());
+        String acArea = getParameterAsString(AC_AREA);
+        if (!acArea.equals(Publication.LIVE_AREA) && !info.getArea().equals(acArea)) {
+            addErrorMessage("This usecase can only be invoked in the configured area.");
+        }
+    }
+
+    /**
+     * Validates the request parameters.
+     * @throws UsecaseException if an error occurs.
+     */
+    void validate() throws UsecaseException {
+        // do nothing
+    }
+
+    /**
+     * @see org.apache.lenya.cms.usecase.AbstractUsecase#doCheckExecutionConditions()
+     */
+    protected void doCheckExecutionConditions() throws Exception {
+        validate();
+    }
+
+    /**
+     * @see org.apache.lenya.cms.usecase.AbstractUsecase#doExecute()
+     */
+    public void doExecute() throws Exception {
+    }
+
+    /**
+     * @see org.apache.lenya.cms.usecase.Usecase#advance()
+     */
+    public void advance() throws UsecaseException {
+        super.advance();
+        try {
+            if (getParameterAsString("change_ssl") != null) {
+                String ssl = getParameterAsString("ssl");
+                if (ssl != null && ssl.equalsIgnoreCase(Boolean.toString(true))) {
+                    setSSLProtected(true);
+                } else {
+                    setSSLProtected(false);
+                }
+                deleteParameter("change_ssl");
+                deleteParameter("ssl");
+            }
+
+            for (int i = 0; i < types.length; i++) {
+                for (int j = 0; j < operations.length; j++) {
+                    String paramName = operations[j] + "Credential_" + types[i];
+                    if (getParameterAsString(paramName) != null) {
+                        String roleId = getParameterAsString(ROLE);
+
+                        String id = getParameterAsString(types[i]);
+                        Item item = null;
+                        if (types[i].equals(USER)) {
+                            item = getUserManager().getUser(id);
+                        } else if (types[i].equals(GROUP)) {
+                            item = getGroupManager().getGroup(id);
+                        } else if (types[i].equals(IPRANGE)) {
+                            item = getIpRangeManager().getIPRange(id);
+                        }
+                        if (item == null) {
+                            addErrorMessage("no_such_accreditable", new String[] { types[i], id });
+                        } else {
+                            Role role = getRoleManager().getRole(roleId);
+                            if (role == null) {
+                                addErrorMessage("role_no_such_role", new String[] { roleId });
+                            }
+                            manipulateCredential(item, role, operations[j]);
+                            setParameter(URL_CREDENTIALS, getURICredentials());
+                        }
+                        deleteParameter(paramName);
+                    }
+                }
+            }
+
+        } catch (Exception e) {
+            throw new UsecaseException(e);
+        }
+    }
+
+    /**
+     * @see org.apache.lenya.cms.usecase.Usecase#setParameter(java.lang.String, java.lang.Object)
+     */
+    public void setParameter(String name, Object value) {
+        super.setParameter(name, value);
+    }
+
+    /**
+     * @return Item the item
+     */
+    public Item[] getItems() {
+        return this.items;
+    }
+
+    /**
+     * Returns if one of the ancestors of this URL is SSL protected.
+     * @return A boolean value.
+     * @throws ProcessingException when something went wrong.
+     */
+    protected boolean isAncestorSSLProtected() throws ProcessingException {
+        boolean ssl;
+        try {
+            String ancestorUrl = "";
+            int lastSlashIndex = getPolicyURL().lastIndexOf("/");
+            if (lastSlashIndex != -1) {
+                ancestorUrl = getPolicyURL().substring(0, lastSlashIndex);
+            }
+
+            Policy policy = getPolicyManager().getPolicy(getAccreditableManager(), ancestorUrl);
+            ssl = policy.isSSLProtected();
+        } catch (AccessControlException e) {
+            throw new ProcessingException("Resolving policy failed: ", e);
+        }
+        return ssl;
+    }
+
+    /**
+     * Returns if one of the ancestors of this URL is SSL protected.
+     * @return A boolean value.
+     * @throws ProcessingException when something went wrong.
+     */
+    protected boolean isSSLProtected() throws ProcessingException {
+        boolean ssl;
+        try {
+            Policy policy = getPolicyManager().getPolicy(getAccreditableManager(), getPolicyURL());
+            ssl = policy.isSSLProtected();
+        } catch (AccessControlException e) {
+            throw new ProcessingException("Resolving policy failed: ", e);
+        }
+        return ssl;
+    }
+
+    /**
+     * Sets if this URL is SSL protected.
+     * @param ssl A boolean value.
+     * @throws ProcessingException when something went wrong.
+     */
+    protected void setSSLProtected(boolean ssl) throws ProcessingException {
+        try {
+            ModifiablePolicy policy = (ModifiablePolicy) getPolicyManager().buildSubtreePolicy(getAccreditableManager(),
+                    getPolicyURL());
+            policy.setSSL(ssl);
+            getPolicyManager().saveSubtreePolicy(getPolicyURL(), policy);
+        } catch (AccessControlException e) {
+            throw new ProcessingException("Resolving policy failed: ", e);
+        }
+    }
+
+    protected InheritingPolicyManager getPolicyManager() {
+        return (InheritingPolicyManager) getAccessController().getPolicyManager();
+    }
+
+    protected AccreditableManager getAccreditableManager() {
+        return getAccessController().getAccreditableManager();
+    }
+
+    /**
+     * Changes a credential by adding or deleting an item for a role.
+     * @param item The item to add or delete.
+     * @param role The role.
+     * @param operation The operation, either {@link #ADD}or {@link #DELETE}.
+     * @throws ProcessingException when something went wrong.
+     */
+    protected void manipulateCredential(Item item, Role role, String operation)
+            throws ProcessingException {
+
+        try {
+            ModifiablePolicy policy = (ModifiablePolicy) getPolicyManager().buildSubtreePolicy(getAccreditableManager(),
+                    getPolicyURL());
+            Accreditable accreditable = (Accreditable) item;
+
+            if (operation.equals(ADD)) {
+                policy.addRole(accreditable, role);
+            } else if (operation.equals(DELETE)) {
+                policy.removeRole(accreditable, role);
+            }
+
+            getPolicyManager().saveSubtreePolicy(getPolicyURL(), policy);
+
+        } catch (Exception e) {
+            throw new ProcessingException("Manipulating credential failed: ", e);
+        }
+    }
+
+    /**
+     * Returns the URI credential wrappers for the request of this object model.
+     * @return An array of CredentialWrappers.
+     * @throws ProcessingException when something went wrong.
+     */
+    public CredentialWrapper[] getURICredentials() throws ProcessingException {
+        return getCredentials(true);
+    }
+
+    /**
+     * Returns the credential wrappers for the parent URI of the URL belonging to the request of
+     * this object model.
+     * @return An array of CredentialWrappers.
+     * @throws ProcessingException when something went wrong.
+     */
+    public CredentialWrapper[] getParentCredentials() throws ProcessingException {
+        return getCredentials(false);
+    }
+
+    /**
+     * Returns the credentials of the policy of the selected URL.
+     * @param urlOnly If true, the URL policy credentials are returned. If false, the credentials of
+     *            all ancestor policies are returned.
+     * @return An array of CredentialWrappers.
+     * @throws ProcessingException when something went wrong.
+     */
+    public CredentialWrapper[] getCredentials(boolean urlOnly) throws ProcessingException {
+
+        List credentials = new ArrayList();
+
+        ModifiablePolicy policies[] = getPolicies(urlOnly);
+        List policyCredentials = new ArrayList();
+        for (int i = 0; i < policies.length; i++) {
+            Credential[] creds = policies[i].getCredentials();
+            for (int j = 0; j < creds.length; j++) {
+                policyCredentials.add(creds[j]);
+            }
+        }
+        for (Iterator i = policyCredentials.iterator(); i.hasNext();) {
+            Credential credential = (Credential) i.next();
+            Accreditable accreditable = credential.getAccreditable();
+            Role[] roles = credential.getRoles();
+            for (int j = 0; j < roles.length; j++) {
+                credentials.add(new CredentialWrapper(accreditable, roles[j]));
+            }
+        }
+        return (CredentialWrapper[]) credentials.toArray(new CredentialWrapper[credentials.size()]);
+    }
+
+    /**
+     * Returns the policies for a certain URL.
+     * @param onlyUrl If true, only the URL policies are returned. Otherwise, all ancestor policies
+     *            are returned.
+     * @return An array of DefaultPolicy objects.
+     * @throws ProcessingException when something went wrong.
+     */
+    protected ModifiablePolicy[] getPolicies(boolean onlyUrl) throws ProcessingException {
+
+        ModifiablePolicy[] policies;
+
+        try {
+            if (onlyUrl) {
+                policies = new ModifiablePolicy[1];
+                AccreditableManager policyManager = getAccreditableManager();
+                policies[0] = (ModifiablePolicy) getPolicyManager().buildSubtreePolicy(policyManager,
+                        getPolicyURL());
+            } else {
+                String ancestorUrl = "";
+
+                String currentUrl = getPolicyURL();
+                if (currentUrl.endsWith("/")) {
+                    currentUrl = currentUrl.substring(0, currentUrl.length() - 1);
+                }
+
+                int lastSlashIndex = currentUrl.lastIndexOf("/");
+                if (lastSlashIndex != -1) {
+                    ancestorUrl = currentUrl.substring(0, lastSlashIndex);
+                }
+                Policy[] pArray = getPolicyManager().getPolicies(getAccreditableManager(),
+                        ancestorUrl);
+                policies = new ModifiablePolicy[pArray.length];
+                for (int i = 0; i < pArray.length; i++) {
+                    policies[i] = (ModifiablePolicy) pArray[i];
+                }
+            }
+        } catch (AccessControlException e) {
+            throw new ProcessingException(e);
+        }
+
+        return policies;
+    }
+
+    protected String getPolicyURL() {
+        String infoUrl = getSourceURL();
+        URLInformation info = new URLInformation(infoUrl);
+
+        String area = getParameterAsString(AC_AREA);
+        String url = "/" + info.getPublicationId() + "/" + area + info.getDocumentUrl();
+        return url;
+    }
+
+}
\ No newline at end of file

Added: lenya/trunk/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/AddGroup.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/AddGroup.java?rev=416313&view=auto
==============================================================================
--- lenya/trunk/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/AddGroup.java (added)
+++ lenya/trunk/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/AddGroup.java Thu Jun 22 03:09:34 2006
@@ -0,0 +1,61 @@
+package org.apache.lenya.cms.ac.usecases;
+
+
+import org.apache.lenya.ac.Group;
+import org.apache.lenya.ac.ItemUtil;
+import org.apache.lenya.cms.usecase.UsecaseException;
+
+/**
+ * Usecase to add a group.
+ *
+ * @version $Id: AddGroup.java 407305 2006-05-17 16:21:49Z andreas $ 
+ */
+public class AddGroup extends AccessControlUsecase {
+
+    /**
+     * @see org.apache.lenya.cms.usecase.AbstractUsecase#doCheckExecutionConditions()
+     */
+    protected void doCheckExecutionConditions() throws Exception {
+        validate();
+    }
+
+    /**
+     * Validates the request parameters.
+     * @throws UsecaseException if an error occurs.
+     */
+    void validate() throws UsecaseException {
+
+        String groupId = getParameterAsString(GroupProfile.ID);
+
+        Group existingGroup = getGroupManager().getGroup(groupId);
+
+        if (existingGroup != null) {
+            addErrorMessage("This group already exists.");
+        }
+
+        if (!ItemUtil.isValidId(groupId)) {
+            addErrorMessage("This is not a valid group ID.");
+        }
+
+    }
+
+    /**
+     * @see org.apache.lenya.cms.usecase.AbstractUsecase#doExecute()
+     */
+    protected void doExecute() throws Exception {
+        super.doExecute();
+
+        String id = getParameterAsString(GroupProfile.ID);
+        String name = getParameterAsString(GroupProfile.NAME);
+        String description = getParameterAsString(GroupProfile.DESCRIPTION);
+
+        Group group = getGroupManager().add(id);
+        group.setName(name);
+        group.setDescription(description);
+        
+        group.save();
+        
+        setExitParameter(GroupProfile.ID, id);
+    }
+
+}
\ No newline at end of file

Added: lenya/trunk/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/AddIPRange.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/AddIPRange.java?rev=416313&view=auto
==============================================================================
--- lenya/trunk/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/AddIPRange.java (added)
+++ lenya/trunk/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/AddIPRange.java Thu Jun 22 03:09:34 2006
@@ -0,0 +1,90 @@
+package org.apache.lenya.cms.ac.usecases;
+
+
+import java.net.InetAddress;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.avalon.framework.container.ContainerUtil;
+import org.apache.lenya.ac.IPRange;
+import org.apache.lenya.ac.ItemUtil;
+import org.apache.lenya.cms.ac.usecases.IPRangeProfile.Part;
+
+/**
+ * Usecase to add an IP range.
+ */
+public class AddIPRange extends AccessControlUsecase {
+
+    /**
+     * @see org.apache.lenya.cms.usecase.AbstractUsecase#doCheckExecutionConditions()
+     */
+    protected void doCheckExecutionConditions() throws Exception {
+        String id = getParameterAsString(IPRangeProfile.ID);
+
+        IPRange existingIPRange = getIpRangeManager().getIPRange(id);
+
+        if (existingIPRange != null) {
+            addErrorMessage("This IP range already exists.");
+        }
+
+        if (!ItemUtil.isValidId(id)) {
+            addErrorMessage("This is not a valid IP range ID.");
+        }
+
+        IPRangeProfile.validateAddresses(this);
+    }
+
+    /**
+     * @see org.apache.lenya.cms.usecase.AbstractUsecase#doExecute()
+     */
+    protected void doExecute() throws Exception {
+
+        String id = getParameterAsString(IPRangeProfile.ID);
+        String name = getParameterAsString(IPRangeProfile.NAME);
+        String description = getParameterAsString(IPRangeProfile.DESCRIPTION);
+
+        IPRange ipRange = getIpRangeManager().add(id);
+        ContainerUtil.enableLogging(ipRange, getLogger());
+
+        ipRange.setName(name);
+        ipRange.setDescription(description);
+
+        String networkString = "";
+        String subnetString = "";
+
+        for (int i = 0; i < 4; i++) {
+            if (i > 0) {
+                networkString += ".";
+                subnetString += ".";
+            }
+            Part netPart = (Part) getParameter(IPRangeProfile.NETWORK_ADDRESS + "-" + i);
+            networkString += netPart.getValue();
+            Part subPart = (Part) getParameter(IPRangeProfile.SUBNET_MASK + "-" + i);
+            subnetString += subPart.getValue();
+        }
+
+        InetAddress networkAddress = InetAddress.getByName(networkString);
+        ipRange.setNetworkAddress(networkAddress.getAddress());
+
+        InetAddress subnetMask = InetAddress.getByName(subnetString);
+        ipRange.setSubnetMask(subnetMask.getAddress());
+
+        ipRange.save();
+        
+        setExitParameter(IPRangeProfile.ID, id);
+    }
+
+    /**
+     * @see org.apache.lenya.cms.usecase.AbstractUsecase#initParameters()
+     */
+    protected void initParameters() {
+        super.initParameters();
+        List partNumbers = new ArrayList();
+        for (byte i = 0; i < 4; i++) {
+            setParameter(IPRangeProfile.NETWORK_ADDRESS + "-" + i, new Part(i));
+            setParameter(IPRangeProfile.SUBNET_MASK + "-" + i, new Part(i));
+            partNumbers.add(new Integer(i));
+        }
+        setParameter(IPRangeProfile.PART_NUMBERS, partNumbers);
+    }
+}
\ No newline at end of file

Added: lenya/trunk/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/DeleteGroup.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/DeleteGroup.java?rev=416313&view=auto
==============================================================================
--- lenya/trunk/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/DeleteGroup.java (added)
+++ lenya/trunk/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/DeleteGroup.java Thu Jun 22 03:09:34 2006
@@ -0,0 +1,28 @@
+package org.apache.lenya.cms.ac.usecases;
+
+
+import org.apache.lenya.ac.Group;
+
+/**
+ * Usecase to delete a group.
+ *
+ * @version $Id: DeleteGroup.java 407305 2006-05-17 16:21:49Z andreas $
+ */
+public class DeleteGroup extends AccessControlUsecase {
+
+    /**
+     * @see org.apache.lenya.cms.usecase.AbstractUsecase#doExecute()
+     */
+    protected void doExecute() throws Exception {
+        super.doExecute();
+
+        String groupId = getParameterAsString(GroupProfile.ID);
+        Group group = getGroupManager().getGroup(groupId);
+        if (group == null) {
+            throw new RuntimeException("Group [" + groupId + "] not found.");
+        }
+        
+        getGroupManager().remove(group);
+        group.delete();
+    }
+}

Added: lenya/trunk/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/DeleteIPRange.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/DeleteIPRange.java?rev=416313&view=auto
==============================================================================
--- lenya/trunk/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/DeleteIPRange.java (added)
+++ lenya/trunk/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/DeleteIPRange.java Thu Jun 22 03:09:34 2006
@@ -0,0 +1,26 @@
+package org.apache.lenya.cms.ac.usecases;
+
+
+/**
+ * Delete an IP range.
+ *
+ * @version $Id: DeleteIPRange.java 407305 2006-05-17 16:21:49Z andreas $
+ */
+public class DeleteIPRange extends AccessControlUsecase {
+
+    /**
+     * @see org.apache.lenya.cms.usecase.AbstractUsecase#doExecute()
+     */
+    protected void doExecute() throws Exception {
+        super.doExecute();
+
+        String id = getParameterAsString(IPRangeProfile.ID);
+        org.apache.lenya.ac.IPRange ipRange = getIpRangeManager().getIPRange(id);
+        if (ipRange == null) {
+            throw new RuntimeException("IP range [" + ipRange + "] not found.");
+        }
+        
+        getIpRangeManager().remove(ipRange);
+        ipRange.delete();
+    }
+}

Added: lenya/trunk/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/DeleteUser.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/DeleteUser.java?rev=416313&view=auto
==============================================================================
--- lenya/trunk/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/DeleteUser.java (added)
+++ lenya/trunk/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/DeleteUser.java Thu Jun 22 03:09:34 2006
@@ -0,0 +1,28 @@
+package org.apache.lenya.cms.ac.usecases;
+
+
+import org.apache.lenya.ac.User;
+
+/**
+ * Usecase to delete a user.
+ *
+ * @version $Id: DeleteUser.java 407305 2006-05-17 16:21:49Z andreas $
+ */
+public class DeleteUser extends AccessControlUsecase {
+
+    /**
+     * @see org.apache.lenya.cms.usecase.AbstractUsecase#doExecute()
+     */
+    protected void doExecute() throws Exception {
+        super.doExecute();
+
+        String userId = getParameterAsString(UserProfile.USER_ID);
+        User user = getUserManager().getUser(userId);
+        if (user == null) {
+            throw new RuntimeException("User [" + userId + "] not found.");
+        }
+        
+        getUserManager().remove(user);
+        user.delete();
+    }
+}

Added: lenya/trunk/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/Group.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/Group.java?rev=416313&view=auto
==============================================================================
--- lenya/trunk/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/Group.java (added)
+++ lenya/trunk/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/Group.java Thu Jun 22 03:09:34 2006
@@ -0,0 +1,30 @@
+package org.apache.lenya.cms.ac.usecases;
+
+
+/**
+ * Display group information.
+ *
+ * @version $Id: Group.java 407305 2006-05-17 16:21:49Z andreas $
+ */
+public class Group extends AccessControlUsecase {
+
+    protected static final String GROUP_ID = "groupId";
+    protected static final String GROUP = "group";
+
+    /**
+     * @see org.apache.lenya.cms.usecase.Usecase#setParameter(java.lang.String, java.lang.Object)
+     */
+    public void setParameter(String name, Object value) {
+        super.setParameter(name, value);
+
+        if (name.equals(GROUP_ID)) {
+            String groupId = (String) value;
+            org.apache.lenya.ac.Group group = getGroupManager().getGroup(groupId);
+            if (group == null) {
+                addErrorMessage("group_no_such_entry", new String[]{groupId});
+            } else {
+                setParameter(GROUP, group);
+            }
+        }
+    }
+}

Added: lenya/trunk/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/GroupMembers.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/GroupMembers.java?rev=416313&view=auto
==============================================================================
--- lenya/trunk/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/GroupMembers.java (added)
+++ lenya/trunk/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/GroupMembers.java Thu Jun 22 03:09:34 2006
@@ -0,0 +1,134 @@
+package org.apache.lenya.cms.ac.usecases;
+
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.apache.lenya.ac.Group;
+import org.apache.lenya.ac.Groupable;
+import org.apache.lenya.ac.User;
+import org.apache.lenya.cms.usecase.UsecaseException;
+
+/**
+ * Usecase to change the members of a group.
+ * 
+ * @version $Id: GroupMembers.java 407305 2006-05-17 16:21:49Z andreas $
+ */
+public class GroupMembers extends AccessControlUsecase {
+
+    private Group group;
+
+    protected static final String GROUP_USERS = "groupUsers";
+    protected static final String OTHER_USERS = "otherUsers";
+    protected static final String ADD = "add";
+    protected static final String REMOVE = "remove";
+    protected static final String GROUP_USER = "groupUser";
+    protected static final String OTHER_USER = "otherUser";
+
+    /**
+     * @see org.apache.lenya.cms.usecase.AbstractUsecase#initParameters()
+     */
+    protected void initParameters() {
+        super.initParameters();
+        setExitParameter(GroupProfile.ID, getParameterAsString(GroupProfile.ID));
+    }
+
+    /**
+     * @see org.apache.lenya.cms.usecase.AbstractUsecase#doExecute()
+     */
+    protected void doExecute() throws Exception {
+        super.doExecute();
+
+        this.group.removeAllMembers();
+
+        List groupUsers = (List) getParameter(GROUP_USERS);
+        for (Iterator i = groupUsers.iterator(); i.hasNext();) {
+            User user = (User) i.next();
+            this.group.add(user);
+            user.save();
+        }
+    }
+
+    /**
+     * @see org.apache.lenya.cms.usecase.Usecase#advance()
+     */
+    public void advance() throws UsecaseException {
+        super.advance();
+
+        String add = getParameterAsString(ADD);
+        String remove = getParameterAsString(REMOVE);
+        if (add != null || remove != null) {
+
+            List groupUsers = (List) getParameter(GROUP_USERS);
+            List otherUsers = (List) getParameter(OTHER_USERS);
+
+            if (add != null) {
+                String userId = getParameterAsString(OTHER_USER);
+                if (userId != null) {
+                    if (getLogger().isDebugEnabled()) {
+                        getLogger().debug("add user [" + userId + "]");
+                    }
+                    User user = getUserManager().getUser(userId);
+                    groupUsers.add(user);
+                    otherUsers.remove(user);
+                }
+            }
+
+            if (remove != null) {
+                String userId = getParameterAsString(GROUP_USER);
+                if (userId != null) {
+                    if (getLogger().isDebugEnabled()) {
+                        getLogger().debug("remove user [" + userId + "]");
+                    }
+                    User user = getUserManager().getUser(userId);
+                    otherUsers.add(user);
+                    groupUsers.remove(user);
+                }
+            }
+
+            deleteParameter(ADD);
+            deleteParameter(REMOVE);
+            deleteParameter(GROUP_USER);
+            deleteParameter(OTHER_USER);
+        }
+
+    }
+
+    /**
+     * @see org.apache.lenya.cms.usecase.Usecase#setParameter(java.lang.String, java.lang.Object)
+     */
+    public void setParameter(String name, Object value) {
+        super.setParameter(name, value);
+        if (name.equals(GroupProfile.ID)) {
+            String groupId = (String) value;
+            this.group = getGroupManager().getGroup(groupId);
+            if (this.group == null) {
+                throw new RuntimeException("Group [" + groupId + "] not found.");
+            }
+
+            Groupable[] members = this.group.getMembers();
+            List groupUsers = new ArrayList();
+            for (int i = 0; i < members.length; i++) {
+                if (members[i] instanceof User) {
+                    groupUsers.add(members[i]);
+                }
+            }
+            setParameter(GROUP_USERS, groupUsers);
+
+            User[] allUsers = getUserManager().getUsers();
+
+            List otherUsers = new ArrayList();
+
+            for (int i = 0; i < allUsers.length; i++) {
+                if (!groupUsers.contains(allUsers[i])) {
+                    otherUsers.add(allUsers[i]);
+                }
+            }
+
+            setParameter(OTHER_USERS, otherUsers);
+        }
+
+    }
+
+}
\ No newline at end of file

Added: lenya/trunk/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/GroupProfile.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/GroupProfile.java?rev=416313&view=auto
==============================================================================
--- lenya/trunk/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/GroupProfile.java (added)
+++ lenya/trunk/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/GroupProfile.java Thu Jun 22 03:09:34 2006
@@ -0,0 +1,48 @@
+package org.apache.lenya.cms.ac.usecases;
+
+
+import org.apache.lenya.ac.Group;
+
+/**
+ * Usecase to change the profile of a group.
+ * 
+ * @version $Id: GroupProfile.java 407305 2006-05-17 16:21:49Z andreas $
+ */
+public class GroupProfile extends AccessControlUsecase {
+
+    protected static final String ID = "groupId";
+    protected static final String NAME = "name";
+    protected static final String DESCRIPTION = "description";
+
+    private Group group;
+
+    protected void doExecute() throws Exception {
+        super.doExecute();
+
+        String name = getParameterAsString(NAME);
+        String description = getParameterAsString(DESCRIPTION);
+
+        this.group.setName(name);
+        this.group.setDescription(description);
+
+        this.group.save();
+    }
+
+    /**
+     * @see org.apache.lenya.cms.usecase.Usecase#setParameter(java.lang.String, java.lang.Object)
+     */
+    public void setParameter(String name, Object value) {
+        super.setParameter(name, value);
+
+        if (name.equals(ID)) {
+            String id = (String) value;
+            this.group = getGroupManager().getGroup(id);
+            if (this.group == null) {
+                throw new RuntimeException("Group [" + id + "] not found.");
+            }
+
+            setParameter(DESCRIPTION, this.group.getDescription());
+            setParameter(NAME, this.group.getName());
+        }
+    }
+}
\ 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