...
Note: if you just want to try out Isis then there's no need to built it first; just use our quickstart maven archetype
...
Introduction
As a contributor there are a couple of things you can do to check your build; either:
- use your locally-built archetype to generate a test app, and try out, or
- import one of the example applications directly
Prereqs
The BuildProcess page explains how to build the Isis source code.
You ALSO need to make sure that you've built the archetype module (using -Dmodules=support) and the release module (using -D modules=release).
Running the locally-built Archetype
Assuming you've completed the prereqs (see above), you can try generating a new application using:
Code Block |
---|
mvn archetype:generate \
-DarchetypeGroupId=org.apache.isis.support \
-DarchetypeArtifactId=quickstart-archetype
-DarchetypeCatalog=internal
|
nb: it ought not to be necessary to include -DarchetypeVersion=... ; mvn should pick up the latest version. But, if you want to pick up an earlier build or if you want to just be explicit in specifying the current version, then there's no harm in including it.
This should generate the 'quickstart' app. Full details on then using the generated app are on the Isis website.
Importing an Example Application
Isis has a number of example applications, though (at the time of writing) they aren't particularly well maintained. Probably the best one to try importing is the 'claims' app, which lives in trunk/examples/claims.
You should import this using File>Import>Maven>Existing Maven Projects, then Root Directory: trunk/examples/claims, and also Advanced>Name Template= groupId:artifactId.
Introduction
This smoke test just consists of running a demo app. The app in question, trunk/support/prototype
, I'm hoping will become the basis for an archetype (at which point I'll change this page to start instead with running that archetype).
The following assumes that you've successfully built Isis, see BuildProcess if not.
Loading the Demo App (into Eclipse)
In Eclipse, import the projects into Eclipse:
- File > Import > Maven > Existing Maven Projects
- browse to
trunk/support/prototype
- specify the Advanced > Name Template = groupId.artifactId
- otherwise the project names in launch configs will be wrong.
- Refresh
- OK
- browse to
- Project > Build All
- (or just turn on Project > Build Automatically)
Running the Demo App
Viewer |
| WAR project | Other type of project | Notes |
---|---|---|---|---|
DnD | |
|
| EmployeeTakeOn not supported |
HTML | | |
| for quickrun, browser to http://localhost:8080/logon.app |
Restful | | |
| for quickrun, browser to http://localhost:8080 |
Wicket |
| |
|
|
Scimpi |
| |
|
|
JUnit Tests | |
| | Runs as a JUnit test |
BDD (Concordion) |
|
| | Runs as a JUnit test, see 'BDD Viewer' project below |
Quick Run Project
Some of the viewers have launch configs within quickrun
project, in ide/eclipse/launch
. These launch configs run org.apache.isis.Isis --viewer xxx
.
In addition, the src/test/java
demonstrates how the JUnit viewer can be used, wrapping each domain object in order to enforce the same rules that the viewers enforce. This can be run either:
- in Eclipse, right-click on the {{viewer-bdd} project and select Run As>Junit Tests
- in Maven, just
mvn clean test
WAR Projects
All of the webapp-based viewers have their own WAR project. The app can be started in one of several ways:
- using the launch configuration
ide/eclipse/launch/prototype_xxx.launch
- where
xxx
is html, restful, wicket, scimpi - this just runs
org.apache.isis.WebServer
which boots up Jetty with theweb.xml
- browse to http://localhost:8080
- where
- using
mvn jetty:run
- will need to run
mvn clean install
for the parent project first - browse to http://localhost:8080/prototype-viewer-html
- will need to run
- as an Eclipse WTP Server project
BDD Viewer Project
The BDD viewer provides an integration between Concordion and Isis. A little background is probably in order:
- Concordion allows the business analysts to specify the required behaviour of the system using XHTML; the developer then annotates the XHTML using
concordion:xx
attributes - these annotations allow the developer to identify inputs (the "givens") the methods to call to exercise the system under test (the "when") and to make assertions on the resultant state of the system (the "thens")
- the results of the test are shown in a copy of the original test script, with assertions coloured to indicate whether they succeeded or failed
Normally the developer is required to write the methods to be called themselves; these are in test classes that then exercise the system. The Isis/Concordion integration however provides an abstract JUnit test case whose methods can be called out-of-the-box. These methods are enough to simulate the set of actions provided by any Isis viewer.
To try out the viewer:
...
- the output will be in
/tmp/concordion/org/apache/isis/support/prototype/stories
...