[cvs] expresso commit by lhamel: reinstate cases for set(field, object)

JCorporate Ltd jcorp at jcorporate.com
Tue Jan 4 23:10:41 UTC 2005


Log Message:
-----------
reinstate cases for set(field, object)

Modified Files:
--------------
    expresso/expresso-web/WEB-INF/src/com/jcorporate/expresso/core/dbobj:
        DBObject.java

Revision Data
-------------
Index: DBObject.java
===================================================================
RCS file: /home/javacorp/.cvs/expresso/expresso/expresso-web/WEB-INF/src/com/jcorporate/expresso/core/dbobj/DBObject.java,v
retrieving revision 1.235
retrieving revision 1.236
diff -Lexpresso-web/WEB-INF/src/com/jcorporate/expresso/core/dbobj/DBObject.java -Lexpresso-web/WEB-INF/src/com/jcorporate/expresso/core/dbobj/DBObject.java -u -r1.235 -r1.236
--- expresso-web/WEB-INF/src/com/jcorporate/expresso/core/dbobj/DBObject.java
+++ expresso-web/WEB-INF/src/com/jcorporate/expresso/core/dbobj/DBObject.java
@@ -527,8 +527,8 @@
 //					}
                 }
 
-//				this.setField(oneFieldName, oneFieldValue);
-                this.set(oneFieldName, tmpData);
+//				setField(oneFieldName, oneFieldValue);
+                set(oneFieldName, tmpData);
                 fieldCount++;
             } catch (DBException de) {
                 if (log.isDebugEnabled()) {
@@ -2042,7 +2042,7 @@
             FastStringBuffer fsb = FastStringBuffer.getInstance();
             try {
                 // does this object have key fields?
-                if (this.getKeyFieldListIterator().hasNext()) {
+                if (getKeyFieldListIterator().hasNext()) {
                     // just use key fields to identify
                     sqlCommand.append(buildWhereClauseBuffer(false, fsb));
                 } else {
@@ -2061,7 +2061,7 @@
             if (localConnection != null) {
                 myConnection = localConnection;
             } else {
-                myConnection = this.getConnectionPool().getConnection(this.myClassName);
+                myConnection = getConnectionPool().getConnection(myClassName);
             }
 
             if (myConnection == null) {
@@ -2102,8 +2102,8 @@
                 myChangeLog = new ChangeLog();
             }
             myChangeLog.setDataContext(getDataContext());
-            myChangeLog.setField("ObjectChanged", this.myClassName);
-            myChangeLog.setField("RecordKey", this.getMyKeys());
+            myChangeLog.setField("ObjectChanged", myClassName);
+            myChangeLog.setField("RecordKey", getMyKeys());
             myChangeLog.setField("Operation", "D");
             myChangeLog.setField("ChangedField", "ALL");
             myChangeLog.add();
@@ -2329,7 +2329,7 @@
             }
 
             myStatement.append(" FROM ");
-            myStatement.append(metadata.getTargetSQLTable(this.getDataContext()));
+            myStatement.append(metadata.getTargetSQLTable(getDataContext()));
 
             if (customWhereClause != null) {
                 myStatement.append(customWhereClause);
@@ -2422,7 +2422,7 @@
                                     oneFieldName + "' index " + i +
                                     ":" + de1.getMessage(), de1.getDBMessage());
                         } catch (Exception e1) {
-                            throw new DBException("(" + this.myClassName +
+                            throw new DBException("(" + myClassName +
                                     ") Error retrieving field '" +
                                     oneFieldName + "' index " + i +
                                     ":" + e1.getMessage(), e1.getMessage());
@@ -3140,7 +3140,7 @@
             }
             return (byte[]) o;
         } catch (Exception ex) {
-            throw new DBException("(" + this.myClassName +
+            throw new DBException("(" + myClassName +
                     ") Unable to get a byte array value from field " +
                     fieldName + " which contained '" + strVal +
                     "'", ex.getMessage());
@@ -3447,11 +3447,11 @@
             }
             if (!whereClause) {
                 myConnection.execute("SELECT MAX(" + fieldName + ") FROM " +
-                        getJDBCMetaData().getTargetSQLTable(this.getDataContext()));
+                        getJDBCMetaData().getTargetSQLTable(getDataContext()));
             } else {
                 FastStringBuffer sqlCommand = new FastStringBuffer(60);
                 sqlCommand.append("SELECT MAX(" + fieldName + ") FROM " +
-                        getJDBCMetaData().getTargetSQLTable(this.getDataContext()) + " ");
+                        getJDBCMetaData().getTargetSQLTable(getDataContext()) + " ");
 
                 if (customWhereClause != null) {
                     sqlCommand.append(customWhereClause);
@@ -5195,7 +5195,7 @@
 
 
         myStatement.append(" FROM ");
-        myStatement.append(getJDBCMetaData().getTargetSQLTable(this.getDataContext()));
+        myStatement.append(getJDBCMetaData().getTargetSQLTable(getDataContext()));
 
         if (customWhereClause != null) {
             myStatement.append(customWhereClause);
@@ -5715,14 +5715,14 @@
         DataFieldMetaData oneField = getFieldMetaData(fieldName);
 
         if (!oneField.isLongBinaryType()) {
-            throw new DBException("(" + this.myClassName + ") Field " +
+            throw new DBException("(" + myClassName + ") Field " +
                     fieldName +
                     " is not a longvarbinary field. You should not be" +
                     " calling setField directly");
         }
 
         if (oneField.isVirtual()) {
-            throw new DBException("(" + this.myClassName + ") Field " +
+            throw new DBException("(" + myClassName + ") Field " +
                     fieldName +
                     " is a virtual field. Database object should " +
                     "extend setField method to handle requests for this field");
@@ -6031,7 +6031,7 @@
 
         DataField df = (DataField) fieldData.get(fieldName);
         if (df == null) {
-            df = DefaultDataField.getInstance(this.getFieldMetaData(fieldName), this);
+            df = DefaultDataField.getInstance(getFieldMetaData(fieldName), this);
         }
 
         df.setValue(fieldValue);
@@ -6467,7 +6467,7 @@
         try {
             myStatement.append("SELECT " + func);
             myStatement.append("(" + fieldName + ") FROM ");
-            myStatement.append(this.getJDBCMetaData().getTargetSQLTable(this.getDataContext()));
+            myStatement.append(getJDBCMetaData().getTargetSQLTable(getDataContext()));
             FastStringBuffer fsb = FastStringBuffer.getInstance();
             try {
                 if (customWhereClause != null) {
@@ -6691,15 +6691,15 @@
 
         //Build an object that we're going to query with.
         DBObject testObject = newInstance();
-        DataObjectMetaData metadata = this.getMetaData();
-        for (Iterator i = this.getMetaData().getFieldListArray().iterator();
+        DataObjectMetaData metadata = getMetaData();
+        for (Iterator i = getMetaData().getFieldListArray().iterator();
              i.hasNext();) {
             String fieldName = (String) i.next();
             DataFieldMetaData fieldMetadata = metadata.getFieldMetadata(fieldName);
             if (fieldMetadata.isLongObjectType() || fieldMetadata.isVirtual()) {
                 // do nothing
             } else {
-                testObject.setField(fieldName, this.getField(fieldName));
+                testObject.setField(fieldName, getField(fieldName));
             }
         }
 
@@ -6766,7 +6766,7 @@
             //set instead.
             //
             DBConnectionPool myPool = DBConnectionPool.getInstance(getMappedDataContext());
-            DBConnection localConnection = this.getLocalConnection();
+            DBConnection localConnection = getLocalConnection();
 
             List lobFieldOrder = null;
             List lobUpdates = null;
@@ -6776,29 +6776,29 @@
             boolean fieldsUpdated = false;
             try {
                 sqlCommand.append("UPDATE ");
-                sqlCommand.append(this.getJDBCMetaData().getTargetSQLTable(this.getDataContext()));
+                sqlCommand.append(getJDBCMetaData().getTargetSQLTable(getDataContext()));
                 sqlCommand.append(" SET ");
 
 
-                for (Iterator i = this.getMetaData().getFieldListArray().iterator(); i.hasNext();) {
+                for (Iterator i = getMetaData().getFieldListArray().iterator(); i.hasNext();) {
                     String oneFieldName = (String) i.next();
-                    oneField = this.getFieldMetaData(oneFieldName);
+                    oneField = getFieldMetaData(oneFieldName);
 
                     /* We skip any key fields in the update part (not allowed to */
                     /* update them). Also skip any virtual fields */
                     if ((!oneField.isKey()) && (!oneField.isVirtual()) &&
                             (!oneField.isAutoIncremented()) && (!oneField.isBinaryObjectType())) {
                         // Only include changed fields in the update if required
-                        if (this.getDataField(oneFieldName).isValueSet() && this.getStatus().equals(
+                        if (getDataField(oneFieldName).isValueSet() && getStatus().equals(
                                 DataObject.STATUS_NEW)) {
                             ;
                         } else {
-                            if (!this.getDataField(oneFieldName).isChanged()) {
+                            if (!getDataField(oneFieldName).isChanged()) {
                                 continue;
                             }
                         }
 
-                        this.checkField(oneFieldName, this.getField(oneFieldName));
+                        checkField(oneFieldName, getField(oneFieldName));
 
                         if (needComma) {
                             sqlCommand.append(", ");
@@ -6809,7 +6809,7 @@
                             sqlCommand.append(" = ");
 
                             if (oneField.isDateType()) {
-                                Object tmpData = this.get(oneField.getName());
+                                Object tmpData = get(oneField.getName());
                                 String data;
                                 //
                                 //FIXME allow for appropriate support of other data types.
@@ -6836,7 +6836,7 @@
                                     lobUpdates = new ArrayList();
                                     lobFieldOrder = new ArrayList();
                                 }
-                                Object tmpData = this.get(oneField.getName());
+                                Object tmpData = get(oneField.getName());
                                 String data;
                                 //
                                 //FIXME allow for appropriate support of other data types.
@@ -6855,7 +6855,7 @@
                                 sqlCommand.append("?");
 
                             } else {
-                                sqlCommand.append(this.quoteIfNeeded(oneField.getName(),
+                                sqlCommand.append(quoteIfNeeded(oneField.getName(),
                                         null));
                             }
 
@@ -6931,7 +6931,7 @@
                 }
 
                 if ((myConnection.getUpdateCount() == 0) &&
-                        (this.checkZeroUpdate())) {
+                        (checkZeroUpdate())) {
                     log.debug("No record updated for SQL '" +
                             theSqlString + "'");
                 }
@@ -7178,9 +7178,7 @@
     public void set(String fieldName, Object o) throws DataException {
         try {
             //
-            //For now this is a backwards compatability hack to get the interface
-            //out the door.  It will eventually be the bulk of it's own
-            //work
+            // this is a backwards compatability hack
             //
             if (o == null) {
                 setField(fieldName, (String) null);
@@ -7190,13 +7188,20 @@
                 setField(fieldName, ((Integer) o).intValue());
             } else if (o instanceof java.lang.Boolean) {
                 setField(fieldName, ((Boolean) o).booleanValue());
+            } else if (o instanceof java.lang.Long) {
+                setField(fieldName, ((Long) o).longValue());
 			} else if (o instanceof byte[]) {
-					this.setField(fieldName, (byte[]) o);
+				setField(fieldName, (byte[]) o);
+            } else if (o instanceof java.lang.Double) {
+                setField(fieldName, ((Double) o).doubleValue());
+            } else if (o instanceof java.math.BigDecimal) {
+                setField(fieldName, (BigDecimal) o);
+            } else if (o instanceof java.util.Date) {
+                setField(fieldName, (java.util.Date) o);
             } else {
                 throw new IllegalArgumentException("DBObject.setFieldValue(String," +
                         "Object) must currently have o only of " +
-                        "type String, Integer, or Boolean");
-
+                        "type String, Integer, or Boolean, Long, Double, byte[], Double, BigDecimal, or Date");
             }
         } catch (DBException ex) {
             throw new DataException(ex);
@@ -7249,7 +7254,7 @@
         // set from RequestRegistry if this is first access
         if (dbKey == null || dbKey.length() == 0) {
             try {
-                this.setDataContext(RequestRegistry.getDataContext());
+                setDataContext(RequestRegistry.getDataContext());
             } catch (Exception ex) {
                 getLogger().warn("Problem getting data context from Registry: " +
                         ex.getClass().getName() + ", msg: " + ex.getMessage());


More information about the cvs mailing list