initial rework for new enhancement

This commit is contained in:
Robin Bygrave
2013-06-19 20:36:24 +12:00
parent eb1eafe98c
commit 4ec62a5772
193 changed files with 2737 additions and 5285 deletions
@@ -11,37 +11,38 @@ public class CachedBeanDataUpdate {
public static CachedBeanData update(BeanDescriptor<?> desc, CachedBeanData data, PersistRequestBean<?> updateRequest){
Set<String> loadedProperties = data.getLoadedProperties();
Object[] copyOfData = data.copyData();
Object updateBean = updateRequest.getBean();
Set<String> updatedProperties = updateRequest.getUpdatedProperties();
int naturalKeyUpdate = -1;
boolean mergeProperties = false;
BeanProperty[] props = desc.propertiesNonMany();
for (int i = 0; i < props.length; i++) {
if (updatedProperties.contains(props[i].getName())){
if (props[i].isNaturalKey()){
naturalKeyUpdate = i;
}
copyOfData[i] = props[i].getCacheDataValue(updateBean);
if (loadedProperties != null && !mergeProperties && !loadedProperties.contains(props[i].getName())){
mergeProperties = true;
}
}
}
if (mergeProperties){
HashSet<String> mergeProps = new HashSet<String>();
mergeProps.addAll(loadedProperties);
mergeProps.addAll(updatedProperties);
loadedProperties = mergeProps;
}
return new CachedBeanData(null, loadedProperties, copyOfData, naturalKeyUpdate);
//
// Set<String> loadedProperties = data.getLoadedProperties();
// Object[] copyOfData = data.copyData();
//
// Object updateBean = updateRequest.getBean();
// Set<String> updatedProperties = updateRequest.getUpdatedProperties();
//
// int naturalKeyUpdate = -1;
// boolean mergeProperties = false;
// BeanProperty[] props = desc.propertiesNonMany();
// for (int i = 0; i < props.length; i++) {
// if (updatedProperties.contains(props[i].getName())){
// if (props[i].isNaturalKey()){
// naturalKeyUpdate = i;
// }
// copyOfData[i] = props[i].getCacheDataValue(updateBean);
// if (loadedProperties != null && !mergeProperties && !loadedProperties.contains(props[i].getName())){
// mergeProperties = true;
// }
// }
// }
//
// if (mergeProperties){
// HashSet<String> mergeProps = new HashSet<String>();
// mergeProps.addAll(loadedProperties);
// mergeProps.addAll(updatedProperties);
// loadedProperties = mergeProps;
// }
//
// return new CachedBeanData(null, loadedProperties, copyOfData, naturalKeyUpdate);
return null;
}