Package net.sourceforge.ganttproject.task

Examples of net.sourceforge.ganttproject.task.Task


                "finishfinish"));
    }

    public TaskDependencyConstraint.Collision getCollision() {
        TaskDependencyConstraint.Collision result = null;
        Task dependee = getDependency().getDependee();
        Task dependant = getDependency().getDependant();
        GanttCalendar dependeeEnd = dependee.getEnd();
        GanttCalendar dependantEnd = dependant.getEnd();
        //
       
        int difference = getDependency().getDifference();
       
        GanttCalendar comparisonDate = dependeeEnd.Clone();
        comparisonDate.add(difference);
       
        boolean isActive = getDependency().getHardness()==TaskDependency.Hardness.RUBBER ? dependantEnd
                .compareTo(comparisonDate) < 0 : dependantEnd
                .compareTo(comparisonDate) != 0;

        GanttCalendar acceptableStart = dependant.getStart().Clone();

        // GanttCalendar acceptableStart = dependant.getStart();
        if (isActive) {
            Task clone = dependee.unpluggedClone();
            TaskMutator mutator = clone.createMutator();
            mutator.shift(-dependant.getDuration().getLength());
            acceptableStart = clone.getEnd();
        }
        addDelay(acceptableStart);
        result = new TaskDependencyConstraint.DefaultCollision(acceptableStart,
                TaskDependencyConstraint.Collision.START_LATER_VARIATION,
                isActive);
View Full Code Here


                "startfinish"));
    }

    public TaskDependencyConstraint.Collision getCollision() {
        TaskDependencyConstraint.Collision result = null;
        Task dependee = getDependency().getDependee();
        Task dependant = getDependency().getDependant();
        GanttCalendar dependeeStart = dependee.getStart();
        GanttCalendar dependantEnd = dependant.getEnd();
        //
        int difference = getDependency().getDifference();
        GanttCalendar comparisonDate = dependeeStart.Clone();
        comparisonDate.add(difference);

        boolean isActive = getDependency().getHardness()==TaskDependency.Hardness.RUBBER ? dependantEnd
                .compareTo(comparisonDate) < 0 : dependantEnd
                .compareTo(comparisonDate) != 0;

        // GanttCalendar acceptableStart = dependant.getStart();
        GanttCalendar acceptableStart = dependee.getStart().Clone();
        if (isActive) {
            Task clone = dependee.unpluggedClone();
            TaskMutator mutator = clone.createMutator();
            mutator.shift(-dependant.getDuration().getLength());
            acceptableStart = clone.getStart();
        }
        addDelay(acceptableStart);
        result = new TaskDependencyConstraint.DefaultCollision(acceptableStart,
                TaskDependencyConstraint.Collision.START_LATER_VARIATION,
                isActive);
View Full Code Here

      else {
        result = true;
      }
    }
    if (!result) {
      Task supertask = myTaskManager.getTaskHierarchy().getContainer(incoming);
      if (supertask!=null && myTaskManager.getTaskHierarchy().getRootTask()!=supertask) {
        result = isLooping(newChecked, supertask);
      }
    }
    return result;
