Author: chris.laprun(a)jboss.com
Date: 2009-09-02 07:38:42 -0400 (Wed, 02 Sep 2009)
New Revision: 13801
Modified:
jbossexo/modules/wsrp/trunk/common/pom.xml
jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/RegistrationManager.java
jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/wsrp/endpoints/ProducerHolder.java
jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/wsrp/exo/ExoKernelIntegration.java
jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/wsrp/producer/MarkupHandler.java
jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/wsrp/producer/PortletManagementHandler.java
jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/wsrp/producer/WSRPProducer.java
jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/wsrp/producer/WSRPProducerImpl.java
jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/wsrp/producer/config/ProducerConfiguration.java
jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/wsrp/producer/config/impl/ProducerConfigurationImpl.java
Log:
- Cleaned-up WSRPProducer interface to add configuration contract to interface.
- Moved session and init cookie configuration methods to ProducerConfiguration where they
belong.
- Removed obsolete dependence on registration module.
Modified: jbossexo/modules/wsrp/trunk/common/pom.xml
===================================================================
--- jbossexo/modules/wsrp/trunk/common/pom.xml 2009-09-01 17:56:06 UTC (rev 13800)
+++ jbossexo/modules/wsrp/trunk/common/pom.xml 2009-09-02 11:38:42 UTC (rev 13801)
@@ -60,11 +60,6 @@
<scope>provided</scope>
</dependency>
<dependency>
- <groupId>org.jboss.portal.registration</groupId>
- <artifactId>registration-api</artifactId>
- <version>1.0.0-SNAPSHOT</version>
- </dependency>
- <dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${version.slf4j}</version>
Modified:
jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/RegistrationManager.java
===================================================================
---
jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/RegistrationManager.java 2009-09-01
17:56:06 UTC (rev 13800)
+++
jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/RegistrationManager.java 2009-09-02
11:38:42 UTC (rev 13801)
@@ -27,6 +27,8 @@
import java.util.Map;
/**
+ * Manages consumer registrations with a producer.
+ *
* @author <a href="mailto:chris.laprun@jboss.com">Chris
Laprun</a>
* @version $Revision: 8966 $
* @since 2.6
Modified:
jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/wsrp/endpoints/ProducerHolder.java
===================================================================
---
jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/wsrp/endpoints/ProducerHolder.java 2009-09-01
17:56:06 UTC (rev 13800)
+++
jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/wsrp/endpoints/ProducerHolder.java 2009-09-02
11:38:42 UTC (rev 13801)
@@ -26,6 +26,8 @@
import org.jboss.portal.wsrp.producer.WSRPProducer;
/**
+ * Holds the current WSRPProducer as configured for a particular portlet container.
+ *
* @author <a href="mailto:chris.laprun@jboss.com">Chris
Laprun</a>
* @version $Revision$
*/
Modified:
jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/wsrp/exo/ExoKernelIntegration.java
===================================================================
---
jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/wsrp/exo/ExoKernelIntegration.java 2009-09-01
17:56:06 UTC (rev 13800)
+++
jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/wsrp/exo/ExoKernelIntegration.java 2009-09-02
11:38:42 UTC (rev 13801)
@@ -72,9 +72,9 @@
// create and wire WSRP producer
producer = new WSRPProducerImpl();
- producer.setInvoker(producerPortletInvoker);
+ producer.setPortletInvoker(producerPortletInvoker);
producer.setRegistrationManager(registrationManager);
- producer.setProducerConfigurationService(producerConfigurationService);
+ producer.setConfigurationService(producerConfigurationService);
producer.start();
Modified:
jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/wsrp/producer/MarkupHandler.java
===================================================================
---
jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/wsrp/producer/MarkupHandler.java 2009-09-01
17:56:06 UTC (rev 13800)
+++
jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/wsrp/producer/MarkupHandler.java 2009-09-02
11:38:42 UTC (rev 13801)
@@ -91,7 +91,7 @@
try
{
log.debug("RenderInvocation on portlet '" + handle +
"'");
- response = producer.getInvoker().invoke(requestProcessor.getInvocation());
+ response =
producer.getPortletInvoker().invoke(requestProcessor.getInvocation());
log.debug("RenderInvocation done");
}
catch (PortletInvokerException e)
@@ -118,7 +118,7 @@
try
{
log.debug("ActionInvocation on portlet '" + handle +
"'");
- response = producer.getInvoker().invoke(requestProcessor.getInvocation());
+ response =
producer.getPortletInvoker().invoke(requestProcessor.getInvocation());
log.debug("ActionInvocation done");
}
catch (PortletStateChangeRequiredException e)
Modified:
jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/wsrp/producer/PortletManagementHandler.java
===================================================================
---
jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/wsrp/producer/PortletManagementHandler.java 2009-09-01
17:56:06 UTC (rev 13800)
+++
jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/wsrp/producer/PortletManagementHandler.java 2009-09-02
11:38:42 UTC (rev 13801)
@@ -175,7 +175,7 @@
try
{
RegistrationLocal.setRegistration(registration);
- org.jboss.portal.portlet.api.PortletContext response =
producer.getInvoker().createClone(portalPC);
+ org.jboss.portal.portlet.api.PortletContext response =
producer.getPortletInvoker().createClone(portalPC);
return WSRPUtils.convertToWSRPPortletContext(response);
}
catch (NoSuchPortletException e)
@@ -219,7 +219,7 @@
try
{
RegistrationLocal.setRegistration(registration);
- List<DestroyCloneFailure> failuresList =
producer.getInvoker().destroyClones(portletContexts);
+ List<DestroyCloneFailure> failuresList =
producer.getPortletInvoker().destroyClones(portletContexts);
int failuresNumber = failuresList.size();
List<DestroyFailed> destroyFailed;
if (failuresNumber > 0)
@@ -305,7 +305,7 @@
{
RegistrationLocal.setRegistration(registration);
org.jboss.portal.portlet.api.PortletContext resultContext =
-
producer.getInvoker().setProperties(WSRPUtils.convertToPortalPortletContext(portletContext),
+
producer.getPortletInvoker().setProperties(WSRPUtils.convertToPortalPortletContext(portletContext),
changes.toArray(new PropertyChange[changes.size()]));
return WSRPUtils.convertToWSRPPortletContext(resultContext);
}
@@ -357,11 +357,11 @@
RegistrationLocal.setRegistration(registration);
if (keys != null)
{
- properties = producer.getInvoker().getProperties(jbpContext, keys);
+ properties = producer.getPortletInvoker().getProperties(jbpContext, keys);
}
else
{
- properties = producer.getInvoker().getProperties(jbpContext);
+ properties = producer.getPortletInvoker().getProperties(jbpContext);
}
//todo: we need to check that the user can actually modify the properties
@@ -423,7 +423,7 @@
try
{
RegistrationLocal.setRegistration(registration);
- portlet =
producer.getInvoker().getPortlet(WSRPUtils.convertToPortalPortletContext(portletContext));
+ portlet =
producer.getPortletInvoker().getPortlet(WSRPUtils.convertToPortalPortletContext(portletContext));
return portlet;
}
catch (PortletInvokerException e)
Modified:
jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/wsrp/producer/WSRPProducer.java
===================================================================
---
jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/wsrp/producer/WSRPProducer.java 2009-09-01
17:56:06 UTC (rev 13800)
+++
jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/wsrp/producer/WSRPProducer.java 2009-09-02
11:38:42 UTC (rev 13801)
@@ -23,11 +23,10 @@
package org.jboss.portal.wsrp.producer;
+import org.jboss.portal.portlet.api.PortletInvoker;
import org.jboss.portal.registration.RegistrationManager;
-import org.jboss.portal.wsrp.producer.config.ProducerConfiguration;
import org.jboss.portal.wsrp.producer.config.ProducerConfigurationChangeListener;
-import org.jboss.portal.wsrp.producer.config.ProducerRegistrationRequirements;
-import org.oasis.wsrp.v1.CookieProtocol;
+import org.jboss.portal.wsrp.producer.config.ProducerConfigurationService;
/**
* @author <a href="mailto:chris.laprun@jboss.com">Chris
Laprun</a>
@@ -37,69 +36,52 @@
public interface WSRPProducer extends ServiceDescriptionInterface, MarkupInterface,
PortletManagementInterface,
RegistrationInterface, ProducerConfigurationChangeListener
{
- /** The default session expiration time in milliseconds. */
- int DEFAULT_SESSION_EXPIRATION_TIME = 300000;
-
- /** The value used to specify that a session will never expire. */
- int INFINITE_SESSION_EXPIRATION_TIME = -1;
-
/**
- * Indicates whether or not the Producer requires the Consumer to assist with cookie
support of the HTTP protocol.
- * Supported values and semantics: <ul> <li>{@link CookieProtocol#NONE}:
The Producer does not need the Consumer to
- * ever invoke {@link
org.oasis.wsrp.v1.WSRPV1MarkupPortType#initCookie(org.oasis.wsrp.v1.RegistrationContext)}.</li>
- * <li>{@link CookieProtocol#PER_USER}: The Consumer MUST invoke {@link
org.oasis.wsrp.v1.WSRPV1MarkupPortType#initCookie(org.oasis.wsrp.v1.RegistrationContext)}
- * once per user of the Consumer, and associate any returned cookies with subsequent
invocations on behalf of that
- * user.</li> <li>{@link CookieProtocol#PER_GROUP}: The Consumer MUST
invoke {@link
- *
org.oasis.wsrp.v1.WSRPV1MarkupPortType#initCookie(org.oasis.wsrp.v1.RegistrationContext)}
once per unique groupID
- * from the PortletDescriptions for the Portlets it is aggregating on a page for each
user of the Consumer, and
- * associate any returned cookies with subsequent invocations on behalf of that user
targeting Portlets with
- * identical groupIDs.</li> </ul>
+ * Retrieves the RegistrationManager used by this WSRPProducer.
*
- * @return the level of cookie support required from the Consumer
+ * @return the RegistrationManager used by this WSRPProducer to manage consumer
registrations
+ * @since 2.6
*/
- CookieProtocol getRequiresInitCookie();
+ RegistrationManager getRegistrationManager();
/**
- * Sets the level of cookie support required by the Consumer.
+ * Sets the RegistrationManager used by this WSRPProducer.
*
- * @param requiresInitCookie either {@link CookieProtocol#NONE}, {@link
CookieProtocol#PER_USER} or {@link
- * CookieProtocol#PER_GROUP}
+ * @param registrationManager the RegistrationManager to be used by this WSRPProducer
*/
- void setRequiresInitCookie(CookieProtocol requiresInitCookie);
+ void setRegistrationManager(RegistrationManager registrationManager);
/**
- * Maximum number of seconds between invocations referencing a session ID before this
Producer will schedule
- * releasing the related resources. {@link #INFINITE_SESSION_EXPIRATION_TIME}
indicates that the sessionID will never
- * expire.
+ * Retrieves the configuration service that is used to configure this WSRPProducer.
*
- * @return the expiration time (in seconds) of session associated resources
+ * @return the configuration service that is used to configure this WSRPProducer.
*/
- int getSessionExpirationTime();
+ ProducerConfigurationService getConfigurationService();
/**
- * Sets the expiration time (in seconds) of session associated resources.
+ * Sets the configuration service for this WSRPProducer
*
- * @param sessionExpirationTime the maximum number of seconds between invocations
referencing a session ID before
- * this Producer will schedule releasing the related
resources. If {@link
- * #INFINITE_SESSION_EXPIRATION_TIME} is passed, then the
session will never expire.
+ * @param configurationService the configuration service used by this WSRPProducer
*/
- void setSessionExpirationTime(int sessionExpirationTime);
+ void setConfigurationService(ProducerConfigurationService configurationService);
/**
- * @return
- * @since 2.6
+ * Retrieves the PortletInvoker used by this WSRPProducer to dispatch portlet
invocations to Portlets.
+ *
+ * @return the PortletInvoker used by this WSRPProducer to dispatch portlet
invocations to Portlets.
*/
- ProducerRegistrationRequirements getProducerRegistrationRequirements();
+ PortletInvoker getPortletInvoker();
/**
- * @return
- * @since 2.6
+ * Sets the PortletInvoker used by this WSRPProducer to dispatch portlet invocations
to Portlets.
+ *
+ * @param invoker PortletInvoker used by this WSRPProducer to dispatch portlet
invocations to Portlets.
*/
- RegistrationManager getRegistrationManager();
+ void setPortletInvoker(PortletInvoker invoker);
- /**
- * @return
- * @since 2.6
- */
- ProducerConfiguration getProducerConfiguration();
+ /** Gets this WSRPProducer ready to use. */
+ void start();
+
+ /** Removes this WSRPProducer from active use. */
+ void stop();
}
Modified:
jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/wsrp/producer/WSRPProducerImpl.java
===================================================================
---
jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/wsrp/producer/WSRPProducerImpl.java 2009-09-01
17:56:06 UTC (rev 13800)
+++
jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/wsrp/producer/WSRPProducerImpl.java 2009-09-02
11:38:42 UTC (rev 13801)
@@ -114,10 +114,6 @@
/** Registration Manager */
private RegistrationManager registrationManager;
- private int sessionExpirationTime = DEFAULT_SESSION_EXPIRATION_TIME;
-
- private CookieProtocol requiresInitCookie = CookieProtocol.NONE;
-
/** Supported locales. */
private List<String> supportedLocales = WSRPConstants.getDefaultLocales();
@@ -132,7 +128,7 @@
portletManagementHandler = new PortletManagementHandler(this);
}
- public ProducerRegistrationRequirements getProducerRegistrationRequirements()
+ ProducerRegistrationRequirements getProducerRegistrationRequirements()
{
return getProducerConfiguration().getRegistrationRequirements();
}
@@ -268,7 +264,7 @@
return descriptionResponse;
}
- public ProducerConfiguration getProducerConfiguration()
+ private ProducerConfiguration getProducerConfiguration()
{
return configurationService.getConfiguration();
}
@@ -283,7 +279,7 @@
this.registrationManager = registrationManager;
}
- public void setProducerConfigurationService(ProducerConfigurationService
configurationService)
+ public void setConfigurationService(ProducerConfigurationService
configurationService)
{
this.configurationService = configurationService;
}
@@ -320,35 +316,22 @@
getProducerConfiguration().removeChangeListener(this);
}
- // Producer implementation
******************************************************************************************
-
- public CookieProtocol getRequiresInitCookie()
+ int getExpirationTime()
{
- return requiresInitCookie;
+ return getProducerConfiguration().getSessionExpirationTime();
}
- public void setRequiresInitCookie(CookieProtocol requiresInitCookie)
+ CookieProtocol getRequiresInitCookie()
{
- this.requiresInitCookie = requiresInitCookie;
+ return getProducerConfiguration().getRequiresInitCookie();
}
- // Session management
***********************************************************************************************
- public int getSessionExpirationTime()
+ public PortletInvoker getPortletInvoker()
{
- return sessionExpirationTime;
- }
-
- public void setSessionExpirationTime(int sessionExpirationTime)
- {
- this.sessionExpirationTime = sessionExpirationTime;
- }
-
- public PortletInvoker getInvoker()
- {
return invoker;
}
- public void setInvoker(PortletInvoker invoker)
+ public void setPortletInvoker(PortletInvoker invoker)
{
this.invoker = invoker;
}
Modified:
jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/wsrp/producer/config/ProducerConfiguration.java
===================================================================
---
jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/wsrp/producer/config/ProducerConfiguration.java 2009-09-01
17:56:06 UTC (rev 13800)
+++
jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/wsrp/producer/config/ProducerConfiguration.java 2009-09-02
11:38:42 UTC (rev 13801)
@@ -23,6 +23,8 @@
package org.jboss.portal.wsrp.producer.config;
+import org.oasis.wsrp.v1.CookieProtocol;
+
import java.util.List;
/**
@@ -50,4 +52,52 @@
void removeChangeListener(ProducerConfigurationChangeListener listener);
List<ProducerConfigurationChangeListener> getChangeListeners();
+
+ /** The default session expiration time in milliseconds. */
+ int DEFAULT_SESSION_EXPIRATION_TIME = 300000;
+
+ /** The value used to specify that a session will never expire. */
+ int INFINITE_SESSION_EXPIRATION_TIME = -1;
+
+ /**
+ * Indicates whether or not the Producer requires the Consumer to assist with cookie
support of the HTTP protocol.
+ * Supported values and semantics: <ul> <li>{@link
org.oasis.wsrp.v1.CookieProtocol#NONE}: The Producer does not need
+ * the Consumer to ever invoke {@link
org.oasis.wsrp.v1.WSRPV1MarkupPortType#initCookie(org.oasis.wsrp.v1.RegistrationContext)}.</li>
+ * <li>{@link org.oasis.wsrp.v1.CookieProtocol#PER_USER}: The Consumer MUST
invoke {@link
+ *
org.oasis.wsrp.v1.WSRPV1MarkupPortType#initCookie(org.oasis.wsrp.v1.RegistrationContext)}
once per user of the
+ * Consumer, and associate any returned cookies with subsequent invocations on behalf
of that user.</li> <li>{@link
+ * org.oasis.wsrp.v1.CookieProtocol#PER_GROUP}: The Consumer MUST invoke {@link
org.oasis.wsrp.v1.WSRPV1MarkupPortType#initCookie(org.oasis.wsrp.v1.RegistrationContext)}
+ * once per unique groupID from the PortletDescriptions for the Portlets it is
aggregating on a page for each user of
+ * the Consumer, and associate any returned cookies with subsequent invocations on
behalf of that user targeting
+ * Portlets with identical groupIDs.</li> </ul>
+ *
+ * @return the level of cookie support required from the Consumer
+ */
+ CookieProtocol getRequiresInitCookie();
+
+ /**
+ * Sets the level of cookie support required by the Consumer.
+ *
+ * @param requiresInitCookie either {@link CookieProtocol#NONE}, {@link
CookieProtocol#PER_USER} or {@link
+ * CookieProtocol#PER_GROUP}
+ */
+ void setRequiresInitCookie(CookieProtocol requiresInitCookie);
+
+ /**
+ * Maximum number of seconds between invocations referencing a session ID before this
Producer will schedule
+ * releasing the related resources. {@link #INFINITE_SESSION_EXPIRATION_TIME}
indicates that the sessionID will never
+ * expire.
+ *
+ * @return the expiration time (in seconds) of session associated resources
+ */
+ int getSessionExpirationTime();
+
+ /**
+ * Sets the expiration time (in seconds) of session associated resources.
+ *
+ * @param sessionExpirationTime the maximum number of seconds between invocations
referencing a session ID before
+ * this Producer will schedule releasing the related
resources. If {@link
+ * #INFINITE_SESSION_EXPIRATION_TIME} is passed, then the
session will never expire.
+ */
+ void setSessionExpirationTime(int sessionExpirationTime);
}
Modified:
jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/wsrp/producer/config/impl/ProducerConfigurationImpl.java
===================================================================
---
jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/wsrp/producer/config/impl/ProducerConfigurationImpl.java 2009-09-01
17:56:06 UTC (rev 13800)
+++
jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/wsrp/producer/config/impl/ProducerConfigurationImpl.java 2009-09-02
11:38:42 UTC (rev 13801)
@@ -27,6 +27,7 @@
import org.jboss.portal.wsrp.producer.config.ProducerConfiguration;
import org.jboss.portal.wsrp.producer.config.ProducerConfigurationChangeListener;
import org.jboss.portal.wsrp.producer.config.ProducerRegistrationRequirements;
+import org.oasis.wsrp.v1.CookieProtocol;
import java.util.ArrayList;
import java.util.List;
@@ -45,6 +46,10 @@
private List<ProducerConfigurationChangeListener> listeners = new
ArrayList<ProducerConfigurationChangeListener>(7);
+ private int sessionExpirationTime = DEFAULT_SESSION_EXPIRATION_TIME;
+
+ private CookieProtocol requiresInitCookie = CookieProtocol.NONE;
+
public ProducerRegistrationRequirements getRegistrationRequirements()
{
if (requirements == null)
@@ -93,4 +98,24 @@
{
this.requirements = requirements;
}
+
+ public CookieProtocol getRequiresInitCookie()
+ {
+ return requiresInitCookie;
+ }
+
+ public void setRequiresInitCookie(CookieProtocol requiresInitCookie)
+ {
+ this.requiresInitCookie = requiresInitCookie;
+ }
+
+ public int getSessionExpirationTime()
+ {
+ return sessionExpirationTime;
+ }
+
+ public void setSessionExpirationTime(int sessionExpirationTime)
+ {
+ this.sessionExpirationTime = sessionExpirationTime;
+ }
}