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 + + + + + + + + + + + + + + + + + + + +