static { try { // RFE: configurable clazz = Class.forName("com.sun.identity.entitlement.opensso.OpenSSOIndexStore"); } catch (ClassNotFoundException e) { PolicyConstants.DEBUG.error("PrivilegeIndexStore.static<init>", e); } }
/** * Returns an instance of the privilege index store. * * @param adminSubject Admin Subject who has the privilege to write to index datastore. * @param realm Realm Name. * @return an instance of the privilege index store. */ public static PrivilegeIndexStore getInstance(Subject adminSubject, String realm) { if (clazz == null) { return null; } Class[] parameterTypes = {Subject.class, String.class}; try { Constructor constructor = clazz.getConstructor(parameterTypes); Object[] args = {adminSubject, realm}; return ((PrivilegeIndexStore) constructor.newInstance(args)); } catch (InstantiationException ex) { PolicyConstants.DEBUG.error("PrivilegeIndexStore.getInstance", ex); } catch (IllegalAccessException ex) { PolicyConstants.DEBUG.error("PrivilegeIndexStore.getInstance", ex); } catch (IllegalArgumentException ex) { PolicyConstants.DEBUG.error("PrivilegeIndexStore.getInstance", ex); } catch (InvocationTargetException ex) { PolicyConstants.DEBUG.error("PrivilegeIndexStore.getInstance", ex); } catch (NoSuchMethodException ex) { PolicyConstants.DEBUG.error("PrivilegeIndexStore.getInstance", ex); } catch (SecurityException ex) { PolicyConstants.DEBUG.error("PrivilegeIndexStore.getInstance", ex); } return null; }