{
storeClass = Class.forName(metaData.getClassName());
}
catch (ClassNotFoundException e)
{
throw new IdentityException("Cannot instantiate identity store:" + metaData.getClassName(), e);
}
Class partypes[] = new Class[1];
partypes[0] = String.class;
Constructor ct = storeClass.getConstructor(partypes);
Object argList[] = new Object[1];
argList[0] = metaData.getId();
IdentityStore store = (IdentityStore)ct.newInstance(argList);
IdentityStoreConfigurationContext storeConfigurationCtx =
new IdentityStoreConfigurationContextImpl(configMD, this, metaData);
store.bootstrap(storeConfigurationCtx);
bootstrappedIdentityStores.put(store.getId(), store);
bootstrappedAttributeStores.put(store.getId(), store);
}
// IdentityRepository
Map<String, IdentityStoreRepository> bootstrappedRepositories = new HashMap<String, IdentityStoreRepository>();
for (IdentityRepositoryConfigurationMetaData metaData : configMD.getRepositories())
{
Class repoClass = null;
try
{
repoClass = Class.forName(metaData.getClassName());
}
catch (ClassNotFoundException e)
{
throw new IdentityException("Cannot instantiate identity store:" + metaData.getClassName(), e);
}
Class partypes[] = new Class[1];
partypes[0] = String.class;
Constructor ct = repoClass.getConstructor(partypes);