AllowAll api policy added
[dmaap/dbcapi.git] / src / main / java / org / onap / dmaap / dbcapi / authentication / ApiPolicy.java
index 6aa2d88..16d0367 100644 (file)
@@ -7,9 +7,9 @@
  * Licensed under the Apache License, Version 2.0 (the "License");
  * 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.
@@ -24,42 +24,40 @@ import org.onap.dmaap.dbcapi.logging.BaseLoggingClass;
 import org.onap.dmaap.dbcapi.logging.DmaapbcLogMessageEnum;
 import org.onap.dmaap.dbcapi.util.DmaapConfig;
 
+import java.util.Properties;
+
 public class ApiPolicy extends BaseLoggingClass {
-       static String allow = "allow";
-       String dClass = null;
-       private boolean useAuthClass;
-       ApiAuthorizationCheckInterface perm = null;
-       
-       public ApiPolicy() {
-               DmaapConfig p = (DmaapConfig)DmaapConfig.getConfig();
-               dClass = p.getProperty( "ApiPermission.Class", allow );
-               logger.info( "ApiPolicy implements " + dClass);
-               if ( dClass.equalsIgnoreCase( allow )) {
-                       useAuthClass = false;
-                       return;
-               }               
-               useAuthClass = true;
-               logger.info( "dClass=" + dClass + " useAuthClass=" + useAuthClass );
-               try {
-                       perm = (ApiAuthorizationCheckInterface) (Class.forName(dClass).newInstance());  
-               } catch (Exception ee ) {
-                       errorLogger.error(DmaapbcLogMessageEnum.UNEXPECTED_CONDITION, "attempting to instantiate " + dClass  );         
-                       errorLogger.error( "trace is: " + ee );
-               }       
-       }
-       
-       public void check( String mechid, String pwd, DmaapPerm p ) throws AuthenticationErrorException {
-               if ( dClass.equalsIgnoreCase( allow )) {
-                       return;
-               }
-               
-               // execute check of loaded class
-               perm.check( mechid, pwd, p );
-       
-       }
-       
-       public boolean getUseAuthClass() {
-               return useAuthClass;
-       }
 
+    private boolean permissionClassSet = true;
+    private ApiAuthorizationCheckInterface perm = null;
+
+    public ApiPolicy() {
+        this(DmaapConfig.getConfig());
+    }
+
+    ApiPolicy(Properties p) {
+        String dClass = p.getProperty("ApiPermission.Class");
+        logger.info("ApiPolicy implements " + dClass);
+        logger.info("dClass=" + dClass + " permissionClassSet=" + permissionClassSet);
+
+        try {
+            perm = (ApiAuthorizationCheckInterface) (Class.forName(dClass).newInstance());
+        } catch (Exception ee) {
+            errorLogger.error(DmaapbcLogMessageEnum.UNEXPECTED_CONDITION, "attempting to instantiate " + dClass);
+            errorLogger.error("trace is: " + ee);
+            permissionClassSet = false;
+        }
+    }
+
+    public void check(String mechid, String pwd, DmaapPerm p) throws AuthenticationErrorException {
+        perm.check(mechid, pwd, p);
+    }
+
+    public boolean isPermissionClassSet() {
+        return permissionClassSet;
+    }
+
+    ApiAuthorizationCheckInterface getPerm() {
+        return perm;
+    }
 }