package mir.producer;
+import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
-import java.util.*;
+import java.util.Map;
import mir.entity.Entity;
import mir.entity.adapter.EntityAdapter;
import mir.entity.adapter.EntityAdapterModel;
import mir.log.LoggerWrapper;
+import mir.util.JDBCStringRoutines;
import mir.util.ParameterExpander;
-import mir.util.*;
-public class EntityModifyingProducerNode implements ProducerNode {
+public class EntityModifyingProducerNode extends AbstractProducerNode {
private String entityExpression;
private String definition;
private Map fields;
Object value = ParameterExpander.evaluateExpression(aValueMap, valueExpression);
- aLogger.debug(" setting " + entityField + " to " + valueExpression+ " ("+ value + ")");
-
-// if (value==null)
-// entity.setValueForProperty(entityField, "");
if (value instanceof String)
- entity.setValueForProperty(entityField, (String) value);
+ entity.setFieldValue(entityField, (String) value);
else if (value instanceof EntityAdapter)
- entity.setValueForProperty(entityField, ((EntityAdapter) value).getEntity().getId());
+ entity.setFieldValue(entityField, ((EntityAdapter) value).getEntity().getId());
else if (value instanceof Date) {
- entity.setValueForProperty(entityField, JDBCStringRoutines.formatDate((Date) value));
+ entity.setFieldValue(entityField, JDBCStringRoutines.formatDate((Date) value));
}
else
aLogger.warn("Can't set value " + value + " for field " + entityField);
throw new ProducerExc( entityExpression + " does not evaluate to an entity");
}
catch (Throwable t) {
- aLogger.error("Error while performing entity modification operation: " + t.getMessage());
- t.printStackTrace(aLogger.asPrintWriter(aLogger.DEBUG_MESSAGE));
+ aLogger.error("Error while performing entity modification operation: " + t.getMessage(), t);
throw new ProducerFailure(t.getMessage(), t);
}