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