|
From: <hib...@li...> - 2006-04-25 17:08:05
|
Author: epbernard
Date: 2006-04-25 13:07:59 -0400 (Tue, 25 Apr 2006)
New Revision: 9790
Added:
trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/inheritance/joined/AlarmT.java
trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/inheritance/joined/EventInformationT.java
trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/inheritance/joined/JoinedSubclassTest.java
Removed:
trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/inheritance/joined/SubclassTest.java
Log:
more tests
Added: trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/inheritance/joined/AlarmT.java
===================================================================
--- trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/inheritance/joined/AlarmT.java 2006-04-25 17:06:55 UTC (rev 9789)
+++ trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/inheritance/joined/AlarmT.java 2006-04-25 17:07:59 UTC (rev 9790)
@@ -0,0 +1,40 @@
+//$Id: Sweater.java 8974 2006-01-04 00:43:49Z epbernard $
+package org.hibernate.test.annotations.inheritance.joined;
+
+import javax.persistence.DiscriminatorValue;
+import javax.persistence.Entity;
+import javax.persistence.JoinColumn;
+import javax.persistence.JoinColumns;
+import javax.persistence.OneToOne;
+
+@Entity
+@DiscriminatorValue("AlarmT")
+public class AlarmT extends EventInformationT {
+
+ protected EventInformationT eventInfo;
+
+ @OneToOne
+ @JoinColumns({@JoinColumn(name = "EVENTINFORMATIONT_NOTIFICATIONID",
+ referencedColumnName = "NOTIFICATIONID")})
+ public EventInformationT getEventInfo() {
+ return eventInfo;
+ }
+
+ public void setEventInfo(EventInformationT value) {
+ this.eventInfo = value;
+ }
+
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ String eventId = ( getEventInfo() != null ?
+ getEventInfo().getNotificationId() : null );
+ sb.append(
+ "AlarmT: id = " + getNotificationId() + "\t" +
+ "has event id = " + eventId
+ );
+ return sb.toString();
+ }
+
+}
Added: trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/inheritance/joined/EventInformationT.java
===================================================================
--- trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/inheritance/joined/EventInformationT.java 2006-04-25 17:06:55 UTC (rev 9789)
+++ trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/inheritance/joined/EventInformationT.java 2006-04-25 17:07:59 UTC (rev 9790)
@@ -0,0 +1,38 @@
+//$Id: Sweater.java 8974 2006-01-04 00:43:49Z epbernard $
+package org.hibernate.test.annotations.inheritance.joined;
+
+import javax.persistence.DiscriminatorColumn;
+import javax.persistence.DiscriminatorType;
+import javax.persistence.DiscriminatorValue;
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.Inheritance;
+import javax.persistence.InheritanceType;
+
+
+@Entity
+@Inheritance(strategy = InheritanceType.JOINED)
+@DiscriminatorColumn(name = "DTYPE", discriminatorType = DiscriminatorType.STRING, length = 80)
+@DiscriminatorValue("EventInformationT")
+public class EventInformationT implements java.io.Serializable {
+
+
+ protected String notificationId;
+
+ @Id
+ public String getNotificationId() {
+ return notificationId;
+ }
+
+ public void setNotificationId(String value) {
+ this.notificationId = value;
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append( "EventInformationT: id = " + getNotificationId() );
+ return sb.toString();
+ }
+
+}
Copied: trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/inheritance/joined/JoinedSubclassTest.java (from rev 9709, trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/inheritance/joined/SubclassTest.java)
===================================================================
--- trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/inheritance/joined/SubclassTest.java 2006-03-29 03:32:24 UTC (rev 9709)
+++ trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/inheritance/joined/JoinedSubclassTest.java 2006-04-25 17:07:59 UTC (rev 9790)
@@ -0,0 +1,153 @@
+//$Id$
+package org.hibernate.test.annotations.inheritance.joined;
+
+import java.util.List;
+
+import org.hibernate.Session;
+import org.hibernate.Transaction;
+import org.hibernate.test.annotations.TestCase;
+
+/**
+ * @author Emmanuel Bernard
+ */
+public class JoinedSubclassTest extends TestCase {
+
+ public JoinedSubclassTest(String x) {
+ super( x );
+ }
+
+ public void testDefault() throws Exception {
+ Session s;
+ Transaction tx;
+ s = openSession();
+ tx = s.beginTransaction();
+ File doc = new Document( "Enron Stuff To Shred", 1000 );
+ Folder folder = new Folder( "Enron" );
+ s.persist( doc );
+ s.persist( folder );
+ tx.commit();
+ s.close();
+
+ s = openSession();
+ tx = s.beginTransaction();
+ List result = s.createCriteria( File.class ).list();
+ assertNotNull( result );
+ assertEquals( 2, result.size() );
+ File f2 = (File) result.get( 0 );
+ checkClassType( f2, doc, folder );
+ f2 = (File) result.get( 1 );
+ checkClassType( f2, doc, folder );
+ s.delete( result.get( 0 ) );
+ s.delete( result.get( 1 ) );
+ tx.commit();
+ s.close();
+ }
+
+ public void testManyToOneOnAbstract() throws Exception {
+ Folder f = new Folder();
+ f.setName( "data" );
+ ProgramExecution remove = new ProgramExecution();
+ remove.setAction( "remove" );
+ remove.setAppliesOn( f );
+ Session s;
+ Transaction tx;
+ s = openSession();
+ tx = s.beginTransaction();
+ s.persist( f );
+ s.persist( remove );
+ tx.commit();
+ s.clear();
+ tx = s.beginTransaction();
+ remove = (ProgramExecution) s.get( ProgramExecution.class, remove.getId() );
+ assertNotNull( remove );
+ assertNotNull( remove.getAppliesOn().getName() );
+ s.delete( remove );
+ s.delete( remove.getAppliesOn() );
+ tx.commit();
+ s.close();
+
+ }
+
+ private void checkClassType(File fruitToTest, File f, Folder a) {
+ if ( fruitToTest.getName().equals( f.getName() ) ) {
+ assertFalse( fruitToTest instanceof Folder );
+ }
+ else if ( fruitToTest.getName().equals( a.getName() ) ) {
+ assertTrue( fruitToTest instanceof Folder );
+ }
+ else {
+ fail( "Result does not contains the previously inserted elements" );
+ }
+ }
+
+ public void testJoinedAbstractClass() throws Exception {
+ Session s;
+ Transaction tx;
+ s = openSession();
+ s.getTransaction().begin();
+ Sweater sw = new Sweater();
+ sw.setColor( "Black" );
+ sw.setSize( 2 );
+ sw.setSweat( true );
+ s.persist( sw );
+ s.getTransaction().commit();
+ s.clear();
+
+ s = openSession();
+ s.getTransaction().begin();
+ sw = (Sweater) s.get( Sweater.class, sw.getId() );
+ s.delete( sw );
+ s.getTransaction().commit();
+ s.close();
+ }
+
+ public void testInheritance() throws Exception {
+ Session session = openSession();
+ Transaction transaction = session.beginTransaction();
+ String eventPK = "event1";
+ System.out.println( "*******Finding event " + eventPK );
+ EventInformationT event = (EventInformationT) session.get( EventInformationT.class, eventPK );
+ if ( event == null ) {
+ System.out.println( "Creating event " + eventPK );
+ event = new EventInformationT();
+ event.setNotificationId( eventPK );
+ session.persist( event );
+ }
+ else {
+ System.out.println( "Found " + event );
+ }
+ String alarmPK = "alarm1";
+ System.out.println( "*******Finding alarm " + alarmPK );
+ AlarmT alarm = (AlarmT) session.get( AlarmT.class, alarmPK );
+ if ( alarm == null ) {
+ System.out.println( "Creating alarm " + alarmPK );
+ alarm = new AlarmT();
+ alarm.setNotificationId( alarmPK );
+ alarm.setEventInfo( event );
+ session.persist( alarm );
+ }
+ else {
+ System.out.println( "Found " + alarm );
+ }
+ transaction.commit();
+ session.close();
+ }
+
+ /**
+ * @see org.hibernate.test.annotations.TestCase#getMappings()
+ */
+ protected Class[] getMappings() {
+ return new Class[]{
+ File.class,
+ Folder.class,
+ Document.class,
+ SymbolicLink.class,
+ ProgramExecution.class,
+ Clothing.class,
+ Sweater.class,
+ EventInformationT.class,
+ AlarmT.class
+ };
+ }
+
+}
Property changes on: trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/inheritance/joined/JoinedSubclassTest.java
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Author Date Id Revision
Name: svn:eol-style
+ native
Deleted: trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/inheritance/joined/SubclassTest.java
===================================================================
--- trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/inheritance/joined/SubclassTest.java 2006-04-25 17:06:55 UTC (rev 9789)
+++ trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/inheritance/joined/SubclassTest.java 2006-04-25 17:07:59 UTC (rev 9790)
@@ -1,117 +0,0 @@
-//$Id$
-package org.hibernate.test.annotations.inheritance.joined;
-
-import java.util.List;
-
-import org.hibernate.Session;
-import org.hibernate.Transaction;
-import org.hibernate.test.annotations.TestCase;
-
-/**
- * @author Emmanuel Bernard
- */
-public class SubclassTest extends TestCase {
-
- public SubclassTest(String x) {
- super(x);
- }
-
- public void testDefault() throws Exception {
- Session s;
- Transaction tx;
- s = openSession();
- tx = s.beginTransaction();
- File doc = new Document("Enron Stuff To Shred", 1000);
- Folder folder = new Folder("Enron");
- s.persist(doc);
- s.persist(folder);
- tx.commit();
- s.close();
-
- s = openSession();
- tx = s.beginTransaction();
- List result = s.createCriteria(File.class).list();
- assertNotNull(result);
- assertEquals( 2, result.size() );
- File f2 = (File) result.get(0);
- checkClassType(f2, doc, folder);
- f2 = (File) result.get(1);
- checkClassType(f2, doc, folder);
- s.delete( result.get(0) );
- s.delete( result.get(1) );
- tx.commit();
- s.close();
- }
-
- public void testManyToOneOnAbstract() throws Exception {
- Folder f = new Folder();
- f.setName("data");
- ProgramExecution remove = new ProgramExecution();
- remove.setAction("remove");
- remove.setAppliesOn(f);
- Session s;
- Transaction tx;
- s = openSession();
- tx = s.beginTransaction();
- s.persist(f);
- s.persist(remove);
- tx.commit();
- s.clear();
- tx = s.beginTransaction();
- remove = (ProgramExecution) s.get( ProgramExecution.class, remove.getId() );
- assertNotNull(remove);
- assertNotNull( remove.getAppliesOn().getName() );
- s.delete( remove );
- s.delete( remove.getAppliesOn() );
- tx.commit();
- s.close();
-
- }
-
- private void checkClassType(File fruitToTest, File f, Folder a) {
- if ( fruitToTest.getName().equals( f.getName() ) ) {
- assertFalse(fruitToTest instanceof Folder);
- } else if ( fruitToTest.getName().equals( a.getName() ) ) {
- assertTrue(fruitToTest instanceof Folder);
- } else {
- fail("Result does not contains the previously inserted elements");
- }
- }
-
- public void testJoinedAbstractClass() throws Exception {
- Session s;
- Transaction tx;
- s = openSession();
- s.getTransaction().begin();
- Sweater sw = new Sweater();
- sw.setColor( "Black" );
- sw.setSize( 2 );
- sw.setSweat( true );
- s.persist( sw );
- s.getTransaction().commit();
- s.clear();
-
- s = openSession();
- s.getTransaction().begin();
- sw = (Sweater) s.get( Sweater.class, sw.getId() );
- s.delete( sw );
- s.getTransaction().commit();
- s.close();
- }
-
- /**
- * @see org.hibernate.test.annotations.TestCase#getMappings()
- */
- protected Class[] getMappings() {
- return new Class[] {
- File.class,
- Folder.class,
- Document.class,
- SymbolicLink.class,
- ProgramExecution.class,
- Clothing.class,
- Sweater.class
- };
- }
-
-}
|