X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Forg%2Fonap%2Fcrud%2Fservice%2FJaxrsEchoService.java;h=671b2fd74d1b7fa95ceaa5ac2d2d339d418fb900;hb=refs%2Ftags%2F1.3.1;hp=cdea726ef05d5a27f7ba5b1fc12947e138520ae2;hpb=94cbd3286b5fdd2f3f8fa3325835e713d71aac73;p=aai%2Fgizmo.git diff --git a/src/main/java/org/onap/crud/service/JaxrsEchoService.java b/src/main/java/org/onap/crud/service/JaxrsEchoService.java index cdea726..671b2fd 100644 --- a/src/main/java/org/onap/crud/service/JaxrsEchoService.java +++ b/src/main/java/org/onap/crud/service/JaxrsEchoService.java @@ -1,16 +1,15 @@ /** * ============LICENSE_START======================================================= - * Gizmo + * org.onap.aai * ================================================================================ - * Copyright © 2017 AT&T Intellectual Property. - * Copyright © 2017 Amdocs - * All rights reserved. + * Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved. + * Copyright © 2017-2018 Amdocs * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * - * http://www.apache.org/licenses/LICENSE-2.0 + * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, @@ -18,15 +17,9 @@ * See the License for the specific language governing permissions and * limitations under the License. * ============LICENSE_END========================================================= - * - * ECOMP is a trademark and service mark of AT&T Intellectual Property. */ package org.onap.crud.service; -import org.onap.aai.cl.api.Logger; -import org.onap.aai.cl.eelf.LoggerFactory; -import org.onap.crud.logging.LoggingUtil; - import javax.servlet.http.HttpServletRequest; import javax.ws.rs.GET; import javax.ws.rs.Path; @@ -35,29 +28,41 @@ import javax.ws.rs.Produces; import javax.ws.rs.core.Context; import javax.ws.rs.core.HttpHeaders; import javax.ws.rs.core.Response; +import javax.ws.rs.core.Response.ResponseBuilder; import javax.ws.rs.core.Response.Status; import javax.ws.rs.core.UriInfo; +import org.onap.aai.cl.api.Logger; +import org.onap.aai.cl.eelf.LoggerFactory; +import org.onap.crud.logging.LoggingUtil; +import org.springframework.stereotype.Component; - +@Component +@Path("/services/gizmo/v1/echo-service/") public class JaxrsEchoService { - private static Logger logger = LoggerFactory.getInstance() - .getLogger(JaxrsEchoService.class.getName()); - private static Logger auditLogger = LoggerFactory.getInstance() - .getAuditLogger(JaxrsEchoService.class.getName()); - - @GET - @Path("echo/{input}") - @Produces("text/plain") - public String ping(@PathParam("input") String input, - @Context HttpHeaders headers, - @Context UriInfo info, - @Context HttpServletRequest req) { - - LoggingUtil.initMdcContext(req, headers); - LoggingUtil.logRestRequest(logger, auditLogger, req, Response.status(Status.OK) - .entity("OK").build()); - - return "Hello, " + input + "."; - } -} \ No newline at end of file + private static Logger logger = LoggerFactory.getInstance().getLogger(JaxrsEchoService.class.getName()); + private static Logger auditLogger = LoggerFactory.getInstance().getAuditLogger(JaxrsEchoService.class.getName()); + + public static final String TRANSACTIONID_HEADER = "X-TransactionId"; + + @GET + @Path("echo/{input}") + @Produces("text/plain") + public Response ping(@PathParam("input") String input, @Context HttpHeaders headers, @Context UriInfo info, + @Context HttpServletRequest req) { + + LoggingUtil.initMdcContext(req, headers); + + ResponseBuilder responseBuilder = Response.status(Status.OK).entity("Hello, " + input + "."); + + String txId = headers.getHeaderString(TRANSACTIONID_HEADER); + if (txId != null) { + responseBuilder.header(TRANSACTIONID_HEADER, txId); + } + + Response response = responseBuilder.build(); + LoggingUtil.logRestRequest(logger, auditLogger, req, response); + + return response; + } +}