Package net.sourceforge.ganttproject.task

Examples of net.sourceforge.ganttproject.task.Task


    getTaskManager().getDependencyCollection().createDependency(dependantTask, nestedTask);
    assertIsLooping(supertask, dependantTask);
  }
 
  public void testDependencyTargetedToNestedTask() throws Exception {
    Task supertask = getTaskManager().createTask();
    Task nestedTask = getTaskManager().createTask();
    nestedTask.move(supertask);
    assertIsLooping(supertask, nestedTask);   
  }
View Full Code Here


/**
* @author bard
*/
public class TestSetLength extends TestWeekendCalendar {
    public void testTaskStartingOnFridayLastingTwoDaysEndsOnTuesday() {
        Task t = getTaskManager().createTask();
        t.setStart(newFriday());
        t.setDuration(getTaskManager().createLength(GregorianTimeUnitStack.DAY,
                2));
        assertEquals(
                "unXpected end of task which starts on friday and is 2 days long",
                newTuesday(), t.getEnd());
    }
View Full Code Here

                "unXpected end of task which starts on friday and is 2 days long",
                newTuesday(), t.getEnd());
    }

    public void testTaskStartingOnSaturdayLastingOneDayEndsOnTuesday() {
        Task t = getTaskManager().createTask();
        t.setStart(newSaturday());
        t.setDuration(getTaskManager().createLength(GregorianTimeUnitStack.DAY,
                1));
        assertEquals(
                "unXpected end of task which starts on saturday and is 1 day long",
                newTuesday(), t.getEnd());
    }
View Full Code Here

                "unXpected end of task which starts on saturday and is 1 day long",
                newTuesday(), t.getEnd());
    }

    public void testTaskStartingOnSundayLastingOneDayEndsOnTuesday() {
        Task t = getTaskManager().createTask();
        t.setStart(newSunday());
        t.setDuration(getTaskManager().createLength(GregorianTimeUnitStack.DAY,
                1));
        assertEquals(
                "unXpected end of task which starts on sunday and is 1 day long",
                newTuesday(), t.getEnd());

    }
View Full Code Here

import net.sourceforge.ganttproject.task.dependency.constraint.FinishStartConstraintImpl;
import net.sourceforge.ganttproject.test.task.TaskTestCase;

public class Test1362749 extends TaskTestCase{
    public void testBugReport1362749() throws Exception {
        Task t1 = getTaskManager().createTask();
        Task t2 = getTaskManager().createTask();
        Task t3 = getTaskManager().createTask();
        Task t4 = getTaskManager().createTask();
        getTaskManager().getDependencyCollection().createDependency(t4, t3, new FinishStartConstraintImpl());
        getTaskManager().getDependencyCollection().createDependency(t1, t3, new FinishFinishConstraintImpl());
        getTaskManager().getDependencyCollection().createDependency(t2, t4, new FinishFinishConstraintImpl());
        TaskMutator mutator = t3.createMutator();
        mutator.setDuration(getTaskManager().createLength(3));
        mutator.commit();
        getTaskManager().getAlgorithmCollection().getRecalculateTaskScheduleAlgorithm().run(t3);
        //
        assertEquals("Task="+t4+" is expected to start when task="+t3+" finishes", t3.getEnd(), t4.getStart());
        assertEquals("Task="+t1+" is expected to finish together with task="+t3, t1.getEnd(), t3.getEnd());
        assertEquals("Task="+t2+" is expected to finish together with task="+t4, t2.getEnd(), t4.getEnd());
        assertTrue("It is expected that start date of task="+t1+" is less than start date of task="+t2, t1.getStart().compareTo(t2.getStart())<0);
    }
View Full Code Here

