Index: jdo/bug1276/EntityOne.java
===================================================================
RCS file: jdo/bug1276/EntityOne.java
diff -N jdo/bug1276/EntityOne.java
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ jdo/bug1276/EntityOne.java 1 Jan 1970 00:00:00 -0000
@@ -0,0 +1,51 @@
+package jdo.bug1276;
+
+import java.util.Date;
+
+public final class EntityOne {
+ private Integer _id;
+ private String _name;
+ private Date startDate;
+ private Date startTime;
+ private Date startTimestamp;
+
+ public Integer getId() {
+ return _id;
+ }
+
+ public void setId(final Integer id) {
+ _id = id;
+ }
+
+ public String getName() {
+ return _name;
+ }
+
+ public void setName(final String name) {
+ _name = name;
+ }
+
+ public Date getStartDate() {
+ return startDate;
+ }
+
+ public void setStartDate(Date startDate) {
+ this.startDate = startDate;
+ }
+
+ public Date getStartTime() {
+ return startTime;
+ }
+
+ public void setStartTime(Date startTime) {
+ this.startTime = startTime;
+ }
+
+ public Date getStartTimestamp() {
+ return startTimestamp;
+ }
+
+ public void setStartTimestamp(Date startTimestamp) {
+ this.startTimestamp = startTimestamp;
+ }
+}
Index: jdo/bug1276/README.txt
===================================================================
RCS file: jdo/bug1276/README.txt
diff -N jdo/bug1276/README.txt
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ jdo/bug1276/README.txt 1 Jan 1970 00:00:00 -0000
@@ -0,0 +1,5 @@
+bug number: 1820
+description: Bug report template for castor jdo.
+castor: version 0.9.6 or CVS of 2005-03-31 13:44
+database: MySQL version 4.1
+driver: mysql-connector-java-3.0.16-ga-bin.jar
Index: jdo/bug1276/TestTemplate.java
===================================================================
RCS file: jdo/bug1276/TestTemplate.java
diff -N jdo/bug1276/TestTemplate.java
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ jdo/bug1276/TestTemplate.java 1 Jan 1970 00:00:00 -0000
@@ -0,0 +1,143 @@
+package jdo.bug1276;
+
+import java.util.Date;
+
+import junit.framework.TestCase;
+
+import org.exolab.castor.jdo.Database;
+import org.exolab.castor.jdo.JDOManager;
+import org.exolab.castor.jdo.OQLQuery;
+import org.exolab.castor.jdo.QueryResults;
+import org.exolab.castor.util.LocalConfiguration;
+
+public final class TestTemplate extends TestCase {
+ private static final String JDO_CONF_FILE = "jdo-conf.xml";
+ private static final String DATABASE_NAME = "bugTemplate";
+
+ private JDOManager _jdo = null;
+
+ public static void main(final String[] args) throws Exception {
+ TestTemplate test = new TestTemplate();
+ test.setUp();
+ test.testQueryEntityOne();
+ test.tearDown();
+ }
+
+ public TestTemplate() {
+ super();
+ }
+
+ public TestTemplate(final String name) {
+ super(name);
+ }
+
+ protected void setUp() throws Exception {
+ super.setUp();
+
+ String config = getClass().getResource(JDO_CONF_FILE).toString();
+ JDOManager.loadConfiguration(config, getClass().getClassLoader());
+ _jdo = JDOManager.createInstance(DATABASE_NAME);
+ }
+
+ protected void tearDown() throws Exception {
+ super.tearDown();
+ }
+
+ /**
+ * Test method.
+ * @throws Exception For any exception thrown.
+ */
+ public void testQueryEntityOne() throws Exception {
+ Database db = _jdo.getDatabase();
+ db.begin();
+
+ OQLQuery query = db.getOQLQuery("SELECT entity FROM "
+ + EntityOne.class.getName() + " entity WHERE id = $1");
+ query.bind(new Integer(1));
+ QueryResults results = query.execute();
+
+ EntityOne entity = (EntityOne) results.next();
+
+ assertNotNull(entity);
+ assertEquals(new Integer(1), entity.getId());
+
+ db.commit();
+ db.close();
+ }
+
+ public void testCreateEntity() throws Exception {
+ Database db = _jdo.getDatabase();
+ db.begin();
+ EntityOne entity = new EntityOne();
+ entity.setId(new Integer(100));
+ entity.setName("entity 100");
+ Date now = new Date();
+ entity.setStartDate(now);
+ entity.setStartTime(now);
+ entity.setStartTimestamp(now);
+ db.create(entity);
+ db.commit();
+
+ db.begin();
+ EntityOne entityLoad = (EntityOne) db.load(EntityOne.class, new Integer(100));
+ assertNotNull(entityLoad);
+ assertEquals (new Integer(100), entityLoad.getId());
+ assertEquals ("entity 100", entityLoad.getName());
+ assertEquals (now, entityLoad.getStartDate());
+ Date startTimeLoaded = entityLoad.getStartTime();
+ assertEquals(now, startTimeLoaded);
+ Date startTimestampLoaded = entityLoad.getStartTimestamp();
+ assertEquals(now, startTimestampLoaded);
+ db.commit();
+
+ db.begin();
+ EntityOne entityRemove = (EntityOne) db.load(EntityOne.class, new Integer(100));
+ db.remove(entityRemove);
+ db.commit();
+
+ db.close();
+
+ }
+
+ public void testCreateEntityWithDifferentTimeZone() throws Exception {
+ Database db = _jdo.getDatabase();
+
+ LocalConfiguration config = LocalConfiguration.getInstance();
+
+ config.getProperties().setProperty("org.exolab.castor.jdo.defaultTimeZone", "GMT+07:00");
+
+ db.begin();
+ EntityOne entity = new EntityOne();
+ entity.setId(new Integer(100));
+ entity.setName("entity 100");
+ Date now = new Date();
+ entity.setStartDate(now);
+ entity.setStartTime(now);
+ entity.setStartTimestamp(now);
+ db.create(entity);
+ db.commit();
+
+ config.getProperties().setProperty("org.exolab.castor.jdo.defaultTimeZone", "GMT+01:00");
+
+ db.begin();
+ EntityOne entityLoad = (EntityOne) db.load(EntityOne.class, new Integer(100));
+ assertNotNull(entityLoad);
+ assertEquals (new Integer(100), entityLoad.getId());
+ assertEquals ("entity 100", entityLoad.getName());
+ assertEquals (now, entityLoad.getStartDate());
+ Date startTimeLoaded = entityLoad.getStartTime();
+ assertEquals(now, startTimeLoaded);
+ Date startTimestampLoaded = entityLoad.getStartTimestamp();
+ assertEquals(now, startTimestampLoaded);
+ db.commit();
+
+ db.begin();
+ EntityOne entityRemove = (EntityOne) db.load(EntityOne.class, new Integer(100));
+ db.remove(entityRemove);
+ db.commit();
+
+ db.close();
+
+ }
+
+}
Index: jdo/bug1276/create.sql
===================================================================
RCS file: jdo/bug1276/create.sql
diff -N jdo/bug1276/create.sql
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ jdo/bug1276/create.sql 1 Jan 1970 00:00:00 -0000
@@ -0,0 +1,13 @@
+drop table entity1;
+create table entity1 (
+ id int not null,
+ name varchar(200) not null,
+ start_date date,
+ start_time time,
+ start_stamp datetime
+);
+
+-- create unique index entity1_pk on entity1 ( id );
+-- grant all privileges on entity1 to test;
+
+insert into entity1 (id, name) values (1, 'entity1');
Index: jdo/bug1276/jdo-conf.xml
===================================================================
RCS file: jdo/bug1276/jdo-conf.xml
diff -N jdo/bug1276/jdo-conf.xml
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ jdo/bug1276/jdo-conf.xml 1 Jan 1970 00:00:00 -0000
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: jdo/bug1276/mapping.xml
===================================================================
RCS file: jdo/bug1276/mapping.xml
diff -N jdo/bug1276/mapping.xml
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ jdo/bug1276/mapping.xml 1 Jan 1970 00:00:00 -0000
@@ -0,0 +1,27 @@
+
+
+
+
+
+ Entite one
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+