You are viewing a plain text version of this content. The canonical link for it is here.
Posted to pluto-scm@portals.apache.org by at...@apache.org on 2009/03/11 14:17:11 UTC
svn commit: r752438 - in /portals/pluto/trunk: ./
pluto-container-api/src/main/java/org/apache/pluto/container/
pluto-container-api/src/main/java/org/apache/pluto/container/driver/
pluto-container/src/main/java/org/apache/pluto/container/driver/impl/ p...
Author: ate
Date: Wed Mar 11 13:17:10 2009
New Revision: 752438
URL: http://svn.apache.org/viewvc?rev=752438&view=rev
Log:
PLUTO-537: Cleaning up Pluto packages
See: https://issues.apache.org/jira/browse/PLUTO-537
- renaming PortalDriverServices to PortalDriverContainerServices
- adding new PortalDriverServices interface combining ContainerServices and PortalDriverContainerServices
- adapt PlutoServices to take PortalDriverServices for initialization
- replacing o.a.p.container.driver.impl.PlutoContainerServices by new PortalDriverServicesImpl implementing PortalDriverServices
- renaming PortletURLListener to PortletURLListenerService and have it return a list of PortletURLGenerationListener instances for a specific Portlet app
- adding new RequiredContainerServices implementations (still only skeletons) for portal-driver-impl
- cleaning up and reconfiguring pluto-portal-driver-services-config.xml
- adding myself as Pluto developer in pom.xml :)
Added:
portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/container/PortletURLListenerService.java (contents, props changed)
- copied, changed from r752344, portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/container/PortletURLListener.java
portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/container/driver/PortalDriverContainerServices.java (with props)
portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/container/driver/impl/PortalDriverServicesImpl.java (contents, props changed)
- copied, changed from r752344, portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/container/driver/impl/PlutoContainerServices.java
portals/pluto/trunk/pluto-portal-driver-impl/src/main/java/org/apache/pluto/driver/services/container/EventCoordinationServiceImpl.java (with props)
portals/pluto/trunk/pluto-portal-driver-impl/src/main/java/org/apache/pluto/driver/services/container/FilterManagerServiceImpl.java (with props)
portals/pluto/trunk/pluto-portal-driver-impl/src/main/java/org/apache/pluto/driver/services/container/PortletURLListenerServiceImpl.java (with props)
Removed:
portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/container/PortletURLListener.java
portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/container/driver/impl/PlutoContainerServices.java
portals/pluto/trunk/pluto-portal-driver-impl/src/main/java/org/apache/pluto/driver/services/container/ContainerServicesImpl.java
Modified:
portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/container/RequiredContainerServices.java
portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/container/driver/PlutoServices.java
portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/container/driver/PortalDriverServices.java
portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/container/driver/impl/DefaultOptionalContainerServices.java
portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/container/impl/PortletURLImpl.java
portals/pluto/trunk/pluto-container/src/test/java/org/apache/pluto/container/util/PlutoTestCase.java
portals/pluto/trunk/pluto-portal-driver-impl/src/main/java/org/apache/pluto/driver/config/impl/DriverConfigurationImpl.java
portals/pluto/trunk/pluto-portal/src/main/webapp/WEB-INF/pluto-portal-driver-services-config.xml
portals/pluto/trunk/pom.xml
Copied: portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/container/PortletURLListenerService.java (from r752344, portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/container/PortletURLListener.java)
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/container/PortletURLListenerService.java?p2=portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/container/PortletURLListenerService.java&p1=portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/container/PortletURLListener.java&r1=752344&r2=752438&rev=752438&view=diff
==============================================================================
--- portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/container/PortletURLListener.java (original)
+++ portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/container/PortletURLListenerService.java Wed Mar 11 13:17:10 2009
@@ -16,10 +16,13 @@
*/
package org.apache.pluto.container;
-import javax.portlet.BaseURL;
+import java.util.List;
+
+import javax.portlet.PortletURLGenerationListener;
import org.apache.pluto.container.om.portlet.PortletApplicationDefinition;
-public interface PortletURLListener {
- public void callListener(PortletApplicationDefinition portletAppDD, BaseURL baseURL, boolean isAction, boolean isResource);
+public interface PortletURLListenerService
+{
+ List<PortletURLGenerationListener> getPortletURLGenerationListeners(PortletApplicationDefinition app);
}
Propchange: portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/container/PortletURLListenerService.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/container/RequiredContainerServices.java
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/container/RequiredContainerServices.java?rev=752438&r1=752437&r2=752438&view=diff
==============================================================================
--- portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/container/RequiredContainerServices.java (original)
+++ portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/container/RequiredContainerServices.java Wed Mar 11 13:17:10 2009
@@ -38,7 +38,6 @@
/**
* Returns the portlet request context service implementation
* used by the container
- * @return
*/
PortletRequestContextService getPortletRequestContextService();
@@ -48,8 +47,7 @@
public FilterManagerService getFilterManagerService();
/**
- * Returns the PortletURLListener which calls the Filter for the URL.
- * @return
+ * Returns the PortletURLListenerService
*/
- public PortletURLListener getPortletURLListener();
+ public PortletURLListenerService getPortletURLListenerService();
}
Modified: portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/container/driver/PlutoServices.java
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/container/driver/PlutoServices.java?rev=752438&r1=752437&r2=752438&view=diff
==============================================================================
--- portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/container/driver/PlutoServices.java (original)
+++ portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/container/driver/PlutoServices.java Wed Mar 11 13:17:10 2009
@@ -19,7 +19,6 @@
import javax.portlet.PortalContext;
import org.apache.pluto.container.CCPPProfileService;
-import org.apache.pluto.container.ContainerServices;
import org.apache.pluto.container.EventCoordinationService;
import org.apache.pluto.container.FilterManagerService;
import org.apache.pluto.container.NamespaceMapper;
@@ -27,13 +26,12 @@
import org.apache.pluto.container.PortletInvokerService;
import org.apache.pluto.container.PortletPreferencesService;
import org.apache.pluto.container.PortletRequestContextService;
-import org.apache.pluto.container.PortletURLListener;
+import org.apache.pluto.container.PortletURLListenerService;
import org.apache.pluto.container.UserInfoService;
-public class PlutoServices implements ContainerServices, PortalDriverServices
+public class PlutoServices implements PortalDriverServices
{
- private ContainerServices containerServices;
private PortalDriverServices driverServices;
private static PlutoServices singleton;
@@ -43,26 +41,25 @@
return singleton;
}
- public PlutoServices(ContainerServices containerServices, PortalDriverServices driverServices)
+ public PlutoServices(PortalDriverServices driverServices)
{
singleton = this;
- this.containerServices = containerServices;
this.driverServices = driverServices;
}
public CCPPProfileService getCCPPProfileService()
{
- return containerServices.getCCPPProfileService();
+ return driverServices.getCCPPProfileService();
}
public PortalContext getPortalContext()
{
- return containerServices.getPortalContext();
+ return driverServices.getPortalContext();
}
public NamespaceMapper getNamespaceMapper()
{
- return containerServices.getNamespaceMapper();
+ return driverServices.getNamespaceMapper();
}
public PortalAdministrationService getPortalAdministrationService()
@@ -72,17 +69,17 @@
public PortletEnvironmentService getPortletEnvironmentService()
{
- return containerServices.getPortletEnvironmentService();
+ return driverServices.getPortletEnvironmentService();
}
public PortletInvokerService getPortletInvokerService()
{
- return containerServices.getPortletInvokerService();
+ return driverServices.getPortletInvokerService();
}
public PortletPreferencesService getPortletPreferencesService()
{
- return containerServices.getPortletPreferencesService();
+ return driverServices.getPortletPreferencesService();
}
public PortletRegistryService getPortletRegistryService()
@@ -92,7 +89,7 @@
public UserInfoService getUserInfoService()
{
- return containerServices.getUserInfoService();
+ return driverServices.getUserInfoService();
}
public PortletContextService getPortletContextService()
@@ -102,21 +99,21 @@
public PortletRequestContextService getPortletRequestContextService()
{
- return containerServices.getPortletRequestContextService();
+ return driverServices.getPortletRequestContextService();
}
public EventCoordinationService getEventCoordinationService()
{
- return containerServices.getEventCoordinationService();
+ return driverServices.getEventCoordinationService();
}
public FilterManagerService getFilterManagerService()
{
- return containerServices.getFilterManagerService();
+ return driverServices.getFilterManagerService();
}
- public PortletURLListener getPortletURLListener()
+ public PortletURLListenerService getPortletURLListenerService()
{
- return containerServices.getPortletURLListener();
+ return driverServices.getPortletURLListenerService();
}
}
Added: portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/container/driver/PortalDriverContainerServices.java
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/container/driver/PortalDriverContainerServices.java?rev=752438&view=auto
==============================================================================
--- portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/container/driver/PortalDriverContainerServices.java (added)
+++ portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/container/driver/PortalDriverContainerServices.java Wed Mar 11 13:17:10 2009
@@ -0,0 +1,54 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.pluto.container.driver;
+
+/**
+ * Defines the additional services needed for the Pluto Portal Driver to integrate with the Pluto Container
+ * and accessed from the <code>org.apache.pluto.container.driver.PortletServlet</code>
+ * and the <code>org.apache.pluto.container.driver.impl.DefaultPortletInvokerService</code>.
+ * These extra services are not required nor used by the container itself directly.
+ *
+ * @since 2.0
+ * @version $Id$
+ */
+public interface PortalDriverContainerServices
+{
+ /**
+ * Returns the portlet context services implementation
+ * used by the container.
+ *
+ * @return registry service implementation
+ */
+ PortletContextService getPortletContextService();
+
+ /**
+ * Returns the portlet registry services implementation
+ * used by the container.
+ *
+ * @return registry service implementation
+ */
+ PortletRegistryService getPortletRegistryService();
+
+ /**
+ * Returns the admin service implementation used by
+ * the container.
+ *
+ * @return portal admin service
+ */
+ PortalAdministrationService getPortalAdministrationService();
+}
Propchange: portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/container/driver/PortalDriverContainerServices.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/container/driver/PortalDriverContainerServices.java
------------------------------------------------------------------------------
svn:keywords = Id
Propchange: portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/container/driver/PortalDriverContainerServices.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/container/driver/PortalDriverServices.java
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/container/driver/PortalDriverServices.java?rev=752438&r1=752437&r2=752438&view=diff
==============================================================================
--- portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/container/driver/PortalDriverServices.java (original)
+++ portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/container/driver/PortalDriverServices.java Wed Mar 11 13:17:10 2009
@@ -17,38 +17,14 @@
package org.apache.pluto.container.driver;
+import org.apache.pluto.container.ContainerServices;
+
/**
- * Defines the optional services for the Pluto Portal Driver to integrate with the Pluto Container
- * and accessed from the <code>org.apache.pluto.container.driver.PortletServlet</code>
- * and the <code>org.apache.pluto.container.driver.impl.DefaultPortletInvokerService</code>.
- * These services are not required nor used by the container itself directly.
+ * Combines the ContainerServices and the additional services needed for the Pluto Portal Driver to integrate with the Pluto Container
*
* @since 2.0
* @version $Id$
*/
-public interface PortalDriverServices
+public interface PortalDriverServices extends ContainerServices, PortalDriverContainerServices
{
- /**
- * Returns the portlet context services implementation
- * used by the container.
- *
- * @return registry service implementation
- */
- PortletContextService getPortletContextService();
-
- /**
- * Returns the portlet registry services implementation
- * used by the container.
- *
- * @return registry service implementation
- */
- PortletRegistryService getPortletRegistryService();
-
- /**
- * Returns the admin service implementation used by
- * the container.
- *
- * @return portal admin service
- */
- PortalAdministrationService getPortalAdministrationService();
}
Modified: portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/container/driver/impl/DefaultOptionalContainerServices.java
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/container/driver/impl/DefaultOptionalContainerServices.java?rev=752438&r1=752437&r2=752438&view=diff
==============================================================================
--- portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/container/driver/impl/DefaultOptionalContainerServices.java (original)
+++ portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/container/driver/impl/DefaultOptionalContainerServices.java Wed Mar 11 13:17:10 2009
@@ -25,7 +25,7 @@
import org.apache.pluto.container.PortletPreferencesService;
import org.apache.pluto.container.UserInfoService;
import org.apache.pluto.container.driver.PortalAdministrationService;
-import org.apache.pluto.container.driver.PortalDriverServices;
+import org.apache.pluto.container.driver.PortalDriverContainerServices;
import org.apache.pluto.container.driver.PortletContextService;
import org.apache.pluto.container.driver.PortletRegistryService;
import org.apache.pluto.container.impl.PortletEnvironmentServiceImpl;
@@ -37,7 +37,7 @@
* @version 1.0
* @since Sep 18, 2004
*/
-public class DefaultOptionalContainerServices implements OptionalContainerServices, PortalDriverServices {
+public class DefaultOptionalContainerServices implements OptionalContainerServices, PortalDriverContainerServices {
private PortletPreferencesService portletPreferencesService;
private PortletRegistryService portletRegistryService;
@@ -73,7 +73,7 @@
* be used. Otherwise, the default portlet preferences service will be used.
* @param root the root optional container services implementation.
*/
- public DefaultOptionalContainerServices(OptionalContainerServices root, PortalDriverServices driverServices) {
+ public DefaultOptionalContainerServices(OptionalContainerServices root, PortalDriverContainerServices driverServices) {
this();
if (root.getPortletPreferencesService() != null) {
portletPreferencesService = root.getPortletPreferencesService();
Copied: portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/container/driver/impl/PortalDriverServicesImpl.java (from r752344, portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/container/driver/impl/PlutoContainerServices.java)
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/container/driver/impl/PortalDriverServicesImpl.java?p2=portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/container/driver/impl/PortalDriverServicesImpl.java&p1=portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/container/driver/impl/PlutoContainerServices.java&r1=752344&r2=752438&rev=752438&view=diff
==============================================================================
--- portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/container/driver/impl/PlutoContainerServices.java (original)
+++ portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/container/driver/impl/PortalDriverServicesImpl.java Wed Mar 11 13:17:10 2009
@@ -19,7 +19,6 @@
import javax.portlet.PortalContext;
import org.apache.pluto.container.CCPPProfileService;
-import org.apache.pluto.container.ContainerServices;
import org.apache.pluto.container.EventCoordinationService;
import org.apache.pluto.container.FilterManagerService;
import org.apache.pluto.container.NamespaceMapper;
@@ -28,137 +27,117 @@
import org.apache.pluto.container.PortletInvokerService;
import org.apache.pluto.container.PortletPreferencesService;
import org.apache.pluto.container.PortletRequestContextService;
-import org.apache.pluto.container.PortletURLListener;
+import org.apache.pluto.container.PortletURLListenerService;
import org.apache.pluto.container.RequiredContainerServices;
import org.apache.pluto.container.UserInfoService;
import org.apache.pluto.container.driver.PortalAdministrationService;
+import org.apache.pluto.container.driver.PortalDriverContainerServices;
import org.apache.pluto.container.driver.PortalDriverServices;
import org.apache.pluto.container.driver.PortletContextService;
import org.apache.pluto.container.driver.PortletRegistryService;
import org.apache.pluto.container.impl.PortletEnvironmentServiceImpl;
-public class PlutoContainerServices implements ContainerServices, PortalDriverServices
+public class PortalDriverServicesImpl implements PortalDriverServices
{
/*
* required services
*/
private PortalContext context;
+ private EventCoordinationService eventCoordinationService;
+ private PortletRequestContextService portletRequestContextService;
private CCPPProfileService ccppProfileService;
+ private FilterManagerService filterManagerService;
+ private PortletURLListenerService portletURLListenerService;
/*
* optional services
*/
private PortletPreferencesService portletPreferencesService;
- private PortletRegistryService portletRegistryService;
- private PortletContextService portletContextService;
private PortletInvokerService portletInvokerService;
- private PortletRequestContextService portletRequestContextService;
private PortletEnvironmentService portletEnvironmentService;
- private PortalAdministrationService portalAdministrationService;
private UserInfoService userInfoService;
private NamespaceMapper namespaceMapper;
- private EventCoordinationService eventCoordinationService;
- private FilterManagerService filterManagerService;
- private PortletURLListener portletURLListener;
+ /*
+ * portal driver services
+ */
+ private PortletContextService portletContextService;
+ private PortletRegistryService portletRegistryService;
+ private PortalAdministrationService portalAdministrationService;
- public PlutoContainerServices()
- {
- createDefaultPortalDriverServices();
- createDefaultRequiredServices();
- createDefaultOptionalServices();
- }
-
- public PlutoContainerServices(RequiredContainerServices required, OptionalContainerServices optional)
- {
- this(required.getPortalContext(), required.getPortletRequestContextService(),
- required.getEventCoordinationService(), required.getFilterManagerService(),
- required.getPortletURLListener(), optional,
- optional instanceof PortalDriverServices ? (PortalDriverServices) optional : null);
- }
-
- public PlutoContainerServices(PortalContext context,
- PortletRequestContextService portletRequestContextService,
- FilterManagerService filterManagerService,
- PortletURLListener portletURLListener,
- EventCoordinationService eventCoordinationService)
+ public PortalDriverServicesImpl(PortalContext context,
+ PortletRequestContextService portletRequestContextService,
+ EventCoordinationService eventCoordinationService,
+ FilterManagerService filterManagerService,
+ PortletURLListenerService portletURLListenerService)
{
this.context = context;
this.eventCoordinationService = eventCoordinationService;
- this.createDefaultPortalDriverServices();
- this.createDefaultOptionalServices();
+ this.portletRequestContextService = portletRequestContextService;
+ this.filterManagerService = filterManagerService;
+ this.portletURLListenerService = portletURLListenerService;
+
+ createDefaultServicesIfNeeded();
}
-
- public PlutoContainerServices(PortalContext context,
+
+ public PortalDriverServicesImpl(PortalContext context,
PortletRequestContextService portletRequestContextService,
EventCoordinationService eventCoordinationService,
FilterManagerService filterManagerService,
- PortletURLListener portletURLListener,
+ PortletURLListenerService portletURLListenerService,
OptionalContainerServices optionalServices,
- PortalDriverServices portalDriverServices)
+ PortletContextService portletContextService,
+ PortletRegistryService portletRegistryService,
+ PortalAdministrationService portalAdministrationService)
{
this.context = context;
+ this.eventCoordinationService = eventCoordinationService;
this.portletRequestContextService = portletRequestContextService;
this.filterManagerService = filterManagerService;
- this.portletURLListener = portletURLListener;
+ this.portletURLListenerService = portletURLListenerService;
+
+ portletEnvironmentService = optionalServices.getPortletEnvironmentService();
ccppProfileService = optionalServices.getCCPPProfileService();
- if (ccppProfileService == null)
- ccppProfileService = new DummyCCPPProfileServiceImpl();
- this.eventCoordinationService = eventCoordinationService;
-
portletPreferencesService = optionalServices.getPortletPreferencesService();
- if (portletPreferencesService == null)
- portletPreferencesService = new DefaultPortletPreferencesService();
- portletRegistryService = portalDriverServices != null ? portalDriverServices.getPortletRegistryService() : null;
- if (portletRegistryService == null)
- portletRegistryService = new PortletContextManager();
- portletContextService = portalDriverServices != null ? portalDriverServices.getPortletContextService() : null;
- if (portletContextService == null && portletRegistryService instanceof PortletContextService)
- {
- portletContextService = (PortletContextService)portletRegistryService;
- }
portletInvokerService = optionalServices.getPortletInvokerService();
- if (portletInvokerService == null)
- portletInvokerService = new DefaultPortletInvokerService(portletContextService);
- portletEnvironmentService = optionalServices.getPortletEnvironmentService();
- if (portletEnvironmentService == null)
- portletEnvironmentService = new PortletEnvironmentServiceImpl();
- portalAdministrationService = portalDriverServices != null ? portalDriverServices.getPortalAdministrationService() : null;
- if (portalAdministrationService == null)
- portalAdministrationService = new DefaultPortalAdministrationService();
userInfoService = optionalServices.getUserInfoService();
- if (userInfoService == null)
- userInfoService = new DefaultUserInfoService();
namespaceMapper = optionalServices.getNamespaceMapper();
- if (namespaceMapper == null)
- namespaceMapper = new DefaultNamespaceMapper();
+
+ this.portletContextService = portletContextService;
+ this.portletRegistryService = portletRegistryService;
+ this.portalAdministrationService = portalAdministrationService;
+
+ createDefaultServicesIfNeeded();
}
- protected void createDefaultPortalDriverServices()
+ public PortalDriverServicesImpl(RequiredContainerServices required, OptionalContainerServices optional)
{
- portletRegistryService = new PortletContextManager();
- portletContextService = (PortletContextManager)portletRegistryService;
- portalAdministrationService = new DefaultPortalAdministrationService();
+ this(required.getPortalContext(), required.getPortletRequestContextService(),
+ required.getEventCoordinationService(), required.getFilterManagerService(),
+ required.getPortletURLListenerService(), optional, null, null, null);
}
-
- protected void createDefaultOptionalServices()
+
+ public PortalDriverServicesImpl(RequiredContainerServices required, OptionalContainerServices optional, PortalDriverContainerServices driver)
{
- ccppProfileService = new DummyCCPPProfileServiceImpl();
- portletPreferencesService = new DefaultPortletPreferencesService();
- portletInvokerService = new DefaultPortletInvokerService(portletContextService);
- portletEnvironmentService = new PortletEnvironmentServiceImpl();
- userInfoService = new DefaultUserInfoService();
- namespaceMapper = new DefaultNamespaceMapper();
- }
-
- protected void createDefaultRequiredServices()
- {
- this.context = null; // TODO
- this.portletRequestContextService = null; // TODO
- this.eventCoordinationService = null; // TODO
- this.filterManagerService = null; // TODO
- this.portletURLListener = null; // TODO
+ this(required.getPortalContext(), required.getPortletRequestContextService(),
+ required.getEventCoordinationService(), required.getFilterManagerService(),
+ required.getPortletURLListenerService(), optional,
+ driver.getPortletContextService(), driver.getPortletRegistryService(),
+ driver.getPortalAdministrationService());
+ }
+
+ protected void createDefaultServicesIfNeeded()
+ {
+ portletRegistryService = portletRegistryService == null ? new PortletContextManager() : portletRegistryService;
+ portletContextService = portletContextService == null ? (PortletContextManager)portletRegistryService : portletContextService;
+ portalAdministrationService = portalAdministrationService == null ? new DefaultPortalAdministrationService() : portalAdministrationService;
+ ccppProfileService = ccppProfileService == null ? new DummyCCPPProfileServiceImpl() : ccppProfileService;
+ portletPreferencesService = portletPreferencesService == null ? new DefaultPortletPreferencesService() : portletPreferencesService;
+ portletInvokerService = portletInvokerService == null ? new DefaultPortletInvokerService(portletContextService) : portletInvokerService;
+ portletEnvironmentService = portletEnvironmentService == null ? new PortletEnvironmentServiceImpl() : portletEnvironmentService;
+ userInfoService = userInfoService == null ? new DefaultUserInfoService() : userInfoService;
+ namespaceMapper = namespaceMapper == null ? new DefaultNamespaceMapper() : namespaceMapper;
}
public PortalContext getPortalContext()
@@ -240,8 +219,8 @@
return filterManagerService;
}
- public PortletURLListener getPortletURLListener()
+ public PortletURLListenerService getPortletURLListenerService()
{
- return portletURLListener;
+ return portletURLListenerService;
}
}
Propchange: portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/container/driver/impl/PortalDriverServicesImpl.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/container/impl/PortletURLImpl.java
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/container/impl/PortletURLImpl.java?rev=752438&r1=752437&r2=752438&view=diff
==============================================================================
--- portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/container/impl/PortletURLImpl.java (original)
+++ portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/container/impl/PortletURLImpl.java Wed Mar 11 13:17:10 2009
@@ -30,12 +30,13 @@
import javax.portlet.PortletModeException;
import javax.portlet.PortletSecurityException;
import javax.portlet.PortletURL;
+import javax.portlet.PortletURLGenerationListener;
import javax.portlet.ResourceURL;
import javax.portlet.WindowState;
import javax.portlet.WindowStateException;
import org.apache.pluto.container.PortletMimeResponseContext;
-import org.apache.pluto.container.PortletURLListener;
+import org.apache.pluto.container.PortletURLListenerService;
import org.apache.pluto.container.PortletURLProvider;
import org.apache.pluto.container.om.portlet.PortletApplicationDefinition;
import org.apache.pluto.container.om.portlet.PortletDefinition;
@@ -164,10 +165,23 @@
filtering = true;
try
{
- PortletURLListener portletURLFilterListener = responseContext.getContainer().getRequiredContainerServices().getPortletURLListener();
+ PortletURLListenerService service = responseContext.getContainer().getRequiredContainerServices().getPortletURLListenerService();
PortletApplicationDefinition portletApp = responseContext.getPortletWindow().getPortletEntity().getPortletDefinition().getApplication();
- portletURLFilterListener.callListener(portletApp, this, urlProvider.isActionURL(), urlProvider.isResourceURL());
-
+ for (PortletURLGenerationListener listener : service.getPortletURLGenerationListeners(portletApp))
+ {
+ if (urlProvider.isActionURL())
+ {
+ listener.filterActionURL(this);
+ }
+ else if (urlProvider.isResourceURL())
+ {
+ listener.filterResourceURL(this);
+ }
+ else
+ {
+ listener.filterRenderURL(this);
+ }
+ }
}
finally
{
Modified: portals/pluto/trunk/pluto-container/src/test/java/org/apache/pluto/container/util/PlutoTestCase.java
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-container/src/test/java/org/apache/pluto/container/util/PlutoTestCase.java?rev=752438&r1=752437&r2=752438&view=diff
==============================================================================
--- portals/pluto/trunk/pluto-container/src/test/java/org/apache/pluto/container/util/PlutoTestCase.java (original)
+++ portals/pluto/trunk/pluto-container/src/test/java/org/apache/pluto/container/util/PlutoTestCase.java Wed Mar 11 13:17:10 2009
@@ -19,8 +19,6 @@
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
-import org.apache.pluto.container.driver.PlutoServices;
-import org.apache.pluto.container.driver.impl.PlutoContainerServices;
import org.jmock.MockObjectTestCase;
/**
@@ -34,8 +32,6 @@
public void setUp() throws Exception {
System.setProperty("org.apache.commons.logging.Log", "org.apache.commons.logging.impl.SimpleLog");
System.setProperty("org.apache.commons.logging.simplelog.defaultlog", "ERROR");
- PlutoContainerServices containerServices = new PlutoContainerServices();
- new PlutoServices(containerServices, containerServices);
}
protected void assertException(Object target, String methodName,
Modified: portals/pluto/trunk/pluto-portal-driver-impl/src/main/java/org/apache/pluto/driver/config/impl/DriverConfigurationImpl.java
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-portal-driver-impl/src/main/java/org/apache/pluto/driver/config/impl/DriverConfigurationImpl.java?rev=752438&r1=752437&r2=752438&view=diff
==============================================================================
--- portals/pluto/trunk/pluto-portal-driver-impl/src/main/java/org/apache/pluto/driver/config/impl/DriverConfigurationImpl.java (original)
+++ portals/pluto/trunk/pluto-portal-driver-impl/src/main/java/org/apache/pluto/driver/config/impl/DriverConfigurationImpl.java Wed Mar 11 13:17:10 2009
@@ -25,7 +25,6 @@
import org.apache.pluto.container.PortletContainerException;
import org.apache.pluto.container.PortletPreferencesService;
-import org.apache.pluto.container.driver.PortletRegistryService;
import org.apache.pluto.driver.config.DriverConfiguration;
import org.apache.pluto.driver.services.portal.PageConfig;
import org.apache.pluto.driver.services.portal.PropertyConfigService;
@@ -51,7 +50,6 @@
// Container Services
private PortletPreferencesService portletPreferencesService;
- private PortletRegistryService registryService;
public DriverConfigurationImpl(PortalURLParser portalUrlParser,
PropertyConfigService propertyService,
@@ -193,24 +191,6 @@
return renderService;
}
- public PortletRegistryService getPortletRegistryService()
- {
- return registryService;
- }
-
- public void setPortletRegistryService(PortletRegistryService registryService)
- {
- this.registryService = registryService;
- }
-
- /**
- * Standard Getter.
- * @return the configuration data of all configured portlet applications.
- */
-// public Collection getPortletApplications() {
-// return registryService.getPortletApplications();
-// }
-
public Set<PortletMode> getSupportedPortletModes(String portletId) throws PortletContainerException {
return supportedModesService.getSupportedPortletModes(portletId);
}
Added: portals/pluto/trunk/pluto-portal-driver-impl/src/main/java/org/apache/pluto/driver/services/container/EventCoordinationServiceImpl.java
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-portal-driver-impl/src/main/java/org/apache/pluto/driver/services/container/EventCoordinationServiceImpl.java?rev=752438&view=auto
==============================================================================
--- portals/pluto/trunk/pluto-portal-driver-impl/src/main/java/org/apache/pluto/driver/services/container/EventCoordinationServiceImpl.java (added)
+++ portals/pluto/trunk/pluto-portal-driver-impl/src/main/java/org/apache/pluto/driver/services/container/EventCoordinationServiceImpl.java Wed Mar 11 13:17:10 2009
@@ -0,0 +1,40 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.pluto.driver.services.container;
+
+import java.util.List;
+
+import javax.portlet.Event;
+
+import org.apache.pluto.container.EventCoordinationService;
+import org.apache.pluto.container.PortletWindow;
+
+/**
+ * @version $Id$
+ *
+ */
+public class EventCoordinationServiceImpl implements EventCoordinationService
+{
+ /* (non-Javadoc)
+ * @see org.apache.pluto.container.EventCoordinationService#processEvents(org.apache.pluto.container.PortletWindow, java.util.List)
+ */
+ public void processEvents(PortletWindow portletWindow, List<Event> events)
+ {
+ // TODO Auto-generated method stub
+ }
+}
Propchange: portals/pluto/trunk/pluto-portal-driver-impl/src/main/java/org/apache/pluto/driver/services/container/EventCoordinationServiceImpl.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: portals/pluto/trunk/pluto-portal-driver-impl/src/main/java/org/apache/pluto/driver/services/container/EventCoordinationServiceImpl.java
------------------------------------------------------------------------------
svn:keywords = Id
Propchange: portals/pluto/trunk/pluto-portal-driver-impl/src/main/java/org/apache/pluto/driver/services/container/EventCoordinationServiceImpl.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: portals/pluto/trunk/pluto-portal-driver-impl/src/main/java/org/apache/pluto/driver/services/container/FilterManagerServiceImpl.java
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-portal-driver-impl/src/main/java/org/apache/pluto/driver/services/container/FilterManagerServiceImpl.java?rev=752438&view=auto
==============================================================================
--- portals/pluto/trunk/pluto-portal-driver-impl/src/main/java/org/apache/pluto/driver/services/container/FilterManagerServiceImpl.java (added)
+++ portals/pluto/trunk/pluto-portal-driver-impl/src/main/java/org/apache/pluto/driver/services/container/FilterManagerServiceImpl.java Wed Mar 11 13:17:10 2009
@@ -0,0 +1,39 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.pluto.driver.services.container;
+
+import org.apache.pluto.container.FilterManager;
+import org.apache.pluto.container.FilterManagerService;
+import org.apache.pluto.container.om.portlet.PortletApplicationDefinition;
+
+/**
+ * @version $Id$
+ *
+ */
+public class FilterManagerServiceImpl implements FilterManagerService
+{
+ /* (non-Javadoc)
+ * @see org.apache.pluto.container.FilterManagerService#getFilterManager(org.apache.pluto.container.om.portlet.PortletApplicationDefinition, java.lang.String, java.lang.String)
+ */
+ public FilterManager getFilterManager(PortletApplicationDefinition portletAppDD, String portletName,
+ String lifeCycle)
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+}
Propchange: portals/pluto/trunk/pluto-portal-driver-impl/src/main/java/org/apache/pluto/driver/services/container/FilterManagerServiceImpl.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: portals/pluto/trunk/pluto-portal-driver-impl/src/main/java/org/apache/pluto/driver/services/container/FilterManagerServiceImpl.java
------------------------------------------------------------------------------
svn:keywords = Id
Propchange: portals/pluto/trunk/pluto-portal-driver-impl/src/main/java/org/apache/pluto/driver/services/container/FilterManagerServiceImpl.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: portals/pluto/trunk/pluto-portal-driver-impl/src/main/java/org/apache/pluto/driver/services/container/PortletURLListenerServiceImpl.java
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-portal-driver-impl/src/main/java/org/apache/pluto/driver/services/container/PortletURLListenerServiceImpl.java?rev=752438&view=auto
==============================================================================
--- portals/pluto/trunk/pluto-portal-driver-impl/src/main/java/org/apache/pluto/driver/services/container/PortletURLListenerServiceImpl.java (added)
+++ portals/pluto/trunk/pluto-portal-driver-impl/src/main/java/org/apache/pluto/driver/services/container/PortletURLListenerServiceImpl.java Wed Mar 11 13:17:10 2009
@@ -0,0 +1,41 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.pluto.driver.services.container;
+
+import java.util.List;
+
+import javax.portlet.PortletURLGenerationListener;
+
+import org.apache.pluto.container.PortletURLListenerService;
+import org.apache.pluto.container.om.portlet.PortletApplicationDefinition;
+
+/**
+ * @version $Id$
+ *
+ */
+public class PortletURLListenerServiceImpl implements PortletURLListenerService
+{
+ /* (non-Javadoc)
+ * @see org.apache.pluto.container.PortletURLListenerService#getPortletURLGenerationListeners(org.apache.pluto.container.om.portlet.PortletApplicationDefinition)
+ */
+ public List<PortletURLGenerationListener> getPortletURLGenerationListeners(PortletApplicationDefinition app)
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+}
Propchange: portals/pluto/trunk/pluto-portal-driver-impl/src/main/java/org/apache/pluto/driver/services/container/PortletURLListenerServiceImpl.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: portals/pluto/trunk/pluto-portal-driver-impl/src/main/java/org/apache/pluto/driver/services/container/PortletURLListenerServiceImpl.java
------------------------------------------------------------------------------
svn:keywords = Id
Propchange: portals/pluto/trunk/pluto-portal-driver-impl/src/main/java/org/apache/pluto/driver/services/container/PortletURLListenerServiceImpl.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: portals/pluto/trunk/pluto-portal/src/main/webapp/WEB-INF/pluto-portal-driver-services-config.xml
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-portal/src/main/webapp/WEB-INF/pluto-portal-driver-services-config.xml?rev=752438&r1=752437&r2=752438&view=diff
==============================================================================
--- portals/pluto/trunk/pluto-portal/src/main/webapp/WEB-INF/pluto-portal-driver-services-config.xml (original)
+++ portals/pluto/trunk/pluto-portal/src/main/webapp/WEB-INF/pluto-portal-driver-services-config.xml Wed Mar 11 13:17:10 2009
@@ -52,12 +52,13 @@
<bean id="RequiredContainerServices"
name="OptionalContainerServices"
- class="org.apache.pluto.driver.services.container.ContainerServicesImpl"
+ class="org.apache.pluto.container.driver.impl.PlutoDriverServicesImpl"
singleton="true">
<constructor-arg><ref bean="PortalContext"/></constructor-arg>
- <constructor-arg><ref bean="DriverConfiguration"/></constructor-arg>
- <constructor-arg><ref bean="CCPPProfileService"/></constructor-arg>
- <constructor-arg><ref bean="ContainerInvocationService"/></constructor-arg>
+ <constructor-arg><ref bean="PortletRequestContextService"/></constructor-arg>
+ <constructor-arg><ref bean="EventCoordinationService"/></constructor-arg>
+ <constructor-arg><ref bean="FilterManagerService"/></constructor-arg>
+ <constructor-arg><ref bean="PortletURLListenerService"/></constructor-arg>
</bean>
<bean id="PortalContext"
@@ -80,15 +81,8 @@
<constructor-arg><ref bean="SupportedModesService"/></constructor-arg>
<constructor-arg><ref bean="SupportedWindowStatesService"/></constructor-arg>
- <!-- === Container Services === -->
- <constructor-arg><ref bean="PortalCallbackService"/></constructor-arg>
-
- <!-- Optional Container Services -->
- <property name="portletRegistryService"><ref bean="PortletRegistryService"/></property>
-
<!--
<property name="portletPreferencesService"><ref bean="PortletPreferencesService"/></property>
- <property name="userAttributeService"><ref bean="UserAttributeService"/></property>
-->
</bean>
@@ -134,30 +128,21 @@
<!-- ================================================ -->
<!-- Container Services injected into Configuration -->
<!-- ================================================ -->
- <bean id="PortalCallbackService"
- class="org.apache.pluto.driver.services.container.PortalCallbackServiceImpl"
+ <bean id="PortletRequestContextService"
+ class="org.apache.pluto.driver.services.container.PortletRequestContextServiceImpl"
singleton="true">
- <constructor-arg><ref bean="PropertyManager"/></constructor-arg>
</bean>
-
- <bean id="PropertyManager"
- class="org.apache.pluto.core.DefaultPropertyManager"
+ <bean id="EventCoordinationService"
+ class="org.apache.pluto.driver.services.container.EventCoordinationServiceImpl"
singleton="true">
</bean>
-
- <bean id="CCPPProfileService"
- class="org.apache.pluto.core.DummyCCPPProfileServiceImpl"
- singleton="true">
+ <bean id="FilterManagerService"
+ class="org.apache.pluto.driver.services.container.FilterManagerServiceImpl"
+ singleton="true">
</bean>
-
- <bean id='ContainerInvocationService'
- class='org.apache.pluto.core.ContainerInvocationServiceImpl'
- singleton='true'>
- </bean>
-
- <bean id="PortletRegistryService"
- class="org.apache.pluto.core.PortletContextManager"
- singleton="true">
+ <bean id="PortletURLListenerService"
+ class="org.apache.pluto.driver.services.container.PortletURLListenerServiceImpl"
+ singleton="true">
</bean>
-
+
</beans>
\ No newline at end of file
Modified: portals/pluto/trunk/pom.xml
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pom.xml?rev=752438&r1=752437&r2=752438&view=diff
==============================================================================
--- portals/pluto/trunk/pom.xml (original)
+++ portals/pluto/trunk/pom.xml Wed Mar 11 13:17:10 2009
@@ -161,6 +161,18 @@
<organizationUrl>http://www.library.jhu.edu</organizationUrl>
</developer>
+ <developer>
+ <name>Ate Douma</name>
+ <id>ate</id>
+ <email>ate#aT#apache.d0t.org</email>
+ <timezone>+2</timezone>
+ <organization>Hippo</organization>
+ <organizationUrl>http://www.onehippo.com</organizationUrl>
+ <roles>
+ <role>Java Developer</role>
+ </roles>
+ </developer>
+
</developers>