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 2005/05/27 15:10:41 UTC

svn commit: r178774 - in /lenya/trunk/src: java/org/apache/lenya/cms/ac/usecases/ java/org/apache/lenya/cms/site/usecases/ java/org/apache/lenya/cms/usecase/ webapp/WEB-INF/

Author: andreas
Date: Fri May 27 06:10:38 2005
New Revision: 178774

URL: http://svn.apache.org/viewcvs?rev=178774&view=rev
Log:
configure exit usecases in cocoon.xconf

Modified:
    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/AddUser.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/Groups.java
    lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/IPRanges.java
    lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/Login.java
    lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/Users.java
    lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/SiteUsecase.java
    lenya/trunk/src/java/org/apache/lenya/cms/usecase/AbstractUsecase.java
    lenya/trunk/src/java/org/apache/lenya/cms/usecase/DocumentUsecase.java
    lenya/trunk/src/java/org/apache/lenya/cms/usecase/UsecaseView.java
    lenya/trunk/src/webapp/WEB-INF/cocoon-xconf.xsl

Modified: lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/AccessControl.java
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/AccessControl.java?rev=178774&r1=178773&r2=178774&view=diff
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/AccessControl.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/AccessControl.java Fri May 27 06:10:38 2005
@@ -83,8 +83,6 @@
     protected void initParameters() {
         super.initParameters();
 
-        setExitUsecase(getName(), null);
-        
         try {
             URLInformation info = new URLInformation(getSourceURL());
             setParameter(COMPLETE_AREA, info.getCompleteArea());

Modified: lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/AddGroup.java
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/AddGroup.java?rev=178774&r1=178773&r2=178774&view=diff
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/AddGroup.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/AddGroup.java Fri May 27 06:10:38 2005
@@ -17,8 +17,6 @@
 package org.apache.lenya.cms.ac.usecases;
 
 import java.io.File;
-import java.util.HashMap;
-import java.util.Map;
 
 import org.apache.lenya.ac.Group;
 import org.apache.lenya.ac.file.FileGroup;
@@ -78,9 +76,7 @@
         group.save();
         getGroupManager().add(group);
         
-        Map parameters = new HashMap();
-        parameters.put(GroupProfile.ID, id);
-        setExitUsecase("admin.group", parameters);
+        setExitParameter(GroupProfile.ID, id);
     }
 
 }

Modified: lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/AddIPRange.java
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/AddIPRange.java?rev=178774&r1=178773&r2=178774&view=diff
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/AddIPRange.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/AddIPRange.java Fri May 27 06:10:38 2005
@@ -22,9 +22,7 @@
 import java.io.File;
 import java.net.InetAddress;
 import java.util.ArrayList;
-import java.util.HashMap;
 import java.util.List;
-import java.util.Map;
 
 import org.apache.avalon.framework.container.ContainerUtil;
 import org.apache.lenya.ac.IPRange;
@@ -96,9 +94,7 @@
         ipRange.save();
         getIpRangeManager().add(ipRange);
         
