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