Advertisement
Guest User

Untitled

a guest
Apr 16th, 2014
45
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.52 KB | None | 0 0
  1. public static ArrayList<ProjectFile> MakeChildren(ProjectFile project, double maxDuration, double maxCost)
  2.     {
  3.         ArrayList<ProjectFile> childrenProjects = new ArrayList<ProjectFile>();
  4.  
  5.         List<Task> tasks = ResourceAssignmentUtilities.getTasksWithoutAssignments(project);
  6.  
  7.         if (!tasks.isEmpty())
  8.         {
  9.             Task task = tasks.get(0);
  10.             tasks.clear();
  11.             Qualification qual1 = SkillsUtilities.strToQualification(task.getText(1));
  12.  
  13.             List<Resource> resources = SkillsUtilities.resourcesMatchingQualification(qual1, project.getAllResources());
  14.  
  15.             for (Resource resource : resources)
  16.             {
  17.  
  18.                 ProjectFile temp = ProjectCloner.createBaseProject(project,true);
  19.                 Task taskTemp = TaskUtilities.findTaskOnList(temp.getAllTasks(), task.getName());
  20.                 Resource resourceTemp = ResourceUtilities.findResource(temp.getAllResources(), resource.getName());
  21.                 ResourceAssignment ra = taskTemp.addResourceAssignment(resourceTemp);
  22.                 ra.setStart(taskTemp.getStart());
  23.                 ra.setWork(taskTemp.getDuration());
  24.                 ra.setRemainingWork(ra.getWork());
  25.                 ra.setCost(ra.getWork().getDuration() * resourceTemp.getStandardRate().getAmount());
  26.  
  27.  
  28.                 ConflictFixer.pack(temp);
  29.                 ConflictFixer.fixConflicts(temp);
  30.  
  31.                 if ((optimalizationMethod == OptimalizationMethod.DurationOpt && Eval.getProjectDuration(temp) <= maxDuration)
  32.                     || (optimalizationMethod == OptimalizationMethod.CostOpt && Eval.getProjectCost(temp) <= maxCost))
  33.  
  34.                     childrenProjects.add(temp);
  35.  
  36.             }
  37.             resources.clear();
  38.         }
  39.  
  40.         return childrenProjects;
  41.  
  42.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement