From 5d3885094a4ef3e71e7ae79312f8c79a95b93ad8 Mon Sep 17 00:00:00 2001 From: holmbergius Date: Tue, 29 Oct 2024 09:30:25 -0700 Subject: [PATCH] Ensure proper childTask storage --- src/main/java/org/ecocean/identity/IBEISIA.java | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/src/main/java/org/ecocean/identity/IBEISIA.java b/src/main/java/org/ecocean/identity/IBEISIA.java index 04c79968d1..12f7cb7178 100644 --- a/src/main/java/org/ecocean/identity/IBEISIA.java +++ b/src/main/java/org/ecocean/identity/IBEISIA.java @@ -2090,14 +2090,11 @@ public static JSONObject processCallback(String taskID, JSONObject resp, String myShepherd.storeNewTask(subParentTask); myShepherd.updateDBTransaction(); - Task task = IA.intakeAnnotations(myShepherd2, annots, subParentTask, false); - // Here is a place we check downstream. IA.intakeAnnotations() will check the anns vs the identification classes in IA.properties, - // and return null if nobody was valid. - if (task != null) { - rtn.put("identificationTaskId", task.getId()); - if (subParentTask != null) subParentTask.addChild(task); - myShepherd2.storeNewTask(task); - } + Task childTask = IA.intakeAnnotations(myShepherd2, annots, subParentTask, false); + myShepherd.storeNewTask(childTask); + myShepherd.updateDBTransaction(); + subParentTask.addChild(childTask); + myShepherd.updateDBTransaction(); } @@ -2108,7 +2105,7 @@ public static JSONObject processCallback(String taskID, JSONObject resp, String "[INFO]: No annotations were suitable for identification. Check resulting identification class(es)."); myShepherd2.rollbackDBTransaction(); } - myShepherd2.closeDBTransaction(); + myShepherd2.rollbackAndClose(); } return rtn; }