Index: test1137/Administrator.java
===================================================================
RCS file: test1137/Administrator.java
diff -N test1137/Administrator.java
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ test1137/Administrator.java 1 Jan 1970 00:00:00 -0000
@@ -0,0 +1,10 @@
+package test1137;
+
+public class Administrator extends Subscriber {
+ private String password;
+
+ public String getPassword() { return password; }
+ public void setPassword(String password) { this.password = password; }
+}
+
+
Index: test1137/Subscriber.java
===================================================================
RCS file: test1137/Subscriber.java
diff -N test1137/Subscriber.java
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ test1137/Subscriber.java 1 Jan 1970 00:00:00 -0000
@@ -0,0 +1,13 @@
+package test1137;
+
+public class Subscriber {
+ private int id;
+ private String emailAddress;
+
+ public int getId() { return id; }
+ public void setId(int id) { this.id = id; }
+
+ public String getEmailAddress() { return emailAddress; }
+ public void setEmailAddress(String emailAddress) { this.emailAddress = emailAddress; }
+}
+
Index: test1137/Test1137.java
===================================================================
RCS file: test1137/Test1137.java
diff -N test1137/Test1137.java
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ test1137/Test1137.java 1 Jan 1970 00:00:00 -0000
@@ -0,0 +1,183 @@
+package test1137;
+
+import junit.framework.TestCase;
+
+import org.exolab.castor.jdo.Database;
+import org.exolab.castor.jdo.JDO2;
+import org.exolab.castor.jdo.OQLQuery;
+import org.exolab.castor.jdo.QueryResults;
+import org.exolab.castor.mapping.Mapping;
+
+public class Test1137 extends TestCase {
+ public static final String JdoConfFile = "jdo-conf.xml";
+ public static final String MappingFile = "mapping.xml";
+
+ private Mapping mapping;
+ private JDO2 jdo;
+
+ public static void main(String[] args) {
+ junit.textui.TestRunner.run( Test1137.class );
+ }
+
+ protected void setUp() throws Exception {
+ super.setUp();
+
+ mapping = new Mapping( getClass().getClassLoader() );
+ mapping.loadMapping( getClass().getResource( MappingFile ) );
+
+ JDO2.loadConfiguration( getClass().getResource( JdoConfFile ).toString() );
+ jdo = JDO2.createInstance( "test" );
+
+ try {
+ System.out.println( "Removing existing administrator objects" );
+ Database db = jdo.getDatabase();
+ db.begin();
+ OQLQuery query = db.getOQLQuery( "select a from " + Administrator.class.getName() + " a" );
+ QueryResults results = query.execute();
+ while ( results.hasMore() ) {
+ Administrator administrator = (Administrator) results.next();
+ db.remove( administrator );
+ }
+ db.commit();
+ db.close();
+
+ System.out.println( "Removing existing subscriber objects" );
+ db = jdo.getDatabase();
+ db.begin();
+ query = db.getOQLQuery( "select s from " + Subscriber.class.getName() + " s" );
+ results = query.execute();
+ while ( results.hasMore() ) {
+ Subscriber subscriber = (Subscriber) results.next();
+ db.remove( subscriber );
+ }
+ db.commit();
+ db.close();
+
+ System.out.println( "Adding test objects" );
+ db = jdo.getDatabase();
+ db.begin();
+ Administrator administrator = new Administrator();
+ administrator.setEmailAddress( "admin@JAMMConsulting.com" );
+ administrator.setPassword( "test" );
+ db.create( administrator );
+ administrator = new Administrator();
+ administrator.setEmailAddress( "admin1@JAMMConsulting.com" );
+ administrator.setPassword( "test1" );
+ db.create( administrator );
+ db.commit();
+ db.close();
+
+ db = jdo.getDatabase();
+ db.begin();
+ Subscriber subscriber = new Subscriber();
+ subscriber.setEmailAddress( "test@JAMMConsulting.com" );
+ db.create( subscriber );
+ db.commit();
+ db.close();
+
+ db = jdo.getDatabase();
+ db.begin();
+ subscriber = new Subscriber();
+ subscriber.setEmailAddress( "test1@JAMMConsulting.com" );
+ db.create( subscriber );
+ db.commit();
+ db.close();
+
+ db = jdo.getDatabase();
+ db.begin();
+ subscriber = new Subscriber();
+ subscriber.setEmailAddress( "test2@JAMMConsulting.com" );
+ db.create( subscriber );
+ db.commit();
+ db.close();
+
+ System.out.println( "Done" );
+ } catch( Exception ex ) {
+ System.out.println( "Caught Exception: "+ ex );
+ ex.printStackTrace();
+ }
+ }
+
+ protected void tearDown() throws Exception {
+ super.tearDown();
+ }
+
+// public void testQuerySubscribers() {
+// try {
+// Database db = jdo.getDatabase();
+// db.begin();
+//
+// OQLQuery query = db.getOQLQuery("select s from " + Subscriber.class.getName()
+// + " s where s.emailAddress = $1" );
+// query.bind( "admin@JAMMConsulting.com" );
+// QueryResults results = query.execute();
+// if ( results.hasMore() ) {
+// Subscriber subscriber = (Subscriber) results.next();
+// System.out.println( "Found subscriber: " + subscriber.getEmailAddress() );
+// }
+//
+// db.commit();
+// db.close();
+// } catch ( Exception ex ) {
+// System.out.println( "Caught exception: " + ex );
+// ex.printStackTrace();
+// }
+// }
+
+// public void testQueryAdministrators() {
+// try {
+// Database db = jdo.getDatabase();
+// db.begin();
+//
+// OQLQuery query = db.getOQLQuery( "select a from " + Administrator.class.getName()
+// + " a where a.emailAddress = $1 and a.password = $2" );
+// query.bind( "admin@JAMMConsulting.com" );
+// query.bind( "test" );
+// QueryResults results = query.execute();
+// if ( results.hasMore() ) {
+// Administrator administrator = (Administrator) results.next();
+// System.out.println( "Found administrator: " + administrator.getEmailAddress()
+// + " with password: "+administrator.getPassword() );
+// }
+//
+// db.commit();
+// db.close();
+// } catch ( Exception ex ) {
+// System.out.println( "Caught exception: " + ex );
+// ex.printStackTrace();
+// }
+// }
+
+ public void testQueryBoth() {
+ try {
+ Database db = jdo.getDatabase();
+ db.begin();
+
+ OQLQuery query = db.getOQLQuery("select s from " + Subscriber.class.getName()
+ + " s where s.emailAddress = $1" );
+ query.bind( "admin@JAMMConsulting.com" );
+ QueryResults results = query.execute();
+ if ( results.hasMore() ) {
+ Subscriber subscriber = (Subscriber) results.next();
+ System.out.println( "Found subscriber: " + subscriber.getEmailAddress() );
+ }
+
+ query = db.getOQLQuery( "select a from " + Administrator.class.getName()
+ + " a where a.emailAddress = $1 and a.password = $2" );
+ query.bind( "admin@JAMMConsulting.com" );
+ query.bind( "test" );
+ results = query.execute();
+ if ( results.hasMore() ) {
+ Administrator administrator = (Administrator) results.next();
+ System.out.println( "Found administrator: " + administrator.getEmailAddress()
+ + " with password: "+administrator.getPassword() );
+ }
+
+ db.commit();
+ db.close();
+ } catch ( Exception ex ) {
+ System.out.println( "Caught exception: " + ex );
+ ex.printStackTrace();
+ }
+ }
+}
Index: test1137/ddl.sql
===================================================================
RCS file: test1137/ddl.sql
diff -N test1137/ddl.sql
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ test1137/ddl.sql 1 Jan 1970 00:00:00 -0000
@@ -0,0 +1,13 @@
+DROP TABLE IF EXISTS Administrator;
+CREATE TABLE Administrator (
+ id int PRIMARY KEY,
+ password varchar(255) NOT NULL,
+ INDEX (password)
+) TYPE = InnoDB;
+
+DROP TABLE IF EXISTS Subscriber;
+CREATE TABLE Subscriber (
+ id int PRIMARY KEY,
+ emailAddress varchar(255) NOT NULL,
+ INDEX (emailAddress)
+) TYPE = InnoDB;
Index: test1137/jdo-conf.xml
===================================================================
RCS file: test1137/jdo-conf.xml
diff -N test1137/jdo-conf.xml
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ test1137/jdo-conf.xml 1 Jan 1970 00:00:00 -0000
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: test1137/mapping.xml
===================================================================
RCS file: test1137/mapping.xml
diff -N test1137/mapping.xml
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ test1137/mapping.xml 1 Jan 1970 00:00:00 -0000
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+