in transform/src/patch/java/org/apache/openjpa/meta/AbstractMetaDataDefaults.java [180:207]
private boolean populateFromPCRegistry(ClassMetaData meta) {
Class<?> cls = meta.getDescribedType();
if (!PCRegistry.isRegistered(cls))
return false;
try {
String[] fieldNames = PCRegistry.getFieldNames(cls);
Class<?>[] fieldTypes = PCRegistry.getFieldTypes(cls);
Member member;
FieldMetaData fmd;
for (int i = 0; i < fieldNames.length; i ++) {
String property = fieldNames[i];
member = getMemberByProperty(meta, property,
AccessCode.UNKNOWN, true);
if (member == null) // transient or indeterminable access
continue;
fmd = meta.addDeclaredField(property, fieldTypes[i]);
fmd.backingMember(member);
populate(fmd);
}
return true;
} catch (OpenJPAException ke) {
throw ke;
} catch (Exception e) {
if (e instanceof PrivilegedActionException)
e = ((PrivilegedActionException) e).getException();
throw new UserException(e);
}
}