AAF integration modifications
[dmaap/messagerouter/messageservice.git] / src / main / java / com / att / nsa / dmaap / util / DMaaPAuthFilter.java
index ae79938..652bfc2 100644 (file)
@@ -8,14 +8,14 @@
  *  you may not use this file except in compliance with the License.
  *  You may obtain a copy of the License at
  *        http://www.apache.org/licenses/LICENSE-2.0
- *  
+*  
  *  Unless required by applicable law or agreed to in writing, software
  *  distributed under the License is distributed on an "AS IS" BASIS,
  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  *  ============LICENSE_END=========================================================
- *
+ *  
  *  ECOMP is a trademark and service mark of AT&T Intellectual Property.
  *  
  *******************************************************************************/
@@ -29,136 +29,60 @@ import javax.servlet.ServletRequest;
 import javax.servlet.ServletResponse;
 import javax.servlet.http.HttpServletRequest;
 
-//import com.att.eelf.configuration.EELFLogger;
-//import com.att.eelf.configuration.EELFManager;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import com.att.eelf.configuration.EELFLogger;
+import com.att.eelf.configuration.EELFManager;
 import org.springframework.stereotype.Component;
 
-import com.att.cadi.filter.CadiFilter;
+import org.onap.aaf.cadi.filter.CadiFilter;
+//import ajsc.external.plugins.cadi.AjscCadiFilter;
 import javax.servlet.FilterConfig;
 
 /**
- * This is a Servlet Filter class overriding the AjscCadiFilter
- */
-@Component
-public class DMaaPAuthFilter extends CadiFilter {
-
-       // private Logger log = Logger.getLogger(DMaaPAuthFilter.class.toString());
-
-       // private static final EELFLogger log =
-       // EELFManager.getInstance().getLogger(DMaaPAuthFilter.class);
-       private Logger log = LoggerFactory.getLogger(DMaaPAuthFilter.class);
-
-       final Boolean enabled = "authentication-scheme-1".equalsIgnoreCase(System.getProperty("CadiAuthN"));
-
-       /**
-        * This method will disable Cadi Authentication if cambria headers are
-        * present in the request else continue with Cadi Authentication
+        * This is a Servlet Filter class
+        * overriding the AjscCadiFilter
         */
-       public void init(FilterConfig filterConfig) throws ServletException {
-
-               try {
-
-                       super.init(filterConfig);
-
-               } catch (Exception ex) {
-                       log.error("Ajsc Cadi Filter Exception:" + ex.getMessage());
-
-               }
-       }
-
-       @Override
-       public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain)
-                       throws IOException, ServletException {
-
-               log.info("inside servlet filter Cambria Auth Headers checking before doing other Authentication");
-               HttpServletRequest request = (HttpServletRequest) req;
-
-               boolean forceAAF = Boolean.valueOf(System.getProperty("forceAAF"));
-               if (forceAAF || 
-                       null != request.getHeader("Authorization") || 
-                       (null != request.getHeader("AppName") && 
-                               request.getHeader("AppName").equalsIgnoreCase("invenio") && 
-                               null != request.getHeader("cookie"))) {
+@Component     
+public class DMaaPAuthFilter extends CadiFilter {
+       
+               //private Logger log = Logger.getLogger(DMaaPAuthFilter.class.toString());
 
-                       if (!enabled || 
-                                       request.getMethod().equalsIgnoreCase("head") || 
-                                       request.getHeader("DME2HealthCheck") != null) {
+               private static final EELFLogger log = EELFManager.getInstance().getLogger(DMaaPAuthFilter.class);
                                
-                               chain.doFilter(req, res);
-                               
-                       } else {
-                               
-                               super.doFilter(req, res, chain);
-                               
-                       }
-               } else {
-
-                       System.setProperty("CadiAuthN", "authentication-scheme-2");
-                       chain.doFilter(req, res);
-
+               public DMaaPAuthFilter() throws Exception {
+                       super();
                }
-
-       }
-
-       @Override
-       public void log(Exception e, Object... elements) {
-               // TODO Auto-generated method stub
-               // super.log(e, elements);
-               // System.out.println(convertArrayToString(elements));
-               log.error(convertArrayToString(elements), e);
-
-       }
-
-       @Override
-       public void log(Level level, Object... elements) {
-
-               // System.out.println(willWrite().compareTo(level) );
-               if (willWrite().compareTo(level) <= 0) {
-                       switch (level) {
-                       case DEBUG:
-                               log.debug(convertArrayToString(elements));
-                               break;
-                       case INFO:
-                               log.info(convertArrayToString(elements));
-                               break;
-                       case ERROR:
-                               log.error(convertArrayToString(elements));
-                               break;
-                       case AUDIT:
-                               log.info(convertArrayToString(elements));
-                               break;
-                       case INIT:
-                               log.info(convertArrayToString(elements));
-                               break;
-                       case WARN:
-                               log.warn(convertArrayToString(elements));
-                               break;
-                       default:
-
-                               log.warn(convertArrayToString(elements));
-
-                       }
+               
+       /*      public void init(FilterConfig filterConfig) throws ServletException {
+              
+                       super.init(filterConfig);
+              System.out.println("---------------------------- in init method");
+               }*/
+               
+               /**
+                * This method will disable Cadi Authentication 
+                * if cambria headers are present in the request
+                * else continue with Cadi Authentication
+                */
+               @Override
+               public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException,
+                               ServletException {
+               log.info("inside servlet filter Cambria Auth Headers checking before doing other Authentication");
+                       HttpServletRequest request = (HttpServletRequest) req;
+                               boolean forceAAF = Boolean.valueOf(System.getProperty("forceAAF"));
+                               //if (forceAAF || null != request.getHeader("Authorization") ){
+                                       if (forceAAF || null != request.getHeader("Authorization") || 
+                                                       (null != request.getHeader("AppName") &&  request.getHeader("AppName").equalsIgnoreCase("invenio") &&
+                                                        null != request.getHeader("cookie"))){
+                                               super.doFilter(req, res, chain);
+                                               
+                               } else { 
+                                       System.setProperty("CadiAuthN", "authentication-scheme-2");
+                                               chain.doFilter(req, res);
+                                       
+                                       
+                               } 
 
                }
 
        }
 
-       private String convertArrayToString(Object[] elements) {
-
-               StringBuilder strBuilder = new StringBuilder();
-               for (int i = 0; i < elements.length; i++) {
-                       if (elements[i] instanceof String)
-                               strBuilder.append((String) elements[i]);
-                       else if (elements[i] instanceof Integer)
-                               strBuilder.append((Integer) elements[i]);
-                       else
-                               strBuilder.append(elements[i]);
-               }
-               String newString = strBuilder.toString();
-               return newString;
-       }
-
-}