You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@wookie.apache.org by sc...@apache.org on 2011/06/07 18:44:48 UTC
svn commit: r1133092 - in /incubator/wookie/trunk:
parser/java/src/org/apache/wookie/w3c/
parser/java/src/org/apache/wookie/w3c/impl/
src/org/apache/wookie/util/gadgets/
Author: scottbw
Date: Tue Jun 7 16:44:48 2011
New Revision: 1133092
URL: http://svn.apache.org/viewvc?rev=1133092&view=rev
Log:
Added defaultLocale attribute to the W3C parser module, and changed localization calls to use it. See WOOKIE-211.
Modified:
incubator/wookie/trunk/parser/java/src/org/apache/wookie/w3c/IW3CXMLConfiguration.java
incubator/wookie/trunk/parser/java/src/org/apache/wookie/w3c/W3CWidget.java
incubator/wookie/trunk/parser/java/src/org/apache/wookie/w3c/impl/WidgetManifestModel.java
incubator/wookie/trunk/src/org/apache/wookie/util/gadgets/GadgetAdapter.java
Modified: incubator/wookie/trunk/parser/java/src/org/apache/wookie/w3c/IW3CXMLConfiguration.java
URL: http://svn.apache.org/viewvc/incubator/wookie/trunk/parser/java/src/org/apache/wookie/w3c/IW3CXMLConfiguration.java?rev=1133092&r1=1133091&r2=1133092&view=diff
==============================================================================
--- incubator/wookie/trunk/parser/java/src/org/apache/wookie/w3c/IW3CXMLConfiguration.java (original)
+++ incubator/wookie/trunk/parser/java/src/org/apache/wookie/w3c/IW3CXMLConfiguration.java Tue Jun 7 16:44:48 2011
@@ -20,6 +20,7 @@ package org.apache.wookie.w3c;
public interface IW3CXMLConfiguration {
public static final String WIDGET_ELEMENT = "widget";
+ public static final String DEFAULTLOCALE_ATTRIBUTE = "defaultlocale"; // widget
public static final String ID_ATTRIBUTE = "id"; // widget
public static final String VERSION_ATTRIBUTE = "version"; // widget
public static final String MODE_ATTRIBUTE = "viewmodes"; //widget
Modified: incubator/wookie/trunk/parser/java/src/org/apache/wookie/w3c/W3CWidget.java
URL: http://svn.apache.org/viewvc/incubator/wookie/trunk/parser/java/src/org/apache/wookie/w3c/W3CWidget.java?rev=1133092&r1=1133091&r2=1133092&view=diff
==============================================================================
--- incubator/wookie/trunk/parser/java/src/org/apache/wookie/w3c/W3CWidget.java (original)
+++ incubator/wookie/trunk/parser/java/src/org/apache/wookie/w3c/W3CWidget.java Tue Jun 7 16:44:48 2011
@@ -24,6 +24,12 @@ import java.util.List;
*/
public interface W3CWidget extends ILocalizedEntity{
+ /**
+ * Get the default locale
+ * @return a locale string, or Null if no default locale is specified
+ */
+ public String getDefaultLocale();
+
/**
* Get the list of access request entities for the widget
*/
Modified: incubator/wookie/trunk/parser/java/src/org/apache/wookie/w3c/impl/WidgetManifestModel.java
URL: http://svn.apache.org/viewvc/incubator/wookie/trunk/parser/java/src/org/apache/wookie/w3c/impl/WidgetManifestModel.java?rev=1133092&r1=1133091&r2=1133092&view=diff
==============================================================================
--- incubator/wookie/trunk/parser/java/src/org/apache/wookie/w3c/impl/WidgetManifestModel.java (original)
+++ incubator/wookie/trunk/parser/java/src/org/apache/wookie/w3c/impl/WidgetManifestModel.java Tue Jun 7 16:44:48 2011
@@ -55,6 +55,7 @@ public class WidgetManifestModel extends
static Logger fLogger = Logger.getLogger(WidgetManifestModel.class.getName());
+ private String defaultLocale;
private String defaultIdentifier;
private String fIdentifier;
private String fVersion;
@@ -146,6 +147,10 @@ public class WidgetManifestModel extends
}
}
}
+
+ public String getDefaultLocale(){
+ return defaultLocale;
+ }
public String getViewModes() {
return fViewModes;
@@ -217,7 +222,7 @@ public class WidgetManifestModel extends
}
public String getLocalName(String locale){
- INameEntity name = (INameEntity)LocalizationUtils.getLocalizedElement(fNamesList.toArray(new INameEntity[fNamesList.size()]), new String[]{locale});
+ INameEntity name = (INameEntity)LocalizationUtils.getLocalizedElement(fNamesList.toArray(new INameEntity[fNamesList.size()]), new String[]{locale}, defaultLocale);
if (name != null) return name.getName();
return IW3CXMLConfiguration.UNKNOWN;
}
@@ -257,6 +262,11 @@ public class WidgetManifestModel extends
fIdentifier = "http://incubator.apache.org/wookie/generated/" + r.toString();
}
}
+
+ // DEFAULTLOCALE IS OPTIONAL
+ defaultLocale = UnicodeUtils.normalizeSpaces(element.getAttributeValue(IW3CXMLConfiguration.DEFAULTLOCALE_ATTRIBUTE));
+ locales = addDefaultLocale(locales, defaultLocale);
+
// VERSION IS OPTIONAL
fVersion = UnicodeUtils.normalizeSpaces(element.getAttributeValue(IW3CXMLConfiguration.VERSION_ATTRIBUTE));
@@ -415,6 +425,28 @@ public class WidgetManifestModel extends
if (StringUtils.equals(entity.getLang(), ent.getLang())) first = false;
return first;
}
+
+ /**
+ * Adds the defaultLocale to the locales array, provided it isn't null
+ * and doesn't duplicate an existing locale
+ * @param locales
+ * @param defaultLocale
+ * @return the updated locale array
+ */
+ private String[] addDefaultLocale(String[] locales, String defaultLocale){
+ if (defaultLocale == null) return locales;
+ // If there is no locales list, create a new one with the defaultLocale in it
+ if (locales == null) return new String[]{defaultLocale};
+ // If it already exists, return the existing locales array
+ for (String locale:locales){
+ if (locale.equals(defaultLocale)) return locales;
+ }
+ // Create a copy of the locales array and add the defaultlocale to the end
+ String[] newLocales = new String[locales.length+1];
+ System.arraycopy(locales, 0, newLocales, 0, locales.length);
+ newLocales[newLocales.length-1] = defaultLocale;
+ return newLocales;
+ }
public Element toXml() {
Element widgetElem = new Element(IW3CXMLConfiguration.WIDGET_ELEMENT,IW3CXMLConfiguration.MANIFEST_NAMESPACE);
Modified: incubator/wookie/trunk/src/org/apache/wookie/util/gadgets/GadgetAdapter.java
URL: http://svn.apache.org/viewvc/incubator/wookie/trunk/src/org/apache/wookie/util/gadgets/GadgetAdapter.java?rev=1133092&r1=1133091&r2=1133092&view=diff
==============================================================================
--- incubator/wookie/trunk/src/org/apache/wookie/util/gadgets/GadgetAdapter.java (original)
+++ incubator/wookie/trunk/src/org/apache/wookie/util/gadgets/GadgetAdapter.java Tue Jun 7 16:44:48 2011
@@ -127,6 +127,10 @@ public class GadgetAdapter implements W3
}
return defaultValue;
}
+
+ public String getDefaultLocale(){
+ return null;
+ }
public String getViewModes() {
return null;