ItEr26S06RFControlAvancesIncompatiblesEnUnidadesTraballoItEr25S06: Using LocalDate for AdvanceMeasurement.

This commit is contained in:
Manuel Rego Casasnovas 2009-09-17 10:29:14 +02:00 committed by Javier Moran Rua
parent 6a49e776ab
commit 447f4c162c
8 changed files with 46 additions and 38 deletions

View file

@ -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;
}

View file

@ -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;
}

View file

@ -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)) {

View file

@ -57,8 +57,9 @@
</generator>
</id>
<version name="version" access="property" type="long" />
<property name="date"/>
<property name="value" scale="2"/>
<many-to-one name="advanceAssigment" class="AdvanceAssigment" column="ADVANCE_ASSIGMENT_ID" />
<property name="date" access="field" type="org.joda.time.contrib.hibernate.PersistentLocalDate" />
<property name="value" scale="2" access="field" />
<many-to-one name="advanceAssigment" class="AdvanceAssigment" column="ADVANCE_ASSIGMENT_ID" access="field" />
</class>
</hibernate-mapping>

View file

@ -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;
}

View file

@ -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<OrderElement> 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);

View file

@ -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<Date>() {
@Override
public Date get() {
return advanceMeasurement.getDate();
return advanceMeasurement.getDate()
.toDateTimeAtStartOfDay().toDate();
}
}, new Util.Setter<Date>() {
@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<Date>() {
@Override
public void set(Date value) {
advanceMeasurement.setDate(value);
advanceMeasurement.setDate(new LocalDate(value));
}
});
}

View file

@ -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;