Merge "Added STD sim 2.0.0 tests"
[nonrtric.git] / policy-agent / src / main / java / org / oransc / policyagent / repository / Service.java
index 81ef7ff..7b2c9bd 100644 (file)
@@ -23,36 +23,40 @@ package org.oransc.policyagent.repository;
 import java.time.Duration;
 import java.time.Instant;
 
+import lombok.Getter;
+
 public class Service {
+    @Getter
     private final String name;
     private final Duration keepAliveInterval;
     private Instant lastPing;
-    // private final String callbackUrl1; // TBD
+    private final String callbackUrl;
 
-    public Service(String name, Duration keepAliveInterval) {
+    public Service(String name, Duration keepAliveInterval, String callbackUrl) {
         this.name = name;
         this.keepAliveInterval = keepAliveInterval;
-        ping();
-    }
-
-    public synchronized String getName() {
-        return this.name;
+        this.callbackUrl = callbackUrl;
+        keepAlive();
     }
 
     public synchronized Duration getKeepAliveInterval() {
         return this.keepAliveInterval;
     }
 
-    public synchronized void ping() {
+    public synchronized void keepAlive() {
         this.lastPing = Instant.now();
     }
 
     public synchronized boolean isExpired() {
-        return timeSinceLastPing().compareTo(this.keepAliveInterval) > 0;
+        return this.keepAliveInterval.getSeconds() > 0 && timeSinceLastPing().compareTo(this.keepAliveInterval) > 0;
     }
 
     public synchronized Duration timeSinceLastPing() {
         return Duration.between(this.lastPing, Instant.now());
     }
 
+    public synchronized String getCallbackUrl() {
+        return this.callbackUrl;
+    }
+
 }