From cf2ec63014bcf17e84f3c5b4d8a8d0336886578c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=93scar=20Gonz=C3=A1lez=20Fern=C3=A1ndez?= Date: Mon, 11 Jan 2010 14:30:25 +0100 Subject: [PATCH] ItEr43S09ImplantacionAplicacionItEr42S13: Adding call to reloadCharts when doing a resource allocation --- .../allocation/IResourceAllocationModel.java | 4 +++- .../allocation/ResourceAllocationCommand.java | 4 ++-- .../allocation/ResourceAllocationController.java | 10 ++++++---- .../planner/allocation/ResourceAllocationModel.java | 13 +++++++++---- 4 files changed, 20 insertions(+), 11 deletions(-) diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/allocation/IResourceAllocationModel.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/allocation/IResourceAllocationModel.java index 836166158..b74628c7b 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/allocation/IResourceAllocationModel.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/allocation/IResourceAllocationModel.java @@ -25,7 +25,9 @@ import java.util.List; import org.navalplanner.business.common.ProportionalDistributor; import org.navalplanner.business.orders.entities.AggregatedHoursGroup; import org.navalplanner.business.planner.entities.Task; +import org.navalplanner.business.planner.entities.TaskElement; import org.navalplanner.web.planner.order.PlanningState; +import org.zkoss.ganttz.extensions.IContextWithPlannerTask; /** * Contract for {@link Task}. @@ -56,7 +58,7 @@ public interface IResourceAllocationModel extends INewAllocationsAdder { * @param planningState */ AllocationRowsHandler initAllocationsFor(Task task, - org.zkoss.ganttz.data.Task ganttTask, + IContextWithPlannerTask context, PlanningState planningState); void accept(AllocationResult modifiedAllocationResult); diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/allocation/ResourceAllocationCommand.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/allocation/ResourceAllocationCommand.java index db5bf6fa1..17499b804 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/allocation/ResourceAllocationCommand.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/allocation/ResourceAllocationCommand.java @@ -49,8 +49,8 @@ public class ResourceAllocationCommand implements IResourceAllocationCommand { public void doAction(IContextWithPlannerTask context, TaskElement task) { if (isApplicableTo(task)) { - this.resourceAllocationController.showWindow((Task) task, context - .getTask(), planningState); + this.resourceAllocationController.showWindow(context, (Task) task, + planningState); } } diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/allocation/ResourceAllocationController.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/allocation/ResourceAllocationController.java index 0c7fb42ab..798ea4699 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/allocation/ResourceAllocationController.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/allocation/ResourceAllocationController.java @@ -36,7 +36,7 @@ import org.navalplanner.business.planner.entities.AggregateOfResourceAllocations import org.navalplanner.business.planner.entities.CalculatedValue; import org.navalplanner.business.planner.entities.DerivedAllocation; import org.navalplanner.business.planner.entities.ResourceAllocation; -import org.navalplanner.business.planner.entities.Task; +import org.navalplanner.business.planner.entities.TaskElement; import org.navalplanner.business.resources.entities.ResourceEnum; import org.navalplanner.web.common.IMessagesForUser; import org.navalplanner.web.common.MessagesForUser; @@ -49,6 +49,7 @@ import org.navalplanner.web.planner.allocation.AdvancedAllocationController.Rest import org.navalplanner.web.planner.order.PlanningState; import org.springframework.beans.factory.config.BeanDefinition; import org.springframework.context.annotation.Scope; +import org.zkoss.ganttz.extensions.IContextWithPlannerTask; import org.zkoss.ganttz.timetracker.ICellForDetailItemRenderer; import org.zkoss.ganttz.timetracker.IConvertibleToColumn; import org.zkoss.ganttz.timetracker.OnColumnsRowRenderer; @@ -181,15 +182,16 @@ public class ResourceAllocationController extends GenericForwardComposer { * @param ganttTask * @param planningState */ - public void showWindow(Task task, org.zkoss.ganttz.data.Task ganttTask, + public void showWindow(IContextWithPlannerTask context, + org.navalplanner.business.planner.entities.Task task, PlanningState planningState) { try { if (formBinder != null) { formBinder.detach(); } window.setTitle(task.getName()); - allocationRows = resourceAllocationModel.initAllocationsFor( - task, ganttTask, planningState); + allocationRows = resourceAllocationModel.initAllocationsFor(task, + context, planningState); formBinder = allocationRows .createFormBinder(resourceAllocationModel); formBinder.setAssignedHoursComponent(assignedHoursComponent); diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/allocation/ResourceAllocationModel.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/allocation/ResourceAllocationModel.java index e03d455c9..4eae20f5b 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/allocation/ResourceAllocationModel.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/allocation/ResourceAllocationModel.java @@ -40,6 +40,7 @@ import org.navalplanner.business.planner.entities.DerivedAllocation; import org.navalplanner.business.planner.entities.GenericResourceAllocation; import org.navalplanner.business.planner.entities.ResourceAllocation; import org.navalplanner.business.planner.entities.Task; +import org.navalplanner.business.planner.entities.TaskElement; import org.navalplanner.business.planner.entities.DerivedAllocationGenerator.IWorkerFinder; import org.navalplanner.business.resources.daos.ICriterionDAO; import org.navalplanner.business.resources.daos.IResourceDAO; @@ -56,6 +57,7 @@ import org.springframework.beans.factory.config.BeanDefinition; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.zkoss.ganttz.extensions.IContextWithPlannerTask; /** * Model for UI operations related to {@link Task} @@ -80,8 +82,6 @@ public class ResourceAllocationModel implements IResourceAllocationModel { private Task task; - private org.zkoss.ganttz.data.Task ganttTask; - @Autowired private IBaseCalendarDAO calendarDAO; @@ -92,6 +92,8 @@ public class ResourceAllocationModel implements IResourceAllocationModel { private AllocationRowsHandler allocationRowsHandler; + private IContextWithPlannerTask context; + @Override @Transactional(readOnly = true) public void addSpecific(Collection resources) { @@ -198,18 +200,21 @@ public class ResourceAllocationModel implements IResourceAllocationModel { } private void applyAllocationResult(AllocationResult allocationResult) { + org.zkoss.ganttz.data.Task ganttTask = context.getTask(); Date previousStartDate = ganttTask.getBeginDate(); long previousLength = ganttTask.getLengthMilliseconds(); allocationResult.applyTo(task); ganttTask.fireChangesForPreviousValues(previousStartDate, previousLength); + context.reloadCharts(); } @Override @Transactional(readOnly = true) public AllocationRowsHandler initAllocationsFor(Task task, - org.zkoss.ganttz.data.Task ganttTask, PlanningState planningState) { - this.ganttTask = ganttTask; + IContextWithPlannerTask context, + PlanningState planningState) { + this.context = context; this.task = task; this.planningState = planningState; planningState.reassociateResourcesWithSession(resourceDAO);