You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by ke...@apache.org on 2011/04/06 21:52:03 UTC

svn commit: r1089602 - /incubator/isis/trunk/runtimes/dflt/objectstores/sql/impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/jdbc/

Author: kevin
Date: Wed Apr  6 19:52:03 2011
New Revision: 1089602

URL: http://svn.apache.org/viewvc?rev=1089602&view=rev
Log:
Minor re-organisation and cleanup.

Modified:
    incubator/isis/trunk/runtimes/dflt/objectstores/sql/impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/jdbc/AbstractJdbcFieldMapping.java
    incubator/isis/trunk/runtimes/dflt/objectstores/sql/impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/jdbc/AbstractJdbcMultiFieldMapping.java
    incubator/isis/trunk/runtimes/dflt/objectstores/sql/impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/jdbc/JdbcDateMapper.java
    incubator/isis/trunk/runtimes/dflt/objectstores/sql/impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/jdbc/JdbcDateTimeMapper.java
    incubator/isis/trunk/runtimes/dflt/objectstores/sql/impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/jdbc/JdbcGeneralValueMapper.java
    incubator/isis/trunk/runtimes/dflt/objectstores/sql/impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/jdbc/JdbcTimeMapper.java
    incubator/isis/trunk/runtimes/dflt/objectstores/sql/impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/jdbc/JdbcTimestampMapper.java

Modified: incubator/isis/trunk/runtimes/dflt/objectstores/sql/impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/jdbc/AbstractJdbcFieldMapping.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/runtimes/dflt/objectstores/sql/impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/jdbc/AbstractJdbcFieldMapping.java?rev=1089602&r1=1089601&r2=1089602&view=diff
==============================================================================
--- incubator/isis/trunk/runtimes/dflt/objectstores/sql/impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/jdbc/AbstractJdbcFieldMapping.java (original)
+++ incubator/isis/trunk/runtimes/dflt/objectstores/sql/impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/jdbc/AbstractJdbcFieldMapping.java Wed Apr  6 19:52:03 2011
@@ -17,7 +17,6 @@
  *  under the License.
  */
 
-
 package org.apache.isis.runtimes.dflt.objectstores.sql.jdbc;
 
 import org.apache.isis.core.commons.debug.DebugBuilder;
@@ -29,11 +28,10 @@ import org.apache.isis.runtimes.dflt.obj
 import org.apache.isis.runtimes.dflt.objectstores.sql.Sql;
 import org.apache.isis.runtimes.dflt.objectstores.sql.mapping.FieldMapping;
 
-
 public abstract class AbstractJdbcFieldMapping implements FieldMapping {
     private final String columnName;
     protected final ObjectAssociation field;
-        
+
     public AbstractJdbcFieldMapping(ObjectAssociation field) {
         this.field = field;
         columnName = Sql.sqlFieldName(field.getId());
@@ -57,7 +55,7 @@ public abstract class AbstractJdbcFieldM
         if (fieldValue == null) {
             sql.append("NULL");
         } else {
-        	sql.append("?");
+            sql.append("?");
             connector.addToQueryValues(preparedStatementObject(fieldValue));
         }
     }
@@ -80,21 +78,14 @@ public abstract class AbstractJdbcFieldM
         sql.append("?");
         connector.addToQueryValues(preparedStatementObject(fieldValue));
     }
-    
+
     @Override
     public void initializeField(ObjectAdapter object, Results rs) {
         String columnName = Sql.sqlFieldName(field.getId());
-        String encodedValue = rs.getString(columnName);
-        ObjectAdapter restoredValue;
-        if (encodedValue == null) {
-            restoredValue = null;
-        } else {
-            restoredValue = setFromDBColumn(rs, encodedValue, columnName, field);
-            
-        }
+        ObjectAdapter restoredValue = setFromDBColumn(rs, columnName, field);
         ((OneToOneAssociation) field).initAssociation(object, restoredValue);
     }
-    
+
     @Override
     public void debugData(DebugBuilder debug) {
         debug.appendln(field.getId(), columnName + "/" + columnType());
@@ -104,9 +95,6 @@ public abstract class AbstractJdbcFieldM
 
     protected abstract Object preparedStatementObject(ObjectAdapter value);
 
-    protected abstract ObjectAdapter setFromDBColumn(Results results, String encodeValue, String columnName,
-        ObjectAssociation field);
-
+    protected abstract ObjectAdapter setFromDBColumn(Results results, String columnName, ObjectAssociation field);
 
 }
