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 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==--