From e00ef6d40d4be792bfcd8e0e7dd3e06514692059 Mon Sep 17 00:00:00 2001 From: Susana Montes Pedreira Date: Tue, 13 Dec 2011 11:03:08 +0100 Subject: [PATCH] create the interface DeliverDate and the comparator DeliverDateComparator to sort the SubcontractorDeliverDate and the DeadlineCommunications. FEA: ItEr75S32AnA15S04UpdateDeliveringDateInSubcontracting --- .../entities/DeadlineCommunication.java | 2 +- .../entities/DeliverDate.java | 32 +++++++++++++++++++ ...arator.java => DeliverDateComparator.java} | 8 ++--- .../business/orders/entities/Order.java | 4 +-- .../entities/SubcontractedTaskData.java | 4 +++ .../entities/SubcontractorDeliverDate.java | 3 +- .../business/orders/entities/Orders.hbm.xml | 2 +- 7 files changed, 46 insertions(+), 9 deletions(-) create mode 100644 libreplan-business/src/main/java/org/libreplan/business/externalcompanies/entities/DeliverDate.java rename libreplan-business/src/main/java/org/libreplan/business/externalcompanies/entities/{DeadlineCommunicationComparator.java => DeliverDateComparator.java} (83%) diff --git a/libreplan-business/src/main/java/org/libreplan/business/externalcompanies/entities/DeadlineCommunication.java b/libreplan-business/src/main/java/org/libreplan/business/externalcompanies/entities/DeadlineCommunication.java index 42e431bd5..8b8b39a67 100644 --- a/libreplan-business/src/main/java/org/libreplan/business/externalcompanies/entities/DeadlineCommunication.java +++ b/libreplan-business/src/main/java/org/libreplan/business/externalcompanies/entities/DeadlineCommunication.java @@ -29,7 +29,7 @@ import org.libreplan.business.common.BaseEntity; * * @author Susana Montes Pedreira */ -public class DeadlineCommunication extends BaseEntity { +public class DeadlineCommunication extends BaseEntity implements DeliverDate{ private Date saveDate; diff --git a/libreplan-business/src/main/java/org/libreplan/business/externalcompanies/entities/DeliverDate.java b/libreplan-business/src/main/java/org/libreplan/business/externalcompanies/entities/DeliverDate.java new file mode 100644 index 000000000..2ee7b3abb --- /dev/null +++ b/libreplan-business/src/main/java/org/libreplan/business/externalcompanies/entities/DeliverDate.java @@ -0,0 +1,32 @@ +/* + * This file is part of LibrePlan + * + * Copyright (C) 2011 WirelessGalicia, S.L. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ +package org.libreplan.business.externalcompanies.entities; + +import java.util.Date; + +import org.libreplan.business.planner.entities.SubcontractorCommunication; + +/** + * Interface for {@link SubcontractorDeliverDate} and {@link DeadlineCommunication} + * + * @author Susana Montes Pedreira + */ +public interface DeliverDate { + public Date getSaveDate(); +} diff --git a/libreplan-business/src/main/java/org/libreplan/business/externalcompanies/entities/DeadlineCommunicationComparator.java b/libreplan-business/src/main/java/org/libreplan/business/externalcompanies/entities/DeliverDateComparator.java similarity index 83% rename from libreplan-business/src/main/java/org/libreplan/business/externalcompanies/entities/DeadlineCommunicationComparator.java rename to libreplan-business/src/main/java/org/libreplan/business/externalcompanies/entities/DeliverDateComparator.java index 11382737d..2d5b4b2d7 100644 --- a/libreplan-business/src/main/java/org/libreplan/business/externalcompanies/entities/DeadlineCommunicationComparator.java +++ b/libreplan-business/src/main/java/org/libreplan/business/externalcompanies/entities/DeliverDateComparator.java @@ -24,18 +24,18 @@ import java.util.Comparator; import org.libreplan.business.externalcompanies.entities.DeadlineCommunication; /** -* Comparator to {@link DeadlineCommunication} +* Comparator to {@link DeliverDate} interface * * @author Susana Montes Pedreira */ -public class DeadlineCommunicationComparator implements Comparator { +public class DeliverDateComparator implements Comparator { - public DeadlineCommunicationComparator(){ + public DeliverDateComparator(){ } @Override - public int compare(DeadlineCommunication arg0, DeadlineCommunication arg1) { + public int compare(DeliverDate arg0, DeliverDate arg1) { if (arg0.getSaveDate() == arg1.getSaveDate()) { return 0; } diff --git a/libreplan-business/src/main/java/org/libreplan/business/orders/entities/Order.java b/libreplan-business/src/main/java/org/libreplan/business/orders/entities/Order.java index dcbeb9912..883404d95 100644 --- a/libreplan-business/src/main/java/org/libreplan/business/orders/entities/Order.java +++ b/libreplan-business/src/main/java/org/libreplan/business/orders/entities/Order.java @@ -48,7 +48,7 @@ import org.libreplan.business.common.entities.EntitySequence; import org.libreplan.business.common.exceptions.InstanceNotFoundException; import org.libreplan.business.externalcompanies.entities.CustomerCommunication; import org.libreplan.business.externalcompanies.entities.DeadlineCommunication; -import org.libreplan.business.externalcompanies.entities.DeadlineCommunicationComparator; +import org.libreplan.business.externalcompanies.entities.DeliverDateComparator; import org.libreplan.business.externalcompanies.entities.ExternalCompany; import org.libreplan.business.orders.daos.IOrderDAO; import org.libreplan.business.planner.entities.DayAssignment; @@ -116,7 +116,7 @@ public class Order extends OrderLineGroup implements Comparable { @Valid private SortedSet deliveringDates = new TreeSet( - new DeadlineCommunicationComparator()); + new DeliverDateComparator()); public enum SchedulingMode { FORWARD, BACKWARDS; diff --git a/libreplan-business/src/main/java/org/libreplan/business/planner/entities/SubcontractedTaskData.java b/libreplan-business/src/main/java/org/libreplan/business/planner/entities/SubcontractedTaskData.java index afa5892f6..3dd0b835c 100644 --- a/libreplan-business/src/main/java/org/libreplan/business/planner/entities/SubcontractedTaskData.java +++ b/libreplan-business/src/main/java/org/libreplan/business/planner/entities/SubcontractedTaskData.java @@ -23,10 +23,14 @@ package org.libreplan.business.planner.entities; import java.math.BigDecimal; import java.util.Date; +import java.util.SortedSet; +import java.util.TreeSet; import org.hibernate.validator.AssertTrue; import org.hibernate.validator.NotNull; +import org.hibernate.validator.Valid; import org.libreplan.business.common.BaseEntity; +import org.libreplan.business.externalcompanies.entities.DeliverDateComparator; import org.libreplan.business.externalcompanies.entities.ExternalCompany; import org.libreplan.business.util.deepcopy.OnCopy; import org.libreplan.business.util.deepcopy.Strategy; diff --git a/libreplan-business/src/main/java/org/libreplan/business/planner/entities/SubcontractorDeliverDate.java b/libreplan-business/src/main/java/org/libreplan/business/planner/entities/SubcontractorDeliverDate.java index d17eae568..9ecd7bbb7 100644 --- a/libreplan-business/src/main/java/org/libreplan/business/planner/entities/SubcontractorDeliverDate.java +++ b/libreplan-business/src/main/java/org/libreplan/business/planner/entities/SubcontractorDeliverDate.java @@ -22,13 +22,14 @@ package org.libreplan.business.planner.entities; import java.util.Date; import org.libreplan.business.common.BaseEntity; +import org.libreplan.business.externalcompanies.entities.DeliverDate; /** * Entity {@link SubcontractorDeliverDate}. * * @author Susana Montes Pedreira */ -public class SubcontractorDeliverDate extends BaseEntity{ +public class SubcontractorDeliverDate extends BaseEntity implements DeliverDate{ private Date saveDate; diff --git a/libreplan-business/src/main/resources/org/libreplan/business/orders/entities/Orders.hbm.xml b/libreplan-business/src/main/resources/org/libreplan/business/orders/entities/Orders.hbm.xml index 49bb65994..41d15c289 100644 --- a/libreplan-business/src/main/resources/org/libreplan/business/orders/entities/Orders.hbm.xml +++ b/libreplan-business/src/main/resources/org/libreplan/business/orders/entities/Orders.hbm.xml @@ -153,7 +153,7 @@ + sort="org.libreplan.business.externalcompanies.entities.DeliverDateComparator">