Author: chris.laprun(a)jboss.com
Date: 2010-06-14 18:53:55 -0400 (Mon, 14 Jun 2010)
New Revision: 3332
Modified:
components/wsrp/trunk/common/src/main/java/org/gatein/wsrp/spec/v1/V1ToV2Converter.java
components/wsrp/trunk/common/src/main/java/org/gatein/wsrp/spec/v1/V2ToV1Converter.java
components/wsrp/trunk/producer/src/main/java/org/gatein/wsrp/producer/v1/WSRP1Producer.java
Log:
- WSRP1Producer now references WSRP2Producer.
- Started implementing missing methods. Yay more boilerplate code... NOT! :(
Modified:
components/wsrp/trunk/common/src/main/java/org/gatein/wsrp/spec/v1/V1ToV2Converter.java
===================================================================
---
components/wsrp/trunk/common/src/main/java/org/gatein/wsrp/spec/v1/V1ToV2Converter.java 2010-06-14
22:52:05 UTC (rev 3331)
+++
components/wsrp/trunk/common/src/main/java/org/gatein/wsrp/spec/v1/V1ToV2Converter.java 2010-06-14
22:53:55 UTC (rev 3332)
@@ -38,6 +38,7 @@
import org.oasis.wsrp.v1.V1DestroyFailed;
import org.oasis.wsrp.v1.V1EmployerInfo;
import org.oasis.wsrp.v1.V1Extension;
+import org.oasis.wsrp.v1.V1GetServiceDescription;
import org.oasis.wsrp.v1.V1InteractionParams;
import org.oasis.wsrp.v1.V1ItemDescription;
import org.oasis.wsrp.v1.V1LocalizedString;
@@ -78,6 +79,7 @@
import org.oasis.wsrp.v2.EmployerInfo;
import org.oasis.wsrp.v2.Extension;
import org.oasis.wsrp.v2.FailedPortlets;
+import org.oasis.wsrp.v2.GetServiceDescription;
import org.oasis.wsrp.v2.InteractionParams;
import org.oasis.wsrp.v2.ItemDescription;
import org.oasis.wsrp.v2.LocalizedString;
@@ -835,6 +837,26 @@
}
}
+ public static GetServiceDescription toV2GetServiceDescription(V1GetServiceDescription
getServiceDescription)
+ {
+ if (getServiceDescription != null)
+ {
+ GetServiceDescription result = WSRPTypeFactory.createGetServiceDescription();
+
result.setRegistrationContext(toV2RegistrationContext(getServiceDescription.getRegistrationContext()));
+ List<String> locales = getServiceDescription.getDesiredLocales();
+ if (ParameterValidation.existsAndIsNotEmpty(locales))
+ {
+ result.getDesiredLocales().addAll(locales);
+ }
+
+ return result;
+ }
+ else
+ {
+ return null;
+ }
+ }
+
public static class V1ToV2Extension implements Function<V1Extension, Extension>
{
public Extension apply(V1Extension from)
Modified:
components/wsrp/trunk/common/src/main/java/org/gatein/wsrp/spec/v1/V2ToV1Converter.java
===================================================================
---
components/wsrp/trunk/common/src/main/java/org/gatein/wsrp/spec/v1/V2ToV1Converter.java 2010-06-14
22:52:05 UTC (rev 3331)
+++
components/wsrp/trunk/common/src/main/java/org/gatein/wsrp/spec/v1/V2ToV1Converter.java 2010-06-14
22:53:55 UTC (rev 3332)
@@ -58,6 +58,7 @@
import org.oasis.wsrp.v1.V1ResourceList;
import org.oasis.wsrp.v1.V1ResourceValue;
import org.oasis.wsrp.v1.V1RuntimeContext;
+import org.oasis.wsrp.v1.V1ServiceDescription;
import org.oasis.wsrp.v1.V1SessionContext;
import org.oasis.wsrp.v1.V1StateChange;
import org.oasis.wsrp.v1.V1Telecom;
@@ -98,6 +99,7 @@
import org.oasis.wsrp.v2.ResourceList;
import org.oasis.wsrp.v2.ResourceValue;
import org.oasis.wsrp.v2.RuntimeContext;
+import org.oasis.wsrp.v2.ServiceDescription;
import org.oasis.wsrp.v2.SessionContext;
import org.oasis.wsrp.v2.SessionParams;
import org.oasis.wsrp.v2.StateChange;
@@ -843,6 +845,60 @@
}
}
+ public static V1ServiceDescription toV1ServiceDescription(ServiceDescription
serviceDescription)
+ {
+ if (serviceDescription != null)
+ {
+ V1ServiceDescription result = new V1ServiceDescription();
+
result.setRegistrationPropertyDescription(toV1ModelDescription(serviceDescription.getRegistrationPropertyDescription()));
+
result.setRequiresInitCookie(toV1CookieProtocol(serviceDescription.getRequiresInitCookie()));
+ result.setRequiresRegistration(serviceDescription.isRequiresRegistration());
+ result.setResourceList(toV1ResourceList(serviceDescription.getResourceList()));
+
+ List<V1ItemDescription> modes =
WSRPUtils.transform(serviceDescription.getCustomModeDescriptions(), ITEMDESCRIPTION);
+ if (modes != null)
+ {
+ result.getCustomModeDescriptions().addAll(modes);
+ }
+
+ List<V1ItemDescription> windowStates =
WSRPUtils.transform(serviceDescription.getCustomWindowStateDescriptions(),
ITEMDESCRIPTION);
+ if (windowStates != null)
+ {
+ result.getCustomWindowStateDescriptions().addAll(windowStates);
+ }
+
+ List<V1Extension> extensions =
WSRPUtils.transform(serviceDescription.getExtensions(), EXTENSION);
+ if (extensions != null)
+ {
+ result.getExtensions().addAll(extensions);
+ }
+
+ List<String> locales = result.getLocales();
+ if (ParameterValidation.existsAndIsNotEmpty(locales))
+ {
+ result.getLocales().addAll(locales);
+ }
+
+ List<V1ItemDescription> userCategories =
WSRPUtils.transform(serviceDescription.getUserCategoryDescriptions(), ITEMDESCRIPTION);
+ if (userCategories != null)
+ {
+ result.getUserCategoryDescriptions().addAll(userCategories);
+ }
+
+ List<V1PortletDescription> portletDescriptions =
WSRPUtils.transform(serviceDescription.getOfferedPortlets(), PORTLETDESCRIPTION);
+ if (portletDescriptions != null)
+ {
+ result.getOfferedPortlets().addAll(portletDescriptions);
+ }
+
+ return result;
+ }
+ else
+ {
+ return null;
+ }
+ }
+
private static class V2ToV1Extension implements Function<Extension,
V1Extension>
{
public V1Extension apply(Extension from)
Modified:
components/wsrp/trunk/producer/src/main/java/org/gatein/wsrp/producer/v1/WSRP1Producer.java
===================================================================
---
components/wsrp/trunk/producer/src/main/java/org/gatein/wsrp/producer/v1/WSRP1Producer.java 2010-06-14
22:52:05 UTC (rev 3331)
+++
components/wsrp/trunk/producer/src/main/java/org/gatein/wsrp/producer/v1/WSRP1Producer.java 2010-06-14
22:53:55 UTC (rev 3332)
@@ -29,6 +29,9 @@
import org.gatein.wsrp.producer.ProducerHolder;
import org.gatein.wsrp.producer.WSRPProducer;
import org.gatein.wsrp.producer.config.ProducerConfigurationService;
+import org.gatein.wsrp.producer.v2.WSRP2Producer;
+import org.gatein.wsrp.spec.v1.V1ToV2Converter;
+import org.gatein.wsrp.spec.v1.V2ToV1Converter;
import org.oasis.wsrp.v1.V1AccessDenied;
import org.oasis.wsrp.v1.V1BlockingInteractionResponse;
import org.oasis.wsrp.v1.V1ClonePortlet;
@@ -67,6 +70,9 @@
import org.oasis.wsrp.v1.V1UnsupportedMimeType;
import org.oasis.wsrp.v1.V1UnsupportedMode;
import org.oasis.wsrp.v1.V1UnsupportedWindowState;
+import org.oasis.wsrp.v2.InvalidRegistration;
+import org.oasis.wsrp.v2.OperationFailed;
+import org.oasis.wsrp.v2.ServiceDescription;
/**
* @author <a href="mailto:chris.laprun@jboss.com">Chris
Laprun</a>
@@ -92,7 +98,7 @@
{
}
- private final WSRPProducer producer = ProducerHolder.getProducer();
+ private final WSRP2Producer producer = ProducerHolder.getProducer();
public RegistrationManager getRegistrationManager()
{
@@ -141,7 +147,20 @@
public V1ServiceDescription getServiceDescription(V1GetServiceDescription gs) throws
V1InvalidRegistration, V1OperationFailed
{
- throw new NotYetImplemented();
+ try
+ {
+ ServiceDescription description =
producer.getServiceDescription(V1ToV2Converter.toV2GetServiceDescription(gs));
+ return V2ToV1Converter.toV1ServiceDescription(description);
+ }
+ catch (InvalidRegistration invalidRegistration)
+ {
+ throw V2ToV1Converter.toV1Exception(V1InvalidRegistration.class,
invalidRegistration);
+ }
+ catch (OperationFailed operationFailed)
+ {
+ throw V2ToV1Converter.toV1Exception(V1OperationFailed.class, operationFailed);
+ }
+
}
public V1RegistrationContext register(V1RegistrationData register) throws
V1MissingParameters, V1OperationFailed