Title: [waffle-scm] [608] trunk/examples/freemarker-example/src/main/java/org/codehaus/waffle/example/freemarker/model: [freemarker-example]: made Person an interface with corresponding persistable implementation.

Diff

Modified: trunk/examples/freemarker-example/src/main/java/org/codehaus/waffle/example/freemarker/controller/PersonController.java (607 => 608)

--- trunk/examples/freemarker-example/src/main/java/org/codehaus/waffle/example/freemarker/controller/PersonController.java	2008-04-14 10:20:48 UTC (rev 607)
+++ trunk/examples/freemarker-example/src/main/java/org/codehaus/waffle/example/freemarker/controller/PersonController.java	2008-04-14 10:28:25 UTC (rev 608)
@@ -1,12 +1,13 @@
 package org.codehaus.waffle.example.freemarker.controller;
 
-import org.codehaus.waffle.example.freemarker.model.Person;
-import org.codehaus.waffle.example.freemarker.persister.PersonPersister;
-
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
 
+import org.codehaus.waffle.example.freemarker.model.Person;
+import org.codehaus.waffle.example.freemarker.persister.PersistablePerson;
+import org.codehaus.waffle.example.freemarker.persister.PersonPersister;
+
 public class PersonController {
     private final PersonPersister persister;
     private Person person;
@@ -53,7 +54,7 @@
     }
     
     public void create() {
-        person = new Person();
+        person = new PersistablePerson();
     }
 
     public void cancel() {

Modified: trunk/examples/freemarker-example/src/main/java/org/codehaus/waffle/example/freemarker/model/Person.java (607 => 608)

--- trunk/examples/freemarker-example/src/main/java/org/codehaus/waffle/example/freemarker/model/Person.java	2008-04-14 10:20:48 UTC (rev 607)
+++ trunk/examples/freemarker-example/src/main/java/org/codehaus/waffle/example/freemarker/model/Person.java	2008-04-14 10:28:25 UTC (rev 608)
@@ -2,66 +2,16 @@
 
 import java.util.Date;
 
-public class Person {
-    private Long id;
-    private String firstName;
-    private String lastName;
-    private String email;
-    private Date dateOfBirth;
+public interface Person {
 
-    public Person() {
-        id = new Long(0);
-        firstName = "";
-        lastName = "";
-        email = "";
-        dateOfBirth = new Date();
-    }
+    public Long getId();
 
-    public Person(Person person) {
-        this.id = person.getId();
-        this.firstName = person.getFirstName();
-        this.lastName = person.getLastName();
-        this.email = person.getEmail();
-        this.dateOfBirth = person.getDateOfBirth();
-    }
+    public String getFirstName();
 
-    public Long getId() {
-        return id;
-    }
+    public String getLastName();
 
-    public void setId(Long id) {
-        this.id = id;
-    }
+    public String getEmail();
 
-    public String getFirstName() {
-        return firstName;
-    }
+    public Date getDateOfBirth();
 
-    public void setFirstName(String firstName) {
-        this.firstName = firstName;
-    }
-
-    public String getLastName() {
-        return lastName;
-    }
-
-    public void setLastName(String lastName) {
-        this.lastName = lastName;
-    }
-
-    public String getEmail() {
-        return email;
-    }
-
-    public void setEmail(String email) {
-        this.email = email;
-    }
-
-    public Date getDateOfBirth() {
-        return dateOfBirth;
-    }
-
-    public void setDateOfBirth(Date dateOfBirth) {
-        this.dateOfBirth = dateOfBirth;
-    }
 }

Added: trunk/examples/freemarker-example/src/main/java/org/codehaus/waffle/example/freemarker/persister/PersistablePerson.java (0 => 608)

--- trunk/examples/freemarker-example/src/main/java/org/codehaus/waffle/example/freemarker/persister/PersistablePerson.java	                        (rev 0)
+++ trunk/examples/freemarker-example/src/main/java/org/codehaus/waffle/example/freemarker/persister/PersistablePerson.java	2008-04-14 10:28:25 UTC (rev 608)
@@ -0,0 +1,70 @@
+package org.codehaus.waffle.example.freemarker.persister;
+
+import java.util.Date;
+
+import org.codehaus.waffle.example.freemarker.model.Person;
+
+public class PersistablePerson implements Person {
+    
+    private Long id;
+    private String firstName;
+    private String lastName;
+    private String email;
+    private Date dateOfBirth;
+
+    public PersistablePerson() {
+        id = new Long(0);
+        firstName = "";
+        lastName = "";
+        email = "";
+        dateOfBirth = new Date();
+    }
+
+    public PersistablePerson(Person person) {
+        this.id = person.getId();
+        this.firstName = person.getFirstName();
+        this.lastName = person.getLastName();
+        this.email = person.getEmail();
+        this.dateOfBirth = person.getDateOfBirth();
+    }
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public String getFirstName() {
+        return firstName;
+    }
+
+    public void setFirstName(String firstName) {
+        this.firstName = firstName;
+    }
+
+    public String getLastName() {
+        return lastName;
+    }
+
+    public void setLastName(String lastName) {
+        this.lastName = lastName;
+    }
+
+    public String getEmail() {
+        return email;
+    }
+
+    public void setEmail(String email) {
+        this.email = email;
+    }
+
+    public Date getDateOfBirth() {
+        return dateOfBirth;
+    }
+
+    public void setDateOfBirth(Date dateOfBirth) {
+        this.dateOfBirth = dateOfBirth;
+    }
+}

Modified: trunk/examples/freemarker-example/src/main/java/org/codehaus/waffle/example/freemarker/persister/SimplePersonPersister.java (607 => 608)

--- trunk/examples/freemarker-example/src/main/java/org/codehaus/waffle/example/freemarker/persister/SimplePersonPersister.java	2008-04-14 10:20:48 UTC (rev 607)
+++ trunk/examples/freemarker-example/src/main/java/org/codehaus/waffle/example/freemarker/persister/SimplePersonPersister.java	2008-04-14 10:28:25 UTC (rev 608)
@@ -22,7 +22,7 @@
     }
 
     private void addPerson(Long id, String firstName, String lastName, String email) {
-        Person person = new Person();
+        PersistablePerson person = new PersistablePerson();
         person.setId(id);
         person.setFirstName(firstName);
         person.setLastName(lastName);
@@ -32,7 +32,7 @@
 
     public Person findById(Long personId) {
         // create a copy so that edits don't propogate to the map
-        return new Person(map.get(personId));
+        return new PersistablePerson(map.get(personId));
     }
 
     public Collection<Person> findAll() {
@@ -40,10 +40,12 @@
     }
 
     public void save(Person person) {
-        if(person.getId().equals(new Long(0))) {
-            person.setId(++COUNT);
+        if ( person instanceof PersistablePerson ){            
+            if(person.getId().equals(new Long(0))) {
+                ((PersistablePerson)person).setId(++COUNT);
+            }
+            map.put(person.getId(), person);
         }
-        map.put(person.getId(), person);
     }
 
     public void delete(Long personId) {


To unsubscribe from this list please visit:

http://xircles.codehaus.org/manage_email

Reply via email to