Author: chris.laprun(a)jboss.com
Date: 2006-12-18 14:14:55 -0500 (Mon, 18 Dec 2006)
New Revision: 5895
Modified:
trunk/registration/src/main/org/jboss/portal/registration/RegistrationLocal.java
trunk/wsrp/src/main/org/jboss/portal/wsrp/producer/RegistrationHandler.java
Log:
Implemented support for downstream transmission of Registration information.
Modified:
trunk/registration/src/main/org/jboss/portal/registration/RegistrationLocal.java
===================================================================
---
trunk/registration/src/main/org/jboss/portal/registration/RegistrationLocal.java 2006-12-18
19:06:44 UTC (rev 5894)
+++
trunk/registration/src/main/org/jboss/portal/registration/RegistrationLocal.java 2006-12-18
19:14:55 UTC (rev 5895)
@@ -28,6 +28,7 @@
*
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
* @version $Revision$
+ * @since 2.6
*/
public class RegistrationLocal
{
@@ -35,6 +36,12 @@
/** The thread local to keep track of the registration associated with the current
thread of execution. */
private static final ThreadLocal registrationLocal = new ThreadLocal();
+ /**
+ * Sets the current registration for the Consumer for the current invocation.
+ *
+ * @param registration the Registration associated with the Consumer. Set to
<code>null</code> if no Registration
+ * exists for the current Consumer.
+ */
public static void setRegistration(Registration registration)
{
registrationLocal.set(registration);
Modified: trunk/wsrp/src/main/org/jboss/portal/wsrp/producer/RegistrationHandler.java
===================================================================
--- trunk/wsrp/src/main/org/jboss/portal/wsrp/producer/RegistrationHandler.java 2006-12-18
19:06:44 UTC (rev 5894)
+++ trunk/wsrp/src/main/org/jboss/portal/wsrp/producer/RegistrationHandler.java 2006-12-18
19:14:55 UTC (rev 5895)
@@ -30,6 +30,7 @@
import org.jboss.portal.registration.NoSuchRegistrationException;
import org.jboss.portal.registration.Registration;
import org.jboss.portal.registration.RegistrationException;
+import org.jboss.portal.registration.RegistrationLocal;
import org.jboss.portal.registration.RegistrationStatus;
import org.jboss.portal.registration.RegistrationUtils;
import org.jboss.portal.wsrp.WSRPTypeFactory;
@@ -133,6 +134,9 @@
capabilities.setSupportedUserProfileData(getListFromArray(registrationData.getCustomUserProfileData(),
false));
capabilities.setSupportedUserScopes(getListFromArray(registrationData.getConsumerUserScopes(),
false));
capabilities.setSupportsGetMethod(registrationData.isMethodGetSupported());
+
+ // update RegistrationLocal for downstream use of Registration data
+ RegistrationLocal.setRegistration(registration);
}
public ReturnAny deregister(RegistrationContext deregister) throws
OperationFailedFault, InvalidRegistrationFault,
@@ -151,6 +155,7 @@
try
{
producer.getRegistrationManager().removeRegistration(registrationHandle);
+ RegistrationLocal.setRegistration(null);
}
catch (NoSuchRegistrationException e)
{
@@ -246,6 +251,7 @@
}
log.debug("registration is valid!");
+ RegistrationLocal.setRegistration(reg); // set the current registration for
downstream use
return true;
}
else