Author: lektran
Date: Fri Jan 15 21:43:56 2010
New Revision: 899825
URL: http://svn.apache.org/viewvc?rev=899825&view=rev
Log:
Allow byte[] and ByteBuffer to be used to set a Blob typed GenericEntity fields
without warnings
Modified:
ofbiz/trunk/framework/entity/src/org/ofbiz/entity/GenericEntity.java
Modified: ofbiz/trunk/framework/entity/src/org/ofbiz/entity/GenericEntity.java
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/framework/entity/src/org/ofbiz/entity/GenericEntity.java?rev=899825&r1=899824&r2=899825&view=diff
==============================================================================
--- ofbiz/trunk/framework/entity/src/org/ofbiz/entity/GenericEntity.java
(original)
+++ ofbiz/trunk/framework/entity/src/org/ofbiz/entity/GenericEntity.java Fri
Jan 15 21:43:56 2010
@@ -21,6 +21,7 @@
import java.io.PrintWriter;
import java.io.Serializable;
import java.math.BigDecimal;
+import java.nio.ByteBuffer;
import java.sql.Blob;
import java.sql.SQLException;
import java.util.Collection;
@@ -415,9 +416,11 @@
} catch (GeneralException e) {}
}
if (!ObjectType.instanceOf(value, type.getJavaType())) {
- String errMsg = "In entity field [" + this.getEntityName()
+ "." + name + "] set the value passed in [" + value.getClass().getName() + "]
is not compatible with the Java type of the field [" + type.getJavaType() + "]";
- // eventually we should do this, but for now we'll do a
"soft" failure: throw new IllegalArgumentException(errMsg);
- Debug.logWarning(new Exception("Location of database type
warning"), "=-=-=-=-=-=-=-=-= Database type warning GenericEntity.set
=-=-=-=-=-=-=-=-= " + errMsg, module);
+ if (!("java.sql.Blob".equals(type.getJavaType()) && (value
instanceof byte[] || ObjectType.instanceOf(value, ByteBuffer.class)))) {
+ String errMsg = "In entity field [" +
this.getEntityName() + "." + name + "] set the value passed in [" +
value.getClass().getName() + "] is not compatible with the Java type of the
field [" + type.getJavaType() + "]";
+ // eventually we should do this, but for now we'll do
a "soft" failure: throw new IllegalArgumentException(errMsg);
+ Debug.logWarning(new Exception("Location of database
type warning"), "=-=-=-=-=-=-=-=-= Database type warning GenericEntity.set
=-=-=-=-=-=-=-=-= " + errMsg, module);
+ }
}
}
Object old = fields.put(name, value);