1 /*******************************************************************************
\r
2 * ============LICENSE_START====================================================
\r
4 * * ===========================================================================
\r
5 * * Copyright © 2017 AT&T Intellectual Property. All rights reserved.
\r
6 * * ===========================================================================
\r
7 * * Licensed under the Apache License, Version 2.0 (the "License");
\r
8 * * you may not use this file except in compliance with the License.
\r
9 * * You may obtain a copy of the License at
\r
11 * * http://www.apache.org/licenses/LICENSE-2.0
\r
13 * * Unless required by applicable law or agreed to in writing, software
\r
14 * * distributed under the License is distributed on an "AS IS" BASIS,
\r
15 * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
\r
16 * * See the License for the specific language governing permissions and
\r
17 * * limitations under the License.
\r
18 * * ============LICENSE_END====================================================
\r
20 * * ECOMP is a trademark and service mark of AT&T Intellectual Property.
\r
22 ******************************************************************************/
\r
23 package org.onap.aaf.authz.env;
\r
25 import java.security.Principal;
\r
27 import javax.servlet.ServletRequest;
\r
28 import javax.servlet.http.HttpServletRequest;
\r
30 import org.onap.aaf.cssa.rserv.TransOnlyFilter;
\r
32 import org.onap.aaf.inno.env.Env;
\r
33 import org.onap.aaf.inno.env.TimeTaken;
\r
34 import org.onap.aaf.inno.env.Trans.Metric;
\r
36 public class AuthzTransOnlyFilter extends TransOnlyFilter<AuthzTrans> {
\r
37 private AuthzEnv env;
\r
38 public Metric serviceMetric;
\r
40 public static final int BUCKETSIZE = 2;
\r
42 public AuthzTransOnlyFilter(AuthzEnv env) {
\r
44 serviceMetric = new Metric();
\r
45 serviceMetric.buckets = new float[BUCKETSIZE];
\r
49 protected AuthzTrans newTrans() {
\r
50 return env.newTrans();
\r
54 protected TimeTaken start(AuthzTrans trans, ServletRequest request) {
\r
55 trans.set((HttpServletRequest)request);
\r
56 return trans.start("Trans " + //(context==null?"n/a":context.toString()) +
\r
57 " IP: " + trans.ip() +
\r
58 " Port: " + trans.port()
\r
63 protected void authenticated(AuthzTrans trans, Principal p) {
\r
68 protected void tallyHo(AuthzTrans trans) {
\r
69 // Transaction is done, now post
\r
70 StringBuilder sb = new StringBuilder("AuditTrail\n");
\r
71 // We'll grab sub-metrics for Remote Calls and JSON
\r
72 // IMPORTANT!!! if you add more entries here, change "BUCKETSIZE"!!!
\r
73 Metric m = trans.auditTrail(1, sb, Env.REMOTE,Env.JSON);
\r
74 // Add current Metrics to total metrics
\r
75 serviceMetric.total+= m.total;
\r
76 for(int i=0;i<serviceMetric.buckets.length;++i) {
\r
77 serviceMetric.buckets[i]+=m.buckets[i];
\r
80 sb.append(" Total: ");
\r
82 sb.append(" Remote: ");
\r
83 sb.append(m.buckets[0]);
\r
84 sb.append(" JSON: ");
\r
85 sb.append(m.buckets[1]);
\r
86 trans.info().log(sb);
\r