diff --git a/snprc_scheduler/src/org/labkey/snprc_scheduler/SNPRC_schedulerManager.java b/snprc_scheduler/src/org/labkey/snprc_scheduler/SNPRC_schedulerManager.java index f3d5ddd89..bcfa91bab 100644 --- a/snprc_scheduler/src/org/labkey/snprc_scheduler/SNPRC_schedulerManager.java +++ b/snprc_scheduler/src/org/labkey/snprc_scheduler/SNPRC_schedulerManager.java @@ -43,6 +43,8 @@ import java.util.Map; import java.util.Set; +import static org.labkey.api.exp.api.ExperimentService.asInteger; + public class SNPRC_schedulerManager { private static final SNPRC_schedulerManager _instance = new SNPRC_schedulerManager(); @@ -547,7 +549,7 @@ public void updateTimelineItems(Container c, User u, List timeline if (insertedRow != null) { timelineItem.setObjectId((String) insertedRow.get(0).get(TimelineItem.TIMELINEITEM_OBJECT_ID)); - timelineItem.setTimelineItemId((Integer) insertedRow.get(0).get(TimelineItem.TIMELINEITEM_TIMELINE_ITEM_ID)); + timelineItem.setTimelineItemId(asInteger(insertedRow.get(0).get(TimelineItem.TIMELINEITEM_TIMELINE_ITEM_ID))); timelineItem.setDirty(false); } @@ -736,7 +738,7 @@ public void updateTimelineProjectItems(Container c, User u, List> insertedRow = qus.insertRows(u, c, timelineAnimalItemRows, errors, null, null); + List> insertedRow = qus.insertRows(u, c, timelineAnimalItemRows, errors, null, null); - // add updated values returned from db call - if (insertedRow != null) - { - timelineAnimalItem.setObjectId((String) insertedRow.get(0).get(TimelineAnimalJunction.TIMELINE_ANIMAL_JUNCTION_OBJECT_ID)); - timelineAnimalItem.setRowId((Integer) insertedRow.get(0).get(TimelineAnimalJunction.TIMELINE_ANIMAL_JUNCTION_ROW_ID)); - timelineAnimalItem.setDirty(false); - } + // add updated values returned from db call + if (insertedRow != null) + { + timelineAnimalItem.setObjectId((String) insertedRow.get(0).get(TimelineAnimalJunction.TIMELINE_ANIMAL_JUNCTION_OBJECT_ID)); + timelineAnimalItem.setRowId(asInteger(insertedRow.get(0).get(TimelineAnimalJunction.TIMELINE_ANIMAL_JUNCTION_ROW_ID))); + timelineAnimalItem.setDirty(false); } } // delete existing row diff --git a/snprc_scheduler/src/org/labkey/snprc_scheduler/services/SNPRC_schedulerServiceImpl.java b/snprc_scheduler/src/org/labkey/snprc_scheduler/services/SNPRC_schedulerServiceImpl.java index c74bb1bfd..779ae927e 100644 --- a/snprc_scheduler/src/org/labkey/snprc_scheduler/services/SNPRC_schedulerServiceImpl.java +++ b/snprc_scheduler/src/org/labkey/snprc_scheduler/services/SNPRC_schedulerServiceImpl.java @@ -1,5 +1,6 @@ package org.labkey.snprc_scheduler.services; +import org.apache.logging.log4j.Logger; import org.json.JSONArray; import org.json.JSONObject; import org.labkey.api.action.ApiUsageException; @@ -17,6 +18,7 @@ import org.labkey.api.security.User; import org.labkey.api.snd.SNDService; import org.labkey.api.snprc_scheduler.SNPRC_schedulerService; +import org.labkey.api.util.logging.LogHelper; import org.labkey.snprc_scheduler.SNPRC_schedulerManager; import org.labkey.snprc_scheduler.SNPRC_schedulerSchema; import org.labkey.snprc_scheduler.SNPRC_schedulerUserSchema; @@ -36,6 +38,8 @@ */ public class SNPRC_schedulerServiceImpl implements SNPRC_schedulerService { + private static final Logger LOG = LogHelper.getLogger(SNPRC_schedulerServiceImpl.class, "Timeline errors"); + public static final SNPRC_schedulerServiceImpl INSTANCE = new SNPRC_schedulerServiceImpl(); private SNPRC_schedulerServiceImpl() @@ -306,6 +310,7 @@ public JSONObject saveTimelineData(Container c, User u, JSONObject json, BatchVa } catch (RuntimeException e) { + LOG.error("Exception saving timeline data", e); errors.addRowError(new ValidationException(e.getMessage())); } }