Update Default Org issue
[aaf/authz.git] / auth / auth-core / src / main / java / org / onap / aaf / auth / org / OrganizationFactory.java
index 36efb5d..843e268 100644 (file)
@@ -75,14 +75,22 @@ public class OrganizationFactory {
                }
                Organization org = orgs.get(orgNS);
                if(org == null) {
+                       env.debug().printf("Attempting to instantiate Organization %s\n",orgNS);
+
                        String orgClass = env.getProperty(ORGANIZATION_DOT+orgNS);
                        if(orgClass == null) {
                                env.warn().log("There is no Organization." + orgNS + " property");
                        } else {
-                               for(Organization o : orgs.values()) {
-                                       if(orgClass.equals(o.getClass().getName())) {
-                                               org = o;
+                               try {
+                                       Class<?> orgCls = Class.forName(orgClass);
+                                       for(Organization o : orgs.values()) {
+                                               if(o.getClass().isAssignableFrom(orgCls)) {
+                                                       org = o;
+                                               }
                                        }
+                               } catch (ClassNotFoundException e1) {
+                                       env.error().log(e1, orgClass + " is not on the Classpath.");
+                                       throw new OrganizationException(e1);
                                }
                                if(org==null) {
                                        try {
@@ -98,10 +106,11 @@ public class OrganizationFactory {
                                        }
                                }
                                orgs.put(orgNS, org);
-                               if("true".equalsIgnoreCase(env.getProperty(orgNS+".default"))) {
+                               boolean isDefault;
+                               if((isDefault="true".equalsIgnoreCase(env.getProperty(orgNS+".default")))) {
                                        defaultOrg = org;
                                }
-
+                               env.init().printf("Instantiated %s with %s%s\n",orgNS,orgClass,(isDefault?" as default":""));
                        }
                        if(org==null) {
                                if(defaultOrg!=null) {