
|
If you were logged in you would be able to see more operations.
|
|
|
AppFuse
Created: 24/Jun/05 01:22 AM
Updated: 03/Oct/06 11:55 AM
|
|
| Component/s: |
Web - Struts
|
| Affects Version/s: |
None
|
| Fix Version/s: |
1.9
|
|
|
This code is able to perform a global convert on pojo or struts form.
Also, it keeps the original state of the object pass through the method.
(convertLists change the original object and i think it's boring)
public static Object convertAll(Object o) throws Exception {
if (o == null) {
return null;
}
Object targetO = getOpposingObject(o);
BeanUtils.copyProperties(targetO, o);
Object target = null;
PropertyDescriptor[] origDescriptors =
PropertyUtils.getPropertyDescriptors(o);
for (int i = 0; i < origDescriptors.length; i++) {
String name = origDescriptors[i].getName();
if (origDescriptors[i].getPropertyType().equals(List.class)) {
List list = (List) PropertyUtils.getProperty(o, name);
List b =null;
if(list!=null)
b = new ArrayList(list.size());
for (int j=0; j < list.size(); j++) {
Object origin = list.get(j);
// je convertit l'objet dans la liste
target = convert(origin);
b.add(target);
}
PropertyUtils.setProperty(targetO, name, b);
}
}
return targetO;
}
and add to the BaseAction class the method convertAll
|
|
Description
|
This code is able to perform a global convert on pojo or struts form.
Also, it keeps the original state of the object pass through the method.
(convertLists change the original object and i think it's boring)
public static Object convertAll(Object o) throws Exception {
if (o == null) {
return null;
}
Object targetO = getOpposingObject(o);
BeanUtils.copyProperties(targetO, o);
Object target = null;
PropertyDescriptor[] origDescriptors =
PropertyUtils.getPropertyDescriptors(o);
for (int i = 0; i < origDescriptors.length; i++) {
String name = origDescriptors[i].getName();
if (origDescriptors[i].getPropertyType().equals(List.class)) {
List list = (List) PropertyUtils.getProperty(o, name);
List b =null;
if(list!=null)
b = new ArrayList(list.size());
for (int j=0; j < list.size(); j++) {
Object origin = list.get(j);
// je convertit l'objet dans la liste
target = convert(origin);
b.add(target);
}
PropertyUtils.setProperty(targetO, name, b);
}
}
return targetO;
}
and add to the BaseAction class the method convertAll
|
Show » |
|
Looks like a good idea overall.