summaryrefslogtreecommitdiffstats
path: root/src/main/java/org/onap/pomba/contextbuilder/sdnc/service/rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/onap/pomba/contextbuilder/sdnc/service/rs')
-rw-r--r--src/main/java/org/onap/pomba/contextbuilder/sdnc/service/rs/RestService.java33
-rw-r--r--src/main/java/org/onap/pomba/contextbuilder/sdnc/service/rs/RestServiceImpl.java19
2 files changed, 42 insertions, 10 deletions
diff --git a/src/main/java/org/onap/pomba/contextbuilder/sdnc/service/rs/RestService.java b/src/main/java/org/onap/pomba/contextbuilder/sdnc/service/rs/RestService.java
index ec1581a..efab905 100644
--- a/src/main/java/org/onap/pomba/contextbuilder/sdnc/service/rs/RestService.java
+++ b/src/main/java/org/onap/pomba/contextbuilder/sdnc/service/rs/RestService.java
@@ -22,6 +22,7 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
+import javax.servlet.http.HttpServletRequest;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
@@ -33,12 +34,12 @@ import javax.ws.rs.core.Response;
@Api
-@Path("/service")
+@Path("/")
@Produces({MediaType.APPLICATION_JSON})
public interface RestService {
@GET
- @Path("/context")
+ @Path("service/context")
@Produces({MediaType.APPLICATION_JSON})
@ApiOperation(
value = "Respond SDNCContext Model Data",
@@ -52,7 +53,29 @@ public interface RestService {
@ApiResponse(code = 404, message = "Service not available"),
@ApiResponse(code = 500, message = "Unexpected Runtime error")
})
- public Response getContext(@Context HttpHeaders headers,
- @QueryParam("serviceInstanceId") String serviceInstanceId
+ public Response getContext(@Context HttpServletRequest request,
+ @Context HttpHeaders headers,
+ @QueryParam("serviceInstanceId") String serviceInstanceId
);
-} \ No newline at end of file
+
+ @GET
+ @Path("{version:[vV][1-5]}/service/context")
+ @Produces({MediaType.APPLICATION_JSON})
+ @ApiOperation(
+ value = "Respond SDNCContext v1 - v5 Model Data",
+ notes = "Returns a JSON object which represents the SDNCConetxt V1 model data",
+ response = Response.class
+ )
+ @ApiResponses(
+ value = {
+ @ApiResponse(code = 200, message = "OK"),
+ @ApiResponse(code = 400, message = "Bad Request"),
+ @ApiResponse(code = 404, message = "Service not available"),
+ @ApiResponse(code = 500, message = "Unexpected Runtime error")
+ })
+ public Response getV1Context(@Context HttpServletRequest request,
+ @Context HttpHeaders headers,
+ @QueryParam("serviceInstanceId") String serviceInstanceId
+ );
+
+}
diff --git a/src/main/java/org/onap/pomba/contextbuilder/sdnc/service/rs/RestServiceImpl.java b/src/main/java/org/onap/pomba/contextbuilder/sdnc/service/rs/RestServiceImpl.java
index d3b6378..a70012f 100644
--- a/src/main/java/org/onap/pomba/contextbuilder/sdnc/service/rs/RestServiceImpl.java
+++ b/src/main/java/org/onap/pomba/contextbuilder/sdnc/service/rs/RestServiceImpl.java
@@ -20,6 +20,7 @@ package org.onap.pomba.contextbuilder.sdnc.service.rs;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
+import javax.servlet.http.HttpServletRequest;
import javax.ws.rs.core.HttpHeaders;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.Response.Status;
@@ -43,20 +44,22 @@ public class RestServiceImpl implements RestService {
}
@Override
- public Response getContext(HttpHeaders headers, String serviceInstanceId) {
+ public Response getContext(HttpServletRequest request, HttpHeaders headers, String serviceInstanceId) {
Response response = null;
ModelContext sdncContext= null;
Gson gson = new GsonBuilder().create();
try {
- // Do some validation on Http headers and URL parameters
- RestUtil.validateHeader(headers, service.getSdncAuthoriztion());
+ // Validate URL parameters
RestUtil.validateURL(serviceInstanceId);
+ // Validate Headers and extract Partner Name
+ String partnerName = RestUtil.validateHeader(headers, service.getSdncAuthoriztion());
+
// Keep the same transaction id for logging purposeString transactionId
- String transactionId = RestUtil.extractTranIdHeader(headers);
+ String transactionId = RestUtil.extractTranactionIdHeader(headers);
- sdncContext = service.getContext(serviceInstanceId, transactionId);
+ sdncContext = service.getContext(request, serviceInstanceId, transactionId, partnerName);
if (sdncContext==null) {
// Return empty JSON
@@ -78,4 +81,10 @@ public class RestServiceImpl implements RestService {
return response;
}
+ @Override
+ public Response getV1Context(HttpServletRequest request, HttpHeaders headers, String serviceInstanceId) {
+ return getContext(request, headers, serviceInstanceId);
+ }
+
+
}