From do-not-reply at jboss.org Tue Jun 8 12:56:49 2010
Content-Type: multipart/mixed; boundary="===============6088768138130248805=="
MIME-Version: 1.0
From: do-not-reply at jboss.org
To: gatein-commits at lists.jboss.org
Subject: [gatein-commits] gatein SVN: r3254 - in components/wsrp/trunk:
wsrp-producer-war/src/main/java/org/gatein/wsrp/endpoints/v1 and 1 other
directory.
Date: Tue, 08 Jun 2010 12:56:49 -0400
Message-ID: <201006081656.o58GunaK007100@svn01.web.mwc.hst.phx2.redhat.com>
--===============6088768138130248805==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Author: chris.laprun(a)jboss.com
Date: 2010-06-08 12:56:47 -0400 (Tue, 08 Jun 2010)
New Revision: 3254
Modified:
components/wsrp/trunk/common/src/main/java/org/gatein/wsrp/spec/v1/V2V1C=
onverter.java
components/wsrp/trunk/wsrp-producer-war/src/main/java/org/gatein/wsrp/en=
dpoints/v1/ServiceDescriptionEndpoint.java
Log:
- Replaced direct usage of Lists.transform by V2V1Converter.transform so th=
at:
1. the implementation can be changed if needed
2. we can deal with the case where the given list is null properly
- Calls to addAll on WSRP objects list properties must be guarded by a null=
check as addAll will fail when passed a null value.
Modified: components/wsrp/trunk/common/src/main/java/org/gatein/wsrp/spec/v=
1/V2V1Converter.java
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- components/wsrp/trunk/common/src/main/java/org/gatein/wsrp/spec/v1/V2V1=
Converter.java 2010-06-08 16:07:08 UTC (rev 3253)
+++ components/wsrp/trunk/common/src/main/java/org/gatein/wsrp/spec/v1/V2V1=
Converter.java 2010-06-08 16:56:47 UTC (rev 3254)
@@ -38,8 +38,10 @@
import org.oasis.wsrp.v1.V1MarkupParams;
import org.oasis.wsrp.v1.V1MarkupType;
import org.oasis.wsrp.v1.V1ModelDescription;
+import org.oasis.wsrp.v1.V1ModelTypes;
import org.oasis.wsrp.v1.V1PortletContext;
import org.oasis.wsrp.v1.V1PortletDescription;
+import org.oasis.wsrp.v1.V1PropertyDescription;
import org.oasis.wsrp.v1.V1RegistrationContext;
import org.oasis.wsrp.v1.V1ResourceList;
import org.oasis.wsrp.v1.V1RuntimeContext;
@@ -54,14 +56,18 @@
import org.oasis.wsrp.v2.MarkupParams;
import org.oasis.wsrp.v2.MarkupType;
import org.oasis.wsrp.v2.ModelDescription;
+import org.oasis.wsrp.v2.ModelTypes;
import org.oasis.wsrp.v2.PortletContext;
import org.oasis.wsrp.v2.PortletDescription;
+import org.oasis.wsrp.v2.PropertyDescription;
import org.oasis.wsrp.v2.RegistrationContext;
import org.oasis.wsrp.v2.ResourceList;
import org.oasis.wsrp.v2.RuntimeContext;
import org.oasis.wsrp.v2.ServiceDescription;
import org.oasis.wsrp.v2.UserContext;
=
+import java.util.List;
+
/**
* @author Chris Laprun
* @version $Revision$
@@ -69,13 +75,27 @@
public class V2V1Converter
{
public static final V1ToV2Extension V1_TO_V2_EXTENSION =3D new V1ToV2Ex=
tension();
+
public static final V2ToV1Extension V2_TO_V1_EXTENSION =3D new V2ToV1Ex=
tension();
public static final V2ToV1MarkupType V2_TO_V1_MARKUPTYPE =3D new V2ToV1=
MarkupType();
-
public static final V2ToV1PortletDescription V2_TO_V1_PORTLETDESCRIPTIO=
N =3D new V2ToV1PortletDescription();
public static final V2ToV1LocalizedString V2_TO_V1_LOCALIZEDSTRING =3D =
new V2ToV1LocalizedString();
public static final V2ToV1ItemDescription V2_TO_V1_ITEMDESCRIPTION =3D =
new V2ToV1ItemDescription();
+ public static final V2ToV1PropertyDescription V2_TO_V1_PROPERTY_DESCRIP=
TION =3D new V2ToV1PropertyDescription();
=
+ public static List transform(List fromList, Function sup=
er F, ? extends T> function)
+ {
+ if (fromList =3D=3D null)
+ {
+ return null;
+ }
+ else
+ {
+ return Lists.transform(fromList, function);
+ }
+ }
+
+
public static V1PortletDescription toV1PortletDescription(PortletDescri=
ption portletDescription)
{
throw new NotYetImplemented();
@@ -98,11 +118,27 @@
new OpaqueStateString(v1MarkupParams.getNavigationalState()), =
null));
markupParams.setValidateTag(v1MarkupParams.getValidateTag());
=
- markupParams.getMarkupCharacterSets().addAll(v1MarkupParams.getMa=
rkupCharacterSets());
- markupParams.getValidNewModes().addAll(v1MarkupParams.getValidNew=
Modes());
- markupParams.getValidNewWindowStates().addAll(v1MarkupParams.getV=
alidNewWindowStates());
+ List charSets =3D v1MarkupParams.getMarkupCharacterSets();
+ if (charSets !=3D null)
+ {
+ markupParams.getMarkupCharacterSets().addAll(charSets);
+ }
+ List validNewModes =3D v1MarkupParams.getValidNewModes();
+ if (validNewModes !=3D null)
+ {
+ markupParams.getValidNewModes().addAll(validNewModes);
+ }
+ List validNewWindowStates =3D v1MarkupParams.getValidNewW=
indowStates();
+ if (validNewWindowStates !=3D null)
+ {
+ markupParams.getValidNewWindowStates().addAll(validNewWindowSt=
ates);
+ }
=
- markupParams.getExtensions().addAll(Lists.transform(v1MarkupParam=
s.getExtensions(), V1_TO_V2_EXTENSION));
+ List extensions =3D V2V1Converter.transform(v1MarkupPa=
rams.getExtensions(), V1_TO_V2_EXTENSION);
+ if (extensions !=3D null)
+ {
+ markupParams.getExtensions().addAll(extensions);
+ }
return markupParams;
}
else
@@ -153,7 +189,11 @@
{
V1RegistrationContext result =3D WSRP1TypeFactory.createRegistrat=
ionContext(registrationContext.getRegistrationHandle());
result.setRegistrationState(registrationContext.getRegistrationSt=
ate());
- result.getExtensions().addAll(Lists.transform(registrationContext=
.getExtensions(), V2_TO_V1_EXTENSION));
+ List extensions =3D V2V1Converter.transform(registra=
tionContext.getExtensions(), V2_TO_V1_EXTENSION);
+ if (extensions !=3D null)
+ {
+ result.getExtensions().addAll(extensions);
+ }
return result;
}
else
@@ -215,11 +255,38 @@
=
public static V1CookieProtocol toV1CookieProtocol(CookieProtocol requir=
esInitCookie)
{
- return V1CookieProtocol.fromValue(requiresInitCookie.value());
+ if (requiresInitCookie !=3D null)
+ {
+ return V1CookieProtocol.fromValue(requiresInitCookie.value());
+ }
+ else
+ {
+ return null;
+ }
}
=
public static V1ModelDescription toV1ModelDescription(ModelDescription =
modelDescription)
{
+ if (modelDescription !=3D null)
+ {
+ V1ModelDescription result =3D WSRP1TypeFactory.createModelDescrip=
tion(V2V1Converter.transform(modelDescription.getPropertyDescriptions(), V2=
_TO_V1_PROPERTY_DESCRIPTION));
+ List extensions =3D V2V1Converter.transform(modelDes=
cription.getExtensions(), V2_TO_V1_EXTENSION);
+ if (extensions !=3D null)
+ {
+ result.getExtensions().addAll(extensions);
+ }
+ result.setModelTypes(toV1ModelTypes(modelDescription.getModelType=
s()));
+
+ return result;
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ public static V1ModelTypes toV1ModelTypes(ModelTypes modelTypes)
+ {
throw new NotYetImplemented();
}
=
@@ -228,6 +295,10 @@
throw new NotYetImplemented();
}
=
+ public static V1LocalizedString toV1LocalizedString(LocalizedString loc=
alizedString)
+ {
+ return V2_TO_V1_LOCALIZEDSTRING.apply(localizedString);
+ }
=
private static class V1ToV2Extension implements Function
{
@@ -263,7 +334,7 @@
}
}
=
- public static class V2ToV1PortletDescription implements Function
+ private static class V2ToV1PortletDescription implements Function
{
=
public V1PortletDescription apply(PortletDescription from)
@@ -271,13 +342,29 @@
if (from !=3D null)
{
V1PortletDescription result =3D WSRP1TypeFactory.createPortlet=
Description(from.getPortletHandle(),
- Lists.transform(from.getMarkupTypes(), V2_TO_V1_MARKUPTYPE)=
);
+ V2V1Converter.transform(from.getMarkupTypes(), V2_TO_V1_MAR=
KUPTYPE));
result.setDescription(V2_TO_V1_LOCALIZEDSTRING.apply(from.getD=
escription()));
result.setDisplayName(V2_TO_V1_LOCALIZEDSTRING.apply(from.getD=
isplayName()));
- result.getExtensions().addAll(Lists.transform(from.getExtensio=
ns(), V2_TO_V1_EXTENSION));
- result.getKeywords().addAll(Lists.transform(from.getKeywords()=
, V2_TO_V1_LOCALIZEDSTRING));
- result.getUserCategories().addAll(from.getUserCategories());
- result.getUserProfileItems().addAll(from.getUserProfileItems()=
);
+ List extensions =3D V2V1Converter.transform(from.=
getExtensions(), V2_TO_V1_EXTENSION);
+ if (extensions !=3D null)
+ {
+ result.getExtensions().addAll(extensions);
+ }
+ List keywords =3D V2V1Converter.transform(f=
rom.getKeywords(), V2_TO_V1_LOCALIZEDSTRING);
+ if (keywords !=3D null)
+ {
+ result.getKeywords().addAll(keywords);
+ }
+ List userCategories =3D from.getUserCategories();
+ if (userCategories !=3D null)
+ {
+ result.getUserCategories().addAll(userCategories);
+ }
+ List userProfileItems =3D from.getUserProfileItems();
+ if (userProfileItems !=3D null)
+ {
+ result.getUserProfileItems().addAll(userProfileItems);
+ }
result.setDefaultMarkupSecure(from.isDefaultMarkupSecure());
result.setDoesUrlTemplateProcessing(from.isDoesUrlTemplateProc=
essing());
result.setTemplatesStoredInSession(from.isTemplatesStoredInSes=
sion());
@@ -298,7 +385,7 @@
}
}
=
- public static class V2ToV1ItemDescription implements Function
+ private static class V2ToV1ItemDescription implements Function
{
=
public V1ItemDescription apply(ItemDescription from)
@@ -308,7 +395,11 @@
V1ItemDescription result =3D new V1ItemDescription();
result.setItemName(from.getItemName());
result.setDescription(V2_TO_V1_LOCALIZEDSTRING.apply(from.getD=
escription()));
- result.getExtensions().addAll(Lists.transform(from.getExtensio=
ns(), V2_TO_V1_EXTENSION));
+ List extensions =3D V2V1Converter.transform(from.=
getExtensions(), V2_TO_V1_EXTENSION);
+ if (extensions !=3D null)
+ {
+ result.getExtensions().addAll(extensions);
+ }
return result;
}
else
@@ -318,7 +409,7 @@
}
}
=
- public static class V2ToV1MarkupType implements Function
+ private static class V2ToV1MarkupType implements Function
{
=
public V1MarkupType apply(MarkupType from)
@@ -334,7 +425,7 @@
}
}
=
- public static class V2ToV1LocalizedString implements Function
+ private static class V2ToV1LocalizedString implements Function
{
=
public V1LocalizedString apply(LocalizedString from)
@@ -350,4 +441,22 @@
=
}
}
+
+ private static class V2ToV1PropertyDescription implements Function
+ {
+
+ public V1PropertyDescription apply(PropertyDescription from)
+ {
+ if (from !=3D null)
+ {
+ V1PropertyDescription result =3D WSRP1TypeFactory.createProper=
tyDescription(from.getName().toString(), from.getType());
+ result.setHint(toV1LocalizedString(from.getHint()));
+ return result;
+ }
+ else
+ {
+ return null;
+ }
+ }
+ }
}
Modified: components/wsrp/trunk/wsrp-producer-war/src/main/java/org/gatein/=
wsrp/endpoints/v1/ServiceDescriptionEndpoint.java
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- components/wsrp/trunk/wsrp-producer-war/src/main/java/org/gatein/wsrp/e=
ndpoints/v1/ServiceDescriptionEndpoint.java 2010-06-08 16:07:08 UTC (rev 32=
53)
+++ components/wsrp/trunk/wsrp-producer-war/src/main/java/org/gatein/wsrp/e=
ndpoints/v1/ServiceDescriptionEndpoint.java 2010-06-08 16:56:47 UTC (rev 32=
54)
@@ -23,7 +23,6 @@
=
package org.gatein.wsrp.endpoints.v1;
=
-import com.google.common.collect.Lists;
import org.gatein.wsrp.endpoints.WSRPBaseEndpoint;
import org.gatein.wsrp.spec.v1.V2V1Converter;
import org.oasis.wsrp.v1.V1CookieProtocol;
@@ -96,15 +95,15 @@
}
=
requiresRegistration.value =3D description.isRequiresRegistration();
- offeredPortlets.value =3D Lists.transform(description.getOfferedPort=
lets(), V2V1Converter.V2_TO_V1_PORTLETDESCRIPTION);
- userCategoryDescriptions.value =3D Lists.transform(description.getUs=
erCategoryDescriptions(), V2V1Converter.V2_TO_V1_ITEMDESCRIPTION);
+ offeredPortlets.value =3D V2V1Converter.transform(description.getOff=
eredPortlets(), V2V1Converter.V2_TO_V1_PORTLETDESCRIPTION);
+ userCategoryDescriptions.value =3D V2V1Converter.transform(descripti=
on.getUserCategoryDescriptions(), V2V1Converter.V2_TO_V1_ITEMDESCRIPTION);
// customUserProfileItemDescriptions.value =3D description.getCustomU=
serProfileItemDescriptions();
- customWindowStateDescriptions.value =3D Lists.transform(description.=
getCustomWindowStateDescriptions(), V2V1Converter.V2_TO_V1_ITEMDESCRIPTION);
- customModeDescriptions.value =3D Lists.transform(description.getCust=
omModeDescriptions(), V2V1Converter.V2_TO_V1_ITEMDESCRIPTION);
+ customWindowStateDescriptions.value =3D V2V1Converter.transform(desc=
ription.getCustomWindowStateDescriptions(), V2V1Converter.V2_TO_V1_ITEMDESC=
RIPTION);
+ customModeDescriptions.value =3D V2V1Converter.transform(description=
.getCustomModeDescriptions(), V2V1Converter.V2_TO_V1_ITEMDESCRIPTION);
requiresInitCookie.value =3D V2V1Converter.toV1CookieProtocol(descri=
ption.getRequiresInitCookie());
registrationPropertyDescription.value =3D V2V1Converter.toV1ModelDes=
cription(description.getRegistrationPropertyDescription());
locales.value =3D description.getLocales();
resourceList.value =3D V2V1Converter.toV1ResourceList(description.ge=
tResourceList());
- extensions.value =3D Lists.transform(description.getExtensions(), V2=
V1Converter.V2_TO_V1_EXTENSION);
+ extensions.value =3D V2V1Converter.transform(description.getExtensio=
ns(), V2V1Converter.V2_TO_V1_EXTENSION);
}
}
--===============6088768138130248805==--