tree: 86b95949401c57686dd84cfe7ffd947049f281af [path history] [tgz]
  1. src/
  2. pom.xml
  3. README.MD
examples/bookmark/README.MD

Bookmark Example

This example demonstrates how to use JPA in the backend. The example is based on bookmark example from the RESTful Web Services book, which was inspired by the http://del.icio.us/ web service.

A bookmark web application is presented that is capable of maintaining users and their bookmarks.

Contents

The mapping of the URI path space is presented in the following table:

URI pathResource classHTTP methodsNotes
/usersUsersResourceGETReturns a list of users.
/users/{userid}UserResourceGET, PUT (used also for creating new users), DELETEReturns user details
/users/{userid}/bookmarksBookmarksResourceGET, POSTReturns a list of bookmarks for actual user resource.
/users/{userid}/bookmarks/{bmid}BookmarkResourceGET, PUT, DELETEReturns bookmark uri and a long and short description.

Running the Example

Bookmark example runs on Glassfish 3.x application servers (https://javaee.github.io/glassfish/) and needs a running JavaDB (http://www.oracle.com/technetwork/java/javadb/overview/index.html) instance for underlying data (it comes along with GlassFish).

Presuming, you have installed Glassfish 3.1 AS_HOME variable should point to your glassfish installation directory.

Building And Starting The Bookmark Service

If .asadminpass file is missing at your home directory, you will need to run the following command to get it created

$AS_HOME/bin/asadmin start-domain
$AS_HOME/bin/asadmin login

You then build and run the example by

mvn package
$AS_HOME/bin/asadmin start-domain
$AS_HOME/bin/asadmin start-database
$AS_HOME/bin/asadmin create-jdbc-connection-pool \
         --datasourceclassname org.apache.derby.jdbc.ClientDataSource \
         --restype javax.sql.DataSource \
         --property "portnumber=1527:password=REST:user=REST:serverName=localhost:databaseName=BookmarkDB:connectionAttributes=;create\=true" bookmarkPool
$AS_HOME/bin/asadmin create-jdbc-resource --connectionpoolid bookmarkPool jdbc/bookmarkSample
$AS_HOME/bin/asadmin deploy target/bookmark.war

Notice: On Windows: you might need to replace asadmin with asadmin.bat. Also, because it seems there are some issues with copy-pasting backslashes, you will also need to use the following one-liner instead of the above mentioned complex command:

asadmin create-jdbc-connection-pool --datasourceclassname org.apache.derby.jdbc.ClientDataSource --restype javax.sql.DataSource --property "portnumber=1527:password=REST:user=REST:serverName=localhost:databaseName=BookmarkDB:connectionAttributes=;create\=true" bookmarkPool

and make sure you do not miss the backslash (\) in create\=true part.

Test Client Running

mvn test -Djersey.config.test.container.factory=org.glassfish.jersey.test.external.ExternalTestContainerFactory -Djersey.config.test.logging.enable=true -Djersey.config.test.logging.dumpEntity=true -Djersey.config.test.container.port=8080 -Ptest

Links

http://java.net/projects/bpcatalog/sources/svn/content/trunk/ee5/docs/persistence/webonlyapp.html?raw=true