In this section we will try out the
PeopleService
using a simple console application.
project.xml
,
maven.xml
(Maven project files) and
TimeTrackerConsole.java
(the console
application, under src/java/org/andromda/timetracker/console).
ttconsole
and
run
. Place these targets after the
mda
target as shown below:
<!-- ==================================================================
Runs the MDA component
================================================================== -->
<goal name="mda">
<maven:maven
descriptor="mda/project.xml"
goals="pom:install"/>
</goal>
<!-- ==================================================================
Builds the Console component
================================================================== -->
<goal name="ttconsole">
<maven:maven
descriptor="console/project.xml"
goals="jar:install"/>
</goal>
<!-- ==================================================================
Runs the Console component
================================================================== -->
<goal name="run">
<maven:maven
descriptor="console/project.xml"
goals="run"/>
</goal>
TimeTrackerConsole.java
.
Key methods of this application are shown below:
publicstaticvoidmain(String[] args) {// Get servicesserviceLocator = ServiceLocator.instance(); peopleService = serviceLocator.getPeopleService();// Create peoplePersonVO naresh = createPerson("nbhatia","Naresh","Bhatia"); PersonVO louis = createPerson("lcoude","Louis","Coude"); PersonVO john = createPerson("jsmith","John","Smith");// Fetch and show all objects created abovePersonVO[] people = peopleService.getAllPeople(); showPeople(people); }privatestaticPersonVO createPerson(String username, String firstName, String lastName) { PersonVO person =newPersonVO(null, username, firstName, lastName); person.setId(peopleService.createPerson(person)); System.out.println("Person "+ person.getId() +" created - "+ person.getUsername());returnperson; }
PeopleService
.
We do this by using the
ServiceLocator
, a helper class
generated by AndroMDA that uses the Spring framework to locate services.
Now we create three people in the database using the
PeopleService
.
Following that we fetch all the people that exist in the database,
again using the
PeopleService
, and display them.
ttconsole
target as follows:
maven -o ttconsole
.
run
target as follows:
maven -o run
. The console output
is shown below.
C:/timetracker>maven -o run
...
[java] Person 1 created - nbhatia
[java] Person 2 created - lcoude
[java] Person 3 created - jsmith
[java] People:
[java] 1: nbhatia - Naresh Bhatia
[java] 2: lcoude - Louis Coude
[java] 3: jsmith - John Smith
[java]
BUILD SUCCESSFUL
Total time: 8 seconds
Finished at: Mon Jan 30 01:41:58 EST 2006
C:/timetracker>
drop-schema
target
as follows:
maven -o drop-schema
.
Now that we have a running console application with 1 entity, 1 value object and 1 service,
we are ready to implement more TimeTracker functionality. Click here
to add a
Timecard
object to TimeTracker and learn how to model associations in AndroMDA.
application.