タスクのテーブルを作成し、その内容を操作しようとしています。わからないバグに取り組んでおり、助けてくれてとても感謝しています。質問の長さについてお詫び申し上げますが、可能な限り詳細をお伝えするよう努めています。
クラス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:
2012年9月7日10:21:; プロジェクト番号(P1000); タスク(タスク1); タスクID(1); 所有者(O1); ステータス(開始済み)
ログ1:
2012年9月7日10:21:; プロジェクト番号(P1000); タスク(タスク1); タスクID(1); 所有者(O1); ステータス(開始済み)
2012年9月7日10:21:; プロジェクト番号(P1000); タスク(タスク1); タスクID(1); 所有者(O1); ステータス(開始済み); タスク(タスク2); タスクID(2); 配信フラグ(true)
ログ2:
2012年9月7日10:21:; プロジェクト番号(P1000); タスク(タスク1); タスクID(1); 所有者(O1); ステータス(開始済み)
2012年9月7日10:21:; プロジェクト番号(P1000); タスク(タスク1); タスクID(1); 所有者(O1); ステータス(開始済み); タスク(タスク2); タスクID(2); 配信フラグ(true)
2012年9月7日10:21:; プロジェクト番号(P1000); タスク(タスク1); タスクID(1); 所有者(O1); ステータス(開始済み); タスク(タスク2); タスクID(2); 配信フラグ(true); プロジェクト番号(P2000); タスク(タスク63); タスクID(63); 所有者(O2); ステータス(クローズ); クリティカルパス(true); 配信フラグ(false)
ログ3:
2012年9月7日10:21:; プロジェクト番号(P1000); タスク(タスク1); タスクID(1); 所有者(O1); ステータス(開始済み)
2012年9月7日10:21:; プロジェクト番号(P1000); タスク(タスク1); タスクID(1); 所有者(O1); ステータス(開始済み); タスク(タスク2); タスクID(2); 配信フラグ(true)
2012年9月7日10:21:; プロジェクト番号(P1000); タスク(タスク1); タスクID(1); 所有者(O1); ステータス(開始済み); タスク(タスク2); タスクID(2); 配信フラグ(true); プロジェクト番号(P2000); タスク(タスク63); タスクID(63); 所有者(O2); ステータス(クローズ); クリティカルパス(true); 配信フラグ(false)
2012年9月7日10:21:; プロジェクト番号(P1000); タスク(タスク1); タスクID(1); 所有者(O1); ステータス(開始済み); タスク(タスク2); タスクID(2); 配信フラグ(true); プロジェクト番号(P2000); タスク(タスク63); タスクID(63); 所有者(O2); ステータス(クローズ); クリティカルパス(true); 配信フラグ(false); タスク(タスク64); タスクID(64); 配信フラグ(true)