You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@empire-db.apache.org by do...@apache.org on 2019/07/08 16:39:59 UTC
[empire-db] branch master updated: EMPIRE-DB-290: overloads for
enum handling and optimizations
This is an automated email from the ASF dual-hosted git repository.
doebele pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/empire-db.git
The following commit(s) were added to refs/heads/master by this push:
new 1b33784 EMPIRE-DB-290: overloads for enum handling and optimizations
1b33784 is described below
commit 1b337844116b50a976a95cb024fa922aad653fa6
Author: Rainer Döbele <do...@apache.org>
AuthorDate: Mon Jul 8 18:39:53 2019 +0200
EMPIRE-DB-290: overloads for enum handling and optimizations
---
.../empire/samples/db/advanced/SampleAdvApp.java | 2 +-
.../apache/empire/jsf2/websample/db/SampleDB.java | 35 ++++++------
.../apache/empire/samples/spring/db/SampleDB.java | 35 ++++++------
.../struts2/websample/ws/SampleBeanDomain.java | 33 ++++++-----
.../empire/struts2/websample/db/SampleDB.java | 33 ++++++-----
.../main/java/org/apache/empire/data/DataMode.java | 4 --
.../org/apache/empire/data/bean/BeanClass.java | 20 ++-----
.../org/apache/empire/data/bean/BeanProperty.java | 32 ++++++++---
.../main/java/org/apache/empire/db/DBColumn.java | 2 +-
.../org/apache/empire/db/DBDatabaseDriver.java | 7 +--
.../main/java/org/apache/empire/db/DBRowSet.java | 7 +++
.../main/java/org/apache/empire/db/DBTable.java | 65 ++++++++++++++++------
.../java/org/apache/empire/db/DBTableColumn.java | 25 ++-------
.../src/main/java/org/apache/empire/db/DBView.java | 5 +-
.../test/java/org/apache/empire/db/CompanyDB.java | 42 +++++++-------
.../java/org/apache/empire/db/IntegerTest.java | 7 +--
.../empire/db/hsql/DBDatabaseDriverHSqlTest.java | 5 +-
.../db/mssql/DBDatabaseDriverMSSqlDateTest.java | 9 ++-
.../db/sqlite/DBDatabaseDriverSQLiteTest.java | 4 +-
19 files changed, 194 insertions(+), 178 deletions(-)
diff --git a/empire-db-examples/empire-db-example-advanced/src/main/java/org/apache/empire/samples/db/advanced/SampleAdvApp.java b/empire-db-examples/empire-db-example-advanced/src/main/java/org/apache/empire/samples/db/advanced/SampleAdvApp.java
index 9b7fd07..6e375e2 100644
--- a/empire-db-examples/empire-db-example-advanced/src/main/java/org/apache/empire/samples/db/advanced/SampleAdvApp.java
+++ b/empire-db-examples/empire-db-example-advanced/src/main/java/org/apache/empire/samples/db/advanced/SampleAdvApp.java
@@ -542,7 +542,7 @@ public class SampleAdvApp
db.getDriver().setDDLColumnDefaults(true);
// First, add a new column to the Table object
- DBTableColumn C_FOO = db.T_EMPLOYEES.addColumn("FOO", DataType.VARCHAR, 20, DataMode.Nullable);
+ DBTableColumn C_FOO = db.T_EMPLOYEES.addColumn("FOO", DataType.VARCHAR, 20, false);
// Now create the corresponding DDL statement
System.out.println("Creating new column named FOO as varchar(20) for the EMPLOYEES table:");
diff --git a/empire-db-examples/empire-db-example-jsf2/src/main/java/org/apache/empire/jsf2/websample/db/SampleDB.java b/empire-db-examples/empire-db-example-jsf2/src/main/java/org/apache/empire/jsf2/websample/db/SampleDB.java
index 6334bc7..3096e4c 100644
--- a/empire-db-examples/empire-db-example-jsf2/src/main/java/org/apache/empire/jsf2/websample/db/SampleDB.java
+++ b/empire-db-examples/empire-db-example-jsf2/src/main/java/org/apache/empire/jsf2/websample/db/SampleDB.java
@@ -19,7 +19,6 @@
package org.apache.empire.jsf2.websample.db;
import org.apache.empire.commons.Options;
-import org.apache.empire.data.DataMode;
import org.apache.empire.data.DataType;
import org.apache.empire.db.DBColumn;
import org.apache.empire.db.DBDatabase;
@@ -66,11 +65,11 @@ public class SampleDB extends DBDatabase
{
super("DEPARTMENTS", db);
// ID
- DEPARTMENT_ID = addColumn("DEPARTMENT_ID", DataType.AUTOINC, 0, DataMode.NotNull, "DEP_ID_SEQUENCE");
- NAME = addColumn("NAME", DataType.VARCHAR, 80, DataMode.NotNull);
- HEAD = addColumn("HEAD", DataType.VARCHAR, 80, DataMode.Nullable);
- BUSINESS_UNIT = addColumn("BUSINESS_UNIT", DataType.VARCHAR, 4, DataMode.NotNull, "ITTK");
- UPDATE_TIMESTAMP= addColumn("UPDATE_TIMESTAMP", DataType.DATETIME, 0, DataMode.NotNull);
+ DEPARTMENT_ID = addColumn("DEPARTMENT_ID", DataType.AUTOINC, 0, true, "DEP_ID_SEQUENCE");
+ NAME = addColumn("NAME", DataType.VARCHAR, 80, true);
+ HEAD = addColumn("HEAD", DataType.VARCHAR, 80, false);
+ BUSINESS_UNIT = addColumn("BUSINESS_UNIT", DataType.VARCHAR, 4, true, "ITTK");
+ UPDATE_TIMESTAMP= addColumn("UPDATE_TIMESTAMP", DataType.DATETIME, 0, true);
// Primary Key
setPrimaryKey(DEPARTMENT_ID);
@@ -107,18 +106,18 @@ public class SampleDB extends DBDatabase
{
super("EMPLOYEES", db);
// ID
- EMPLOYEE_ID = addColumn("EMPLOYEE_ID", DataType.AUTOINC, 0, DataMode.NotNull, "EMPLOYEE_ID_SEQUENCE");
- SALUTATION = addColumn("SALUTATION", DataType.VARCHAR, 5, DataMode.Nullable);
- FIRST_NAME = addColumn("FIRST_NAME", DataType.VARCHAR, 40, DataMode.NotNull);
- LAST_NAME = addColumn("LAST_NAME", DataType.VARCHAR, 40, DataMode.NotNull);
- DATE_OF_BIRTH = addColumn("DATE_OF_BIRTH", DataType.DATE, 0, DataMode.Nullable);
- DEPARTMENT_ID = addColumn("DEPARTMENT_ID", DataType.INTEGER, 0, DataMode.NotNull);
- GENDER = addColumn("GENDER", DataType.VARCHAR, 1, DataMode.Nullable);
- PHONE_NUMBER = addColumn("PHONE_NUMBER", DataType.VARCHAR, 40, DataMode.Nullable);
- EMAIL = addColumn("EMAIL", DataType.VARCHAR, 80, DataMode.Nullable);
- RETIRED = addColumn("RETIRED", DataType.BOOL, 0, DataMode.NotNull, false);
- // PICTURE = addColumn("PICTURE", DataType.BLOB, 0, DataMode.Nullable);
- UPDATE_TIMESTAMP= addColumn("UPDATE_TIMESTAMP", DataType.DATETIME, 0, DataMode.NotNull);
+ EMPLOYEE_ID = addColumn("EMPLOYEE_ID", DataType.AUTOINC, 0, true, "EMPLOYEE_ID_SEQUENCE");
+ SALUTATION = addColumn("SALUTATION", DataType.VARCHAR, 5, false);
+ FIRST_NAME = addColumn("FIRST_NAME", DataType.VARCHAR, 40, true);
+ LAST_NAME = addColumn("LAST_NAME", DataType.VARCHAR, 40, true);
+ DATE_OF_BIRTH = addColumn("DATE_OF_BIRTH", DataType.DATE, 0, false);
+ DEPARTMENT_ID = addColumn("DEPARTMENT_ID", DataType.INTEGER, 0, true);
+ GENDER = addColumn("GENDER", DataType.VARCHAR, 1, false);
+ PHONE_NUMBER = addColumn("PHONE_NUMBER", DataType.VARCHAR, 40, false);
+ EMAIL = addColumn("EMAIL", DataType.VARCHAR, 80, false);
+ RETIRED = addColumn("RETIRED", DataType.BOOL, 0, true, false);
+ // PICTURE = addColumn("PICTURE", DataType.BLOB, 0, false);
+ UPDATE_TIMESTAMP= addColumn("UPDATE_TIMESTAMP", DataType.DATETIME, 0, true);
// Primary Key
setPrimaryKey(EMPLOYEE_ID);
diff --git a/empire-db-examples/empire-db-example-spring/src/main/java/org/apache/empire/samples/spring/db/SampleDB.java b/empire-db-examples/empire-db-example-spring/src/main/java/org/apache/empire/samples/spring/db/SampleDB.java
index 0e5d394..046764d 100644
--- a/empire-db-examples/empire-db-example-spring/src/main/java/org/apache/empire/samples/spring/db/SampleDB.java
+++ b/empire-db-examples/empire-db-example-spring/src/main/java/org/apache/empire/samples/spring/db/SampleDB.java
@@ -20,7 +20,6 @@ package org.apache.empire.samples.spring.db;
import org.apache.empire.commons.Options;
import org.apache.empire.data.DataType;
-import org.apache.empire.data.DataMode;
import org.apache.empire.db.DBColumn;
import org.apache.empire.db.DBDatabase;
import org.apache.empire.db.DBTable;
@@ -63,11 +62,11 @@ public class SampleDB extends DBDatabase
{
super("DEPARTMENTS", db);
// ID
- DEPARTMENT_ID = addColumn("DEPARTMENT_ID", DataType.AUTOINC, 0, DataMode.AutoGenerated, "DEP_ID_SEQUENCE");
- NAME = addColumn("NAME", DataType.VARCHAR, 80, DataMode.NotNull);
- HEAD = addColumn("HEAD", DataType.VARCHAR, 80, DataMode.Nullable);
- BUSINESS_UNIT = addColumn("BUSINESS_UNIT", DataType.VARCHAR, 4, DataMode.NotNull, "ITTK");
- UPDATE_TIMESTAMP= addColumn("UPDATE_TIMESTAMP", DataType.DATETIME, 0, DataMode.AutoGenerated);
+ DEPARTMENT_ID = addColumn("DEPARTMENT_ID", DataType.AUTOINC, 0, true, "DEP_ID_SEQUENCE");
+ NAME = addColumn("NAME", DataType.VARCHAR, 80, true);
+ HEAD = addColumn("HEAD", DataType.VARCHAR, 80, false);
+ BUSINESS_UNIT = addColumn("BUSINESS_UNIT", DataType.VARCHAR, 4, true, "ITTK");
+ UPDATE_TIMESTAMP= addColumn("UPDATE_TIMESTAMP", DataType.DATETIME, 0, true);
// Primary Key
setPrimaryKey(DEPARTMENT_ID);
@@ -102,18 +101,18 @@ public class SampleDB extends DBDatabase
{
super("EMPLOYEES", db);
// ID
- EMPLOYEE_ID = addColumn("EMPLOYEE_ID", DataType.AUTOINC, 0, DataMode.AutoGenerated, "EMPLOYEE_ID_SEQUENCE");
- SALUTATION = addColumn("SALUTATION", DataType.VARCHAR, 20, DataMode.Nullable);
- FIRSTNAME = addColumn("FIRSTNAME", DataType.VARCHAR, 40, DataMode.NotNull);
- LASTNAME = addColumn("LASTNAME", DataType.VARCHAR, 40, DataMode.NotNull);
- DATE_OF_BIRTH = addColumn("DATE_OF_BIRTH", DataType.DATE, 0, DataMode.Nullable);
- DEPARTMENT_ID = addColumn("DEPARTMENT_ID", DataType.INTEGER, 0, DataMode.NotNull);
- GENDER = addColumn("GENDER", DataType.VARCHAR, 1, DataMode.Nullable);
- PHONE_NUMBER = addColumn("PHONE_NUMBER", DataType.VARCHAR, 40, DataMode.Nullable);
- EMAIL = addColumn("EMAIL", DataType.VARCHAR, 80, DataMode.Nullable);
- SALARY = addColumn("SALARY", DataType.DECIMAL, 10.2, DataMode.Nullable);
- RETIRED = addColumn("RETIRED", DataType.BOOL, 0, DataMode.NotNull, false);
- UPDATE_TIMESTAMP= addColumn("UPDATE_TIMESTAMP", DataType.DATETIME, 0, DataMode.AutoGenerated);
+ EMPLOYEE_ID = addColumn("EMPLOYEE_ID", DataType.AUTOINC, 0, true, "EMPLOYEE_ID_SEQUENCE");
+ SALUTATION = addColumn("SALUTATION", DataType.VARCHAR, 20, false);
+ FIRSTNAME = addColumn("FIRSTNAME", DataType.VARCHAR, 40, true);
+ LASTNAME = addColumn("LASTNAME", DataType.VARCHAR, 40, true);
+ DATE_OF_BIRTH = addColumn("DATE_OF_BIRTH", DataType.DATE, 0, false);
+ DEPARTMENT_ID = addColumn("DEPARTMENT_ID", DataType.INTEGER, 0, true);
+ GENDER = addColumn("GENDER", DataType.VARCHAR, 1, false);
+ PHONE_NUMBER = addColumn("PHONE_NUMBER", DataType.VARCHAR, 40, false);
+ EMAIL = addColumn("EMAIL", DataType.VARCHAR, 80, false);
+ SALARY = addColumn("SALARY", DataType.DECIMAL, 10.2, false);
+ RETIRED = addColumn("RETIRED", DataType.BOOL, 0, true, false);
+ UPDATE_TIMESTAMP= addColumn("UPDATE_TIMESTAMP", DataType.DATETIME, 0, true);
// Primary Key
setPrimaryKey(EMPLOYEE_ID);
diff --git a/empire-db-examples/empire-db-example-struts2-cxf/src/main/java/org/apache/empire/struts2/websample/ws/SampleBeanDomain.java b/empire-db-examples/empire-db-example-struts2-cxf/src/main/java/org/apache/empire/struts2/websample/ws/SampleBeanDomain.java
index 491f937..0f27d18 100644
--- a/empire-db-examples/empire-db-example-struts2-cxf/src/main/java/org/apache/empire/struts2/websample/ws/SampleBeanDomain.java
+++ b/empire-db-examples/empire-db-example-struts2-cxf/src/main/java/org/apache/empire/struts2/websample/ws/SampleBeanDomain.java
@@ -19,7 +19,6 @@
package org.apache.empire.struts2.websample.ws;
import org.apache.empire.commons.Options;
-import org.apache.empire.data.DataMode;
import org.apache.empire.data.DataType;
import org.apache.empire.data.bean.BeanDomain;
import org.apache.empire.data.bean.BeanProperty;
@@ -49,11 +48,11 @@ public class SampleBeanDomain extends BeanDomain
{
super("DEPARTMENTS", dom);
// ID
- C_DEPARTMENT_ID = addProp("departmentId", DataType.AUTOINC, 0, DataMode.NotNull);
- C_NAME = addProp("name", DataType.VARCHAR, 80, DataMode.NotNull);
- C_HEAD = addProp("head", DataType.VARCHAR, 80, DataMode.Nullable);
- C_BUSINESS_UNIT = addProp("businessUnit", DataType.VARCHAR, 4, DataMode.NotNull);
- C_UPDATE_TIMESTAMP= addProp("updateTimestamp", DataType.DATETIME, 0, DataMode.AutoGenerated);
+ C_DEPARTMENT_ID = addProp("departmentId", DataType.AUTOINC, 0, true);
+ C_NAME = addProp("name", DataType.VARCHAR, 80, true);
+ C_HEAD = addProp("head", DataType.VARCHAR, 80, false);
+ C_BUSINESS_UNIT = addProp("businessUnit", DataType.VARCHAR, 4, true);
+ C_UPDATE_TIMESTAMP= addProp("updateTimestamp", DataType.DATETIME, 0, true, true);
// Primary Key
setKeyColumn(C_DEPARTMENT_ID);
@@ -86,17 +85,17 @@ public class SampleBeanDomain extends BeanDomain
{
super("EMPLOYEES", dom);
// ID
- C_EMPLOYEE_ID = addProp("employeeId", DataType.AUTOINC, 0, DataMode.NotNull);
- C_SALUTATION = addProp("salutation", DataType.VARCHAR, 20, DataMode.Nullable);
- C_FIRSTNAME = addProp("firstname", DataType.VARCHAR, 40, DataMode.NotNull);
- C_LASTNAME = addProp("lastname", DataType.VARCHAR, 40, DataMode.NotNull);
- C_DATE_OF_BIRTH = addProp("dateOfBirth", DataType.DATE, 0, DataMode.Nullable);
- C_DEPARTMENT_ID = addProp("departmentId", DataType.INTEGER, 0, DataMode.NotNull, "select");
- C_GENDER = addProp("gender", DataType.VARCHAR, 1, DataMode.Nullable, "select");
- C_PHONE_NUMBER = addProp("phoneNumber", DataType.VARCHAR, 40, DataMode.Nullable, "phone");
- C_EMAIL = addProp("email", DataType.VARCHAR, 80, DataMode.Nullable);
- C_RETIRED = addProp("retired", DataType.BOOL, 0, DataMode.NotNull);
- C_UPDATE_TIMESTAMP= addProp("updateTimestamp", DataType.DATETIME, 0, DataMode.AutoGenerated, "text");
+ C_EMPLOYEE_ID = addProp("employeeId", DataType.AUTOINC, 0, true);
+ C_SALUTATION = addProp("salutation", DataType.VARCHAR, 20, false);
+ C_FIRSTNAME = addProp("firstname", DataType.VARCHAR, 40, true);
+ C_LASTNAME = addProp("lastname", DataType.VARCHAR, 40, true);
+ C_DATE_OF_BIRTH = addProp("dateOfBirth", DataType.DATE, 0, false);
+ C_DEPARTMENT_ID = addProp("departmentId", DataType.INTEGER, 0, true, "select");
+ C_GENDER = addProp("gender", DataType.VARCHAR, 1, false, "select");
+ C_PHONE_NUMBER = addProp("phoneNumber", DataType.VARCHAR, 40, false, "phone");
+ C_EMAIL = addProp("email", DataType.VARCHAR, 80, false);
+ C_RETIRED = addProp("retired", DataType.BOOL, 0, true);
+ C_UPDATE_TIMESTAMP= addProp("updateTimestamp", DataType.DATETIME, 0, true, " text", true);
// Primary Key
setKeyColumn(C_EMPLOYEE_ID);
diff --git a/empire-db-examples/empire-db-example-struts2/src/main/java/org/apache/empire/struts2/websample/db/SampleDB.java b/empire-db-examples/empire-db-example-struts2/src/main/java/org/apache/empire/struts2/websample/db/SampleDB.java
index 2347f2b..4ac2a5a 100644
--- a/empire-db-examples/empire-db-example-struts2/src/main/java/org/apache/empire/struts2/websample/db/SampleDB.java
+++ b/empire-db-examples/empire-db-example-struts2/src/main/java/org/apache/empire/struts2/websample/db/SampleDB.java
@@ -19,7 +19,6 @@
package org.apache.empire.struts2.websample.db;
import org.apache.empire.commons.Options;
-import org.apache.empire.data.DataMode;
import org.apache.empire.data.DataType;
import org.apache.empire.db.DBColumn;
import org.apache.empire.db.DBDatabase;
@@ -54,11 +53,11 @@ public class SampleDB extends DBDatabase
{
super("DEPARTMENTS", db);
// ID
- C_DEPARTMENT_ID = addColumn("DEPARTMENT_ID", DataType.AUTOINC, 0, DataMode.NotNull, "DEP_ID_SEQUENCE");
- C_NAME = addColumn("NAME", DataType.VARCHAR, 80, DataMode.NotNull);
- C_HEAD = addColumn("HEAD", DataType.VARCHAR, 80, DataMode.Nullable);
- C_BUSINESS_UNIT = addColumn("BUSINESS_UNIT", DataType.VARCHAR, 4, DataMode.NotNull, "ITTK");
- C_UPDATE_TIMESTAMP= addColumn("UPDATE_TIMESTAMP", DataType.DATETIME, 0, DataMode.NotNull);
+ C_DEPARTMENT_ID = addColumn("DEPARTMENT_ID", DataType.AUTOINC, 0, true, "DEP_ID_SEQUENCE");
+ C_NAME = addColumn("NAME", DataType.VARCHAR, 80, true);
+ C_HEAD = addColumn("HEAD", DataType.VARCHAR, 80, false);
+ C_BUSINESS_UNIT = addColumn("BUSINESS_UNIT", DataType.VARCHAR, 4, true, "ITTK");
+ C_UPDATE_TIMESTAMP= addColumn("UPDATE_TIMESTAMP", DataType.DATETIME, 0, true);
// Primary Key
setPrimaryKey(C_DEPARTMENT_ID);
@@ -93,17 +92,17 @@ public class SampleDB extends DBDatabase
{
super("EMPLOYEES", db);
// ID
- C_EMPLOYEE_ID = addColumn("EMPLOYEE_ID", DataType.AUTOINC, 0, DataMode.NotNull, "EMPLOYEE_ID_SEQUENCE");
- C_SALUTATION = addColumn("SALUTATION", DataType.VARCHAR, 20, DataMode.Nullable);
- C_FIRSTNAME = addColumn("FIRSTNAME", DataType.VARCHAR, 40, DataMode.NotNull);
- C_LASTNAME = addColumn("LASTNAME", DataType.VARCHAR, 40, DataMode.NotNull);
- C_DATE_OF_BIRTH = addColumn("DATE_OF_BIRTH", DataType.DATE, 0, DataMode.Nullable);
- C_DEPARTMENT_ID = addColumn("DEPARTMENT_ID", DataType.INTEGER, 0, DataMode.NotNull);
- C_GENDER = addColumn("GENDER", DataType.VARCHAR, 1, DataMode.Nullable);
- C_PHONE_NUMBER = addColumn("PHONE_NUMBER", DataType.VARCHAR, 40, DataMode.Nullable);
- C_EMAIL = addColumn("EMAIL", DataType.VARCHAR, 80, DataMode.Nullable);
- C_RETIRED = addColumn("RETIRED", DataType.BOOL, 0, DataMode.NotNull, false);
- C_UPDATE_TIMESTAMP= addColumn("UPDATE_TIMESTAMP", DataType.DATETIME, 0, DataMode.NotNull);
+ C_EMPLOYEE_ID = addColumn("EMPLOYEE_ID", DataType.AUTOINC, 0, true, "EMPLOYEE_ID_SEQUENCE");
+ C_SALUTATION = addColumn("SALUTATION", DataType.VARCHAR, 20, false);
+ C_FIRSTNAME = addColumn("FIRSTNAME", DataType.VARCHAR, 40, true);
+ C_LASTNAME = addColumn("LASTNAME", DataType.VARCHAR, 40, true);
+ C_DATE_OF_BIRTH = addColumn("DATE_OF_BIRTH", DataType.DATE, 0, false);
+ C_DEPARTMENT_ID = addColumn("DEPARTMENT_ID", DataType.INTEGER, 0, true);
+ C_GENDER = addColumn("GENDER", DataType.VARCHAR, 1, false);
+ C_PHONE_NUMBER = addColumn("PHONE_NUMBER", DataType.VARCHAR, 40, false);
+ C_EMAIL = addColumn("EMAIL", DataType.VARCHAR, 80, false);
+ C_RETIRED = addColumn("RETIRED", DataType.BOOL, 0, true, false);
+ C_UPDATE_TIMESTAMP= addColumn("UPDATE_TIMESTAMP", DataType.DATETIME, 0, true);
// Primary Key
setPrimaryKey(C_EMPLOYEE_ID);
diff --git a/empire-db/src/main/java/org/apache/empire/data/DataMode.java b/empire-db/src/main/java/org/apache/empire/data/DataMode.java
index e5ca1d4..76c9bd4 100644
--- a/empire-db/src/main/java/org/apache/empire/data/DataMode.java
+++ b/empire-db/src/main/java/org/apache/empire/data/DataMode.java
@@ -23,10 +23,6 @@ package org.apache.empire.data;
*/
public enum DataMode {
/**
- * ReadOnly = value cannot be changed
- */
- ReadOnly,
- /**
* Optional = value may be null
*/
Nullable, // i.e. Optional
diff --git a/empire-db/src/main/java/org/apache/empire/data/bean/BeanClass.java b/empire-db/src/main/java/org/apache/empire/data/bean/BeanClass.java
index e9d8ab7..443efbf 100644
--- a/empire-db/src/main/java/org/apache/empire/data/bean/BeanClass.java
+++ b/empire-db/src/main/java/org/apache/empire/data/bean/BeanClass.java
@@ -24,7 +24,6 @@ import java.util.List;
import org.apache.empire.data.Column;
import org.apache.empire.data.DataType;
-import org.apache.empire.data.DataMode;
/**
@@ -59,19 +58,7 @@ public abstract class BeanClass
prop.beanClass = this;
}
- protected final BeanProperty addProp(String propname, DataType dataType, double size, DataMode dataMode, String controlType)
- {
- BeanProperty prop = new BeanProperty(propname, dataType, size, dataMode, controlType);
- addProp(prop);
- return prop;
- }
-
- protected final BeanProperty addProp(String propname, DataType dataType, double size, DataMode dataMode)
- {
- return addProp(propname, dataType, size, dataMode, "text");
- }
-
- protected final BeanProperty addProp(String propname, DataType dataType, double size, boolean required, String controlType, boolean readOnly)
+ protected BeanProperty addProp(String propname, DataType dataType, double size, boolean required, String controlType, boolean readOnly)
{
BeanProperty prop = new BeanProperty(propname, dataType, size, required, controlType, readOnly);
addProp(prop);
@@ -83,6 +70,11 @@ public abstract class BeanClass
return addProp(propname, dataType, size, required, controlType, false);
}
+ protected final BeanProperty addProp(String propname, DataType dataType, double size, boolean required, boolean readOnly)
+ {
+ return addProp(propname, dataType, size, required, "text", readOnly);
+ }
+
protected final BeanProperty addProp(String propname, DataType dataType, double size, boolean required)
{
return addProp(propname, dataType, size, required, "text", false);
diff --git a/empire-db/src/main/java/org/apache/empire/data/bean/BeanProperty.java b/empire-db/src/main/java/org/apache/empire/data/bean/BeanProperty.java
index f6e6ce3..7b53f84 100644
--- a/empire-db/src/main/java/org/apache/empire/data/bean/BeanProperty.java
+++ b/empire-db/src/main/java/org/apache/empire/data/bean/BeanProperty.java
@@ -38,10 +38,11 @@ public class BeanProperty implements Column
private final DataMode dataMode;
private final double size;
- private String controlType; // optional (default is 'text')
- private String title; // optional
- private Options options; // optional
- private Attributes attributes;// optional
+ private String controlType; // optional (default is 'text')
+ private String title; // optional
+ private Options options; // optional
+ private Attributes attributes; // optional
+ private boolean readOnly;
protected BeanClass beanClass; // internal;
@@ -55,13 +56,14 @@ public class BeanProperty implements Column
* @param dataMode determines whether this property is read only, optional, required or auto-generated
* @param controlType the control type to be used for editing this value. Depends on the client. Default is "text"
*/
- public BeanProperty(String name, DataType dataType, double size, DataMode dataMode, String controlType)
+ protected BeanProperty(String name, DataType dataType, double size, DataMode dataMode, String controlType, boolean readOnly)
{
this.name = name;
this.dataType = dataType;
this.size = size;
this.dataMode = dataMode;
this.controlType = controlType;
+ this.readOnly = readOnly;
}
/**
@@ -75,7 +77,21 @@ public class BeanProperty implements Column
*/
public BeanProperty(String name, DataType dataType, double size, boolean required, String controlType, boolean readOnly)
{
- this(name, dataType, size, (readOnly ? DataMode.ReadOnly : (required ? DataMode.NotNull : DataMode.Nullable)), controlType);
+ this(name, dataType, size, (dataType==DataType.AUTOINC ? DataMode.AutoGenerated : (required ? DataMode.NotNull : DataMode.Nullable)), controlType, readOnly);
+ }
+
+ /**
+ * Constructs a bean property definition
+ * @param name
+ * @param dataType
+ * @param size
+ * @param required
+ * @param controlType
+ * @param readOnly
+ */
+ public BeanProperty(String name, DataType dataType, double size, boolean required, String controlType)
+ {
+ this(name, dataType, size, (dataType==DataType.AUTOINC ? DataMode.AutoGenerated : (required ? DataMode.NotNull : DataMode.Nullable)), controlType, false);
}
/**
@@ -87,7 +103,7 @@ public class BeanProperty implements Column
*/
public BeanProperty(String name, DataType dataType, double size, boolean required)
{
- this(name, dataType, size, (required ? DataMode.NotNull : DataMode.Nullable), "text");
+ this(name, dataType, size, (dataType==DataType.AUTOINC ? DataMode.AutoGenerated : (required ? DataMode.NotNull : DataMode.Nullable)), "text", false);
}
/**
@@ -195,7 +211,7 @@ public class BeanProperty implements Column
@Override
public boolean isReadOnly()
{
- return (dataMode==DataMode.ReadOnly || dataMode==DataMode.AutoGenerated);
+ return (this.readOnly || dataMode==DataMode.AutoGenerated);
}
@Override
diff --git a/empire-db/src/main/java/org/apache/empire/db/DBColumn.java b/empire-db/src/main/java/org/apache/empire/db/DBColumn.java
index 82c3139..5cbb919 100644
--- a/empire-db/src/main/java/org/apache/empire/db/DBColumn.java
+++ b/empire-db/src/main/java/org/apache/empire/db/DBColumn.java
@@ -60,7 +60,7 @@ public abstract class DBColumn extends DBColumnExpr
/**
* Read only column (Boolean)
*/
- public static final String DBCOLATTR_READONLY = "readonly";
+ // private static final String DBCOLATTR_READONLY = "readonly";
/**
* Read only column (Boolean)
diff --git a/empire-db/src/main/java/org/apache/empire/db/DBDatabaseDriver.java b/empire-db/src/main/java/org/apache/empire/db/DBDatabaseDriver.java
index eb06f7a..a75c5e6 100644
--- a/empire-db/src/main/java/org/apache/empire/db/DBDatabaseDriver.java
+++ b/empire-db/src/main/java/org/apache/empire/db/DBDatabaseDriver.java
@@ -35,7 +35,6 @@ import java.util.UUID;
import org.apache.empire.commons.DateUtils;
import org.apache.empire.commons.ObjectUtils;
import org.apache.empire.commons.StringUtils;
-import org.apache.empire.data.DataMode;
import org.apache.empire.data.DataType;
import org.apache.empire.db.exceptions.EmpireSQLException;
import org.apache.empire.exceptions.InvalidArgumentException;
@@ -153,9 +152,9 @@ public abstract class DBDatabaseDriver implements Serializable
{
super(tableName, db);
// Add all Colums
- C_SEQNAME = addColumn("SeqName", DataType.VARCHAR, 40, DataMode.NotNull);
- C_SEQVALUE = addColumn("SeqValue", DataType.INTEGER, 0, DataMode.NotNull);
- C_TIMESTAMP = addColumn("SeqTime", DataType.DATETIME, 0, DataMode.NotNull);
+ C_SEQNAME = addColumn("SeqName", DataType.VARCHAR, 40, true);
+ C_SEQVALUE = addColumn("SeqValue", DataType.INTEGER, 0, true);
+ C_TIMESTAMP = addColumn("SeqTime", DataType.DATETIME, 0, true);
// Primary Key
setPrimaryKey(new DBColumn[] { C_SEQNAME });
}
diff --git a/empire-db/src/main/java/org/apache/empire/db/DBRowSet.java b/empire-db/src/main/java/org/apache/empire/db/DBRowSet.java
index 487bab6..199f762 100644
--- a/empire-db/src/main/java/org/apache/empire/db/DBRowSet.java
+++ b/empire-db/src/main/java/org/apache/empire/db/DBRowSet.java
@@ -392,6 +392,13 @@ public abstract class DBRowSet extends DBExpr
*/
public void setTimestampColumn(DBColumn timestampColumn)
{
+ if (timestampColumn.getRowSet()!=this)
+ throw new InvalidArgumentException("timestampColumn", timestampColumn);
+ if (this.timestampColumn!=null && this.timestampColumn!=timestampColumn)
+ log.warn("Timestamp column has already been set for rowset {}. Replacing with {}", getName(), timestampColumn.getName());
+ if (timestampColumn instanceof DBTableColumn)
+ ((DBTableColumn) timestampColumn).setReadOnly(true);
+ // set now
this.timestampColumn = timestampColumn;
}
diff --git a/empire-db/src/main/java/org/apache/empire/db/DBTable.java b/empire-db/src/main/java/org/apache/empire/db/DBTable.java
index b7244ec..bec0d1c 100644
--- a/empire-db/src/main/java/org/apache/empire/db/DBTable.java
+++ b/empire-db/src/main/java/org/apache/empire/db/DBTable.java
@@ -200,11 +200,13 @@ public class DBTable extends DBRowSet implements Cloneable
/**
* Adds a column to this table's column list.
+ * DO NOT CALL!
+ * This method is internally called from the constructor of DBTableColumn
*
* @param column a column object
*/
protected void addColumn(DBTableColumn column)
- { // find column by name
+ { // find column by name
if (column==null || column.getRowSet()!=this)
throw new InvalidArgumentException("column", column);
if (getColumn(column.getName())!=null)
@@ -212,7 +214,7 @@ public class DBTable extends DBRowSet implements Cloneable
// add now
columns.add(column);
}
-
+
/**
* Creates a new DBTableColumn object and adds it to the column collection.
*
@@ -223,56 +225,85 @@ public class DBTable extends DBRowSet implements Cloneable
* @param defValue a Object object
* @return the created DBTableColumn object
*/
- public final DBTableColumn addColumn(String columnName, DataType type, double size, DataMode dataMode, Object defValue)
+ protected DBTableColumn addColumn(String columnName, DataType type, double size, DataMode dataMode, Object defValue)
{
- return new DBTableColumn(this, type, columnName, size, dataMode, defValue);
+ DBTableColumn col = new DBTableColumn(this, type, columnName, size, dataMode, defValue);
+ addColumn(col);
+ return col;
}
/**
* Creates a new DBTableColumn object and adds it to the column collection.
+ * Instead of the data mode enum, a boolean flag is used to indicate whether the column is required or optional.
*
* @param columnName the column name
* @param type the type of the column e.g. integer, text, date
* @param size the column width
- * @param dataMode determines whether this column is optional, required or auto-generated
+ * @param required true if not null column
+ * @param defValue a Object object
* @return the created DBTableColumn object
*/
- public final DBTableColumn addColumn(String columnName, DataType type, double size, DataMode dataMode)
+ public final DBTableColumn addColumn(String columnName, DataType type, double size, boolean required, Object defValue)
{
- return new DBTableColumn(this, type, columnName, size, dataMode, null);
+ DataMode dm = (required ? DataMode.NotNull : DataMode.Nullable);
+ return this.addColumn(columnName, type, size, dm, defValue);
}
/**
- * Creates a new DBTableColumn object and adds it to the column collection.
- * Instead of the data mode enum, a boolean flag is used to indicate whether the column is required or optional.
+ * Creates a new table column and adds it to the table's column list
*
* @param columnName the column name
* @param type the type of the column e.g. integer, text, date
* @param size the column width
* @param required true if not null column
- * @param defValue a Object object
* @return the created DBTableColumn object
*/
- public final DBTableColumn addColumn(String columnName, DataType type, double size, boolean required, Object defValue)
+ public final DBTableColumn addColumn(String columnName, DataType type, double size, boolean required)
{
DataMode dm = (required ? DataMode.NotNull : DataMode.Nullable);
- return new DBTableColumn(this, type, columnName, size, dm, defValue);
+ return this.addColumn(columnName, type, size, dm, null);
}
/**
- * Creates a new DBTableColumn object and adds it to the column collection.
- * Instead of the data mode enum, a boolean flag is used to indicate whether the column is required or optional.
+ * Creates a new table column and adds it to the table's column list
+ * This overload should be used for column containing enum values which have no default value.
*
* @param columnName the column name
* @param type the type of the column e.g. integer, text, date
* @param size the column width
* @param required true if not null column
+ * @param enumType the class of the enum type
* @return the created DBTableColumn object
*/
- public final DBTableColumn addColumn(String columnName, DataType type, double size, boolean required)
+ public final DBTableColumn addColumn(String columnName, DataType type, int size, boolean required, Class<?> enumType)
+ {
+ if (!enumType.isEnum())
+ { // Class must be an enum type
+ throw new InvalidArgumentException("enumType", enumType);
+ }
+ DataMode dm = (required ? DataMode.NotNull : DataMode.Nullable);
+ DBTableColumn col = this.addColumn(columnName, type, size, dm, null);
+ col.setEnumOptions(enumType);
+ return col;
+ }
+
+ /**
+ * Creates a new table column and adds it to the table's column list
+ * This overload should be used for column containing enum values which have a default value.
+ *
+ * @param columnName the column name
+ * @param type the type of the column e.g. integer, text, date
+ * @param size the column width
+ * @param required true if not null column
+ * @param enumType defValue the default value
+ * @return the created DBTableColumn object
+ */
+ public final DBTableColumn addColumn(String columnName, DataType type, int size, boolean required, Enum<?> defValue)
{
DataMode dm = (required ? DataMode.NotNull : DataMode.Nullable);
- return new DBTableColumn(this, type, columnName, size, dm, null);
+ DBTableColumn col = this.addColumn(columnName, type, size, dm, defValue);
+ col.setEnumOptions(defValue.getClass());
+ return col;
}
/**
@@ -366,7 +397,7 @@ public class DBTable extends DBRowSet implements Cloneable
*/
public DBTableColumn addTimestampColumn(String columnName)
{
- DBTableColumn col = addColumn(columnName, DataType.DATETIME, 0, DataMode.AutoGenerated, DBDatabase.SYSDATE);
+ DBTableColumn col = addColumn(columnName, DataType.DATETIME, 0, true, DBDatabase.SYSDATE);
setTimestampColumn(col);
return col;
}
diff --git a/empire-db/src/main/java/org/apache/empire/db/DBTableColumn.java b/empire-db/src/main/java/org/apache/empire/db/DBTableColumn.java
index 7b2853c..9d4ad4e 100644
--- a/empire-db/src/main/java/org/apache/empire/db/DBTableColumn.java
+++ b/empire-db/src/main/java/org/apache/empire/db/DBTableColumn.java
@@ -61,6 +61,7 @@ public class DBTableColumn extends DBColumn
protected DataMode dataMode;
protected Object defValue;
protected int decimalScale = 0;
+ protected boolean readOnly;
/**
* Constructs a DBTableColumn object set the specified parameters to this object.
@@ -85,16 +86,12 @@ public class DBTableColumn extends DBColumn
this.type = type;
this.dataMode = dataMode;
this.defValue = defValue;
+ this.readOnly =(dataMode == DataMode.AutoGenerated);
// xml
this.attributes = new Attributes();
this.options = null;
// size (after attributes!)
setSize(size);
- // Append to table (if supplied)
- if (table != null)
- {
- table.addColumn(this);
- }
}
/**
@@ -309,12 +306,8 @@ public class DBTableColumn extends DBColumn
*/
@Override
public boolean isReadOnly()
- {
- if (attributes!=null &&
- attributes.contains(DBCOLATTR_READONLY))
- return true;
- // Check DataMode
- return (dataMode==DataMode.ReadOnly || dataMode==DataMode.AutoGenerated);
+ { // Check DataMode
+ return (this.readOnly || dataMode==DataMode.AutoGenerated);
}
/**
@@ -324,15 +317,7 @@ public class DBTableColumn extends DBColumn
*/
public void setReadOnly(boolean readOnly)
{
- if (readOnly)
- {
- setAttribute(DBCOLATTR_READONLY, Boolean.TRUE);
- }
- else
- { // Remove Attribute
- if (attributes!=null)
- attributes.remove(DBCOLATTR_READONLY);
- }
+ this.readOnly = readOnly;
}
/**
diff --git a/empire-db/src/main/java/org/apache/empire/db/DBView.java b/empire-db/src/main/java/org/apache/empire/db/DBView.java
index 11de9d4..76775bf 100644
--- a/empire-db/src/main/java/org/apache/empire/db/DBView.java
+++ b/empire-db/src/main/java/org/apache/empire/db/DBView.java
@@ -103,9 +103,8 @@ public abstract class DBView extends DBRowSet
if (getView().isUpdateable()==false)
return true;
// Check ReadOnly attribute
- if (attributes!=null &&
- attributes.contains(DBCOLATTR_READONLY))
- return true;
+ if (updateColumn!=null)
+ return updateColumn.isReadOnly();
// AUTOINC's are read only
return isAutoGenerated();
}
diff --git a/empire-db/src/test/java/org/apache/empire/db/CompanyDB.java b/empire-db/src/test/java/org/apache/empire/db/CompanyDB.java
index 0fb0d6e..2c369bc 100644
--- a/empire-db/src/test/java/org/apache/empire/db/CompanyDB.java
+++ b/empire-db/src/test/java/org/apache/empire/db/CompanyDB.java
@@ -19,7 +19,6 @@
package org.apache.empire.db;
import org.apache.empire.commons.Options;
-import org.apache.empire.data.DataMode;
import org.apache.empire.data.DataType;
@@ -47,12 +46,11 @@ public class CompanyDB extends DBDatabase
{
super("DEPARTMENTS", db);
// ID
- ID = addColumn("DEPARTMENT_ID", DataType.AUTOINC, 0, DataMode.AutoGenerated, "DEP_ID_SEQUENCE");
- NAME = addColumn("NAME", DataType.VARCHAR, 80, DataMode.NotNull);
- HEAD = addColumn("HEAD", DataType.VARCHAR, 80, DataMode.Nullable);
- BUSINESS_UNIT = addColumn("BUSINESS_UNIT", DataType.VARCHAR, 4, DataMode.NotNull, "ITTK");
- UPDATE_TIMESTAMP= addColumn("UPDATE_TIMESTAMP", DataType.DATETIME, 0, DataMode.NotNull);
-
+ ID = addColumn("DEPARTMENT_ID", DataType.AUTOINC, 0, true, "DEP_ID_SEQUENCE");
+ NAME = addColumn("NAME", DataType.VARCHAR, 80, true);
+ HEAD = addColumn("HEAD", DataType.VARCHAR, 80, false);
+ BUSINESS_UNIT = addColumn("BUSINESS_UNIT", DataType.VARCHAR, 4, true, "ITTK");
+ UPDATE_TIMESTAMP= addColumn("UPDATE_TIMESTAMP", DataType.DATETIME, 0, true);
// Primary Key
setPrimaryKey(ID);
// Set other Indexes
@@ -85,18 +83,18 @@ public class CompanyDB extends DBDatabase
{
super("EMPLOYEES", db);
// ID
- ID = addColumn("EMPLOYEE_ID", DataType.AUTOINC, 0, DataMode.NotNull, "EMPLOYEE_ID_SEQUENCE");
- SALUTATION = addColumn("SALUTATION", DataType.VARCHAR, 20, DataMode.Nullable);
- FIRSTNAME = addColumn("FIRSTNAME", DataType.VARCHAR, 40, DataMode.NotNull);
- LASTNAME = addColumn("LASTNAME", DataType.VARCHAR, 40, DataMode.NotNull);
- DATE_OF_BIRTH = addColumn("DATE_OF_BIRTH", DataType.DATE, 0, DataMode.Nullable);
- DEPARTMENT_ID = addColumn("ID", DataType.INTEGER, 0, DataMode.NotNull);
- GENDER = addColumn("GENDER", DataType.VARCHAR, 1, DataMode.Nullable);
- PHONE_NUMBER = addColumn("PHONE_NUMBER", DataType.VARCHAR, 40, DataMode.Nullable);
- EMAIL = addColumn("EMAIL", DataType.VARCHAR, 80, DataMode.Nullable);
- SALARY = addColumn("SALARY", DataType.DECIMAL, 10.2, DataMode.Nullable);
- RETIRED = addColumn("RETIRED", DataType.BOOL, 0, DataMode.NotNull, false);
- UPDATE_TIMESTAMP= addColumn("UPDATE_TIMESTAMP", DataType.DATETIME, 0, DataMode.NotNull);
+ ID = addColumn("EMPLOYEE_ID", DataType.AUTOINC, 0, true, "EMPLOYEE_ID_SEQUENCE");
+ SALUTATION = addColumn("SALUTATION", DataType.VARCHAR, 20, false);
+ FIRSTNAME = addColumn("FIRSTNAME", DataType.VARCHAR, 40, true);
+ LASTNAME = addColumn("LASTNAME", DataType.VARCHAR, 40, true);
+ DATE_OF_BIRTH = addColumn("DATE_OF_BIRTH", DataType.DATE, 0, false);
+ DEPARTMENT_ID = addColumn("ID", DataType.INTEGER, 0, true);
+ GENDER = addColumn("GENDER", DataType.VARCHAR, 1, false);
+ PHONE_NUMBER = addColumn("PHONE_NUMBER", DataType.VARCHAR, 40, false);
+ EMAIL = addColumn("EMAIL", DataType.VARCHAR, 80, false);
+ SALARY = addColumn("SALARY", DataType.DECIMAL, 10.2, false);
+ RETIRED = addColumn("RETIRED", DataType.BOOL, 0, true, false);
+ UPDATE_TIMESTAMP= addColumn("UPDATE_TIMESTAMP", DataType.DATETIME, 0, true);
// Primary Key
setPrimaryKey(ID);
@@ -127,9 +125,9 @@ public class CompanyDB extends DBDatabase
{
super("DATA", db);
// ID
- ID = addColumn("DEPARTMENT_ID", DataType.AUTOINC, 0, DataMode.AutoGenerated, "DATA_ID_SEQUENCE");
- DATA = addColumn("NAME", DataType.BLOB, 0, DataMode.NotNull);
- UPDATE_TIMESTAMP= addColumn("UPDATE_TIMESTAMP", DataType.DATETIME, 0, DataMode.NotNull);
+ ID = addColumn("DEPARTMENT_ID", DataType.AUTOINC, 0, true, "DATA_ID_SEQUENCE");
+ DATA = addColumn("NAME", DataType.BLOB, 0, true);
+ UPDATE_TIMESTAMP= addColumn("UPDATE_TIMESTAMP", DataType.DATETIME, 0, true);
// Primary Key
setPrimaryKey(ID);
diff --git a/empire-db/src/test/java/org/apache/empire/db/IntegerTest.java b/empire-db/src/test/java/org/apache/empire/db/IntegerTest.java
index ba8788c..b29432c 100644
--- a/empire-db/src/test/java/org/apache/empire/db/IntegerTest.java
+++ b/empire-db/src/test/java/org/apache/empire/db/IntegerTest.java
@@ -26,7 +26,6 @@ import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
-import org.apache.empire.data.DataMode;
import org.apache.empire.data.DataType;
import org.apache.empire.db.derby.DBDatabaseDriverDerby;
import org.apache.empire.db.h2.DBDatabaseDriverH2;
@@ -256,9 +255,9 @@ public class IntegerTest {
public SampleTable(DBDatabase db) {
super("SAMPLE", db);
- MY_INTEGER = addColumn("MY_INTEGER", DataType.INTEGER, 0, DataMode.NotNull);
- MY_LONG = addColumn("MY_LONG", DataType.INTEGER, 8, DataMode.NotNull);
- MY_SHORT = addColumn("MY_SHORT", DataType.INTEGER, 2, DataMode.NotNull);
+ MY_INTEGER = addColumn("MY_INTEGER", DataType.INTEGER, 0, true);
+ MY_LONG = addColumn("MY_LONG", DataType.INTEGER, 8, true);
+ MY_SHORT = addColumn("MY_SHORT", DataType.INTEGER, 2, true);
}
}
}
diff --git a/empire-db/src/test/java/org/apache/empire/db/hsql/DBDatabaseDriverHSqlTest.java b/empire-db/src/test/java/org/apache/empire/db/hsql/DBDatabaseDriverHSqlTest.java
index da10b78..09f4c32 100644
--- a/empire-db/src/test/java/org/apache/empire/db/hsql/DBDatabaseDriverHSqlTest.java
+++ b/empire-db/src/test/java/org/apache/empire/db/hsql/DBDatabaseDriverHSqlTest.java
@@ -27,7 +27,6 @@ import java.util.Date;
import org.apache.empire.DBResource;
import org.apache.empire.DBResource.DB;
-import org.apache.empire.data.DataMode;
import org.apache.empire.data.DataType;
import org.apache.empire.db.CompanyDB;
import org.apache.empire.db.DBCmdType;
@@ -156,8 +155,8 @@ public class DBDatabaseDriverHSqlTest{
public Data(DBDatabase db)
{
super("DATA", db);
- ID = addColumn("DATA_ID", DataType.AUTOINC, 0, DataMode.AutoGenerated);
- VALUE = addColumn("VALUE", DataType.VARCHAR, 256, DataMode.NotNull);
+ ID = addColumn("DATA_ID", DataType.AUTOINC, 0, true);
+ VALUE = addColumn("VALUE", DataType.VARCHAR, 256, true);
setPrimaryKey(ID);
}
}
diff --git a/empire-db/src/test/java/org/apache/empire/db/mssql/DBDatabaseDriverMSSqlDateTest.java b/empire-db/src/test/java/org/apache/empire/db/mssql/DBDatabaseDriverMSSqlDateTest.java
index 005f93d..c288126 100644
--- a/empire-db/src/test/java/org/apache/empire/db/mssql/DBDatabaseDriverMSSqlDateTest.java
+++ b/empire-db/src/test/java/org/apache/empire/db/mssql/DBDatabaseDriverMSSqlDateTest.java
@@ -28,7 +28,6 @@ import java.util.Date;
import org.apache.empire.DBResource;
import org.apache.empire.DBResource.DB;
-import org.apache.empire.data.DataMode;
import org.apache.empire.data.DataType;
import org.apache.empire.db.DBCommand;
import org.apache.empire.db.DBDatabase;
@@ -164,10 +163,10 @@ public class DBDatabaseDriverMSSqlDateTest {
public UserInfoTable(DBDatabase db) {
super("USER_INFO", db);
- ID = addColumn("DEPARTMENT_ID", DataType.AUTOINC, 0, DataMode.AutoGenerated);
- USER = addColumn("USER", DataType.VARCHAR, 80, DataMode.NotNull);
- REG_DATE = addColumn("REG_DATE", DataType.DATE, 80, DataMode.NotNull);
- LAST_LOGIN = addColumn("LAST_LOGIN", DataType.DATETIME, 0, DataMode.Nullable);
+ ID = addColumn("DEPARTMENT_ID", DataType.AUTOINC, 0, true);
+ USER = addColumn("USER", DataType.VARCHAR, 80, true);
+ REG_DATE = addColumn("REG_DATE", DataType.DATE, 80, true);
+ LAST_LOGIN = addColumn("LAST_LOGIN", DataType.DATETIME, 0, false);
// Primary Key
setPrimaryKey(ID);
diff --git a/empire-db/src/test/java/org/apache/empire/db/sqlite/DBDatabaseDriverSQLiteTest.java b/empire-db/src/test/java/org/apache/empire/db/sqlite/DBDatabaseDriverSQLiteTest.java
index 649b666..b33a6d9 100644
--- a/empire-db/src/test/java/org/apache/empire/db/sqlite/DBDatabaseDriverSQLiteTest.java
+++ b/empire-db/src/test/java/org/apache/empire/db/sqlite/DBDatabaseDriverSQLiteTest.java
@@ -155,8 +155,8 @@ public class DBDatabaseDriverSQLiteTest{
public Data(DBDatabase db)
{
super("DATA", db);
- ID = addColumn("DATA_ID", DataType.AUTOINC, 0, DataMode.AutoGenerated);
- VALUE = addColumn("VALUE", DataType.VARCHAR, 256, DataMode.NotNull);
+ ID = addColumn("DATA_ID", DataType.AUTOINC, 0, true);
+ VALUE = addColumn("VALUE", DataType.VARCHAR, 256, true);
setPrimaryKey(ID);
}
}