You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lenya.apache.org by fl...@apache.org on 2010/11/09 19:23:16 UTC

svn commit: r1033135 - in /lenya/trunk/org.apache.lenya.core.usecase/src/main/java/org/apache/lenya/cms/usecase: AbstractUsecase.java cocoon/UsecaseModule.java gui/impl/GUIManagerImpl.java impl/TestUsecaseInvoker.java impl/UsecaseResolverImpl.java

Author: florent
Date: Tue Nov  9 18:23:16 2010
New Revision: 1033135

URL: http://svn.apache.org/viewvc?rev=1033135&view=rev
Log:
solve bugs and clean code

Removed:
    lenya/trunk/org.apache.lenya.core.usecase/src/main/java/org/apache/lenya/cms/usecase/impl/TestUsecaseInvoker.java
Modified:
    lenya/trunk/org.apache.lenya.core.usecase/src/main/java/org/apache/lenya/cms/usecase/AbstractUsecase.java
    lenya/trunk/org.apache.lenya.core.usecase/src/main/java/org/apache/lenya/cms/usecase/cocoon/UsecaseModule.java
    lenya/trunk/org.apache.lenya.core.usecase/src/main/java/org/apache/lenya/cms/usecase/gui/impl/GUIManagerImpl.java
    lenya/trunk/org.apache.lenya.core.usecase/src/main/java/org/apache/lenya/cms/usecase/impl/UsecaseResolverImpl.java

Modified: lenya/trunk/org.apache.lenya.core.usecase/src/main/java/org/apache/lenya/cms/usecase/AbstractUsecase.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.core.usecase/src/main/java/org/apache/lenya/cms/usecase/AbstractUsecase.java?rev=1033135&r1=1033134&r2=1033135&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.core.usecase/src/main/java/org/apache/lenya/cms/usecase/AbstractUsecase.java (original)
+++ lenya/trunk/org.apache.lenya.core.usecase/src/main/java/org/apache/lenya/cms/usecase/AbstractUsecase.java Tue Nov  9 18:23:16 2010
@@ -82,7 +82,7 @@ public class AbstractUsecase extends Abs
             TRANSACTION_POLICY_PESSIMISTIC, TRANSACTION_POLICY_READONLY };
     protected static final String DEFAULT_TRANSACTION_POLICY = TRANSACTION_POLICY_READONLY;
 
-    private Repository repository;
+    protected Repository repository;
     private UsecaseView view;
 
     /**
@@ -118,7 +118,8 @@ public class AbstractUsecase extends Abs
      *      initParameters().
      */
     public String getSourceURL() {
-        return (String) this.parameters.get(SOURCE_URL);
+    	String webappUrl = new URLInformation().getWebappUrl();
+    	return webappUrl;
     }
 
     /**
@@ -256,8 +257,9 @@ public class AbstractUsecase extends Abs
             if (!canCheckOut(nodes)) {
                 addErrorMessage(ERROR_OBJECTS_CHECKED_OUT);
             }
+            
             doCheckPreconditions();
-
+            
             dumpErrorMessagesToLog();
             
         } catch (Exception e) {
@@ -269,8 +271,6 @@ public class AbstractUsecase extends Abs
         }
         if (!hasErrors()) {
             advanceState(EVENT_CHECK_PRECONDITIONS);
-            //flo
-            //advanceState(EVENT_LOCK_NODES);
         }
     }
 
@@ -677,7 +677,7 @@ public class AbstractUsecase extends Abs
      * @return The objects that could be changed during the usecase.
      * @throws UsecaseException if an error occurs.
      */
-    protected org.apache.lenya.cms.publication.Node[] getNodesToLock() throws UsecaseException {
+    protected Node[] getNodesToLock() throws UsecaseException {
         return new Node[0];
     }
 
@@ -772,8 +772,6 @@ public class AbstractUsecase extends Abs
     }
 
     private String exitUsecaseName = null;
