我正在尝试创建一个任务表并操作其内容。我正在处理一个我不理解的错误,非常感谢您的帮助。我对问题的长度表示赞同,但试图带来尽可能多的细节。
类tasksRepository将在类taskDef中构造的记录存储为数组列表。setTask () 和getTask方法包含 ArrayList 类的 add() 和 get() 方法。
taskDef对象的参数是使用本地 set 方法创建的。以下是这种方法的一个示例:如果传递的参数与存储的值不同,则将其存储值并将事件添加到日志记录中。在任何情况下,都会重新调整成功标志。
public static Boolean setProjectNumber(String projectNumberI)
{ // All the
if (projectNumberI != projectNumber)
{
projectNumber = projectNumberI;
logAccumulator = logAccumulator + "; project number (" + projectNumberI + ")";
}
return true;
}
private static void setLog ()
{ // When all the parameters are set, the log parameter is updated with time tag
String t = formatterFull.format(GregorianCalendar.getInstance().getTime());
log = log + "\n" + t + ": " + logAccumulator;
}
类tasksTableProcessing包含任务操作。以下包含构造函数。它以更简单的形式开始,但在调查期间我改变了它。类taskStatus是返回字符串的 ENUM。getLog ()方法只是简单地返回日志字段
public tasksTableProcessing ()
{ // constructor. Creates the tableRepository object with test records
tasksRepository.clearDb ();
taskDef task = null;
task = new taskDef ("P1000", "O1", taskStatus.started (), "1", "false", "false");
tasksRepository.addTask (task);
System.out.println("\nLog 0: \n" + tasksRepository.getTask(0).getLog());
task = null;
task = new taskDef ("P1000", "O1", taskStatus.started(), "2", "false", "true");
tasksRepository.addTask (task);
System.out.println("\nLog 1: \n" + tasksRepository.getTask(1).getLog());
task = null;
task = new taskDef ("P2000", "O2", "closed", "63", "true", "false");
tasksRepository.addTask (task);
System.out.println("\nLog 2: \n" + tasksRepository.getTask(2).getLog());
task = null;
task = new taskDef ("P2000", "O2", "closed", "64", "true", "true");
tasksRepository.addTask (task);
System.out.println("\nLog 3: \n" + tasksRepository.getTask(3).getLog());
}
以下是日志。它表明,当引入新记录时,所有旧记录都会更新。
日志 0:
09/07/2012 10:21: ; 项目编号(P1000);任务(任务 1);任务 ID (1); 所有者(O1);状态(开始)
日志 1:
09/07/2012 10:21: ; 项目编号(P1000);任务(任务 1);任务 ID (1); 所有者(O1);状态(开始)
09/07/2012 10:21: ; 项目编号(P1000);任务(任务 1);任务 ID (1); 所有者(O1);状态(开始);任务(任务 2);任务 ID (2); 交货标志(真)
日志 2:
09/07/2012 10:21: ; 项目编号(P1000);任务(任务 1);任务 ID (1); 所有者(O1);状态(开始)
09/07/2012 10:21: ; 项目编号(P1000);任务(任务 1);任务 ID (1); 所有者(O1);状态(开始);任务(任务 2);任务 ID (2); 交货标志(真)
09/07/2012 10:21: ; 项目编号(P1000);任务(任务 1);任务 ID (1); 所有者(O1);状态(开始);任务(任务 2);任务 ID (2); 交货标志(真);项目编号(P2000);任务(任务 63);任务 ID (63);所有者(O2);状态(关闭);关键路径(真);交货标志(假)
日志 3:
09/07/2012 10:21: ; 项目编号(P1000);任务(任务 1);任务 ID (1); 所有者(O1);状态(开始)
09/07/2012 10:21: ; 项目编号(P1000);任务(任务 1);任务 ID (1); 所有者(O1);状态(开始);任务(任务 2);任务 ID (2); 交货标志(真)
09/07/2012 10:21: ; 项目编号(P1000);任务(任务 1);任务 ID (1); 所有者(O1);状态(开始);任务(任务 2);任务 ID (2); 交货标志(真);项目编号(P2000);任务(任务 63);任务 ID (63);所有者(O2);状态(关闭);关键路径(真);交货标志(假)
09/07/2012 10:21: ; 项目编号(P1000);任务(任务 1);任务 ID (1); 所有者(O1);状态(开始);任务(任务 2);任务 ID (2); 交货标志(真);项目编号(P2000);任务(任务 63);任务 ID (63);所有者(O2);状态(关闭);关键路径(真);交货标志(假);任务(任务 64);任务 ID (64); 交货标志(真)