ItEr60S04ValidacionEProbasFuncionaisItEr59S04 : Fixing bug in Order Service.
it shows the error messages when the importation is incorrect.
This commit is contained in:
parent
de9c2cd55f
commit
32af27067b
14 changed files with 144 additions and 86 deletions
|
|
@ -50,6 +50,7 @@ import org.navalplanner.ws.common.api.InstanceConstraintViolationsDTO;
|
|||
import org.navalplanner.ws.common.api.InstanceConstraintViolationsListDTO;
|
||||
import org.navalplanner.ws.common.api.OrderElementDTO;
|
||||
import org.navalplanner.ws.common.impl.ConfigurationOrderElementConverter;
|
||||
import org.navalplanner.ws.common.impl.DateConverter;
|
||||
import org.navalplanner.ws.common.impl.OrderElementConverter;
|
||||
import org.navalplanner.ws.common.impl.Util;
|
||||
import org.navalplanner.ws.subcontract.api.SubcontractedTaskDataDTO;
|
||||
|
|
@ -211,8 +212,10 @@ public class SubcontractedTasksModel implements ISubcontractedTasksModel {
|
|||
|
||||
private void overrideDateInformationForRootNode(
|
||||
OrderElementDTO orderElementDTO, Task task) {
|
||||
orderElementDTO.initDate = task.getStartDate();
|
||||
orderElementDTO.deadline = task.getEndDate();
|
||||
orderElementDTO.initDate = DateConverter.toXMLGregorianCalendar(task
|
||||
.getStartDate());
|
||||
orderElementDTO.deadline = DateConverter.toXMLGregorianCalendar(task
|
||||
.getEndDate());
|
||||
}
|
||||
|
||||
private ConfigurationOrderElementConverter getConfiguration(
|
||||
|
|
|
|||
|
|
@ -21,9 +21,9 @@
|
|||
package org.navalplanner.ws.common.api;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
import javax.xml.bind.annotation.XmlAttribute;
|
||||
import javax.xml.datatype.XMLGregorianCalendar;
|
||||
|
||||
import org.navalplanner.business.advance.entities.AdvanceMeasurement;
|
||||
|
||||
|
|
@ -35,7 +35,7 @@ import org.navalplanner.business.advance.entities.AdvanceMeasurement;
|
|||
public class AdvanceMeasurementDTO {
|
||||
|
||||
@XmlAttribute
|
||||
public Date date;
|
||||
public XMLGregorianCalendar date;
|
||||
|
||||
@XmlAttribute
|
||||
public BigDecimal value;
|
||||
|
|
@ -43,7 +43,7 @@ public class AdvanceMeasurementDTO {
|
|||
public AdvanceMeasurementDTO() {
|
||||
}
|
||||
|
||||
public AdvanceMeasurementDTO(Date date, BigDecimal value) {
|
||||
public AdvanceMeasurementDTO(XMLGregorianCalendar date, BigDecimal value) {
|
||||
this.date = date;
|
||||
this.value = value;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -21,9 +21,9 @@
|
|||
package org.navalplanner.ws.common.api;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
import javax.xml.bind.annotation.XmlAttribute;
|
||||
import javax.xml.datatype.XMLGregorianCalendar;
|
||||
|
||||
import org.navalplanner.business.materials.entities.MaterialAssignment;
|
||||
|
||||
|
|
@ -44,13 +44,13 @@ public class MaterialAssignmentDTO {
|
|||
public BigDecimal unitPrice;
|
||||
|
||||
@XmlAttribute(name = "estimated-availability")
|
||||
public Date estimatedAvailability;
|
||||
public XMLGregorianCalendar estimatedAvailability;
|
||||
|
||||
public MaterialAssignmentDTO() {
|
||||
}
|
||||
|
||||
public MaterialAssignmentDTO(String materialCode, Double units,
|
||||
BigDecimal unitPrice, Date estimatedAvailability) {
|
||||
BigDecimal unitPrice, XMLGregorianCalendar estimatedAvailability) {
|
||||
this.materialCode = materialCode;
|
||||
this.units = units;
|
||||
this.unitPrice = unitPrice;
|
||||
|
|
|
|||
|
|
@ -20,11 +20,11 @@
|
|||
|
||||
package org.navalplanner.ws.common.api;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
import javax.xml.bind.annotation.XmlAttribute;
|
||||
import javax.xml.datatype.XMLGregorianCalendar;
|
||||
|
||||
import org.navalplanner.business.orders.entities.Order;
|
||||
|
||||
|
|
@ -48,7 +48,8 @@ public class OrderDTO extends OrderLineGroupDTO {
|
|||
super();
|
||||
}
|
||||
|
||||
public OrderDTO(String name, String code, Date initDate, Date deadline,
|
||||
public OrderDTO(String name, String code, XMLGregorianCalendar initDate,
|
||||
XMLGregorianCalendar deadline,
|
||||
String description, Set<LabelReferenceDTO> labels,
|
||||
Set<MaterialAssignmentDTO> materialAssignments,
|
||||
Set<AdvanceMeasurementDTO> advanceMeasurements,
|
||||
|
|
|
|||
|
|
@ -20,7 +20,6 @@
|
|||
|
||||
package org.navalplanner.ws.common.api;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
|
|
@ -28,6 +27,7 @@ import javax.xml.bind.annotation.XmlAttribute;
|
|||
import javax.xml.bind.annotation.XmlElement;
|
||||
import javax.xml.bind.annotation.XmlElementWrapper;
|
||||
import javax.xml.bind.annotation.XmlElements;
|
||||
import javax.xml.datatype.XMLGregorianCalendar;
|
||||
|
||||
import org.navalplanner.business.orders.entities.OrderElement;
|
||||
|
||||
|
|
@ -45,10 +45,10 @@ public class OrderElementDTO extends IntegrationEntityDTO {
|
|||
public String name;
|
||||
|
||||
@XmlAttribute(name = "init-date")
|
||||
public Date initDate;
|
||||
public XMLGregorianCalendar initDate;
|
||||
|
||||
@XmlAttribute
|
||||
public Date deadline;
|
||||
public XMLGregorianCalendar deadline;
|
||||
|
||||
@XmlAttribute
|
||||
public String description;
|
||||
|
|
@ -74,8 +74,9 @@ public class OrderElementDTO extends IntegrationEntityDTO {
|
|||
public OrderElementDTO() {
|
||||
}
|
||||
|
||||
public OrderElementDTO(String name, String code, Date initDate,
|
||||
Date deadline, String description, Set<LabelReferenceDTO> labels,
|
||||
public OrderElementDTO(String name, String code,
|
||||
XMLGregorianCalendar initDate, XMLGregorianCalendar deadline,
|
||||
String description, Set<LabelReferenceDTO> labels,
|
||||
Set<MaterialAssignmentDTO> materialAssignments,
|
||||
Set<AdvanceMeasurementDTO> advanceMeasurements,
|
||||
Set<CriterionRequirementDTO> criterionRequirements) {
|
||||
|
|
|
|||
|
|
@ -20,13 +20,13 @@
|
|||
|
||||
package org.navalplanner.ws.common.api;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
import javax.xml.bind.annotation.XmlElement;
|
||||
import javax.xml.bind.annotation.XmlElementWrapper;
|
||||
import javax.xml.bind.annotation.XmlRootElement;
|
||||
import javax.xml.datatype.XMLGregorianCalendar;
|
||||
|
||||
import org.navalplanner.business.orders.entities.OrderLine;
|
||||
|
||||
|
|
@ -46,7 +46,8 @@ public class OrderLineDTO extends OrderElementDTO {
|
|||
super();
|
||||
}
|
||||
|
||||
public OrderLineDTO(String name, String code, Date initDate, Date deadline,
|
||||
public OrderLineDTO(String name, String code,
|
||||
XMLGregorianCalendar initDate, XMLGregorianCalendar deadline,
|
||||
String description, Set<LabelReferenceDTO> labels,
|
||||
Set<MaterialAssignmentDTO> materialAssignments,
|
||||
Set<AdvanceMeasurementDTO> advanceMeasurements,
|
||||
|
|
|
|||
|
|
@ -21,7 +21,6 @@
|
|||
package org.navalplanner.ws.common.api;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
|
|
@ -29,6 +28,7 @@ import javax.xml.bind.annotation.XmlElement;
|
|||
import javax.xml.bind.annotation.XmlElementWrapper;
|
||||
import javax.xml.bind.annotation.XmlElements;
|
||||
import javax.xml.bind.annotation.XmlRootElement;
|
||||
import javax.xml.datatype.XMLGregorianCalendar;
|
||||
|
||||
import org.navalplanner.business.orders.entities.OrderLineGroup;
|
||||
|
||||
|
|
@ -51,8 +51,9 @@ public class OrderLineGroupDTO extends OrderElementDTO {
|
|||
super();
|
||||
}
|
||||
|
||||
public OrderLineGroupDTO(String name, String code, Date initDate,
|
||||
Date deadline, String description, Set<LabelReferenceDTO> labels,
|
||||
public OrderLineGroupDTO(String name, String code,
|
||||
XMLGregorianCalendar initDate, XMLGregorianCalendar deadline,
|
||||
String description, Set<LabelReferenceDTO> labels,
|
||||
Set<MaterialAssignmentDTO> materialAssignments,
|
||||
Set<AdvanceMeasurementDTO> advanceMeasurements,
|
||||
Set<CriterionRequirementDTO> criterionRequirements,
|
||||
|
|
|
|||
|
|
@ -29,6 +29,9 @@ import java.util.Date;
|
|||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
|
||||
import javax.xml.datatype.XMLGregorianCalendar;
|
||||
|
||||
import org.apache.commons.lang.Validate;
|
||||
import org.joda.time.LocalDate;
|
||||
|
|
@ -85,8 +88,10 @@ public final class OrderElementConverter {
|
|||
ConfigurationOrderElementConverter configuration) {
|
||||
String name = orderElement.getName();
|
||||
String code = orderElement.getCode();
|
||||
Date initDate = orderElement.getInitDate();
|
||||
Date deadline = orderElement.getDeadline();
|
||||
XMLGregorianCalendar initDate = DateConverter
|
||||
.toXMLGregorianCalendar(orderElement.getInitDate());
|
||||
XMLGregorianCalendar deadline = DateConverter
|
||||
.toXMLGregorianCalendar(orderElement.getDeadline());
|
||||
String description = orderElement.getDescription();
|
||||
|
||||
Set<LabelReferenceDTO> labels = new HashSet<LabelReferenceDTO>();
|
||||
|
|
@ -196,17 +201,21 @@ public final class OrderElementConverter {
|
|||
value = advanceMeasurement.getValue().divide(maxValue,
|
||||
RoundingMode.DOWN);
|
||||
}
|
||||
Date date = advanceMeasurement.getDate().toDateTimeAtStartOfDay()
|
||||
.toDate();
|
||||
|
||||
XMLGregorianCalendar date = DateConverter
|
||||
.toXMLGregorianCalendar(advanceMeasurement.getDate());
|
||||
return new AdvanceMeasurementDTO(date, value);
|
||||
}
|
||||
|
||||
public final static MaterialAssignmentDTO toDTO(
|
||||
MaterialAssignment materialAssignment) {
|
||||
|
||||
XMLGregorianCalendar estimatedAvailability = DateConverter
|
||||
.toXMLGregorianCalendar(materialAssignment
|
||||
.getEstimatedAvailability());
|
||||
|
||||
return new MaterialAssignmentDTO(materialAssignment.getMaterial()
|
||||
.getCode(), materialAssignment.getUnits(), materialAssignment
|
||||
.getUnitPrice(), materialAssignment.getEstimatedAvailability());
|
||||
.getUnitPrice(), estimatedAvailability);
|
||||
}
|
||||
|
||||
public final static HoursGroupDTO toDTO(HoursGroup hoursGroup,
|
||||
|
|
@ -281,9 +290,13 @@ public final class OrderElementConverter {
|
|||
DirectCriterionRequirement directCriterionRequirement = getDirectCriterionRequirementByCriterion(
|
||||
criterionRequirable, criterion);
|
||||
if (directCriterionRequirement == null) {
|
||||
criterionRequirable
|
||||
try {
|
||||
criterionRequirable
|
||||
.addCriterionRequirement(DirectCriterionRequirement
|
||||
.create(criterion));
|
||||
} catch (IllegalStateException e) {
|
||||
throw new ValidationException(e.getMessage());
|
||||
}
|
||||
}
|
||||
} else { // criterionRequirementDTO instanceof
|
||||
// IndirectCriterionRequirementDTO
|
||||
|
|
@ -296,6 +309,16 @@ public final class OrderElementConverter {
|
|||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (criterionRequirementDTO.name == null
|
||||
|| criterionRequirementDTO.type == null) {
|
||||
throw new ValidationException(
|
||||
"the criterion format is incorrect");
|
||||
} else {
|
||||
throw new ValidationException("the criterion "
|
||||
+ criterionRequirementDTO.name + " which type is "
|
||||
+ criterionRequirementDTO.type + " not found");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -339,7 +362,6 @@ public final class OrderElementConverter {
|
|||
&& (!((OrderLineDTO) orderElementDTO).hoursGroups.isEmpty())) {
|
||||
orderElement = OrderLine
|
||||
.createUnvalidated(orderElementDTO.code);
|
||||
|
||||
for (HoursGroupDTO hoursGroupDTO : ((OrderLineDTO) orderElementDTO).hoursGroups) {
|
||||
HoursGroup hoursGroup = toEntity(hoursGroupDTO,
|
||||
configuration);
|
||||
|
|
@ -349,6 +371,10 @@ public final class OrderElementConverter {
|
|||
orderElement = OrderLine
|
||||
.createUnvalidatedWithUnfixedPercentage(
|
||||
orderElementDTO.code, 0);
|
||||
if (!orderElement.getHoursGroups().isEmpty()) {
|
||||
orderElement.getHoursGroups().get(0).setCode(
|
||||
UUID.randomUUID().toString());
|
||||
}
|
||||
}
|
||||
} else { // orderElementDTO instanceof OrderLineGroupDTO
|
||||
|
||||
|
|
@ -387,8 +413,10 @@ public final class OrderElementConverter {
|
|||
|
||||
orderElement.setName(orderElementDTO.name);
|
||||
orderElement.setCode(orderElementDTO.code);
|
||||
orderElement.setInitDate(orderElementDTO.initDate);
|
||||
orderElement.setDeadline(orderElementDTO.deadline);
|
||||
orderElement
|
||||
.setInitDate(DateConverter.toDate(orderElementDTO.initDate));
|
||||
orderElement
|
||||
.setDeadline(DateConverter.toDate(orderElementDTO.deadline));
|
||||
orderElement.setDescription(orderElementDTO.description);
|
||||
|
||||
if (configuration.isLabels()) {
|
||||
|
|
@ -457,6 +485,7 @@ public final class OrderElementConverter {
|
|||
*/
|
||||
material.validate();
|
||||
Registry.getMaterialDAO().save(material);
|
||||
material.dontPoseAsTransientObjectAnymore();
|
||||
}
|
||||
|
||||
MaterialAssignment materialAssignment = MaterialAssignment
|
||||
|
|
@ -465,8 +494,11 @@ public final class OrderElementConverter {
|
|||
.setUnitsWithoutNullCheck(materialAssignmentDTO.units);
|
||||
materialAssignment
|
||||
.setUnitPriceWithoutNullCheck(materialAssignmentDTO.unitPrice);
|
||||
materialAssignment
|
||||
.setEstimatedAvailability(materialAssignmentDTO.estimatedAvailability);
|
||||
|
||||
Date estimatedAvailability = DateConverter
|
||||
.toDate(materialAssignmentDTO.estimatedAvailability);
|
||||
materialAssignment.setEstimatedAvailability(estimatedAvailability);
|
||||
|
||||
return materialAssignment;
|
||||
}
|
||||
|
||||
|
|
@ -576,10 +608,13 @@ public final class OrderElementConverter {
|
|||
for (LabelReferenceDTO labelDTO : orderElementDTO.labels) {
|
||||
if (!orderElement.containsLabel(labelDTO.code)) {
|
||||
try {
|
||||
orderElement.addLabel(LabelReferenceConverter.toEntity(labelDTO));
|
||||
orderElement.addLabel(LabelReferenceConverter
|
||||
.toEntity(labelDTO));
|
||||
} catch (InstanceNotFoundException e) {
|
||||
throw new ValidationException("Label " + labelDTO.code
|
||||
+ " not found");
|
||||
} catch (IllegalArgumentException e) {
|
||||
throw new ValidationException(e.getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -609,11 +644,13 @@ public final class OrderElementConverter {
|
|||
}
|
||||
|
||||
if (orderElementDTO.initDate != null) {
|
||||
orderElement.setInitDate(orderElementDTO.initDate);
|
||||
orderElement.setInitDate(DateConverter
|
||||
.toDate(orderElementDTO.initDate));
|
||||
}
|
||||
|
||||
if (orderElementDTO.deadline != null) {
|
||||
orderElement.setDeadline(orderElementDTO.deadline);
|
||||
orderElement.setDeadline(DateConverter
|
||||
.toDate(orderElementDTO.deadline));
|
||||
}
|
||||
|
||||
if (orderElementDTO.description != null) {
|
||||
|
|
@ -655,8 +692,9 @@ public final class OrderElementConverter {
|
|||
materialAssignment.setUnitPrice(materialAssignmentDTO.unitPrice);
|
||||
}
|
||||
if (materialAssignmentDTO.estimatedAvailability != null) {
|
||||
materialAssignment
|
||||
.setEstimatedAvailability(materialAssignmentDTO.estimatedAvailability);
|
||||
Date estimatedAvailability = DateConverter
|
||||
.toDate(materialAssignmentDTO.estimatedAvailability);
|
||||
materialAssignment.setEstimatedAvailability(estimatedAvailability);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -669,7 +707,8 @@ public final class OrderElementConverter {
|
|||
AdvanceMeasurement advanceMeasurement = null;
|
||||
LocalDate date = null;
|
||||
if (advanceMeasurementDTO.date != null) {
|
||||
date = new LocalDate(advanceMeasurementDTO.date);
|
||||
date = new LocalDate(DateConverter
|
||||
.toLocalDate(advanceMeasurementDTO.date));
|
||||
advanceMeasurement = directAdvanceAssignment
|
||||
.getAdvanceMeasurementAtExactDate(date);
|
||||
}
|
||||
|
|
@ -709,17 +748,17 @@ public final class OrderElementConverter {
|
|||
|
||||
public static AdvanceMeasurement toEntity(
|
||||
AdvanceMeasurementDTO advanceMeasurementDTO) {
|
||||
AdvanceMeasurement advanceMeasurement = AdvanceMeasurement.create(
|
||||
LocalDate
|
||||
.fromDateFields(advanceMeasurementDTO.date),
|
||||
LocalDate date = DateConverter.toLocalDate(advanceMeasurementDTO.date);
|
||||
AdvanceMeasurement advanceMeasurement = AdvanceMeasurement.create(date,
|
||||
advanceMeasurementDTO.value);
|
||||
return advanceMeasurement;
|
||||
}
|
||||
|
||||
public static AdvanceMeasurementDTO toDTO(
|
||||
AdvanceMeasurement advanceMeasurement) {
|
||||
return new AdvanceMeasurementDTO(advanceMeasurement.getDate()
|
||||
.toDateTimeAtStartOfDay().toDate(), advanceMeasurement
|
||||
XMLGregorianCalendar date = DateConverter
|
||||
.toXMLGregorianCalendar(advanceMeasurement.getDate());
|
||||
return new AdvanceMeasurementDTO(date, advanceMeasurement
|
||||
.getValue());
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -31,7 +31,6 @@ import javax.ws.rs.Path;
|
|||
import javax.ws.rs.Produces;
|
||||
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.joda.time.LocalDate;
|
||||
import org.navalplanner.business.advance.bootstrap.PredefinedAdvancedTypes;
|
||||
import org.navalplanner.business.advance.entities.AdvanceMeasurement;
|
||||
import org.navalplanner.business.advance.entities.DirectAdvanceAssignment;
|
||||
|
|
@ -47,6 +46,7 @@ import org.navalplanner.ws.common.api.AdvanceMeasurementDTO;
|
|||
import org.navalplanner.ws.common.api.InstanceConstraintViolationsDTO;
|
||||
import org.navalplanner.ws.common.api.InstanceConstraintViolationsListDTO;
|
||||
import org.navalplanner.ws.common.impl.ConstraintViolationConverter;
|
||||
import org.navalplanner.ws.common.impl.DateConverter;
|
||||
import org.navalplanner.ws.common.impl.OrderElementConverter;
|
||||
import org.navalplanner.ws.common.impl.Util;
|
||||
import org.navalplanner.ws.subcontract.api.IReportAdvancesService;
|
||||
|
|
@ -148,8 +148,8 @@ public class ReportAdvancesServiceREST implements IReportAdvancesService {
|
|||
|
||||
for (AdvanceMeasurementDTO advanceMeasurementDTO : orderElementWithAdvanceMeasurementsDTO.advanceMeasurements) {
|
||||
AdvanceMeasurement advanceMeasurement = advanceAssignmentSubcontractor
|
||||
.getAdvanceMeasurement(LocalDate
|
||||
.fromDateFields(advanceMeasurementDTO.date));
|
||||
.getAdvanceMeasurement(DateConverter
|
||||
.toLocalDate(advanceMeasurementDTO.date));
|
||||
if (advanceMeasurement == null) {
|
||||
advanceAssignmentSubcontractor
|
||||
.addAdvanceMeasurements(OrderElementConverter
|
||||
|
|
|
|||
|
|
@ -138,7 +138,6 @@ public class ScenarioModelTest {
|
|||
order.add(orderLine);
|
||||
orderLine.setCode(UUID.randomUUID().toString());
|
||||
orderLine.setName("order-line-name");
|
||||
|
||||
orderDAO.save(order);
|
||||
orderDAO.flush();
|
||||
sessionFactory.getCurrentSession().evict(order);
|
||||
|
|
|
|||
|
|
@ -85,6 +85,7 @@ import org.navalplanner.ws.common.api.OrderDTO;
|
|||
import org.navalplanner.ws.common.api.OrderLineDTO;
|
||||
import org.navalplanner.ws.common.api.OrderLineGroupDTO;
|
||||
import org.navalplanner.ws.common.api.ResourceEnumDTO;
|
||||
import org.navalplanner.ws.common.impl.DateConverter;
|
||||
import org.navalplanner.ws.orders.api.IOrderElementService;
|
||||
import org.navalplanner.ws.orders.api.OrderListDTO;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
|
@ -252,7 +253,7 @@ public class OrderElementServiceTest {
|
|||
int previous = orderDAO.getOrders().size();
|
||||
|
||||
OrderDTO orderDTO = new OrderDTO();
|
||||
orderDTO.initDate = new Date();
|
||||
orderDTO.initDate = DateConverter.toXMLGregorianCalendar(new Date());
|
||||
|
||||
OrderListDTO orderListDTO = createOrderListDTO(orderDTO);
|
||||
List<InstanceConstraintViolationsDTO> instanceConstraintViolationsList = orderElementService
|
||||
|
|
@ -278,7 +279,7 @@ public class OrderElementServiceTest {
|
|||
OrderDTO orderDTO = new OrderDTO();
|
||||
orderDTO.name = "Order name " + UUID.randomUUID().toString();
|
||||
orderDTO.code = code;
|
||||
orderDTO.initDate = new Date();
|
||||
orderDTO.initDate = DateConverter.toXMLGregorianCalendar(new Date());
|
||||
|
||||
OrderListDTO orderListDTO = createOrderListDTO(orderDTO);
|
||||
List<InstanceConstraintViolationsDTO> instanceConstraintViolationsList = orderElementService
|
||||
|
|
@ -296,7 +297,7 @@ public class OrderElementServiceTest {
|
|||
OrderDTO orderDTO = new OrderDTO();
|
||||
orderDTO.name = "Order name " + UUID.randomUUID().toString();
|
||||
orderDTO.code = "order-code " + UUID.randomUUID().toString();
|
||||
orderDTO.initDate = new Date();
|
||||
orderDTO.initDate = DateConverter.toXMLGregorianCalendar(new Date());
|
||||
|
||||
OrderLineDTO orderLineDTO = new OrderLineDTO();
|
||||
orderDTO.children.add(orderLineDTO);
|
||||
|
|
@ -308,9 +309,8 @@ public class OrderElementServiceTest {
|
|||
|
||||
List<ConstraintViolationDTO> constraintViolations = instanceConstraintViolationsList
|
||||
.get(0).constraintViolations;
|
||||
// Mandatory fields: code,infoComponent.code, infoComponent.name, hours
|
||||
// group code.
|
||||
assertThat(constraintViolations.size(), equalTo(4));
|
||||
// Mandatory fields: code,infoComponent.code, infoComponent.name.
|
||||
assertThat(constraintViolations.size(), equalTo(3));
|
||||
|
||||
assertThat(orderDAO.getOrders().size(), equalTo(previous));
|
||||
}
|
||||
|
|
@ -322,7 +322,7 @@ public class OrderElementServiceTest {
|
|||
OrderDTO orderDTO = new OrderDTO();
|
||||
orderDTO.name = "Order name " + UUID.randomUUID().toString();
|
||||
orderDTO.code = "order-code " + UUID.randomUUID().toString();
|
||||
orderDTO.initDate = new Date();
|
||||
orderDTO.initDate = DateConverter.toXMLGregorianCalendar(new Date());
|
||||
|
||||
OrderLineDTO orderLineDTO = new OrderLineDTO();
|
||||
orderLineDTO.name = "Order line " + UUID.randomUUID().toString();
|
||||
|
|
@ -356,7 +356,7 @@ public class OrderElementServiceTest {
|
|||
OrderDTO orderDTO = new OrderDTO();
|
||||
orderDTO.name = "Order name " + UUID.randomUUID().toString();
|
||||
orderDTO.code = code;
|
||||
orderDTO.initDate = new Date();
|
||||
orderDTO.initDate = DateConverter.toXMLGregorianCalendar(new Date());
|
||||
|
||||
OrderLineDTO orderLineDTO = new OrderLineDTO();
|
||||
orderLineDTO.name = "Order line " + UUID.randomUUID().toString();
|
||||
|
|
@ -387,7 +387,7 @@ public class OrderElementServiceTest {
|
|||
OrderDTO orderDTO = new OrderDTO();
|
||||
orderDTO.name = "Order name " + UUID.randomUUID().toString();
|
||||
orderDTO.code = "order-code " + UUID.randomUUID().toString();
|
||||
orderDTO.initDate = new Date();
|
||||
orderDTO.initDate = DateConverter.toXMLGregorianCalendar(new Date());
|
||||
|
||||
OrderLineGroupDTO orderLineGroupDTO = new OrderLineGroupDTO();
|
||||
orderDTO.children.add(orderLineGroupDTO);
|
||||
|
|
@ -414,7 +414,7 @@ public class OrderElementServiceTest {
|
|||
OrderDTO orderDTO = new OrderDTO();
|
||||
orderDTO.name = "Order name " + UUID.randomUUID().toString();
|
||||
orderDTO.code = "order-code " + UUID.randomUUID().toString();
|
||||
orderDTO.initDate = new Date();
|
||||
orderDTO.initDate = DateConverter.toXMLGregorianCalendar(new Date());
|
||||
|
||||
OrderLineGroupDTO orderLineGroupDTO = new OrderLineGroupDTO();
|
||||
orderLineGroupDTO.name = "Order line group "
|
||||
|
|
@ -444,7 +444,7 @@ public class OrderElementServiceTest {
|
|||
OrderDTO orderDTO = new OrderDTO();
|
||||
orderDTO.name = "Order name " + UUID.randomUUID().toString();
|
||||
orderDTO.code = code;
|
||||
orderDTO.initDate = new Date();
|
||||
orderDTO.initDate = DateConverter.toXMLGregorianCalendar(new Date());
|
||||
|
||||
OrderLineGroupDTO orderLineGroupDTO = new OrderLineGroupDTO();
|
||||
orderLineGroupDTO.name = "Order line group "
|
||||
|
|
@ -484,7 +484,7 @@ public class OrderElementServiceTest {
|
|||
OrderDTO orderDTO = new OrderDTO();
|
||||
orderDTO.name = "Order name " + UUID.randomUUID().toString();
|
||||
orderDTO.code = "order-code " + UUID.randomUUID().toString();
|
||||
orderDTO.initDate = new Date();
|
||||
orderDTO.initDate = DateConverter.toXMLGregorianCalendar(new Date());
|
||||
|
||||
MaterialAssignmentDTO materialAssignmentDTO = new MaterialAssignmentDTO();
|
||||
orderDTO.materialAssignments.add(materialAssignmentDTO);
|
||||
|
|
@ -510,7 +510,7 @@ public class OrderElementServiceTest {
|
|||
OrderDTO orderDTO = new OrderDTO();
|
||||
orderDTO.name = "Order name " + UUID.randomUUID().toString();
|
||||
orderDTO.code = "order-code " + UUID.randomUUID().toString();
|
||||
orderDTO.initDate = new Date();
|
||||
orderDTO.initDate = DateConverter.toXMLGregorianCalendar(new Date());
|
||||
|
||||
MaterialAssignmentDTO materialAssignmentDTO = new MaterialAssignmentDTO();
|
||||
materialAssignmentDTO.materialCode = "material-code "
|
||||
|
|
@ -541,7 +541,7 @@ public class OrderElementServiceTest {
|
|||
OrderDTO orderDTO = new OrderDTO();
|
||||
orderDTO.name = "Order name " + UUID.randomUUID().toString();
|
||||
orderDTO.code = code;
|
||||
orderDTO.initDate = new Date();
|
||||
orderDTO.initDate = DateConverter.toXMLGregorianCalendar(new Date());
|
||||
|
||||
MaterialAssignmentDTO materialAssignmentDTO = new MaterialAssignmentDTO();
|
||||
materialAssignmentDTO.materialCode = "material-code "
|
||||
|
|
@ -571,7 +571,7 @@ public class OrderElementServiceTest {
|
|||
OrderDTO orderDTO = new OrderDTO();
|
||||
orderDTO.name = "Order name " + UUID.randomUUID().toString();
|
||||
orderDTO.code = "order-code " + UUID.randomUUID().toString();
|
||||
orderDTO.initDate = new Date();
|
||||
orderDTO.initDate = DateConverter.toXMLGregorianCalendar(new Date());
|
||||
|
||||
LabelReferenceDTO labelReferenceDTO = new LabelReferenceDTO();
|
||||
orderDTO.labels.add(labelReferenceDTO);
|
||||
|
|
@ -595,7 +595,7 @@ public class OrderElementServiceTest {
|
|||
OrderDTO orderDTO = new OrderDTO();
|
||||
orderDTO.name = "Order name " + UUID.randomUUID().toString();
|
||||
orderDTO.code = code;
|
||||
orderDTO.initDate = new Date();
|
||||
orderDTO.initDate = DateConverter.toXMLGregorianCalendar(new Date());
|
||||
|
||||
LabelReferenceDTO labelReferenceDTO = new LabelReferenceDTO();
|
||||
labelReferenceDTO.code = labelCode;
|
||||
|
|
@ -621,7 +621,7 @@ public class OrderElementServiceTest {
|
|||
OrderDTO orderDTO = new OrderDTO();
|
||||
orderDTO.name = "Order name " + UUID.randomUUID().toString();
|
||||
orderDTO.code = "order-code " + UUID.randomUUID().toString();
|
||||
orderDTO.initDate = new Date();
|
||||
orderDTO.initDate = DateConverter.toXMLGregorianCalendar(new Date());
|
||||
|
||||
LabelReferenceDTO labelReferenceDTO = new LabelReferenceDTO();
|
||||
labelReferenceDTO.code = labelCode;
|
||||
|
|
@ -660,7 +660,7 @@ public class OrderElementServiceTest {
|
|||
OrderDTO orderDTO = new OrderDTO();
|
||||
orderDTO.name = "Order name " + UUID.randomUUID().toString();
|
||||
orderDTO.code = code;
|
||||
orderDTO.initDate = new Date();
|
||||
orderDTO.initDate = DateConverter.toXMLGregorianCalendar(new Date());
|
||||
|
||||
LabelReferenceDTO labelReferenceDTO = new LabelReferenceDTO(labelCode);
|
||||
orderDTO.labels.add(labelReferenceDTO);
|
||||
|
|
@ -710,7 +710,7 @@ public class OrderElementServiceTest {
|
|||
OrderDTO orderDTO = new OrderDTO();
|
||||
orderDTO.name = "Order name " + UUID.randomUUID().toString();
|
||||
orderDTO.code = code;
|
||||
orderDTO.initDate = new Date();
|
||||
orderDTO.initDate = DateConverter.toXMLGregorianCalendar(new Date());
|
||||
|
||||
MaterialAssignmentDTO materialAssignmentDTO = new MaterialAssignmentDTO(
|
||||
materialcode1, 100.0, BigDecimal.TEN, null);
|
||||
|
|
@ -769,7 +769,7 @@ public class OrderElementServiceTest {
|
|||
OrderDTO orderDTO = new OrderDTO();
|
||||
orderDTO.name = "Order name " + UUID.randomUUID().toString();
|
||||
orderDTO.code = code;
|
||||
orderDTO.initDate = new Date();
|
||||
orderDTO.initDate = DateConverter.toXMLGregorianCalendar(new Date());
|
||||
|
||||
OrderLineDTO orderLineDTO = new OrderLineDTO();
|
||||
orderLineDTO.name = "Order line " + UUID.randomUUID().toString();
|
||||
|
|
@ -842,7 +842,7 @@ public class OrderElementServiceTest {
|
|||
OrderDTO orderDTO = new OrderDTO();
|
||||
orderDTO.name = "Order name " + UUID.randomUUID().toString();
|
||||
orderDTO.code = code;
|
||||
orderDTO.initDate = new Date();
|
||||
orderDTO.initDate = DateConverter.toXMLGregorianCalendar(new Date());
|
||||
|
||||
AdvanceMeasurementDTO advanceMeasurementDTO = new AdvanceMeasurementDTO();
|
||||
orderDTO.advanceMeasurements.add(advanceMeasurementDTO);
|
||||
|
|
@ -884,10 +884,11 @@ public class OrderElementServiceTest {
|
|||
OrderDTO orderDTO = new OrderDTO();
|
||||
orderDTO.name = "Order name " + UUID.randomUUID().toString();
|
||||
orderDTO.code = code;
|
||||
orderDTO.initDate = new Date();
|
||||
orderDTO.initDate = DateConverter.toXMLGregorianCalendar(new Date());
|
||||
|
||||
AdvanceMeasurementDTO advanceMeasurementDTO = new AdvanceMeasurementDTO(
|
||||
new Date(), BigDecimal.TEN);
|
||||
DateConverter.toXMLGregorianCalendar(new Date()),
|
||||
BigDecimal.TEN);
|
||||
orderDTO.advanceMeasurements.add(advanceMeasurementDTO);
|
||||
|
||||
OrderListDTO orderListDTO = createOrderListDTO(orderDTO);
|
||||
|
|
@ -919,11 +920,12 @@ public class OrderElementServiceTest {
|
|||
OrderDTO orderDTO = new OrderDTO();
|
||||
orderDTO.name = "Order name " + UUID.randomUUID().toString();
|
||||
orderDTO.code = code;
|
||||
orderDTO.initDate = new Date();
|
||||
orderDTO.initDate = DateConverter.toXMLGregorianCalendar(new Date());
|
||||
|
||||
LocalDate date = new LocalDate();
|
||||
AdvanceMeasurementDTO advanceMeasurementDTO = new AdvanceMeasurementDTO(
|
||||
date.toDateTimeAtStartOfDay().toDate(), new BigDecimal(15));
|
||||
DateConverter.toXMLGregorianCalendar(date), new BigDecimal(15));
|
||||
|
||||
orderDTO.advanceMeasurements.add(advanceMeasurementDTO);
|
||||
|
||||
OrderListDTO orderListDTO = createOrderListDTO(orderDTO);
|
||||
|
|
@ -943,7 +945,7 @@ public class OrderElementServiceTest {
|
|||
sessionFactory.getCurrentSession().evict(orderElement);
|
||||
|
||||
AdvanceMeasurementDTO advanceMeasurementDTO2 = new AdvanceMeasurementDTO(
|
||||
date.plusWeeks(1).toDateTimeAtStartOfDay().toDate(),
|
||||
DateConverter.toXMLGregorianCalendar(date.plusWeeks(1)),
|
||||
new BigDecimal(20));
|
||||
orderDTO.advanceMeasurements.add(advanceMeasurementDTO2);
|
||||
|
||||
|
|
@ -984,7 +986,7 @@ public class OrderElementServiceTest {
|
|||
OrderDTO orderDTO = new OrderDTO();
|
||||
orderDTO.name = "Order name " + UUID.randomUUID().toString();
|
||||
orderDTO.code = code;
|
||||
orderDTO.initDate = new Date();
|
||||
orderDTO.initDate = DateConverter.toXMLGregorianCalendar(new Date());
|
||||
|
||||
CriterionRequirementDTO criterionRequirementDTO = new DirectCriterionRequirementDTO();
|
||||
orderDTO.criterionRequirements.add(criterionRequirementDTO);
|
||||
|
|
@ -992,11 +994,16 @@ public class OrderElementServiceTest {
|
|||
OrderListDTO orderListDTO = createOrderListDTO(orderDTO);
|
||||
List<InstanceConstraintViolationsDTO> instanceConstraintViolationsList = orderElementService
|
||||
.addOrders(orderListDTO).instanceConstraintViolationsList;
|
||||
assertThat(instanceConstraintViolationsList.size(), equalTo(0));
|
||||
|
||||
OrderElement orderElement = orderElementDAO.findUniqueByCode(code);
|
||||
assertNotNull(orderElement);
|
||||
assertThat(orderElement.getCriterionRequirements().size(), equalTo(0));
|
||||
// the criterion format is incorrect because its name and type is empty.
|
||||
assertThat(instanceConstraintViolationsList.size(), equalTo(1));
|
||||
|
||||
try {
|
||||
OrderElement orderElement = orderElementDAO.findUniqueByCode(code);
|
||||
fail("Order shouldn't be stored");
|
||||
} catch (InstanceNotFoundException e) {
|
||||
// It should throw an exception
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -1014,7 +1021,7 @@ public class OrderElementServiceTest {
|
|||
OrderDTO orderDTO = new OrderDTO();
|
||||
orderDTO.name = "Order name " + UUID.randomUUID().toString();
|
||||
orderDTO.code = code;
|
||||
orderDTO.initDate = new Date();
|
||||
orderDTO.initDate = DateConverter.toXMLGregorianCalendar(new Date());
|
||||
|
||||
String name = PredefinedCriterionTypes.LEAVE.getPredefined().get(0);
|
||||
String type = PredefinedCriterionTypes.LEAVE.getName();
|
||||
|
|
@ -1048,7 +1055,7 @@ public class OrderElementServiceTest {
|
|||
OrderDTO orderDTO = new OrderDTO();
|
||||
orderDTO.name = "Order name " + UUID.randomUUID().toString();
|
||||
orderDTO.code = code;
|
||||
orderDTO.initDate = new Date();
|
||||
orderDTO.initDate = DateConverter.toXMLGregorianCalendar(new Date());
|
||||
|
||||
String name = PredefinedCriterionTypes.LEAVE.getPredefined().get(0);
|
||||
String type = PredefinedCriterionTypes.LEAVE.getName();
|
||||
|
|
@ -1099,7 +1106,7 @@ public class OrderElementServiceTest {
|
|||
OrderDTO orderDTO = new OrderDTO();
|
||||
orderDTO.name = "Order name " + UUID.randomUUID().toString();
|
||||
orderDTO.code = code;
|
||||
orderDTO.initDate = new Date();
|
||||
orderDTO.initDate = DateConverter.toXMLGregorianCalendar(new Date());
|
||||
|
||||
String name = PredefinedCriterionTypes.LEAVE.getPredefined().get(0);
|
||||
String type = PredefinedCriterionTypes.LEAVE.getName();
|
||||
|
|
@ -1160,7 +1167,7 @@ public class OrderElementServiceTest {
|
|||
OrderDTO orderDTO = new OrderDTO();
|
||||
orderDTO.name = "Order name " + UUID.randomUUID().toString();
|
||||
orderDTO.code = code;
|
||||
orderDTO.initDate = new Date();
|
||||
orderDTO.initDate = DateConverter.toXMLGregorianCalendar(new Date());
|
||||
|
||||
String name = PredefinedCriterionTypes.LEAVE.getPredefined().get(0);
|
||||
String type = PredefinedCriterionTypes.LEAVE.getName();
|
||||
|
|
@ -1231,7 +1238,7 @@ public class OrderElementServiceTest {
|
|||
OrderDTO orderDTO = new OrderDTO();
|
||||
orderDTO.name = "Order name";
|
||||
orderDTO.code = code;
|
||||
orderDTO.initDate = new Date();
|
||||
orderDTO.initDate = DateConverter.toXMLGregorianCalendar(new Date());
|
||||
|
||||
String name = PredefinedCriterionTypes.LEAVE.getPredefined().get(0);
|
||||
String type = PredefinedCriterionTypes.LEAVE.getName();
|
||||
|
|
|
|||
|
|
@ -60,6 +60,7 @@ import org.navalplanner.business.scenarios.IScenarioManager;
|
|||
import org.navalplanner.business.scenarios.entities.OrderVersion;
|
||||
import org.navalplanner.web.orders.OrderModelTest;
|
||||
import org.navalplanner.ws.common.api.AdvanceMeasurementDTO;
|
||||
import org.navalplanner.ws.common.impl.DateConverter;
|
||||
import org.navalplanner.ws.subcontract.api.IReportAdvancesService;
|
||||
import org.navalplanner.ws.subcontract.api.OrderElementWithAdvanceMeasurementsDTO;
|
||||
import org.navalplanner.ws.subcontract.api.OrderElementWithAdvanceMeasurementsListDTO;
|
||||
|
|
@ -182,7 +183,8 @@ public class ReportAdvancesServiceTest {
|
|||
orderElementWithAdvanceMeasurementsDTO.code = orderElementCode;
|
||||
|
||||
Set<AdvanceMeasurementDTO> advanceMeasurementDTOs = new HashSet<AdvanceMeasurementDTO>();
|
||||
advanceMeasurementDTOs.add(new AdvanceMeasurementDTO(date, value));
|
||||
advanceMeasurementDTOs.add(new AdvanceMeasurementDTO(DateConverter
|
||||
.toXMLGregorianCalendar(date), value));
|
||||
orderElementWithAdvanceMeasurementsDTO.advanceMeasurements = advanceMeasurementDTOs;
|
||||
|
||||
ExternalCompany externalCompany = getSubcontractorExternalCompanySaved(
|
||||
|
|
|
|||
|
|
@ -52,6 +52,7 @@ import org.navalplanner.business.scenarios.bootstrap.IScenariosBootstrap;
|
|||
import org.navalplanner.ws.common.api.InstanceConstraintViolationsDTO;
|
||||
import org.navalplanner.ws.common.api.OrderElementDTO;
|
||||
import org.navalplanner.ws.common.api.OrderLineDTO;
|
||||
import org.navalplanner.ws.common.impl.DateConverter;
|
||||
import org.navalplanner.ws.subcontract.api.ISubcontractService;
|
||||
import org.navalplanner.ws.subcontract.api.SubcontractedTaskDataDTO;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
|
@ -105,7 +106,8 @@ public class SubcontractServiceTest {
|
|||
OrderLineDTO orderLineDTO = new OrderLineDTO();
|
||||
orderLineDTO.name = "Test";
|
||||
orderLineDTO.code = orderLineCode;
|
||||
orderLineDTO.initDate = new Date();
|
||||
orderLineDTO.initDate = DateConverter
|
||||
.toXMLGregorianCalendar(new Date());
|
||||
|
||||
return orderLineDTO;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -62,6 +62,8 @@
|
|||
</material-assignments>
|
||||
<advance-measurements />
|
||||
<criterion-requirements />
|
||||
<children />
|
||||
<children>
|
||||
<order-line name="orderline B1" code="PREFIX-00022-00001" />
|
||||
</children>
|
||||
</order>
|
||||
</order-list>
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue