summaryrefslogtreecommitdiffstats
path: root/openecomp-be/lib/openecomp-sdc-logging-lib/openecomp-sdc-logging-api/src/main/java/org/openecomp/sdc/logging/servlet/CombinedTracker.java
diff options
context:
space:
mode:
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.java33
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);
+ }
}
}