summaryrefslogtreecommitdiffstats
path: root/src/main/java
diff options
context:
space:
mode:
authors00370346 <swarup.nayak1@huawei.com>2019-05-20 11:02:43 +0530
committers00370346 <swarup.nayak1@huawei.com>2019-05-20 11:02:43 +0530
commit45762e8d8a1555957c99f9c8dd995e8542f5d5c3 (patch)
tree7bd6e61fc6a000ea86b6533f710cc5c44ba58372 /src/main/java
parentd9fc78bff47ad1afa62cec487774a7edbf40147c (diff)
Issue-ID: DCAEGEN2-1511 Restconfcollector Access Token Renewal
Signed-off-by: s00370346 <swarup.nayak1@huawei.com> Change-Id: I1b344e734221038bf0b843543f9bf317e9bc09fd
Diffstat (limited to 'src/main/java')
-rwxr-xr-xsrc/main/java/org/onap/dcae/common/RestapiCallNode.java2
-rw-r--r--src/main/java/org/onap/dcae/controller/AccessController.java28
-rw-r--r--src/main/java/org/onap/dcae/controller/PersistentEventConnection.java23
3 files changed, 48 insertions, 5 deletions
diff --git a/src/main/java/org/onap/dcae/common/RestapiCallNode.java b/src/main/java/org/onap/dcae/common/RestapiCallNode.java
index 4d1a776..387fa98 100755
--- a/src/main/java/org/onap/dcae/common/RestapiCallNode.java
+++ b/src/main/java/org/onap/dcae/common/RestapiCallNode.java
@@ -368,7 +368,7 @@ public class RestapiCallNode {
log.info("Sending request:");
log.info(request);
- log.info("URL: " + p.restapiUrl + " method " + p.httpMethod.toString() + " Custome headr " + p.customHttpHeaders);
+ log.info("URL: " + p.restapiUrl + " method " + p.httpMethod.toString() + " Custom header " + p.customHttpHeaders);
long t1 = System.currentTimeMillis();
diff --git a/src/main/java/org/onap/dcae/controller/AccessController.java b/src/main/java/org/onap/dcae/controller/AccessController.java
index b82b757..daf6237 100644
--- a/src/main/java/org/onap/dcae/controller/AccessController.java
+++ b/src/main/java/org/onap/dcae/controller/AccessController.java
@@ -19,6 +19,9 @@
*/
package org.onap.dcae.controller;
+import java.util.concurrent.ScheduledFuture;
+import java.util.concurrent.ScheduledThreadPoolExecutor;
+import java.util.concurrent.TimeUnit;
import org.json.JSONArray;
import org.json.JSONObject;
import org.onap.dcae.ApplicationException;
@@ -59,6 +62,10 @@ public class AccessController {
ControllerActivationState state;
+ private static ScheduledFuture<?> accesstokenRenewal;
+ private static ScheduledThreadPoolExecutor scheduledThreadPoolExecutor;
+
+
public AccessController(JSONObject controller,
ApplicationSettings properties) {
this.cfgInfo = new ControllerConfigInfo.ControllerConfigInfoBuilder()
@@ -79,7 +86,7 @@ public class AccessController {
this.paraMap = new HashMap<>();
this.state = ControllerActivationState.INIT;
prepareControllerParamMap();
-
+ this.scheduledThreadPoolExecutor = new ScheduledThreadPoolExecutor(1);
log.info("AccesController Created {} {} {} {} {} {}", this.cfgInfo.getController_name(),
this.cfgInfo.getController_restapiUrl(), this.cfgInfo.getController_restapiPassword(),
this.cfgInfo.getController_restapiUser(), this.cfgInfo.getController_accessTokenUrl(),
@@ -153,7 +160,11 @@ public class AccessController {
public void activate() {
fetchTokenId();
-
+ AccessTokenRenewalTask task = new AccessTokenRenewalTask();
+ accesstokenRenewal = scheduledThreadPoolExecutor.scheduleAtFixedRate(task,
+ 5,
+ 10,
+ TimeUnit.MINUTES);
if (getState() == ControllerActivationState.ACTIVE) {
printControllerParamMap();
/* Create eventlist from properties */
@@ -270,4 +281,17 @@ public class AccessController {
log.info(name + " : " + value);
}
}
+
+ private class AccessTokenRenewalTask implements Runnable
+ {
+ public AccessTokenRenewalTask() {
+ }
+
+ @Override
+ public void run()
+ {
+ /* Renew token Id */
+ fetchTokenId();
+ }
+ }
}
diff --git a/src/main/java/org/onap/dcae/controller/PersistentEventConnection.java b/src/main/java/org/onap/dcae/controller/PersistentEventConnection.java
index 391da76..48d5448 100644
--- a/src/main/java/org/onap/dcae/controller/PersistentEventConnection.java
+++ b/src/main/java/org/onap/dcae/controller/PersistentEventConnection.java
@@ -20,8 +20,13 @@
package org.onap.dcae.controller;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
import org.glassfish.jersey.media.sse.EventSource;
import org.glassfish.jersey.media.sse.SseFeature;
+import org.json.JSONArray;
+import org.json.JSONObject;
import org.onap.dcae.common.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -187,8 +192,13 @@ public class PersistentEventConnection implements Runnable {
parentCtrllr.getRestApiCallNode().sendRequest(eventParaMap, ctx, null);
} catch (Exception e) {
- log.error("Exception occured!", e);
- Thread.currentThread().interrupt();
+ log.error("Failed to receive sbscription notiication, trying again", e);
+ try {
+ parentCtrllr.getRestApiCallNode().sendRequest(eventParaMap, ctx, null);
+ }catch (Exception ex){
+ log.error("Exception occured again! Trying again", e);
+ Thread.currentThread().interrupt();
+ }
}
/* Retrieve url from result and construct SSE url */
@@ -222,6 +232,7 @@ public class PersistentEventConnection implements Runnable {
eventSource.register(new DataChangeEventListener(this));
eventSource.open();
log.info("Connected to SSE source");
+
while (running) {
try {
log.info("SSE state " + eventSource.isOpen());
@@ -302,4 +313,12 @@ public class PersistentEventConnection implements Runnable {
log.info(name + " : " + value);
}
}
+
+ public Map<String, String> getEventParaMap() {
+ return eventParaMap;
+ }
+
+ public RestConfContext getCtx() {
+ return ctx;
+ }
}