-        Map parameters = new HashMap();
-        parameters.put(IPRangeProfile.ID, id);
-        setExitUsecase("admin.ipRange", parameters);
+        setExitParameter(IPRangeProfile.ID, id);
     }
 
     /**

Modified: lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/AddUser.java
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/AddUser.java?rev=178774&r1=178773&r2=178774&view=diff
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/AddUser.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/AddUser.java Fri May 27 06:10:38 2005
@@ -17,8 +17,6 @@
 package org.apache.lenya.cms.ac.usecases;
 
 import java.io.File;
-import java.util.HashMap;
-import java.util.Map;
 
 import org.apache.avalon.framework.container.ContainerUtil;
 import org.apache.lenya.ac.AccessControlException;
@@ -121,8 +119,6 @@
         user.save();
         getUserManager().add(user);
         
-        Map parameters = new HashMap();
-        parameters.put(UserProfile.USER_ID, userId);
-        setExitUsecase("admin.user", parameters);
+        setExitParameter(UserProfile.USER_ID, userId);
     }
 }

Modified: lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/DeleteGroup.java
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/DeleteGroup.java?rev=178774&r1=178773&r2=178774&view=diff
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/DeleteGroup.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/DeleteGroup.java Fri May 27 06:10:38 2005
@@ -26,14 +26,6 @@
 public class DeleteGroup extends AccessControlUsecase {
 
     /**
-     * @see org.apache.lenya.cms.usecase.AbstractUsecase#initParameters()
-     */
-    protected void initParameters() {
-        super.initParameters();
-        setExitUsecase("admin.groups", null);
-    }
-    
-    /**
      * @see org.apache.lenya.cms.usecase.AbstractUsecase#doExecute()
      */
     protected void doExecute() throws Exception {

Modified: lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/DeleteIPRange.java
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/DeleteIPRange.java?rev=178774&r1=178773&r2=178774&view=diff
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/DeleteIPRange.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/DeleteIPRange.java Fri May 27 06:10:38 2005
@@ -24,11 +24,18 @@
 public class DeleteIPRange extends AccessControlUsecase {
 
     /**
-     * @see org.apache.lenya.cms.usecase.AbstractUsecase#initParameters()
+     * @see org.apache.lenya.cms.usecase.AbstractUsecase#doExecute()
      */
-    protected void initParameters() {
-        super.initParameters();
-        setExitUsecase("admin.ipRanges", null);
+    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();
     }
-    
 }

Modified: lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/DeleteUser.java
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/DeleteUser.java?rev=178774&r1=178773&r2=178774&view=diff
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/DeleteUser.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/DeleteUser.java Fri May 27 06:10:38 2005
@@ -26,14 +26,6 @@
 public class DeleteUser extends AccessControlUsecase {
 
     /**
-     * @see org.apache.lenya.cms.usecase.AbstractUsecase#initParameters()
-     */
-    protected void initParameters() {
-        super.initParameters();
-        setExitUsecase("admin.users", null);
-    }
-    
-    /**
      * @see org.apache.lenya.cms.usecase.AbstractUsecase#doExecute()
      */
     protected void doExecute() throws Exception {

Modified: lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/Group.java
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/Group.java?rev=178774&r1=178773&r2=178774&view=diff
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/Group.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/Group.java Fri May 27 06:10:38 2005
@@ -27,14 +27,6 @@
     protected static final String GROUP = "group";
 
     /**
-     * @see org.apache.lenya.cms.usecase.AbstractUsecase#initParameters()
-     */
-    protected void initParameters() {
-        super.initParameters();
-        setExitUsecase("admin.groups", null);
-    }
-    
-    /**
      * @see org.apache.lenya.cms.usecase.Usecase#setParameter(java.lang.String, java.lang.Object)
      */
     public void setParameter(String name, Object value) {

Modified: lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/GroupMembers.java
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/GroupMembers.java?rev=178774&r1=178773&r2=178774&view=diff
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/GroupMembers.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/GroupMembers.java Fri May 27 06:10:38 2005
@@ -17,10 +17,8 @@
 package org.apache.lenya.cms.ac.usecases;
 
 import java.util.ArrayList;
-import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
-import java.util.Map;
 
 import org.apache.lenya.ac.Group;
 import org.apache.lenya.ac.Groupable;
@@ -48,9 +46,7 @@
      */
     protected void initParameters() {
         super.initParameters();
-        Map parameters = new HashMap();
-        parameters.put(GroupProfile.ID, getParameterAsString(GroupProfile.ID));
-        setExitUsecase("admin.groups", parameters);
+        setExitParameter(GroupProfile.ID, getParameterAsString(GroupProfile.ID));
     }
 
     /**

Modified: lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/Groups.java
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/Groups.java?rev=178774&r1=178773&r2=178774&view=diff
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/Groups.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/Groups.java Fri May 27 06:10:38 2005
@@ -38,8 +38,6 @@
     protected void initParameters() {
         super.initParameters();
         
-        setExitUsecase(getName(), null);
-        
         Group[] groups = getGroupManager().getGroups();
         List groupList = new ArrayList();
         groupList.addAll(Arrays.asList(groups));

Modified: lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/IPRanges.java
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/IPRanges.java?rev=178774&r1=178773&r2=178774&view=diff
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/IPRanges.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/IPRanges.java Fri May 27 06:10:38 2005
@@ -38,8 +38,6 @@
     protected void initParameters() {
         super.initParameters();
         
-        setExitUsecase(getName(), null);
-
         IPRange[] ipRanges = getIpRangeManager().getIPRanges();
         List ipRangeList = new ArrayList();
         ipRangeList.addAll(Arrays.asList(ipRanges));

Modified: lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/Login.java
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/Login.java?rev=178774&r1=178773&r2=178774&view=diff
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/Login.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/Login.java Fri May 27 06:10:38 2005
@@ -78,9 +78,9 @@
     }
 
     /**
-     * @see org.apache.lenya.cms.usecase.AbstractUsecase#getExitUsecaseQueryString()
+     * @see org.apache.lenya.cms.usecase.AbstractUsecase#getExitQueryString()
      */
-    protected String getExitUsecaseQueryString() {
+    protected String getExitQueryString() {
         String queryString = getParameterAsString(REFERRER_QUERY_STRING);
         if (queryString != null && !queryString.equals("")) {
             queryString = "?" + queryString;

Modified: lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/Users.java
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/Users.java?rev=178774&r1=178773&r2=178774&view=diff
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/Users.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/Users.java Fri May 27 06:10:38 2005
@@ -45,8 +45,6 @@
     protected void initParameters() {
         super.initParameters();
         
-        setExitUsecase(getName(), null);
-
         User[] users = getUserManager().getUsers();
         List userList = new ArrayList();
         userList.addAll(Arrays.asList(users));

Modified: lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/SiteUsecase.java
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/SiteUsecase.java?rev=178774&r1=178773&r2=178774&view=diff
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/SiteUsecase.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/SiteUsecase.java Fri May 27 06:10:38 2005
@@ -39,8 +39,6 @@
     protected void initParameters() {
         super.initParameters();
         
-        setExitUsecase(getName(), null);
-        
         WorkflowResolver resolver = null;
         try {
             resolver = (WorkflowResolver) this.manager.lookup(WorkflowResolver.ROLE);

Modified: lenya/trunk/src/java/org/apache/lenya/cms/usecase/AbstractUsecase.java
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/java/org/apache/lenya/cms/usecase/AbstractUsecase.java?rev=178774&r1=178773&r2=178774&view=diff
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/usecase/AbstractUsecase.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/usecase/AbstractUsecase.java Fri May 27 06:10:38 2005
@@ -434,7 +434,7 @@
         if (url == null) {
             url = getSourceURL();
         }
-        return url + getExitUsecaseQueryString();
+        return url + getExitQueryString();
     }
 
     /**
@@ -547,6 +547,8 @@
     protected static final String ATTRIBUTE_POLICY = "policy";
     protected static final String VALUE_OPTIMISTIC = "optimistic";
     protected static final String VALUE_PESSIMISTIC = "pessimistic";
+    protected static final String ELEMENT_EXIT = "exit";
+    protected static final String ATTRIBUTE_USECASE = "usecase";
 
     private boolean isOptimistic = true;
 
@@ -583,6 +585,17 @@
                 this.isOptimistic = false;
             }
         }
+
+        Configuration exitConfig = config.getChild(ELEMENT_EXIT, false);
+        if (exitConfig != null) {
+            this.exitUsecaseName = exitConfig.getAttribute(ATTRIBUTE_USECASE);
+            Configuration[] exitParameterConfigs = exitConfig.getChildren(ELEMENT_PARAMETER);
+            for (int i = 0; i < exitParameterConfigs.length; i++) {
+                String name = exitParameterConfigs[i].getAttribute(ATTRIBUTE_NAME);
+                String value = exitParameterConfigs[i].getAttribute(ATTRIBUTE_VALUE);
+                setExitParameter(name, value);
+            }
+        }
     }
 
     /**
@@ -614,6 +627,7 @@
      * objects are, you can call this method explicitly when appropriate.
      * 
      * @param objects the transactionable objects to lock
+     * @throws UsecaseException if an error occurs.
      * @see #lockInvolvedObjects()
      * @see #getObjectsToLock()
      */
@@ -674,17 +688,12 @@
     private Map exitUsecaseParameters = new HashMap();
 
     /**
-     * Sets the exit usecase of this usecase, i.e. the usecase that should be entered when this
-     * usecase is finished.
-     * @param usecaseName The name of the exit usecase.
-     * @param parameters Parameters to pass to the usecase or <code>null</code> if no parameters
-     *            should be passed.
-     */
-    protected void setExitUsecase(String usecaseName, Map parameters) {
-        this.exitUsecaseName = usecaseName;
-        if (parameters != null) {
-            this.exitUsecaseParameters = parameters;
-        }
+     * Sets a parameter to pass to the exit usecase.
+     * @param name The parameter name.
+     * @param value The parameter value.
+     */
+    protected void setExitParameter(String name, String value) {
+        this.exitUsecaseParameters.put(name, value);
     }
 
     /**
@@ -692,7 +701,7 @@
      * @return A query string of the form
      *         <code>?lenya.usecase=...&amp;param1=foo&amp;param2=bar</code>.
      */
-    protected String getExitUsecaseQueryString() {
+    protected String getExitQueryString() {
         String queryString = "";
         if (this.exitUsecaseName != null) {
             queryString = "?lenya.usecase=" + this.exitUsecaseName;

Modified: lenya/trunk/src/java/org/apache/lenya/cms/usecase/DocumentUsecase.java
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/java/org/apache/lenya/cms/usecase/DocumentUsecase.java?rev=178774&r1=178773&r2=178774&view=diff
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/usecase/DocumentUsecase.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/usecase/DocumentUsecase.java Fri May 27 06:10:38 2005
@@ -108,7 +108,7 @@
         String documentUrl = document.getCanonicalDocumentURL();
         String url = "/" + document.getPublication().getId() + "/" + document.getArea()
                 + documentUrl;
-        return url + getExitUsecaseQueryString();
+        return url + getExitQueryString();
     }
 
     /**

Modified: lenya/trunk/src/java/org/apache/lenya/cms/usecase/UsecaseView.java
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/java/org/apache/lenya/cms/usecase/UsecaseView.java?rev=178774&r1=178773&r2=178774&view=diff
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/usecase/UsecaseView.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/usecase/UsecaseView.java Fri May 27 06:10:38 2005
@@ -26,7 +26,7 @@
 /**
  * Information about a usecase view.
  * 
- * @version $Id:$
+ * @version $Id$
  */
 public class UsecaseView implements Configurable {
     

Modified: lenya/trunk/src/webapp/WEB-INF/cocoon-xconf.xsl
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/webapp/WEB-INF/cocoon-xconf.xsl?rev=178774&r1=178773&r2=178774&view=diff
==============================================================================
--- lenya/trunk/src/webapp/WEB-INF/cocoon-xconf.xsl (original)
+++ lenya/trunk/src/webapp/WEB-INF/cocoon-xconf.xsl Fri May 27 06:10:38 2005
@@ -264,106 +264,127 @@
       <view template="admin/users" menu="true">
         <parameter name="tab" value="users"/>
       </view>
+      <exit usecase="admin.users"/>
     </component-instance>
     <component-instance name="admin.user" logger="lenya.admin" class="org.apache.lenya.cms.ac.usecases.User">
       <view template="admin/user" menu="true">
         <parameter name="tab" value="users"/>
       </view>
+      <exit usecase="admin.users"/>
     </component-instance>
     <component-instance name="admin.addUser" logger="lenya.admin" class="org.apache.lenya.cms.ac.usecases.AddUser">
       <view template="admin/addUser" menu="true">
         <parameter name="tab" value="users"/>
       </view>
+      <exit usecase="admin.user"/>
     </component-instance>
     <component-instance name="admin.userProfile" logger="lenya.admin" class="org.apache.lenya.cms.ac.usecases.UserProfile">
       <view template="admin/userProfile" menu="true">
         <parameter name="tab" value="users"/>
       </view>
+      <exit usecase="admin.user"/>
     </component-instance>
     <component-instance name="admin.changePassword" logger="lenya.admin" class="org.apache.lenya.cms.ac.usecases.UserPassword">
       <view template="admin/changePassword" menu="true">
         <parameter name="tab" value="users"/>
       </view>
+      <exit usecase="admin.user"/>
     </component-instance>
     <component-instance name="admin.userGroups" logger="lenya.admin" class="org.apache.lenya.cms.ac.usecases.UserGroups">
       <view template="admin/userGroups" menu="true">
         <parameter name="tab" value="users"/>
       </view>
+      <exit usecase="admin.user"/>
     </component-instance>
     <component-instance name="admin.deleteUser" logger="lenya.admin" class="org.apache.lenya.cms.ac.usecases.DeleteUser">
       <view template="admin/deleteUser" menu="true">
         <parameter name="tab" value="users"/>
       </view>
+      <exit usecase="admin.users"/>
     </component-instance>
     <component-instance name="admin.groups" logger="lenya.admin" class="org.apache.lenya.cms.ac.usecases.Groups">
       <view template="admin/groups" menu="true">
         <parameter name="tab" value="groups"/>
       </view>
+      <exit usecase="admin.groups"/>
     </component-instance>
     <component-instance name="admin.addGroup" logger="lenya.admin" class="org.apache.lenya.cms.ac.usecases.AddGroup">
       <view template="admin/addGroup" menu="true">
         <parameter name="tab" value="groups"/>
       </view>
+      <exit usecase="admin.group"/>
     </component-instance>
     <component-instance name="admin.group" logger="lenya.admin" class="org.apache.lenya.cms.ac.usecases.Group">
       <view template="admin/group" menu="true">
         <parameter name="tab" value="groups"/>
       </view>
+      <exit usecase="admin.groups"/>
     </component-instance>
     <component-instance name="admin.groupProfile" logger="lenya.admin" class="org.apache.lenya.cms.ac.usecases.GroupProfile">
       <view template="admin/groupProfile" menu="true">
         <parameter name="tab" value="groups"/>
       </view>
+      <exit usecase="admin.group"/>
     </component-instance>
     <component-instance name="admin.groupMembers" logger="lenya.admin" class="org.apache.lenya.cms.ac.usecases.GroupMembers">
       <view template="admin/groupMembers" menu="true">
         <parameter name="tab" value="groups"/>
       </view>
+      <exit usecase="admin.group"/>
     </component-instance>
     <component-instance name="admin.deleteGroup" logger="lenya.admin" class="org.apache.lenya.cms.ac.usecases.DeleteGroup">
       <view template="admin/deleteGroup" menu="true">
         <parameter name="tab" value="groups"/>
       </view>
+      <exit usecase="admin.groups"/>
     </component-instance>
     <component-instance name="admin.ipRanges" logger="lenya.admin" class="org.apache.lenya.cms.ac.usecases.IPRanges">
       <view template="admin/ipRanges" menu="true">
         <parameter name="tab" value="ipRanges"/>
       </view>
+      <exit usecase="admin.ipRanges"/>
     </component-instance>
     <component-instance name="admin.addIPRange" logger="lenya.admin" class="org.apache.lenya.cms.ac.usecases.AddIPRange">
       <view template="admin/addIPRange" menu="true">
         <parameter name="tab" value="ipRanges"/>
       </view>
+      <exit usecase="admin.ipRanges"/>
     </component-instance>
     <component-instance name="admin.ipRange" logger="lenya.admin" class="org.apache.lenya.cms.ac.usecases.IPRange">
       <view template="admin/ipRange" menu="true">
         <parameter name="tab" value="ipRanges"/>
       </view>
+      <exit usecase="admin.ipRanges"/>
     </component-instance>
     <component-instance name="admin.ipRangeProfile" logger="lenya.admin" class="org.apache.lenya.cms.ac.usecases.IPRangeProfile">
       <view template="admin/ipRangeProfile" menu="true">
         <parameter name="tab" value="ipRanges"/>
       </view>
+      <exit usecase="admin.ipRange"/>
     </component-instance>
     <component-instance name="admin.ipRangeGroups" logger="lenya.admin" class="org.apache.lenya.cms.ac.usecases.IPRangeGroups">
       <view template="admin/ipRangeGroups" menu="true">
         <parameter name="tab" value="ipRanges"/>
       </view>
+      <exit usecase="admin.ipRange"/>
     </component-instance>
     <component-instance name="admin.deleteIPRange" logger="lenya.admin" class="org.apache.lenya.cms.ac.usecases.DeleteIPRange">
       <view template="admin/deleteIPRange" menu="true">
         <parameter name="tab" value="ipRanges"/>
       </view>
+      <exit usecase="admin.ipRanges"/>
     </component-instance>
     <component-instance name="admin.emptyTrash" logger="lenya.admin" class="org.apache.lenya.cms.site.usecases.EmptyTrash">
       <view template="admin/emptyTrash" menu="true">
         <parameter name="tab" value="trash"/>
       </view>
+      <exit usecase="admin.emptyTrash"/>
     </component-instance>
     <component-instance name="admin.serverStatus" logger="lenya.admin" class="org.apache.lenya.cms.usecase.DummyUsecase">
       <view template="admin/serverStatus" menu="true">
         <parameter name="tab" value="serverStatus"/>
       </view>
+      <exit usecase="admin.serverStatus"/>
     </component-instance>
 
     <!--+
@@ -415,35 +436,45 @@
     
     <component-instance name="tab.acArchive" logger="lenya.site" class="org.apache.lenya.cms.ac.usecases.AccessControl">
       <view template="tab/acArchive" menu="true"/>
+      <exit usecase="tab.acArchive"/>
     </component-instance>
     <component-instance name="tab.acAuthoring" logger="lenya.site" class="org.apache.lenya.cms.ac.usecases.AccessControl">
       <view template="tab/acAuthoring" menu="true"/>
       <parameter name="acArea" value="authoring"/>
+      <exit usecase="tab.acAuthoring"/>
     </component-instance>
     <component-instance name="tab.acLive" logger="lenya.site" class="org.apache.lenya.cms.ac.usecases.AccessControl">
       <view template="tab/acLive" menu="true"/>
       <parameter name="acArea" value="live"/>
+      <exit usecase="tab.acLive"/>
     </component-instance>
     <component-instance name="tab.acTrash" logger="lenya.site" class="org.apache.lenya.cms.ac.usecases.AccessControl">
       <view template="tab/acTrash" menu="true"/>
+      <exit usecase="tab.acTrash"/>
     </component-instance>
     <component-instance name="tab.assets" logger="lenya.site" class="org.apache.lenya.cms.site.usecases.Assets">
       <view template="tab/assets" menu="true"/>
+      <exit usecase="tab.assets"/>
     </component-instance>
     <component-instance name="tab.meta" logger="lenya.site" class="org.apache.lenya.cms.metadata.usecases.Metadata">
       <view template="tab/meta" menu="true"/>
+      <exit usecase="tab.meta"/>
     </component-instance>
     <component-instance name="tab.overview" logger="lenya.site" class="org.apache.lenya.cms.site.usecases.Overview">
       <view template="tab/overview" menu="true"/>
+      <exit usecase="tab.overview"/>
     </component-instance>
     <component-instance name="tab.revisions" logger="lenya.site" class="org.apache.lenya.cms.site.usecases.Revisions">
       <view template="tab/revisions" menu="true"/>
+      <exit usecase="tab.revisions"/>
     </component-instance>
     <component-instance name="tab.workflow" logger="lenya.site" class="org.apache.lenya.cms.workflow.usecases.History">
       <view template="tab/workflow" menu="true"/>
+      <exit usecase="tab.workflow"/>
     </component-instance>
     <component-instance name="tab.scheduler" logger="lenya.site" class="org.apache.lenya.cms.usecase.scheduling.ManageJobs">
       <view template="tab/scheduler" menu="true"/>
+      <exit usecase="tab.scheduler"/>
     </component-instance>
     
     <component-instance name="publication.createPublicationFromTemplate" logger="lenya.publication"



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@lenya.apache.org
For additional commands, e-mail: commits-help@lenya.apache.org