AT&T 2.0.19 Code drop, stage 4
[aaf/authz.git] / authz-core / src / main / java / org / onap / aaf / authz / org / OrganizationFactory.java
diff --git a/authz-core/src/main/java/org/onap/aaf/authz/org/OrganizationFactory.java b/authz-core/src/main/java/org/onap/aaf/authz/org/OrganizationFactory.java
deleted file mode 100644 (file)
index 653e927..0000000
+++ /dev/null
@@ -1,148 +0,0 @@
-/*******************************************************************************\r
- * ============LICENSE_START====================================================\r
- * * org.onap.aaf\r
- * * ===========================================================================\r
- * * Copyright © 2017 AT&T Intellectual Property. All rights reserved.\r
- * * ===========================================================================\r
- * * Licensed under the Apache License, Version 2.0 (the "License");\r
- * * you may not use this file except in compliance with the License.\r
- * * You may obtain a copy of the License at\r
- * * \r
- *  *      http://www.apache.org/licenses/LICENSE-2.0\r
- * * \r
- *  * Unless required by applicable law or agreed to in writing, software\r
- * * distributed under the License is distributed on an "AS IS" BASIS,\r
- * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * * See the License for the specific language governing permissions and\r
- * * limitations under the License.\r
- * * ============LICENSE_END====================================================\r
- * *\r
- * * ECOMP is a trademark and service mark of AT&T Intellectual Property.\r
- * *\r
- ******************************************************************************/\r
-package org.onap.aaf.authz.org;\r
-\r
-import java.lang.reflect.Constructor;\r
-import java.lang.reflect.InvocationTargetException;\r
-import java.util.Map;\r
-import java.util.concurrent.ConcurrentHashMap;\r
-\r
-import org.onap.aaf.authz.env.AuthzEnv;\r
-import org.onap.aaf.authz.env.AuthzTrans;\r
-\r
-import org.onap.aaf.inno.env.APIException;\r
-import org.onap.aaf.inno.env.Slot;\r
-\r
-/**\r
- * Organization Plugin Mechanism\r
- * \r
- * Define a NameSpace for the company (i.e. com.att), and put in Properties as \r
- * "Organization.[your NS" and assign the supporting Class.  \r
- * \r
- * Example:\r
- * Organization.com.att=org.onap.aaf.authz.org.att.ATT\r
- *\r
- *\r
- */\r
-public class OrganizationFactory {\r
-       public static final String ORG_SLOT = "ORG_SLOT";\r
-       private static Organization defaultOrg = null;\r
-       private static Map<String,Organization> orgs = new ConcurrentHashMap<String,Organization>();\r
-       private static Slot orgSlot;\r
-       \r
-       public static void setDefaultOrg(AuthzEnv env, String orgClass) throws APIException {\r
-               orgSlot = env.slot(ORG_SLOT);\r
-               try {\r
-                       @SuppressWarnings("unchecked")\r
-                       Class<Organization> cls = (Class<Organization>) Class.forName(orgClass);\r
-                       Constructor<Organization> cnst = cls.getConstructor(AuthzEnv.class);\r
-                       defaultOrg = cnst.newInstance(env);\r
-               } catch (ClassNotFoundException | NoSuchMethodException | SecurityException | \r
-                               InstantiationException | IllegalAccessException | IllegalArgumentException | \r
-                               InvocationTargetException e) {\r
-                       throw new APIException(e);\r
-               }\r
-       }\r
-       \r
-       public static Organization obtain(AuthzEnv env,String orgNS) throws OrganizationException {\r
-               int at = orgNS.indexOf('@');\r
-               if(at<0) {\r
-                       if(!orgNS.startsWith("com.")) {\r
-                               int dot1;\r
-                               if((dot1 = orgNS.lastIndexOf('.'))>-1) {\r
-                                       int dot2;\r
-                                       StringBuilder sb = new StringBuilder();\r
-                                       if((dot2 = orgNS.lastIndexOf('.',dot1-1))>-1) {\r
-                                               sb.append(orgNS,dot1+1,orgNS.length());\r
-                                               sb.append('.');\r
-                                               sb.append(orgNS,dot2+1,dot1);\r
-                                       } else {\r
-                                               sb.append(orgNS,dot1+1,orgNS.length());\r
-                                               sb.append('.');\r
-                                               sb.append(orgNS,at+1,dot1);\r
-                                       }\r
-                                       orgNS=sb.toString();\r
-                               }\r
-                       }\r
-               } else {\r
-                       // Only use two places (Enterprise) of domain\r
-                       int dot;\r
-                       if((dot= orgNS.lastIndexOf('.'))>-1) {\r
-                               StringBuilder sb = new StringBuilder();\r
-                               int dot2;\r
-                               if((dot2 = orgNS.lastIndexOf('.',dot-1))>-1) {\r
-                                       sb.append(orgNS.substring(dot+1));\r
-                                       sb.append(orgNS.subSequence(dot2, dot));\r
-                                       orgNS = sb.toString();\r
-                               } else {\r
-                                       sb.append(orgNS.substring(dot+1));\r
-                                       sb.append('.');\r
-                                       sb.append(orgNS.subSequence(at+1, dot));\r
-                                       orgNS = sb.toString();\r
-                               }\r
-                       }\r
-               }\r
-               Organization org = orgs.get(orgNS);\r
-               if(org == null) {\r
-                       String orgClass = env.getProperty("Organization."+orgNS);\r
-                       if(orgClass == null) {\r
-                               env.warn().log("There is no Organization." + orgNS + " property");\r
-                       } else {\r
-                               for(Organization o : orgs.values()) {\r
-                                       if(orgClass.equals(o.getClass().getName())) {\r
-                                               org = o;\r
-                                       }\r
-                               }\r
-                               if(org==null) {\r
-                                       try {\r
-                                               @SuppressWarnings("unchecked")\r
-                                               Class<Organization> cls = (Class<Organization>) Class.forName(orgClass);\r
-                                               Constructor<Organization> cnst = cls.getConstructor(AuthzEnv.class);\r
-                                               org = cnst.newInstance(env);\r
-                                       } catch (ClassNotFoundException | NoSuchMethodException | SecurityException | \r
-                                                       InstantiationException | IllegalAccessException | IllegalArgumentException | \r
-                                                       InvocationTargetException e) {\r
-                                               throw new OrganizationException(e);\r
-                                       }\r
-                               }\r
-                               orgs.put(orgNS, org);\r
-                       }\r
-                       if(org==null && defaultOrg!=null) {\r
-                               org=defaultOrg;\r
-                               orgs.put(orgNS, org);\r
-                       }\r
-               }\r
-               \r
-               return org;\r
-       }\r
-\r
-       public static void set(AuthzTrans trans, String orgNS) throws OrganizationException {\r
-               Organization org = obtain(trans.env(),orgNS);\r
-               trans.put(orgSlot, org);\r
-       }\r
-       \r
-       public static Organization get(AuthzTrans trans) {\r
-               return trans.get(orgSlot,defaultOrg);\r
-       }\r
-\r
-}\r