Author: scottbw
Date: Mon Oct 3 13:05:48 2011
New Revision: 1178402
URL: http://svn.apache.org/viewvc?rev=1178402&view=rev
Log:
Updated doc with maven info, more examples, and some fixes to sample code
Modified:
incubator/wookie/site/trunk/content/wookie/docs/developer/parser.mdtext
Modified:
incubator/wookie/site/trunk/content/wookie/docs/developer/parser.mdtext
URL:
http://svn.apache.org/viewvc/incubator/wookie/site/trunk/content/wookie/docs/developer/parser.mdtext?rev=1178402&r1=1178401&r2=1178402&view=diff
==============================================================================
--- incubator/wookie/site/trunk/content/wookie/docs/developer/parser.mdtext
(original)
+++ incubator/wookie/site/trunk/content/wookie/docs/developer/parser.mdtext Mon
Oct 3 13:05:48 2011
@@ -18,6 +18,18 @@ Notice: Licensed to the Apache Softwa
The code that Wookie uses to parse and unpack W3C Widgets can also be used in
other applications and projects as a standalone library. The parser can be
found as a sub-project within the "parser/java/" folder in the main Wookie
source tree.
+# Using the parser in a Maven project
+
+To use the parser with a Maven project, include the following dependency
configuration in your project:
+
+ <dependency>
+ <groupId>org.apache.wookie</groupId>
+ <artifactId>wookie-java-parser</artifactId>
+ <type>jar</type>
+ <scope>compile</scope>
+ <version>0.9.1-incubating-SNAPSHOT</version>
+ </dependency>
+
# Building the parser
To build the parser as a standalone .jar, run `ant publish-local` from within
the parser folder; the jar will be saved in `parser/dist`. Dependencies are
described in the ivy.xml file that can also be found in the `parser/dist`
folder.
@@ -44,13 +56,21 @@ For example, a simple program to unpack
}
}
+The W3CWidgetFactory can also download and install widgets directly from a URL
as well as locally from the file system:
+
+ W3CWidget widget = fac.parse(new URL("http://foo.com/bar.wgt"));
+
+Note that if the widget does not use the application/widget content-type, you
should set "ignore content type" to true:
+
+ W3CWidget widget = fac.parse(new URL("http://foo.com/bar.wgt"), true);
+
#Localized elements
Many of the elements of a W3CWidget object are localized; these elements all
implement the `ILocalizedElement` interface. These elements can be processed
using the `LocalizationUtils` class, which has methods to process these
elements based on lists of preferred locales. E.g., to extract the single most
preferred Name element for the "fr" locale:
- INameEntity[] names = widget.getNames().toArray(new
INameEntity[fNamesList.size()]);
+ INameEntity[] names = widget.getNames().toArray(new
INameEntity[widget.getNames().size()]);
String[] locales = new String[]{"fr"};
- INameEntity name =
(INameEntity)LocalizationUtils.getLocalizedElement(names, locales);
+ INameEntity name =
(INameEntity)LocalizationUtils.getLocalizedElement(names,
locales,widget.getDefaultLocale());
`LocalizationUtils` uses icu4j to process elements using appropriate fallback
strategies based on language variants and extensions.