summaryrefslogtreecommitdiffstats
path: root/src/main/java/org/onap/dcae/controller/AccessController.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/onap/dcae/controller/AccessController.java')
-rw-r--r--src/main/java/org/onap/dcae/controller/AccessController.java80
1 files changed, 48 insertions, 32 deletions
diff --git a/src/main/java/org/onap/dcae/controller/AccessController.java b/src/main/java/org/onap/dcae/controller/AccessController.java
index 165c468..226ead5 100644
--- a/src/main/java/org/onap/dcae/controller/AccessController.java
+++ b/src/main/java/org/onap/dcae/controller/AccessController.java
@@ -24,6 +24,7 @@ import org.json.JSONObject;
import org.onap.dcae.ApplicationException;
import org.onap.dcae.ApplicationSettings;
import org.onap.dcae.common.Constants;
+import org.onap.dcae.common.ControllerActivationState;
import org.onap.dcae.common.RestConfContext;
import org.onap.dcae.common.RestapiCallNode;
import org.slf4j.Logger;
@@ -56,6 +57,8 @@ public class AccessController {
private ExecutorService executor = Executors.newCachedThreadPool();
private Map<String, String> paraMap;
+ ControllerActivationState state;
+
public AccessController(JSONObject controller,
ApplicationSettings properties) {
this.cfgInfo = new ControllerConfigInfo(controller.get("controller_name").toString(),
@@ -71,7 +74,7 @@ public class AccessController {
this.ctx = new RestConfContext();
this.restApiCallNode = new RestapiCallNode();
this.paraMap = new HashMap<>();
-
+ this.state = ControllerActivationState.INIT;
prepareControllerParamMap();
log.info("AccesController Created {} {} {} {} {} {}",
@@ -85,12 +88,22 @@ public class AccessController {
@Override
public boolean equals(Object o) {
- if (this == o) return true;
- if (!(o instanceof AccessController)) return false;
+ if (this == o)
+ return true;
+ if (!(o instanceof AccessController))
+ return false;
AccessController that = (AccessController) o;
return that.cfgInfo.getController_name().equals(that.cfgInfo.getController_name());
}
+ public ControllerActivationState getState() {
+ return state;
+ }
+
+ public void setState(ControllerActivationState state) {
+ this.state = state;
+ }
+
@Override
public int hashCode() {
return Objects.hash(this.cfgInfo.getController_name());
@@ -107,8 +120,7 @@ public class AccessController {
this.executor = executor;
}
- private void fetch_TokenId() {
-
+ private void fetchTokenId() {
modifyControllerParamMap(Constants.KSETTING_REST_API_URL, getUriMethod(this.properties.authorizationEnabled()) + cfgInfo.getController_restapiUrl() + cfgInfo.getController_accessTokenUrl());
modifyControllerParamMap(Constants.KDEFAULT_TEMP_FILENAME, cfgInfo.getController_accessTokenFile());
@@ -117,6 +129,7 @@ public class AccessController {
modifyControllerParamMap(Constants.KSETTING_HTTP_METHOD, cfgInfo.getController_accessTokenMethod());
String httpResponse = null;
+
try {
getRestApiCallNode().sendRequest(this.paraMap, ctx, null);
@@ -125,43 +138,46 @@ public class AccessController {
log.info("httpResponse ", httpResponse + " key " + key);
JSONObject jsonObj = new JSONObject(httpResponse);
log.info("jsonObj ", jsonObj.toString());
- //JSONObject data = jsonObj.getJSONObject("data");
- //String tokenId = data.get("accessSession").toString();
//@TODO: Make return field dynamic
String tokenId = jsonObj.get("accessSession").toString();
- log.info("token 1" + tokenId);
modifyControllerParamMap(Constants.KSETTING_TOKENID, tokenId);
modifyControllerParamMap(Constants.KSETTING_CUSTOMHTTP_HEADER, "X-ACCESS-TOKEN=" + tokenId);
+ setState(ControllerActivationState.ACTIVE);
+
} catch (Exception e) {
- log.info("Access token is not supported" + e.getMessage());
+ log.info("Access token is not supported " + e.getMessage());
log.info("http response " + httpResponse);
}
}
+
public void activate() {
- fetch_TokenId();
- printControllerParamMap();
- /* Create eventlist from properties */
- JSONArray contollers = new JSONArray(properties.rccPolicy());
- for (int i = 0; i < contollers.length(); i++) {
- JSONObject controller = contollers.getJSONObject(i);
- if (controller.get("controller_name").equals(this.getCfgInfo().getController_name())) {
- JSONArray eventlists = controller.getJSONArray("event_details");
- for (int j = 0; j < eventlists.length(); j++) {
- JSONObject event = eventlists.getJSONObject(j);
- String name = event.get("event_name").toString();
- PersistentEventConnection conn = new PersistentEventConnection(name,
- event.get("event_description").toString(),
- Boolean.parseBoolean(event.get("event_sseventUrlEmbed").toString()),
- event.get("event_sseventsField").toString(),
- event.get("event_sseventsUrl").toString(),
- event.get("event_subscriptionTemplate").toString(),
- event.get("event_unSubscriptionTemplate").toString(),
- event.get("event_ruleId").toString(),
- this);
-
- eventList.put(name, conn);
- executor.execute(conn);
+ fetchTokenId();
+
+ if (getState() == ControllerActivationState.ACTIVE) {
+ printControllerParamMap();
+ /* Create eventlist from properties */
+ JSONArray contollers = new JSONArray(properties.rccPolicy());
+ for (int i = 0; i < contollers.length(); i++) {
+ JSONObject controller = contollers.getJSONObject(i);
+ if (controller.get("controller_name").equals(this.getCfgInfo().getController_name())) {
+ JSONArray eventlists = controller.getJSONArray("event_details");
+ for (int j = 0; j < eventlists.length(); j++) {
+ JSONObject event = eventlists.getJSONObject(j);
+ String name = event.get("event_name").toString();
+ PersistentEventConnection conn = new PersistentEventConnection(name,
+ event.get("event_description").toString(),
+ Boolean.parseBoolean(event.get("event_sseventUrlEmbed").toString()),
+ event.get("event_sseventsField").toString(),
+ event.get("event_sseventsUrl").toString(),
+ event.get("event_subscriptionTemplate").toString(),
+ event.get("event_unSubscriptionTemplate").toString(),
+ event.get("event_ruleId").toString(),
+ this);
+
+ eventList.put(name, conn);
+ executor.execute(conn);
+ }
}
}
}