From 47853c59347707d81e333315071c2917b3c90dfd Mon Sep 17 00:00:00 2001 From: Lorenzo Tilve Date: Tue, 27 Apr 2010 19:34:18 +0200 Subject: [PATCH] ItEr56S09RFAspectosGraficosRecursoLimitantesItEr55S11: Removed children elements if LimitingResource Queues --- .../LimitingResourceQueue.java | 92 ++++--------------- .../LimitingResourcesComponent.java | 2 +- .../LimitingResourcesList.java | 27 +----- .../LimitingResourcesPanel.java | 14 --- .../main/resources/metainfo/zk/lang-addon.xml | 6 -- .../LimitingResourceQueueModel.java | 37 ++------ .../LimitingResourcesController.java | 2 +- .../main/resources/metainfo/zk/lang-addon.xml | 7 ++ .../limitingResourcesLayout.zul | 0 9 files changed, 37 insertions(+), 150 deletions(-) rename {ganttzk/src/main/resources/web/ganttz/zul => navalplanner-webapp/src/main/webapp/limitingresources}/limitingResourcesLayout.zul (100%) diff --git a/ganttzk/src/main/java/org/zkoss/ganttz/data/limitingresource/LimitingResourceQueue.java b/ganttzk/src/main/java/org/zkoss/ganttz/data/limitingresource/LimitingResourceQueue.java index f2f1096e9..34d53d957 100644 --- a/ganttzk/src/main/java/org/zkoss/ganttz/data/limitingresource/LimitingResourceQueue.java +++ b/ganttzk/src/main/java/org/zkoss/ganttz/data/limitingresource/LimitingResourceQueue.java @@ -20,8 +20,6 @@ package org.zkoss.ganttz.data.limitingresource; -import java.util.ArrayList; -import java.util.Collections; import java.util.Date; import java.util.List; @@ -32,25 +30,21 @@ import org.zkoss.ganttz.util.Interval; public class LimitingResourceQueue { - private final String conceptName; - private final List loadPeriods; + private final String resourcetName; + private final List queueTask; private final TimeLineRole timeLineRole; private final String type; - private final List children; - public LimitingResourceQueue(String conceptName, List loadPeriods, TimeLineRole role) { Validate.notEmpty(conceptName); Validate.notNull(loadPeriods); - this.loadPeriods = QueueTask.sort(loadPeriods); - this.conceptName = conceptName; + this.queueTask = QueueTask.sort(loadPeriods); + this.resourcetName = conceptName; this.type = ""; this.timeLineRole = role; - this.children = Collections - .unmodifiableList(new ArrayList()); } public LimitingResourceQueue(String conceptName, @@ -58,34 +52,27 @@ public class LimitingResourceQueue { String type, TimeLineRole role) { Validate.notEmpty(conceptName); Validate.notNull(loadPeriods); - this.loadPeriods = QueueTask.sort(loadPeriods); - this.conceptName = conceptName; + this.queueTask = QueueTask.sort(loadPeriods); + this.resourcetName = conceptName; this.timeLineRole = role; this.type = type; - this.children = Collections - .unmodifiableList(new ArrayList()); } - public LimitingResourceQueue(LimitingResourceQueue principal, List children) { - Validate.notEmpty(principal.getConceptName()); + public LimitingResourceQueue(LimitingResourceQueue principal) { + Validate.notEmpty(principal.getResourceName()); Validate.notNull(principal.getQueueTasks()); - this.loadPeriods = QueueTask.sort(principal.getQueueTasks()); - this.conceptName = principal.getConceptName(); + this.queueTask = QueueTask.sort(principal.getQueueTasks()); + this.resourcetName = principal.getResourceName(); this.timeLineRole = principal.getRole(); this.type = principal.getType(); - Validate.notNull(children); - allChildrenAreNotEmpty(children); - this.children = Collections - .unmodifiableList(new ArrayList(children)); - } public List getQueueTasks() { - return loadPeriods; + return queueTask; } - public String getConceptName() { - return conceptName; + public String getResourceName() { + return resourcetName; } public TimeLineRole getRole() { @@ -93,11 +80,11 @@ public class LimitingResourceQueue { } private QueueTask getFirst() { - return loadPeriods.get(0); + return queueTask.get(0); } private QueueTask getLast() { - return loadPeriods.get(loadPeriods.size() - 1); + return queueTask.get(queueTask.size() - 1); } public LocalDate getStartPeriod() { @@ -108,7 +95,7 @@ public class LimitingResourceQueue { } public boolean isEmpty() { - return loadPeriods.isEmpty(); + return queueTask.isEmpty(); } public LocalDate getEndPeriod() { @@ -159,55 +146,12 @@ public class LimitingResourceQueue { return one.compareTo(other) < 0 ? one : other; } - private static void allChildrenAreNotEmpty(List lines) { - for (LimitingResourceQueue l : lines) { - if (l.isEmpty()) { - throw new IllegalArgumentException(l + " is empty"); - } - if (l.hasChildren()) { - allChildrenAreNotEmpty(l.getChildren()); - } - } - } - - public boolean hasChildren() { - return (!children.isEmpty()); - } - - public List getChildren() { - return children; - } - - public List getAllChildren() { - List result = new ArrayList(); - for (LimitingResourceQueue child : children) { - result.addAll(child.getAllChildren()); - result.add(child); - } - return result; - } - public LocalDate getStart() { - LocalDate result = getStartPeriod(); - for (LimitingResourceQueue loadTimeLine : getChildren()) { - LocalDate start = loadTimeLine.getStart(); - if (start != null) { - result = result == null || result.compareTo(start) > 0 ? start - : result; - } - } - return result; + return getStartPeriod(); } public LocalDate getEnd() { - LocalDate result = getEndPeriod(); - for (LimitingResourceQueue loadTimeLine : getChildren()) { - LocalDate end = loadTimeLine.getEnd(); - if (end != null) { - result = result == null || result.compareTo(end) < 0 ? end : result; - } - } - return result; + return getEndPeriod(); } } diff --git a/ganttzk/src/main/java/org/zkoss/ganttz/limitingresources/LimitingResourcesComponent.java b/ganttzk/src/main/java/org/zkoss/ganttz/limitingresources/LimitingResourcesComponent.java index b4d76f4fc..1cfc87305 100644 --- a/ganttzk/src/main/java/org/zkoss/ganttz/limitingresources/LimitingResourcesComponent.java +++ b/ganttzk/src/main/java/org/zkoss/ganttz/limitingresources/LimitingResourcesComponent.java @@ -77,7 +77,7 @@ public class LimitingResourcesComponent extends XulElement { } public String getResourceLoadName() { - return loadLine.getConceptName(); + return loadLine.getResourceName(); } public String getResourceLoadType() { diff --git a/ganttzk/src/main/java/org/zkoss/ganttz/limitingresources/LimitingResourcesList.java b/ganttzk/src/main/java/org/zkoss/ganttz/limitingresources/LimitingResourcesList.java index 7150213dc..e73622c1e 100644 --- a/ganttzk/src/main/java/org/zkoss/ganttz/limitingresources/LimitingResourcesList.java +++ b/ganttzk/src/main/java/org/zkoss/ganttz/limitingresources/LimitingResourcesList.java @@ -21,7 +21,6 @@ package org.zkoss.ganttz.limitingresources; import java.util.ArrayList; -import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -32,7 +31,6 @@ import org.zkoss.ganttz.timetracker.zoom.IZoomLevelChangedListener; import org.zkoss.ganttz.timetracker.zoom.ZoomLevel; import org.zkoss.ganttz.util.MutableTreeModel; import org.zkoss.zk.au.out.AuInvoke; -import org.zkoss.zk.ui.Component; import org.zkoss.zk.ui.HtmlMacroComponent; import org.zkoss.zk.ui.ext.AfterCompose; @@ -87,17 +85,13 @@ public class LimitingResourcesList extends HtmlMacroComponent implements List children) { for (LimitingResourceQueue LimitingResourceQueue : children) { LimitingResourcesComponent component = LimitingResourcesComponent - .create( -timetracker, LimitingResourceQueue); + .create(timetracker, LimitingResourceQueue); appendChild(component); fromTimeLineToComponent.put(LimitingResourceQueue, component); } } public void collapse(LimitingResourceQueue line) { - for (LimitingResourceQueue l : line.getAllChildren()) { - getComponentFor(l).detach(); - } } private LimitingResourcesComponent getComponentFor(LimitingResourceQueue l) { @@ -108,25 +102,6 @@ timetracker, LimitingResourceQueue); public void expand(LimitingResourceQueue line, List closed) { - LimitingResourcesComponent parentComponent = getComponentFor(line); - Component nextSibling = parentComponent.getNextSibling(); - - List childrenToOpen = getChildrenReverseOrderFor(line); - childrenToOpen.removeAll(closed); - - for (LimitingResourceQueue LimitingResourceQueue : childrenToOpen) { - LimitingResourcesComponent child = getComponentFor(LimitingResourceQueue); - insertBefore(child, nextSibling); - nextSibling = child; - } - - } - - private List getChildrenReverseOrderFor( - LimitingResourceQueue line) { - List childrenOf = line.getAllChildren(); - Collections.reverse(childrenOf); - return childrenOf; } @Override diff --git a/ganttzk/src/main/java/org/zkoss/ganttz/limitingresources/LimitingResourcesPanel.java b/ganttzk/src/main/java/org/zkoss/ganttz/limitingresources/LimitingResourcesPanel.java index 8aad067f9..b7e3c34d5 100644 --- a/ganttzk/src/main/java/org/zkoss/ganttz/limitingresources/LimitingResourcesPanel.java +++ b/ganttzk/src/main/java/org/zkoss/ganttz/limitingresources/LimitingResourcesPanel.java @@ -195,25 +195,11 @@ public class LimitingResourcesPanel extends HtmlMacroComponent { .create(LimitingResourceQueue.class); for (LimitingResourceQueue LimitingResourceQueue : this.groups) { result.addToRoot(LimitingResourceQueue); - result = addNodes(result, LimitingResourceQueue); } return result; } - private MutableTreeModel addNodes( - MutableTreeModel tree, - LimitingResourceQueue parent) { - if (!parent.getChildren().isEmpty()) { - tree.add(parent, parent.getChildren()); - for (LimitingResourceQueue LimitingResourceQueue : parent - .getChildren()) { - tree = addNodes(tree, LimitingResourceQueue); - } - } - return tree; - } - private TimeTrackerComponent timeTrackerForResourcesLoadPanel( TimeTracker timeTracker) { return new TimeTrackerComponent(timeTracker) { diff --git a/ganttzk/src/main/resources/metainfo/zk/lang-addon.xml b/ganttzk/src/main/resources/metainfo/zk/lang-addon.xml index c81a8f191..f6b37d378 100755 --- a/ganttzk/src/main/resources/metainfo/zk/lang-addon.xml +++ b/ganttzk/src/main/resources/metainfo/zk/lang-addon.xml @@ -49,12 +49,6 @@ - - LimitingResourcesPanel - org.zkoss.ganttz.limitingresources.LimitingResourcesPanel - ~./ganttz/zul/limitingResourcesLayout.zul - - LimitingResourcesList org.zkoss.ganttz.limitingresources.LimitingResourcesList diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/limitingresources/LimitingResourceQueueModel.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/limitingresources/LimitingResourceQueueModel.java index f8ab2b4d7..6e8299540 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/limitingresources/LimitingResourceQueueModel.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/limitingresources/LimitingResourceQueueModel.java @@ -43,7 +43,6 @@ import org.navalplanner.business.orders.daos.IOrderElementDAO; import org.navalplanner.business.orders.entities.Order; import org.navalplanner.business.orders.entities.OrderElement; import org.navalplanner.business.planner.daos.IResourceAllocationDAO; -import org.navalplanner.business.planner.daos.ITaskElementDAO; import org.navalplanner.business.planner.entities.GenericResourceAllocation; import org.navalplanner.business.planner.entities.ResourceAllocation; import org.navalplanner.business.planner.entities.SpecificResourceAllocation; @@ -84,9 +83,6 @@ public class LimitingResourceQueueModel implements ILimitingResourceQueueModel { @Autowired private IOrderDAO orderDAO; - @Autowired - private ITaskElementDAO taskElementDAO; - @Autowired private IResourceAllocationDAO resourceAllocationDAO; @@ -173,27 +169,6 @@ public class LimitingResourceQueueModel implements ILimitingResourceQueueModel { return result; } - private Map> genericAllocationsByCriterion() { - if (filter()) { - List criterions = new ArrayList(); - List generics = new ArrayList(); - List tasks = justTasks(filterBy - .getAllChildrenAssociatedTaskElements()); - for (Task task : tasks) { - - List> listAllocations = new ArrayList>( - task.getSatisfiedResourceAllocations()); - for (GenericResourceAllocation generic : (onlyGeneric(listAllocations))) { - criterions.addAll(generic.getCriterions()); - } - } - return resourceAllocationDAO - .findGenericAllocationsBySomeCriterion(criterions); - } else { - return resourceAllocationDAO.findGenericAllocationsByCriterion(); - } - } - private List resourcesToShow() { if (filter()) { return resourcesForActiveTasks(); @@ -234,7 +209,7 @@ public class LimitingResourceQueueModel implements ILimitingResourceQueueModel { List result = new ArrayList(); for (Resource resource : allResources) { LimitingResourceQueue group = buildGroup(resource); - if (!group.isEmpty()) { + if (false || !group.isEmpty()) { result.add(group); } } @@ -245,11 +220,17 @@ public class LimitingResourceQueueModel implements ILimitingResourceQueueModel { List> sortedByStartDate = ResourceAllocation .sortedByStartDate(resourceAllocationDAO .findAllocationsRelatedTo(resource)); + TimeLineRole role = getCurrentTimeLineRole(resource); + + // Create ganttzk limitingResourceQueues LimitingResourceQueue result = new LimitingResourceQueue(buildTimeLine( resource, resource.getShortDescription(), sortedByStartDate, - "resource", role), - buildSecondLevel(resource, sortedByStartDate)); + "resource", role)); + + System.out.println("Allocations " + resource.getName() + " - " + + sortedByStartDate.size() + result.getResourceName()); + return result; } diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/limitingresources/LimitingResourcesController.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/limitingresources/LimitingResourcesController.java index 925738988..59a499deb 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/limitingresources/LimitingResourcesController.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/limitingresources/LimitingResourcesController.java @@ -75,7 +75,7 @@ public class LimitingResourcesController implements Composer { @Override public void doAfterCompose(org.zkoss.zk.ui.Component comp) throws Exception { this.parent = comp; - reload(); + // reload(); } public void reload() { diff --git a/navalplanner-webapp/src/main/resources/metainfo/zk/lang-addon.xml b/navalplanner-webapp/src/main/resources/metainfo/zk/lang-addon.xml index bd9d774e6..c97372823 100755 --- a/navalplanner-webapp/src/main/resources/metainfo/zk/lang-addon.xml +++ b/navalplanner-webapp/src/main/resources/metainfo/zk/lang-addon.xml @@ -82,4 +82,11 @@ /common/components/templateFinder.zul + + LimitingResourcesPanel + org.zkoss.ganttz.limitingresources.LimitingResourcesPanel + /limitingresources/limitingResourcesLayout.zul + + + diff --git a/ganttzk/src/main/resources/web/ganttz/zul/limitingResourcesLayout.zul b/navalplanner-webapp/src/main/webapp/limitingresources/limitingResourcesLayout.zul similarity index 100% rename from ganttzk/src/main/resources/web/ganttz/zul/limitingResourcesLayout.zul rename to navalplanner-webapp/src/main/webapp/limitingresources/limitingResourcesLayout.zul