summaryrefslogtreecommitdiff
path: root/orkbasej/java/net/sf/oreka/persistent/AnnotationsTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'orkbasej/java/net/sf/oreka/persistent/AnnotationsTest.java')
-rw-r--r--orkbasej/java/net/sf/oreka/persistent/AnnotationsTest.java316
1 files changed, 316 insertions, 0 deletions
diff --git a/orkbasej/java/net/sf/oreka/persistent/AnnotationsTest.java b/orkbasej/java/net/sf/oreka/persistent/AnnotationsTest.java
new file mode 100644
index 0000000..6b15796
--- /dev/null
+++ b/orkbasej/java/net/sf/oreka/persistent/AnnotationsTest.java
@@ -0,0 +1,316 @@
+/*
+ * Oreka -- A media capture and retrieval platform
+ *
+ * Copyright (C) 2005, orecx LLC
+ *
+ * http://www.orecx.com
+ *
+ * This program is free software, distributed under the terms of
+ * the GNU General Public License.
+ * Please refer to http://www.gnu.org/copyleft/gpl.html
+ *
+ */
+
+package net.sf.oreka.persistent;
+
+
+
+import java.util.Date;
+import java.util.GregorianCalendar;
+import java.util.Iterator;
+
+import org.hibernate.HibernateException;
+import org.hibernate.Session;
+import org.hibernate.SessionFactory;
+import org.hibernate.Transaction;
+import org.hibernate.cfg.AnnotationConfiguration;
+//import org.hibernate.tool.hbm2ddl.SchemaExport;
+//import org.hibernate.ScrollableResults;
+
+public class AnnotationsTest {
+
+ /** Creates a new instance of TestHibernate */
+ public AnnotationsTest() {
+ }
+
+ /**
+ * @param args the command line arguments
+ */
+ public static void main(String[] args) {
+
+// Service srv1 = new Service();
+// srv1.setHostname("aoum");
+//
+// srv1.setServiceClass(Service.ServiceClass.unkn);
+//
+// Method method = null;
+// Object[] values = null;
+// try {
+// Class myClass = Service.ServiceClass.class;
+// method = myClass.getDeclaredMethod( "values", new Class[0] );
+// values = (Object[]) method.invoke(null, new Object[0] );
+// }
+// catch (Exception e) {
+// int i = 0;
+// }
+
+// if(true) {return;}
+
+// Date date = new Date();
+// long mili = date.getTime();
+// int sec = (int)(mili/1000);
+// long mili2 = (long)sec*1000;
+// Date date2 = new Date(mili2);
+
+ AnnotationConfiguration config = (AnnotationConfiguration)new AnnotationConfiguration();
+// .setProperty("hibernate.dialect", "org.hibernate.dialect.HSQLDialect")
+// .setProperty("hibernate.connection.driver_class", "org.hsqldb.jdbcDriver")
+// .setProperty("hibernate.connection.url", "jdbc:hsqldb:mem:test")
+// .setProperty("hibernate.connection.username", "sa")
+// .setProperty("hibernate.connection.password", "")
+// .setProperty("hibernate.connection.pool_size", "1")
+// .setProperty("hibernate.connection.autocommit", "true")
+// .setProperty("hibernate.cache.provider_class", "org.hibernate.cache.HashtableCacheProvider")
+// .setProperty("hibernate.hbm2ddl.auto", "create-drop")
+// .setProperty("hibernate.show_sql", "true");
+// config.configure("mysql.hbm.xml");
+ config.configure("hsqldb.hbm.xml");
+
+ config.addAnnotatedClass(AnnotatedTestClass.class);
+ config.addAnnotatedClass(RecProgram.class);
+ config.addAnnotatedClass(RecSession.class);
+ config.addAnnotatedClass(RecSegment.class);
+ config.addAnnotatedClass(RecTape.class);
+ config.addAnnotatedClass(User.class);
+ config.addAnnotatedClass(LoginString.class);
+ config.addAnnotatedClass(Domain.class);
+ config.addAnnotatedClass(Service.class);
+ config.addAnnotatedClass(RecPort.class);
+ config.addAnnotatedClass(RecPortFace.class);
+
+ SessionFactory sessions = config.buildSessionFactory();
+ Session session = sessions.openSession();
+
+ Transaction tx = null;
+
+ try {
+ /*
+ SchemaExport export = new SchemaExport(config);
+ export.setOutputFile("c:\\schema.sql");
+ export.create(true,false);
+ */
+
+ // single insert
+// tx = session.beginTransaction();
+// AnnotatedTestClass obj = new AnnotatedTestClass();
+// obj.setMyEnum(TestEnum.value2);
+// session.save(obj);
+// tx.commit();
+
+ // insert
+// for (int i=0; i<100 ; i++)
+// {
+// tx = session.beginTransaction();
+// Domain obj = new Domain();
+// session.save(obj);
+// tx.commit();
+// }
+
+ /*
+ // iterator select
+ Iterator documents = session.createQuery(
+ "from Documents doc join doc.car")
+ .list()
+ .iterator();
+
+ while ( documents.hasNext() ) {
+ Object[] row = (Object[]) documents.next();
+ Documents doc = (Documents)row[0];
+ Car car = (Car)row[1];
+
+ //Documents doc = (Documents)documents.next();
+
+ System.out.println(doc.getId() + " " + car.getId());
+ }
+ */
+ /*
+ // scrollable select
+ ScrollableResults scrollDocs = session.createQuery(
+ "from RecSegment intr join intr.RecSession").scroll();
+ if ( scrollDocs.last() ) {
+ System.out.println("Num res:" + scrollDocs.getRowNumber() + "\n\n");
+ }
+
+ scrollDocs.beforeFirst();
+ while (scrollDocs.next())
+ {
+ RecSegment doc = (RecSegment)scrollDocs.get(0);
+ RecSession car = (RecSession)scrollDocs.get(1);
+ System.out.println(doc.getId() + " " + car.getId());
+ }
+ */
+
+ /*
+ // many to many insert
+ tx = session.beginTransaction();
+
+ RecProgram prog1 = new RecProgram();
+ RecProgram prog2 = new RecProgram();
+ RecSegment seg = new RecSegment();
+
+ HashSet programs = new HashSet();
+ programs.add(prog1);
+ programs.add(prog2);
+ seg.setRecPrograms(programs);
+
+ session.save(prog1);
+ session.save(prog2);
+ session.save(seg);
+ tx.commit();
+ */
+ /*
+ // Many to many select
+ ScrollableResults scrollDocs = session.createQuery(
+ "from RecSegment as seg join seg.recPrograms as prg where prg.id=2").scroll();
+ if ( scrollDocs.last() ) {
+ System.out.println("Num res:" + scrollDocs.getRowNumber() + "\n\n");
+ }
+
+ scrollDocs.beforeFirst();
+ while (scrollDocs.next())
+ {
+ RecSegment seg = (RecSegment)scrollDocs.get(0);
+ RecProgram prg = (RecProgram)scrollDocs.get(1);
+ System.out.println(seg.getId() + " " + prg.getId());
+ }
+ */
+
+ /*
+ // one to many create
+ tx = session.beginTransaction();
+
+ RecProgram prog = new RecProgram();
+ User user = new User();
+ prog.setTargetUser(user);
+
+ session.save(user);
+ session.save(prog);
+ tx.commit();
+ */
+ /*
+ // one to many select
+ ScrollableResults scrollDocs = session.createQuery(
+ "from RecProgram as prg join prg.targetUser as tgt").scroll();
+ if ( scrollDocs.last() ) {
+ System.out.println("Num res:" + scrollDocs.getRowNumber() + "\n\n");
+ }
+
+ scrollDocs.beforeFirst();
+ while (scrollDocs.next())
+ {
+ RecProgram prg = (RecProgram)scrollDocs.get(0);
+ User tgt = (User)scrollDocs.get(1);
+ System.out.println(prg.getId() + " " + tgt.getId());
+ }
+ */
+
+ // multi-session stuff
+// tx = session.beginTransaction();
+// RecTape obj = new RecTape();
+// Service srv = new Service();
+// obj.setService(srv);
+// srv.setName("service1");
+// session.save(srv);
+// session.save(obj);
+// tx.commit();
+// session.close();
+//
+// session = sessions.openSession();
+// tx = session.beginTransaction();
+// obj = new RecTape();
+// obj.setService(srv);
+// session.save(obj);
+// tx.commit();
+// session.close();
+
+// tx = session.beginTransaction();
+// //Service.retrieveByName("toto", session);
+// RecSegment seg = new RecSegment();
+// seg.setLoginString("too");
+// seg.setDuration(56);
+// seg.setDirection(Direction.in);
+// seg.setRemoteParty("135");
+// session.save(seg);
+//
+// java.util.List recSegments = session.createQuery(
+// "from RecSegment as seg where seg.remoteParty = :rp")
+// .setString("rp", "135")
+// .list();
+// if (recSegments.size() > 0) {
+// RecSegment result = (RecSegment)recSegments.get(0);
+// System.out.println(result.getLoginString() + " " + result.getDirection().name());
+// }
+
+ // enum stuff
+// tx = session.beginTransaction();
+// //Service.retrieveByName("toto", session);
+// Service srv = new Service();
+// srv.setHostname("aoum");
+// srv.setServiceClass(ServiceClass.audio);
+// session.save(srv);
+//
+// java.util.List services = session.createQuery(
+// "from Service as srv where srv.hostname = :rp")
+// .setString("rp", "aoum")
+// .list();
+// if (services.size() > 0) {
+// Service result = (Service)services.get(0);
+// System.out.println(result.getHostname() + result.getServiceClass().name());
+// }
+
+
+
+// tx = session.beginTransaction();
+//
+// Iterator portFaces = session.createQuery(
+// "from RecPortFace")
+// .list()
+// .iterator();
+
+ tx = session.beginTransaction();
+ System.out.println("hello");
+ RecSegment seg = new RecSegment();
+ GregorianCalendar cal = new GregorianCalendar();
+ Date now = cal.getTime();
+ seg.setTimestamp(now);
+ session.save(seg);
+
+ GregorianCalendar cal2 = new GregorianCalendar();
+ cal2.setTimeInMillis(cal.getTimeInMillis() + 1000);
+
+ Iterator segments = session.createQuery(
+ "from RecSegment as seg where seg.timestamp= :date")
+ //.setDate("date", now)
+ //.setDate("date2", new Date(time+10000000))
+ .setCalendar("date", cal)
+ .list()
+ .iterator();
+ if(segments.hasNext()) {
+ RecSegment seg2 = (RecSegment)segments.next();
+ System.out.println("db timestamp:" + seg2.getTimestamp().getTime() + " my:" + now.getTime());
+ }
+ else {
+ System.out.println("fail");
+ }
+
+ }
+ catch ( HibernateException he ) {
+ if ( tx != null ) tx.rollback();
+ throw he;
+ }
+ finally {
+ session.close();
+ }
+ }
+
+} \ No newline at end of file