You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 6 Next »

Using Criteria API in DayTrader

A current DayTrader project implementation in Apache Geronimo contains several JPQL queries. These can easily be converted to JPA Criteria API queries. A sample with this conversion can be created to run on the Apache Geronimo server.

Downloading DayTrader

You must have Subversion installed in order to download the DayTrader implementation.Subversion can be downloaded from http://subversion.apache.org/packages.html. Use the 2.1.3 version of DayTrader for this sample. Follow the following steps:

  1. Create a root directory for the download. For this example, we will use a directory called DayTrader.
  2. Create subdirectories branches/2.1.3 under the DayTrader directory
  3. cd to DayTrader
  4. Issue the following subversion command:
         svn checkout https://svn.apache.org/repos/asf/geronimo/daytrader/branches/2.1.3 branches/2.1.3https://svn.apache.org/repos/asf/geronimo/daytrader/branches/2.1.3

Build DayTrader

You must have maven installed in order to build DayTrader. Maven can be downloaded from http://maven.apache.org/download.html. Unzip the file to a directory and run mvn.bat|.sh in the bin subdirectory to install. Add the bin subdirectory to you path.

Maven needs a repository. Typically it is at the following:

  • Windows - C:\Documents and Settings\<userid>\.m2\repository
  • Linux/unix - ~/.m2/repository

From the DayTrader/branches/2.1.3 directory, type "mvn clean install" to build the project.

Setting up Eclipse

First install eclipse by going to http:/www.eclipse.org and downloading a version of it. These instructions assume version 3.5. Unzip the downloaded file into a directory. You can start eclipse by running eclipse.exe in the eclipse directory.

Next install subclipse, the Subversion Eclipse Plugin:

  1. In Eclipse, go to Help -> Install New software
  2. Click on Add button - Enter Subclipse for Name and http://subclipse.tigris.org/update_1.6.x for location
  3. Select the Subclipse Plugin and click Next -> Next
  4. Read and accept the license and click Finish

Generate eclipse files for the DayTrader project. From the DayTrader/branches/2.1.3 directory, type "mvn eclipse:eclipse"

Set the M2_REPO classpath variable in Eclipse:

  1. Go to Window -> Preferences -> Java -> Build Path -> Classpath Variables
  2. Add a new variable called M2_REPO, set to the maven repository directory mentioned above.

Import DayTrader projects into Eclipse.

  1. From Eclipse, Click on File -> Import...
  2. Under the General folder, select Existing Projects into Workspace and click on Next.
  3. Enter the root directory of DayTrader/branches/2.1.3
  4. Select all projects and click Finish

Apply the DayTrader Patch

The following patch can be applied using a system or downloaded patch utility. (For example, you can get a patch utility for Windows from http://gnuwin32.sourceforge.net/packages/patch.htm.)

daytrader_geronimo.patch

Download this patch and go to the DayTrader/branches.2.1.3 directory to apply it. For example, with the patch utility mentioned above, you can type:

patch -p0 -i <path-to>/daytrader_geronimo.patch

After you have applied the patch, you can see the changes from JPQL to the Criteria API in the java class org.apache.geronimo.samples.daytrader.ejb3.TradeSLSBBean. The changes are in the following 4 methods:

  • getMarketSummary()
  • getClosedOrders()
  • getAllQuotes()
  • getHoldings()

(Note: If you view these changes in eclipse, and you have previously run "mvn eclipse:eclipse" to setup eclipse projects, you'll have to run this command again in order for this file to compile.)

Run DayTrader on Geronimo

This writeup assumes some familiarity with Apache Geronimo. The download and documentation can be found at http://geronimo.apache.org.

Install and start the Geronimo server

Add jpa2 plugins from repository http://geronimo.apache.org/plugins/openjpa2.

  • No labels