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;