Java Code Examples for net.sf.mpxj.ProjectFile#addTask()

The following examples show how to use net.sf.mpxj.ProjectFile#addTask() . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: BasicTest.java    From mpxj with GNU Lesser General Public License v2.1 6 votes vote down vote up
/**
 * Test to ensure that the basic task hierarchy is
 * represented correctly.
 *
 * @throws Exception
 */
@Test public void testStructure() throws Exception
{
   ProjectFile file = new ProjectFile();

   Task task1 = file.addTask();
   assertNull(task1.getParentTask());

   Task task2 = task1.addTask();
   assertEquals(task2.getParentTask(), task1);

   task1.addTask();
   List<Task> children = task1.getChildTasks();
   assertEquals(children.size(), 2);

   List<Task> toplevel = file.getChildTasks();
   assertEquals(toplevel.size(), 1);
}
 
Example 2
Source File: TaskContainerTest.java    From mpxj with GNU Lesser General Public License v2.1 5 votes vote down vote up
/**
 * Test fix for SourceForge issue 277.
 */
@Test public void testSynchronizeTaskIDToHierarchy() throws Exception
{
   ProjectFile file = new ProjectFile();
   file.getProjectConfig().setAutoTaskID(false);

   Task task1 = file.addTask();
   Task task2 = file.addTask();
   Task task3 = task2.addTask();
   Task task4 = task3.addTask();

   assertEquals(null, task1.getID());
   assertEquals(null, task2.getID());
   assertEquals(null, task3.getID());
   assertEquals(null, task4.getID());

   assertEquals(4, file.getTasks().size());

   file.getTasks().synchronizeTaskIDToHierarchy();

   assertEquals(4, file.getTasks().size());

   assertEquals(Integer.valueOf(1), task1.getID());
   assertEquals(Integer.valueOf(2), task2.getID());
   assertEquals(Integer.valueOf(3), task3.getID());
   assertEquals(Integer.valueOf(4), task4.getID());

   assertEquals(task1, file.getChildTasks().get(0));
   assertEquals(task2, file.getChildTasks().get(1));
   assertEquals(task3, task2.getChildTasks().get(0));
   assertEquals(task4, task3.getChildTasks().get(0));
}
 
Example 3
Source File: ExportMSProject.java    From projectforge-webapp with GNU General Public License v3.0 5 votes vote down vote up
private static void addTask(final ProjectFile file, final Map<Serializable, Task> taskMap, final Task parentTask,
    final GanttTask ganttTask)
{
  final Task task;
  if (parentTask == null) {
    task = file.addTask();
  } else {
    task = parentTask.addTask();
  }
  taskMap.put(ganttTask.getId(), task);
  task.setName(ganttTask.getTitle());
  if (ganttTask.getStartDate() != null) {
    task.setStart(ganttTask.getStartDate());
  }
  if (ganttTask.getEndDate() != null) {
    task.setFinish(ganttTask.getEndDate());
  }
  final BigDecimal duration = ganttTask.getDuration();
  final double value;
  if (duration == null) {
    value = 0.0;
  } else {
    value = duration.doubleValue();
  }
  task.setDuration(Duration.getInstance(value, TimeUnit.DAYS));
  if (ganttTask.getProgress() != null) {
    task.setPercentageComplete(ganttTask.getProgress());
  }
  // task2.setActualStart(df.parse("01/01/2003"));
  // milestone1.setDuration(Duration.getInstance(0, TimeUnit.DAYS));

  final List<GanttTask> children = ganttTask.getChildren();
  if (children == null) {
    return;
  }
  for (final GanttTask child : children) {
    addTask(file, taskMap, task, child);
  }
}
 
Example 4
Source File: BasicTest.java    From mpxj with GNU Lesser General Public License v2.1 4 votes vote down vote up
/**
 * This test exercises the automatic generation of WBS and outline levels.
 */
