Merge "Added STD sim 2.0.0 tests"
[nonrtric.git] / policy-agent / src / main / java / org / oransc / policyagent / controllers / ServiceRegistrationInfo.java
index e0d3849..1194e25 100644 (file)
 
 package org.oransc.policyagent.controllers;
 
+import com.google.gson.annotations.SerializedName;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
 import org.immutables.gson.Gson;
-import org.immutables.value.Value;
 
-@Value.Immutable
 @Gson.TypeAdapters
-public interface ServiceRegistrationInfo {
+@ApiModel(value = "ServiceRegistrationInfo")
+public class ServiceRegistrationInfo {
+
+    @ApiModelProperty(value = "identity of the service", required = true, allowEmptyValue = false)
+    @SerializedName(value = "serviceName", alternate = {"name"})
+
+    public String serviceName = "";
+
+    @ApiModelProperty(
+        value = "keep alive interval for the service. This is a heartbeat supervision of the service, "
+            + "which in regular intevals must invoke a 'keepAlive' REST call. "
+            + "When a service does not invoke this call within the given time, it is considered unavailble. "
+            + "An unavailable service will be automatically deregistered and its policies will be deleted. "
+            + "Value 0 means no timeout supervision.")
+    @SerializedName("keepAliveIntervalSeconds")
+    public long keepAliveIntervalSeconds = 0;
 
-    public String name();
+    @ApiModelProperty(value = "callback for notifying of RIC synchronization", required = false, allowEmptyValue = true)
+    @SerializedName("callbackUrl")
+    public String callbackUrl = "";
 
-    public long keepAliveInterval();
+    public ServiceRegistrationInfo() {
+    }
 
-    public String callbackUrl();
+    public ServiceRegistrationInfo(String name, long keepAliveIntervalSeconds, String callbackUrl) {
+        this.serviceName = name;
+        this.keepAliveIntervalSeconds = keepAliveIntervalSeconds;
+        this.callbackUrl = callbackUrl;
+    }
 
 }