From 04cfe614dd1b6c349bfbf61beb95d3811a69b5c0 Mon Sep 17 00:00:00 2001
From: Timm Fitschen <t.fitschen@indiscale.com>
Date: Mon, 18 Mar 2024 09:40:47 +0100
Subject: [PATCH] WIP: fix logging

---
 .../fdo/manager/service/fdo/LoggingApiImpl.java    | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/application/src/main/java/com/indiscale/fdo/manager/service/fdo/LoggingApiImpl.java b/application/src/main/java/com/indiscale/fdo/manager/service/fdo/LoggingApiImpl.java
index 3654ad8..2ca0f6d 100644
--- a/application/src/main/java/com/indiscale/fdo/manager/service/fdo/LoggingApiImpl.java
+++ b/application/src/main/java/com/indiscale/fdo/manager/service/fdo/LoggingApiImpl.java
@@ -33,11 +33,15 @@ public class LoggingApiImpl extends BaseController implements LoggingApi {
       attr.timestamp(
           OffsetDateTime.ofInstant(Instant.ofEpochMilli(r.getTimestamp()), ZoneId.of("UTC")));
       attr.operation(OperationEnum.OP_CREATE);
-      attr.setRepositories(new TargetRepositories().fdo(r.getRepository().getId()));
-      attr.fdo(new DigitalObject().pid(r.getFdo().getPID()));
-      attr.getFdo().setIsFdo(r.getFdo().isFDO());
-      attr.getFdo().setDataPid(r.getFdo().getData().getPID());
-      attr.getFdo().setMetadataPid(r.getFdo().getMetadata().getPID());
+      if (r.getRepository() != null) {
+        attr.setRepositories(new TargetRepositories().fdo(r.getRepository().getId()));
+      }
+      if (r.getFdo() != null) {
+        attr.fdo(new DigitalObject().pid(r.getFdo().getPID()));
+        attr.getFdo().setIsFdo(r.getFdo().isFDO());
+        attr.getFdo().setDataPid(r.getFdo().getData().getPID());
+        attr.getFdo().setMetadataPid(r.getFdo().getMetadata().getPID());
+      }
       data.add(
           new OperationsLogRecord()
               .id(r.getId())
-- 
GitLab