diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/limitingresources/LimitingDependencyList.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/limitingresources/LimitingDependencyList.java index 333b5aede..a0283f87e 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/limitingresources/LimitingDependencyList.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/limitingresources/LimitingDependencyList.java @@ -23,12 +23,10 @@ package org.navalplanner.web.limitingresources; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.util.ArrayList; -import java.util.Iterator; import java.util.List; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.navalplanner.business.planner.entities.LimitingResourceQueueDependency; import org.zkoss.ganttz.DependencyList; import org.zkoss.ganttz.TaskComponent; import org.zkoss.ganttz.data.Dependency; diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/limitingresources/LimitingResourcesPanel.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/limitingresources/LimitingResourcesPanel.java index 84b8c49c7..ef5313025 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/limitingresources/LimitingResourcesPanel.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/limitingresources/LimitingResourcesPanel.java @@ -120,7 +120,7 @@ public class LimitingResourcesPanel extends HtmlMacroComponent { treeModel = createModelForTree(); timeTrackerComponent = timeTrackerForResourcesLoadPanel(timeTracker); - queueListComponent = new QueueListComponent(timeTracker, treeModel); + queueListComponent = new QueueListComponent(this, timeTracker, treeModel); leftPane = new LimitingResourcesLeftPane(treeModel, queueListComponent); diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/limitingresources/QueueComponent.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/limitingresources/QueueComponent.java index e8759dfba..dca91434b 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/limitingresources/QueueComponent.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/limitingresources/QueueComponent.java @@ -24,7 +24,6 @@ package org.navalplanner.web.limitingresources; import static org.navalplanner.web.I18nHelper._; import java.util.ArrayList; -import java.util.Iterator; import java.util.List; import java.util.Set; import java.util.SortedSet; @@ -46,7 +45,6 @@ import org.zkoss.ganttz.timetracker.zoom.IZoomLevelChangedListener; import org.zkoss.ganttz.timetracker.zoom.ZoomLevel; import org.zkoss.ganttz.util.MenuBuilder; import org.zkoss.ganttz.util.MenuBuilder.ItemAction; -import org.zkoss.zk.ui.Component; import org.zkoss.zk.ui.event.Event; import org.zkoss.zk.ui.ext.AfterCompose; import org.zkoss.zul.Div; @@ -59,18 +57,23 @@ import org.zkoss.zul.impl.XulElement; public class QueueComponent extends XulElement implements AfterCompose { - public static QueueComponent create(TimeTracker timeTracker, + public static QueueComponent create( + QueueListComponent queueListComponent, + TimeTracker timeTracker, LimitingResourceQueue limitingResourceQueue) { - return new QueueComponent(timeTracker, + + return new QueueComponent(queueListComponent, timeTracker, limitingResourceQueue); } - private LimitingResourceQueue limitingResourceQueue; + private final QueueListComponent queueListComponent; private final TimeTracker timeTracker; private transient IZoomLevelChangedListener zoomChangedListener; + private LimitingResourceQueue limitingResourceQueue; + private List queueTasks = new ArrayList(); public List getQueueTasks() { @@ -81,10 +84,15 @@ public class QueueComponent extends XulElement implements this.limitingResourceQueue = limitingResourceQueue; } - private QueueComponent(final TimeTracker timeTracker, + private QueueComponent( + final QueueListComponent queueListComponent, + final TimeTracker timeTracker, final LimitingResourceQueue limitingResourceQueue) { + + this.queueListComponent = queueListComponent; this.limitingResourceQueue = limitingResourceQueue; this.timeTracker = timeTracker; + createChildren(limitingResourceQueue, timeTracker.getMapper()); zoomChangedListener = new IZoomLevelChangedListener() { @@ -105,6 +113,14 @@ public class QueueComponent extends XulElement implements appendQueueTasks(queueTasks); } + public QueueListComponent getQueueListComponent() { + return queueListComponent; + } + + public LimitingResourcesPanel getLimitingResourcesPanel() { + return queueListComponent.getLimitingResourcePanel(); + } + public void invalidate() { removeChildren(); appendQueueElements(limitingResourceQueue.getLimitingResourceQueueElements()); @@ -263,8 +279,7 @@ public class QueueComponent extends XulElement implements } private void addDependenciesInPanel(LimitingResourceQueueElement element) { - LimitingResourcesPanel panel = LimitingResourcesPanel - .getLimitingResourcesPanel(this); + final LimitingResourcesPanel panel = getLimitingResourcesPanel(); for (LimitingResourceQueueDependency each : element .getDependenciesAsDestiny()) { panel.addDependencyComponent(each); @@ -310,14 +325,11 @@ public class QueueComponent extends XulElement implements } private void moveQueueTask(QueueTask queueTask) { - LimitingResourcesPanel panel = LimitingResourcesPanel.getLimitingResourcesPanel(this); - panel.moveQueueTask(queueTask); + getLimitingResourcesPanel().moveQueueTask(queueTask); } private void unnasign(QueueTask choosen) { - final LimitingResourcesPanel panel = LimitingResourcesPanel - .getLimitingResourcesPanel(choosen.getParent()); - panel.unschedule(choosen); + getLimitingResourcesPanel().unschedule(choosen); } private void appendContextMenus() { diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/limitingresources/QueueListComponent.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/limitingresources/QueueListComponent.java index 2b0dd7e7b..a28916f01 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/limitingresources/QueueListComponent.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/limitingresources/QueueListComponent.java @@ -44,6 +44,8 @@ import org.zkoss.zk.ui.ext.AfterCompose; public class QueueListComponent extends HtmlMacroComponent implements AfterCompose { + private final LimitingResourcesPanel limitingResourcesPanel; + private final IZoomLevelChangedListener zoomListener; private MutableTreeModel model; @@ -52,9 +54,11 @@ public class QueueListComponent extends HtmlMacroComponent implements private Map fromQueueToComponent = new HashMap(); - public QueueListComponent(TimeTracker timeTracker, + public QueueListComponent(LimitingResourcesPanel limitingResourcesPanel, + TimeTracker timeTracker, MutableTreeModel timelinesTree) { + this.limitingResourcesPanel = limitingResourcesPanel; this.model = timelinesTree; zoomListener = adjustTimeTrackerSizeListener(); @@ -71,7 +75,7 @@ public class QueueListComponent extends HtmlMacroComponent implements } private void insertAsComponent(LimitingResourceQueue queue) { - QueueComponent component = QueueComponent.create(timeTracker, queue); + QueueComponent component = QueueComponent.create(this, timeTracker, queue); this.appendChild(component); fromQueueToComponent.put(queue, component); } @@ -139,4 +143,8 @@ public class QueueListComponent extends HtmlMacroComponent implements return result; } + public LimitingResourcesPanel getLimitingResourcePanel() { + return limitingResourcesPanel; + } + }