diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/DataForPlanner.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/DataForPlanner.java deleted file mode 100644 index 3082a7031..000000000 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/DataForPlanner.java +++ /dev/null @@ -1,398 +0,0 @@ -/* - * 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 java.math.BigDecimal; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Calendar; -import java.util.Date; -import java.util.List; - -import org.joda.time.DateTime; -import org.joda.time.Duration; -import org.joda.time.LocalDate; -import org.zkoss.ganttz.Planner; -import org.zkoss.ganttz.TaskEditFormComposer; -import org.zkoss.ganttz.adapters.AutoAdapter; -import org.zkoss.ganttz.adapters.DomainDependency; -import org.zkoss.ganttz.adapters.IStructureNavigator; -import org.zkoss.ganttz.adapters.PlannerConfiguration; -import org.zkoss.ganttz.adapters.TabsConfiguration; -import org.zkoss.ganttz.data.DefaultFundamentalProperties; -import org.zkoss.ganttz.data.DependencyType; -import org.zkoss.ganttz.data.GanttDiagramGraph; -import org.zkoss.ganttz.data.ITaskFundamentalProperties; -import org.zkoss.ganttz.data.resourceload.LoadLevel; -import org.zkoss.ganttz.data.resourceload.LoadPeriod; -import org.zkoss.ganttz.data.resourceload.LoadTimeLine; -import org.zkoss.ganttz.data.resourceload.LoadTimelinesGroup; -import org.zkoss.ganttz.extensions.ICommand; -import org.zkoss.ganttz.extensions.ICommandOnTask; -import org.zkoss.ganttz.extensions.IContext; -import org.zkoss.ganttz.extensions.IContextWithPlannerTask; -import org.zkoss.ganttz.extensions.ITab; -import org.zkoss.ganttz.resourceload.ResourcesLoadPanel; -import org.zkoss.ganttz.timetracker.TimeTracker; -import org.zkoss.zk.ui.Component; - -/** - * Some test data for planner
- * @author Óscar González Fernández - */ -public class DataForPlanner { - - private TaskEditFormComposer taskEditForm = new TaskEditFormComposer(); - - public DataForPlanner() { - - } - - public GanttDiagramGraph getEmpty() { - return new GanttDiagramGraph(); - } - - private PlannerConfiguration setup( - PlannerConfiguration configuration) { - addCommands(configuration); - return configuration; - } - - private List createFakeDataForResourcesLoad() { - List result = new ArrayList(); - LoadTimeLine resource1 = new LoadTimeLine("resource1", - createFakePeriodsStartingAt(new LocalDate(2009, 2, 3), Duration - .standardDays(20), Duration.standardDays(90), 3)); - LoadTimeLine task1 = new LoadTimeLine("task1", - createFakePeriodsStartingAt(new LocalDate(2009, 5, 4), Duration - .standardDays(20), Duration.standardDays(70), 3)); - LoadTimeLine task2 = new LoadTimeLine("task2", - createFakePeriodsStartingAt(new LocalDate(2009, 4, 1), Duration - .standardDays(20), Duration.standardDays(90), 3)); - LoadTimeLine task3 = new LoadTimeLine("task3", - createFakePeriodsStartingAt(new LocalDate(2009, 6, 1), Duration - .standardDays(20), Duration.standardDays(40), 4)); - LoadTimeLine resource2 = new LoadTimeLine( - "resource1", - createFakePeriodsStartingAt(new LocalDate(2009, 10, 1), - Duration.standardDays(20), Duration.standardDays(90), 2)); - - LoadTimeLine resource3 = new LoadTimeLine("resource3", - createFakePeriodsStartingAt(new LocalDate(2009, 2, 3), Duration - .standardDays(20), Duration.standardDays(90), 3)); - LoadTimeLine task4 = new LoadTimeLine("task4", - createFakePeriodsStartingAt(new LocalDate(2009, 5, 4), Duration - .standardDays(20), Duration.standardDays(70), 3)); - LoadTimeLine task5 = new LoadTimeLine("task5", - createFakePeriodsStartingAt(new LocalDate(2009, 4, 1), Duration - .standardDays(20), Duration.standardDays(90), 3)); - LoadTimeLine task6 = new LoadTimeLine("task6", - createFakePeriodsStartingAt(new LocalDate(2009, 6, 1), Duration - .standardDays(20), Duration.standardDays(40), 4)); - LoadTimeLine resource4 = new LoadTimeLine( - "resource4", - createFakePeriodsStartingAt(new LocalDate(2009, 10, 1), - Duration.standardDays(20), Duration.standardDays(90), 2)); - - result.add(new LoadTimelinesGroup(resource1, Arrays - .asList(task1, task2))); - result.add(new LoadTimelinesGroup(resource2, Arrays.asList(task3))); - - result.add(new LoadTimelinesGroup(resource3, Arrays - .asList(task4, task5))); - result.add(new LoadTimelinesGroup(resource4, Arrays.asList(task6))); - - return result; - } - - private List createFakePeriodsStartingAt(LocalDate start, - Duration separation, Duration periodLength, int numberOfPeriods) { - DateTime current = start.toDateMidnight().toDateTime(); - List result = new ArrayList(); - for (int i = 0; i < numberOfPeriods; i++) { - DateTime previous = current.plus(separation); - current = previous.plus(periodLength); - result - .add(new LoadPeriod(previous.toLocalDate(), current - .toLocalDate(), new LoadLevel( - (int) (Math.random() * 150)))); - } - return result; - } - - private void addCommands( - PlannerConfiguration configuration) { - configuration - .addGlobalCommand(new ICommand() { - - @Override - public String getName() { - return _("Add Task"); - } - - @Override - public void doAction( - IContext context) { - addNewTask(context); - } - }); - configuration - .setGoingDownInLastArrowCommand(new ICommand() { - - @Override - public void doAction( - IContext context) { - addNewTask(context); - } - - @Override - public String getName() { - return ""; - } - }); - configuration - .addCommandOnTask(new ICommandOnTask() { - @Override - public void doAction( - IContextWithPlannerTask context, - ITaskFundamentalProperties task) { - context.remove(task); - } - - @Override - public String getName() { - return _("Remove"); - } - - }); - configuration - .setEditTaskCommand(new ICommandOnTask() { - - @Override - public void doAction( - IContextWithPlannerTask context, - ITaskFundamentalProperties task) { - taskEditForm.showEditFormFor(context.getRelativeTo(), - context.getTask()); - } - - @Override - public String getName() { - return ""; - } - }); - } - - public TabsConfiguration getLightLoad() { - return addTabs(setup(getModelWith(20))); - } - - private TabsConfiguration addTabs( - PlannerConfiguration plannerConfiguration) { - return TabsConfiguration.create().add( - createPlannerTab(plannerConfiguration)).add(createLoadTab()); - } - - private ITab createLoadTab() { - return new ITab() { - - private Component parent; - - private ResourcesLoadPanel loadPanel; - - @Override - public void show() { - loadPanel.setParent(parent); - loadPanel.afterCompose(); - } - - private TimeTracker timeTracker( - List dataForLoadPanel) { - return new TimeTracker(LoadTimelinesGroup - .getIntervalFrom(dataForLoadPanel)); - } - - @Override - public void hide() { - if (loadPanel != null) { - loadPanel.detach(); - } - } - - @Override - public String getName() { - return _("Resource Load"); - } - - @Override - public void addToParent(Component parent) { - this.parent = parent; - List dataForLoadPanel = createFakeDataForResourcesLoad(); - loadPanel = new ResourcesLoadPanel(dataForLoadPanel, - timeTracker(dataForLoadPanel)); - } - }; - } - - private ITab createPlannerTab( - final PlannerConfiguration plannerConfiguration) { - return new ITab() { - - private Planner planner; - private Component parent; - @Override - public void show() { - if (isFirstTime()) { - getPlanner(plannerConfiguration); - } else { - planner.setParent(parent); - } - } - - private boolean isFirstTime() { - return planner == null; - } - - private void getPlanner( - final PlannerConfiguration plannerConfiguration) { - planner = new Planner(); - planner.setParent(parent); - planner.afterCompose(); - planner.setConfiguration(plannerConfiguration); - } - - @Override - public void hide() { - if (planner != null) { - planner.detach(); - } - } - - @Override - public String getName() { - return _("Planner"); - } - - @Override - public void addToParent(Component parent) { - this.parent = parent; - } - }; - } - - public TabsConfiguration getMediumLoad() { - return addTabs(setup(getModelWith(300))); - } - - public TabsConfiguration getHighLoad() { - return addTabs(setup(getModelWith(500))); - } - - private PlannerConfiguration getModelWith( - int tasksToCreate) { - List list = new ArrayList(); - Date now = new Date(); - Date end = twoMonthsLater(now); - final ITaskFundamentalProperties container = createTask(_("container"), - now, end); - final List containerChildren = new ArrayList(); - final ITaskFundamentalProperties child1 = createTask(_("child 1"), now, - end); - containerChildren.add(child1); - final DefaultFundamentalProperties child2 = createTask(_("another"), - now, end); - containerChildren.add(child2); - list.add(container); - final ITaskFundamentalProperties first = createTask(_("task1"), now, - end); - final ITaskFundamentalProperties second = createTask(_("task2"), now, - end); - list.add(first); - list.add(second); - for (int i = 2; i < tasksToCreate - 3; i++) { - String name = _("task{0}", (i + 1)); - ITaskFundamentalProperties task = createTask(name, now, end); - list.add(task); - } - IStructureNavigator navigator = new IStructureNavigator() { - - @Override - public List getChildren( - ITaskFundamentalProperties object) { - if (object == container) - return containerChildren; - return new ArrayList(); - } - - @Override - public boolean isLeaf(ITaskFundamentalProperties object) { - return object != container; - } - - @Override - public boolean isMilestone(ITaskFundamentalProperties object) { - return false; - } - }; - return new PlannerConfiguration( - new AutoAdapter() { - @Override - public List> getOutcomingDependencies( - ITaskFundamentalProperties object) { - List> result = new ArrayList>(); - if (child1 == object) { - result.add(DomainDependency.createDependency( - child1, child2, DependencyType.END_START)); - } else if (first == object) { - result.add(DomainDependency.createDependency(first, - second, DependencyType.END_START)); - } - return result; - } - }, navigator, list); - } - - private DefaultFundamentalProperties createTask(String name, Date now, - Date end) { - return new DefaultFundamentalProperties(name, end, end.getTime() - - now.getTime(), _("bla"), now, now, new BigDecimal(0.25), - new BigDecimal(0.5)); - } - - private void addNewTask(IContext context) { - context.add(createTask(_("New task"), new Date(), - twoMonthsLater(new Date()))); - } - - - private static Date twoMonthsLater(Date now) { - Calendar calendar = Calendar.getInstance(); - calendar.setTime(now); - calendar.add(Calendar.MONTH, 2); - return calendar.getTime(); - } - - public TaskEditFormComposer getTaskEditForm() { - return taskEditForm; - } -}