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 514e003c3..8be97c804 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 @@ -1,11 +1,11 @@ package org.navalplanner.business.advance.entities; import java.math.BigDecimal; -import java.util.Date; import java.util.SortedSet; import java.util.TreeSet; import org.hibernate.validator.NotNull; +import org.joda.time.LocalDate; import org.navalplanner.business.common.BaseEntity; import org.navalplanner.business.orders.entities.OrderElement; @@ -106,7 +106,7 @@ public class AdvanceAssigment extends BaseEntity { AdvanceMeasurement last = advanceMeasurements.first(); for (AdvanceMeasurement advanceMeasurement : advanceMeasurements) { - Date date = advanceMeasurement.getDate(); + LocalDate date = advanceMeasurement.getDate(); if (last.getDate().compareTo(date) < 0) { last = advanceMeasurement; } 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 7f839372b..f245e4301 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 @@ -1,14 +1,14 @@ package org.navalplanner.business.advance.entities; import java.math.BigDecimal; -import java.util.Date; import org.hibernate.validator.NotNull; +import org.joda.time.LocalDate; import org.navalplanner.business.common.BaseEntity; public class AdvanceMeasurement extends BaseEntity { - public static AdvanceMeasurement create(Date date, BigDecimal value) { + public static AdvanceMeasurement create(LocalDate date, BigDecimal value) { AdvanceMeasurement advanceMeasurement = new AdvanceMeasurement(date, value); advanceMeasurement.setNewObject(true); @@ -22,7 +22,7 @@ public class AdvanceMeasurement extends BaseEntity { } @NotNull - private Date date; + private LocalDate date; @NotNull private BigDecimal value; @@ -33,17 +33,17 @@ public class AdvanceMeasurement extends BaseEntity { public AdvanceMeasurement() { } - private AdvanceMeasurement(Date date, BigDecimal value) { + private AdvanceMeasurement(LocalDate date, BigDecimal value) { this.date = date; this.value = value; this.value.setScale(2,BigDecimal.ROUND_HALF_UP); } - public void setDate(Date date) { + public void setDate(LocalDate date) { this.date = date; } - public Date getDate() { + public LocalDate getDate() { return this.date; } diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/orders/entities/OrderLineGroup.java b/navalplanner-business/src/main/java/org/navalplanner/business/orders/entities/OrderLineGroup.java index d4a06cefe..3506fb2c6 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/orders/entities/OrderLineGroup.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/orders/entities/OrderLineGroup.java @@ -3,7 +3,6 @@ package org.navalplanner.business.orders.entities; import java.math.BigDecimal; import java.util.ArrayList; import java.util.Collections; -import java.util.Date; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; @@ -14,6 +13,7 @@ import java.util.SortedSet; import java.util.TreeSet; import org.hibernate.validator.Valid; +import org.joda.time.LocalDate; import org.navalplanner.business.advance.entities.AdvanceAssigment; import org.navalplanner.business.advance.entities.AdvanceMeasurement; import org.navalplanner.business.advance.entities.AdvanceMeasurementComparator; @@ -243,7 +243,7 @@ public class OrderLineGroup extends OrderElement implements IOrderLineGroup { BigDecimal previous2 = new BigDecimal(0); BigDecimal previousResult = new BigDecimal(0); - Date date; + LocalDate date; BigDecimal add; while ((next1 != null) && (next2 != null)) { diff --git a/navalplanner-business/src/main/resources/org/navalplanner/business/advance/entities/Advance.hbm.xml b/navalplanner-business/src/main/resources/org/navalplanner/business/advance/entities/Advance.hbm.xml index a232bb2b7..920f5774e 100644 --- a/navalplanner-business/src/main/resources/org/navalplanner/business/advance/entities/Advance.hbm.xml +++ b/navalplanner-business/src/main/resources/org/navalplanner/business/advance/entities/Advance.hbm.xml @@ -57,8 +57,9 @@ - - - + + + + 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 6931c24a0..afea11c04 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 @@ -9,10 +9,10 @@ import static org.navalplanner.business.BusinessGlobalNames.BUSINESS_SPRING_CONF import static org.navalplanner.business.test.BusinessGlobalNames.BUSINESS_SPRING_CONFIG_TEST_FILE; import java.math.BigDecimal; -import java.util.Date; import org.hibernate.Session; import org.hibernate.SessionFactory; +import org.joda.time.LocalDate; import org.junit.Test; import org.junit.runner.RunWith; import org.navalplanner.business.advance.daos.IAdvanceAssigmentDAO; @@ -94,7 +94,7 @@ public class AddAdvanceAssigmentsToOrderElementTest { private AdvanceMeasurement createValidAdvanceMeasurement() { AdvanceMeasurement advanceMeasurement = AdvanceMeasurement.create( - new Date(), new BigDecimal(0)); + new LocalDate(), new BigDecimal(0)); return advanceMeasurement; } diff --git a/navalplanner-business/src/test/java/org/navalplanner/business/test/orders/entities/OrderElementTest.java b/navalplanner-business/src/test/java/org/navalplanner/business/test/orders/entities/OrderElementTest.java index b4ab09787..662b6366e 100644 --- a/navalplanner-business/src/test/java/org/navalplanner/business/test/orders/entities/OrderElementTest.java +++ b/navalplanner-business/src/test/java/org/navalplanner/business/test/orders/entities/OrderElementTest.java @@ -8,7 +8,6 @@ import static org.navalplanner.business.test.BusinessGlobalNames.BUSINESS_SPRING import java.math.BigDecimal; import java.util.ArrayList; import java.util.Collections; -import java.util.Date; import java.util.Iterator; import java.util.List; import java.util.Set; @@ -102,7 +101,7 @@ public class OrderElementTest { throws DuplicateValueTrueReportGlobalAdvanceException, DuplicateAdvanceAssigmentForOrderElementException { AdvanceMeasurement advanceMeasurement = AdvanceMeasurement.create(); - advanceMeasurement.setDate(new Date()); + advanceMeasurement.setDate(new LocalDate()); advanceMeasurement.setValue(currentValue); AdvanceAssigment advanceAssigment = givenAdvanceAssigement(maxValue, @@ -228,13 +227,11 @@ public class OrderElementTest { List children = orderElement.getChildren(); - Date one = new LocalDate(2009, 9, 1).toDateTimeAtStartOfDay() - .toDate(); - Date two = new LocalDate(2009, 9, 2).toDateTimeAtStartOfDay().toDate(); - Date three = new LocalDate(2009, 9, 3).toDateTimeAtStartOfDay() - .toDate(); - Date four = new LocalDate(2009, 9, 4).toDateTimeAtStartOfDay().toDate(); - Date five = new LocalDate(2009, 9, 5).toDateTimeAtStartOfDay().toDate(); + LocalDate one = new LocalDate(2009, 9, 1); + LocalDate two = new LocalDate(2009, 9, 2); + LocalDate three = new LocalDate(2009, 9, 3); + LocalDate four = new LocalDate(2009, 9, 4); + LocalDate five = new LocalDate(2009, 9, 5); AdvanceType advanceType = PredefinedAdvancedTypes.UNITS.getType(); @@ -287,9 +284,10 @@ public class OrderElementTest { } private void addAvanceAssigmentWithMeasurements(OrderElement orderElement, - AdvanceType advanceType, BigDecimal maxValue, Date date1, - BigDecimal value1, Date date2, BigDecimal value2, Date date3, - BigDecimal value3) + AdvanceType advanceType, BigDecimal maxValue, LocalDate date1, + BigDecimal value1, LocalDate date2, BigDecimal value2, + LocalDate five, + BigDecimal date3) throws DuplicateValueTrueReportGlobalAdvanceException, DuplicateAdvanceAssigmentForOrderElementException { AdvanceAssigment advanceAssigment = givenAdvanceAssigement(maxValue, @@ -306,8 +304,8 @@ public class OrderElementTest { advanceAssigment.getAdvanceMeasurements().add(advanceMeasurement2); AdvanceMeasurement advanceMeasurement3 = AdvanceMeasurement.create(); - advanceMeasurement3.setDate(date3); - advanceMeasurement3.setValue(value3); + advanceMeasurement3.setDate(five); + advanceMeasurement3.setValue(date3); advanceAssigment.getAdvanceMeasurements().add(advanceMeasurement3); orderElement.addAdvanceAssigment(advanceAssigment); diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/ManageOrderElementAdvancesController.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/ManageOrderElementAdvancesController.java index 991917b02..4776be225 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/ManageOrderElementAdvancesController.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/ManageOrderElementAdvancesController.java @@ -7,6 +7,7 @@ import java.math.BigDecimal; import java.util.Date; import java.util.List; +import org.joda.time.LocalDate; import org.navalplanner.business.advance.entities.AdvanceAssigment; import org.navalplanner.business.advance.entities.AdvanceMeasurement; import org.navalplanner.business.advance.entities.AdvanceType; @@ -355,13 +356,14 @@ public class ManageOrderElementAdvancesController extends Util.bind(date, new Util.Getter() { @Override public Date get() { - return advanceMeasurement.getDate(); + return advanceMeasurement.getDate() + .toDateTimeAtStartOfDay().toDate(); } }, new Util.Setter() { @Override public void set(Date value) { - advanceMeasurement.setDate(value); + advanceMeasurement.setDate(new LocalDate(value)); } }); } @@ -478,8 +480,13 @@ public class ManageOrderElementAdvancesController extends .getFirstAdvanceMeasurement(advanceAssigment); if(greatAdvanceMeasurement != null){ Listcell date = (Listcell) selectedItem.getChildren().get(4); - ((Datebox) date.getFirstChild()) - .setValue(greatAdvanceMeasurement.getDate()); + LocalDate newDate = greatAdvanceMeasurement.getDate(); + if (newDate != null) { + ((Datebox) date.getFirstChild()).setValue(newDate + .toDateTimeAtStartOfDay().toDate()); + } else { + ((Datebox) date.getFirstChild()).setValue(null); + } } } } @@ -663,13 +670,14 @@ public class ManageOrderElementAdvancesController extends @Override public Date get() { - return advanceMeasurement.getDate(); + return advanceMeasurement.getDate() + .toDateTimeAtStartOfDay().toDate(); } }, new Util.Setter() { @Override public void set(Date value) { - advanceMeasurement.setDate(value); + advanceMeasurement.setDate(new LocalDate(value)); } }); } diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/ManageOrderElementAdvancesModel.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/ManageOrderElementAdvancesModel.java index c5b8635c1..fc45ed009 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/ManageOrderElementAdvancesModel.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/ManageOrderElementAdvancesModel.java @@ -12,6 +12,7 @@ import java.util.SortedSet; import java.util.TreeSet; import org.apache.commons.lang.Validate; +import org.joda.time.LocalDate; import org.navalplanner.business.advance.daos.IAdvanceAssigmentDAO; import org.navalplanner.business.advance.daos.IAdvanceMeasurementDAO; import org.navalplanner.business.advance.daos.IAdvanceTypeDAO; @@ -155,7 +156,7 @@ public class ManageOrderElementAdvancesModel implements public void addNewLineAdvaceMeasurement() { if (this.advanceAssigment != null) { AdvanceMeasurement newMeasurement = AdvanceMeasurement.create(); - newMeasurement.setDate(new Date()); + newMeasurement.setDate(new LocalDate()); newMeasurement.setAdvanceAssigment(this.advanceAssigment); this.advanceAssigment.getAdvanceMeasurements().add(newMeasurement); } @@ -316,10 +317,10 @@ public class ManageOrderElementAdvancesModel implements return true; for (AdvanceMeasurement advanceMeasurement : advanceAssigment .getAdvanceMeasurements()) { - Date oldDate = advanceMeasurement.getDate(); + LocalDate oldDate = advanceMeasurement.getDate(); if ((oldDate != null) && (!newAdvanceMeasurement.equals(advanceMeasurement)) - && (oldDate.compareTo(value) == 0)) + && (oldDate.compareTo(new LocalDate(value)) == 0)) return false; } return true;