public DataAlterationRequest reshapeDAR(DataAlterationRequest toshape) { if (toshape.type.equals(DataAlterationRequest.ADD)) { String cutback = PathUtil.getToTailPath(toshape.path); // cutback may be null! so examine methods of cutback2. This MUST // be a concrete object!! String cutback2 = PathUtil.getToTailPath(cutback); String membername = PathUtil.getTailPath(cutback); Object lastentity = bma.getBeanValue(cutback2, rbl, addressibleBeanModel); MethodAnalyser ma = mappingcontext.getAnalyser(lastentity.getClass()); AccessMethod sam = ma.getAccessMethod(membername); String entityname = eni.getEntityName(sam.getDeclaredType()); if (entityname == null) { String message = "ID Defunnelling reshaper could not infer entity name for entity of type " + sam.getDeclaredType() + " - make sure to supply an EntityNameInferrer for this type"; Logger.log.warn(message); throw new IllegalArgumentException(message); } Object newentity = null; if (toshape.data != null) { // data has already been conformed in type to "oldvalue" and so is at least scalar String newentitypath = PathUtil.buildPath(entityname, (String)toshape.data); newentity = bma.getBeanValue(newentitypath, rbl, addressibleBeanModel); } DataAlterationRequest togo = new DataAlterationRequest(cutback, newentity); return togo; } else { return toshape; } }
public void init() { List classes = genericDAO.getPersistentClasses(); for (int i = 0; i < classes.size(); ++i) { Class clazz = (Class) classes.get(i); String idprop = genericDAO.getIdProperty(clazz); MethodAnalyser ma = mappingcontext.getAnalyser(clazz); AccessMethod am = ma.getAccessMethod(idprop); Class idclazz = am.getDeclaredType(); DefaultEntityMapper dem = new DefaultEntityMapper(); dem.setEntityClass(clazz); dem.setIDClass(idclazz); dem.setMappingContext(mappingcontext); if (genericDAO instanceof InitializingCoreGenericDAO) { dem.setObjectFactory(new ObjectFactory() { public Object getObject() { return ((InitializingCoreGenericDAO) genericDAO).instantiate(); } }); } GenericDAOEntityHandler gdeh = new GenericDAOEntityHandler(); gdeh.setGenericDAO(genericDAO); gdeh.setPersistentClass(clazz); BasicObstinateEBL boebl = new BasicObstinateEBL(); boebl.setEntityHandler(gdeh); boebl.setEntityMapper(dem); String entityname = getEntityName(clazz); locators.put(entityname, boebl); } }
Class declared = sam.getDeclaredType(); Class container = declared == Object.class && lastobj != null ? lastobj.getClass() : declared;
public void init() { List classes = genericDAO.getPersistentClasses(); for (int i = 0; i < classes.size(); ++i) { Class clazz = (Class) classes.get(i); String idprop = genericDAO.getIdProperty(clazz); MethodAnalyser ma = mappingcontext.getAnalyser(clazz); AccessMethod am = ma.getAccessMethod(idprop); Class idclazz = am.getDeclaredType(); DefaultEntityMapper dem = new DefaultEntityMapper(); dem.setEntityClass(clazz); dem.setIDClass(idclazz); dem.setMappingContext(mappingcontext); if (genericDAO instanceof InitializingCoreGenericDAO) { dem.setObjectFactory(new ObjectFactory() { public Object getObject() { return ((InitializingCoreGenericDAO)genericDAO).instantiate(); }}); } GenericDAOEntityHandler gdeh = new GenericDAOEntityHandler(); gdeh.setGenericDAO(genericDAO); gdeh.setPersistentClass(clazz); BasicObstinateEBL boebl = new BasicObstinateEBL(); boebl.setEntityHandler(gdeh); boebl.setEntityMapper(dem); String entityname = getEntityName(clazz); locators.put(entityname, boebl); } }
Object depbean = resolveDependent(beanref, pri, targetclazz, setter.getDeclaredType());