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);