diff options
Diffstat (limited to 'openecomp-be/lib/openecomp-sdc-logging-lib/openecomp-sdc-logging-api/src/main/java/org/openecomp/sdc/logging/servlet/CombinedTracker.java')
-rw-r--r-- | openecomp-be/lib/openecomp-sdc-logging-lib/openecomp-sdc-logging-api/src/main/java/org/openecomp/sdc/logging/servlet/CombinedTracker.java | 33 |
1 files changed, 16 insertions, 17 deletions
diff --git a/openecomp-be/lib/openecomp-sdc-logging-lib/openecomp-sdc-logging-api/src/main/java/org/openecomp/sdc/logging/servlet/CombinedTracker.java b/openecomp-be/lib/openecomp-sdc-logging-lib/openecomp-sdc-logging-api/src/main/java/org/openecomp/sdc/logging/servlet/CombinedTracker.java index 2dd2c12143..5d940aa821 100644 --- a/openecomp-be/lib/openecomp-sdc-logging-lib/openecomp-sdc-logging-api/src/main/java/org/openecomp/sdc/logging/servlet/CombinedTracker.java +++ b/openecomp-be/lib/openecomp-sdc-logging-lib/openecomp-sdc-logging-api/src/main/java/org/openecomp/sdc/logging/servlet/CombinedTracker.java @@ -17,39 +17,38 @@ package org.openecomp.sdc.logging.servlet; import javax.servlet.http.HttpServletRequest; -import org.openecomp.sdc.logging.api.Logger; /** - * Tracker for all the elements of ONAP logging and tracing at an entry point to an application - context and audit. - * The order of invocations is important, assuming the context must be kept as long as audit hasn't been finished. + * Tracker for all the elements of ONAP logging and tracing at an entry point to an application. + * The order of invocations is important, and on {@link #preRequest(HttpServletRequest)} it respects the order of + * trackers passed to the constructor. On {@link #postRequest(RequestProcessingResult)}, the invocation will be in the + * <b>reverse</b> order. * * @author evitaliy * @since 01 Aug 2018 */ public class CombinedTracker implements Tracker { - private final ContextTracker context; - private final AuditTracker audit; + private final Tracker[] trackers; - public CombinedTracker(Logger logger, HttpHeader partnerNameHeader, HttpHeader requestIdHeader) { - this.context = new ContextTracker(partnerNameHeader, requestIdHeader); - this.audit = new AuditTracker(logger); - } - - public CombinedTracker(Class<?> resourceType, HttpHeader partnerNameHeader, HttpHeader requestIdHeader) { - this.context = new ContextTracker(partnerNameHeader, requestIdHeader); - this.audit = new AuditTracker(resourceType); + public CombinedTracker(Tracker... trackers) { + this.trackers = new Tracker[trackers.length]; + System.arraycopy(trackers, 0, this.trackers, 0, trackers.length); } @Override public void preRequest(HttpServletRequest request) { - this.context.preRequest(request); - this.audit.preRequest(request); + + for (Tracker t : trackers) { + t.preRequest(request); + } } @Override public void postRequest(RequestProcessingResult result) { - this.audit.postRequest(result); - this.context.postRequest(result); + + for (int i = trackers.length - 1; i > -1; i--) { + trackers[i].postRequest(result); + } } } |