incubator-wookie-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Randy Watler <wat...@wispertel.net>
Subject Re: svn commit: r955407 - in /incubator/wookie/branches/pluggablepersistence: parser/java/src/org/apache/wookie/w3c/util/ src/org/apache/wookie/beans/ src/org/apache/wookie/controller/ src/org/apache/wookie/helpers/ src/org/apache/wookie/util/opensocial/
Date Wed, 16 Jun 2010 22:09:36 GMT
Scott:

Phew... that was unexpected! I was just trying to save some marshaling 
to/from arrays there, (now I feel like an idiot). What configurations 
have the parser loaded in a different classloader?

Randy

scottbw@apache.org wrote:
> Author: scottbw
> Date: Wed Jun 16 21:45:03 2010
> New Revision: 955407
>
> URL: http://svn.apache.org/viewvc?rev=955407&view=rev
> Log:
> [in PP branch] replaced calls for localization using collections with arrays; this is
because the parser may be loaded with a different classloader, and so cannot appropriately
cast the return arrays from the supplied collection.
>
> Modified:
>     incubator/wookie/branches/pluggablepersistence/parser/java/src/org/apache/wookie/w3c/util/LocalizationUtils.java
>     incubator/wookie/branches/pluggablepersistence/src/org/apache/wookie/beans/IWidget.java
>     incubator/wookie/branches/pluggablepersistence/src/org/apache/wookie/controller/WidgetInstancesController.java
>     incubator/wookie/branches/pluggablepersistence/src/org/apache/wookie/helpers/WidgetHelper.java
>     incubator/wookie/branches/pluggablepersistence/src/org/apache/wookie/util/opensocial/OpenSocialUtils.java
>
> Modified: incubator/wookie/branches/pluggablepersistence/parser/java/src/org/apache/wookie/w3c/util/LocalizationUtils.java
> URL: http://svn.apache.org/viewvc/incubator/wookie/branches/pluggablepersistence/parser/java/src/org/apache/wookie/w3c/util/LocalizationUtils.java?rev=955407&r1=955406&r2=955407&view=diff
> ==============================================================================
> --- incubator/wookie/branches/pluggablepersistence/parser/java/src/org/apache/wookie/w3c/util/LocalizationUtils.java
(original)
> +++ incubator/wookie/branches/pluggablepersistence/parser/java/src/org/apache/wookie/w3c/util/LocalizationUtils.java
Wed Jun 16 21:45:03 2010
> @@ -49,20 +49,6 @@ public class LocalizationUtils {
>  	}
>  	
>  	/**
> -	 * Returns the first (best) match for an element given the set of locales, or null
> -	 * if there are no suitable elements.
> -	 * @param elements collection
> -	 * @param locales
> -	 * @return an ILocalizedElement, or null if there are no valid entries
> -	 */
> -	public static ILocalizedElement getLocalizedElement(Collection<? extends ILocalizedElement>
elements, String[] locales){
> -		if (elements == null) return null;
> -		ILocalizedElement[] elementsArray = processElementsByLocales(elements,locales);
> -		if (elementsArray.length == 0) return null;
> -		return elementsArray[0];
> -	}
> -	
> -	/**
>  	 * Filters and sorts a list of localized elements using the given locale list; only
localized elements
>  	 * are returned unless no appropriate localized elements are found, in which case nonlocalized
elements
>  	 * are returned
> @@ -79,23 +65,6 @@ public class LocalizationUtils {
>  	}
>  	
>  	/**
> -	 * Filters and sorts a list of localized elements using the given locale list; only
localized elements
> -	 * are returned unless no appropriate localized elements are found, in which case nonlocalized
elements
> -	 * are returned
> -	 * 
> -	 * @param elements collection
> -	 * @param locales
> -	 * @return the sorted and filtered set of elements
> -	 */
> -	public static ILocalizedElement[] processElementsByLocales(Collection<? extends
ILocalizedElement> elements,String[] locales){
> -		if (elements == null) return null;
> -		List<ULocale> localesList = getProcessedLocaleList(locales);
> -        ILocalizedElement[] elementsArray = elements.toArray(new ILocalizedElement[elements.size()]);
> -		Arrays.sort(elementsArray, new LocaleComparator(localesList));
> -		return filter(elementsArray,localesList);
> -	}
> -	
> -	/**
>  	 * Sorts an array of localized elements using default locales (*). This places
>  	 * any localized elements first, then any unlocalized elements
>  	 * @return
>
> Modified: incubator/wookie/branches/pluggablepersistence/src/org/apache/wookie/beans/IWidget.java
> URL: http://svn.apache.org/viewvc/incubator/wookie/branches/pluggablepersistence/src/org/apache/wookie/beans/IWidget.java?rev=955407&r1=955406&r2=955407&view=diff
> ==============================================================================
> --- incubator/wookie/branches/pluggablepersistence/src/org/apache/wookie/beans/IWidget.java
(original)
> +++ incubator/wookie/branches/pluggablepersistence/src/org/apache/wookie/beans/IWidget.java
Wed Jun 16 21:45:03 2010
> @@ -332,7 +332,8 @@ public interface IWidget extends IBean
>           */
>          public static String getWidgetTitle(IWidget widget, String locale)
>          {
> -            IName name = (IName)LocalizationUtils.getLocalizedElement(widget.getNames(),
new String[]{locale});
> +        	IName[] names = widget.getNames().toArray(new IName[widget.getNames().size()]);
> +            IName name = (IName)LocalizationUtils.getLocalizedElement(names, new String[]{locale});
>              return ((name != null) ? name.getName() : IW3CXMLConfiguration.UNKNOWN);
>          }
>          
> @@ -345,7 +346,8 @@ public interface IWidget extends IBean
>           */
>          public static String getWidgetDescription(IWidget widget, String locale)
>          {
> -            IDescription description = (IDescription)LocalizationUtils.getLocalizedElement(widget.getDescriptions(),
new String[]{locale});
> +        	IDescription[] descriptions = widget.getDescriptions().toArray(new IDescription[widget.getDescriptions().size()]);
> +            IDescription description = (IDescription)LocalizationUtils.getLocalizedElement(descriptions,
new String[]{locale});
>              return ((description != null) ? description.getContent() : null);
>          }
>  
> @@ -358,7 +360,8 @@ public interface IWidget extends IBean
>           */
>          public static String getWidgetShortName(IWidget widget, String locale)
>          {
> -            IName name = (IName)LocalizationUtils.getLocalizedElement(widget.getNames(),
new String[]{locale});
> +        	IName[] names = widget.getNames().toArray(new IName[widget.getNames().size()]);
> +            IName name = (IName)LocalizationUtils.getLocalizedElement(names, new String[]{locale});
>              return ((name != null) ? name.getShortName() : IW3CXMLConfiguration.UNKNOWN);
>          }
>          
> @@ -411,7 +414,8 @@ public interface IWidget extends IBean
>           */
>          public static String getUrl(IWidget widget, String locale)
>          {
> -            IStartFile startFile = (IStartFile)LocalizationUtils.getLocalizedElement(widget.getStartFiles(),
new String[]{locale});
> +        	IStartFile[] startFiles = widget.getStartFiles().toArray(new IStartFile[widget.getStartFiles().size()]);
> +            IStartFile startFile = (IStartFile)LocalizationUtils.getLocalizedElement(startFiles,
new String[]{locale});
>              return ((startFile != null) ? startFile.getUrl() : null);
>          }
>  
> @@ -424,7 +428,8 @@ public interface IWidget extends IBean
>           */
>          public static String getWidgetIconLocation(IWidget widget, String locale)
>          {
> -            IWidgetIcon icon = (IWidgetIcon)LocalizationUtils.getLocalizedElement(widget.getWidgetIcons(),
new String[]{locale});
> +        	IWidgetIcon[] icons = widget.getWidgetIcons().toArray(new IWidgetIcon[widget.getWidgetIcons().size()]);
> +            IWidgetIcon icon = (IWidgetIcon)LocalizationUtils.getLocalizedElement(icons,
new String[]{locale});
>              return ((icon != null) ? icon.getSrc() : null);
>          }
>      }
>
> Modified: incubator/wookie/branches/pluggablepersistence/src/org/apache/wookie/controller/WidgetInstancesController.java
> URL: http://svn.apache.org/viewvc/incubator/wookie/branches/pluggablepersistence/src/org/apache/wookie/controller/WidgetInstancesController.java?rev=955407&r1=955406&r2=955407&view=diff
> ==============================================================================
> --- incubator/wookie/branches/pluggablepersistence/src/org/apache/wookie/controller/WidgetInstancesController.java
(original)
> +++ incubator/wookie/branches/pluggablepersistence/src/org/apache/wookie/controller/WidgetInstancesController.java
Wed Jun 16 21:45:03 2010
> @@ -305,7 +305,7 @@ public class WidgetInstancesController e
>  	protected static String getUrl(HttpServletRequest request, IWidgetInstance instance)
throws IOException{
>  		String url = "";
>  
> -		Collection<IStartFile> startFiles = instance.getWidget().getStartFiles();
> +		IStartFile[] startFiles = instance.getWidget().getStartFiles().toArray(new IStartFile[instance.getWidget().getStartFiles().size()]);
>          IStartFile sf = (IStartFile) LocalizationUtils.getLocalizedElement(startFiles,
new String[]{instance.getLang()});
>  		// Try default locale if no appropriate localization found
>  		if (sf == null) sf = (IStartFile) LocalizationUtils.getLocalizedElement(startFiles,
null);
>
> Modified: incubator/wookie/branches/pluggablepersistence/src/org/apache/wookie/helpers/WidgetHelper.java
> URL: http://svn.apache.org/viewvc/incubator/wookie/branches/pluggablepersistence/src/org/apache/wookie/helpers/WidgetHelper.java?rev=955407&r1=955406&r2=955407&view=diff
> ==============================================================================
> --- incubator/wookie/branches/pluggablepersistence/src/org/apache/wookie/helpers/WidgetHelper.java
(original)
> +++ incubator/wookie/branches/pluggablepersistence/src/org/apache/wookie/helpers/WidgetHelper.java
Wed Jun 16 21:45:03 2010
> @@ -115,7 +115,8 @@ public class WidgetHelper {
>  	
>  	private static String getLicenses(IWidget widget, String[] locales){
>  		String out = "";
> -		ILicense[] licenses = (ILicense[])LocalizationUtils.processElementsByLocales(widget.getLicenses(),
locales);
> +		ILicense[] licenses = widget.getLicenses().toArray(new ILicense[widget.getLicenses().size()]);
> +		licenses = (ILicense[])LocalizationUtils.processElementsByLocales(licenses, locales);
>  		for (ILicense license: licenses){
>  			out +="\t\t<license ";
>  			if (license.getLang()!=null) out+=" xml:lang=\""+license.getLang()+"\"";
> @@ -135,7 +136,8 @@ public class WidgetHelper {
>  	}
>  
>  	private static String getName(IWidget widget, String[] locales){
> -		IName name = (IName)LocalizationUtils.getLocalizedElement(widget.getNames(),locales);
> +    	IName[] names = widget.getNames().toArray(new IName[widget.getNames().size()]);
> +		IName name = (IName)LocalizationUtils.getLocalizedElement(names,locales);
>  		String shortName = null;
>  		String longName = null;
>  		if (name != null) {
> @@ -152,7 +154,8 @@ public class WidgetHelper {
>  	}
>  
>  	private static String getDescription(IWidget widget, String[] locales){
> -		IDescription desc = (IDescription)LocalizationUtils.getLocalizedElement(widget.getDescriptions(),
locales);	
> +    	IDescription[] descriptions = widget.getDescriptions().toArray(new IDescription[widget.getDescriptions().size()]);
> +		IDescription desc = (IDescription)LocalizationUtils.getLocalizedElement(descriptions,
locales);	
>  		String out = "\t\t<description";
>  		if (desc!= null && desc.getDir()!=null) out+=" dir=\""+desc.getDir()+"\"";
>  		out += ">";
> @@ -174,7 +177,7 @@ public class WidgetHelper {
>  		String out = "";
>  		IWidgetIcon[] icons;
>  		if (locales != null && locales.length != 0){
> -			icons = (IWidgetIcon[])LocalizationUtils.processElementsByLocales(widget.getWidgetIcons(),
locales);
> +			icons = (IWidgetIcon[])LocalizationUtils.processElementsByLocales(widget.getWidgetIcons().toArray(new
IWidgetIcon[widget.getWidgetIcons().size()]), locales);
>  		} else {
>  			icons = widget.getWidgetIcons().toArray(new IWidgetIcon[widget.getWidgetIcons().size()]);
>  		}
>
> Modified: incubator/wookie/branches/pluggablepersistence/src/org/apache/wookie/util/opensocial/OpenSocialUtils.java
> URL: http://svn.apache.org/viewvc/incubator/wookie/branches/pluggablepersistence/src/org/apache/wookie/util/opensocial/OpenSocialUtils.java?rev=955407&r1=955406&r2=955407&view=diff
> ==============================================================================
> --- incubator/wookie/branches/pluggablepersistence/src/org/apache/wookie/util/opensocial/OpenSocialUtils.java
(original)
> +++ incubator/wookie/branches/pluggablepersistence/src/org/apache/wookie/util/opensocial/OpenSocialUtils.java
Wed Jun 16 21:45:03 2010
> @@ -127,8 +127,8 @@ public class OpenSocialUtils {
>  	}
>  	
>  	private static String getUrl(IWidgetInstance instance){
> -	    Collection<IStartFile> files = instance.getWidget().getStartFiles();
> -		IStartFile start = (IStartFile) LocalizationUtils.getLocalizedElement(files, new String[]{"en"});
> +    	IStartFile[] startFiles = instance.getWidget().getStartFiles().toArray(new IStartFile[instance.getWidget().getStartFiles().size()]);
> +		IStartFile start = (IStartFile) LocalizationUtils.getLocalizedElement(startFiles,
new String[]{"en"});
>  		return start.getUrl();
>  	}
>  
>
>
>
>   


Mime
View raw message