diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/LimitingResourceQueueElement.java b/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/LimitingResourceQueueElement.java
index e79b41db8..09a974f0e 100644
--- a/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/LimitingResourceQueueElement.java
+++ b/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/LimitingResourceQueueElement.java
@@ -20,8 +20,12 @@
package org.navalplanner.business.planner.entities;
+import static org.navalplanner.business.i18n.I18nHelper._;
+
import java.util.Date;
+import org.apache.commons.lang.Validate;
+import org.joda.time.LocalDate;
import org.navalplanner.business.common.BaseEntity;
import org.navalplanner.business.resources.entities.LimitingResourceQueue;
@@ -38,7 +42,11 @@ public class LimitingResourceQueueElement extends BaseEntity {
private Date earlierStartDateBecauseOfGantt;
- public Date getEarlierStartDateBecauseOfGantt() {
+ private QueuePosition startQueuePosition;
+
+ private QueuePosition endQueuePosition;
+
+ public Date getEarlierStartDateBecauseOfGantt() {
return earlierStartDateBecauseOfGantt;
}
@@ -47,7 +55,7 @@ public class LimitingResourceQueueElement extends BaseEntity {
this.earlierStartDateBecauseOfGantt = earlierStartDateBecauseOfGantt;
}
-public static LimitingResourceQueueElement create() {
+ public static LimitingResourceQueueElement create() {
return create(new LimitingResourceQueueElement());
}
@@ -71,4 +79,36 @@ public static LimitingResourceQueueElement create() {
this.limitingResourceQueue = limitingResourceQueue;
}
+ public LocalDate getStartDate() {
+ return startQueuePosition.getDate();
+ }
+
+ public void setStartDate(LocalDate date) {
+ startQueuePosition.setDate(date);
+ }
+
+ public int getStartHour() {
+ return startQueuePosition.getHour();
+ }
+
+ public void setStartHour(int hour) {
+ startQueuePosition.setHour(hour);
+ }
+
+ public LocalDate getEndDate() {
+ return endQueuePosition.getDate();
+ }
+
+ public void setEndDate(LocalDate date) {
+ endQueuePosition.setDate(date);
+ }
+
+ public int getEndHour() {
+ return endQueuePosition.getHour();
+ }
+
+ public void setEndHour(int hour) {
+ endQueuePosition.setHour(hour);
+ }
+
}
diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/QueuePosition.java b/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/QueuePosition.java
new file mode 100644
index 000000000..1ab54b032
--- /dev/null
+++ b/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/QueuePosition.java
@@ -0,0 +1,56 @@
+/*
+ * This file is part of NavalPlan
+ *
+ * Copyright (C) 2009 Fundación para o Fomento da Calidade Industrial e
+ * Desenvolvemento Tecnolóxico de Galicia
+ *
+ * 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.navalplanner.business.planner.entities;
+
+import static org.navalplanner.business.i18n.I18nHelper._;
+
+import org.apache.commons.lang.Validate;
+import org.joda.time.LocalDate;
+
+/**
+ *
+ * @author Diego Pino Garcia
+ *
+ */
+public class QueuePosition {
+
+ private LocalDate date;
+
+ private int hour = 0;
+
+ public LocalDate getDate() {
+ return date;
+ }
+
+ public void setDate(LocalDate date) {
+ this.date = date;
+ }
+
+ public int getHour() {
+ return hour;
+ }
+
+ public void setHour(int hour) {
+ Validate.isTrue(hour >= 0 && hour <= 23, _("Hour should be a value between 0 and 23"));
+ this.hour = hour;
+ }
+
+}
diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/resources/entities/LimitingResourceQueue.java b/navalplanner-business/src/main/java/org/navalplanner/business/resources/entities/LimitingResourceQueue.java
index 33a9857cd..252741e1e 100644
--- a/navalplanner-business/src/main/java/org/navalplanner/business/resources/entities/LimitingResourceQueue.java
+++ b/navalplanner-business/src/main/java/org/navalplanner/business/resources/entities/LimitingResourceQueue.java
@@ -21,9 +21,11 @@
package org.navalplanner.business.resources.entities;
import java.util.Collections;
-import java.util.HashSet;
import java.util.Set;
+import java.util.SortedSet;
+import java.util.TreeSet;
+import org.apache.commons.lang.math.NumberUtils;
import org.navalplanner.business.common.BaseEntity;
import org.navalplanner.business.planner.entities.LimitingResourceQueueElement;
@@ -37,7 +39,7 @@ public class LimitingResourceQueue extends BaseEntity {
private Resource resource;
private Set limitingResourceQueueElements =
- new HashSet();
+ new TreeSet();
public static LimitingResourceQueue create() {
return create(new LimitingResourceQueue());
diff --git a/navalplanner-business/src/main/resources/org/navalplanner/business/planner/entities/ResourceAllocations.hbm.xml b/navalplanner-business/src/main/resources/org/navalplanner/business/planner/entities/ResourceAllocations.hbm.xml
index 80b6ae38a..6156fbc8f 100644
--- a/navalplanner-business/src/main/resources/org/navalplanner/business/planner/entities/ResourceAllocations.hbm.xml
+++ b/navalplanner-business/src/main/resources/org/navalplanner/business/planner/entities/ResourceAllocations.hbm.xml
@@ -60,6 +60,7 @@
+
@@ -74,6 +75,16 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/navalplanner-business/src/main/resources/org/navalplanner/business/resources/entities/Resources.hbm.xml b/navalplanner-business/src/main/resources/org/navalplanner/business/resources/entities/Resources.hbm.xml
index 39ec60487..1772c9032 100644
--- a/navalplanner-business/src/main/resources/org/navalplanner/business/resources/entities/Resources.hbm.xml
+++ b/navalplanner-business/src/main/resources/org/navalplanner/business/resources/entities/Resources.hbm.xml
@@ -78,7 +78,8 @@
-
+