*/
public class ProjectParser extends Parser<Project> {
@Override
public Project parse(Element element) {
Project project = new Project();
try {
project.setId(getInt(element, "id"));
project.setName(get(element, "name"));
project.setBudget(getDecimal(element, "budget"));
project.setClientId(getInt(element, "client_id"));
project.setOwnerId(getInt(element, "owner_id"));
project.setOpenedOn(getDate(element, "opened_on"));
project.setClosedOn(getDate(element, "closed_on"));
project.setCreatedAt(getDatetime(element, "created_at"));
project.setUpdatedAt(getDatetime(element, "updated_at"));
project.setClientName(get(element, "client_name"));
project.setSumHours(getDecimal(element, "sum_hours"));
project.setUserCount(getInt(element, "user_count"));
project.addTasks(parseTasks(element));
}
catch (PropertyVetoException ex) {
throw new RuntimeException(
"PANIC! This is a new object - there should be no vetoing",
ex);