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/10/11 20:41:21 UTC

svn commit: r1182017 - in /incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql: ./ auto/ jdbc/ jdbc/installer/

Author: kevin
Date: Tue Oct 11 18:41:20 2011
New Revision: 1182017

URL: http://svn.apache.org/viewvc?rev=1182017&view=rev
Log:
ISIS-121: Moved SQL-OS configuration variable loading from JdbcConnector to Defaults.

Modified:
    incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/Defaults.java
    incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/FieldMappingLookup.java
    incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/IdMappingAbstract.java
    incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/VersionMapping.java
    incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/auto/AutoMapper.java
    incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/auto/PolymorphicForeignKeyInChildCollectionBaseMapper.java
    incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/jdbc/JdbcAbstractReferenceFieldMapping.java
    incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/jdbc/JdbcConnector.java
    incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/jdbc/JdbcDateMapper.java
    incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/jdbc/JdbcDateTimeMapper.java
    incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/jdbc/JdbcTimeMapper.java
    incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/jdbc/JdbcTimestampMapper.java
    incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/jdbc/installer/JdbcFieldMappingFactoryInstaller.java

Modified: incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/Defaults.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/Defaults.java?rev=1182017&r1=1182016&r2=1182017&view=diff
==============================================================================
--- incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/Defaults.java (original)
+++ incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/Defaults.java Tue Oct 11 18:41:20 2011
@@ -23,6 +23,7 @@ import java.util.Calendar;
 
 import org.joda.time.DateTimeZone;
 
+import org.apache.isis.applib.annotation.MemberOrder;
 import org.apache.isis.core.commons.config.IsisConfiguration;
 import org.apache.isis.runtimes.dflt.runtime.system.context.IsisContext;
 
@@ -39,14 +40,26 @@ public class Defaults {
 
         final IsisConfiguration configParameters = IsisContext.getConfiguration();
 
-        setPkIdLabel(getProperty(propertiesBase, configParameters, "pk_id"));
-        setIdColumn(getProperty(propertiesBase, configParameters, "id"));
+        setPkIdLabel(getStringProperty(propertiesBase, configParameters, "pk_id"));
+        setIdColumn(getStringProperty(propertiesBase, configParameters, "id"));
+        setMaxInstances(getIntProperty(propertiesBase, configParameters, "maxinstances", 100));
+
+        final String BASE_DATATYPE = propertiesBase + ".datatypes.";
+        final IsisConfiguration dataTypes = IsisContext.getConfiguration().getProperties(BASE_DATATYPE);
+        populateSqlDataTypes(dataTypes, BASE_DATATYPE);
+
     }
 
