Fix dateformat for APPC HealthCheck 58/122858/3
authork.kedron <k.kedron@partner.samsung.com>
Mon, 26 Jul 2021 14:02:55 +0000 (16:02 +0200)
committerk.kedron <k.kedron@partner.samsung.com>
Tue, 27 Jul 2021 15:53:58 +0000 (17:53 +0200)
Issue-ID: SO-3719
Signed-off-by: Krystian Kedron <k.kedron@partner.samsung.com>
Change-Id: I192f78ead998a983ea4db9fb64e6e69093cf0945

bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/common/util/CommonTimestampGenerator.java [new file with mode: 0644]
bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/common/util/TimestampGeneratorUtil.java [new file with mode: 0644]
bpmn/MSOCommonBPMN/src/main/java/org/onap/so/client/appc/ApplicationControllerClient.java

diff --git a/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/common/util/CommonTimestampGenerator.java b/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/common/util/CommonTimestampGenerator.java
new file mode 100644 (file)
index 0000000..02ce540
--- /dev/null
@@ -0,0 +1,26 @@
+package org.onap.so.bpmn.common.util;
+
+import java.time.Instant;
+import java.time.ZoneId;
+import java.time.format.DateTimeFormatter;
+
+public class CommonTimestampGenerator {
+
+    private final DateTimeFormatter formatter;
+
+    public CommonTimestampGenerator(String format) {
+        this.formatter = DateTimeFormatter.ofPattern(format).withZone(ZoneId.systemDefault());
+    }
+
+    public CommonTimestampGenerator() {
+        this.formatter = null;
+    }
+
+    public String generateCurrentTimestamp() {
+        if (formatter != null) {
+            return formatter.format(Instant.now());
+        } else {
+            return Instant.now().toString();
+        }
+    }
+}
diff --git a/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/common/util/TimestampGeneratorUtil.java b/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/common/util/TimestampGeneratorUtil.java
new file mode 100644 (file)
index 0000000..f74bd57
--- /dev/null
@@ -0,0 +1,19 @@
+package org.onap.so.bpmn.common.util;
+
+public final class TimestampGeneratorUtil {
+
+    private static final String APPC_FORMAT = "yyyy-MM-dd'T'HH:mm:ss'.0Z'";
+    private static final CommonTimestampGenerator APPC_TIMESTAMP_GENERATOR = new CommonTimestampGenerator(APPC_FORMAT);
+
+    public static final CommonTimestampGenerator COMMON_GENERATOR = new CommonTimestampGenerator();
+
+    private TimestampGeneratorUtil() {}
+
+    public static String generateCurrentTimestamp(String contollerType) {
+        if (contollerType.equals("APPC")) {
+            return APPC_TIMESTAMP_GENERATOR.generateCurrentTimestamp();
+        } else {
+            return COMMON_GENERATOR.generateCurrentTimestamp();
+        }
+    }
+}
index e810fc0..c73299f 100644 (file)
@@ -7,9 +7,9 @@
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *      http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 
 package org.onap.so.client.appc;
 
+import static org.onap.so.bpmn.common.util.TimestampGeneratorUtil.generateCurrentTimestamp;
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
-import java.time.Instant;
 import java.util.Properties;
 import java.util.UUID;
 import java.util.concurrent.ConcurrentHashMap;
-import org.onap.so.bpmn.core.UrnPropertiesReader;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 import org.onap.appc.client.lcm.api.AppcClientServiceFactoryProvider;
 import org.onap.appc.client.lcm.api.AppcLifeCycleManagerServiceFactory;
 import org.onap.appc.client.lcm.api.ApplicationContext;
@@ -43,6 +40,9 @@ import org.onap.appc.client.lcm.model.Flags.Mode;
 import org.onap.appc.client.lcm.model.Payload;
 import org.onap.appc.client.lcm.model.Status;
 import org.onap.appc.client.lcm.model.ZULU;
+import org.onap.so.bpmn.core.UrnPropertiesReader;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class ApplicationControllerClient {
 
@@ -77,7 +77,7 @@ public class ApplicationControllerClient {
 
     /**
      * Creates an ApplicationControllerClient for the specified controller type.
-     * 
+     *
      * @param controllerType the controller type: "appc" or "sdnc".
      */
     public ApplicationControllerClient(String controllerType) {
@@ -90,7 +90,7 @@ public class ApplicationControllerClient {
 
     /**
      * Gets the controller type.
-     * 
+     *
      * @return the controllertype
      */
     public String getControllerType() {
@@ -100,11 +100,11 @@ public class ApplicationControllerClient {
     /**
      * Returns the AppC client object associated with this ApplicationControllerClient. AppC client objects are shared
      * objects. One is created if it does not exist.
-     * 
+     *
      * @return the client object, or null if creation failed
      */
     public LifeCycleManagerStateful getAppCClient() {
-        return appCClients.computeIfAbsent(controllerType, k -> createAppCClient(k));
+        return appCClients.computeIfAbsent(controllerType, this::createAppCClient);
     }
 
     protected LifeCycleManagerStateful createAppCClient(String controllerType) {
@@ -194,8 +194,7 @@ public class ApplicationControllerClient {
         flags.setForce(force);
         flags.setTtl(FLAGS_TTL);
         commonHeader.setFlags(flags);
-        Instant timestamp = Instant.now();
-        ZULU zulu = new ZULU(timestamp.toString());
+        ZULU zulu = new ZULU(generateCurrentTimestamp(this.controllerType));
         commonHeader.setTimestamp(zulu);
         return commonHeader;
     }