import java.io.Serializable; import java.io.ObjectOutputStream; import java.io.FileOutputStream; import java.io.IOException; public class DataCreator{ private static final String DEFAULT_FILE = "data.ser"; public static void main(String [] args){ String fileName; if (args.length == 1){ fileName = args[0]; } else{ fileName = DEFAULT_FILE; } serialize(fileName); } public static void serialize(String fileName){ try{ serializeToFile(createData(), fileName); } catch (IOException exc){ exc.printStackTrace(); } } private static Serializable createData(){ Contact contact = new ContactImpl("Test", "Subject", "Volunteer", "United Patterns Consortium"); Project project = new Project("Project 1", "Test Project"); Task task1 = new Task("Task 1", contact, 1); Task task2 = new Task("Task 2", contact, 1); project.addProjectItem(new Deliverable("Deliverable 1", "Layer 1 deliverable", contact, 50.0, 50.0)); project.addProjectItem(task1); project.addProjectItem(task2); project.addProjectItem(new DependentTask("Dependent Task 1", contact, 1, 1)); Task task3 = new Task("Task 3", contact, 1); Task task4 = new Task("Task 4", contact, 1); Task task5 = new Task("Task 5", contact, 1); Task task6 = new Task("Task 6", contact, 1); DependentTask dtask2 = new DependentTask("Dependent Task 2", contact, 1, 1); task1.addProjectItem(task3); task1.addProjectItem(task4); task1.addProjectItem(task5); task1.addProjectItem(dtask2); dtask2.addDependentTask(task5); dtask2.addDependentTask(task6); dtask2.addProjectItem(new Deliverable("Deliverable 2", "Layer 3 deliverable", contact, 50.0, 50.0)); task3.addProjectItem(new Deliverable("Deliverable 3", "Layer 3 deliverable", contact, 50.0, 50.0)); task4.addProjectItem(new Task("Task 7", contact, 1)); task4.addProjectItem(new Deliverable("Deliverable 4", "Layer 3 deliverable", contact, 50.0, 50.0)); return project; } private static void serializeToFile(Serializable content, String fileName) throws IOException{ ObjectOutputStream serOut = new ObjectOutputStream(new FileOutputStream(fileName)); serOut.writeObject(content); serOut.close(); } }