Policy 1707 commit to LF
[policy/engine.git] / PolicyEngineUtils / src / main / java / org / openecomp / policy / utils / AAFPolicyClient.java
1 package org.openecomp.policy.utils;
2
3 import java.lang.reflect.Method;
4 import java.util.Properties;
5
6 public interface AAFPolicyClient {
7         /*
8          * Enumeration for the Resource Node Naming. Add here if required. 
9          */
10         String AAF_DEFAULT_CLASS = "org.openecomp.policy.utils.AAFPolicyClientImpl";
11         public enum Environment{
12                 DEVL,
13                 TEST,
14                 PROD
15         }
16         public boolean checkAuth(String userName, String pass);
17         public void updateProperties(Properties properties) throws AAFPolicyException;
18         public boolean checkAuthPerm(String mechID, String pass, String type, String instance, String action);
19         public boolean checkPerm(String userName, String pass, String type, String instance, String action);
20         public static AAFPolicyClient getInstance(Properties properties) throws AAFPolicyException{
21                 try {
22                         Class<?> aafPolicyClient = Class.forName(properties.getProperty("aafClient.impl.className", AAF_DEFAULT_CLASS));
23                         Method method =  aafPolicyClient.getMethod("getInstance", Properties.class);
24                         AAFPolicyClient instance = (AAFPolicyClient) method.invoke(null, properties);
25                         return instance;
26                 } catch (Exception e) {
27                         throw new AAFPolicyException(e);
28                 }
29         }
30 }