+++ /dev/null
-/*******************************************************************************\r
- * ============LICENSE_START====================================================\r
- * * org.onap.aaf\r
- * * ===========================================================================\r
- * * Copyright © 2017 AT&T Intellectual Property. All rights reserved.\r
- * * ===========================================================================\r
- * * Licensed under the Apache License, Version 2.0 (the "License");\r
- * * you may not use this file except in compliance with the License.\r
- * * You may obtain a copy of the License at\r
- * * \r
- * * http://www.apache.org/licenses/LICENSE-2.0\r
- * * \r
- * * Unless required by applicable law or agreed to in writing, software\r
- * * distributed under the License is distributed on an "AS IS" BASIS,\r
- * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * * See the License for the specific language governing permissions and\r
- * * limitations under the License.\r
- * * ============LICENSE_END====================================================\r
- * *\r
- * * ECOMP is a trademark and service mark of AT&T Intellectual Property.\r
- * *\r
- ******************************************************************************/\r
-package com.att.authz.env;\r
-\r
-import java.security.Principal;\r
-\r
-import javax.servlet.ServletRequest;\r
-import javax.servlet.http.HttpServletRequest;\r
-\r
-import com.att.cssa.rserv.TransOnlyFilter;\r
-import com.att.inno.env.Env;\r
-import com.att.inno.env.TimeTaken;\r
-import com.att.inno.env.Trans.Metric;\r
-\r
-public class AuthzTransOnlyFilter extends TransOnlyFilter<AuthzTrans> {\r
- private AuthzEnv env;\r
- public Metric serviceMetric;\r
-\r
- public static final int BUCKETSIZE = 2;\r
-\r
- public AuthzTransOnlyFilter(AuthzEnv env) {\r
- this.env = env;\r
- serviceMetric = new Metric();\r
- serviceMetric.buckets = new float[BUCKETSIZE]; \r
- }\r
- \r
- @Override\r
- protected AuthzTrans newTrans() {\r
- return env.newTrans();\r
- }\r
-\r
- @Override\r
- protected TimeTaken start(AuthzTrans trans, ServletRequest request) {\r
- trans.set((HttpServletRequest)request);\r
- return trans.start("Trans " + //(context==null?"n/a":context.toString()) +\r
- " IP: " + trans.ip() +\r
- " Port: " + trans.port()\r
- , Env.SUB);\r
- }\r
-\r
- @Override\r
- protected void authenticated(AuthzTrans trans, Principal p) {\r
- trans.setUser(p);\r
- }\r
-\r
- @Override\r
- protected void tallyHo(AuthzTrans trans) {\r
- // Transaction is done, now post\r
- StringBuilder sb = new StringBuilder("AuditTrail\n");\r
- // We'll grab sub-metrics for Remote Calls and JSON\r
- // IMPORTANT!!! if you add more entries here, change "BUCKETSIZE"!!!\r
- Metric m = trans.auditTrail(1, sb, Env.REMOTE,Env.JSON);\r
- // Add current Metrics to total metrics\r
- serviceMetric.total+= m.total;\r
- for(int i=0;i<serviceMetric.buckets.length;++i) {\r
- serviceMetric.buckets[i]+=m.buckets[i];\r
- }\r
- // Log current info\r
- sb.append(" Total: ");\r
- sb.append(m.total);\r
- sb.append(" Remote: ");\r
- sb.append(m.buckets[0]);\r
- sb.append(" JSON: ");\r
- sb.append(m.buckets[1]);\r
- trans.info().log(sb);\r
- }\r
-\r
-}\r