blob: 4e85eb78c6f211c3a41c456972aaaf88ca39c9d9 [file] [log] [blame]
package org.apache.struts.tutorials.wildcardmethod.service;
import java.util.ArrayList;
import java.util.List;
import java.util.NoSuchElementException;
import java.util.SortedMap;
import java.util.TreeMap;
import org.apache.log4j.Logger;
import org.apache.struts.tutorials.wildcardmethod.model.Person;
public class PersonService {
//Create a Logger object
private static final Logger logger = Logger.getLogger( PersonService.class.getName() );
private static SortedMap<Integer, Person> people = new TreeMap<Integer, Person>();
static {
people.put(0, new Person(0, "Steve", "Smith") );
people.put(1, new Person(1, "Sue", "Jones") );
}
private static List<Person> personList = new ArrayList<Person>();
static{
for (Integer id : people.keySet() ) {
personList.add( people.get(id));
}
}
public static List<Person> getPersons() {
return personList;
}
public void save(Person person) {
int newId = getNewId();
person.setId( newId );
people.put( newId, person);
rebuildPersonList();
}
private int getNewId() {
int newId = 0;
try {
newId = people.lastKey() + 1;
} catch (NoSuchElementException ex) {
logger.info("Id value set to 0");
}
return newId;
}
public void update(Person person) {
Person tempPerson = people.get( person.getId() );
tempPerson.setFirstName( person.getFirstName() );
tempPerson.setLastName(person.getLastName() );
rebuildPersonList();
}
public void deletePerson(int ID) {
people.remove(ID);
rebuildPersonList();
}
public Person getPerson(int id) {
return people.get(id);
}
public static void rebuildPersonList() {
personList = new ArrayList<Person>();
for (Integer id : people.keySet() ) {
personList.add( people.get(id));
}
}
}