X-Git-Url: https://juplo.de/gitweb/?p=hibernate4-maven-plugin;a=blobdiff_plain;f=src%2Fit%2Ftutorials%2Fenvers%2Fsrc%2Ftest%2Fjava%2Forg%2Fhibernate%2Ftutorial%2Fenvers%2FEnversIllustrationTest.java;fp=src%2Fit%2Ftutorials%2Fenvers%2Fsrc%2Ftest%2Fjava%2Forg%2Fhibernate%2Ftutorial%2Fenvers%2FEnversIllustrationTest.java;h=0000000000000000000000000000000000000000;hp=5e29faa6b93e33e623bd9ad9af09d530308d3220;hb=0b6b9a1bd8950880713885618d8e31c772a085ec;hpb=9e37fd1049f8a6794396cd7c8879dc413fbcb87c diff --git a/src/it/tutorials/envers/src/test/java/org/hibernate/tutorial/envers/EnversIllustrationTest.java b/src/it/tutorials/envers/src/test/java/org/hibernate/tutorial/envers/EnversIllustrationTest.java deleted file mode 100644 index 5e29faa6..00000000 --- a/src/it/tutorials/envers/src/test/java/org/hibernate/tutorial/envers/EnversIllustrationTest.java +++ /dev/null @@ -1,105 +0,0 @@ -/* - * Hibernate, Relational Persistence for Idiomatic Java - * - * Copyright (c) 2010, Red Hat Inc. or third-party contributors as - * indicated by the @author tags or express copyright attribution - * statements applied by the authors. All third-party contributions are - * distributed under license by Red Hat Inc. - * - * This copyrighted material is made available to anyone wishing to use, modify, - * copy, or redistribute it subject to the terms and conditions of the GNU - * Lesser General Public License, as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY - * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License - * for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this distribution; if not, write to: - * Free Software Foundation, Inc. - * 51 Franklin Street, Fifth Floor - * Boston, MA 02110-1301 USA - */ -package org.hibernate.tutorial.envers; - -import java.util.Date; -import java.util.List; -import javax.persistence.EntityManager; -import javax.persistence.EntityManagerFactory; -import javax.persistence.Persistence; - -import junit.framework.TestCase; - -import org.hibernate.envers.AuditReader; -import org.hibernate.envers.AuditReaderFactory; - -/** - * Illustrates the set up and use of Envers. - *

- * This example is different from the others in that we really need to save multiple revisions to the entity in - * order to get a good look at Envers in action. - * - * @author Steve Ebersole - */ -public class EnversIllustrationTest extends TestCase { - private EntityManagerFactory entityManagerFactory; - - @Override - protected void setUp() throws Exception { - // like discussed with regards to SessionFactory, an EntityManagerFactory is set up once for an application - // IMPORTANT: notice how the name here matches the name we gave the persistence-unit in persistence.xml! - entityManagerFactory = Persistence.createEntityManagerFactory( "org.hibernate.tutorial.envers" ); - } - - @Override - protected void tearDown() throws Exception { - entityManagerFactory.close(); - } - - public void testBasicUsage() { - // create a couple of events - EntityManager entityManager = entityManagerFactory.createEntityManager(); - entityManager.getTransaction().begin(); - entityManager.persist( new Event( "Our very first event!", new Date() ) ); - entityManager.persist( new Event( "A follow up event", new Date() ) ); - entityManager.getTransaction().commit(); - entityManager.close(); - - // now lets pull events from the database and list them - entityManager = entityManagerFactory.createEntityManager(); - entityManager.getTransaction().begin(); - List result = entityManager.createQuery( "from Event", Event.class ).getResultList(); - for ( Event event : result ) { - System.out.println( "Event (" + event.getDate() + ") : " + event.getTitle() ); - } - entityManager.getTransaction().commit(); - entityManager.close(); - - // so far the code is the same as we have seen in previous tutorials. Now lets leverage Envers... - - // first lets create some revisions - entityManager = entityManagerFactory.createEntityManager(); - entityManager.getTransaction().begin(); - Event myEvent = entityManager.find( Event.class, 2L ); // we are using the increment generator, so we know 2 is a valid id - myEvent.setDate( new Date() ); - myEvent.setTitle( myEvent.getTitle() + " (rescheduled)" ); - entityManager.getTransaction().commit(); - entityManager.close(); - - // and then use an AuditReader to look back through history - entityManager = entityManagerFactory.createEntityManager(); - entityManager.getTransaction().begin(); - myEvent = entityManager.find( Event.class, 2L ); - assertEquals( "A follow up event (rescheduled)", myEvent.getTitle() ); - AuditReader reader = AuditReaderFactory.get( entityManager ); - Event firstRevision = reader.find( Event.class, 2L, 1 ); - assertFalse( firstRevision.getTitle().equals( myEvent.getTitle() ) ); - assertFalse( firstRevision.getDate().equals( myEvent.getDate() ) ); - Event secondRevision = reader.find( Event.class, 2L, 2 ); - assertTrue( secondRevision.getTitle().equals( myEvent.getTitle() ) ); - assertTrue( secondRevision.getDate().equals( myEvent.getDate() ) ); - entityManager.getTransaction().commit(); - entityManager.close(); - } -}