-

Modified: incubator/isis/trunk/runtimes/dflt/objectstores/sql/impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/jdbc/AbstractJdbcMultiFieldMapping.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/runtimes/dflt/objectstores/sql/impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/jdbc/AbstractJdbcMultiFieldMapping.java?rev=1089602&r1=1089601&r2=1089602&view=diff
==============================================================================
--- incubator/isis/trunk/runtimes/dflt/objectstores/sql/impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/jdbc/AbstractJdbcMultiFieldMapping.java (original)
+++ incubator/isis/trunk/runtimes/dflt/objectstores/sql/impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/jdbc/AbstractJdbcMultiFieldMapping.java Wed Apr  6 19:52:03 2011
@@ -4,7 +4,6 @@ import org.apache.isis.applib.Applicatio
 import org.apache.isis.core.commons.debug.DebugBuilder;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
-import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
 import org.apache.isis.runtimes.dflt.objectstores.sql.DatabaseConnector;
 import org.apache.isis.runtimes.dflt.objectstores.sql.Results;
 import org.apache.isis.runtimes.dflt.objectstores.sql.Sql;
@@ -111,31 +110,11 @@ public abstract class AbstractJdbcMultiF
     }
 
     @Override
-    public void initializeField(ObjectAdapter object, Results rs) {
-        // TODO: remove this definition when encodedValue is no longer passed to setFromDBColumn
-        String columnName = columnName(0);
-        String encodedValue = rs.getString(columnName);
-
-        ObjectAdapter restoredValue;
-        if (encodedValue == null) {
-            restoredValue = null;
-        } else {
-            restoredValue = setFromDBColumn(rs, encodedValue, columnName, field);
-
-        }
-        ((OneToOneAssociation) field).initAssociation(object, restoredValue);
-    }
-
-    @Override
-    public ObjectAdapter setFromDBColumn(Results results, final String encodedValue, String columnName,
-        final ObjectAssociation field) {
-
+    public ObjectAdapter setFromDBColumn(Results results, String columnName, final ObjectAssociation field) {
         ObjectAdapter restoredValue;
         Object objectValue = getObjectFromResults(results);
         restoredValue = IsisContext.getPersistenceSession().getAdapterManager().adapterFor(objectValue);
-
         return restoredValue;
-
     }
 
     @Override

Modified: incubator/isis/trunk/runtimes/dflt/objectstores/sql/impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/jdbc/JdbcDateMapper.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/runtimes/dflt/objectstores/sql/impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/jdbc/JdbcDateMapper.java?rev=1089602&r1=1089601&r2=1089602&view=diff
==============================================================================
--- incubator/isis/trunk/runtimes/dflt/objectstores/sql/impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/jdbc/JdbcDateMapper.java (original)
+++ incubator/isis/trunk/runtimes/dflt/objectstores/sql/impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/jdbc/JdbcDateMapper.java Wed Apr  6 19:52:03 2011
@@ -70,8 +70,7 @@ public class JdbcDateMapper extends Abst
     
 
     @Override
-    public ObjectAdapter setFromDBColumn(final Results results, final String encodedValue, final String columnName,
-        final ObjectAssociation field) {
+    public ObjectAdapter setFromDBColumn(final Results results, final String columnName, final ObjectAssociation field) {
         ObjectAdapter restoredValue;
         java.util.Date javaDateValue = results.getJavaDateOnly(columnName);
         final Class<?> correspondingClass = field.getSpecification().getCorrespondingClass();

Modified: incubator/isis/trunk/runtimes/dflt/objectstores/sql/impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/jdbc/JdbcDateTimeMapper.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/runtimes/dflt/objectstores/sql/impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/jdbc/JdbcDateTimeMapper.java?rev=1089602&r1=1089601&r2=1089602&view=diff
==============================================================================
--- incubator/isis/trunk/runtimes/dflt/objectstores/sql/impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/jdbc/JdbcDateTimeMapper.java (original)
+++ incubator/isis/trunk/runtimes/dflt/objectstores/sql/impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/jdbc/JdbcDateTimeMapper.java Wed Apr  6 19:52:03 2011
@@ -17,7 +17,6 @@
  *  under the License.
  */
 
-
 package org.apache.isis.runtimes.dflt.objectstores.sql.jdbc;
 
 import org.apache.isis.applib.value.DateTime;
@@ -28,10 +27,10 @@ import org.apache.isis.runtimes.dflt.obj
 import org.apache.isis.runtimes.dflt.objectstores.sql.mapping.FieldMapping;
 import org.apache.isis.runtimes.dflt.objectstores.sql.mapping.FieldMappingFactory;
 
-
 public class JdbcDateTimeMapper extends AbstractJdbcFieldMapping {
-    
+
     public static class Factory implements FieldMappingFactory {
+        @Override
         public FieldMapping createFieldMapping(final ObjectAssociation field) {
             return new JdbcDateTimeMapper(field);
         }
@@ -42,14 +41,17 @@ public class JdbcDateTimeMapper extends 
     }
 
     @Override
-    protected Object preparedStatementObject(ObjectAdapter value){
+    protected Object preparedStatementObject(ObjectAdapter value) {
         DateTime asDate = (DateTime) value.getObject();
         java.sql.Timestamp dateTime = new java.sql.Timestamp(asDate.longValue());
         return dateTime;
     }
-    
 
-    public ObjectAdapter setFromDBColumn(Results results, final String encodedValue, String columnName, final ObjectAssociation field)             {
+    @Override
+    public ObjectAdapter setFromDBColumn(Results results, String columnName, final ObjectAssociation field) {
+        String encodedValue = results.getString(columnName);
+        if (encodedValue == null)
+            return null;
         // convert date to yyyymmddhhmm
         String year = encodedValue.substring(0, 4);
         String month = encodedValue.substring(5, 7);
@@ -59,7 +61,8 @@ public class JdbcDateTimeMapper extends 
         String valueString = year + month + day + "T" + hour + minute + "00000";
         return field.getSpecification().getFacet(EncodableFacet.class).fromEncodedString(valueString);
     }
-    
+
+    @Override
     public String columnType() {
         return JdbcConnector.TYPE_DATETIME;
     }

Modified: incubator/isis/trunk/runtimes/dflt/objectstores/sql/impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/jdbc/JdbcGeneralValueMapper.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/runtimes/dflt/objectstores/sql/impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/jdbc/JdbcGeneralValueMapper.java?rev=1089602&r1=1089601&r2=1089602&view=diff
==============================================================================
--- incubator/isis/trunk/runtimes/dflt/objectstores/sql/impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/jdbc/JdbcGeneralValueMapper.java (original)
+++ incubator/isis/trunk/runtimes/dflt/objectstores/sql/impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/jdbc/JdbcGeneralValueMapper.java Wed Apr  6 19:52:03 2011
@@ -32,35 +32,35 @@ import org.apache.isis.runtimes.dflt.obj
 
 public class JdbcGeneralValueMapper extends AbstractJdbcFieldMapping {
 
-	public static class Factory implements FieldMappingFactory {
-		private final String type;
+    public static class Factory implements FieldMappingFactory {
+        private final String type;
+
+        public Factory(final String type) {
+            this.type = type;
+        }
+
+        @Override
+        public FieldMapping createFieldMapping(final ObjectAssociation field) {
+            return new JdbcGeneralValueMapper(field, type);
+        }
+    }
+
+    private final String type;
+
+    public JdbcGeneralValueMapper(final ObjectAssociation field, final String type) {
+        super(field);
+        this.type = type;
+    }
+
+    // TODO:KAM: here X
+
+    @Override
+    protected Object preparedStatementObject(ObjectAdapter value) {
+        if (value == null)
+            return null;
 
-		public Factory(final String type) {
-			this.type = type;
-		}
-
-		@Override
-		public FieldMapping createFieldMapping(final ObjectAssociation field) {
-			return new JdbcGeneralValueMapper(field, type);
-		}
-	}
-
-	private final String type;
-
-	public JdbcGeneralValueMapper(final ObjectAssociation field,
-			final String type) {
-		super(field);
-		this.type = type;
-	}
-
-	// TODO:KAM: here X
-	
-	@Override
-    protected Object preparedStatementObject(ObjectAdapter value){
-        if (value == null) return null;
-        
         Object o = value.getObject();
-        
+
         if (o instanceof Money) {
             return ((Money) o).floatValue();
         } else if (o instanceof Percentage) {
@@ -72,9 +72,8 @@ public class JdbcGeneralValueMapper exte
         } else if (o instanceof String) {
             return o;
         } else {
-            if (columnType().contains("CHAR")){
-                EncodableFacet facet = value.getSpecification().getFacet(
-                        EncodableFacet.class);
+            if (columnType().contains("CHAR")) {
+                EncodableFacet facet = value.getSpecification().getFacet(EncodableFacet.class);
                 String encodedString = facet.toEncodedString(value);
                 return encodedString;
             } else {
@@ -82,19 +81,19 @@ public class JdbcGeneralValueMapper exte
             }
         }
     }
-	
 
-	@Override
-	public ObjectAdapter setFromDBColumn(Results results,
-			final String encodeValue, String columnName, final ObjectAssociation field) {
-		EncodableFacet facet = field.getSpecification().getFacet(
-				EncodableFacet.class);
-		return facet.fromEncodedString(encodeValue);
-	}
-
-	@Override
-	public String columnType() {
-		return type;
-	}
+    @Override
+    public ObjectAdapter setFromDBColumn(Results results, String columnName, final ObjectAssociation field) {
+        String encodedValue = results.getString(columnName);
+        if (encodedValue == null)
+            return null;
+        EncodableFacet facet = field.getSpecification().getFacet(EncodableFacet.class);
+        return facet.fromEncodedString(encodedValue);
+    }
+
+    @Override
+    public String columnType() {
+        return type;
+    }
 
 }

Modified: incubator/isis/trunk/runtimes/dflt/objectstores/sql/impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/jdbc/JdbcTimeMapper.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/runtimes/dflt/objectstores/sql/impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/jdbc/JdbcTimeMapper.java?rev=1089602&r1=1089601&r2=1089602&view=diff
==============================================================================
--- incubator/isis/trunk/runtimes/dflt/objectstores/sql/impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/jdbc/JdbcTimeMapper.java (original)
+++ incubator/isis/trunk/runtimes/dflt/objectstores/sql/impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/jdbc/JdbcTimeMapper.java Wed Apr  6 19:52:03 2011
@@ -49,7 +49,7 @@ public class JdbcTimeMapper extends Abst
 
 	@Override
 	public ObjectAdapter setFromDBColumn(Results results,
-			final String encodedValue, String columnName, final ObjectAssociation field) {
+			String columnName, final ObjectAssociation field) {
         /*
          * Long hour = Long.decode(encodedValue.substring(0, 2)); Long minute = Long.decode(encodedValue.substring(3,
          * 5)); Long millis = (minute + hour * 60) * 60 * 1000; String valueString = "T" + Long.toString(millis); return

Modified: incubator/isis/trunk/runtimes/dflt/objectstores/sql/impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/jdbc/JdbcTimestampMapper.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/runtimes/dflt/objectstores/sql/impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/jdbc/JdbcTimestampMapper.java?rev=1089602&r1=1089601&r2=1089602&view=diff
==============================================================================
--- incubator/isis/trunk/runtimes/dflt/objectstores/sql/impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/jdbc/JdbcTimestampMapper.java (original)
+++ incubator/isis/trunk/runtimes/dflt/objectstores/sql/impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/jdbc/JdbcTimestampMapper.java Wed Apr  6 19:52:03 2011
@@ -41,15 +41,17 @@ public class JdbcTimestampMapper extends
     }
 
     @Override
-    protected Object preparedStatementObject(ObjectAdapter value){
+    protected Object preparedStatementObject(ObjectAdapter value) {
         TimeStamp asDate = (TimeStamp) value.getObject();
         java.sql.Timestamp timeStamp = new java.sql.Timestamp(asDate.longValue());
         return timeStamp;
     }
-    
 
     @Override
-    public ObjectAdapter setFromDBColumn(Results results, final String encodedValue, String columnName, final ObjectAssociation field) {
+    public ObjectAdapter setFromDBColumn(Results results, String columnName, final ObjectAssociation field) {
+        String encodedValue = results.getString(columnName);
+        if (encodedValue == null)
+            return null;
         // convert date to yyyymmddhhmm
         String year = encodedValue.substring(0, 4);
         String month = encodedValue.substring(5, 7);