diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/advance/bootstrap/PredefinedAdvancedTypes.java b/navalplanner-business/src/main/java/org/navalplanner/business/advance/bootstrap/PredefinedAdvancedTypes.java index 9b61e443b..6fb6591f7 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/advance/bootstrap/PredefinedAdvancedTypes.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/advance/bootstrap/PredefinedAdvancedTypes.java @@ -24,8 +24,7 @@ public enum PredefinedAdvancedTypes { private final BigDecimal unitPrecision; public AdvanceType createType() { - return new AdvanceType(name, defaultMaxValue, false, unitPrecision, - true); + return AdvanceType.create(name, defaultMaxValue, false, unitPrecision, true); } public String getTypeName() { diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/advance/entities/AdvanceAssigment.java b/navalplanner-business/src/main/java/org/navalplanner/business/advance/entities/AdvanceAssigment.java index f01da794f..0af27a412 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/advance/entities/AdvanceAssigment.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/advance/entities/AdvanceAssigment.java @@ -9,6 +9,12 @@ import org.navalplanner.business.orders.entities.OrderElement; public class AdvanceAssigment extends BaseEntity { + public static AdvanceAssigment create() { + AdvanceAssigment advanceAssigment = new AdvanceAssigment(); + advanceAssigment.setNewObject(true); + return advanceAssigment; + } + private boolean reportGlobalAdvance; private OrderElement orderElement; @@ -17,6 +23,13 @@ public class AdvanceAssigment extends BaseEntity { private List advanceMeasurements; + /** + * Constructor for hibernate. Do not use! + */ + public AdvanceAssigment() { + + } + public AdvanceAssigment(boolean reportGlobalAdvance, BigDecimal maxValue) { this.reportGlobalAdvance = reportGlobalAdvance; } diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/advance/entities/AdvanceMeasurement.java b/navalplanner-business/src/main/java/org/navalplanner/business/advance/entities/AdvanceMeasurement.java index e5a22a135..472f1ba85 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/advance/entities/AdvanceMeasurement.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/advance/entities/AdvanceMeasurement.java @@ -7,6 +7,14 @@ import org.navalplanner.business.common.BaseEntity; public class AdvanceMeasurement extends BaseEntity { + public static AdvanceMeasurement create(Date date, BigDecimal value, + BigDecimal maxValue) { + AdvanceMeasurement advanceMeasurement = new AdvanceMeasurement(date, + value, maxValue); + advanceMeasurement.setNewObject(true); + return advanceMeasurement; + } + private Date date; private BigDecimal value; @@ -15,7 +23,14 @@ public class AdvanceMeasurement extends BaseEntity { private AdvanceAssigment advanceAssigment; - public AdvanceMeasurement(Date date, BigDecimal value, BigDecimal maxValue) { + /** + * Constructor for hibernate. Do not use! + */ + public AdvanceMeasurement() { + + } + + private AdvanceMeasurement(Date date, BigDecimal value, BigDecimal maxValue) { this.date = date; this.value = value; this.value.setScale(2); diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/advance/entities/AdvanceType.java b/navalplanner-business/src/main/java/org/navalplanner/business/advance/entities/AdvanceType.java index dffb4b61e..f874097f5 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/advance/entities/AdvanceType.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/advance/entities/AdvanceType.java @@ -13,6 +13,21 @@ import org.navalplanner.business.orders.entities.OrderElement; public class AdvanceType extends BaseEntity { + public static AdvanceType create() { + AdvanceType advanceType = new AdvanceType(); + advanceType.setNewObject(true); + return advanceType; + } + + public static AdvanceType create(String unitName, + BigDecimal defaultMaxValue, boolean updatable, + BigDecimal unitPrecision, boolean active) { + AdvanceType advanceType = new AdvanceType(unitName, defaultMaxValue, updatable, + unitPrecision, active); + advanceType.setNewObject(true); + return advanceType; + } + @NotEmpty private String unitName; @@ -20,20 +35,22 @@ public class AdvanceType extends BaseEntity { private BigDecimal defaultMaxValue; @NotNull - private boolean updatable; + private boolean updatable = true; @NotNull private BigDecimal unitPrecision; @NotNull - private boolean active; + private boolean active = true; + /** + * Constructor for hibernate. Do not use! + */ public AdvanceType() { - this.updatable = true; - this.active = true; + } - public AdvanceType(String unitName, BigDecimal defaultMaxValue, + private AdvanceType(String unitName, BigDecimal defaultMaxValue, boolean updatable, BigDecimal unitPrecision, boolean active) { this.unitName = unitName; this.defaultMaxValue = defaultMaxValue; diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/Dependency.java b/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/Dependency.java index c0fc45be9..208cf3eeb 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/Dependency.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/Dependency.java @@ -12,9 +12,10 @@ public class Dependency extends BaseEntity { END_START, START_START, END_END, START_END; } - public static Dependency createDependency(TaskElement origin, + public static Dependency create(TaskElement origin, TaskElement destination, Type type) { Dependency dependency = new Dependency(origin, destination, type); + dependency.setNewObject(true); origin.add(dependency); destination.add(dependency); return dependency; @@ -27,7 +28,7 @@ public class Dependency extends BaseEntity { private Type type; /** - * It's needed by Hibernate. DO NOT USE. + * Constructor for hibernate. Do not use! */ public Dependency() { } diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/ResourceAllocation.java b/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/ResourceAllocation.java index ebae082b4..26fe230d1 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/ResourceAllocation.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/ResourceAllocation.java @@ -26,9 +26,10 @@ public abstract class ResourceAllocation extends BaseEntity { private BigDecimal percentage = new BigDecimal(0).setScale(2); /** - * For hibernate, DO NOT USE + * Constructor for hibernate. Do not use! */ public ResourceAllocation() { + } public ResourceAllocation(Task task) { diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/SpecificResourceAllocation.java b/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/SpecificResourceAllocation.java index c7cca02de..00778549f 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/SpecificResourceAllocation.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/SpecificResourceAllocation.java @@ -20,9 +20,10 @@ public class SpecificResourceAllocation extends ResourceAllocation { private Worker worker; /** - * For hibernate, DO NOT USE + * Constructor for hibernate. Do not use! */ public SpecificResourceAllocation() { + } private SpecificResourceAllocation(Task task) { diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/Task.java b/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/Task.java index f138dceb6..533f046c5 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/Task.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/Task.java @@ -20,7 +20,9 @@ import org.navalplanner.business.resources.entities.Worker; public class Task extends TaskElement { public static Task createTask(HoursGroup hoursGroup) { - return new Task(hoursGroup); + Task task = new Task(hoursGroup); + task.setNewObject(true); + return task; } @NotNull @@ -36,7 +38,7 @@ public class Task extends TaskElement { private Set resourceAllocations = new HashSet(); /** - * For hibernate, DO NOT USE + * Constructor for hibernate. Do not use! */ public Task() { @@ -184,7 +186,7 @@ public class Task extends TaskElement { if (totalSumOfHours != getWorkHours()) throw new IllegalArgumentException( "the shares don't sum up the work hours"); - TaskGroup result = new TaskGroup(); + TaskGroup result = TaskGroup.create(); result.copyPropertiesFrom(this); result.shareOfHours = this.shareOfHours; copyParenTo(result); diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/TaskElement.java b/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/TaskElement.java index 6d09762a4..8948c21af 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/TaskElement.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/TaskElement.java @@ -57,11 +57,11 @@ public abstract class TaskElement extends BaseEntity { protected void copyDependenciesTo(TaskElement result) { for (Dependency dependency : getDependenciesWithThisOrigin()) { - Dependency.createDependency(result, dependency.getDestination(), + Dependency.create(result, dependency.getDestination(), dependency.getType()); } for (Dependency dependency : getDependenciesWithThisDestination()) { - Dependency.createDependency(dependency.getOrigin(), result, + Dependency.create(dependency.getOrigin(), result, dependency.getType()); } } diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/TaskGroup.java b/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/TaskGroup.java index e97773515..065834501 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/TaskGroup.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/TaskGroup.java @@ -13,8 +13,21 @@ import org.navalplanner.business.orders.entities.OrderLine; */ public class TaskGroup extends TaskElement { + public static TaskGroup create() { + TaskGroup taskGroup = new TaskGroup(); + taskGroup.setNewObject(true); + return taskGroup; + } + private List taskElements = new ArrayList(); + /** + * Constructor for hibernate. Do not use! + */ + public TaskGroup() { + + } + public void addTaskElement(TaskElement task) { Validate.notNull(task); task.setParent(this); diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/resources/bootstrap/CriterionsBootstrap.java b/navalplanner-business/src/main/java/org/navalplanner/business/resources/bootstrap/CriterionsBootstrap.java index 1da19c0b6..8fb31ef13 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/resources/bootstrap/CriterionsBootstrap.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/resources/bootstrap/CriterionsBootstrap.java @@ -60,7 +60,7 @@ public class CriterionsBootstrap implements ICriterionsBootstrap { private void ensureCriterionExists(String criterionName, CriterionType criterionType) { - Criterion criterion = new Criterion(criterionName, criterionType); + Criterion criterion = Criterion.create(criterionName, criterionType); if (!criterionDAO.existsByNameAndType(criterion)) { criterionDAO.save(criterion); } diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/resources/entities/Criterion.java b/navalplanner-business/src/main/java/org/navalplanner/business/resources/entities/Criterion.java index b8e82ed7e..a52a42eb0 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/resources/entities/Criterion.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/resources/entities/Criterion.java @@ -15,6 +15,18 @@ import org.navalplanner.business.common.BaseEntity; */ public class Criterion extends BaseEntity implements ICriterion { + public static Criterion create(CriterionType type) { + Criterion criterion = new Criterion(type); + criterion.setNewObject(true); + return criterion; + } + + public static Criterion create(String name, CriterionType type) { + Criterion criterion = new Criterion(name, type); + criterion.setNewObject(true); + return criterion; + } + @NotEmpty private String name; @@ -30,11 +42,11 @@ public class Criterion extends BaseEntity implements ICriterion { private Long typeId; public static Criterion ofType(CriterionType type) { - return new Criterion(type); + return create(type); } public static Criterion withNameAndType(String name, CriterionType type) { - return new Criterion(name, type); + return create(name, type); } /** @@ -43,13 +55,13 @@ public class Criterion extends BaseEntity implements ICriterion { public Criterion() { } - public Criterion(CriterionType type) { + private Criterion(CriterionType type) { Validate.notNull(type); this.type = type; } - public Criterion(String name, CriterionType type) { + private Criterion(String name, CriterionType type) { Validate.notEmpty(name); Validate.notNull(type); diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/resources/entities/CriterionSatisfaction.java b/navalplanner-business/src/main/java/org/navalplanner/business/resources/entities/CriterionSatisfaction.java index f5ce9820f..a3d895cf7 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/resources/entities/CriterionSatisfaction.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/resources/entities/CriterionSatisfaction.java @@ -26,11 +26,35 @@ public class CriterionSatisfaction extends BaseEntity { }; } + public static CriterionSatisfaction create() { + CriterionSatisfaction criterionSatisfaction = new CriterionSatisfaction(); + criterionSatisfaction.setNewObject(true); + return criterionSatisfaction; + } + + public static CriterionSatisfaction create(Date startDate, + Criterion criterion, Resource resource) { + CriterionSatisfaction criterionSatisfaction = new CriterionSatisfaction( + startDate, criterion, resource); + criterionSatisfaction.setNewObject(true); + return criterionSatisfaction; + } + + public static CriterionSatisfaction create(Criterion criterion, + Resource resource, Interval interval) { + CriterionSatisfaction criterionSatisfaction = new CriterionSatisfaction(criterion, resource, interval); + criterionSatisfaction.setNewObject(true); + return criterionSatisfaction; + } + + /** + * Constructor for hibernate. Do not use! + */ public CriterionSatisfaction() { } - public CriterionSatisfaction(Date startDate, Criterion criterion, + private CriterionSatisfaction(Date startDate, Criterion criterion, Resource resource) { Validate.notNull(startDate, "startDate must be not null"); Validate.notNull(criterion, "criterion must be not null"); @@ -40,7 +64,7 @@ public class CriterionSatisfaction extends BaseEntity { this.resource = resource; } - public CriterionSatisfaction(Criterion criterion, Resource resource, + private CriterionSatisfaction(Criterion criterion, Resource resource, Interval interval) { this(interval.getStart(), criterion, resource); if (interval.getEnd() != null) { @@ -62,7 +86,7 @@ public class CriterionSatisfaction extends BaseEntity { } public CriterionSatisfaction copy() { - CriterionSatisfaction result = new CriterionSatisfaction(); + CriterionSatisfaction result = create(); result.startDate = startDate; result.finishDate = finishDate; result.criterion = criterion; diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/resources/entities/CriterionType.java b/navalplanner-business/src/main/java/org/navalplanner/business/resources/entities/CriterionType.java index f9fa23f4a..ce2ada177 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/resources/entities/CriterionType.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/resources/entities/CriterionType.java @@ -16,6 +16,28 @@ import org.springframework.stereotype.Component; public class CriterionType extends BaseEntity implements ICriterionType { + public static CriterionType create() { + CriterionType criterionType = new CriterionType(); + criterionType.setNewObject(true); + return criterionType; + } + + public static CriterionType create(String name) { + CriterionType criterionType = new CriterionType(name); + criterionType.setNewObject(true); + return criterionType; + } + + public static CriterionType create(String name, boolean allowHierarchy, + boolean allowSimultaneousCriterionsPerResource, + boolean allowAdding, boolean allowEditing, ResourceEnum resource) { + CriterionType criterionType = new CriterionType(name, allowHierarchy, + allowSimultaneousCriterionsPerResource, allowAdding, + allowEditing, resource); + criterionType.setNewObject(true); + return criterionType; + } + @NotEmpty private String name; @@ -31,15 +53,18 @@ public class CriterionType extends BaseEntity implements private Set criterions; + /** + * Constructor for hibernate. Do not use! + */ public CriterionType() { } - public CriterionType(String name) { + private CriterionType(String name) { this.name = name; } - public CriterionType(String name, boolean allowHierarchy, + private CriterionType(String name, boolean allowHierarchy, boolean allowSimultaneousCriterionsPerResource, boolean allowAdding, boolean allowEditing, ResourceEnum resource) { @@ -52,11 +77,11 @@ public class CriterionType extends BaseEntity implements } public static CriterionType asCriterionType(ICriterionType criterionType) { - return new CriterionType(criterionType.getName(), criterionType + return create(criterionType.getName(), criterionType .allowHierarchy(), criterionType - .allowSimultaneousCriterionsPerResource(), criterionType - .allowAdding(), criterionType.allowEditing(), CriterionType - .getResource(criterionType)); + .allowSimultaneousCriterionsPerResource(), + criterionType.allowAdding(), criterionType.allowEditing(), + CriterionType.getResource(criterionType)); } private static ResourceEnum getResource(ICriterionType criterionType) { diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/resources/entities/LeaveCriterions.java b/navalplanner-business/src/main/java/org/navalplanner/business/resources/entities/LeaveCriterions.java index f6fe2f34b..b3879de7d 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/resources/entities/LeaveCriterions.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/resources/entities/LeaveCriterions.java @@ -23,8 +23,7 @@ public enum LeaveCriterions { private final String criterionName; public Criterion criterion() { - return new Criterion(criterionName, - CriterionType.asCriterionType(PredefinedCriterionTypes.LEAVE)); + return Criterion.create(criterionName, CriterionType.asCriterionType(PredefinedCriterionTypes.LEAVE)); } private LeaveCriterions(String name) { diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/resources/entities/PredefinedCriterionTypes.java b/navalplanner-business/src/main/java/org/navalplanner/business/resources/entities/PredefinedCriterionTypes.java index 34a13ebab..006bf529b 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/resources/entities/PredefinedCriterionTypes.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/resources/entities/PredefinedCriterionTypes.java @@ -95,7 +95,7 @@ public enum PredefinedCriterionTypes implements ICriterionType { @Override public Criterion createCriterion(String name) { - return new Criterion(name, CriterionType.asCriterionType(this)); + return Criterion.create(name, CriterionType.asCriterionType(this)); } @Override diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/resources/entities/Resource.java b/navalplanner-business/src/main/java/org/navalplanner/business/resources/entities/Resource.java index a30325f88..0fa3871b8 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/resources/entities/Resource.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/resources/entities/Resource.java @@ -263,8 +263,7 @@ public abstract class Resource extends BaseEntity{ private CriterionSatisfaction createNewSatisfaction(Interval interval, Criterion criterion) { - CriterionSatisfaction newSatisfaction = new CriterionSatisfaction( - criterion, this, interval); + CriterionSatisfaction newSatisfaction = CriterionSatisfaction.create(criterion, this, interval); return newSatisfaction; } diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/resources/entities/Worker.java b/navalplanner-business/src/main/java/org/navalplanner/business/resources/entities/Worker.java index 89b6f1e39..1006be081 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/resources/entities/Worker.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/resources/entities/Worker.java @@ -9,6 +9,20 @@ import org.hibernate.validator.NotEmpty; * @author Susana Montes Pedreira */ public class Worker extends Resource { + + public static Worker create() { + Worker worker = new Worker(); + worker.setNewObject(true); + return worker; + } + + public static Worker create(String firstName, String surname, String nif, + int dailyHours) { + Worker worker = new Worker(firstName, surname, nif, dailyHours); + worker.setNewObject(true); + return worker; + } + @NotEmpty private String firstName; @@ -21,10 +35,14 @@ public class Worker extends Resource { @Min(0) private int dailyHours; + /** + * Constructor for hibernate. Do not use! + */ public Worker() { + } - public Worker(String firstName, String surname, String nif, int dailyHours) { + private Worker(String firstName, String surname, String nif, int dailyHours) { this.firstName = firstName; this.surname = surname; this.nif = nif; diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/resources/entities/WorkingRelationship.java b/navalplanner-business/src/main/java/org/navalplanner/business/resources/entities/WorkingRelationship.java index d614d8674..ca892ae21 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/resources/entities/WorkingRelationship.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/resources/entities/WorkingRelationship.java @@ -23,8 +23,7 @@ public enum WorkingRelationship { private final String criterionName; public Criterion criterion() { - return new Criterion(criterionName, - CriterionType.asCriterionType(PredefinedCriterionTypes.WORK_RELATIONSHIP)); + return Criterion.create(criterionName, CriterionType.asCriterionType(PredefinedCriterionTypes.WORK_RELATIONSHIP)); } public String getCriterionName() { diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/workreports/entities/WorkReport.java b/navalplanner-business/src/main/java/org/navalplanner/business/workreports/entities/WorkReport.java index 46c5c432d..4a1742b47 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/workreports/entities/WorkReport.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/workreports/entities/WorkReport.java @@ -17,6 +17,20 @@ public class WorkReport extends BaseEntity { public static final String RESPONSIBLE = "responsible"; + public static WorkReport create() { + WorkReport workReport = new WorkReport(); + workReport.setNewObject(true); + return workReport; + } + + public static WorkReport create(Date date, String place, + WorkReportType workReportType, Set workReportLines) { + WorkReport workReport = new WorkReport(date, place, workReportType, + workReportLines); + workReport.setNewObject(true); + return workReport; + } + @NotNull private Date date; @@ -29,12 +43,14 @@ public class WorkReport extends BaseEntity { private Set workReportLines = new HashSet(); - + /** + * Constructor for hibernate. Do not use! + */ public WorkReport() { } - public WorkReport(Date date, String place, WorkReportType workReportType, + private WorkReport(Date date, String place, WorkReportType workReportType, Set workReportLines) { this.date = date; this.place = place; diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/workreports/entities/WorkReportLine.java b/navalplanner-business/src/main/java/org/navalplanner/business/workreports/entities/WorkReportLine.java index 76f485e61..a7ccba12a 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/workreports/entities/WorkReportLine.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/workreports/entities/WorkReportLine.java @@ -19,6 +19,20 @@ public class WorkReportLine extends BaseEntity { public static final String ORDER_ELEMENT = "orderElement"; + public static WorkReportLine create() { + WorkReportLine workReportLine = new WorkReportLine(); + workReportLine.setNewObject(true); + return workReportLine; + } + + public static WorkReportLine create(Integer numHours, Resource resource, + OrderElement orderElement, Set criterions) { + WorkReportLine workReportLine = new WorkReportLine(numHours, resource, + orderElement, criterions); + workReportLine.setNewObject(true); + return workReportLine; + } + private Integer numHours; @NotNull @@ -31,12 +45,14 @@ public class WorkReportLine extends BaseEntity { private Set criterions = new HashSet(); - + /** + * Constructor for hibernate. Do not use! + */ public WorkReportLine() { } - public WorkReportLine(Integer numHours, Resource resource, + private WorkReportLine(Integer numHours, Resource resource, OrderElement orderElement, Set criterions) { this.numHours = numHours; this.resource = resource; diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/workreports/entities/WorkReportType.java b/navalplanner-business/src/main/java/org/navalplanner/business/workreports/entities/WorkReportType.java index 64d9cd2e0..f318c1c5c 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/workreports/entities/WorkReportType.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/workreports/entities/WorkReportType.java @@ -12,15 +12,31 @@ import org.navalplanner.business.resources.entities.CriterionType; public class WorkReportType extends BaseEntity { + public static WorkReportType create() { + WorkReportType workReportType = new WorkReportType(); + workReportType.setNewObject(true); + return workReportType; + } + + public static WorkReportType create(String name, + Set criterionTypes) { + WorkReportType workReportType = new WorkReportType(name, criterionTypes); + workReportType.setNewObject(true); + return workReportType; + } + private String name; private Set criterionTypes = new HashSet(); + /** + * Constructor for hibernate. Do not use! + */ public WorkReportType() { } - public WorkReportType(String name, Set criterionTypes) { + private WorkReportType(String name, Set criterionTypes) { this.name = name; this.criterionTypes = criterionTypes; } diff --git a/navalplanner-business/src/test/java/org/navalplanner/business/test/advance/entities/AdvanceTypeTest.java b/navalplanner-business/src/test/java/org/navalplanner/business/test/advance/entities/AdvanceTypeTest.java index 797de24e7..820dea156 100644 --- a/navalplanner-business/src/test/java/org/navalplanner/business/test/advance/entities/AdvanceTypeTest.java +++ b/navalplanner-business/src/test/java/org/navalplanner/business/test/advance/entities/AdvanceTypeTest.java @@ -27,10 +27,9 @@ public class AdvanceTypeTest { @Test(expected = DataIntegrityViolationException.class) public void typeNameMustBeUniqueInDB() { String repeatedName = "bla"; - AdvanceType advanceType = new AdvanceType(repeatedName, new BigDecimal( + AdvanceType advanceType = AdvanceType.create(repeatedName, new BigDecimal( 5), false, new BigDecimal(1), true); - AdvanceType other = new AdvanceType(repeatedName, new BigDecimal(4), - false, new BigDecimal(2), true); + AdvanceType other = AdvanceType.create(repeatedName, new BigDecimal(4), false, new BigDecimal(2), true); dao.save(advanceType); dao.save(other); dao.flush(); diff --git a/navalplanner-business/src/test/java/org/navalplanner/business/test/orders/entities/AddAdvanceAssigmentsToOrderElementTest.java b/navalplanner-business/src/test/java/org/navalplanner/business/test/orders/entities/AddAdvanceAssigmentsToOrderElementTest.java index 8ca30f9a6..da3352023 100644 --- a/navalplanner-business/src/test/java/org/navalplanner/business/test/orders/entities/AddAdvanceAssigmentsToOrderElementTest.java +++ b/navalplanner-business/src/test/java/org/navalplanner/business/test/orders/entities/AddAdvanceAssigmentsToOrderElementTest.java @@ -86,8 +86,7 @@ public class AddAdvanceAssigmentsToOrderElementTest { private AdvanceType createValidAdvanceType(String name) { BigDecimal value = new BigDecimal(120).setScale(2); BigDecimal precision = new BigDecimal(10).setScale(4); - AdvanceType advanceType = new AdvanceType(name, value, true, precision, - true); + AdvanceType advanceType = AdvanceType.create(name, value, true, precision, true); return advanceType; } diff --git a/navalplanner-business/src/test/java/org/navalplanner/business/test/planner/daos/TaskElementDAOTest.java b/navalplanner-business/src/test/java/org/navalplanner/business/test/planner/daos/TaskElementDAOTest.java index a05657e51..e787d2d89 100644 --- a/navalplanner-business/src/test/java/org/navalplanner/business/test/planner/daos/TaskElementDAOTest.java +++ b/navalplanner-business/src/test/java/org/navalplanner/business/test/planner/daos/TaskElementDAOTest.java @@ -85,7 +85,7 @@ public class TaskElementDAOTest { } private TaskGroup createValidTaskGroup() { - TaskGroup result = new TaskGroup(); + TaskGroup result = TaskGroup.create(); OrderLine orderLine = createOrderLine(); result.setOrderElement(orderLine); return result; @@ -193,7 +193,7 @@ public class TaskElementDAOTest { } catch (InstanceNotFoundException e) { throw new RuntimeException(e); } - Dependency.createDependency(child1, oldChild2, Type.START_END); + Dependency.create(child1, oldChild2, Type.START_END); taskElementDAO.save(child1); flushAndEvict(child1); TaskElement child1Reloaded; diff --git a/navalplanner-business/src/test/java/org/navalplanner/business/test/planner/entities/DependencyTest.java b/navalplanner-business/src/test/java/org/navalplanner/business/test/planner/entities/DependencyTest.java index 32ae0b68f..ec98d87f1 100644 --- a/navalplanner-business/src/test/java/org/navalplanner/business/test/planner/entities/DependencyTest.java +++ b/navalplanner-business/src/test/java/org/navalplanner/business/test/planner/entities/DependencyTest.java @@ -24,7 +24,7 @@ public class DependencyTest { origin = TaskTest.createValidTask(); destination = TaskTest.createValidTask(); type = Type.END_START; - dependency = Dependency.createDependency(origin, destination, type); + dependency = Dependency.create(origin, destination, type); } @Test @@ -52,7 +52,7 @@ public class DependencyTest { TaskElement destination = (TaskElement) cloned[1]; Type type = (Type) cloned[2]; try { - Dependency.createDependency(origin, destination, type); + Dependency.create(origin, destination, type); fail("must send IllegalArgumentException"); } catch (IllegalArgumentException e) { // ok @@ -63,7 +63,7 @@ public class DependencyTest { @Test(expected = IllegalArgumentException.class) public void dependencyMustNotAllowTheSameOriginAndDestination() { - Dependency.createDependency(origin, origin, type); + Dependency.create(origin, origin, type); } @Test diff --git a/navalplanner-business/src/test/java/org/navalplanner/business/test/planner/entities/TaskElementTest.java b/navalplanner-business/src/test/java/org/navalplanner/business/test/planner/entities/TaskElementTest.java index fbddb823b..f57425680 100644 --- a/navalplanner-business/src/test/java/org/navalplanner/business/test/planner/entities/TaskElementTest.java +++ b/navalplanner-business/src/test/java/org/navalplanner/business/test/planner/entities/TaskElementTest.java @@ -35,7 +35,7 @@ public class TaskElementTest { public TaskElementTest() { this.taskWithOrderLine = new Task(); this.taskWithOrderLine.setOrderElement(OrderLine.create()); - this.exampleDependency = Dependency.createDependency(new Task(), + this.exampleDependency = Dependency.create(new Task(), new Task(), Type.END_START); } @@ -86,7 +86,7 @@ public class TaskElementTest { Task origin = new Task(); Task destination = new Task(); Type type = Type.START_END; - Dependency.createDependency(origin, + Dependency.create(origin, destination, type); assertThat(origin.getDependenciesWithThisOrigin().size(), equalTo(1)); assertThat(destination.getDependenciesWithThisDestination().size(), @@ -158,7 +158,7 @@ public class TaskElementTest { @Test public void splittingATaskIntoSeveralKeepsDependencies() { HoursGroup hoursGroup = new HoursGroup(); - TaskGroup root = new TaskGroup(); + TaskGroup root = TaskGroup.create(); Task taskBeingSplitted = Task.createTask(hoursGroup); root.addTaskElement(taskBeingSplitted); taskBeingSplitted.setName("prueba"); @@ -206,9 +206,9 @@ public class TaskElementTest { private void addDependenciesForChecking(TaskElement taskBeingTransformed, TaskElement sourceDependencyTask, TaskElement destinationDependencyTask) { - Dependency.createDependency(sourceDependencyTask, taskBeingTransformed, + Dependency.create(sourceDependencyTask, taskBeingTransformed, Type.END_START); - Dependency.createDependency(taskBeingTransformed, + Dependency.create(taskBeingTransformed, destinationDependencyTask, Type.END_START); } @@ -232,14 +232,14 @@ public class TaskElementTest { @Test public void aTaskGroupThatIsAssociatedToAnOrderLineGroupCannotBeMerged() { - TaskGroup taskGroup = new TaskGroup(); + TaskGroup taskGroup = TaskGroup.create(); taskGroup.setOrderElement(OrderLineGroup.create()); assertFalse(taskGroup.canBeMerged()); } @Test public void aTaskGroupWithChildrenAssociatedWithDifferentHourGroups() { - TaskGroup taskGroup = new TaskGroup(); + TaskGroup taskGroup = TaskGroup.create(); taskGroup.setOrderElement(OrderLine.create()); taskGroup.addTaskElement(Task.createTask(new HoursGroup())); taskGroup.addTaskElement(Task.createTask(new HoursGroup())); @@ -248,14 +248,14 @@ public class TaskElementTest { @Test public void aTaskGroupWithoutChildrenCannotBeMerged() { - TaskGroup taskGroup = new TaskGroup(); + TaskGroup taskGroup = TaskGroup.create(); taskGroup.setOrderElement(OrderLine.create()); assertFalse(taskGroup.canBeMerged()); } @Test public void aTaskGroupWithTasksThatExceedHoursCannotBeMerged() { - TaskGroup taskGroup = new TaskGroup(); + TaskGroup taskGroup = TaskGroup.create(); taskGroup.setOrderElement(OrderLine.create()); HoursGroup hoursGroup = new HoursGroup(); hoursGroup.setWorkingHours(10); @@ -266,7 +266,7 @@ public class TaskElementTest { @Test(expected = IllegalStateException.class) public void mergingATaskThatCannotBeMergedFails() { - TaskGroup taskGroup = new TaskGroup(); + TaskGroup taskGroup = TaskGroup.create(); taskGroup.setOrderElement(OrderLineGroup.create()); taskGroup.merge(); } @@ -360,7 +360,7 @@ public class TaskElementTest { @Test public void detachRemovesTaskFromParent() { - TaskGroup parent = new TaskGroup(); + TaskGroup parent = TaskGroup.create(); HoursGroup hoursGroup = new HoursGroup(); Task child = Task.createTask(hoursGroup); Task anotherChild = Task.createTask(hoursGroup); diff --git a/navalplanner-business/src/test/java/org/navalplanner/business/test/planner/entities/TaskGroupTest.java b/navalplanner-business/src/test/java/org/navalplanner/business/test/planner/entities/TaskGroupTest.java index a960b8249..91b1305be 100644 --- a/navalplanner-business/src/test/java/org/navalplanner/business/test/planner/entities/TaskGroupTest.java +++ b/navalplanner-business/src/test/java/org/navalplanner/business/test/planner/entities/TaskGroupTest.java @@ -17,7 +17,7 @@ import org.navalplanner.business.planner.entities.TaskGroup; * @author Óscar González Fernández */ public class TaskGroupTest { - private TaskGroup taskGroup = new TaskGroup(); + private TaskGroup taskGroup = TaskGroup.create(); @Test public void taskGroupIsAnInstanceOfTaskElement() { @@ -31,7 +31,7 @@ public class TaskGroupTest { .isEmpty()); TaskElement child1 = new Task(); taskGroup.addTaskElement(child1); - TaskGroup child2 = new TaskGroup(); + TaskGroup child2 = TaskGroup.create(); taskGroup.addTaskElement(child2); List taskElements = taskGroup.getChildren(); assertThat(taskElements.size(), equalTo(2)); diff --git a/navalplanner-business/src/test/java/org/navalplanner/business/test/resources/daos/CriterionDAOTest.java b/navalplanner-business/src/test/java/org/navalplanner/business/test/resources/daos/CriterionDAOTest.java index 043fec58d..f00e57419 100644 --- a/navalplanner-business/src/test/java/org/navalplanner/business/test/resources/daos/CriterionDAOTest.java +++ b/navalplanner-business/src/test/java/org/navalplanner/business/test/resources/daos/CriterionDAOTest.java @@ -137,7 +137,7 @@ public class CriterionDAOTest { } private Criterion anotherCriterionWithSameNameAndType(Criterion c) { - return new Criterion(c.getName(), c.getType()); + return Criterion.create(c.getName(), c.getType()); } @Test diff --git a/navalplanner-business/src/test/java/org/navalplanner/business/test/resources/daos/CriterionSatisfactionDAOTest.java b/navalplanner-business/src/test/java/org/navalplanner/business/test/resources/daos/CriterionSatisfactionDAOTest.java index 1d488e12f..876f1612e 100644 --- a/navalplanner-business/src/test/java/org/navalplanner/business/test/resources/daos/CriterionSatisfactionDAOTest.java +++ b/navalplanner-business/src/test/java/org/navalplanner/business/test/resources/daos/CriterionSatisfactionDAOTest.java @@ -61,10 +61,9 @@ public class CriterionSatisfactionDAOTest { Criterion criterion = CriterionDAOTest.createValidCriterion(); saveCriterionType(criterion); criterionDAO.save(criterion); - Worker worker = new Worker("firstname", "surname", "nif", 4); + Worker worker = Worker.create("firstname", "surname", "nif", 4); workerDAO.save(worker); - CriterionSatisfaction criterionSatisfaction = new CriterionSatisfaction( - year(year), criterion, worker); + CriterionSatisfaction criterionSatisfaction = CriterionSatisfaction.create(year(year), criterion, worker); return criterionSatisfaction; } @@ -85,9 +84,8 @@ public class CriterionSatisfactionDAOTest { public void testNotSaveWithTransientCriterionAndWorker() { Criterion criterion = CriterionDAOTest.createValidCriterion(); saveCriterionType(criterion); - Worker worker = new Worker("firstname", "surname", "nif", 4); - CriterionSatisfaction criterionSatisfaction = new CriterionSatisfaction( - year(2007), criterion, worker); + Worker worker = Worker.create("firstname", "surname", "nif", 4); + CriterionSatisfaction criterionSatisfaction = CriterionSatisfaction.create(year(2007), criterion, worker); satisfactionDAO.save(criterionSatisfaction); } diff --git a/navalplanner-business/src/test/java/org/navalplanner/business/test/resources/daos/CriterionTypeDAOTest.java b/navalplanner-business/src/test/java/org/navalplanner/business/test/resources/daos/CriterionTypeDAOTest.java index e36377f43..e57207b2c 100644 --- a/navalplanner-business/src/test/java/org/navalplanner/business/test/resources/daos/CriterionTypeDAOTest.java +++ b/navalplanner-business/src/test/java/org/navalplanner/business/test/resources/daos/CriterionTypeDAOTest.java @@ -44,7 +44,7 @@ public class CriterionTypeDAOTest { public static final String DEFAULT_CRITERION_TYPE = "TEST_DEFAULT"; public static CriterionType createValidCriterionType(String name) { - return new CriterionType(name); + return CriterionType.create(name); } public static CriterionType createValidCriterionType() { diff --git a/navalplanner-business/src/test/java/org/navalplanner/business/test/resources/entities/CriterionSatisfactionTest.java b/navalplanner-business/src/test/java/org/navalplanner/business/test/resources/entities/CriterionSatisfactionTest.java index 790058a62..adf6bf337 100644 --- a/navalplanner-business/src/test/java/org/navalplanner/business/test/resources/entities/CriterionSatisfactionTest.java +++ b/navalplanner-business/src/test/java/org/navalplanner/business/test/resources/entities/CriterionSatisfactionTest.java @@ -28,9 +28,8 @@ public class CriterionSatisfactionTest { @Test public void testFinish() { final Criterion criterion = CriterionDAOTest.createValidCriterion(); - Worker worker = new Worker("firstName", "surName", "2333232", 10); - CriterionSatisfaction criterionSatisfaction = new CriterionSatisfaction( - year(2000), criterion, worker); + Worker worker = Worker.create("firstName", "surName", "2333232", 10); + CriterionSatisfaction criterionSatisfaction = CriterionSatisfaction.create(year(2000), criterion, worker); Date end = year(2006); criterionSatisfaction.finish(end); assertTrue(criterionSatisfaction.isFinished()); @@ -43,10 +42,9 @@ public class CriterionSatisfactionTest { @Test public void canFinishWhenItStarted() throws Exception { final Criterion criterion = CriterionDAOTest.createValidCriterion(); - Worker worker = new Worker("firstName", "surName", "2333232", 10); + Worker worker = Worker.create("firstName", "surName", "2333232", 10); Date start = year(2000); - CriterionSatisfaction criterionSatisfaction = new CriterionSatisfaction( - start, criterion, worker); + CriterionSatisfaction criterionSatisfaction = CriterionSatisfaction.create(start, criterion, worker); criterionSatisfaction.finish(start); assertTrue(criterionSatisfaction.isFinished()); } @@ -54,18 +52,16 @@ public class CriterionSatisfactionTest { @Test(expected = IllegalArgumentException.class) public void testCantFinishBeforeStart() { final Criterion criterion = CriterionDAOTest.createValidCriterion(); - Worker worker = new Worker("firstName", "surName", "2333232", 10); - CriterionSatisfaction criterionSatisfaction = new CriterionSatisfaction( - year(2000), criterion, worker); + Worker worker = Worker.create("firstName", "surName", "2333232", 10); + CriterionSatisfaction criterionSatisfaction = CriterionSatisfaction.create(year(2000), criterion, worker); criterionSatisfaction.finish(year(1999)); } @Test public void testIsEnforcedAtDate() { final Criterion criterion = CriterionDAOTest.createValidCriterion(); - Worker worker = new Worker("firstName", "surName", "2333232", 10); - CriterionSatisfaction criterionSatisfaction = new CriterionSatisfaction( - year(2000), criterion, worker); + Worker worker = Worker.create("firstName", "surName", "2333232", 10); + CriterionSatisfaction criterionSatisfaction = CriterionSatisfaction.create(year(2000), criterion, worker); assertTrue(criterionSatisfaction.isEnforcedAt(year(3000))); assertTrue(criterionSatisfaction.isEnforcedAt(year(2000))); assertFalse(criterionSatisfaction.isEnforcedAt(year(1999))); @@ -81,9 +77,8 @@ public class CriterionSatisfactionTest { @Test public void testEnforcedAtSomePointInInterval() { final Criterion criterion = CriterionDAOTest.createValidCriterion(); - Worker worker = new Worker("firstName", "surName", "2333232", 10); - CriterionSatisfaction criterionSatisfaction = new CriterionSatisfaction( - year(2000), criterion, worker); + Worker worker = Worker.create("firstName", "surName", "2333232", 10); + CriterionSatisfaction criterionSatisfaction = CriterionSatisfaction.create(year(2000), criterion, worker); assertTrue(criterionSatisfaction.overlapsWith(Interval.range( year(2001), year(4000)))); assertTrue(criterionSatisfaction.overlapsWith(Interval.range( @@ -108,15 +103,14 @@ public class CriterionSatisfactionTest { @Test public void testCriterionSatisfactionsStartComparator() { final Criterion criterion = CriterionDAOTest.createValidCriterion(); - Worker worker = new Worker("firstName", "surName", "2333232", 10); + Worker worker = Worker.create("firstName", "surName", "2333232", 10); Interval[] intervals = { Interval.from(year(1000)), Interval.range(year(1100), year(9000)), Interval.point(year(1101)), Interval.from(year(1200)), Interval.range(year(3000), year(4000)) }; List orderedSatisfactions = new ArrayList(); for (Interval interval : intervals) { - orderedSatisfactions.add(new CriterionSatisfaction(criterion, - worker, interval)); + orderedSatisfactions.add(CriterionSatisfaction.create(criterion, worker, interval)); } List copy = new ArrayList( orderedSatisfactions); @@ -131,7 +125,7 @@ public class CriterionSatisfactionTest { @Test public void testGoesBeforeWithoutOverlapping() { final Criterion criterion = CriterionDAOTest.createValidCriterion(); - CriterionSatisfaction posterior = new CriterionSatisfaction(); + CriterionSatisfaction posterior = CriterionSatisfaction.create(); posterior.setCriterion(criterion); posterior.setStartDate(year(2000)); posterior.setEndDate(year(2008)); diff --git a/navalplanner-business/src/test/java/org/navalplanner/business/test/resources/entities/CriterionTest.java b/navalplanner-business/src/test/java/org/navalplanner/business/test/resources/entities/CriterionTest.java index c1a521178..536e66acc 100644 --- a/navalplanner-business/src/test/java/org/navalplanner/business/test/resources/entities/CriterionTest.java +++ b/navalplanner-business/src/test/java/org/navalplanner/business/test/resources/entities/CriterionTest.java @@ -35,8 +35,8 @@ public class CriterionTest { @Test public void testCompounding() throws Exception { - Worker worker1 = new Worker(); - Worker worker2 = new Worker(); + Worker worker1 = Worker.create(); + Worker worker2 = Worker.create(); ICriterion criterionForWorker1 = justThisResourcesCriterion(worker1); ICriterion criterionForWorker2 = justThisResourcesCriterion(worker2); @@ -63,8 +63,8 @@ public class CriterionTest { @Test public void testWorkerSatisfySeveralCriterions() { - Worker worker1 = new Worker(); - Worker worker2 = new Worker(); + Worker worker1 = Worker.create(); + Worker worker2 = Worker.create(); ICriterion criterion1 = justThisResourcesCriterion(worker1); ICriterion criterion2 = justThisResourcesCriterion(worker1); @@ -102,14 +102,14 @@ public class CriterionTest { @Test public void testEmptyMatchesAll() throws Exception { - assertTrue(build().getResult().isSatisfiedBy(new Worker())); + assertTrue(build().getResult().isSatisfiedBy(Worker.create())); } @Test public void testSimpleNegation() throws Exception { - Worker worker1 = new Worker(); - Worker worker2 = new Worker(); - Worker worker3 = new Worker(); + Worker worker1 = Worker.create(); + Worker worker2 = Worker.create(); + Worker worker3 = Worker.create(); ICriterion criterionForWorker1 = justThisResourcesCriterion(worker1); ICriterion criterionForWorker2 = justThisResourcesCriterion(worker2); ICriterion worker1Negated = not(criterionForWorker1); @@ -124,9 +124,9 @@ public class CriterionTest { @Test public void testNegateAnd() throws Exception { - Worker worker1 = new Worker(); - Worker worker2 = new Worker(); - Worker worker3 = new Worker(); + Worker worker1 = Worker.create(); + Worker worker2 = Worker.create(); + Worker worker3 = Worker.create(); ICriterion criterionForWorker1 = justThisResourcesCriterion(worker1); ICriterion both = justThisResourcesCriterion(worker1, worker2); ICriterion andNegated = not(atom(criterionForWorker1).and(both)); @@ -137,9 +137,9 @@ public class CriterionTest { @Test public void testOr() throws Exception { - Worker worker1 = new Worker(); - Worker worker2 = new Worker(); - Worker worker3 = new Worker(); + Worker worker1 = Worker.create(); + Worker worker2 = Worker.create(); + Worker worker3 = Worker.create(); ICriterion both = justThisResourcesCriterion(worker1, worker2); assertFalse(both.isSatisfiedBy(worker3)); @@ -153,9 +153,9 @@ public class CriterionTest { @Test public void testOrHasLessPrecendenceThanAnd() throws Exception { - Worker worker1 = new Worker(); - Worker worker2 = new Worker(); - Worker worker3 = new Worker(); + Worker worker1 = Worker.create(); + Worker worker2 = Worker.create(); + Worker worker3 = Worker.create(); ICriterion criterionForWorker1 = justThisResourcesCriterion(worker1); ICriterion both = justThisResourcesCriterion(worker1, worker2); diff --git a/navalplanner-business/src/test/java/org/navalplanner/business/test/resources/entities/ResourceTest.java b/navalplanner-business/src/test/java/org/navalplanner/business/test/resources/entities/ResourceTest.java index cafe00c1b..a2820185c 100644 --- a/navalplanner-business/src/test/java/org/navalplanner/business/test/resources/entities/ResourceTest.java +++ b/navalplanner-business/src/test/java/org/navalplanner/business/test/resources/entities/ResourceTest.java @@ -39,7 +39,7 @@ public class ResourceTest { Criterion other = CriterionDAOTest.createValidCriterion(); CriterionTypeBase type = createTypeThatMatches(false, criterion); CriterionTypeBase otherType = createTypeThatMatches(false, other); - Worker worker = new Worker("firstName", "surName", "2333232", 10); + Worker worker = Worker.create("firstName", "surName", "2333232", 10); assertThat(worker.getSatisfactionsFor(criterion).size(), equalTo(0)); worker.addSatisfaction(new CriterionWithItsType(type, criterion)); assertTrue(criterion.isSatisfiedBy(worker)); @@ -52,14 +52,14 @@ public class ResourceTest { @Test(expected = IllegalArgumentException.class) public void getSatisfactionsForWrongIntervalThrowsException() { - Worker worker = new Worker("firstName", "surName", "2333232", 10); + Worker worker = Worker.create("firstName", "surName", "2333232", 10); worker.query().from(CriterionDAOTest.createValidCriterion()) .enforcedInAll(Interval.range(year(2000), year(1999))).result(); } @Test(expected = IllegalArgumentException.class) public void getSatisfactionsForWrongIntervalForCriterionTypeThrowsException() { - Worker worker = new Worker("firstName", "surName", "2333232", 10); + Worker worker = Worker.create("firstName", "surName", "2333232", 10); worker.query().from(createTypeThatMatches()).enforcedInAll( Interval.range(year(2000), year(1999))).current().result(); } @@ -73,7 +73,7 @@ public class ResourceTest { criterionType, criterion); CriterionWithItsType otherCriterionWithItsType = new CriterionWithItsType( createTypeThatMatches(otherCriterion), otherCriterion); - Worker worker = new Worker("firstName", "surName", "2333232", 10); + Worker worker = Worker.create("firstName", "surName", "2333232", 10); worker.addSatisfaction(criterionWithItsType, Interval .from(CriterionSatisfactionDAOTest.year(2000))); worker.addSatisfaction(otherCriterionWithItsType, Interval @@ -94,7 +94,7 @@ public class ResourceTest { type, criterion); CriterionWithItsType otherCriterionWithItsType = new CriterionWithItsType( type, otherCriterion); - Worker worker = new Worker("firstName", "surName", "2333232", 10); + Worker worker = Worker.create("firstName", "surName", "2333232", 10); assertThat(worker.getCurrentCriterionsFor(type).size(), equalTo(0)); worker.addSatisfaction(criterionWithItsType, Interval .from(CriterionSatisfactionDAOTest.year(2000))); @@ -154,7 +154,7 @@ public class ResourceTest { CriterionWithItsType otherCriterionWithItsType = new CriterionWithItsType( createTypeThatMatches(otherCriterion), otherCriterion); - Worker worker = new Worker("firstName", "surName", "2333232", 10); + Worker worker = Worker.create("firstName", "surName", "2333232", 10); worker.addSatisfaction(criterionWithItsType, Interval .from(CriterionSatisfactionDAOTest.year(2000))); worker.addSatisfaction(criterionWithItsType, Interval @@ -186,7 +186,7 @@ public class ResourceTest { public void testAddAndRemoveSatisfactions() { Criterion criterion = CriterionDAOTest.createValidCriterion(); Criterion otherCriterion = CriterionDAOTest.createValidCriterion(); - Worker worker = new Worker("firstName", "surName", "2333232", 10); + Worker worker = Worker.create("firstName", "surName", "2333232", 10); ICriterionType criterionType = createTypeThatMatches(false, criterion, otherCriterion); assertThat(worker.getCurrentSatisfactionsFor(criterion).size(), @@ -224,7 +224,7 @@ public class ResourceTest { public void testAddAtDate() throws Exception { Criterion criterion = CriterionDAOTest.createValidCriterion(); Criterion otherCriterion = CriterionDAOTest.createValidCriterion(); - Worker worker = new Worker("firstName", "surName", "2333232", 10); + Worker worker = Worker.create("firstName", "surName", "2333232", 10); ICriterionType criterionType = createTypeThatMatches(false, criterion, otherCriterion); worker.addSatisfaction(new CriterionWithItsType(criterionType, @@ -264,7 +264,7 @@ public class ResourceTest { public void addOnlyUntilNextCriterionIsActive() { Criterion criterion = CriterionDAOTest.createValidCriterion(); Criterion otherCriterion = CriterionDAOTest.createValidCriterion(); - Worker worker = new Worker("firstName", "surName", "2333232", 10); + Worker worker = Worker.create("firstName", "surName", "2333232", 10); ICriterionType criterionType = createTypeThatMatches(false, criterion, otherCriterion); worker.addSatisfaction(new CriterionWithItsType(criterionType, @@ -283,7 +283,7 @@ public class ResourceTest { public void testCantAddOverlappingTotally() { Criterion criterion = CriterionDAOTest.createValidCriterion(); Criterion otherCriterion = CriterionDAOTest.createValidCriterion(); - Worker worker = new Worker("firstName", "surName", "2333232", 10); + Worker worker = Worker.create("firstName", "surName", "2333232", 10); ICriterionType criterionType = createTypeThatMatches(false, criterion, otherCriterion); worker.addSatisfaction(new CriterionWithItsType(criterionType, @@ -299,7 +299,7 @@ public class ResourceTest { public void testCantAddIfOverlapsPartially() { Criterion criterion = CriterionDAOTest.createValidCriterion(); Criterion otherCriterion = CriterionDAOTest.createValidCriterion(); - Worker worker = new Worker("firstName", "surName", "2333232", 10); + Worker worker = Worker.create("firstName", "surName", "2333232", 10); ICriterionType criterionType = createTypeThatMatches(false, criterion, otherCriterion); worker.addSatisfaction(new CriterionWithItsType(criterionType, @@ -315,8 +315,8 @@ public class ResourceTest { public void testCantAddWrongCriterionSatisfaction() { Criterion criterion = CriterionDAOTest.createValidCriterion(); Criterion otherCriterion = CriterionDAOTest.createValidCriterion(); - Worker worker = new Worker("firstName", "surName", "2333232", 10); - Worker other = new Worker("other", "surName", "2333232", 10); + Worker worker = Worker.create("firstName", "surName", "2333232", 10); + Worker other = Worker.create("other", "surName", "2333232", 10); ICriterionType criterionType = createTypeThatMatches(false, criterion); List wrongSatisfactions = new ArrayList(); @@ -341,7 +341,7 @@ public class ResourceTest { public void testAddCriterionSatisfaction() throws Exception { Criterion criterion = CriterionDAOTest.createValidCriterion(); - Worker worker = new Worker("firstName", "surName", "2333232", 10); + Worker worker = Worker.create("firstName", "surName", "2333232", 10); ICriterionType criterionType = createTypeThatMatches(false, criterion); CriterionSatisfaction satisfaction = createValid(criterion, worker); @@ -350,7 +350,7 @@ public class ResourceTest { } private CriterionSatisfaction createValid(Criterion criterion, Worker worker) { - CriterionSatisfaction satisfaction = new CriterionSatisfaction(); + CriterionSatisfaction satisfaction = CriterionSatisfaction.create(); satisfaction.setResource(worker); satisfaction.setStartDate(year(2000)); satisfaction.setCriterion(criterion); @@ -361,7 +361,7 @@ public class ResourceTest { @Test(expected = IllegalStateException.class) public void shouldntAdd() { Criterion criterion = CriterionDAOTest.createValidCriterion(); - Worker worker = new Worker("firstName", "surName", "2333232", 10); + Worker worker = Worker.create("firstName", "surName", "2333232", 10); ICriterionType type = new CriterionTypeBase("prueba", false, false, false, false) { diff --git a/navalplanner-business/src/test/java/org/navalplanner/business/test/workreports/daos/AbstractWorkReportTest.java b/navalplanner-business/src/test/java/org/navalplanner/business/test/workreports/daos/AbstractWorkReportTest.java index cd9870f5b..7d7ae3135 100644 --- a/navalplanner-business/src/test/java/org/navalplanner/business/test/workreports/daos/AbstractWorkReportTest.java +++ b/navalplanner-business/src/test/java/org/navalplanner/business/test/workreports/daos/AbstractWorkReportTest.java @@ -37,7 +37,7 @@ public abstract class AbstractWorkReportTest { public Set createValidCriterionTypes() { Set criterionTypes = new HashSet(); - CriterionType criterionType = new CriterionType(UUID.randomUUID() + CriterionType criterionType = CriterionType.create(UUID.randomUUID() .toString()); criterionTypeDAO.save(criterionType); criterionTypes.add(criterionType); @@ -47,11 +47,11 @@ public abstract class AbstractWorkReportTest { public WorkReportType createValidWorkReportType() { Set criterionTypes = createValidCriterionTypes(); - return new WorkReportType(UUID.randomUUID().toString(), criterionTypes); + return WorkReportType.create(UUID.randomUUID().toString(), criterionTypes); } public WorkReportLine createValidWorkReportLine() { - WorkReportLine workReportLine = new WorkReportLine(); + WorkReportLine workReportLine = WorkReportLine.create(); workReportLine.setNumHours(100); workReportLine.setResource(createValidWorker()); workReportLine.setOrderElement(createValidOrderElement()); @@ -59,7 +59,7 @@ public abstract class AbstractWorkReportTest { } private Resource createValidWorker() { - Worker worker = new Worker(); + Worker worker = Worker.create(); worker.setFirstName(UUID.randomUUID().toString()); worker.setSurname(UUID.randomUUID().toString()); worker.setNif(UUID.randomUUID().toString()); @@ -86,7 +86,7 @@ public abstract class AbstractWorkReportTest { } public WorkReport createValidWorkReport() { - WorkReport workReport = new WorkReport(); + WorkReport workReport = WorkReport.create(); workReport.setDate(new Date()); workReport.setPlace(UUID.randomUUID().toString()); diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/advance/AdvanceTypeModel.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/advance/AdvanceTypeModel.java index 938e3461c..ed6410d35 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/advance/AdvanceTypeModel.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/advance/AdvanceTypeModel.java @@ -46,7 +46,7 @@ public class AdvanceTypeModel implements IAdvanceTypeModel { @Override public void prepareForCreate() { - this.advanceType = new AdvanceType(); + this.advanceType = AdvanceType.create(); } private AdvanceType getFromDB(AdvanceType advanceType) { diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/OrderModel.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/OrderModel.java index cbf42312d..a7c07fa0b 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/OrderModel.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/OrderModel.java @@ -209,7 +209,7 @@ public class OrderModel implements IOrderModel { } private TaskGroup convertToTaskGroup(OrderLine line) { - TaskGroup result = new TaskGroup(); + TaskGroup result = TaskGroup.create(); result.setOrderElement(line); for (HoursGroup hoursGroup : line.getHoursGroups()) { result.addTaskElement(taskFrom(line, hoursGroup)); @@ -229,7 +229,7 @@ public class OrderModel implements IOrderModel { } private TaskGroup convertToTaskGroup(OrderLineGroup group) { - TaskGroup result = new TaskGroup(); + TaskGroup result = TaskGroup.create(); result.setOrderElement(group); for (OrderElement orderElement : group.getChildren()) { result.addTaskElement(convertToInitialSchedule(orderElement)); diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/TaskElementAdapter.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/TaskElementAdapter.java index 752490e18..6b89998da 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/TaskElementAdapter.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/TaskElementAdapter.java @@ -172,7 +172,7 @@ public class TaskElementAdapter implements ITaskElementAdapter { TaskElement source = dependency.getSource(); TaskElement destination = dependency.getDestination(); Type domainType = toDomainType(dependency.getType()); - Dependency.createDependency(source, destination, domainType); + Dependency.create(source, destination, domainType); } @Override diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/resources/worker/WorkRelationshipsController.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/resources/worker/WorkRelationshipsController.java index 25a912e06..2887d6148 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/resources/worker/WorkRelationshipsController.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/resources/worker/WorkRelationshipsController.java @@ -37,7 +37,7 @@ public class WorkRelationshipsController extends GenericForwardComposer { * CriterionSatisfaction(); */ - private CriterionSatisfaction satisfactionEdited = new CriterionSatisfaction(); + private CriterionSatisfaction satisfactionEdited = CriterionSatisfaction.create(); private List workCriterions; @@ -89,7 +89,7 @@ public class WorkRelationshipsController extends GenericForwardComposer { } public void prepareForCreate() { - this.satisfactionEdited = new CriterionSatisfaction(); + this.satisfactionEdited = CriterionSatisfaction.create(); this.originalSatisfaction = this.satisfactionEdited; Util.reloadBindings(containerComponent); editing = false; diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/resources/worker/WorkerModel.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/resources/worker/WorkerModel.java index f88346dd3..f4ea34e20 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/resources/worker/WorkerModel.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/resources/worker/WorkerModel.java @@ -93,7 +93,7 @@ public class WorkerModel implements IWorkerModel { @Override @Transactional(readOnly = true) public void prepareForCreate() { - worker = new Worker(); + worker = Worker.create(); localizationsAssigner = new MultipleCriterionActiveAssigner( criterionDAO, worker, PredefinedCriterionTypes.LOCATION_GROUP); @@ -331,7 +331,7 @@ public class WorkerModel implements IWorkerModel { } private CriterionSatisfaction createSatisfactionFor(Criterion criterion) { - return new CriterionSatisfaction(new Date(), criterion, resource); + return CriterionSatisfaction.create(new Date(), criterion, resource); } @Override diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/workreports/WorkReportCRUDController.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/workreports/WorkReportCRUDController.java index 53a53983e..f4ce30e4d 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/workreports/WorkReportCRUDController.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/workreports/WorkReportCRUDController.java @@ -632,7 +632,7 @@ public class WorkReportCRUDController extends GenericForwardComposer implements // Add empty option to list List criterions = new ArrayList(criterionType .getCriterions()); - criterions.add(0, new Criterion(" ", criterionType)); + criterions.add(0, Criterion.create(" ", criterionType)); // Adds a new item to list for each criterion for (Criterion criterion : criterions) { diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/workreports/WorkReportModel.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/workreports/WorkReportModel.java index 82a4fa46c..7c55d13f4 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/workreports/WorkReportModel.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/workreports/WorkReportModel.java @@ -62,7 +62,7 @@ public class WorkReportModel implements IWorkReportModel { @Transactional(readOnly = true) public void prepareForCreate(WorkReportType workReportType) { editing = false; - workReport = new WorkReport(); + workReport = WorkReport.create(); workReport.setWorkReportType(workReportType); } @@ -197,7 +197,7 @@ public class WorkReportModel implements IWorkReportModel { @Override public WorkReportLine addWorkReportLine() { - WorkReportLine workReportLine = new WorkReportLine(); + WorkReportLine workReportLine = WorkReportLine.create(); workReport.getWorkReportLines().add(workReportLine); return workReportLine; } diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/workreports/WorkReportTypeModel.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/workreports/WorkReportTypeModel.java index 8f7757ad8..93eaae5cb 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/workreports/WorkReportTypeModel.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/workreports/WorkReportTypeModel.java @@ -56,7 +56,7 @@ public class WorkReportTypeModel implements IWorkReportTypeModel { @Override public void prepareForCreate() { editing = false; - this.workReportType = new WorkReportType(); + this.workReportType = WorkReportType.create(); } @Override diff --git a/navalplanner-webapp/src/test/java/org/navalplanner/web/orders/OrderModelTest.java b/navalplanner-webapp/src/test/java/org/navalplanner/web/orders/OrderModelTest.java index eb27f6268..803cf1a4f 100644 --- a/navalplanner-webapp/src/test/java/org/navalplanner/web/orders/OrderModelTest.java +++ b/navalplanner-webapp/src/test/java/org/navalplanner/web/orders/OrderModelTest.java @@ -351,10 +351,10 @@ public class OrderModelTest { @Override public Criterion execute() { // TODO Auto-generated method stub - CriterionType criterionType = new CriterionType("test" + CriterionType criterionType = CriterionType.create("test" + UUID.randomUUID()); criterionTypeDAO.save(criterionType); - Criterion criterion = new Criterion("Test" + Criterion criterion = Criterion.create("Test" + UUID.randomUUID(), criterionType); try { criterionModel.save(criterion); diff --git a/navalplanner-webapp/src/test/java/org/navalplanner/web/resources/CriterionModelTest.java b/navalplanner-webapp/src/test/java/org/navalplanner/web/resources/CriterionModelTest.java index e88cbc42c..7ba31f7b4 100644 --- a/navalplanner-webapp/src/test/java/org/navalplanner/web/resources/CriterionModelTest.java +++ b/navalplanner-webapp/src/test/java/org/navalplanner/web/resources/CriterionModelTest.java @@ -84,7 +84,7 @@ public class CriterionModelTest { } public static CriterionType createValidCriterionType(String name) { - return new CriterionType(name); + return CriterionType.create(name); } public static CriterionType createValidCriterionType() { diff --git a/navalplanner-webapp/src/test/java/org/navalplanner/web/resources/WorkerCRUDControllerTest.java b/navalplanner-webapp/src/test/java/org/navalplanner/web/resources/WorkerCRUDControllerTest.java index ffc550881..346e9be7b 100644 --- a/navalplanner-webapp/src/test/java/org/navalplanner/web/resources/WorkerCRUDControllerTest.java +++ b/navalplanner-webapp/src/test/java/org/navalplanner/web/resources/WorkerCRUDControllerTest.java @@ -60,7 +60,7 @@ public class WorkerCRUDControllerTest { public void testSave() throws Exception { IWorkerModel workerModel = createMock(IWorkerModel.class); IMessagesForUser messagesForUser = createMock(IMessagesForUser.class); - Worker workerToReturn = new Worker(); + Worker workerToReturn = Worker.create(); WorkerCRUDController workerCRUDController = createControllerForModel( workerModel, messagesForUser); @@ -86,7 +86,7 @@ public class WorkerCRUDControllerTest { @Test public void testGoToSaveAndThenCancel() { IWorkerModel workerModel = createMock(IWorkerModel.class); - Worker workerToReturn = new Worker(); + Worker workerToReturn = Worker.create(); // expectations WorkerCRUDController workerCRUDController = createControllerForModel(workerModel); workerModel.prepareForCreate(); @@ -113,8 +113,7 @@ public class WorkerCRUDControllerTest { WorkerCRUDController workerCRUDController = createControllerForModel( workerModel, messagesForUser); List workersToReturn = new ArrayList(Arrays.asList( - new Worker("firstName", "surname", "nif", 4), new Worker( - "firstName", "surname", "nif", 4))); + Worker.create("firstName", "surname", "nif", 4), Worker.create("firstName", "surname", "nif", 4))); // expectations expect(workerModel.getWorkers()).andReturn(workersToReturn); workerModel.prepareEditFor(workersToReturn.get(0)); diff --git a/navalplanner-webapp/src/test/java/org/navalplanner/web/resources/WorkerModelTest.java b/navalplanner-webapp/src/test/java/org/navalplanner/web/resources/WorkerModelTest.java index a8a3a2d07..0e15a4c5a 100644 --- a/navalplanner-webapp/src/test/java/org/navalplanner/web/resources/WorkerModelTest.java +++ b/navalplanner-webapp/src/test/java/org/navalplanner/web/resources/WorkerModelTest.java @@ -28,7 +28,7 @@ public class WorkerModelTest { InstanceNotFoundException { IResourceDAO resourceDAOMock = createMock(IResourceDAO.class); ICriterionDAO criterionServiceMock = createMock(ICriterionDAO.class); - Worker workerToReturn = new Worker(); + Worker workerToReturn = Worker.create(); workerToReturn.setDailyHours(2); workerToReturn.setFirstName("firstName"); workerToReturn.setSurname("surname"); @@ -57,7 +57,7 @@ public class WorkerModelTest { InstanceNotFoundException { IResourceDAO resourceDAOMock = createMock(IResourceDAO.class); ICriterionDAO criterionServiceMock = createMock(ICriterionDAO.class); - Worker workerToReturn = new Worker(); + Worker workerToReturn = Worker.create(); // expectations List criterions = new ArrayList(); expect(