* ============LICENSE_START=======================================================
* org.onap.aai
* ================================================================================
- * Copyright © 2017 AT&T Intellectual Property. All rights reserved.
- * Copyright © 2017 Amdocs
+ * 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.
* 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.aai.datarouter.service;
-import org.onap.aai.cl.api.LogFields;
-import org.onap.aai.cl.api.LogLine;
-import org.onap.aai.cl.api.Logger;
-import org.onap.aai.cl.eelf.LoggerFactory;
-import org.onap.aai.cl.mdc.MdcContext;
-import org.onap.aai.datarouter.logging.DataRouterMsgs;
-import org.onap.aai.datarouter.util.DataRouterConstants;
-import org.slf4j.MDC;
-
import javax.servlet.http.HttpServletRequest;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.UriInfo;
+import org.onap.aai.cl.api.LogFields;
+import org.onap.aai.cl.api.LogLine;
+import org.onap.aai.cl.api.Logger;
+import org.onap.aai.cl.eelf.LoggerFactory;
+import org.onap.aai.cl.mdc.MdcContext;
+import org.onap.aai.datarouter.logging.DataRouterMsgs;
+import org.onap.aai.datarouter.util.DataRouterConstants;
+import org.slf4j.MDC;
+import org.springframework.stereotype.Component;
+
+@Component
+@Path("/data-router/v1")
public class EchoService {
private static Logger logger = LoggerFactory.getInstance().getLogger(EchoService.class.getName());
private static Logger auditLogger =
LoggerFactory.getInstance().getAuditLogger(EchoService.class.getName());
+ private static final String XFROMAPPID = "X-FromAppId";
+ private static final String XTRANSACTIONID = "X-TransactionId";
@GET
- @Path("echo/{input}")
+ @Path("/echo/{input}")
@Produces("text/plain")
public String ping(@PathParam("input") String input, @Context HttpHeaders headers,
@Context UriInfo info, @Context HttpServletRequest req) {
String fromAppId = "";
String transId;
- if (headers.getRequestHeaders().getFirst("X-FromAppId") != null) {
- fromAppId = headers.getRequestHeaders().getFirst("X-FromAppId");
+ if (headers.getRequestHeaders().getFirst(XFROMAPPID) != null) {
+ fromAppId = headers.getRequestHeaders().getFirst(XFROMAPPID);
}
- if ((headers.getRequestHeaders().getFirst("X-TransactionId") == null)
- || headers.getRequestHeaders().getFirst("X-TransactionId").isEmpty()) {
+ if ((headers.getRequestHeaders().getFirst(XTRANSACTIONID) == null)
+ || headers.getRequestHeaders().getFirst(XTRANSACTIONID).isEmpty()) {
transId = java.util.UUID.randomUUID().toString();
} else {
- transId = headers.getRequestHeaders().getFirst("X-TransactionId");
+ transId = headers.getRequestHeaders().getFirst(XTRANSACTIONID);
}
MdcContext.initialize(transId, DataRouterConstants.DATA_ROUTER_SERVICE_NAME, "", fromAppId,
auditLogger.info(DataRouterMsgs.PROCESS_REST_REQUEST,
new LogFields().setField(LogLine.DefinedFields.RESPONSE_CODE, status)
.setField(LogLine.DefinedFields.RESPONSE_DESCRIPTION, respStatusString),
- (req != null) ? req.getMethod() : "Unknown",
- (req != null) ? req.getRequestURL().toString() : "Unknown",
- (req != null) ? req.getRemoteHost() : "Unknown", Integer.toString(status));
+ req.getMethod(), req.getRequestURL().toString(), req.getRemoteHost(), Integer.toString(status));
MDC.clear();
return "Hello, " + input + ".";