View Full Code Here

      tasksInvolved.add(dep.getDependee());
      return _isLooping(dep, tasksInvolved);
    }

    private boolean _isLooping(TaskDependency dep, Set tasksInvolved) {
      Task dependant = dep.getDependant();
      if (tasksInvolved.contains(dependant)) {
        return true;
      }
      for (Iterator tasks = tasksInvolved.iterator(); tasks.hasNext();) {
        Task nextInvolved = (Task) tasks.next();
        if (false==getTaskHierarchy().areUnrelated(nextInvolved, dependant)) {
          return true;
        }
      }
      tasksInvolved.add(dependant);
View Full Code Here

    final int mySecondTaskID;

    public SearchKey(int type, TaskDependencyImpl taskDependency) {
        myType = type;
        Task firstTask, secondTask;
        switch (type) {
        case DEPENDANT: {
            firstTask = taskDependency.getDependant();
            secondTask = taskDependency.getDependee();
            break;
        }
        case DEPENDEE: {
            firstTask = taskDependency.getDependee();
            secondTask = taskDependency.getDependant();
            break;
        }
        default: {
            throw new RuntimeException("Invalid type=" + type);
        }
        }
        myFirstTaskID = firstTask.getTaskID();
        mySecondTaskID = secondTask.getTaskID();
    }
View Full Code Here

                "startstart"));
    }

    public TaskDependencyConstraint.Collision getCollision() {
        TaskDependencyConstraint.Collision result = null;
        Task dependee = getDependency().getDependee();
        Task dependant = getDependency().getDependant();
        GanttCalendar dependeeStart = dependee.getStart();
        GanttCalendar dependantStart = dependant.getStart();
        //
        int difference = getDependency().getDifference();
       GanttCalendar comparisonDate = dependeeStart.Clone();
       comparisonDate.add(difference);
View Full Code Here

                    // If there is no more indentation possible we must stop
                    if (!(newFather instanceof TaskNode)) {
                        continue;
                    }
                    if (cdmtn[i] instanceof TaskNode && newFather instanceof TaskNode) {
                      Task nextTask = (Task) cdmtn[i].getUserObject();
                      Task container = (Task) newFather.getUserObject();
                      if (!getTaskManager().getDependencyCollection().canCreateDependency(container, nextTask)) {
                        continue;
                      }
                      getTaskManager().getTaskHierarchy().move(nextTask, container);
                    }
View Full Code Here

    // update 21/03/2003
    /** Refresh the expantion (recursive function) */
    public void expandRefresh(DefaultMutableTreeNode moved) {
        if (moved instanceof TaskNode) {
            Task movedTask = (Task) moved.getUserObject();
            // if (expand.contains(new Integer(movedTask.getTaskID()))) {
            if (movedTask.getExpand())
                treetable.getTree().expandPath(new TreePath(moved.getPath()));

            Enumeration children = moved.children();
            while (children.hasMoreElements()) {
                expandRefresh((DefaultMutableTreeNode) children.nextElement());
View Full Code Here

                    {
                      for (int i = 0; i < cpDependencies.size(); i++) {
                        // for(int i=cpDependencies.size()-1; i >= 0; i--) {
                        TaskDependency td = ((TaskDependency) cpDependencies
                            .get(i));
                        Task dependee = td.getDependee();
                        Task dependant = td.getDependant();
                        TaskDependencyConstraint constraint = td
                                  .getConstraint();
                        for (int j = 0; j < allNodes.size(); j++) {
                          for (int k = 0; k < allNodes.size(); k++) {
                            if ((dependant
                                .equals((Task) (((DefaultMutableTreeNode) allNodes
                                    .get(j)).getUserObject())))
                                    && (dependee
                                        .equals((Task) (((DefaultMutableTreeNode) allNodes
                                            .get(k))
                                            .getUserObject())))) {
                              try {
                                TaskDependency newDependency = getTaskManager()
                                                  .getDependencyCollection()
                                                  .createDependency(
                                                      getTaskManager()
                                                                  .getTask(
                                                                        ((Integer) mapOriginalIDCopyID
                                                                                .get(new Integer(
                                                                                        dependant
                                                                                                .getTaskID())))
                                                                                .intValue()),
                                                        getTaskManager()
                                                                .getTask(
                                                                        ((Integer) mapOriginalIDCopyID
View Full Code Here

            getAllNodes(cdmtn[i]);
        }
        TaskDependency[] dependencies = getTaskManager()
                .getDependencyCollection().getDependencies();
        for (int i = 0; i < dependencies.length; i++) {
            Task dependant = dependencies[i].getDependant();
            Task dependee = dependencies[i].getDependee();
            for (int j = 0; j < allNodes.size(); j++) {
                for (int k = 0; k < allNodes.size(); k++)
                    if (((Task) (((DefaultMutableTreeNode) allNodes.get(j))
                            .getUserObject())).equals(dependant)
                            && ((Task) (((DefaultMutableTreeNode) allNodes
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.