@Test public void testAutomaticGeneration() throws Exception
{
   ProjectFile file = new ProjectFile();

   Resource resource1 = file.addResource();
   resource1.setName("R1");
   assertEquals(1, resource1.getUniqueID().intValue());
   assertEquals(1, resource1.getID().intValue());

   Resource resource2 = file.addResource();
   resource2.setName("R2");
   assertEquals(2, resource2.getUniqueID().intValue());
   assertEquals(2, resource2.getID().intValue());

   Task task1 = file.addTask();
   task1.setName("1.0");
   assertEquals("1", task1.getWBS());
   assertEquals(1, task1.getOutlineLevel().intValue());
   assertEquals("1", task1.getOutlineNumber());
   assertEquals(1, task1.getID().intValue());
   assertEquals(1, task1.getUniqueID().intValue());
   assertFalse(task1.getSummary());

   task1 = file.addTask();
   task1.setName("2.0");
   assertEquals("2", task1.getWBS());
   assertEquals(1, task1.getOutlineLevel().intValue());
   assertEquals("2", task1.getOutlineNumber());
   assertEquals(2, task1.getID().intValue());
   assertEquals(2, task1.getUniqueID().intValue());
   assertFalse(task1.getSummary());

   task1 = file.addTask();
   task1.setName("3.0");
   assertEquals("3", task1.getWBS());
   assertEquals(1, task1.getOutlineLevel().intValue());
   assertEquals("3", task1.getOutlineNumber());
   assertEquals(3, task1.getID().intValue());
   assertEquals(3, task1.getUniqueID().intValue());
   assertFalse(task1.getSummary());

   Task task2 = task1.addTask();
   task2.setName("3.1");
   assertEquals("3.1", task2.getWBS());
   assertEquals(2, task2.getOutlineLevel().intValue());
   assertEquals("3.1", task2.getOutlineNumber());
   assertEquals(4, task2.getID().intValue());
   assertEquals(4, task2.getUniqueID().intValue());
   assertTrue(task1.getSummary());
   assertFalse(task2.getSummary());

   task2 = task1.addTask();
   task2.setName("3.2");
   assertEquals("3.2", task2.getWBS());
   assertEquals(2, task2.getOutlineLevel().intValue());
   assertEquals("3.2", task2.getOutlineNumber());
   assertEquals(5, task2.getID().intValue());
   assertEquals(5, task2.getUniqueID().intValue());
   assertTrue(task1.getSummary());
   assertFalse(task2.getSummary());

   Task task3 = task2.addTask();
   task3.setName("3.2.1");
   assertEquals("3.2.1", task3.getWBS());
   assertEquals(3, task3.getOutlineLevel().intValue());
   assertEquals("3.2.1", task3.getOutlineNumber());
   assertEquals(6, task3.getID().intValue());
   assertEquals(6, task3.getUniqueID().intValue());
   assertTrue(task1.getSummary());
   assertTrue(task2.getSummary());
   assertFalse(task3.getSummary());

   task3 = task2.addTask();
   task3.setName("3.2.2");
   assertEquals("3.2.2", task3.getWBS());
   assertEquals(3, task3.getOutlineLevel().intValue());
   assertEquals("3.2.2", task3.getOutlineNumber());
   assertEquals(7, task3.getID().intValue());
   assertEquals(7, task3.getUniqueID().intValue());
   assertTrue(task1.getSummary());
   assertTrue(task2.getSummary());
   assertFalse(task3.getSummary());
}
 
Example 5
Source File: BasicTest.java    From mpxj with GNU Lesser General Public License v2.1 4 votes vote down vote up
/**
 * This method exercises task notes, ensuring that
 * embedded commas and quotes are handled correctly.
 *
 * @throws Exception
 */
