aboutsummaryrefslogtreecommitdiffstats
path: root/sdnr/wt/apigateway/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/apigateway/MsServlet.java
diff options
context:
space:
mode:
Diffstat (limited to 'sdnr/wt/apigateway/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/apigateway/MsServlet.java')
-rw-r--r--sdnr/wt/apigateway/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/apigateway/MsServlet.java38
1 files changed, 31 insertions, 7 deletions
diff --git a/sdnr/wt/apigateway/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/apigateway/MsServlet.java b/sdnr/wt/apigateway/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/apigateway/MsServlet.java
index 27697930f..c0b6c99a2 100644
--- a/sdnr/wt/apigateway/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/apigateway/MsServlet.java
+++ b/sdnr/wt/apigateway/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/apigateway/MsServlet.java
@@ -25,6 +25,8 @@ import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
+import org.onap.ccsdk.features.sdnr.wt.apigateway.EsServlet.IRequestCallback;
+import org.onap.ccsdk.features.sdnr.wt.apigateway.database.DatabaseEntryProvider;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -33,14 +35,31 @@ public class MsServlet extends BaseServlet {
/**
*
*/
+ private static Logger LOG = LoggerFactory.getLogger(MsServlet.class);
private static final long serialVersionUID = -5361461082028405171L;
private static final String OFFLINE_RESPONSE_MESSAGE = "MediatorServer interface is offline";
-
+ private static final String DATABASE_REQUEST_URI_REGEX = "/mwtn/mediator-server";
+ private final DatabaseEntryProvider entryProvider;
public MsServlet() {
-
super();
+ this.entryProvider = new DatabaseEntryProvider("http://localhost:9200/",60);
+ EsServlet.registerRequestCallback(DATABASE_REQUEST_URI_REGEX, this.dbRequestCallback);
}
+ private final IRequestCallback dbRequestCallback = new IRequestCallback() {
+
+ @Override
+ public void onRequest(String uri, String method) {
+ if(method=="POST"|| method=="PUT" || method=="DELETE") {
+ LOG.debug("found mediator related request. trigger update of local entries");
+ MsServlet.this.entryProvider.triggerReloadSync();
+ }
+
+ }
+ };
+ protected DatabaseEntryProvider getEntryProvider() {
+ return this.entryProvider;
+ }
@Override
protected void doOptions(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setStatus(200);
@@ -53,7 +72,7 @@ public class MsServlet extends BaseServlet {
@Override
protected boolean isOff() {
- return true;
+ return false;
}
@Override
@@ -62,13 +81,18 @@ public class MsServlet extends BaseServlet {
if (uri == null)
uri = "";
if (uri.length() > 0) {
- uri = uri.substring("/ms".length());
- dbServerId = uri.substring(0, uri.indexOf("/"));
+ uri = uri.substring("/ms/".length());
+ int idx= uri.indexOf("/");
+ dbServerId = uri.substring(0,idx);
+ uri=uri.substring(idx);
}
- return this.getBaseUrl(dbServerId) + uri;
+ LOG.debug("request for ms server with id={}",dbServerId);
+ String url= this.getBaseUrl(dbServerId) + uri;
+ LOG.debug("dest-url: {}",url);
+ return url;
}
protected String getBaseUrl(String dbServerId) {
- return "";
+ return this.entryProvider.getHostUrl(dbServerId);
}
}