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/02/11 21:36:10 UTC
svn commit: r1069948 - in /incubator/wookie/trunk: etc/ddl-schema/
parser/java/src/org/apache/wookie/w3c/
parser/java/src/org/apache/wookie/w3c/impl/
parser/java/src/org/apache/wookie/w3c/util/ src/org/apache/wookie/beans/
src/org/apache/wookie/beans/j...
Author: scottbw
Date: Fri Feb 11 20:36:10 2011
New Revision: 1069948
URL: http://svn.apache.org/viewvc?rev=1069948&view=rev
Log:
Added localisation properties (lang,dir) to the Widget object, both in the Parser and when it is stored in the the Wookie Server, and updated FormattingUtils to use this information when formatting the Widget Version. This addresses issue WOOKIE-175.
Modified:
incubator/wookie/trunk/etc/ddl-schema/wookie-schema.xml
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/parser/java/src/org/apache/wookie/w3c/util/FormattingUtils.java
incubator/wookie/trunk/src/org/apache/wookie/beans/IWidget.java
incubator/wookie/trunk/src/org/apache/wookie/beans/jcr/impl/WidgetImpl.java
incubator/wookie/trunk/src/org/apache/wookie/beans/jcr/wookie-schema.cnd
incubator/wookie/trunk/src/org/apache/wookie/beans/jpa/impl/WidgetImpl.java
incubator/wookie/trunk/src/org/apache/wookie/util/WidgetFormattingUtils.java
incubator/wookie/trunk/src/org/apache/wookie/util/gadgets/GadgetAdapter.java
Modified: incubator/wookie/trunk/etc/ddl-schema/wookie-schema.xml
URL: http://svn.apache.org/viewvc/incubator/wookie/trunk/etc/ddl-schema/wookie-schema.xml?rev=1069948&r1=1069947&r2=1069948&view=diff
==============================================================================
--- incubator/wookie/trunk/etc/ddl-schema/wookie-schema.xml (original)
+++ incubator/wookie/trunk/etc/ddl-schema/wookie-schema.xml Fri Feb 11 20:36:10 2011
@@ -30,6 +30,8 @@
<column name="widget_author_email" size="320" type="VARCHAR"/>
<column name="widget_author_href" type="LONGVARCHAR"/>
<column name="widget_version" size="255" type="VARCHAR"/>
+ <column name="dir" size="255" type="VARCHAR"/>
+ <column name="lang" size="255" type="VARCHAR"/>
<unique name="UNWidget1">
<unique-column name="guid"/>
</unique>
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=1069948&r1=1069947&r2=1069948&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 Fri Feb 11 20:36:10 2011
@@ -22,7 +22,7 @@ import java.util.List;
* This represents the information model for a W3C widget that has been
* unpacked using the W3CWidgetFactory.
*/
-public interface W3CWidget extends IElement{
+public interface W3CWidget extends ILocalizedEntity{
/**
* 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=1069948&r1=1069947&r2=1069948&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 Fri Feb 11 20:36:10 2011
@@ -45,14 +45,13 @@ import org.apache.wookie.w3c.util.Unicod
import org.apache.wookie.w3c.util.WidgetPackageUtils;
import org.jdom.Element;
import org.jdom.JDOMException;
-import org.jdom.Namespace;
import org.jdom.input.SAXBuilder;
/**
* Processes a config.xml document to create a model
* for a widget, including all sub-objects
* @author Paul Sharples
*/
-public class WidgetManifestModel implements W3CWidget {
+public class WidgetManifestModel extends AbstractLocalizedEntity implements W3CWidget {
static Logger fLogger = Logger.getLogger(WidgetManifestModel.class.getName());
@@ -61,7 +60,6 @@ public class WidgetManifestModel impleme
private Integer fHeight;
private Integer fWidth;
private String fViewModes;
- private String fLang;
private String[] features;
private List<INameEntity> fNamesList;
private List<IDescriptionEntity> fDescriptionsList;
@@ -207,9 +205,13 @@ public class WidgetManifestModel impleme
return fUpdate;
}
- public void fromXML(Element element) throws BadManifestException{
+ public void fromXML(Element element){
fLogger.warn("WidgetManifestModel.fromXML() called with no locales");
- fromXML(element, new String[]{"en"});
+ try {
+ fromXML(element, new String[]{"en"});
+ } catch (BadManifestException e) {
+ fLogger.error("WidgetManifestModel.fromXML() called with no locales and Bad Manifest",e);
+ }
}
public String getLocalName(String locale){
@@ -284,11 +286,9 @@ public class WidgetManifestModel impleme
}
fViewModes = modes.trim();
}
- // xml:lang optional
- fLang = element.getAttributeValue(IW3CXMLConfiguration.LANG_ATTRIBUTE, Namespace.XML_NAMESPACE);
- if(fLang == null){
- fLang = IW3CXMLConfiguration.DEFAULT_LANG;
- }
+ // DIR and XML:LANG ARE OPTIONAL
+ super.fromXML(element);
+
// parse the children
Modified: incubator/wookie/trunk/parser/java/src/org/apache/wookie/w3c/util/FormattingUtils.java
URL: http://svn.apache.org/viewvc/incubator/wookie/trunk/parser/java/src/org/apache/wookie/w3c/util/FormattingUtils.java?rev=1069948&r1=1069947&r2=1069948&view=diff
==============================================================================
--- incubator/wookie/trunk/parser/java/src/org/apache/wookie/w3c/util/FormattingUtils.java (original)
+++ incubator/wookie/trunk/parser/java/src/org/apache/wookie/w3c/util/FormattingUtils.java Fri Feb 11 20:36:10 2011
@@ -51,7 +51,7 @@ public class FormattingUtils {
* @return a CSS-formatted i18n string
*/
public static String getFormattedWidgetVersion(W3CWidget widget){
- return getFormatted(widget.getVersion());
+ return getFormatted(widget.getDir(), widget.getVersion());
}
/**
* Returns the CSS formatted i18n string for the widget description
@@ -100,6 +100,10 @@ public class FormattingUtils {
* @return a CSS i18n string
*/
protected static String getFormatted(String dir, String value){
+
+ // If the string has no embedded spans with dir attributes, and no set dir, just return the string
+ //if (dir == null && !value.contains("dir=")) return value;
+
String mode = "embed";
if (dir == null) dir = "ltr";
// Reformat embedded SPAN tags
Modified: incubator/wookie/trunk/src/org/apache/wookie/beans/IWidget.java
URL: http://svn.apache.org/viewvc/incubator/wookie/trunk/src/org/apache/wookie/beans/IWidget.java?rev=1069948&r1=1069947&r2=1069948&view=diff
==============================================================================
--- incubator/wookie/trunk/src/org/apache/wookie/beans/IWidget.java (original)
+++ incubator/wookie/trunk/src/org/apache/wookie/beans/IWidget.java Fri Feb 11 20:36:10 2011
@@ -29,7 +29,7 @@ import org.apache.wookie.w3c.util.Locali
* @author <a href="mailto:rwatler@apache.org">Randy Watler</a>
* @version $Id$
*/
-public interface IWidget extends IBean
+public interface IWidget extends ILocalizedBean, IBean
{
/**
* Get widget height.
Modified: incubator/wookie/trunk/src/org/apache/wookie/beans/jcr/impl/WidgetImpl.java
URL: http://svn.apache.org/viewvc/incubator/wookie/trunk/src/org/apache/wookie/beans/jcr/impl/WidgetImpl.java?rev=1069948&r1=1069947&r2=1069948&view=diff
==============================================================================
--- incubator/wookie/trunk/src/org/apache/wookie/beans/jcr/impl/WidgetImpl.java (original)
+++ incubator/wookie/trunk/src/org/apache/wookie/beans/jcr/impl/WidgetImpl.java Fri Feb 11 20:36:10 2011
@@ -42,7 +42,7 @@ import org.apache.wookie.beans.jcr.JCRPe
* @version $Id$
*/
@Node(jcrType="wookie:widget", jcrMixinTypes="mix:referenceable", discriminator=false)
-public class WidgetImpl implements IWidget, IPathBean, IUuidBean
+public class WidgetImpl extends LocalizedBeanImpl implements IWidget, IPathBean, IUuidBean
{
@Field(path=true)
private String path;
Modified: incubator/wookie/trunk/src/org/apache/wookie/beans/jcr/wookie-schema.cnd
URL: http://svn.apache.org/viewvc/incubator/wookie/trunk/src/org/apache/wookie/beans/jcr/wookie-schema.cnd?rev=1069948&r1=1069947&r2=1069948&view=diff
==============================================================================
--- incubator/wookie/trunk/src/org/apache/wookie/beans/jcr/wookie-schema.cnd (original)
+++ incubator/wookie/trunk/src/org/apache/wookie/beans/jcr/wookie-schema.cnd Fri Feb 11 20:36:10 2011
@@ -85,6 +85,8 @@
- wookie:widgetAuthorEmail (string)
- wookie:widgetAuthorHref (string)
- wookie:widgetVersion (string)
+- wookie:dir (string)
+- wookie:lang (string)
+ wookie:widgetTypes (nt:unstructured) = nt:unstructured
+ wookie:accessRequests (nt:unstructured) = nt:unstructured
+ wookie:features (nt:unstructured) = nt:unstructured
Modified: incubator/wookie/trunk/src/org/apache/wookie/beans/jpa/impl/WidgetImpl.java
URL: http://svn.apache.org/viewvc/incubator/wookie/trunk/src/org/apache/wookie/beans/jpa/impl/WidgetImpl.java?rev=1069948&r1=1069947&r2=1069948&view=diff
==============================================================================
--- incubator/wookie/trunk/src/org/apache/wookie/beans/jpa/impl/WidgetImpl.java (original)
+++ incubator/wookie/trunk/src/org/apache/wookie/beans/jpa/impl/WidgetImpl.java Fri Feb 11 20:36:10 2011
@@ -56,7 +56,7 @@ import org.apache.wookie.beans.jpa.Inver
@NamedQueries({@NamedQuery(name="WIDGET", query="SELECT w FROM Widget w WHERE w.guid = :guid"),
@NamedQuery(name="DEFAULT_WIDGET", query="SELECT w FROM WidgetDefault wd JOIN wd.widget w WHERE wd.widgetContext = :widgetContext"),
@NamedQuery(name="WIDGETS", query="SELECT w FROM Widget w JOIN w.widgetTypes wt WHERE wt.widgetContext = :widgetContext")})
-public class WidgetImpl implements IWidget
+public class WidgetImpl extends LocalizedBeanImpl implements IWidget
{
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
Modified: incubator/wookie/trunk/src/org/apache/wookie/util/WidgetFormattingUtils.java
URL: http://svn.apache.org/viewvc/incubator/wookie/trunk/src/org/apache/wookie/util/WidgetFormattingUtils.java?rev=1069948&r1=1069947&r2=1069948&view=diff
==============================================================================
--- incubator/wookie/trunk/src/org/apache/wookie/util/WidgetFormattingUtils.java (original)
+++ incubator/wookie/trunk/src/org/apache/wookie/util/WidgetFormattingUtils.java Fri Feb 11 20:36:10 2011
@@ -51,7 +51,7 @@ public class WidgetFormattingUtils exten
* @return a CSS-formatted i18n string
*/
public static String getFormattedWidgetVersion(IWidget widget){
- return getFormatted(widget.getVersion());
+ return getFormatted(widget.getDir(), widget.getVersion());
}
/**
* Returns the CSS formatted i18n string for the widget description
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=1069948&r1=1069947&r2=1069948&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 Fri Feb 11 20:36:10 2011
@@ -208,6 +208,21 @@ public class GadgetAdapter implements W3
// TODO Auto-generated method stub
return null;
}
+
+ public String getDir() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public boolean isValid() {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ public String getLang() {
+ // TODO Auto-generated method stub
+ return null;
+ }