X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Forg%2Fonap%2Faai%2Fdatarouter%2Fquery%2FQueryRouter.java;h=aabeac2c7d414752d8e76b3f5e542944c089fd7d;hb=b9fbe7fa64e864f9101938917f76ca2c853c0840;hp=07b4e79273350fa9b8ce100ab709f40c292ba403;hpb=5cff9dc18b6db6b47f0a137f7f83a3e1817413fa;p=aai%2Fdata-router.git diff --git a/src/main/java/org/onap/aai/datarouter/query/QueryRouter.java b/src/main/java/org/onap/aai/datarouter/query/QueryRouter.java index 07b4e79..aabeac2 100644 --- a/src/main/java/org/onap/aai/datarouter/query/QueryRouter.java +++ b/src/main/java/org/onap/aai/datarouter/query/QueryRouter.java @@ -20,22 +20,55 @@ */ package org.onap.aai.datarouter.query; -import java.util.List; import java.util.Map; +import java.util.UUID; +import org.apache.camel.Exchange; import org.onap.aai.cl.api.Logger; import org.onap.aai.cl.eelf.LoggerFactory; -import org.onap.aai.datarouter.exception.DataRouterException; +import org.onap.aai.cl.mdc.MdcContext; -public interface QueryRouter { - Logger logger = LoggerFactory.getInstance().getLogger(QueryRouter.class.getName()); +public abstract class QueryRouter { + Logger logger = LoggerFactory.getInstance().getLogger(QueryRouter.class.getName()); + protected static final String SERVICE_NAME = "DATA-ROUTER"; + /** HTTP header containing the ECOMP Request Id */ + protected static final String HEADER_TRANS_ID = "X-TransactionId"; + + /** HTTP header containing the calling application Id */ + protected static final String HEADER_FROM_APP_ID = "X-FromAppId"; + /** HTTP header containing the calling host details */ - static final String DATA_ROUTER_PORT = "9502"; + protected static final String HEADER_FROM_HOST = "Host"; + + /** HTTP header containing the calling host details */ + protected static final String DATA_ROUTER_PORT = "9502"; + + + public abstract void setQueryRequest(Exchange exchange) ; + + public abstract void setQueryResponse(Exchange exchange); + + protected String getTxId(final Exchange exchange){ + String txId = exchange.getIn().getHeader("X-TransactionId",String.class); + return ((txId==null||txId.isEmpty())?UUID.randomUUID().toString():txId); + } + + protected boolean checkRecursion(String url){ + return url.contains(DATA_ROUTER_PORT); + } + + protected void setMDC(final Exchange exchange) { + String transId = exchange.getIn().getHeader(HEADER_TRANS_ID, String.class); + String appId = exchange.getIn().getHeader(HEADER_FROM_APP_ID, String.class); + String hostId = exchange.getIn().getHeader(HEADER_FROM_HOST, String.class); - public String process(String urlContext, String queryParams, Map> headers) - throws DataRouterException; + // Set MDC transaction id, calling service name, calling service id, + // partner name, client address + MdcContext.initialize(transId, "DataRouter", "", appId, hostId); + } + }