@Test public void testTaskNotes() throws Exception
{
   String notes1 = "Notes, containing a comma. Done.";
   String notes2 = "Notes \"containing embedded quotes\" Done.";
   String notes3 = "Notes, \"containing embedded quotes, and comma's too.\" Done.";
   String notes4 = "\"Notes containing embedded quotes as first and last chars. Done.\"";
   String notes5 = "Normal unquoted notes. Done.";

   ProjectFile file1 = new ProjectFile();

   Task task1 = file1.addTask();
   task1.setName("Test Task 1");
   task1.setDuration(Duration.getInstance(10, TimeUnit.DAYS));
   task1.setStart(new Date());
   task1.setNotes(notes1);

   Task task2 = file1.addTask();
   task2.setName("Test Task 2");
   task2.setDuration(Duration.getInstance(10, TimeUnit.DAYS));
   task2.setStart(new Date());
   task2.setNotes(notes2);

   Task task3 = file1.addTask();
   task3.setName("Test Task 3");
   task3.setDuration(Duration.getInstance(10, TimeUnit.DAYS));
   task3.setStart(new Date());
   task3.setNotes(notes3);

   Task task4 = file1.addTask();
   task4.setName("Test Task 4");
   task4.setDuration(Duration.getInstance(10, TimeUnit.DAYS));
   task4.setStart(new Date());
   task4.setNotes(notes4);

   Task task5 = file1.addTask();
   task5.setName("Test Task 5");
   task5.setDuration(Duration.getInstance(10, TimeUnit.DAYS));
   task5.setStart(new Date());
   task5.setNotes(notes5);

   File out = File.createTempFile("junit", ".mpx");
   new MPXWriter().write(file1, out);

   ProjectFile file2 = new MPXReader().read(out);
   String notes;
   Task task1a = file2.getTaskByUniqueID(task1.getUniqueID());
   notes = task1a.getNotes();
   assertEquals(notes1, notes);

   Task task2a = file2.getTaskByUniqueID(task2.getUniqueID());
   notes = task2a.getNotes();
   assertEquals(notes2, notes);

   Task task3a = file2.getTaskByUniqueID(task3.getUniqueID());
   notes = task3a.getNotes();
   assertEquals(notes3, notes);

   Task task4a = file2.getTaskByUniqueID(task4.getUniqueID());
   notes = task4a.getNotes();
   assertEquals(notes4, notes);

   Task task5a = file2.getTaskByUniqueID(task5.getUniqueID());
   notes = task5a.getNotes();
   assertEquals(notes5, notes);

   out.deleteOnExit();
}
 
Example 6
Source File: BasicTest.java    From mpxj with GNU Lesser General Public License v2.1 4 votes vote down vote up
/**
 * Write a file with embedded line break (\r and \n) characters in
 * various text fields. Ensure that a valid file is written,
 * and that it can be read successfully.
 *
 * @throws Exception
 */
@Test public void testEmbeddedLineBreaks() throws Exception
{
   //
   // Create a simple MPX file
   //
   SimpleDateFormat df = new SimpleDateFormat("dd/MM/yyyy");
   ProjectFile file = new ProjectFile();
   file.addDefaultBaseCalendar();

   ProjectProperties properties = file.getProjectProperties();
   properties.setComments("Project Header Comments: Some\rExample\nText\r\nWith\n\rBreaks");
   properties.setStartDate(df.parse("01/01/2003"));

   Resource resource1 = file.addResource();
   resource1.setName("Resource1: Some\rExample\nText\r\nWith\n\rBreaks");
   resource1.setNotes("Resource1 Notes: Some\rExample\nText\r\nWith\n\rBreaks");

   Task task1 = file.addTask();
   task1.setName("Task1: Some\rExample\nText\r\nWith\n\rBreaks");
   task1.setNotes("Task1 Notes: Some\rExample\nText\r\nWith\n\rBreaks");

   //
   // Write the file
   //
   File out = File.createTempFile("junit", ".mpx");
   new MPXWriter().write(file, out);

   //
   // Ensure we can read it successfully
   //
   file = new MPXReader().read(out);
   assertEquals(1, file.getTasks().size());
   assertEquals(1, file.getResources().size());

   properties = file.getProjectProperties();
   assertEquals("Project Header Comments: Some\nExample\nText\nWith\nBreaks", properties.getComments());

   task1 = file.getTaskByUniqueID(Integer.valueOf(1));
   assertEquals("Task1: Some\nExample\nText\nWith\nBreaks", task1.getName());
   assertEquals("Task1 Notes: Some\nExample\nText\nWith\nBreaks", task1.getNotes());

   resource1 = file.getResourceByUniqueID(Integer.valueOf(1));
   assertEquals("Resource1: Some\nExample\nText\nWith\nBreaks", resource1.getName());
   assertEquals("Resource1 Notes: Some\nExample\nText\nWith\nBreaks", resource1.getNotes());
   out.deleteOnExit();
}