-    //private Map<String,String> exitUsecaseParameters = new HashMap<String,String>();
-    //private Map exitUsecaseParameters = new HashMap();
     private Properties exitUsecaseParameters = new Properties();
     /**
      * Sets a parameter to pass to the exit usecase.

Modified: lenya/trunk/org.apache.lenya.core.usecase/src/main/java/org/apache/lenya/cms/usecase/cocoon/UsecaseModule.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.core.usecase/src/main/java/org/apache/lenya/cms/usecase/cocoon/UsecaseModule.java?rev=1033135&r1=1033134&r2=1033135&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.core.usecase/src/main/java/org/apache/lenya/cms/usecase/cocoon/UsecaseModule.java (original)
+++ lenya/trunk/org.apache.lenya.core.usecase/src/main/java/org/apache/lenya/cms/usecase/cocoon/UsecaseModule.java Tue Nov  9 18:23:16 2010
@@ -25,12 +25,10 @@ import org.apache.avalon.framework.servi
 import org.apache.avalon.framework.service.ServiceManager;
 import org.apache.avalon.framework.service.Serviceable;
 import org.apache.cocoon.components.modules.input.AbstractInputModule;
-import org.apache.cocoon.environment.ObjectModelHelper;
-import org.apache.cocoon.environment.Request;
 import org.apache.lenya.cms.usecase.Usecase;
 import org.apache.lenya.cms.usecase.UsecaseResolver;
 import org.apache.lenya.cms.usecase.gui.Tab;
-import org.apache.lenya.util.ServletHelper;
+import org.apache.lenya.utils.URLInformation;
 
 /**
  * Input module to obtain information about usecases.
@@ -47,8 +45,7 @@ public class UsecaseModule extends Abstr
             String[] steps = name.split(":");
             String usecaseName = steps[1];
             
-            Request request = ObjectModelHelper.getRequest(objectModel);
-            String webappUrl = ServletHelper.getWebappURI(request);
+            String webappUrl = new URLInformation().getWebappUrl();
             
             UsecaseResolver resolver = null;
             Usecase usecase = null;

Modified: lenya/trunk/org.apache.lenya.core.usecase/src/main/java/org/apache/lenya/cms/usecase/gui/impl/GUIManagerImpl.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.core.usecase/src/main/java/org/apache/lenya/cms/usecase/gui/impl/GUIManagerImpl.java?rev=1033135&r1=1033134&r2=1033135&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.core.usecase/src/main/java/org/apache/lenya/cms/usecase/gui/impl/GUIManagerImpl.java (original)
+++ lenya/trunk/org.apache.lenya.core.usecase/src/main/java/org/apache/lenya/cms/usecase/gui/impl/GUIManagerImpl.java Tue Nov  9 18:23:16 2010
@@ -39,14 +39,12 @@ import org.apache.lenya.cms.ac.usecase.U
 import org.apache.lenya.cms.publication.Publication;
 import org.apache.lenya.cms.publication.Repository;
 import org.apache.lenya.cms.publication.Session;
-import org.apache.lenya.cms.publication.URLInformation;
 import org.apache.lenya.cms.usecase.Usecase;
 import org.apache.lenya.cms.usecase.UsecaseMessage;
 import org.apache.lenya.cms.usecase.UsecaseResolver;
 import org.apache.lenya.cms.usecase.gui.GUIManager;
 import org.apache.lenya.cms.usecase.gui.Tab;
-import org.apache.lenya.util.ServletHelper;
-
+import org.apache.lenya.utils.URLInformation;
 /**
  * GUI manager implementation.
  */
@@ -165,7 +163,7 @@ public class GUIManagerImpl extends Abst
 
                 HttpServletRequest request = getRequest();
                 Session session = this.repository.getSession(request);
-                String pubId = new URLInformation(this.webappUrl).getPublicationId();
+                String pubId = new URLInformation().getPublicationId();
                 Publication pub = session.getPublication(pubId);
                 if (!authorizer.authorizeUsecase(usecaseName, getRoles(), pub)) {
                     if (getLogger().isDebugEnabled()) {
@@ -229,7 +227,7 @@ public class GUIManagerImpl extends Abst
         if (this.roles == null) {
             HttpServletRequest request = getRequest();
             this.roles = PolicyUtil.getRoles(getRequest());
-            this.webappUrl = ServletHelper.getWebappURI(request);
+            this.webappUrl = new URLInformation().getWebappUrl();
         }
         return this.roles;
     }

Modified: lenya/trunk/org.apache.lenya.core.usecase/src/main/java/org/apache/lenya/cms/usecase/impl/UsecaseResolverImpl.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.core.usecase/src/main/java/org/apache/lenya/cms/usecase/impl/UsecaseResolverImpl.java?rev=1033135&r1=1033134&r2=1033135&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.core.usecase/src/main/java/org/apache/lenya/cms/usecase/impl/UsecaseResolverImpl.java (original)
+++ lenya/trunk/org.apache.lenya.core.usecase/src/main/java/org/apache/lenya/cms/usecase/impl/UsecaseResolverImpl.java Tue Nov  9 18:23:16 2010
@@ -32,7 +32,7 @@ import org.apache.lenya.cms.publication.
 import org.apache.lenya.cms.publication.templating.PublicationTemplateManager;
 import org.apache.lenya.cms.usecase.Usecase;
 import org.apache.lenya.cms.usecase.UsecaseResolver;
-import org.apache.lenya.util.ServletHelper;
+import org.apache.lenya.utils.URLInformation;
 
 /**
  * Usecase resolver implementation.
@@ -84,7 +84,7 @@ public class UsecaseResolverImpl extends
 
             Session session = this.repository.getSession(request);
 
-            String uri = ServletHelper.getWebappURI(request);
+            String uri = new URLInformation().getWebappUrl();
             if (session.getUriHandler().isPublication(uri)) {
                 publication = session.getUriHandler().getPublication(uri);
             }
@@ -102,7 +102,11 @@ public class UsecaseResolverImpl extends
         Usecase usecase = (Usecase) WebAppContextUtils.getCurrentWebApplicationContext().getBean(
                 Usecase.ROLE + "/" + usecaseName);
         usecase.setName(name);
-        usecase.setSourceURL(webappUrl);
+        /**The "webappUrl pass to this function is not always the "real" webappUrl cause of "servlet" protocol
+         * TODO : be sure to always pass a "real" url to resolve and suppress code behond.
+         */
+        String realWebappUrl = new URLInformation().getWebappUrl();
+        usecase.setSourceURL(realWebappUrl);
         return usecase;
     }
 



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