        List visibleActivities = new ArrayList();
        myActivity2ordinalNumber.clear();
        for (int i = 0; i < visibleTasks.size(); i++) {
            if (visibleTasks.get(i).equals(BlankLineNode.BLANK_LINE))
                continue; // todo a revoir...
            Task nextTask = (Task) visibleTasks.get(i);

            Integer nextOrdinal = new Integer(i);
            if (nextTask == null) {
                continue; // case of space
            }
            TaskActivity[] activities = nextTask.getActivities();
            //System.err.println("[TaskRendererImpl]task="+nextTask+"\nactivities="+java.util.Arrays.asList(activities));
            float totalTaskLength = 0;
            for (int j = 0; j < activities.length; j++) {
              final TaskActivity nextActivity = activities[j];
                myActivity2ordinalNumber.put(nextActivity, nextOrdinal);
                visibleActivities.add(nextActivity);
                if (!nextActivity.getEnd().before(getChartModel().getStartDate()) &&
                   nextActivity.getIntensity() > 0) {
                  totalTaskLength +=
                    activities[j].getDuration().getLength(getChartModel().getBottomUnit()) *
                    getChartModel().getBottomUnitWidth();
                }
            }
            myTask_WorkingRectanglesLength.put(nextTask, new Long(
                    (long) (totalTaskLength
                            * nextTask.getCompletionPercentage() / 100)));
        }
        Set hashedVisible = new HashSet(visibleActivities);
        Integer maxOrdinal = new Integer(hashedVisible.size()+1);
        Integer minOrdinal = new Integer(-2);
        for (int i=0; i<visibleTasks.size(); i++) {
            Task next = (Task)visibleTasks.get(i);
            TaskDependency[] dependencies = next.getDependenciesAsDependant().toArray();
            for (int j=0; j<dependencies.length; j++) {
                TaskDependency nextDependency = dependencies[j];
                TaskActivity dependeeActivity = nextDependency.getActivityBinding().getDependeeActivity();
                if (hashedVisible.contains(dependeeActivity)) {
                    continue;
                }
                Task dependeeTask = dependeeActivity.getTask();
                if (false==getChartModel().getTaskManager().getTaskHierarchy().contains(dependeeTask)) {
                    continue;
                }
                if (false==isPathExpanded(dependeeTask)) {
                    continue;
                }
                int diff = getChartModel().getTaskManager().getTaskHierarchy().compareDocumentOrder(next, dependeeTask);
                assert diff!=0;
                Integer dependeePosition = diff<0 ? maxOrdinal : minOrdinal;
                myActivity2ordinalNumber.put(dependeeActivity, dependeePosition);
                visibleActivities.add(dependeeActivity);
                hashedVisible.add(dependeeActivity);
            }
            dependencies = next.getDependenciesAsDependee().toArray();
            for (int j=0; j<dependencies.length; j++) {
                TaskDependency nextDependency = dependencies[j];
                TaskActivity dependantActivity = nextDependency.getActivityBinding().getDependantActivity();
                if (hashedVisible.contains(dependantActivity)) {
                    continue;
                }
                Task dependantTask = dependantActivity.getTask();
                if (false==getChartModel().getTaskManager().getTaskHierarchy().contains(dependantTask)) {
                    continue;
                }
                if (false==isPathExpanded(dependantTask)) {
                    continue;
View Full Code Here

            processRegularActivity(nextStarted);
        }
    }

    private Rectangle processRegularActivity(TaskActivity nextStarted) {
        Task nextTask = nextStarted.getTask();
        if (nextTask.isMilestone() && !nextStarted.isFirst()) {
            return null;
        }
        java.awt.Rectangle nextBounds = getBoundingRectangle(nextStarted);
        int nextLength = (int) nextBounds.width;
        int topy = nextBounds.y;
        topy = topy + (getRowHeight() - 20) / 2;
        if (myModel.isOnlyDown())
            topy = topy - 6;
        else if (myModel.isOnlyUp())
            topy = topy + 6;
        if (myModel.isPrevious())
            topy = topy - 5;

//        int posX = myPosX;
        GraphicPrimitiveContainer.Rectangle nextRectangle;
//        // if (nextStarted.getStart().compareTo(myUnitStart)>=0) {
//        TaskLength deltaLength = nextTask.getManager().createLength(
//                getChartModel().getTimeUnitStack().getDefaultTimeUnit(),
//                myUnitStart, nextStarted.getStart());
//
//        int deltaX = (int) (deltaLength.getLength(myCurrentUnit) * getChartModel()
//                .getBottomUnitWidth());
//        posX += deltaX;
        // System.err.println("[TaskRendererImpl] myUnitStart="+myUnitStart+"
        // nextActivity="+nextStarted+" deltaX="+deltaX+"
        // deltaLength="+deltaLength.getLength(myCurrentUnit));
        // }
        // else {
        // nextRectangle =
        // getPrimitiveContainer().createRectangle(myPosX+getChartModel().getBottomUnitWidth()-nextLength,
        // topy, nextLength, getRowHeight()*3/5);
        // }

        boolean nextHasNested = ((ChartModelImpl) getChartModel())
                .getTaskContainment().hasNestedTasks(nextTask); // JA Switch to
        GraphicPrimitiveContainer container = getContainerFor(nextTask);
        nextRectangle = container.createRectangle(nextBounds.x, topy, (int) nextLength,
                12); // CodeReview: why 12, not 15?
        // System.err.println("task="+nextStarted.getTask()+" nested tasks
        // length="+nextStarted.getTask().getNestedTasks().length);
        if (nextStarted.getTask().isMilestone()) {
            nextRectangle.setStyle("task.milestone");
        } else if (nextTask.isProjectTask()) {
            nextRectangle.setStyle("task.projectTask");
            if (nextStarted.isFirst()) {
                // CodeReview: why 12, not 15?
                GraphicPrimitiveContainer.Rectangle supertaskStart = container
                        .createRectangle(nextRectangle.myLeftX, topy,
                                (int) nextLength, 12);
                supertaskStart.setStyle("task.projectTask.start");
            }
            if (nextStarted.isLast()) {
                GraphicPrimitiveContainer.Rectangle supertaskEnd = container
                        .createRectangle(myPosX - 1, topy, (int) nextLength, 12);
                supertaskEnd.setStyle("task.projectTask.end");

            }
        } else if (nextHasNested) {
            nextRectangle.setStyle("task.supertask");
            if (nextStarted.isFirst()) {
                // CodeReview: why 12, not 15?
                GraphicPrimitiveContainer.Rectangle supertaskStart = container
                        .createRectangle(nextRectangle.myLeftX, topy,
                                (int) nextLength, 12);
                supertaskStart.setStyle("task.supertask.start");
            }
            if (nextStarted.isLast()) {
                // CodeReview: why 12, not 15?
                GraphicPrimitiveContainer.Rectangle supertaskEnd = container
                        .createRectangle(nextRectangle.myLeftX, topy, (int) nextLength, 12);
                supertaskEnd.setStyle("task.supertask.end");

            }
        } else if (nextStarted.getIntensity() == 0f) {
            nextRectangle.setStyle("task.holiday");
        } else {
            if (nextStarted.isFirst() && nextStarted.isLast()) {
                nextRectangle.setStyle("task.startend");
            }
            else if (false==nextStarted.isFirst() ^ nextStarted.isLast()) {
                nextRectangle.setStyle("task");               
            }
            else if (nextStarted.isFirst()) {
                nextRectangle.setStyle("task.start");
            }
            else if (nextStarted.isLast()) {
                nextRectangle.setStyle("task.end");
            }
        }
        if (myProgressRenderingEnabled && !nextTask.isMilestone() && !nextHasNested) {
            renderProgressBar(nextStarted, nextRectangle);
        }
        if (!"task.holiday".equals(nextRectangle.getStyle())
                && !"task.supertask".equals(nextRectangle.getStyle())) {
            nextRectangle.setBackgroundColor(nextStarted.getTask().getColor());
View Full Code Here

            GraphicPrimitiveContainer.Rectangle nextActivityRectangle) {
       
        if (nextStarted.getIntensity()==0) {
            return;
        }
        Task nextTask = nextStarted.getTask();
        int nextLength = nextActivityRectangle.myWidth;
        Long workingRectanglesLength = (Long) myTask_WorkingRectanglesLength
                .get(nextTask);
        if (workingRectanglesLength != null) {
            long nextProgressLength = nextLength;
View Full Code Here

        List/* <Task> */visibleTasks = ((ChartModelImpl) getChartModel())
                .getVisibleTasks();
        for (int i = 0; i < visibleTasks.size(); i++) {
            if (visibleTasks.get(i).equals(BlankLineNode.BLANK_LINE))
                continue; // todo a revoir...
            Task nextTask = (Task) visibleTasks.get(i);
            if (nextTask != null)
                prepareDependencyDrawData(nextTask, result);
        }
        return result;
    }
View Full Code Here

        if (myModel.isPrevious()) {
            List visibleTasks = ((ChartModelImpl) getChartModel())
                    .getVisibleTasks();

            for (int i = 0; i < visibleTasks.size(); i++) {
                Task task = (Task) visibleTasks.get(i);
                int index = getPreviousStateTaskIndex(task);
                GPCalendar calendar = myModel.getTaskManager().getCalendar();
                if (index != -1) {
                    GanttPreviousStateTask previousStateTask = (GanttPreviousStateTask) myPreviousStateTasks
                            .get(index);
View Full Code Here

TOP

Related Classes of net.sourceforge.ganttproject.task.Task

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.