You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by cz...@apache.org on 2006/08/10 08:33:59 UTC

svn commit: r430282 [2/2] - in /cocoon/trunk: blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/ blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/coplet/ blocks/cocoon-portal/cocoon-portal-impl...

Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/layout/renderer/impl/DefaultLinkRenderer.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/layout/renderer/impl/DefaultLinkRenderer.java?rev=430282&r1=430281&r2=430282&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/layout/renderer/impl/DefaultLinkRenderer.java (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/layout/renderer/impl/DefaultLinkRenderer.java Wed Aug  9 23:33:57 2006
@@ -33,6 +33,9 @@
  */
 public class DefaultLinkRenderer extends AbstractRenderer {
 
+    /**
+     * @see org.apache.cocoon.portal.layout.renderer.impl.AbstractRenderer#process(org.apache.cocoon.portal.layout.Layout, org.apache.cocoon.portal.PortalService, org.xml.sax.ContentHandler)
+     */
     public void process(Layout layout, PortalService service, ContentHandler handler)
     throws SAXException {
         if (layout instanceof LinkLayout) {

Added: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/spring/RegistrationBeanPostProcessor.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/spring/RegistrationBeanPostProcessor.java?rev=430282&view=auto
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/spring/RegistrationBeanPostProcessor.java (added)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/spring/RegistrationBeanPostProcessor.java Wed Aug  9 23:33:57 2006
@@ -0,0 +1,66 @@
+/*
+ * Copyright 2006 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.cocoon.portal.spring;
+
+import org.apache.cocoon.portal.PortalService;
+import org.apache.cocoon.portal.layout.renderer.Renderer;
+import org.springframework.beans.BeansException;
+import org.springframework.beans.factory.BeanFactory;
+import org.springframework.beans.factory.BeanFactoryAware;
+import org.springframework.beans.factory.config.BeanPostProcessor;
+
+/**
+ * This is a Spring bean post processor for registering portal
+ * components to the {@link PortalService}.
+ *
+ * @version $Id$
+ */
+public class RegistrationBeanPostProcessor
+    implements BeanPostProcessor, BeanFactoryAware {
+
+    protected BeanFactory beanFactory;
+
+    protected static String RENDERER_ROLE_PREFIX = Renderer.ROLE + '/';
+
+    /**
+     * @see org.springframework.beans.factory.BeanFactoryAware#setBeanFactory(org.springframework.beans.factory.BeanFactory)
+     */
+    public void setBeanFactory(BeanFactory beanFactory) throws BeansException {
+        this.beanFactory = beanFactory;
+    }
+
+    /**
+     * @see org.springframework.beans.factory.config.BeanPostProcessor#postProcessAfterInitialization(java.lang.Object, java.lang.String)
+     */
+    public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
+        if ( bean instanceof Renderer ) {
+            String name = beanName;
+            if ( name.startsWith(RENDERER_ROLE_PREFIX) ) {
+                name = name.substring(RENDERER_ROLE_PREFIX.length());
+            }
+            ((PortalService)this.beanFactory.getBean(PortalService.ROLE)).register(name, (Renderer)bean);
+        }
+        return bean;
+    }
+
+    /**
+     * @see org.springframework.beans.factory.config.BeanPostProcessor#postProcessBeforeInitialization(java.lang.Object, java.lang.String)
+     */
+    public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {
+        // nothing to do
+        return bean;
+    }
+}

Propchange: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/spring/RegistrationBeanPostProcessor.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/spring/RegistrationBeanPostProcessor.java
------------------------------------------------------------------------------
    svn:keywords = Id

Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/resources/org/apache/cocoon/portal/portal.roles
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/resources/org/apache/cocoon/portal/portal.roles?rev=430282&r1=430281&r2=430282&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/resources/org/apache/cocoon/portal/portal.roles (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/resources/org/apache/cocoon/portal/portal.roles Wed Aug  9 23:33:57 2006
@@ -20,6 +20,8 @@
       +-->
     <role name="org.apache.cocoon.portal.spring.ReceiverBeanPostProcessor"
           default-class="org.apache.cocoon.portal.spring.ReceiverBeanPostProcessor"/>
+    <role name="org.apache.cocoon.portal.spring.RegistrationBeanPostProcessor"
+          default-class="org.apache.cocoon.portal.spring.RegistrationBeanPostProcessor"/>
 
   <!--+ 
       | Event Aspects

Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-portlet-impl/src/main/java/org/apache/cocoon/portal/pluto/TestProfileManager.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-portlet-impl/src/main/java/org/apache/cocoon/portal/pluto/TestProfileManager.java?rev=430282&r1=430281&r2=430282&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-portlet-impl/src/main/java/org/apache/cocoon/portal/pluto/TestProfileManager.java (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-portlet-impl/src/main/java/org/apache/cocoon/portal/pluto/TestProfileManager.java Wed Aug  9 23:33:57 2006
@@ -19,8 +19,8 @@
 import java.util.Iterator;
 import java.util.List;
 
-import org.apache.cocoon.environment.ObjectModelHelper;
-import org.apache.cocoon.environment.Request;
+import javax.servlet.http.HttpServletRequest;
+
 import org.apache.cocoon.portal.PortalService;
 import org.apache.cocoon.portal.coplet.CopletDefinition;
 import org.apache.cocoon.portal.coplet.CopletInstance;
@@ -65,7 +65,7 @@
             // display the portlets specified with the parameter. Otherwise
             // we show all portlets
             final List portletNames = new ArrayList();
-            final Request r = ObjectModelHelper.getRequest(this.portalService.getObjectModel());
+            final HttpServletRequest r = this.portalService.getProcessInfoProvider().getRequest();
             final String[] values = r.getParameterValues("portletName");
             if ( values != null && values.length > 0 ) {
                 for(int i=0; i<values.length; i++) {
@@ -125,7 +125,7 @@
         if ( event instanceof UserIsAccessingEvent ) {
             if ( "test".equals(event.getPortalUser().getUserName()) ) {
                 final List portletNames = new ArrayList();
-                final Request r = ObjectModelHelper.getRequest(this.portalService.getObjectModel());
+                final HttpServletRequest r = this.portalService.getProcessInfoProvider().getRequest();
                 final String[] values = r.getParameterValues("portletName");
                 if ( values != null && values.length > 0 ) {
                     for(int i=0; i<values.length; i++) {

Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-portlet-impl/src/main/java/org/apache/cocoon/portal/pluto/adapter/PortletAdapter.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-portlet-impl/src/main/java/org/apache/cocoon/portal/pluto/adapter/PortletAdapter.java?rev=430282&r1=430281&r2=430282&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-portlet-impl/src/main/java/org/apache/cocoon/portal/pluto/adapter/PortletAdapter.java (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-portlet-impl/src/main/java/org/apache/cocoon/portal/pluto/adapter/PortletAdapter.java Wed Aug  9 23:33:57 2006
@@ -373,7 +373,7 @@
 
         // do we already have an environment?
         // if not, create one
-        final Map objectModel = aspectContext.getObjectModel();
+        final Map objectModel = service.getProcessInfoProvider().getObjectModel();
 
         PortletURLProviderImpl event = (PortletURLProviderImpl) objectModel.get("portlet-event");
         if ( event != null ) {
@@ -405,7 +405,7 @@
                        ContentHandler ch,
                        Properties properties)
     throws SAXException {
-        final Map objectModel = aspectContext.getObjectModel();
+        final Map objectModel = service.getProcessInfoProvider().getObjectModel();
 
         // don't generate a response, if we issued a redirect
         if (objectModel.remove("portlet-event") == null) {

Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-sample/src/main/java/org/apache/cocoon/portal/coplets/basket/AddToBasketAspect.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-sample/src/main/java/org/apache/cocoon/portal/coplets/basket/AddToBasketAspect.java?rev=430282&r1=430281&r2=430282&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-sample/src/main/java/org/apache/cocoon/portal/coplets/basket/AddToBasketAspect.java (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-sample/src/main/java/org/apache/cocoon/portal/coplets/basket/AddToBasketAspect.java Wed Aug  9 23:33:57 2006
@@ -15,10 +15,11 @@
  */
 package org.apache.cocoon.portal.coplets.basket;
 
-import org.apache.avalon.framework.parameters.ParameterException;
-import org.apache.avalon.framework.parameters.Parameters;
+import java.util.Properties;
+
 import org.apache.avalon.framework.service.ServiceException;
 import org.apache.avalon.framework.service.ServiceManager;
+import org.apache.cocoon.portal.PortalException;
 import org.apache.cocoon.portal.PortalService;
 import org.apache.cocoon.portal.coplet.CopletInstance;
 import org.apache.cocoon.portal.coplets.basket.events.AddItemEvent;
@@ -100,11 +101,11 @@
     }
 
     /**
-     * @see org.apache.cocoon.portal.layout.renderer.aspect.RendererAspect#prepareConfiguration(org.apache.avalon.framework.parameters.Parameters)
+     * @see org.apache.cocoon.portal.layout.renderer.aspect.impl.AbstractAspect#prepareConfiguration(java.util.Properties)
      */
-    public Object prepareConfiguration(Parameters configuration)
-    throws ParameterException {
-        if ( configuration.getParameter("use-store", "basket").equalsIgnoreCase("basket") ) {
+    public Object prepareConfiguration(Properties configuration)
+    throws PortalException {
+        if ( configuration.getProperty("use-store", "basket").equalsIgnoreCase("basket") ) {
             return Boolean.TRUE;
         }
         return Boolean.FALSE;

Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-wsrp-impl/src/main/java/org/apache/cocoon/portal/wsrp/adapter/WSRPAdapter.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-wsrp-impl/src/main/java/org/apache/cocoon/portal/wsrp/adapter/WSRPAdapter.java?rev=430282&r1=430281&r2=430282&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-wsrp-impl/src/main/java/org/apache/cocoon/portal/wsrp/adapter/WSRPAdapter.java (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-wsrp-impl/src/main/java/org/apache/cocoon/portal/wsrp/adapter/WSRPAdapter.java Wed Aug  9 23:33:57 2006
@@ -23,6 +23,9 @@
 import java.util.Map;
 import java.util.Properties;
 
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpSession;
+
 import oasis.names.tc.wsrp.v1.types.BlockingInteractionResponse;
 import oasis.names.tc.wsrp.v1.types.LocalizedString;
 import oasis.names.tc.wsrp.v1.types.MarkupContext;
@@ -43,8 +46,6 @@
 import org.apache.avalon.framework.service.ServiceException;
 import org.apache.avalon.framework.service.ServiceManager;
 import org.apache.cocoon.ProcessingException;
-import org.apache.cocoon.environment.ObjectModelHelper;
-import org.apache.cocoon.environment.Session;
 import org.apache.cocoon.environment.wrapper.RequestParameters;
 import org.apache.cocoon.portal.PortalManagerAspect;
 import org.apache.cocoon.portal.PortalManagerAspectPrepareContext;
@@ -284,7 +285,7 @@
             }
         }
         coplet.setTemporaryAttribute(ATTRIBUTE_NAME_PORTLET_KEY, portletKey);
-        final Session session = ObjectModelHelper.getRequest(this.portalService.getObjectModel()).getSession();
+        final HttpSession session = this.portalService.getProcessInfoProvider().getRequest().getSession();
         final String portletInstanceKey = this.getPortletInstanceKey(portletKey, coplet, session.getId());
         coplet.setTemporaryAttribute(ATTRIBUTE_NAME_PORTLET_INSTANCE_KEY, portletInstanceKey);
 
@@ -600,8 +601,7 @@
             WSRPPortlet wsrpPortlet = consumerEnvironment.getPortletRegistry().getPortlet(portletKey);
             User user = (User) coplet.getTemporaryAttribute(ATTRIBUTE_NAME_USER);
             
-            org.apache.cocoon.environment.Request requestObject = ObjectModelHelper.getRequest(service.getObjectModel());
-            java.util.Enumeration formParameter = requestObject.getParameterNames();
+            final HttpServletRequest requestObject = service.getProcessInfoProvider().getRequest();
 
             Request request = new RequestImpl();
             String portletMode = requestObject.getParameter(Constants.PORTLET_MODE);
@@ -642,10 +642,10 @@
                 }
             }
             if (requestObject.getParameter(Constants.URL_TYPE).equals(Constants.URL_TYPE_BLOCKINGACTION)) {
-            // performBlockingInteraction()
-                String parameter;
+                // performBlockingInteraction()
+                final Enumeration formParameter = requestObject.getParameterNames();
                 while (formParameter.hasMoreElements()) {
-                    parameter = (String) formParameter.nextElement();
+                    final String parameter = (String) formParameter.nextElement();
                     request.addFormParameter(parameter, requestObject.getParameter(parameter));
                 }
                 performBlockingInteraction(wsrpPortlet, windowSession, user, request);

Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-wsrp-impl/src/main/java/org/apache/cocoon/portal/wsrp/adapter/WSRPEventAspect.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-wsrp-impl/src/main/java/org/apache/cocoon/portal/wsrp/adapter/WSRPEventAspect.java?rev=430282&r1=430281&r2=430282&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-wsrp-impl/src/main/java/org/apache/cocoon/portal/wsrp/adapter/WSRPEventAspect.java (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-wsrp-impl/src/main/java/org/apache/cocoon/portal/wsrp/adapter/WSRPEventAspect.java Wed Aug  9 23:33:57 2006
@@ -41,7 +41,7 @@
      * @see org.apache.cocoon.portal.event.aspect.EventAspect#process(org.apache.cocoon.portal.event.aspect.EventAspectContext, org.apache.cocoon.portal.PortalService)
      */
     public void process(EventAspectContext context, PortalService service) {
-        final Request request = ObjectModelHelper.getRequest(context.getObjectModel());
+        final Request request = ObjectModelHelper.getRequest(service.getProcessInfoProvider().getObjectModel());
         final String[] values = request.getParameterValues("cocoon-wsrpevent");
         if ( values != null && values.length == 1 ) {
             // create a wsrp event, first build map of parameters

Modified: cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/processing/ProcessInfoProvider.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/processing/ProcessInfoProvider.java?rev=430282&r1=430281&r2=430282&view=diff
==============================================================================
--- cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/processing/ProcessInfoProvider.java (original)
+++ cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/processing/ProcessInfoProvider.java Wed Aug  9 23:33:57 2006
@@ -15,6 +15,8 @@
  */
 package org.apache.cocoon.processing;
 
+import java.util.Map;
+
 import javax.servlet.ServletContext;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
@@ -28,9 +30,13 @@
  */
 public interface ProcessInfoProvider {
 
+    String ROLE = ProcessInfoProvider.class.getName();
+
     HttpServletRequest getRequest();
 
     HttpServletResponse getResponse();
 
     ServletContext getServletContext();
+
+    Map getObjectModel();
 }

Modified: cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/processing/impl/ProcessInfoProviderImpl.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/processing/impl/ProcessInfoProviderImpl.java?rev=430282&r1=430281&r2=430282&view=diff
==============================================================================
--- cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/processing/impl/ProcessInfoProviderImpl.java (original)
+++ cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/processing/impl/ProcessInfoProviderImpl.java Wed Aug  9 23:33:57 2006
@@ -15,6 +15,8 @@
  */
 package org.apache.cocoon.processing.impl;
 
+import java.util.Map;
+
 import javax.servlet.ServletContext;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
@@ -70,5 +72,12 @@
      */
     public ServletContext getServletContext() {
         return this.servletContext;
+    }
+
+    /**
+     * @see org.apache.cocoon.processing.ProcessInfoProvider#getObjectModel()
+     */
+    public Map getObjectModel() {
+        return ContextHelper.getObjectModel(this.context);
     }
 }