X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Forg%2Fonap%2Fdmaap%2Fdbcapi%2Fauthentication%2FApiPolicy.java;h=16d036707a660f13cb9378f2dfaee7c67b81e7fd;hb=ece3a625175df4d74d890d67f584560630e9ed33;hp=6aa2d88039b2b28c9cf509b319be099adf466fb7;hpb=d07718b9a29bc895a5acce89dd1c5368b5279b98;p=dmaap%2Fdbcapi.git diff --git a/src/main/java/org/onap/dmaap/dbcapi/authentication/ApiPolicy.java b/src/main/java/org/onap/dmaap/dbcapi/authentication/ApiPolicy.java index 6aa2d88..16d0367 100644 --- a/src/main/java/org/onap/dmaap/dbcapi/authentication/ApiPolicy.java +++ b/src/main/java/org/onap/dmaap/dbcapi/authentication/ApiPolicy.java @@ -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; + } }