From 874430b6d9b49a41a73088a77e2d22e06304fc8f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=93scar=20Gonz=C3=A1lez=20Fern=C3=A1ndez?= Date: Mon, 5 Oct 2009 19:23:36 +0200 Subject: [PATCH] ItEr29S08CUCreacionProxectoPlanificacionItEr28S09: Creating ResourceLoadForOrderCommand and wiring it --- .../navalplanner/web/common/ViewSwitcher.java | 4 ++ .../planner/IResourceLoadForOrderCommand.java | 36 +++++++++++ .../web/planner/OrderPlanningModel.java | 6 ++ .../planner/ResourceLoadForOrderCommand.java | 60 +++++++++++++++++++ .../navalplanner-webapp-spring-config.xml | 1 + 5 files changed, 107 insertions(+) create mode 100644 navalplanner-webapp/src/main/java/org/navalplanner/web/planner/IResourceLoadForOrderCommand.java create mode 100644 navalplanner-webapp/src/main/java/org/navalplanner/web/planner/ResourceLoadForOrderCommand.java diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/common/ViewSwitcher.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/common/ViewSwitcher.java index ae1ae7088..61458cb3a 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/common/ViewSwitcher.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/common/ViewSwitcher.java @@ -71,4 +71,8 @@ public class ViewSwitcher implements Composer { isInPlanningOrder = true; } + public void goToResourceLoad() { + // TODO implement + } + } diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/IResourceLoadForOrderCommand.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/IResourceLoadForOrderCommand.java new file mode 100644 index 000000000..f3e2c8567 --- /dev/null +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/IResourceLoadForOrderCommand.java @@ -0,0 +1,36 @@ +/* + * This file is part of ###PROJECT_NAME### + * + * 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.web.planner; + +import org.navalplanner.business.orders.entities.Order; +import org.navalplanner.business.planner.entities.TaskElement; +import org.navalplanner.web.common.ViewSwitcher; +import org.zkoss.ganttz.extensions.ICommand; + +/** + * @author Óscar González Fernández + * + */ +public interface IResourceLoadForOrderCommand extends ICommand{ + + public void initialize(Order order, ViewSwitcher switcher, + PlanningState planningState); + +} diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/OrderPlanningModel.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/OrderPlanningModel.java index 1953f92d9..c67e6507b 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/OrderPlanningModel.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/OrderPlanningModel.java @@ -90,6 +90,10 @@ public abstract class OrderPlanningModel implements IOrderPlanningModel { saveCommand.setState(planningState); configuration.addGlobalCommand(saveCommand); + IResourceLoadForOrderCommand resourceLoadForOrderCommand = getResourceLoadForOrderCommand(); + resourceLoadForOrderCommand.initialize(order, switcher, planningState); + configuration.addGlobalCommand(resourceLoadForOrderCommand); + IResourceAllocationCommand resourceAllocationCommand = getResourceAllocationCommand(); resourceAllocationCommand.initialize(resourceAllocationController, planningState); @@ -199,6 +203,8 @@ public abstract class OrderPlanningModel implements IOrderPlanningModel { protected abstract ICalendarAllocationCommand getCalendarAllocationCommand(); + protected abstract IResourceLoadForOrderCommand getResourceLoadForOrderCommand(); + private Order reload(Order order) { try { return orderDAO.find(order.getId()); diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/ResourceLoadForOrderCommand.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/ResourceLoadForOrderCommand.java new file mode 100644 index 000000000..09c9392cf --- /dev/null +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/ResourceLoadForOrderCommand.java @@ -0,0 +1,60 @@ +/* + * This file is part of ###PROJECT_NAME### + * + * 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.web.planner; + +import static org.navalplanner.web.I18nHelper._; + +import org.navalplanner.business.orders.entities.Order; +import org.navalplanner.business.planner.entities.TaskElement; +import org.navalplanner.web.common.ViewSwitcher; +import org.springframework.beans.factory.config.BeanDefinition; +import org.springframework.context.annotation.Scope; +import org.springframework.stereotype.Component; +import org.zkoss.ganttz.extensions.IContext; +/** + * @author Óscar González Fernández + * + */ +@Component +@Scope(BeanDefinition.SCOPE_PROTOTYPE) +public class ResourceLoadForOrderCommand implements + IResourceLoadForOrderCommand { + + private PlanningState planningState; + private ViewSwitcher switcher; + + @Override + public void initialize(Order order, ViewSwitcher switcher, + PlanningState planningState) { + this.switcher = switcher; + this.planningState = planningState; + } + + @Override + public void doAction(IContext context) { + switcher.goToResourceLoad(); + } + + @Override + public String getName() { + return _("Resource Load"); + } + +} diff --git a/navalplanner-webapp/src/main/resources/navalplanner-webapp-spring-config.xml b/navalplanner-webapp/src/main/resources/navalplanner-webapp-spring-config.xml index 59fdc6027..d24f3a4ac 100644 --- a/navalplanner-webapp/src/main/resources/navalplanner-webapp-spring-config.xml +++ b/navalplanner-webapp/src/main/resources/navalplanner-webapp-spring-config.xml @@ -24,6 +24,7 @@ +