This example demonstrates providing jMaki widget JSON data models as Jersey resources.
The jMakiBackend application maintains a list of printers. The list can be manipulated by an end user via a RESTful API.
Two resources are also available, which provides jMaki table and tree widgets data models for the current data (printer list)
The example consists of the following:
com.sun.jersey.samples.jmaki.resources.PrintersResource
com.sun.jersey.samples.jmaki.beans.*
Printer
bean
is also a data model for a printer list row. The bean is encapsulated
in jMaki widget beans (PrinterTableModel
and TreeModel
).
com.sun.jersey.samples.jmaki.config.JAXBContextResolver
The mapping of the URI path space is presented in the following table:
URI path | Resource | HTTP methods |
---|---|---|
/printers | bootstrap resource | GET |
/printers/list | a list of printers | GET |
/printers/ids/{printerId} | a printer row | GET, PUT, DELETE |
/printers/jMakiTree | jMaki Tree data model | GET |
/printers/jMakiTable | jMaki Table data model | GET |
If you are working with Jersey GlassFish update center module installed into your existing GlassFish instance, you will need to follow instructions at the module README file in order to deploy the example.
Otherwise, you can run the example using embedded GlassFish as follows:
mvn clean package embedded-glassfish:run
or you can run the example using Jetty as follows:
mvn clean package jetty:run
A WADL description may be accessed at the URL:
http://localhost:8080/jMakiBackend/webresources/application.wadl
You can also see an initial sample list of printers at the URL:
http://localhost:8080/jMakiBackend/webresources/printers/list
To use the provided jMaki data models, you will need Netbeans 6.0 with jMaki plugin installed.
Then simply create a new WebApplication and select jMaki AJAX Framework for it.
You can than drag and drop appropriate widget (e.g.YahooTable)
from the jMaki widgets panel to your index.jsp
page.
Then update the widget code to look like follows:
<a:widget name="yahoo.dataTable" service="http://localhost:8080/jMakiBackend/webresources/printers/jMakiTable"/>Then you should be able to run your web application and see the table on your index page. A screenshot and further info is available at http://blogs.oracle.com/japod/entry/jmaki_widgets_talking_to_jersey