Sonntag, 2. Februar 2014

Java EE 7 Petclinic

A Java EE 7 Version of Spring Petclinic.

Depending on JSF and EJB and ready to run on JBoss WildFly 8.0.0.Final and Oracle Glassfish 4.0.

You find a running Version with WildFly on OpenShift, the RedHat Cloud:
http://wildfly8-javaee7petclinic.rhcloud.com/

Source Code ist hosted on Github:
https://github.com/phasenraum2010/javaee7-petclinic

The Domain Modell 

contains all basic Relationships between Entities like OneToMany, ManyToOne and also ManyToMany:


Pageflow 

is complex enough to be interesting for Functional Tests with Selenium2 Webdriver, Arquillian Drone and Graphene:


Use Cases




Some Example Screen Shots








install JBoss Wildfly

install JBoss Wildfly 8.0.0.Final from http://wildfly.org/downloads/
to e.g. /Users/tw/srv/wildfly-8.0.0.Final/

start JBoss by: cd /Users/tw/srv/wildfly-8.0.0.Final/bin ; ./standalone.sh

 

install Glassfish 4

I installed Netbeans 7.4 with Glassfish 4.0 from https://netbeans.org/downloads/
starting on Mac OSX:
cd /Applications/NetBeans/glassfish-4.0/bin/
./asadmin start-database
./asadmin start-domain
For Starting the JavaDB Database with jdk1.7.0_51 refer to:
http://thomas-woehlke.blogspot.de/2014/01/start-glassfish4-javadb-running-jdk17051.html

 

Functional Tests with Selenium2 Webdriver, Arquillian Drone and Graphene

Petclinic is tested on Wildfly and GlassFish using the Arquillian ecosystem.
Only one profile can be active at a given time otherwise there will be dependency conflicts.
  • mvn clean install -Pwildfly-managed This profile will install a Wildfly server and start up the server. Useful for CI servers.
  • mvn clean install -Pwildfly-remote This profile requires you to start up a Wildfly server outside of the build. Useful for development to avoid the server start up cost per sample.
  • mvn clean install -Pglassfish-remote This profile requires you to start up a GlassFish 4 server outside of the build. Each sample will then reuse this instance to run the tests. Useful for development to avoid the server start up cost per test.
  • mvn clean install -Pglassfish-managed This profile will install a Glassfish 4 server and start up the server. Useful for development, but has the downside of server startup per Test. You have to start a JavaDB (Derby) Server outside of the build before running the Test.
When developing and runing them from IDE, remember to activate the profile before running the test.
To learn more about Arquillian please refer to the Arquillian Guides

JSF 2.2 and RichFaces 5

Calendar and PickList are RichFaces Components.
They also provide WebElements for Arquillian+Graphene Testing.

build and run

git clone https://github.com/phasenraum2010/javaee7-petclinic.git
build project with: mvn clean install wildfly:deploy
open url in browser: http://localhost:8080/javaee7-petclinic-1.3-SNAPSHOT/

 

First Steps

add some PetTypes like dog,cat,mouse,...
add some Specialties for Vetinarians like dentist, anesthetist, radiology,...
add a Vetinarian
add an Owner, add him am a Pet and his Pet a visit.

 

visit Spring Petclinic

https://github.com/spring-projects/spring-petclinic

1 Kommentar: