ItEr60S08CUAsignacionRecursosLimitantesItEr59S08: When changing the position of a task the queue is notified

This commit is contained in:
Óscar González Fernández 2010-06-28 14:59:53 +02:00
parent 2acc57ddb8
commit e1eeaf9329
2 changed files with 20 additions and 1 deletions

View file

@ -109,6 +109,13 @@ public class LimitingResourceQueueElement extends BaseEntity {
public void setStartDate(LocalDate date) {
startQueuePosition.setDate(date);
notifyQueueElementIsMoved();
}
private void notifyQueueElementIsMoved() {
if (getLimitingResourceQueue() != null) {
getLimitingResourceQueue().queueElementMoved(this);
}
}
public int getStartHour() {
@ -117,6 +124,7 @@ public class LimitingResourceQueueElement extends BaseEntity {
public void setStartHour(int hour) {
startQueuePosition.setHour(hour);
notifyQueueElementIsMoved();
}
public LocalDate getEndDate() {
@ -124,6 +132,7 @@ public class LimitingResourceQueueElement extends BaseEntity {
}
public void setEndDate(LocalDate date) {
notifyQueueElementIsMoved();
endQueuePosition.setDate(date);
}
@ -133,6 +142,7 @@ public class LimitingResourceQueueElement extends BaseEntity {
public void setEndHour(int hour) {
endQueuePosition.setHour(hour);
notifyQueueElementIsMoved();
}
public Date getEarlierStartDateBecauseOfGantt() {

View file

@ -66,12 +66,16 @@ public class LimitingResourceQueue extends BaseEntity {
public void addLimitingResourceQueueElement(LimitingResourceQueueElement element) {
element.setLimitingResourceQueue(this);
limitingResourceQueueElements.add(element);
cachedGaps = null;
invalidCachedGaps();
}
public void removeLimitingResourceQueueElement(LimitingResourceQueueElement element) {
limitingResourceQueueElements.remove(element);
element.detach();
invalidCachedGaps();
}
private void invalidCachedGaps() {
cachedGaps = null;
}
@ -125,4 +129,9 @@ public class LimitingResourceQueue extends BaseEntity {
return queueElements.subList(position + 1, queueElements.size());
}
public void queueElementMoved(
LimitingResourceQueueElement limitingResourceQueueElement) {
invalidCachedGaps();
}
}