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
new file mode 100644
index 000000000..e79b41db8
--- /dev/null
+++ b/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/LimitingResourceQueueElement.java
@@ -0,0 +1,74 @@
+/*
+ * 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 java.util.Date;
+
+import org.navalplanner.business.common.BaseEntity;
+import org.navalplanner.business.resources.entities.LimitingResourceQueue;
+
+/**
+ *
+ * @author Diego Pino Garcia
+ *
+ */
+public class LimitingResourceQueueElement extends BaseEntity {
+
+ private ResourceAllocation> resourceAllocation;
+
+ private LimitingResourceQueue limitingResourceQueue;
+
+ private Date earlierStartDateBecauseOfGantt;
+
+ public Date getEarlierStartDateBecauseOfGantt() {
+ return earlierStartDateBecauseOfGantt;
+ }
+
+ public void setEarlierStartDateBecauseOfGantt(
+ Date earlierStartDateBecauseOfGantt) {
+ this.earlierStartDateBecauseOfGantt = earlierStartDateBecauseOfGantt;
+ }
+
+public static LimitingResourceQueueElement create() {
+ return create(new LimitingResourceQueueElement());
+ }
+
+ protected LimitingResourceQueueElement() {
+
+ }
+
+ public ResourceAllocation> getResourceAllocation() {
+ return resourceAllocation;
+ }
+
+ public void setResourceAllocation(ResourceAllocation> resourceAllocation) {
+ this.resourceAllocation = resourceAllocation;
+ }
+
+ public LimitingResourceQueue getLimitingResourceQueue() {
+ return limitingResourceQueue;
+ }
+
+ public void setLimitingResourceQueue(LimitingResourceQueue limitingResourceQueue) {
+ this.limitingResourceQueue = limitingResourceQueue;
+ }
+
+}
diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/ResourceAllocation.java b/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/ResourceAllocation.java
index cf858f85a..cd6f259e4 100644
--- a/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/ResourceAllocation.java
+++ b/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/ResourceAllocation.java
@@ -296,6 +296,8 @@ public abstract class ResourceAllocation extends
private Set derivedAllocations = new HashSet();
+ private LimitingResourceQueueElement limitingResourceQueueElement;
+
/**
* Constructor for hibernate. Do not use!
*/
@@ -822,6 +824,15 @@ public abstract class ResourceAllocation extends
return !getAssignments().isEmpty();
}
+ public LimitingResourceQueueElement getLimitingResourceQueueElement() {
+ return limitingResourceQueueElement;
+ }
+
+ public void setLimitingResourceQueueElement(
+ LimitingResourceQueueElement limitingResourceQueueElement) {
+ this.limitingResourceQueueElement = limitingResourceQueueElement;
+ }
+
/**
* Do a query to recover a list of resources that are suitable for this
* allocation. For a {@link SpecificResourceAllocation} returns the current
diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/Task.java b/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/Task.java
index ac535ebbb..9b5b5ba51 100644
--- a/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/Task.java
+++ b/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/Task.java
@@ -88,6 +88,8 @@ public class Task extends TaskElement {
@Valid
private SubcontractedTaskData subcontractedTaskData;
+ private Integer priority;
+
/**
* Constructor for hibernate. Do not use!
*/
@@ -517,4 +519,12 @@ public class Task extends TaskElement {
return !resourceAllocations.isEmpty();
}
+ public int getPriority() {
+ return priority;
+ }
+
+ public void setPriority(int priority) {
+ this.priority = priority;
+ }
+
}
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 d4dc70b4a..33a9857cd 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
@@ -20,7 +20,12 @@
package org.navalplanner.business.resources.entities;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.Set;
+
import org.navalplanner.business.common.BaseEntity;
+import org.navalplanner.business.planner.entities.LimitingResourceQueueElement;
/**
*
@@ -31,6 +36,9 @@ public class LimitingResourceQueue extends BaseEntity {
private Resource resource;
+ private Set limitingResourceQueueElements =
+ new HashSet();
+
public static LimitingResourceQueue create() {
return create(new LimitingResourceQueue());
}
@@ -47,4 +55,17 @@ public class LimitingResourceQueue extends BaseEntity {
this.resource = resource;
}
+ public void addLimitingResourceQueueElement(LimitingResourceQueueElement element) {
+ element.setLimitingResourceQueue(this);
+ limitingResourceQueueElements.add(element);
+ }
+
+ public void removeLimitingResourceQueueElement(LimitingResourceQueueElement element) {
+ limitingResourceQueueElements.remove(element);
+ }
+
+ public Set getLimitingResourceQueueElements() {
+ return Collections.unmodifiableSet(limitingResourceQueueElements);
+ }
+
}
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 688f2a359..1c0ea9d37 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
@@ -25,6 +25,8 @@
+
+
@@ -53,6 +55,22 @@
+
+
+
+ 100
+
+
+
+
+
+
+
+
+
+
+
+
@@ -60,17 +78,17 @@
100
-
+
-
+
-
+
-
-
+
+
@@ -112,18 +130,18 @@
-
- org.navalplanner.business.planner.entities.StretchesFunction$Type
-
-
+
+ org.navalplanner.business.planner.entities.StretchesFunction$Type
+
+
-
- 100
-
+
+ 100
+
+
+
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 7f0d19692..39ec60487 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
@@ -76,7 +76,13 @@
-
+
+
+
+
+
+
+