strategyName = cmd.getIdentityMetaData().getValueStrategy().getCustomName();
}
// Check the POID type being stored
Class poidClass = Long.class;
ConfigurationElement elem =
storeMgr.getOMFContext().getPluginManager().getConfigurationElementForExtension(
"org.datanucleus.store_valuegenerator",
new String[]{"name", "unique"}, new String[]{strategyName, "true"});
if (elem == null) {
// Not datastore-independent, so try for this datastore
elem = storeMgr.getOMFContext().getPluginManager().getConfigurationElementForExtension(
"org.datanucleus.store_valuegenerator",
new String[]{"name", "datastore"},
new String[]{strategyName, storeMgr.getStoreManagerKey()});
}
if (elem != null) {
// Set the generator name (for use by the PoidManager)
String generatorClassName = elem.getAttribute("class-name");
Class generatorClass =
getStoreManager().getOMFContext().getClassLoaderResolver(null)
.classForName(generatorClassName);
try {
poidClass = (Class) generatorClass.getMethod("getStorageClass").invoke(null);