-    protected static String getProperty(String propertiesBase, final IsisConfiguration configParameters, String property) {
+    protected static String getStringProperty(String propertiesBase, final IsisConfiguration configParameters,
+        String property) {
         return configParameters.getString(propertiesBase + ".default." + property, property);
     }
 
+    protected static int getIntProperty(String propertiesBase, final IsisConfiguration configParameters,
+        String property, int defaultValue) {
+        return configParameters.getInteger(propertiesBase + ".default." + property, defaultValue);
+    }
+
     // {{ Calendar
     private static Calendar calendar;
 
@@ -93,6 +106,124 @@ public class Defaults {
     public static String getIdColumn() {
         return idColumn;
     }
+
+    // }}
+
+    // {{ MaxInstances
+    private static int maxInstances;
+
+    @MemberOrder(sequence = "1")
+    public static int getMaxInstances() {
+        return maxInstances;
+    }
+
+    public static void setMaxInstances(final int maxInstances) {
+        Defaults.maxInstances = maxInstances;
+    }
+
     // }}
 
+    // {{ Default data types
+    static String TYPE_BOOLEAN;
+    static String TYPE_TIMESTAMP;
+    static String TYPE_DATETIME;
+    static String TYPE_DATE;
+    static String TYPE_TIME;
+    static String TYPE_SHORT;
+    static String TYPE_DOUBLE;
+    static String TYPE_FLOAT;
+    static String TYPE_LONG;
+    static String TYPE_INT;
+    static String TYPE_PK;
+    static String TYPE_STRING;
+    static String TYPE_LONG_STRING;
+    static String TYPE_PASSWORD;
+    static String TYPE_DEFAULT;
+
+    /**
+     * Default SQL data types used to define the fields in the database. By providing this method, we allow the user an
+     * opportunity to override these types by specifying alternatives in sql.properties (or which ever). For example,
+     * Postgresql does not know about DATETIME, but can use TIMESTAMP instead.
+     * 
+     * @param dataTypes
+     * @param baseName
+     */
+    private static void populateSqlDataTypes(final IsisConfiguration dataTypes, final String baseName) {
+        TYPE_TIMESTAMP = dataTypes.getString(baseName + "timestamp", "DATETIME");
+        TYPE_DATETIME = dataTypes.getString(baseName + "datetime", "DATETIME");
+        TYPE_DATE = dataTypes.getString(baseName + "date", "DATE");
+        TYPE_TIME = dataTypes.getString(baseName + "time", "TIME");
+        TYPE_DOUBLE = dataTypes.getString(baseName + "double", "DOUBLE");
+        TYPE_FLOAT = dataTypes.getString(baseName + "float", "FLOAT");
+        TYPE_SHORT = dataTypes.getString(baseName + "short", "INT");
+        TYPE_LONG = dataTypes.getString(baseName + "long", "BIGINT");
+        TYPE_INT = dataTypes.getString(baseName + "int", "INT");
+        TYPE_BOOLEAN = dataTypes.getString(baseName + "boolean", "BOOLEAN"); // CHAR(1)
+        TYPE_PK = dataTypes.getString(baseName + "primarykey", "INTEGER");
+        TYPE_STRING = dataTypes.getString(baseName + "string", "VARCHAR(65)");
+        TYPE_LONG_STRING = dataTypes.getString(baseName + "longstring", "VARCHAR(128)");
+        TYPE_PASSWORD = dataTypes.getString(baseName + "password", "VARCHAR(12)");
+        TYPE_DEFAULT = dataTypes.getString(baseName + "default", "VARCHAR(65)");
+    }
+
+    public static String TYPE_TIMESTAMP() {
+        return TYPE_TIMESTAMP;
+    }
+
+    public static String TYPE_SHORT() {
+        return TYPE_SHORT;
+    }
+
+    public static String TYPE_INT() {
+        return TYPE_INT;
+    }
+
+    public static String TYPE_LONG() {
+        return TYPE_LONG;
+    }
+
+    public static String TYPE_FLOAT() {
+        return TYPE_FLOAT;
+    }
+
+    public static String TYPE_DOUBLE() {
+        return TYPE_DOUBLE;
+    }
+
+    public static String TYPE_BOOLEAN() {
+        return TYPE_BOOLEAN;
+    }
+
+    public static String TYPE_PK() {
+        return TYPE_PK;
+    }
+
+    public static String TYPE_STRING() {
+        return TYPE_STRING;
+    }
+
+    public static String TYPE_LONG_STRING() {
+        return TYPE_LONG_STRING;
+    }
+
+    public static String TYPE_PASSWORD() {
+        return TYPE_PASSWORD;
+    }
+
+    public static String TYPE_DEFAULT() {
+        return TYPE_DEFAULT;
+    }
+
+    public static String TYPE_DATE() {
+        return TYPE_DATE;
+    }
+
+    public static String TYPE_DATETIME() {
+        return TYPE_DATETIME;
+    }
+
+    public static String TYPE_TIME() {
+        return TYPE_TIME;
+    }
+    // }}
 }

Modified: incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/FieldMappingLookup.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/FieldMappingLookup.java?rev=1182017&r1=1182016&r2=1182017&view=diff
==============================================================================
--- incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/FieldMappingLookup.java (original)
+++ incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/FieldMappingLookup.java Tue Oct 11 18:41:20 2011
@@ -22,17 +22,17 @@ package org.apache.isis.runtimes.dflt.ob
 import java.util.HashMap;
 import java.util.Map;
 
+import org.apache.log4j.Logger;
+
 import org.apache.isis.core.commons.exceptions.NotYetImplementedException;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
-import org.apache.isis.runtimes.dflt.objectstores.sql.jdbc.JdbcConnector;
 import org.apache.isis.runtimes.dflt.objectstores.sql.jdbc.JdbcGeneralValueMapper;
 import org.apache.isis.runtimes.dflt.objectstores.sql.mapping.FieldMapping;
 import org.apache.isis.runtimes.dflt.objectstores.sql.mapping.FieldMappingFactory;
 import org.apache.isis.runtimes.dflt.objectstores.sql.mapping.ObjectReferenceMapping;
 import org.apache.isis.runtimes.dflt.objectstores.sql.mapping.ObjectReferenceMappingFactory;
 import org.apache.isis.runtimes.dflt.runtime.system.context.IsisContext;
-import org.apache.log4j.Logger;
 
 public class FieldMappingLookup {
     private static final Logger LOG = Logger.getLogger(FieldMappingLookup.class);
@@ -49,7 +49,7 @@ public class FieldMappingLookup {
         if (factory != null) {
             return factory.createFieldMapping(field);
         } else if (spec.isEncodeable()) {
-            factory = new JdbcGeneralValueMapper.Factory(JdbcConnector.TYPE_DEFAULT());
+            factory = new JdbcGeneralValueMapper.Factory(Defaults.TYPE_DEFAULT());
             addFieldMappingFactory(spec, factory);
             return factory.createFieldMapping(field);
         } else {// if (true /* TODO test for reference */) {

Modified: incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/IdMappingAbstract.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/IdMappingAbstract.java?rev=1182017&r1=1182016&r2=1182017&view=diff
==============================================================================
--- incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/IdMappingAbstract.java (original)
+++ incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/IdMappingAbstract.java Tue Oct 11 18:41:20 2011
@@ -23,7 +23,6 @@ import org.apache.isis.core.metamodel.ad
 import org.apache.isis.core.metamodel.adapter.oid.Oid;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 import org.apache.isis.runtimes.dflt.objectstores.sql.SqlOid.State;
-import org.apache.isis.runtimes.dflt.objectstores.sql.jdbc.JdbcConnector;
 import org.apache.isis.runtimes.dflt.runtime.persistence.oidgenerator.simple.SerialOid;
 import org.apache.isis.runtimes.dflt.runtime.system.context.IsisContext;
 import org.apache.isis.runtimes.dflt.runtime.system.persistence.AdapterManager;
@@ -53,13 +52,13 @@ public class IdMappingAbstract {
     public void appendCreateColumnDefinitions(final StringBuffer sql) {
         sql.append(column);
         sql.append(" ");
-        sql.append(JdbcConnector.TYPE_PK() + " NOT NULL PRIMARY KEY");
+        sql.append(Defaults.TYPE_PK() + " NOT NULL PRIMARY KEY");
     }
 
     public void appendColumnDefinitions(final StringBuffer sql) {
         sql.append(column);
         sql.append(" ");
-        sql.append(JdbcConnector.TYPE_PK());
+        sql.append(Defaults.TYPE_PK());
     }
 
     public void appendColumnNames(final StringBuffer sql) {

Modified: incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/VersionMapping.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/VersionMapping.java?rev=1182017&r1=1182016&r2=1182017&view=diff
==============================================================================
--- incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/VersionMapping.java (original)
+++ incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/VersionMapping.java Tue Oct 11 18:41:20 2011
@@ -24,7 +24,6 @@ import java.util.Date;
 
 import org.apache.isis.core.metamodel.adapter.version.SerialNumberVersion;
 import org.apache.isis.core.metamodel.adapter.version.Version;
-import org.apache.isis.runtimes.dflt.objectstores.sql.jdbc.JdbcConnector;
 import org.apache.isis.runtimes.dflt.runtime.system.context.IsisContext;
 
 public class VersionMapping {
@@ -86,7 +85,7 @@ public class VersionMapping {
 
         sql.append(",");
         sql.append(lastActivityDateColumn);
-        sql.append(" " + JdbcConnector.TYPE_TIMESTAMP());
+        sql.append(" " + Defaults.TYPE_TIMESTAMP());
 
         return sql.toString();
     }

Modified: incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/auto/AutoMapper.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/auto/AutoMapper.java?rev=1182017&r1=1182016&r2=1182017&view=diff
==============================================================================
--- incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/auto/AutoMapper.java (original)
+++ incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/auto/AutoMapper.java Tue Oct 11 18:41:20 2011
@@ -37,6 +37,7 @@ import org.apache.isis.core.metamodel.sp
 import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
 import org.apache.isis.runtimes.dflt.objectstores.sql.CollectionMapper;
 import org.apache.isis.runtimes.dflt.objectstores.sql.DatabaseConnector;
+import org.apache.isis.runtimes.dflt.objectstores.sql.Defaults;
 import org.apache.isis.runtimes.dflt.objectstores.sql.FieldMappingLookup;
 import org.apache.isis.runtimes.dflt.objectstores.sql.IdMapping;
 import org.apache.isis.runtimes.dflt.objectstores.sql.ObjectMapping;
@@ -56,7 +57,7 @@ import org.apache.isis.runtimes.dflt.run
 
 public class AutoMapper extends AbstractAutoMapper implements ObjectMapping, DebuggableWithTitle {
     private static final Logger LOG = Logger.getLogger(AutoMapper.class);
-    private static final int MAX_INSTANCES = 100;
+    // private static final int MAX_INSTANCES = 100;
     private final IdMapping idMapping;
     private final VersionMapping versionMapping;
     private final TitleMapping titleMapping;
@@ -321,7 +322,8 @@ public class AutoMapper extends Abstract
 
         try {
             final Results rs = connector.select(selectStatment);
-            for (int count = 0; rs.next() && count < MAX_INSTANCES; count++) {
+            final int maxInstances = Defaults.getMaxInstances();
+            for (int count = 0; rs.next() && count < maxInstances; count++) {
                 final ObjectAdapter instance = loadObject(connector, cls, rs);
                 LOG.debug("  instance  " + instance);
                 instances.addElement(instance);

Modified: incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/auto/PolymorphicForeignKeyInChildCollectionBaseMapper.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/auto/PolymorphicForeignKeyInChildCollectionBaseMapper.java?rev=1182017&r1=1182016&r2=1182017&view=diff
==============================================================================
--- incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/auto/PolymorphicForeignKeyInChildCollectionBaseMapper.java (original)
+++ incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/auto/PolymorphicForeignKeyInChildCollectionBaseMapper.java Tue Oct 11 18:41:20 2011
@@ -33,6 +33,7 @@ import org.apache.isis.core.metamodel.sp
 import org.apache.isis.core.metamodel.spec.SpecificationLoader;
 import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
 import org.apache.isis.runtimes.dflt.objectstores.sql.DatabaseConnector;
+import org.apache.isis.runtimes.dflt.objectstores.sql.Defaults;
 import org.apache.isis.runtimes.dflt.objectstores.sql.FieldMappingLookup;
 import org.apache.isis.runtimes.dflt.objectstores.sql.IdMappingAbstract;
 import org.apache.isis.runtimes.dflt.objectstores.sql.ObjectMapping;
@@ -40,7 +41,6 @@ import org.apache.isis.runtimes.dflt.obj
 import org.apache.isis.runtimes.dflt.objectstores.sql.Results;
 import org.apache.isis.runtimes.dflt.objectstores.sql.Sql;
 import org.apache.isis.runtimes.dflt.objectstores.sql.VersionMapping;
-import org.apache.isis.runtimes.dflt.objectstores.sql.jdbc.JdbcConnector;
 import org.apache.isis.runtimes.dflt.objectstores.sql.jdbc.JdbcPolymorphicObjectReferenceMapping;
 import org.apache.isis.runtimes.dflt.objectstores.sql.mapping.FieldMapping;
 import org.apache.isis.runtimes.dflt.runtime.system.context.IsisContext;
@@ -90,8 +90,8 @@ public class PolymorphicForeignKeyInChil
         }
 
         if (!connection.hasColumn(table, classColumnName)) {
-            addColumn(connection, classColumnName, JdbcConnector.TYPE_LONG_STRING());
-            addColumn(connection, itemIdColumnName, JdbcConnector.TYPE_PK());
+            addColumn(connection, classColumnName, Defaults.TYPE_LONG_STRING());
+            addColumn(connection, itemIdColumnName, Defaults.TYPE_PK());
         }
     }
 

Modified: incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/jdbc/JdbcAbstractReferenceFieldMapping.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/jdbc/JdbcAbstractReferenceFieldMapping.java?rev=1182017&r1=1182016&r2=1182017&view=diff
==============================================================================
--- incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/jdbc/JdbcAbstractReferenceFieldMapping.java (original)
+++ incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/jdbc/JdbcAbstractReferenceFieldMapping.java Tue Oct 11 18:41:20 2011
@@ -27,6 +27,7 @@ import org.apache.isis.core.metamodel.sp
 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.Defaults;
 import org.apache.isis.runtimes.dflt.objectstores.sql.Results;
 import org.apache.isis.runtimes.dflt.objectstores.sql.Sql;
 import org.apache.isis.runtimes.dflt.objectstores.sql.mapping.FieldMapping;
@@ -65,7 +66,7 @@ public class JdbcAbstractReferenceFieldM
         sql.append(", ");
         sql.append(classnameColumn);
         sql.append(" ");
-        sql.append(JdbcConnector.TYPE_LONG_STRING());
+        sql.append(Defaults.TYPE_LONG_STRING());
     }
 
     @Override
@@ -73,7 +74,7 @@ public class JdbcAbstractReferenceFieldM
         super.appendCreateColumnDefinitions(sql);
         sql.append(classnameColumn);
         sql.append(" ");
-        sql.append(JdbcConnector.TYPE_LONG_STRING());
+        sql.append(Defaults.TYPE_LONG_STRING());
     }
 
     @Override

Modified: incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/jdbc/JdbcConnector.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/jdbc/JdbcConnector.java?rev=1182017&r1=1182016&r2=1182017&view=diff
==============================================================================
--- incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/jdbc/JdbcConnector.java (original)
+++ incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/jdbc/JdbcConnector.java Tue Oct 11 18:41:20 2011
@@ -129,9 +129,6 @@ public class JdbcConnector extends Abstr
             throw new SqlObjectStoreException("Could not find database driver", e);
         }
 
-        final String BASE_DATATYPE = baseName + ".datatypes.";
-        final IsisConfiguration dataTypes = IsisContext.getConfiguration().getProperties(BASE_DATATYPE);
-        populateSqlDataTypes(dataTypes, BASE_DATATYPE);
     }
 
     /*
@@ -167,96 +164,6 @@ public class JdbcConnector extends Abstr
      * return new JdbcResults(statement); } catch (SQLException e) { throw new ObjectAdapterRuntimeException(e); } }
      */
 
-    static String TYPE_BOOLEAN;
-    static String TYPE_TIMESTAMP;
-    static String TYPE_DATETIME;
-    static String TYPE_DATE;
-    static String TYPE_TIME;
-    static String TYPE_SHORT;
-    static String TYPE_DOUBLE;
-    static String TYPE_FLOAT;
-    static String TYPE_LONG;
-    static String TYPE_INT;
-    static String TYPE_PK;
-    static String TYPE_STRING;
-    static String TYPE_LONG_STRING;
-    static String TYPE_PASSWORD;
-    static String TYPE_DEFAULT;
-
-    /**
-     * Default SQL data types used to define the fields in the database. By providing this method, we allow the user an
-     * opportunity to override these types by specifying alternatives in sql.properties (or which ever). For example,
-     * Postgresql does not know about DATETIME, but can use TIMESTAMP instead.
-     * 
-     * @param dataTypes
-     * @param baseName
-     */
-    private static void populateSqlDataTypes(final IsisConfiguration dataTypes, final String baseName) {
-        TYPE_TIMESTAMP = dataTypes.getString(baseName + "timestamp", "DATETIME");
-        TYPE_DATETIME = dataTypes.getString(baseName + "datetime", "DATETIME");
-        TYPE_DATE = dataTypes.getString(baseName + "date", "DATE");
-        TYPE_TIME = dataTypes.getString(baseName + "time", "TIME");
-        TYPE_DOUBLE = dataTypes.getString(baseName + "double", "DOUBLE");
-        TYPE_FLOAT = dataTypes.getString(baseName + "float", "FLOAT");
-        TYPE_SHORT = dataTypes.getString(baseName + "short", "INT");
-        TYPE_LONG = dataTypes.getString(baseName + "long", "BIGINT");
-        TYPE_INT = dataTypes.getString(baseName + "int", "INT");
-        TYPE_BOOLEAN = dataTypes.getString(baseName + "boolean", "BOOLEAN"); // CHAR(1)
-        TYPE_PK = dataTypes.getString(baseName + "primarykey", "INTEGER");
-        TYPE_STRING = dataTypes.getString(baseName + "string", "VARCHAR(65)");
-        TYPE_LONG_STRING = dataTypes.getString(baseName + "longstring", "VARCHAR(128)");
-        TYPE_PASSWORD = dataTypes.getString(baseName + "password", "VARCHAR(12)");
-        TYPE_DEFAULT = dataTypes.getString(baseName + "default", "VARCHAR(65)");
-    }
-
-    public static String TYPE_TIMESTAMP() {
-        return TYPE_TIMESTAMP;
-    }
-
-    public static String TYPE_SHORT() {
-        return TYPE_SHORT;
-    }
-
-    public static String TYPE_INT() {
-        return TYPE_INT;
-    }
-
-    public static String TYPE_LONG() {
-        return TYPE_LONG;
-    }
-
-    public static String TYPE_FLOAT() {
-        return TYPE_FLOAT;
-    }
-
-    public static String TYPE_DOUBLE() {
-        return TYPE_DOUBLE;
-    }
-
-    public static String TYPE_BOOLEAN() {
-        return TYPE_BOOLEAN;
-    }
-
-    public static String TYPE_PK() {
-        return TYPE_PK;
-    }
-
-    public static String TYPE_STRING() {
-        return TYPE_STRING;
-    }
-
-    public static String TYPE_LONG_STRING() {
-        return TYPE_LONG_STRING;
-    }
-
-    public static String TYPE_PASSWORD() {
-        return TYPE_PASSWORD;
-    }
-
-    public static String TYPE_DEFAULT() {
-        return TYPE_DEFAULT;
-    }
-
     @Override
     public Results select(final String sql) {
         LOG.debug("SQL: " + sql);

Modified: incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/jdbc/JdbcDateMapper.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/jdbc/JdbcDateMapper.java?rev=1182017&r1=1182016&r2=1182017&view=diff
==============================================================================
--- incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/jdbc/JdbcDateMapper.java (original)
+++ incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/jdbc/JdbcDateMapper.java Tue Oct 11 18:41:20 2011
@@ -26,6 +26,7 @@ import org.apache.isis.applib.value.Date
 import org.apache.isis.core.commons.exceptions.IsisApplicationException;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
+import org.apache.isis.runtimes.dflt.objectstores.sql.Defaults;
 import org.apache.isis.runtimes.dflt.objectstores.sql.Results;
 import org.apache.isis.runtimes.dflt.objectstores.sql.mapping.FieldMapping;
 import org.apache.isis.runtimes.dflt.objectstores.sql.mapping.FieldMappingFactory;
@@ -91,7 +92,7 @@ public class JdbcDateMapper extends Abst
 
     @Override
     public String columnType() {
-        return JdbcConnector.TYPE_DATE;
+        return Defaults.TYPE_DATE();
     }
 
 }

Modified: incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/jdbc/JdbcDateTimeMapper.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/jdbc/JdbcDateTimeMapper.java?rev=1182017&r1=1182016&r2=1182017&view=diff
==============================================================================
--- incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/jdbc/JdbcDateTimeMapper.java (original)
+++ incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/jdbc/JdbcDateTimeMapper.java Tue Oct 11 18:41:20 2011
@@ -23,6 +23,7 @@ import org.apache.isis.applib.value.Date
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.facets.object.encodeable.EncodableFacet;
 import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
+import org.apache.isis.runtimes.dflt.objectstores.sql.Defaults;
 import org.apache.isis.runtimes.dflt.objectstores.sql.Results;
 import org.apache.isis.runtimes.dflt.objectstores.sql.mapping.FieldMapping;
 import org.apache.isis.runtimes.dflt.objectstores.sql.mapping.FieldMappingFactory;
@@ -65,7 +66,7 @@ public class JdbcDateTimeMapper extends 
 
     @Override
     public String columnType() {
-        return JdbcConnector.TYPE_DATETIME;
+        return Defaults.TYPE_DATETIME();
     }
 
 }

Modified: incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/jdbc/JdbcTimeMapper.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/jdbc/JdbcTimeMapper.java?rev=1182017&r1=1182016&r2=1182017&view=diff
==============================================================================
--- incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/jdbc/JdbcTimeMapper.java (original)
+++ incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/jdbc/JdbcTimeMapper.java Tue Oct 11 18:41:20 2011
@@ -23,6 +23,7 @@ import org.apache.isis.applib.PersistFai
 import org.apache.isis.applib.value.Time;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
+import org.apache.isis.runtimes.dflt.objectstores.sql.Defaults;
 import org.apache.isis.runtimes.dflt.objectstores.sql.Results;
 import org.apache.isis.runtimes.dflt.objectstores.sql.mapping.FieldMapping;
 import org.apache.isis.runtimes.dflt.objectstores.sql.mapping.FieldMappingFactory;
@@ -68,7 +69,7 @@ public class JdbcTimeMapper extends Abst
 
     @Override
     public String columnType() {
-        return JdbcConnector.TYPE_TIME;
+        return Defaults.TYPE_TIME();
     }
 
 }

Modified: incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/jdbc/JdbcTimestampMapper.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/jdbc/JdbcTimestampMapper.java?rev=1182017&r1=1182016&r2=1182017&view=diff
==============================================================================
--- incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/jdbc/JdbcTimestampMapper.java (original)
+++ incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/jdbc/JdbcTimestampMapper.java Tue Oct 11 18:41:20 2011
@@ -23,6 +23,7 @@ import org.apache.isis.applib.value.Time
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.facets.object.encodeable.EncodableFacet;
 import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
+import org.apache.isis.runtimes.dflt.objectstores.sql.Defaults;
 import org.apache.isis.runtimes.dflt.objectstores.sql.Results;
 import org.apache.isis.runtimes.dflt.objectstores.sql.mapping.FieldMapping;
 import org.apache.isis.runtimes.dflt.objectstores.sql.mapping.FieldMappingFactory;
@@ -80,7 +81,7 @@ public class JdbcTimestampMapper extends
 
     @Override
     public String columnType() {
-        return JdbcConnector.TYPE_TIMESTAMP;
+        return Defaults.TYPE_TIMESTAMP();
     }
 
 }

Modified: incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/jdbc/installer/JdbcFieldMappingFactoryInstaller.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/jdbc/installer/JdbcFieldMappingFactoryInstaller.java?rev=1182017&r1=1182016&r2=1182017&view=diff
==============================================================================
--- incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/jdbc/installer/JdbcFieldMappingFactoryInstaller.java (original)
+++ incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/jdbc/installer/JdbcFieldMappingFactoryInstaller.java Tue Oct 11 18:41:20 2011
@@ -27,11 +27,11 @@ import org.apache.isis.applib.value.Pass
 import org.apache.isis.applib.value.Percentage;
 import org.apache.isis.applib.value.Time;
 import org.apache.isis.applib.value.TimeStamp;
+import org.apache.isis.runtimes.dflt.objectstores.sql.Defaults;
 import org.apache.isis.runtimes.dflt.objectstores.sql.FieldMappingFactoryInstaller;
 import org.apache.isis.runtimes.dflt.objectstores.sql.FieldMappingLookup;
 import org.apache.isis.runtimes.dflt.objectstores.sql.jdbc.JdbcBinaryValueMapper;
 import org.apache.isis.runtimes.dflt.objectstores.sql.jdbc.JdbcColorValueMapper;
-import org.apache.isis.runtimes.dflt.objectstores.sql.jdbc.JdbcConnector;
 import org.apache.isis.runtimes.dflt.objectstores.sql.jdbc.JdbcDateMapper;
 import org.apache.isis.runtimes.dflt.objectstores.sql.jdbc.JdbcDateTimeMapper;
 import org.apache.isis.runtimes.dflt.objectstores.sql.jdbc.JdbcGeneralValueMapper;
@@ -45,20 +45,19 @@ public class JdbcFieldMappingFactoryInst
 
     @Override
     public void load(final FieldMappingLookup lookup) {
-        lookup.addFieldMappingFactory(boolean.class, new JdbcBinaryValueMapper.Factory(JdbcConnector.TYPE_BOOLEAN()));
-        lookup.addFieldMappingFactory(short.class, new JdbcBinaryValueMapper.Factory(JdbcConnector.TYPE_SHORT()));
-        lookup.addFieldMappingFactory(int.class, new JdbcBinaryValueMapper.Factory(JdbcConnector.TYPE_INT()));
-        lookup.addFieldMappingFactory(long.class, new JdbcBinaryValueMapper.Factory(JdbcConnector.TYPE_LONG()));
-        lookup.addFieldMappingFactory(Float.class, new JdbcBinaryValueMapper.Factory(JdbcConnector.TYPE_FLOAT()));
-        lookup.addFieldMappingFactory(double.class, new JdbcBinaryValueMapper.Factory(JdbcConnector.TYPE_DOUBLE()));
+        lookup.addFieldMappingFactory(boolean.class, new JdbcBinaryValueMapper.Factory(Defaults.TYPE_BOOLEAN()));
+        lookup.addFieldMappingFactory(short.class, new JdbcBinaryValueMapper.Factory(Defaults.TYPE_SHORT()));
+        lookup.addFieldMappingFactory(int.class, new JdbcBinaryValueMapper.Factory(Defaults.TYPE_INT()));
+        lookup.addFieldMappingFactory(long.class, new JdbcBinaryValueMapper.Factory(Defaults.TYPE_LONG()));
+        lookup.addFieldMappingFactory(Float.class, new JdbcBinaryValueMapper.Factory(Defaults.TYPE_FLOAT()));
+        lookup.addFieldMappingFactory(double.class, new JdbcBinaryValueMapper.Factory(Defaults.TYPE_DOUBLE()));
         lookup.addFieldMappingFactory(char.class, new JdbcGeneralValueMapper.Factory("CHAR(2)"));
 
         lookup.addFieldMappingFactory(Money.class, new JdbcMoneyValueMapper.Factory("FLOAT", "VARCHAR(3)"));
         lookup.addFieldMappingFactory(Percentage.class, new JdbcGeneralValueMapper.Factory("FLOAT"));
-        lookup
-            .addFieldMappingFactory(Password.class, new JdbcGeneralValueMapper.Factory(JdbcConnector.TYPE_PASSWORD()));
-        lookup.addFieldMappingFactory(Color.class, new JdbcColorValueMapper.Factory(JdbcConnector.TYPE_LONG()));
-        lookup.addFieldMappingFactory(String.class, new JdbcGeneralValueMapper.Factory(JdbcConnector.TYPE_STRING()));
+        lookup.addFieldMappingFactory(Password.class, new JdbcGeneralValueMapper.Factory(Defaults.TYPE_PASSWORD()));
+        lookup.addFieldMappingFactory(Color.class, new JdbcColorValueMapper.Factory(Defaults.TYPE_LONG()));
+        lookup.addFieldMappingFactory(String.class, new JdbcGeneralValueMapper.Factory(Defaults.TYPE_STRING()));
 
         lookup.addFieldMappingFactory(Date.class, new JdbcDateMapper.Factory());
         lookup.addFieldMappingFactory(Time.class, new JdbcTimeMapper.Factory());