public class PropertyMapToGenericValueAdapter extends AbstractPropertyMapAdapter implements
PropertyAdapter<PropertyMap, PropertyDefinitionMap> {
private final Log log = LogFactory.getLog(this.getClass());
public void populateMetaValueFromProperty(PropertyMap propMap, MetaValue metaValue, PropertyDefinitionMap propDefMap) {
GenericValue genericValue = (GenericValue) metaValue;
if (!(genericValue.getValue() instanceof ManagedObject)) {
log.error("GenericValue's value [" + genericValue.getValue() + "] is not a ManagedObject - not supported!");
return;
}
ManagedObject managedObject = (ManagedObject) genericValue.getValue();
for (String propName : propMap.getMap().keySet()) {
Property mapMemberProp = propMap.get(propName);
ManagedProperty managedProp = managedObject.getProperty(propName);
MetaType metaType = managedProp.getMetaType();
PropertyAdapter propertyAdapter = PropertyAdapterFactory.getPropertyAdapter(metaType);