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;