diff options
Diffstat (limited to 'src/main/java/org/onap/pomba/contextbuilder/aai/service/rs')
-rw-r--r-- | src/main/java/org/onap/pomba/contextbuilder/aai/service/rs/RestService.java | 8 | ||||
-rw-r--r-- | src/main/java/org/onap/pomba/contextbuilder/aai/service/rs/RestServiceImpl.java | 14 |
2 files changed, 17 insertions, 5 deletions
diff --git a/src/main/java/org/onap/pomba/contextbuilder/aai/service/rs/RestService.java b/src/main/java/org/onap/pomba/contextbuilder/aai/service/rs/RestService.java index 39a24ef..b30b76d 100644 --- a/src/main/java/org/onap/pomba/contextbuilder/aai/service/rs/RestService.java +++ b/src/main/java/org/onap/pomba/contextbuilder/aai/service/rs/RestService.java @@ -19,9 +19,11 @@ package org.onap.pomba.contextbuilder.aai.service.rs; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; import io.swagger.annotations.ApiResponse; import io.swagger.annotations.ApiResponses; import javax.ws.rs.GET; +import javax.ws.rs.HeaderParam; import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; @@ -31,7 +33,6 @@ import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; import org.onap.pomba.contextbuilder.aai.model.GenericResponse; - @Api @Path("{version: v2}/service") @Produces({MediaType.APPLICATION_JSON}) @@ -53,6 +54,9 @@ public interface RestService { @ApiResponse(code = 500, message = "Unexpected Runtime error") }) public Response getContext(@Context HttpHeaders headers, - @QueryParam("serviceInstanceId") String serviceInstanceId + @HeaderParam(HttpHeaders.AUTHORIZATION) @ApiParam(hidden=true) String authorization, + @HeaderParam(org.onap.pomba.contextbuilder.aai.util.RestUtil.FROM_APP_ID) @ApiParam(required=true) String xFromAppId, + @HeaderParam(org.onap.pomba.contextbuilder.aai.util.RestUtil.TRANSACTION_ID) String xTransactionId, + @QueryParam("serviceInstanceId") @ApiParam(required=true) String serviceInstanceId ); }
\ No newline at end of file diff --git a/src/main/java/org/onap/pomba/contextbuilder/aai/service/rs/RestServiceImpl.java b/src/main/java/org/onap/pomba/contextbuilder/aai/service/rs/RestServiceImpl.java index b99c87b..7fd27fb 100644 --- a/src/main/java/org/onap/pomba/contextbuilder/aai/service/rs/RestServiceImpl.java +++ b/src/main/java/org/onap/pomba/contextbuilder/aai/service/rs/RestServiceImpl.java @@ -31,6 +31,7 @@ import org.onap.pomba.contextbuilder.aai.util.RestUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import java.util.UUID; public class RestServiceImpl implements RestService { private static Logger log = LoggerFactory.getLogger(RestService.class); @@ -43,16 +44,23 @@ public class RestServiceImpl implements RestService { private String httpBasicAuthorization; @Override - public Response getContext(HttpHeaders headers, String serviceInstanceId) { + public Response getContext(HttpHeaders headers, + String authorization, + String fromAppId, + String transactionId, + String serviceInstanceId) { String url = "serviceInstanceId=" + serviceInstanceId; if(log.isDebugEnabled()) { log.debug(LogMessages.AAI_CONTEXT_BUILDER_URL, url); } + if (transactionId == null || transactionId.isEmpty()) { + transactionId = UUID.randomUUID().toString(); + log.info(String.format("%s is missing; using newly generated value: %s", org.onap.pomba.contextbuilder.aai.util.RestUtil.TRANSACTION_ID, transactionId)); + } Response response = null; - String transactionId = null; ModelContext aaiContext= null; Gson gson = new GsonBuilder().create(); @@ -61,7 +69,7 @@ public class RestServiceImpl implements RestService { // Do some validation on Http headers and URL parameters RestUtil.validateBasicAuthorization(headers, httpBasicAuthorization); RestUtil.validateHeader(headers); - RestUtil.validateURL(serviceInstanceId); + RestUtil.validateServiceInstanceId(serviceInstanceId); // Keep the same transaction id for logging purpose transactionId= RestUtil.extractTranIdHeader(headers); |