From: Kai Moritz Date: Fri, 5 Apr 2019 09:54:06 +0000 (+0200) Subject: Added tutorials of the hibernate-release 5.2.18.Final X-Git-Url: https://juplo.de/gitweb/?p=hibernate4-maven-plugin;a=commitdiff_plain;h=0b6b9a1bd8950880713885618d8e31c772a085ec Added tutorials of the hibernate-release 5.2.18.Final * Moved the version of the tutorials from 4.3.9.Final to tutorieals-4.3.9 * This commit contains the unchanged tutorials from the 5.2.18-Release See: http://docs.jboss.org/hibernate/orm/5.2/quickstart/html_single/#preface Download: http://docs.jboss.org/hibernate/orm/5.2/quickstart/html_single/hibernate-tutorials.zip --- diff --git a/src/it/tutorials-4.3.9/annotations/pom.xml b/src/it/tutorials-4.3.9/annotations/pom.xml new file mode 100644 index 00000000..86982ad2 --- /dev/null +++ b/src/it/tutorials-4.3.9/annotations/pom.xml @@ -0,0 +1,69 @@ + + + + + 4.0.0 + + + org.hibernate.tutorials + hibernate-tutorials + 4.3.9.Final + ../pom.xml + + + hibernate-tutorial-annotations + Hibernate Annotations Tutorial + Hibernate tutorial illustrating the use of native APIs and annotations for mapping metadata + + + + true + @project.version@ + + + + + + + de.juplo + hibernate-maven-plugin + ${h4mp.version} + + + process-test-classes + + create + + + + + true + true + + + + + + diff --git a/src/it/tutorials-4.3.9/annotations/src/test/java/org/hibernate/tutorial/annotations/AnnotationsIllustrationTest.java b/src/it/tutorials-4.3.9/annotations/src/test/java/org/hibernate/tutorial/annotations/AnnotationsIllustrationTest.java new file mode 100644 index 00000000..c1131d23 --- /dev/null +++ b/src/it/tutorials-4.3.9/annotations/src/test/java/org/hibernate/tutorial/annotations/AnnotationsIllustrationTest.java @@ -0,0 +1,79 @@ +/* + * 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.annotations; + +import java.util.Date; +import java.util.List; + +import junit.framework.TestCase; + +import org.hibernate.Session; +import org.hibernate.SessionFactory; +import org.hibernate.cfg.Configuration; + +/** + * Illustrates the use of Hibernate native APIs. The code here is unchanged from the {@code basic} example, the + * only difference being the use of annotations to supply the metadata instead of Hibernate mapping files. + * + * @author Steve Ebersole + */ +public class AnnotationsIllustrationTest extends TestCase { + private SessionFactory sessionFactory; + + @Override + protected void setUp() throws Exception { + // A SessionFactory is set up once for an application + sessionFactory = new Configuration() + .configure() // configures settings from hibernate.cfg.xml + .buildSessionFactory(); + } + + @Override + protected void tearDown() throws Exception { + if ( sessionFactory != null ) { + sessionFactory.close(); + } + } + + @SuppressWarnings({ "unchecked" }) + public void testBasicUsage() { + // create a couple of events... + Session session = sessionFactory.openSession(); + session.beginTransaction(); + session.save( new Event( "Our very first event!", new Date() ) ); + session.save( new Event( "A follow up event", new Date() ) ); + session.getTransaction().commit(); + session.close(); + + // now lets pull events from the database and list them + session = sessionFactory.openSession(); + session.beginTransaction(); + List result = session.createQuery( "from Event" ).list(); + for ( Event event : (List) result ) { + System.out.println( "Event (" + event.getDate() + ") : " + event.getTitle() ); + } + session.getTransaction().commit(); + session.close(); + } +} diff --git a/src/it/tutorials-4.3.9/annotations/src/test/java/org/hibernate/tutorial/annotations/Event.java b/src/it/tutorials-4.3.9/annotations/src/test/java/org/hibernate/tutorial/annotations/Event.java new file mode 100644 index 00000000..c66349f9 --- /dev/null +++ b/src/it/tutorials-4.3.9/annotations/src/test/java/org/hibernate/tutorial/annotations/Event.java @@ -0,0 +1,83 @@ +/* + * 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.annotations; + +import java.util.Date; +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.Id; +import javax.persistence.Table; +import javax.persistence.Temporal; +import javax.persistence.TemporalType; + +import org.hibernate.annotations.GenericGenerator; + +@Entity +@Table( name = "EVENTS" ) +public class Event { + private Long id; + + private String title; + private Date date; + + public Event() { + // this form used by Hibernate + } + + public Event(String title, Date date) { + // for application use, to create new events + this.title = title; + this.date = date; + } + + @Id + @GeneratedValue(generator="increment") + @GenericGenerator(name="increment", strategy = "increment") + public Long getId() { + return id; + } + + private void setId(Long id) { + this.id = id; + } + + @Temporal(TemporalType.TIMESTAMP) + @Column(name = "EVENT_DATE") + public Date getDate() { + return date; + } + + public void setDate(Date date) { + this.date = date; + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } +} \ No newline at end of file diff --git a/src/it/tutorials-4.3.9/annotations/src/test/resources/hibernate.cfg.xml b/src/it/tutorials-4.3.9/annotations/src/test/resources/hibernate.cfg.xml new file mode 100644 index 00000000..d9ae1f53 --- /dev/null +++ b/src/it/tutorials-4.3.9/annotations/src/test/resources/hibernate.cfg.xml @@ -0,0 +1,56 @@ + + + + + + + + + + org.h2.Driver + jdbc:h2:${project.build.directory}/db/test;MVCC=TRUE + sa + + + + 1 + + + org.hibernate.dialect.H2Dialect + + + org.hibernate.cache.internal.NoCacheProvider + + + true + + + + + + + \ No newline at end of file diff --git a/src/it/tutorials-4.3.9/basic/pom.xml b/src/it/tutorials-4.3.9/basic/pom.xml new file mode 100644 index 00000000..64ecf121 --- /dev/null +++ b/src/it/tutorials-4.3.9/basic/pom.xml @@ -0,0 +1,68 @@ + + + + + 4.0.0 + + + org.hibernate.tutorials + hibernate-tutorials + 4.3.9.Final + ../pom.xml + + + hibernate-tutorial-hbm + Hibernate hbm.xml Tutorial + Hibernate tutorial illustrating the use of native APIs and hbm.xml for mapping metadata + + + + true + @project.version@ + + + + + + de.juplo + hibernate-maven-plugin + ${h4mp.version} + + + process-test-classes + + create + + + + + true + true + + + + + + diff --git a/src/it/tutorials-4.3.9/basic/src/test/java/org/hibernate/tutorial/hbm/Event.hbm.xml b/src/it/tutorials-4.3.9/basic/src/test/java/org/hibernate/tutorial/hbm/Event.hbm.xml new file mode 100644 index 00000000..2b3de75e --- /dev/null +++ b/src/it/tutorials-4.3.9/basic/src/test/java/org/hibernate/tutorial/hbm/Event.hbm.xml @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + diff --git a/src/it/tutorials-4.3.9/basic/src/test/java/org/hibernate/tutorial/hbm/Event.java b/src/it/tutorials-4.3.9/basic/src/test/java/org/hibernate/tutorial/hbm/Event.java new file mode 100644 index 00000000..ae4c2dfd --- /dev/null +++ b/src/it/tutorials-4.3.9/basic/src/test/java/org/hibernate/tutorial/hbm/Event.java @@ -0,0 +1,67 @@ +/* + * 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.hbm; + +import java.util.Date; + +public class Event { + private Long id; + + private String title; + private Date date; + + public Event() { + // this form used by Hibernate + } + + public Event(String title, Date date) { + // for application use, to create new events + this.title = title; + this.date = date; + } + + public Long getId() { + return id; + } + + private void setId(Long id) { + this.id = id; + } + + public Date getDate() { + return date; + } + + public void setDate(Date date) { + this.date = date; + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } +} \ No newline at end of file diff --git a/src/it/tutorials-4.3.9/basic/src/test/java/org/hibernate/tutorial/hbm/NativeApiIllustrationTest.java b/src/it/tutorials-4.3.9/basic/src/test/java/org/hibernate/tutorial/hbm/NativeApiIllustrationTest.java new file mode 100644 index 00000000..c714f706 --- /dev/null +++ b/src/it/tutorials-4.3.9/basic/src/test/java/org/hibernate/tutorial/hbm/NativeApiIllustrationTest.java @@ -0,0 +1,77 @@ +/* + * 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.hbm; + +import java.util.Date; +import java.util.List; + +import junit.framework.TestCase; + +import org.hibernate.Session; +import org.hibernate.SessionFactory; +import org.hibernate.cfg.Configuration; + +/** + * Illustrates use of Hibernate native APIs. + * + * @author Steve Ebersole + */ +public class NativeApiIllustrationTest extends TestCase { + private SessionFactory sessionFactory; + + @Override + protected void setUp() throws Exception { + // A SessionFactory is set up once for an application + sessionFactory = new Configuration() + .configure() // configures settings from hibernate.cfg.xml + .buildSessionFactory(); + } + + @Override + protected void tearDown() throws Exception { + if ( sessionFactory != null ) { + sessionFactory.close(); + } + } + + public void testBasicUsage() { + // create a couple of events... + Session session = sessionFactory.openSession(); + session.beginTransaction(); + session.save( new Event( "Our very first event!", new Date() ) ); + session.save( new Event( "A follow up event", new Date() ) ); + session.getTransaction().commit(); + session.close(); + + // now lets pull events from the database and list them + session = sessionFactory.openSession(); + session.beginTransaction(); + List result = session.createQuery( "from Event" ).list(); + for ( Event event : (List) result ) { + System.out.println( "Event (" + event.getDate() + ") : " + event.getTitle() ); + } + session.getTransaction().commit(); + session.close(); + } +} diff --git a/src/it/tutorials-4.3.9/basic/src/test/resources/hibernate.cfg.xml b/src/it/tutorials-4.3.9/basic/src/test/resources/hibernate.cfg.xml new file mode 100644 index 00000000..8144f2d2 --- /dev/null +++ b/src/it/tutorials-4.3.9/basic/src/test/resources/hibernate.cfg.xml @@ -0,0 +1,58 @@ + + + + + + + + + + org.h2.Driver + jdbc:h2:${project.build.directory}/db/test;MVCC=TRUE + sa + + + + 1 + + + org.hibernate.dialect.H2Dialect + + + org.hibernate.cache.internal.NoCacheProvider + + + true + + + create + + + + + + \ No newline at end of file diff --git a/src/it/tutorials-4.3.9/entitymanager/pom.xml b/src/it/tutorials-4.3.9/entitymanager/pom.xml new file mode 100644 index 00000000..9d740a5e --- /dev/null +++ b/src/it/tutorials-4.3.9/entitymanager/pom.xml @@ -0,0 +1,77 @@ + + + + + 4.0.0 + + + org.hibernate.tutorials + hibernate-tutorials + 4.3.9.Final + ../pom.xml + + + hibernate-tutorial-entitymanager + Hibernate JPA Tutorial + Hibernate tutorial illustrating the use of JPA APIs and annotations for mapping metadata + + + + true + @project.version@ + + + + + org.hibernate + hibernate-entitymanager + 4.3.9.Final + + + + + + + de.juplo + hibernate-maven-plugin + ${h4mp.version} + + + process-test-classes + + create + + + + + true + org.hibernate.dialect.H2Dialect + true + + + + + + diff --git a/src/it/tutorials-4.3.9/entitymanager/src/test/java/org/hibernate/tutorial/em/EntityManagerIllustrationTest.java b/src/it/tutorials-4.3.9/entitymanager/src/test/java/org/hibernate/tutorial/em/EntityManagerIllustrationTest.java new file mode 100644 index 00000000..feebd89a --- /dev/null +++ b/src/it/tutorials-4.3.9/entitymanager/src/test/java/org/hibernate/tutorial/em/EntityManagerIllustrationTest.java @@ -0,0 +1,73 @@ +/* + * 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.em; + +import java.util.Date; +import java.util.List; +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.Persistence; + +import junit.framework.TestCase; + +/** + * Illustrates basic use of Hibernate as a JPA provider. + * + * @author Steve Ebersole + */ +public class EntityManagerIllustrationTest 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.jpa" ); + } + + @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(); + } +} diff --git a/src/it/tutorials-4.3.9/entitymanager/src/test/java/org/hibernate/tutorial/em/Event.java b/src/it/tutorials-4.3.9/entitymanager/src/test/java/org/hibernate/tutorial/em/Event.java new file mode 100644 index 00000000..90fe4144 --- /dev/null +++ b/src/it/tutorials-4.3.9/entitymanager/src/test/java/org/hibernate/tutorial/em/Event.java @@ -0,0 +1,83 @@ +/* + * 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.em; + +import java.util.Date; +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.Id; +import javax.persistence.Table; +import javax.persistence.Temporal; +import javax.persistence.TemporalType; + +import org.hibernate.annotations.GenericGenerator; + +@Entity +@Table( name = "EVENTS" ) +public class Event { + private Long id; + + private String title; + private Date date; + + public Event() { + // this form used by Hibernate + } + + public Event(String title, Date date) { + // for application use, to create new events + this.title = title; + this.date = date; + } + + @Id + @GeneratedValue(generator="increment") + @GenericGenerator(name="increment", strategy = "increment") + public Long getId() { + return id; + } + + private void setId(Long id) { + this.id = id; + } + + @Temporal(TemporalType.TIMESTAMP) + @Column(name = "EVENT_DATE") + public Date getDate() { + return date; + } + + public void setDate(Date date) { + this.date = date; + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } +} \ No newline at end of file diff --git a/src/it/tutorials-4.3.9/entitymanager/src/test/resources/META-INF/persistence.xml b/src/it/tutorials-4.3.9/entitymanager/src/test/resources/META-INF/persistence.xml new file mode 100644 index 00000000..ac112251 --- /dev/null +++ b/src/it/tutorials-4.3.9/entitymanager/src/test/resources/META-INF/persistence.xml @@ -0,0 +1,48 @@ + + + + + + Persistence unit for the JPA tutorial of the Hibernate Getting Started Guide + + + org.hibernate.tutorial.em.Event + + + + + + + + + + + + + + diff --git a/src/it/tutorials-4.3.9/envers/pom.xml b/src/it/tutorials-4.3.9/envers/pom.xml new file mode 100644 index 00000000..f5d87692 --- /dev/null +++ b/src/it/tutorials-4.3.9/envers/pom.xml @@ -0,0 +1,82 @@ + + + + + 4.0.0 + + + org.hibernate.tutorials + hibernate-tutorials + 4.3.9.Final + ../pom.xml + + + hibernate-tutorial-envers + Hibernate Envers Tutorial + Hibernate tutorial illustrating basic set up and use of Envers + + + + true + @project.version@ + + + + + org.hibernate + hibernate-envers + 4.3.9.Final + + + org.hibernate + hibernate-entitymanager + 4.3.9.Final + + + + + + + de.juplo + hibernate-maven-plugin + ${h4mp.version} + + + process-test-classes + + create + + + + + true + org.hibernate.dialect.H2Dialect + true + + + + + + diff --git a/src/it/tutorials-4.3.9/envers/src/test/java/org/hibernate/tutorial/envers/EnversIllustrationTest.java b/src/it/tutorials-4.3.9/envers/src/test/java/org/hibernate/tutorial/envers/EnversIllustrationTest.java new file mode 100644 index 00000000..5e29faa6 --- /dev/null +++ b/src/it/tutorials-4.3.9/envers/src/test/java/org/hibernate/tutorial/envers/EnversIllustrationTest.java @@ -0,0 +1,105 @@ +/* + * 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(); + } +} diff --git a/src/it/tutorials-4.3.9/envers/src/test/java/org/hibernate/tutorial/envers/Event.java b/src/it/tutorials-4.3.9/envers/src/test/java/org/hibernate/tutorial/envers/Event.java new file mode 100644 index 00000000..64741a61 --- /dev/null +++ b/src/it/tutorials-4.3.9/envers/src/test/java/org/hibernate/tutorial/envers/Event.java @@ -0,0 +1,92 @@ +/* + * 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 javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.Id; +import javax.persistence.Table; +import javax.persistence.Temporal; +import javax.persistence.TemporalType; + +import org.hibernate.annotations.GenericGenerator; +import org.hibernate.envers.Audited; + +@Entity +@Table( name = "EVENTS" ) +@Audited // <--- this tell Envers to audit (track changes to) this entity +public class Event { + private Long id; + + private String title; + private Date date; + + public Event() { + // this form used by Hibernate + } + + public Event(String title, Date date) { + // for application use, to create new events + this.title = title; + this.date = date; + } + + @Id + @GeneratedValue(generator="increment") + @GenericGenerator(name="increment", strategy = "increment") + public Long getId() { + return id; + } + + private void setId(Long id) { + this.id = id; + } + + @Temporal(TemporalType.TIMESTAMP) + @Column(name = "EVENT_DATE") + public Date getDate() { + return date; + } + + public void setDate(Date date) { + this.date = date; + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + @Override + public int hashCode() { + int result = title.hashCode(); + result = 31 * result + date.hashCode(); + return result; + } +} \ No newline at end of file diff --git a/src/it/tutorials-4.3.9/envers/src/test/resources/META-INF/persistence.xml b/src/it/tutorials-4.3.9/envers/src/test/resources/META-INF/persistence.xml new file mode 100644 index 00000000..fae72760 --- /dev/null +++ b/src/it/tutorials-4.3.9/envers/src/test/resources/META-INF/persistence.xml @@ -0,0 +1,48 @@ + + + + + + Persistence unit for the Envers tutorial of the Hibernate Getting Started Guide + + + org.hibernate.tutorial.envers.Event + + + + + + + + + + + + + + diff --git a/src/it/tutorials-4.3.9/osgi/managed-jpa/features.xml b/src/it/tutorials-4.3.9/osgi/managed-jpa/features.xml new file mode 100755 index 00000000..875daa5a --- /dev/null +++ b/src/it/tutorials-4.3.9/osgi/managed-jpa/features.xml @@ -0,0 +1,75 @@ + + + + + karaf-framework + + + + aries.transaction.recoverable = true + aries.transaction.timeout = 600 + aries.transaction.howl.logFileDir = /tmp/karaf/txlog + aries.transaction.howl.maxLogFiles = 2 + aries.transaction.howl.maxBlocksPerFile = 512 + aries.transaction.howl.bufferSizeKBytes = 4 + + mvn:org.apache.geronimo.specs/geronimo-jta_1.1_spec/1.1.1 + mvn:org.apache.aries.transaction/org.apache.aries.transaction.blueprint/1.0.0 + mvn:org.apache.aries.transaction/org.apache.aries.transaction.manager/1.0.1 + + + mvn:org.hibernate.javax.persistence/hibernate-jpa-2.1-api/1.0.0.Final + + mvn:org.apache.aries/org.apache.aries.util/1.1.1-SNAPSHOT + mvn:org.apache.aries.jpa/org.apache.aries.jpa.api/1.0.1-SNAPSHOT + mvn:org.apache.aries.jpa/org.apache.aries.jpa.blueprint.aries/1.0.2-SNAPSHOT + mvn:org.apache.aries.jpa/org.apache.aries.jpa.container/1.0.1-SNAPSHOT + mvn:org.apache.aries.jpa/org.apache.aries.jpa.container.context/1.0.2-SNAPSHOT + + + mvn:org.apache.aries/org.apache.aries.util/1.0.0 + mvn:org.apache.aries.jndi/org.apache.aries.jndi.api/1.0.0 + mvn:org.apache.aries.jndi/org.apache.aries.jndi.core/1.0.0 + mvn:org.apache.aries.jndi/org.apache.aries.jndi.rmi/1.0.0 + mvn:org.apache.aries.jndi/org.apache.aries.jndi.url/1.0.0 + mvn:org.apache.aries.jndi/org.apache.aries.jndi.legacy.support/1.0.0 + + + mvn:commons-collections/commons-collections/3.2.1 + mvn:commons-pool/commons-pool/1.5.4 + mvn:commons-dbcp/commons-dbcp/1.4 + mvn:commons-lang/commons-lang/2.6 + wrap:mvn:net.sourceforge.serp/serp/1.13.1 + + mvn:com.h2database/h2/1.3.170 + blueprint:file:/[PATH]/datasource-h2.xml + + + mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.antlr/2.7.7_5 + mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.dom4j/1.6.1_5 + + + wrap:mvn:org.jboss/jandex/1.1.0.Alpha1 + + mvn:com.fasterxml/classmate/0.8.0 + mvn:org.jboss.logging/jboss-logging/3.1.0.GA + mvn:org.javassist/javassist/3.18.1-GA + + mvn:org.hibernate.common/hibernate-commons-annotations/4.0.3.Final + + mvn:org.hibernate/hibernate-core/4.3.0-SNAPSHOT + mvn:org.hibernate/hibernate-entitymanager/4.3.0-SNAPSHOT + + + mvn:org.hibernate.osgi/managed-jpa/1.0.0 + + mvn:org.hibernate/hibernate-osgi/4.3.0-SNAPSHOT + + diff --git a/src/it/tutorials-4.3.9/osgi/managed-jpa/pom.xml b/src/it/tutorials-4.3.9/osgi/managed-jpa/pom.xml new file mode 100644 index 00000000..8c9fa47e --- /dev/null +++ b/src/it/tutorials-4.3.9/osgi/managed-jpa/pom.xml @@ -0,0 +1,90 @@ + + 4.0.0 + org.hibernate.osgi + managed-jpa + 1.0.0 + bundle + + + @project.version@ + + + + + org.hibernate.javax.persistence + hibernate-jpa-2.1-api + 1.0.0.Final + + + org.osgi + org.osgi.core + 4.3.1 + + + org.osgi + org.osgi.enterprise + 4.2.0 + + + org.apache.karaf.shell + org.apache.karaf.shell.console + 2.3.0 + + + com.h2database + h2 + 1.4.187 + + + + + + + org.apache.felix + maven-bundle-plugin + true + + + org.hibernate.osgi.managed-jpa + managed-jpa + 1.0.0 + + org.hibernate.osgitest, + org.hibernate.osgitest.entity + + + org.apache.felix.service.command, + org.apache.felix.gogo.commands, + org.apache.karaf.shell.console, + org.apache.karaf.shell.commands, + javax.persistence;version="[1.0.0,2.1.0]", + + org.hibernate.proxy, + javassist.util.proxy, + * + + META-INF/persistence.xml + + + + + de.juplo + hibernate-maven-plugin + ${h4mp.version} + + + + create + + + + + jdbc:h2:mem:db_managed_jpa;MVCC=TRUE + true + false + + + + + diff --git a/src/it/tutorials-4.3.9/osgi/managed-jpa/src/main/java/org/hibernate/osgitest/DataPointService.java b/src/it/tutorials-4.3.9/osgi/managed-jpa/src/main/java/org/hibernate/osgitest/DataPointService.java new file mode 100644 index 00000000..bdeaace1 --- /dev/null +++ b/src/it/tutorials-4.3.9/osgi/managed-jpa/src/main/java/org/hibernate/osgitest/DataPointService.java @@ -0,0 +1,37 @@ +/* + * Hibernate, Relational Persistence for Idiomatic Java + * + * JBoss, Home of Professional Open Source + * Copyright 2013 Red Hat Inc. and/or its affiliates and other contributors + * as indicated by the @authors tag. All rights reserved. + * See the copyright.txt in the distribution for a + * full listing of individual contributors. + * + * 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, v. 2.1. + * This program is distributed in the hope that it will be useful, but WITHOUT A + * 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, + * v.2.1 along with this distribution; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301, USA. + */ +package org.hibernate.osgitest; + +import java.util.List; + +import org.hibernate.osgitest.entity.DataPoint; + +/** + * @author Brett Meyer + */ +public interface DataPointService { + + public void add(DataPoint dp); + + public List getAll(); + + public void deleteAll(); +} diff --git a/src/it/tutorials-4.3.9/osgi/managed-jpa/src/main/java/org/hibernate/osgitest/DataPointServiceImpl.java b/src/it/tutorials-4.3.9/osgi/managed-jpa/src/main/java/org/hibernate/osgitest/DataPointServiceImpl.java new file mode 100644 index 00000000..f3248896 --- /dev/null +++ b/src/it/tutorials-4.3.9/osgi/managed-jpa/src/main/java/org/hibernate/osgitest/DataPointServiceImpl.java @@ -0,0 +1,58 @@ +/* + * Hibernate, Relational Persistence for Idiomatic Java + * + * JBoss, Home of Professional Open Source + * Copyright 2013 Red Hat Inc. and/or its affiliates and other contributors + * as indicated by the @authors tag. All rights reserved. + * See the copyright.txt in the distribution for a + * full listing of individual contributors. + * + * 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, v. 2.1. + * This program is distributed in the hope that it will be useful, but WITHOUT A + * 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, + * v.2.1 along with this distribution; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301, USA. + */ +package org.hibernate.osgitest; + +import java.util.List; + +import javax.persistence.EntityManager; + +import org.hibernate.osgitest.entity.DataPoint; + +/** + * @author Brett Meyer + */ +public class DataPointServiceImpl implements DataPointService { + + private EntityManager entityManager; + + public void add(DataPoint dp) { + entityManager.persist( dp ); + entityManager.flush(); + } + + public List getAll() { + return entityManager.createQuery( "select d from DataPoint d", DataPoint.class ).getResultList(); + } + + public void deleteAll() { + entityManager.createQuery( "delete from DataPoint" ).executeUpdate(); + entityManager.flush(); + } + + public EntityManager getEntityManager() { + return entityManager; + } + + public void setEntityManager(EntityManager entityManager) { + this.entityManager = entityManager; + } + +} diff --git a/src/it/tutorials-4.3.9/osgi/managed-jpa/src/main/java/org/hibernate/osgitest/command/AddCommand.java b/src/it/tutorials-4.3.9/osgi/managed-jpa/src/main/java/org/hibernate/osgitest/command/AddCommand.java new file mode 100644 index 00000000..9e9844c3 --- /dev/null +++ b/src/it/tutorials-4.3.9/osgi/managed-jpa/src/main/java/org/hibernate/osgitest/command/AddCommand.java @@ -0,0 +1,44 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.hibernate.osgitest.command; + +import org.apache.felix.gogo.commands.Action; +import org.apache.felix.gogo.commands.Argument; +import org.apache.felix.gogo.commands.Command; +import org.apache.felix.service.command.CommandSession; +import org.hibernate.osgitest.DataPointService; +import org.hibernate.osgitest.entity.DataPoint; + +@Command(scope = "dp", name = "add") +public class AddCommand implements Action { + @Argument(index=0, name="Name", required=true, description="Name", multiValued=false) + String name; + + private DataPointService dpService; + + public void setDpService(DataPointService dpService) { + this.dpService = dpService; + } + + public Object execute(CommandSession session) throws Exception { + DataPoint dp = new DataPoint(); + dp.setName( name ); + dpService.add( dp ); + return null; + } + +} diff --git a/src/it/tutorials-4.3.9/osgi/managed-jpa/src/main/java/org/hibernate/osgitest/command/DeleteAllCommand.java b/src/it/tutorials-4.3.9/osgi/managed-jpa/src/main/java/org/hibernate/osgitest/command/DeleteAllCommand.java new file mode 100644 index 00000000..d6c4ccf6 --- /dev/null +++ b/src/it/tutorials-4.3.9/osgi/managed-jpa/src/main/java/org/hibernate/osgitest/command/DeleteAllCommand.java @@ -0,0 +1,37 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.hibernate.osgitest.command; + +import org.apache.felix.gogo.commands.Action; +import org.apache.felix.gogo.commands.Command; +import org.apache.felix.service.command.CommandSession; +import org.hibernate.osgitest.DataPointService; + +@Command(scope = "dp", name = "deleteAll") +public class DeleteAllCommand implements Action { +private DataPointService dpService; + + public void setDpService(DataPointService dpService) { + this.dpService = dpService; + } + + public Object execute(CommandSession session) throws Exception { + dpService.deleteAll(); + return null; + } + +} diff --git a/src/it/tutorials-4.3.9/osgi/managed-jpa/src/main/java/org/hibernate/osgitest/command/GetAllCommand.java b/src/it/tutorials-4.3.9/osgi/managed-jpa/src/main/java/org/hibernate/osgitest/command/GetAllCommand.java new file mode 100644 index 00000000..ebdac60e --- /dev/null +++ b/src/it/tutorials-4.3.9/osgi/managed-jpa/src/main/java/org/hibernate/osgitest/command/GetAllCommand.java @@ -0,0 +1,43 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.hibernate.osgitest.command; + +import java.util.List; + +import org.apache.felix.gogo.commands.Action; +import org.apache.felix.gogo.commands.Command; +import org.apache.felix.service.command.CommandSession; +import org.hibernate.osgitest.DataPointService; +import org.hibernate.osgitest.entity.DataPoint; + +@Command(scope = "dp", name = "getAll") +public class GetAllCommand implements Action { + private DataPointService dpService; + + public void setDpService(DataPointService dpService) { + this.dpService = dpService; + } + + public Object execute(CommandSession session) throws Exception { + List dps = dpService.getAll(); + for (DataPoint dp : dps) { + System.out.println(dp.getId() + ", " + dp.getName()); + } + return null; + } + +} diff --git a/src/it/tutorials-4.3.9/osgi/managed-jpa/src/main/java/org/hibernate/osgitest/entity/DataPoint.java b/src/it/tutorials-4.3.9/osgi/managed-jpa/src/main/java/org/hibernate/osgitest/entity/DataPoint.java new file mode 100644 index 00000000..2a566d88 --- /dev/null +++ b/src/it/tutorials-4.3.9/osgi/managed-jpa/src/main/java/org/hibernate/osgitest/entity/DataPoint.java @@ -0,0 +1,53 @@ +/* + * Hibernate, Relational Persistence for Idiomatic Java + * + * JBoss, Home of Professional Open Source + * Copyright 2013 Red Hat Inc. and/or its affiliates and other contributors + * as indicated by the @authors tag. All rights reserved. + * See the copyright.txt in the distribution for a + * full listing of individual contributors. + * + * 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, v. 2.1. + * This program is distributed in the hope that it will be useful, but WITHOUT A + * 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, + * v.2.1 along with this distribution; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301, USA. + */ +package org.hibernate.osgitest.entity; + +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.Id; + +/** + * @author Brett Meyer + */ +@Entity +public class DataPoint { + @Id + @GeneratedValue + private long id; + + private String name; + + public long getId() { + return id; + } + + public void setId(long id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } +} diff --git a/src/it/tutorials-4.3.9/osgi/managed-jpa/src/main/resources/META-INF/persistence.xml b/src/it/tutorials-4.3.9/osgi/managed-jpa/src/main/resources/META-INF/persistence.xml new file mode 100644 index 00000000..5db3a423 --- /dev/null +++ b/src/it/tutorials-4.3.9/osgi/managed-jpa/src/main/resources/META-INF/persistence.xml @@ -0,0 +1,15 @@ + + + + osgi:service/javax.sql.DataSource/(osgi.jndi.service.name=jdbc/h2ds) + + + + + + + + + \ No newline at end of file diff --git a/src/it/tutorials-4.3.9/osgi/managed-jpa/src/main/resources/OSGI-INF/blueprint/blueprint.xml b/src/it/tutorials-4.3.9/osgi/managed-jpa/src/main/resources/OSGI-INF/blueprint/blueprint.xml new file mode 100644 index 00000000..529a4e17 --- /dev/null +++ b/src/it/tutorials-4.3.9/osgi/managed-jpa/src/main/resources/OSGI-INF/blueprint/blueprint.xml @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/it/tutorials-4.3.9/osgi/unmanaged-jpa/features.xml b/src/it/tutorials-4.3.9/osgi/unmanaged-jpa/features.xml new file mode 100644 index 00000000..7c60a47a --- /dev/null +++ b/src/it/tutorials-4.3.9/osgi/unmanaged-jpa/features.xml @@ -0,0 +1,41 @@ + + + + + karaf-framework + + + mvn:org.apache.geronimo.specs/geronimo-jta_1.1_spec/1.1.1 + + + mvn:org.hibernate.javax.persistence/hibernate-jpa-2.1-api/1.0.0.Final + + + mvn:commons-collections/commons-collections/3.2.1 + mvn:commons-pool/commons-pool/1.5.4 + mvn:commons-dbcp/commons-dbcp/1.4 + mvn:commons-lang/commons-lang/2.6 + wrap:mvn:net.sourceforge.serp/serp/1.13.1 + + mvn:com.h2database/h2/1.3.170 + + + mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.antlr/2.7.7_5 + mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.dom4j/1.6.1_5 + + + wrap:mvn:org.jboss/jandex/1.1.0.Alpha1 + + mvn:com.fasterxml/classmate/0.8.0 + mvn:org.jboss.logging/jboss-logging/3.1.0.GA + mvn:org.javassist/javassist/3.18.1-GA + + mvn:org.hibernate.common/hibernate-commons-annotations/4.0.3.Final + + mvn:org.hibernate/hibernate-core/4.3.0-SNAPSHOT + mvn:org.hibernate/hibernate-entitymanager/4.3.0-SNAPSHOT + mvn:org.hibernate/hibernate-osgi/4.3.0-SNAPSHOT + + mvn:org.hibernate.osgi/unmanaged-jpa/1.0.0 + + diff --git a/src/it/tutorials-4.3.9/osgi/unmanaged-jpa/pom.xml b/src/it/tutorials-4.3.9/osgi/unmanaged-jpa/pom.xml new file mode 100644 index 00000000..c4c7cd0b --- /dev/null +++ b/src/it/tutorials-4.3.9/osgi/unmanaged-jpa/pom.xml @@ -0,0 +1,94 @@ + + 4.0.0 + org.hibernate.osgi + unmanaged-jpa + 1.0.0 + bundle + + + @project.version@ + + + + + org.hibernate.javax.persistence + hibernate-jpa-2.1-api + 1.0.0.Final + + + org.osgi + org.osgi.core + 4.3.1 + + + org.osgi + org.osgi.enterprise + 4.2.0 + + + org.apache.karaf.shell + org.apache.karaf.shell.console + 2.3.0 + + + org.hibernate + hibernate-entitymanager + 4.3.9.Final + + + com.h2database + h2 + 1.4.187 + + + + + + + + org.apache.felix + maven-bundle-plugin + true + + + org.hibernate.osgi.unmanaged-jpa + unmanaged-jpa + 1.0.0 + + org.hibernate.osgitest, + org.hibernate.osgitest.entity + + + org.apache.felix.service.command, + org.apache.felix.gogo.commands, + org.apache.karaf.shell.console, + org.apache.karaf.shell.commands, + org.h2, + javax.persistence;version="[1.0.0,2.1.0]", + + org.hibernate.proxy, + javassist.util.proxy, + * + + + + + + de.juplo + hibernate-maven-plugin + ${h4mp.version} + + true + + + + + create + + + + + + + diff --git a/src/it/tutorials-4.3.9/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/DataPointService.java b/src/it/tutorials-4.3.9/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/DataPointService.java new file mode 100644 index 00000000..de8c960c --- /dev/null +++ b/src/it/tutorials-4.3.9/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/DataPointService.java @@ -0,0 +1,41 @@ +/* + * Hibernate, Relational Persistence for Idiomatic Java + * + * JBoss, Home of Professional Open Source + * Copyright 2013 Red Hat Inc. and/or its affiliates and other contributors + * as indicated by the @authors tag. All rights reserved. + * See the copyright.txt in the distribution for a + * full listing of individual contributors. + * + * 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, v. 2.1. + * This program is distributed in the hope that it will be useful, but WITHOUT A + * 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, + * v.2.1 along with this distribution; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301, USA. + */ +package org.hibernate.osgitest; + +import java.util.List; + +import org.hibernate.osgitest.entity.DataPoint; + +/** + * @author Brett Meyer + */ +public interface DataPointService { + + public void add(DataPoint dp); + + public void update(DataPoint dp); + + public DataPoint get(long id); + + public List getAll(); + + public void deleteAll(); +} diff --git a/src/it/tutorials-4.3.9/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/DataPointServiceImpl.java b/src/it/tutorials-4.3.9/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/DataPointServiceImpl.java new file mode 100644 index 00000000..dba3609e --- /dev/null +++ b/src/it/tutorials-4.3.9/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/DataPointServiceImpl.java @@ -0,0 +1,78 @@ +/* + * Hibernate, Relational Persistence for Idiomatic Java + * + * JBoss, Home of Professional Open Source + * Copyright 2013 Red Hat Inc. and/or its affiliates and other contributors + * as indicated by the @authors tag. All rights reserved. + * See the copyright.txt in the distribution for a + * full listing of individual contributors. + * + * 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, v. 2.1. + * This program is distributed in the hope that it will be useful, but WITHOUT A + * 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, + * v.2.1 along with this distribution; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301, USA. + */ +package org.hibernate.osgitest; + +import java.util.List; + +import javax.persistence.EntityManager; + +import org.hibernate.osgitest.entity.DataPoint; + +/** + * @author Brett Meyer + */ +public class DataPointServiceImpl implements DataPointService { + + private HibernateUtil hibernateUtil = new HibernateUtil(); + + public void add(DataPoint dp) { + EntityManager em = hibernateUtil.getEntityManager(); + em.getTransaction().begin(); + em.persist( dp ); + em.getTransaction().commit(); + em.close(); + } + + public void update(DataPoint dp) { + EntityManager em = hibernateUtil.getEntityManager(); + em.getTransaction().begin(); + em.merge( dp ); + em.getTransaction().commit(); + em.close(); + } + + public DataPoint get(long id) { + EntityManager em = hibernateUtil.getEntityManager(); + em.getTransaction().begin(); + DataPoint dp = (DataPoint) em.createQuery( "from DataPoint dp where dp.id=" + id ).getSingleResult(); + em.getTransaction().commit(); + em.close(); + return dp; + } + + public List getAll() { + EntityManager em = hibernateUtil.getEntityManager(); + em.getTransaction().begin(); + List list = em.createQuery( "from DataPoint" ).getResultList(); + em.getTransaction().commit(); + em.close(); + return list; + } + + public void deleteAll() { + EntityManager em = hibernateUtil.getEntityManager(); + em.getTransaction().begin(); + em.createQuery( "delete from DataPoint" ).executeUpdate(); + em.getTransaction().commit(); + em.close(); + } + +} diff --git a/src/it/tutorials-4.3.9/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/HibernateUtil.java b/src/it/tutorials-4.3.9/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/HibernateUtil.java new file mode 100644 index 00000000..0927f15f --- /dev/null +++ b/src/it/tutorials-4.3.9/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/HibernateUtil.java @@ -0,0 +1,57 @@ +/* + * Hibernate, Relational Persistence for Idiomatic Java + * + * JBoss, Home of Professional Open Source + * Copyright 2013 Red Hat Inc. and/or its affiliates and other contributors + * as indicated by the @authors tag. All rights reserved. + * See the copyright.txt in the distribution for a + * full listing of individual contributors. + * + * 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, v. 2.1. + * This program is distributed in the hope that it will be useful, but WITHOUT A + * 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, + * v.2.1 along with this distribution; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301, USA. + */ +package org.hibernate.osgitest; + +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.spi.PersistenceProvider; + +import org.osgi.framework.Bundle; +import org.osgi.framework.BundleContext; +import org.osgi.framework.FrameworkUtil; +import org.osgi.framework.ServiceReference; + +/** + * @author Brett Meyer + */ + +public class HibernateUtil { + + private EntityManagerFactory emf; + + public EntityManager getEntityManager() { + return getEntityManagerFactory().createEntityManager(); + } + + private EntityManagerFactory getEntityManagerFactory() { + if ( emf == null ) { + Bundle thisBundle = FrameworkUtil.getBundle( HibernateUtil.class ); + // Could get this by wiring up OsgiTestBundleActivator as well. + BundleContext context = thisBundle.getBundleContext(); + + ServiceReference serviceReference = context.getServiceReference( PersistenceProvider.class.getName() ); + PersistenceProvider persistenceProvider = (PersistenceProvider) context.getService( serviceReference ); + + emf = persistenceProvider.createEntityManagerFactory( "unmanaged-jpa", null ); + } + return emf; + } +} diff --git a/src/it/tutorials-4.3.9/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/TestIntegrator.java b/src/it/tutorials-4.3.9/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/TestIntegrator.java new file mode 100644 index 00000000..8ba8f6a8 --- /dev/null +++ b/src/it/tutorials-4.3.9/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/TestIntegrator.java @@ -0,0 +1,47 @@ +/* + * Hibernate, Relational Persistence for Idiomatic Java + * + * JBoss, Home of Professional Open Source + * Copyright 2013 Red Hat Inc. and/or its affiliates and other contributors + * as indicated by the @authors tag. All rights reserved. + * See the copyright.txt in the distribution for a + * full listing of individual contributors. + * + * 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, v. 2.1. + * This program is distributed in the hope that it will be useful, but WITHOUT A + * 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, + * v.2.1 along with this distribution; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301, USA. + */ +package org.hibernate.osgitest; + +import org.hibernate.cfg.Configuration; +import org.hibernate.engine.spi.SessionFactoryImplementor; +import org.hibernate.integrator.spi.Integrator; +import org.hibernate.metamodel.source.MetadataImplementor; +import org.hibernate.service.spi.SessionFactoryServiceRegistry; + + +/** + * @author Brett Meyer + */ +public class TestIntegrator implements Integrator { + + public void integrate(Configuration configuration, SessionFactoryImplementor sessionFactory, SessionFactoryServiceRegistry serviceRegistry) { + System.out.println("Integrator#integrate"); + } + + public void integrate(MetadataImplementor metadata, SessionFactoryImplementor sessionFactory, SessionFactoryServiceRegistry serviceRegistry) { + System.out.println("Integrator#integrate"); + } + + public void disintegrate(SessionFactoryImplementor sessionFactory, SessionFactoryServiceRegistry serviceRegistry) { + System.out.println("Integrator#disintegrate"); + } + +} diff --git a/src/it/tutorials-4.3.9/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/TestStrategyRegistrationProvider.java b/src/it/tutorials-4.3.9/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/TestStrategyRegistrationProvider.java new file mode 100644 index 00000000..f7ad26f5 --- /dev/null +++ b/src/it/tutorials-4.3.9/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/TestStrategyRegistrationProvider.java @@ -0,0 +1,37 @@ +/* + * Hibernate, Relational Persistence for Idiomatic Java + * + * JBoss, Home of Professional Open Source + * Copyright 2013 Red Hat Inc. and/or its affiliates and other contributors + * as indicated by the @authors tag. All rights reserved. + * See the copyright.txt in the distribution for a + * full listing of individual contributors. + * + * 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, v. 2.1. + * This program is distributed in the hope that it will be useful, but WITHOUT A + * 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, + * v.2.1 along with this distribution; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301, USA. + */ +package org.hibernate.osgitest; + +import java.util.Collections; + +import org.hibernate.boot.registry.selector.StrategyRegistration; +import org.hibernate.boot.registry.selector.StrategyRegistrationProvider; + +/** + * @author Brett Meyer + */ +public class TestStrategyRegistrationProvider implements StrategyRegistrationProvider { + + public Iterable getStrategyRegistrations() { + System.out.println("StrategyRegistrationProvider#getStrategyRegistrations"); + return Collections.EMPTY_LIST; + } +} diff --git a/src/it/tutorials-4.3.9/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/TestTypeContributor.java b/src/it/tutorials-4.3.9/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/TestTypeContributor.java new file mode 100644 index 00000000..cc6494cc --- /dev/null +++ b/src/it/tutorials-4.3.9/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/TestTypeContributor.java @@ -0,0 +1,37 @@ +/* + * Hibernate, Relational Persistence for Idiomatic Java + * + * JBoss, Home of Professional Open Source + * Copyright 2013 Red Hat Inc. and/or its affiliates and other contributors + * as indicated by the @authors tag. All rights reserved. + * See the copyright.txt in the distribution for a + * full listing of individual contributors. + * + * 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, v. 2.1. + * This program is distributed in the hope that it will be useful, but WITHOUT A + * 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, + * v.2.1 along with this distribution; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301, USA. + */ +package org.hibernate.osgitest; + +import org.hibernate.metamodel.spi.TypeContributions; +import org.hibernate.metamodel.spi.TypeContributor; +import org.hibernate.service.ServiceRegistry; + + +/** + * @author Brett Meyer + */ +public class TestTypeContributor implements TypeContributor { + + public void contribute(TypeContributions typeContributions, ServiceRegistry serviceRegistry) { + System.out.println("TypeContributor#contribute"); + } + +} diff --git a/src/it/tutorials-4.3.9/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/command/AddCommand.java b/src/it/tutorials-4.3.9/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/command/AddCommand.java new file mode 100644 index 00000000..c1b906c0 --- /dev/null +++ b/src/it/tutorials-4.3.9/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/command/AddCommand.java @@ -0,0 +1,44 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.hibernate.osgitest.command; + +import org.apache.felix.gogo.commands.Action; +import org.apache.felix.gogo.commands.Argument; +import org.apache.felix.gogo.commands.Command; +import org.apache.felix.service.command.CommandSession; +import org.hibernate.osgitest.DataPointService; +import org.hibernate.osgitest.entity.DataPoint; + +@Command(scope = "dp", name = "addJPA") +public class AddCommand implements Action { + @Argument(index=0, name="Name", required=true, description="Name", multiValued=false) + String name; + + private DataPointService dpService; + + public void setDpService(DataPointService dpService) { + this.dpService = dpService; + } + + public Object execute(CommandSession session) throws Exception { + DataPoint dp = new DataPoint(); + dp.setName( name ); + dpService.add( dp ); + return null; + } + +} diff --git a/src/it/tutorials-4.3.9/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/command/DeleteAllCommand.java b/src/it/tutorials-4.3.9/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/command/DeleteAllCommand.java new file mode 100644 index 00000000..0d404ae1 --- /dev/null +++ b/src/it/tutorials-4.3.9/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/command/DeleteAllCommand.java @@ -0,0 +1,37 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.hibernate.osgitest.command; + +import org.apache.felix.gogo.commands.Action; +import org.apache.felix.gogo.commands.Command; +import org.apache.felix.service.command.CommandSession; +import org.hibernate.osgitest.DataPointService; + +@Command(scope = "dp", name = "deleteAllJPA") +public class DeleteAllCommand implements Action { +private DataPointService dpService; + + public void setDpService(DataPointService dpService) { + this.dpService = dpService; + } + + public Object execute(CommandSession session) throws Exception { + dpService.deleteAll(); + return null; + } + +} diff --git a/src/it/tutorials-4.3.9/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/command/GetAllCommand.java b/src/it/tutorials-4.3.9/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/command/GetAllCommand.java new file mode 100644 index 00000000..6873e463 --- /dev/null +++ b/src/it/tutorials-4.3.9/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/command/GetAllCommand.java @@ -0,0 +1,43 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.hibernate.osgitest.command; + +import java.util.List; + +import org.apache.felix.gogo.commands.Action; +import org.apache.felix.gogo.commands.Command; +import org.apache.felix.service.command.CommandSession; +import org.hibernate.osgitest.DataPointService; +import org.hibernate.osgitest.entity.DataPoint; + +@Command(scope = "dp", name = "getAllJPA") +public class GetAllCommand implements Action { + private DataPointService dpService; + + public void setDpService(DataPointService dpService) { + this.dpService = dpService; + } + + public Object execute(CommandSession session) throws Exception { + List dps = dpService.getAll(); + for (DataPoint dp : dps) { + System.out.println(dp.getId() + ", " + dp.getName()); + } + return null; + } + +} diff --git a/src/it/tutorials-4.3.9/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/command/UpdateCommand.java b/src/it/tutorials-4.3.9/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/command/UpdateCommand.java new file mode 100644 index 00000000..5de8983d --- /dev/null +++ b/src/it/tutorials-4.3.9/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/command/UpdateCommand.java @@ -0,0 +1,47 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.hibernate.osgitest.command; + +import org.apache.felix.gogo.commands.Action; +import org.apache.felix.gogo.commands.Argument; +import org.apache.felix.gogo.commands.Command; +import org.apache.felix.service.command.CommandSession; +import org.hibernate.osgitest.DataPointService; +import org.hibernate.osgitest.entity.DataPoint; + +@Command(scope = "dp", name = "updateJPA") +public class UpdateCommand implements Action { + @Argument(index=0, name="Id", required=true, description="Id", multiValued=false) + String id; + + @Argument(index=1, name="Name", required=true, description="Name", multiValued=false) + String name; + + private DataPointService dpService; + + public void setDpService(DataPointService dpService) { + this.dpService = dpService; + } + + public Object execute(CommandSession session) throws Exception { + DataPoint dp = dpService.get( Long.valueOf( id ) ); + dp.setName( name ); + dpService.update( dp ); + return null; + } + +} diff --git a/src/it/tutorials-4.3.9/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/entity/DataPoint.java b/src/it/tutorials-4.3.9/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/entity/DataPoint.java new file mode 100644 index 00000000..2a566d88 --- /dev/null +++ b/src/it/tutorials-4.3.9/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/entity/DataPoint.java @@ -0,0 +1,53 @@ +/* + * Hibernate, Relational Persistence for Idiomatic Java + * + * JBoss, Home of Professional Open Source + * Copyright 2013 Red Hat Inc. and/or its affiliates and other contributors + * as indicated by the @authors tag. All rights reserved. + * See the copyright.txt in the distribution for a + * full listing of individual contributors. + * + * 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, v. 2.1. + * This program is distributed in the hope that it will be useful, but WITHOUT A + * 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, + * v.2.1 along with this distribution; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301, USA. + */ +package org.hibernate.osgitest.entity; + +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.Id; + +/** + * @author Brett Meyer + */ +@Entity +public class DataPoint { + @Id + @GeneratedValue + private long id; + + private String name; + + public long getId() { + return id; + } + + public void setId(long id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } +} diff --git a/src/it/tutorials-4.3.9/osgi/unmanaged-jpa/src/main/resources/META-INF/persistence.xml b/src/it/tutorials-4.3.9/osgi/unmanaged-jpa/src/main/resources/META-INF/persistence.xml new file mode 100644 index 00000000..0483f5c1 --- /dev/null +++ b/src/it/tutorials-4.3.9/osgi/unmanaged-jpa/src/main/resources/META-INF/persistence.xml @@ -0,0 +1,18 @@ + + + + org.hibernate.osgitest.entity.DataPoint + true + + + + + + + + + + + diff --git a/src/it/tutorials-4.3.9/osgi/unmanaged-jpa/src/main/resources/OSGI-INF/blueprint/blueprint.xml b/src/it/tutorials-4.3.9/osgi/unmanaged-jpa/src/main/resources/OSGI-INF/blueprint/blueprint.xml new file mode 100644 index 00000000..2dedb958 --- /dev/null +++ b/src/it/tutorials-4.3.9/osgi/unmanaged-jpa/src/main/resources/OSGI-INF/blueprint/blueprint.xml @@ -0,0 +1,61 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/it/tutorials-4.3.9/osgi/unmanaged-native/features.xml b/src/it/tutorials-4.3.9/osgi/unmanaged-native/features.xml new file mode 100644 index 00000000..b2e08161 --- /dev/null +++ b/src/it/tutorials-4.3.9/osgi/unmanaged-native/features.xml @@ -0,0 +1,71 @@ + + + + + karaf-framework + + + mvn:org.apache.geronimo.specs/geronimo-jta_1.1_spec/1.1.1 + + + mvn:org.hibernate.javax.persistence/hibernate-jpa-2.1-api/1.0.0.Final + + + mvn:commons-collections/commons-collections/3.2.1 + mvn:commons-pool/commons-pool/1.5.4 + mvn:commons-dbcp/commons-dbcp/1.4 + mvn:commons-lang/commons-lang/2.6 + wrap:mvn:net.sourceforge.serp/serp/1.13.1 + + mvn:com.h2database/h2/1.3.170 + + + mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.antlr/2.7.7_5 + mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.dom4j/1.6.1_5 + + + wrap:mvn:org.jboss/jandex/1.1.0.Alpha1 + + + + + + + + mvn:com.fasterxml/classmate/0.8.0 + mvn:org.jboss.logging/jboss-logging/3.1.0.GA + mvn:org.javassist/javassist/3.18.1-GA + + mvn:org.hibernate.common/hibernate-commons-annotations/4.0.3.Final + + + + + + + + + + + + mvn:org.hibernate/hibernate-core/4.3.0-SNAPSHOT + + mvn:org.hibernate/hibernate-entitymanager/4.3.0-SNAPSHOT + mvn:org.hibernate/hibernate-envers/4.3.0-SNAPSHOT + + + + + mvn:org.hibernate/hibernate-osgi/4.3.0-SNAPSHOT + + mvn:org.hibernate.osgi/unmanaged-native/1.0.0 + + diff --git a/src/it/tutorials-4.3.9/osgi/unmanaged-native/pom.xml b/src/it/tutorials-4.3.9/osgi/unmanaged-native/pom.xml new file mode 100644 index 00000000..f91f11a0 --- /dev/null +++ b/src/it/tutorials-4.3.9/osgi/unmanaged-native/pom.xml @@ -0,0 +1,102 @@ + + 4.0.0 + org.hibernate.osgi + unmanaged-native + 1.0.0 + bundle + + + @project.version@ + + + + + org.hibernate.javax.persistence + hibernate-jpa-2.1-api + 1.0.0.Final + + + org.osgi + org.osgi.core + 4.3.1 + + + org.osgi + org.osgi.enterprise + 4.2.0 + + + org.apache.karaf.shell + org.apache.karaf.shell.console + 2.3.0 + + + org.hibernate + hibernate-core + 4.3.9.Final + + + org.hibernate + hibernate-envers + 4.3.9.Final + + + com.h2database + h2 + 1.4.187 + + + + + + + + org.apache.felix + maven-bundle-plugin + true + + + org.hibernate.osgi.unmanaged-native + unmanaged-native + 1.0.0 + + org.hibernate.osgitest, + org.hibernate.osgitest.entity + + + org.apache.felix.service.command, + org.apache.felix.gogo.commands, + org.apache.karaf.shell.console, + org.apache.karaf.shell.commands, + org.h2, + org.hibernate, + org.hibernate.cfg, + org.hibernate.service, + javax.persistence;version="[1.0.0,2.1.0]", + + org.hibernate.proxy, + javassist.util.proxy, + * + + + + + + de.juplo + hibernate-maven-plugin + ${h4mp.version} + + true + + + + + create + + + + + + + diff --git a/src/it/tutorials-4.3.9/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/DataPointService.java b/src/it/tutorials-4.3.9/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/DataPointService.java new file mode 100644 index 00000000..12fb79a9 --- /dev/null +++ b/src/it/tutorials-4.3.9/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/DataPointService.java @@ -0,0 +1,47 @@ +/* + * Hibernate, Relational Persistence for Idiomatic Java + * + * JBoss, Home of Professional Open Source + * Copyright 2013 Red Hat Inc. and/or its affiliates and other contributors + * as indicated by the @authors tag. All rights reserved. + * See the copyright.txt in the distribution for a + * full listing of individual contributors. + * + * 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, v. 2.1. + * This program is distributed in the hope that it will be useful, but WITHOUT A + * 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, + * v.2.1 along with this distribution; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301, USA. + */ +package org.hibernate.osgitest; + +import java.util.List; +import java.util.Map; + +import org.hibernate.envers.DefaultRevisionEntity; +import org.hibernate.osgitest.entity.DataPoint; + +/** + * @author Brett Meyer + */ +public interface DataPointService { + + public void add(DataPoint dp); + + public void update(DataPoint dp); + + public DataPoint get(long id); + + public DataPoint load(long id); + + public List getAll(); + + public Map getRevisions(long id); + + public void deleteAll(); +} diff --git a/src/it/tutorials-4.3.9/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/DataPointServiceImpl.java b/src/it/tutorials-4.3.9/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/DataPointServiceImpl.java new file mode 100644 index 00000000..721b7404 --- /dev/null +++ b/src/it/tutorials-4.3.9/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/DataPointServiceImpl.java @@ -0,0 +1,104 @@ +/* + * Hibernate, Relational Persistence for Idiomatic Java + * + * JBoss, Home of Professional Open Source + * Copyright 2013 Red Hat Inc. and/or its affiliates and other contributors + * as indicated by the @authors tag. All rights reserved. + * See the copyright.txt in the distribution for a + * full listing of individual contributors. + * + * 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, v. 2.1. + * This program is distributed in the hope that it will be useful, but WITHOUT A + * 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, + * v.2.1 along with this distribution; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301, USA. + */ +package org.hibernate.osgitest; + +import java.util.HashSet; +import java.util.List; +import java.util.Map; + +import org.hibernate.Hibernate; +import org.hibernate.Session; +import org.hibernate.criterion.Restrictions; +import org.hibernate.envers.AuditReader; +import org.hibernate.envers.AuditReaderFactory; +import org.hibernate.envers.DefaultRevisionEntity; +import org.hibernate.osgitest.entity.DataPoint; + +/** + * @author Brett Meyer + */ +public class DataPointServiceImpl implements DataPointService { + + private HibernateUtil hibernateUtil = new HibernateUtil(); + + public void add(DataPoint dp) { + Session s = hibernateUtil.getSession(); + s.getTransaction().begin(); + s.persist( dp ); + s.getTransaction().commit(); + s.close(); + } + + public void update(DataPoint dp) { + Session s = hibernateUtil.getSession(); + s.getTransaction().begin(); + s.update( dp ); + s.getTransaction().commit(); + s.close(); + } + + public DataPoint get(long id) { + Session s = hibernateUtil.getSession(); + s.getTransaction().begin(); + DataPoint dp = (DataPoint) s.createCriteria( DataPoint.class ).add( + Restrictions.eq( "id", id ) ).uniqueResult(); + s.getTransaction().commit(); + s.close(); + return dp; + } + + // Test lazy loading (mainly to make sure the proxy classes work in OSGi) + public DataPoint load(long id) { + Session s = hibernateUtil.getSession(); + s.getTransaction().begin(); + DataPoint dp = (DataPoint) s.load( DataPoint.class, new Long(id) ); + // initialize + dp.getName(); + s.getTransaction().commit(); + s.close(); + return dp; + } + + public List getAll() { + Session s = hibernateUtil.getSession(); + s.getTransaction().begin(); + List list = s.createQuery( "from DataPoint" ).list(); + s.getTransaction().commit(); + s.close(); + return list; + } + + public Map getRevisions(long id) { + Session s = hibernateUtil.getSession(); + AuditReader reader = AuditReaderFactory.get(s); + List revisionNums = reader.getRevisions( DataPoint.class, id ); + return reader.findRevisions( DefaultRevisionEntity.class, new HashSet(revisionNums) ); + } + + public void deleteAll() { + Session s = hibernateUtil.getSession(); + s.getTransaction().begin(); + s.createQuery( "delete from DataPoint" ).executeUpdate(); + s.getTransaction().commit(); + s.close(); + } + +} diff --git a/src/it/tutorials-4.3.9/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/HibernateUtil.java b/src/it/tutorials-4.3.9/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/HibernateUtil.java new file mode 100644 index 00000000..15fb4c7d --- /dev/null +++ b/src/it/tutorials-4.3.9/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/HibernateUtil.java @@ -0,0 +1,53 @@ +/* + * Hibernate, Relational Persistence for Idiomatic Java + * + * JBoss, Home of Professional Open Source + * Copyright 2013 Red Hat Inc. and/or its affiliates and other contributors + * as indicated by the @authors tag. All rights reserved. + * See the copyright.txt in the distribution for a + * full listing of individual contributors. + * + * 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, v. 2.1. + * This program is distributed in the hope that it will be useful, but WITHOUT A + * 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, + * v.2.1 along with this distribution; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301, USA. + */ +package org.hibernate.osgitest; + +import org.hibernate.Session; +import org.hibernate.SessionFactory; +import org.osgi.framework.Bundle; +import org.osgi.framework.BundleContext; +import org.osgi.framework.FrameworkUtil; +import org.osgi.framework.ServiceReference; + +/** + * @author Brett Meyer + */ + +public class HibernateUtil { + + private SessionFactory sf; + + public Session getSession() { + return getSessionFactory().openSession(); + } + + private SessionFactory getSessionFactory() { + if ( sf == null ) { + Bundle thisBundle = FrameworkUtil.getBundle( HibernateUtil.class ); + // Could get this by wiring up OsgiTestBundleActivator as well. + BundleContext context = thisBundle.getBundleContext(); + + ServiceReference sr = context.getServiceReference( SessionFactory.class.getName() ); + sf = (SessionFactory) context.getService( sr ); + } + return sf; + } +} diff --git a/src/it/tutorials-4.3.9/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/TestIntegrator.java b/src/it/tutorials-4.3.9/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/TestIntegrator.java new file mode 100644 index 00000000..8ba8f6a8 --- /dev/null +++ b/src/it/tutorials-4.3.9/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/TestIntegrator.java @@ -0,0 +1,47 @@ +/* + * Hibernate, Relational Persistence for Idiomatic Java + * + * JBoss, Home of Professional Open Source + * Copyright 2013 Red Hat Inc. and/or its affiliates and other contributors + * as indicated by the @authors tag. All rights reserved. + * See the copyright.txt in the distribution for a + * full listing of individual contributors. + * + * 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, v. 2.1. + * This program is distributed in the hope that it will be useful, but WITHOUT A + * 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, + * v.2.1 along with this distribution; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301, USA. + */ +package org.hibernate.osgitest; + +import org.hibernate.cfg.Configuration; +import org.hibernate.engine.spi.SessionFactoryImplementor; +import org.hibernate.integrator.spi.Integrator; +import org.hibernate.metamodel.source.MetadataImplementor; +import org.hibernate.service.spi.SessionFactoryServiceRegistry; + + +/** + * @author Brett Meyer + */ +public class TestIntegrator implements Integrator { + + public void integrate(Configuration configuration, SessionFactoryImplementor sessionFactory, SessionFactoryServiceRegistry serviceRegistry) { + System.out.println("Integrator#integrate"); + } + + public void integrate(MetadataImplementor metadata, SessionFactoryImplementor sessionFactory, SessionFactoryServiceRegistry serviceRegistry) { + System.out.println("Integrator#integrate"); + } + + public void disintegrate(SessionFactoryImplementor sessionFactory, SessionFactoryServiceRegistry serviceRegistry) { + System.out.println("Integrator#disintegrate"); + } + +} diff --git a/src/it/tutorials-4.3.9/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/TestStrategyRegistrationProvider.java b/src/it/tutorials-4.3.9/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/TestStrategyRegistrationProvider.java new file mode 100644 index 00000000..f7ad26f5 --- /dev/null +++ b/src/it/tutorials-4.3.9/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/TestStrategyRegistrationProvider.java @@ -0,0 +1,37 @@ +/* + * Hibernate, Relational Persistence for Idiomatic Java + * + * JBoss, Home of Professional Open Source + * Copyright 2013 Red Hat Inc. and/or its affiliates and other contributors + * as indicated by the @authors tag. All rights reserved. + * See the copyright.txt in the distribution for a + * full listing of individual contributors. + * + * 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, v. 2.1. + * This program is distributed in the hope that it will be useful, but WITHOUT A + * 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, + * v.2.1 along with this distribution; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301, USA. + */ +package org.hibernate.osgitest; + +import java.util.Collections; + +import org.hibernate.boot.registry.selector.StrategyRegistration; +import org.hibernate.boot.registry.selector.StrategyRegistrationProvider; + +/** + * @author Brett Meyer + */ +public class TestStrategyRegistrationProvider implements StrategyRegistrationProvider { + + public Iterable getStrategyRegistrations() { + System.out.println("StrategyRegistrationProvider#getStrategyRegistrations"); + return Collections.EMPTY_LIST; + } +} diff --git a/src/it/tutorials-4.3.9/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/TestTypeContributor.java b/src/it/tutorials-4.3.9/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/TestTypeContributor.java new file mode 100644 index 00000000..cc6494cc --- /dev/null +++ b/src/it/tutorials-4.3.9/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/TestTypeContributor.java @@ -0,0 +1,37 @@ +/* + * Hibernate, Relational Persistence for Idiomatic Java + * + * JBoss, Home of Professional Open Source + * Copyright 2013 Red Hat Inc. and/or its affiliates and other contributors + * as indicated by the @authors tag. All rights reserved. + * See the copyright.txt in the distribution for a + * full listing of individual contributors. + * + * 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, v. 2.1. + * This program is distributed in the hope that it will be useful, but WITHOUT A + * 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, + * v.2.1 along with this distribution; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301, USA. + */ +package org.hibernate.osgitest; + +import org.hibernate.metamodel.spi.TypeContributions; +import org.hibernate.metamodel.spi.TypeContributor; +import org.hibernate.service.ServiceRegistry; + + +/** + * @author Brett Meyer + */ +public class TestTypeContributor implements TypeContributor { + + public void contribute(TypeContributions typeContributions, ServiceRegistry serviceRegistry) { + System.out.println("TypeContributor#contribute"); + } + +} diff --git a/src/it/tutorials-4.3.9/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/command/AddCommand.java b/src/it/tutorials-4.3.9/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/command/AddCommand.java new file mode 100644 index 00000000..9e9844c3 --- /dev/null +++ b/src/it/tutorials-4.3.9/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/command/AddCommand.java @@ -0,0 +1,44 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.hibernate.osgitest.command; + +import org.apache.felix.gogo.commands.Action; +import org.apache.felix.gogo.commands.Argument; +import org.apache.felix.gogo.commands.Command; +import org.apache.felix.service.command.CommandSession; +import org.hibernate.osgitest.DataPointService; +import org.hibernate.osgitest.entity.DataPoint; + +@Command(scope = "dp", name = "add") +public class AddCommand implements Action { + @Argument(index=0, name="Name", required=true, description="Name", multiValued=false) + String name; + + private DataPointService dpService; + + public void setDpService(DataPointService dpService) { + this.dpService = dpService; + } + + public Object execute(CommandSession session) throws Exception { + DataPoint dp = new DataPoint(); + dp.setName( name ); + dpService.add( dp ); + return null; + } + +} diff --git a/src/it/tutorials-4.3.9/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/command/DeleteAllCommand.java b/src/it/tutorials-4.3.9/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/command/DeleteAllCommand.java new file mode 100644 index 00000000..d6c4ccf6 --- /dev/null +++ b/src/it/tutorials-4.3.9/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/command/DeleteAllCommand.java @@ -0,0 +1,37 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.hibernate.osgitest.command; + +import org.apache.felix.gogo.commands.Action; +import org.apache.felix.gogo.commands.Command; +import org.apache.felix.service.command.CommandSession; +import org.hibernate.osgitest.DataPointService; + +@Command(scope = "dp", name = "deleteAll") +public class DeleteAllCommand implements Action { +private DataPointService dpService; + + public void setDpService(DataPointService dpService) { + this.dpService = dpService; + } + + public Object execute(CommandSession session) throws Exception { + dpService.deleteAll(); + return null; + } + +} diff --git a/src/it/tutorials-4.3.9/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/command/GetAllCommand.java b/src/it/tutorials-4.3.9/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/command/GetAllCommand.java new file mode 100644 index 00000000..ebdac60e --- /dev/null +++ b/src/it/tutorials-4.3.9/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/command/GetAllCommand.java @@ -0,0 +1,43 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.hibernate.osgitest.command; + +import java.util.List; + +import org.apache.felix.gogo.commands.Action; +import org.apache.felix.gogo.commands.Command; +import org.apache.felix.service.command.CommandSession; +import org.hibernate.osgitest.DataPointService; +import org.hibernate.osgitest.entity.DataPoint; + +@Command(scope = "dp", name = "getAll") +public class GetAllCommand implements Action { + private DataPointService dpService; + + public void setDpService(DataPointService dpService) { + this.dpService = dpService; + } + + public Object execute(CommandSession session) throws Exception { + List dps = dpService.getAll(); + for (DataPoint dp : dps) { + System.out.println(dp.getId() + ", " + dp.getName()); + } + return null; + } + +} diff --git a/src/it/tutorials-4.3.9/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/command/GetCommand.java b/src/it/tutorials-4.3.9/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/command/GetCommand.java new file mode 100644 index 00000000..0597d709 --- /dev/null +++ b/src/it/tutorials-4.3.9/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/command/GetCommand.java @@ -0,0 +1,43 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.hibernate.osgitest.command; + +import org.apache.felix.gogo.commands.Action; +import org.apache.felix.gogo.commands.Argument; +import org.apache.felix.gogo.commands.Command; +import org.apache.felix.service.command.CommandSession; +import org.hibernate.osgitest.DataPointService; +import org.hibernate.osgitest.entity.DataPoint; + +@Command(scope = "dp", name = "get") +public class GetCommand implements Action { + @Argument(index = 0, name = "Id", required = true, description = "Id", multiValued = false) + String id; + + private DataPointService dpService; + + public void setDpService(DataPointService dpService) { + this.dpService = dpService; + } + + public Object execute(CommandSession session) throws Exception { + DataPoint dp = dpService.get( Long.valueOf( id ) ); + System.out.println( dp.getId() + ", " + dp.getName() ); + return null; + } + +} diff --git a/src/it/tutorials-4.3.9/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/command/GetRevisionsCommand.java b/src/it/tutorials-4.3.9/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/command/GetRevisionsCommand.java new file mode 100644 index 00000000..b4573f62 --- /dev/null +++ b/src/it/tutorials-4.3.9/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/command/GetRevisionsCommand.java @@ -0,0 +1,48 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.hibernate.osgitest.command; + +import java.util.Map; + +import org.apache.felix.gogo.commands.Action; +import org.apache.felix.gogo.commands.Argument; +import org.apache.felix.gogo.commands.Command; +import org.apache.felix.service.command.CommandSession; +import org.hibernate.envers.DefaultRevisionEntity; +import org.hibernate.osgitest.DataPointService; + +@Command(scope = "dp", name = "getRevisions") +public class GetRevisionsCommand implements Action { + @Argument(index=0, name="Id", required=true, description="Id", multiValued=false) + String id; + + private DataPointService dpService; + + public void setDpService(DataPointService dpService) { + this.dpService = dpService; + } + + public Object execute(CommandSession session) throws Exception { + Map revisions = dpService.getRevisions(Long.valueOf( id )); + for (Number revisionNum : revisions.keySet()) { + DefaultRevisionEntity dre = revisions.get( revisionNum ); + System.out.println(revisionNum + ": " + dre.getId() + ", " + dre.getTimestamp()); + } + return null; + } + +} diff --git a/src/it/tutorials-4.3.9/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/command/LoadCommand.java b/src/it/tutorials-4.3.9/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/command/LoadCommand.java new file mode 100644 index 00000000..3451a986 --- /dev/null +++ b/src/it/tutorials-4.3.9/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/command/LoadCommand.java @@ -0,0 +1,43 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.hibernate.osgitest.command; + +import org.apache.felix.gogo.commands.Action; +import org.apache.felix.gogo.commands.Argument; +import org.apache.felix.gogo.commands.Command; +import org.apache.felix.service.command.CommandSession; +import org.hibernate.osgitest.DataPointService; +import org.hibernate.osgitest.entity.DataPoint; + +@Command(scope = "dp", name = "load") +public class LoadCommand implements Action { + @Argument(index = 0, name = "Id", required = true, description = "Id", multiValued = false) + String id; + + private DataPointService dpService; + + public void setDpService(DataPointService dpService) { + this.dpService = dpService; + } + + public Object execute(CommandSession session) throws Exception { + DataPoint dp = dpService.load( Long.valueOf( id ) ); + System.out.println( dp.getId() + ", " + dp.getName() ); + return null; + } + +} diff --git a/src/it/tutorials-4.3.9/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/command/UpdateCommand.java b/src/it/tutorials-4.3.9/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/command/UpdateCommand.java new file mode 100644 index 00000000..f6949674 --- /dev/null +++ b/src/it/tutorials-4.3.9/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/command/UpdateCommand.java @@ -0,0 +1,47 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.hibernate.osgitest.command; + +import org.apache.felix.gogo.commands.Action; +import org.apache.felix.gogo.commands.Argument; +import org.apache.felix.gogo.commands.Command; +import org.apache.felix.service.command.CommandSession; +import org.hibernate.osgitest.DataPointService; +import org.hibernate.osgitest.entity.DataPoint; + +@Command(scope = "dp", name = "update") +public class UpdateCommand implements Action { + @Argument(index=0, name="Id", required=true, description="Id", multiValued=false) + String id; + + @Argument(index=1, name="Name", required=true, description="Name", multiValued=false) + String name; + + private DataPointService dpService; + + public void setDpService(DataPointService dpService) { + this.dpService = dpService; + } + + public Object execute(CommandSession session) throws Exception { + DataPoint dp = dpService.get( Long.valueOf( id ) ); + dp.setName( name ); + dpService.update( dp ); + return null; + } + +} diff --git a/src/it/tutorials-4.3.9/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/entity/DataPoint.java b/src/it/tutorials-4.3.9/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/entity/DataPoint.java new file mode 100644 index 00000000..2e5ef724 --- /dev/null +++ b/src/it/tutorials-4.3.9/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/entity/DataPoint.java @@ -0,0 +1,58 @@ +/* + * Hibernate, Relational Persistence for Idiomatic Java + * + * JBoss, Home of Professional Open Source + * Copyright 2013 Red Hat Inc. and/or its affiliates and other contributors + * as indicated by the @authors tag. All rights reserved. + * See the copyright.txt in the distribution for a + * full listing of individual contributors. + * + * 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, v. 2.1. + * This program is distributed in the hope that it will be useful, but WITHOUT A + * 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, + * v.2.1 along with this distribution; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301, USA. + */ +package org.hibernate.osgitest.entity; + +import java.io.Serializable; + +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.Id; + +import org.hibernate.envers.Audited; + +/** + * @author Brett Meyer + */ +@Entity +@Audited +public class DataPoint implements Serializable { + @Id + @GeneratedValue + private long id; + + private String name; + + public long getId() { + return id; + } + + public void setId(long id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } +} diff --git a/src/it/tutorials-4.3.9/osgi/unmanaged-native/src/main/resources/OSGI-INF/blueprint/blueprint.xml b/src/it/tutorials-4.3.9/osgi/unmanaged-native/src/main/resources/OSGI-INF/blueprint/blueprint.xml new file mode 100644 index 00000000..3f4b2b4d --- /dev/null +++ b/src/it/tutorials-4.3.9/osgi/unmanaged-native/src/main/resources/OSGI-INF/blueprint/blueprint.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/it/tutorials-4.3.9/osgi/unmanaged-native/src/main/resources/ehcache.xml b/src/it/tutorials-4.3.9/osgi/unmanaged-native/src/main/resources/ehcache.xml new file mode 100644 index 00000000..11fddc73 --- /dev/null +++ b/src/it/tutorials-4.3.9/osgi/unmanaged-native/src/main/resources/ehcache.xml @@ -0,0 +1,111 @@ + + + + + + + + + + + + + + + + + --> + + + + diff --git a/src/it/tutorials-4.3.9/osgi/unmanaged-native/src/main/resources/hibernate.cfg.xml b/src/it/tutorials-4.3.9/osgi/unmanaged-native/src/main/resources/hibernate.cfg.xml new file mode 100644 index 00000000..f367c530 --- /dev/null +++ b/src/it/tutorials-4.3.9/osgi/unmanaged-native/src/main/resources/hibernate.cfg.xml @@ -0,0 +1,46 @@ + + + + + + org.h2.Driver + jdbc:h2:mem:db_unmanaged_native;DB_CLOSE_DELAY=-1;MVCC=TRUE + sa + + org.hibernate.dialect.H2Dialect + create-drop + + + + + + + + + + + + + diff --git a/src/it/tutorials-4.3.9/osgi/unmanaged-native/src/main/resources/pool-one.properties b/src/it/tutorials-4.3.9/osgi/unmanaged-native/src/main/resources/pool-one.properties new file mode 100644 index 00000000..0a372bd9 --- /dev/null +++ b/src/it/tutorials-4.3.9/osgi/unmanaged-native/src/main/resources/pool-one.properties @@ -0,0 +1,7 @@ +jdbc-0.proxool.alias=pool-one +jdbc-0.proxool.driver-url=jdbc:h2:mem:db_unmanaged_native;DB_CLOSE_DELAY=-1;MVCC=TRUE +jdbc-0.proxool.driver-class=org.h2.Driver +jdbc-0.user=sa +jdbc-0.password= +jdbc-0.proxool.maximum-connection-count=2 +jdbc-0.proxool.house-keeping-test-sql=select CURRENT_DATE diff --git a/src/it/tutorials-4.3.9/pom.xml b/src/it/tutorials-4.3.9/pom.xml new file mode 100644 index 00000000..e899e4ce --- /dev/null +++ b/src/it/tutorials-4.3.9/pom.xml @@ -0,0 +1,110 @@ + + + + + 4.0.0 + + org.hibernate.tutorials + hibernate-tutorials + 4.3.9.Final + pom + + Hibernate Getting Started Guide Tutorials + Aggregator for the Hibernate tutorials presented in the Getting Started Guide + + + + true + + + + basic + annotations + entitymanager + envers + osgi/unmanaged-native + osgi/unmanaged-jpa + osgi/managed-jpa + + + + + org.hibernate + hibernate-core + 4.3.9.Final + + + + + org.slf4j + slf4j-simple + 1.7.12 + + + + + junit + junit + 4.12 + + + + + com.h2database + h2 + 1.4.187 + + + + + + + false + src/test/java + + **/*.xml + + + + src/test/resources + true + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.3 + + 1.6 + 1.6 + utf8 + true + + + + + + diff --git a/src/it/tutorials-4.3.9/schema-annotations.sql b/src/it/tutorials-4.3.9/schema-annotations.sql new file mode 100644 index 00000000..48eb18ef --- /dev/null +++ b/src/it/tutorials-4.3.9/schema-annotations.sql @@ -0,0 +1,7 @@ + + create table EVENTS ( + id bigint not null, + EVENT_DATE timestamp, + title varchar(255), + primary key (id) + ); diff --git a/src/it/tutorials-4.3.9/schema-basic.sql b/src/it/tutorials-4.3.9/schema-basic.sql new file mode 100644 index 00000000..c5e2c0e7 --- /dev/null +++ b/src/it/tutorials-4.3.9/schema-basic.sql @@ -0,0 +1,7 @@ + + create table EVENTS ( + EVENT_ID bigint not null, + EVENT_DATE timestamp, + title varchar(255), + primary key (EVENT_ID) + ); diff --git a/src/it/tutorials-4.3.9/schema-entitymanager.sql b/src/it/tutorials-4.3.9/schema-entitymanager.sql new file mode 100644 index 00000000..48eb18ef --- /dev/null +++ b/src/it/tutorials-4.3.9/schema-entitymanager.sql @@ -0,0 +1,7 @@ + + create table EVENTS ( + id bigint not null, + EVENT_DATE timestamp, + title varchar(255), + primary key (id) + ); diff --git a/src/it/tutorials-4.3.9/schema-envers.sql b/src/it/tutorials-4.3.9/schema-envers.sql new file mode 100644 index 00000000..ecec80ef --- /dev/null +++ b/src/it/tutorials-4.3.9/schema-envers.sql @@ -0,0 +1,27 @@ + + create table EVENTS ( + id bigint not null, + EVENT_DATE timestamp, + title varchar(255), + primary key (id) + ); + + create table EVENTS_AUD ( + id bigint not null, + REV integer not null, + REVTYPE tinyint, + EVENT_DATE timestamp, + title varchar(255), + primary key (id, REV) + ); + + create table REVINFO ( + REV integer generated by default as identity, + REVTSTMP bigint, + primary key (REV) + ); + + alter table EVENTS_AUD + add constraint FK5cembm6xahf542q8e4h0pq2t1 + foreign key (REV) + references REVINFO; diff --git a/src/it/tutorials-4.3.9/schema-osgi-managed-jpa.sql b/src/it/tutorials-4.3.9/schema-osgi-managed-jpa.sql new file mode 100644 index 00000000..de92e463 --- /dev/null +++ b/src/it/tutorials-4.3.9/schema-osgi-managed-jpa.sql @@ -0,0 +1,7 @@ +create sequence hibernate_sequence start with 1 increment by 1; + + create table DataPoint ( + id bigint not null, + name varchar(255), + primary key (id) + ); diff --git a/src/it/tutorials-4.3.9/schema-osgi-unmanaged-jpa.sql b/src/it/tutorials-4.3.9/schema-osgi-unmanaged-jpa.sql new file mode 100644 index 00000000..de92e463 --- /dev/null +++ b/src/it/tutorials-4.3.9/schema-osgi-unmanaged-jpa.sql @@ -0,0 +1,7 @@ +create sequence hibernate_sequence start with 1 increment by 1; + + create table DataPoint ( + id bigint not null, + name varchar(255), + primary key (id) + ); diff --git a/src/it/tutorials-4.3.9/schema-osgi-unmanaged-native.sql b/src/it/tutorials-4.3.9/schema-osgi-unmanaged-native.sql new file mode 100644 index 00000000..d89e2801 --- /dev/null +++ b/src/it/tutorials-4.3.9/schema-osgi-unmanaged-native.sql @@ -0,0 +1,26 @@ +create sequence hibernate_sequence start with 1 increment by 1; + + create table DataPoint ( + id bigint not null, + name varchar(255), + primary key (id) + ); + + create table DataPoint_AUD ( + id bigint not null, + REV integer not null, + REVTYPE tinyint, + name varchar(255), + primary key (id, REV) + ); + + create table REVINFO ( + REV integer generated by default as identity, + REVTSTMP bigint, + primary key (REV) + ); + + alter table DataPoint_AUD + add constraint FK43jw6b5mtbfxur0xhyjxynbea + foreign key (REV) + references REVINFO; diff --git a/src/it/tutorials-4.3.9/verify.bsh b/src/it/tutorials-4.3.9/verify.bsh new file mode 100644 index 00000000..9156c4af --- /dev/null +++ b/src/it/tutorials-4.3.9/verify.bsh @@ -0,0 +1,19 @@ +import de.juplo.test.FileComparator; + + +FileComparator comparator = new FileComparator(basedir); + +if (!comparator.isEqual("schema-annotations.sql","annotations/target/create.sql")) + return false; +if (!comparator.isEqual("schema-basic.sql","basic/target/create.sql")) + return false; +if (!comparator.isEqual("schema-entitymanager.sql","entitymanager/target/create.sql")) + return false; +if (!comparator.isEqual("schema-envers.sql","envers/target/create.sql")) + return false; +if (!comparator.isEqual("schema-osgi-managed-jpa.sql","osgi/managed-jpa/target/create.sql")) + return false; +if (!comparator.isEqual("schema-osgi-unmanaged-jpa.sql","osgi/unmanaged-jpa/target/create.sql")) + return false; +if (!comparator.isEqual("schema-osgi-unmanaged-native.sql","osgi/unmanaged-native/target/create.sql")) + return false; diff --git a/src/it/tutorials-5.2.18/annotations/pom.xml b/src/it/tutorials-5.2.18/annotations/pom.xml new file mode 100644 index 00000000..effd4b71 --- /dev/null +++ b/src/it/tutorials-5.2.18/annotations/pom.xml @@ -0,0 +1,28 @@ + + + + + 4.0.0 + + + org.hibernate.tutorials + hibernate-tutorials + 5.2.18.Final + ../pom.xml + + + hibernate-tutorial-annotations + Hibernate Annotations Tutorial + Hibernate tutorial illustrating the use of native APIs and annotations for mapping metadata + + + + true + + + diff --git a/src/it/tutorials-5.2.18/annotations/src/test/java/org/hibernate/tutorial/annotations/AnnotationsIllustrationTest.java b/src/it/tutorials-5.2.18/annotations/src/test/java/org/hibernate/tutorial/annotations/AnnotationsIllustrationTest.java new file mode 100644 index 00000000..33e28629 --- /dev/null +++ b/src/it/tutorials-5.2.18/annotations/src/test/java/org/hibernate/tutorial/annotations/AnnotationsIllustrationTest.java @@ -0,0 +1,89 @@ +/* + * 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.annotations; + +import java.util.Date; +import java.util.List; + +import org.hibernate.Session; +import org.hibernate.SessionFactory; +import org.hibernate.boot.MetadataSources; +import org.hibernate.boot.registry.StandardServiceRegistry; +import org.hibernate.boot.registry.StandardServiceRegistryBuilder; + +import junit.framework.TestCase; + +/** + * Illustrates the use of Hibernate native APIs. The code here is unchanged from the {@code basic} example, the + * only difference being the use of annotations to supply the metadata instead of Hibernate mapping files. + * + * @author Steve Ebersole + */ +public class AnnotationsIllustrationTest extends TestCase { + private SessionFactory sessionFactory; + + @Override + protected void setUp() throws Exception { + // A SessionFactory is set up once for an application! + final StandardServiceRegistry registry = new StandardServiceRegistryBuilder() + .configure() // configures settings from hibernate.cfg.xml + .build(); + try { + sessionFactory = new MetadataSources( registry ).buildMetadata().buildSessionFactory(); + } + catch (Exception e) { + // The registry would be destroyed by the SessionFactory, but we had trouble building the SessionFactory + // so destroy it manually. + StandardServiceRegistryBuilder.destroy( registry ); + } + } + + @Override + protected void tearDown() throws Exception { + if ( sessionFactory != null ) { + sessionFactory.close(); + } + } + + @SuppressWarnings({ "unchecked" }) + public void testBasicUsage() { + // create a couple of events... + Session session = sessionFactory.openSession(); + session.beginTransaction(); + session.save( new Event( "Our very first event!", new Date() ) ); + session.save( new Event( "A follow up event", new Date() ) ); + session.getTransaction().commit(); + session.close(); + + // now lets pull events from the database and list them + session = sessionFactory.openSession(); + session.beginTransaction(); + List result = session.createQuery( "from Event" ).list(); + for ( Event event : (List) result ) { + System.out.println( "Event (" + event.getDate() + ") : " + event.getTitle() ); + } + session.getTransaction().commit(); + session.close(); + } +} diff --git a/src/it/tutorials-5.2.18/annotations/src/test/java/org/hibernate/tutorial/annotations/Event.java b/src/it/tutorials-5.2.18/annotations/src/test/java/org/hibernate/tutorial/annotations/Event.java new file mode 100644 index 00000000..c66349f9 --- /dev/null +++ b/src/it/tutorials-5.2.18/annotations/src/test/java/org/hibernate/tutorial/annotations/Event.java @@ -0,0 +1,83 @@ +/* + * 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.annotations; + +import java.util.Date; +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.Id; +import javax.persistence.Table; +import javax.persistence.Temporal; +import javax.persistence.TemporalType; + +import org.hibernate.annotations.GenericGenerator; + +@Entity +@Table( name = "EVENTS" ) +public class Event { + private Long id; + + private String title; + private Date date; + + public Event() { + // this form used by Hibernate + } + + public Event(String title, Date date) { + // for application use, to create new events + this.title = title; + this.date = date; + } + + @Id + @GeneratedValue(generator="increment") + @GenericGenerator(name="increment", strategy = "increment") + public Long getId() { + return id; + } + + private void setId(Long id) { + this.id = id; + } + + @Temporal(TemporalType.TIMESTAMP) + @Column(name = "EVENT_DATE") + public Date getDate() { + return date; + } + + public void setDate(Date date) { + this.date = date; + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } +} \ No newline at end of file diff --git a/src/it/tutorials-5.2.18/annotations/src/test/resources/hibernate.cfg.xml b/src/it/tutorials-5.2.18/annotations/src/test/resources/hibernate.cfg.xml new file mode 100644 index 00000000..a9590c18 --- /dev/null +++ b/src/it/tutorials-5.2.18/annotations/src/test/resources/hibernate.cfg.xml @@ -0,0 +1,42 @@ + + + + + + + + + + org.h2.Driver + jdbc:h2:mem:db1;DB_CLOSE_DELAY=-1;MVCC=TRUE + sa + + + + 1 + + + org.hibernate.dialect.H2Dialect + + + org.hibernate.cache.internal.NoCacheProvider + + + true + + + create + + + + + + + \ No newline at end of file diff --git a/src/it/tutorials-5.2.18/basic/pom.xml b/src/it/tutorials-5.2.18/basic/pom.xml new file mode 100644 index 00000000..783ac6b4 --- /dev/null +++ b/src/it/tutorials-5.2.18/basic/pom.xml @@ -0,0 +1,28 @@ + + + + + 4.0.0 + + + org.hibernate.tutorials + hibernate-tutorials + 5.2.18.Final + ../pom.xml + + + hibernate-tutorial-hbm + Hibernate hbm.xml Tutorial + Hibernate tutorial illustrating the use of native APIs and hbm.xml for mapping metadata + + + + true + + + diff --git a/src/it/tutorials-5.2.18/basic/src/test/java/org/hibernate/tutorial/hbm/Event.hbm.xml b/src/it/tutorials-5.2.18/basic/src/test/java/org/hibernate/tutorial/hbm/Event.hbm.xml new file mode 100644 index 00000000..f786e79e --- /dev/null +++ b/src/it/tutorials-5.2.18/basic/src/test/java/org/hibernate/tutorial/hbm/Event.hbm.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + diff --git a/src/it/tutorials-5.2.18/basic/src/test/java/org/hibernate/tutorial/hbm/Event.java b/src/it/tutorials-5.2.18/basic/src/test/java/org/hibernate/tutorial/hbm/Event.java new file mode 100644 index 00000000..ae4c2dfd --- /dev/null +++ b/src/it/tutorials-5.2.18/basic/src/test/java/org/hibernate/tutorial/hbm/Event.java @@ -0,0 +1,67 @@ +/* + * 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.hbm; + +import java.util.Date; + +public class Event { + private Long id; + + private String title; + private Date date; + + public Event() { + // this form used by Hibernate + } + + public Event(String title, Date date) { + // for application use, to create new events + this.title = title; + this.date = date; + } + + public Long getId() { + return id; + } + + private void setId(Long id) { + this.id = id; + } + + public Date getDate() { + return date; + } + + public void setDate(Date date) { + this.date = date; + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } +} \ No newline at end of file diff --git a/src/it/tutorials-5.2.18/basic/src/test/java/org/hibernate/tutorial/hbm/NativeApiIllustrationTest.java b/src/it/tutorials-5.2.18/basic/src/test/java/org/hibernate/tutorial/hbm/NativeApiIllustrationTest.java new file mode 100644 index 00000000..8ee5d084 --- /dev/null +++ b/src/it/tutorials-5.2.18/basic/src/test/java/org/hibernate/tutorial/hbm/NativeApiIllustrationTest.java @@ -0,0 +1,88 @@ +/* + * 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.hbm; + +import java.util.Date; +import java.util.List; + +import org.hibernate.Session; +import org.hibernate.SessionFactory; +import org.hibernate.boot.MetadataSources; +import org.hibernate.boot.registry.StandardServiceRegistry; +import org.hibernate.boot.registry.StandardServiceRegistryBuilder; + +import junit.framework.TestCase; + +/** + * Illustrates use of Hibernate native APIs. + * + * @author Steve Ebersole + */ +public class NativeApiIllustrationTest extends TestCase { + private SessionFactory sessionFactory; + + @Override + protected void setUp() throws Exception { + // A SessionFactory is set up once for an application! + final StandardServiceRegistry registry = new StandardServiceRegistryBuilder() + .configure() // configures settings from hibernate.cfg.xml + .build(); + try { + sessionFactory = new MetadataSources( registry ).buildMetadata().buildSessionFactory(); + } + catch (Exception e) { + // The registry would be destroyed by the SessionFactory, but we had trouble building the SessionFactory + // so destroy it manually. + StandardServiceRegistryBuilder.destroy( registry ); + } + } + + @Override + protected void tearDown() throws Exception { + if ( sessionFactory != null ) { + sessionFactory.close(); + } + } + + @SuppressWarnings("unchecked") + public void testBasicUsage() { + // create a couple of events... + Session session = sessionFactory.openSession(); + session.beginTransaction(); + session.save( new Event( "Our very first event!", new Date() ) ); + session.save( new Event( "A follow up event", new Date() ) ); + session.getTransaction().commit(); + session.close(); + + // now lets pull events from the database and list them + session = sessionFactory.openSession(); + session.beginTransaction(); + List result = session.createQuery( "from Event" ).list(); + for ( Event event : (List) result ) { + System.out.println( "Event (" + event.getDate() + ") : " + event.getTitle() ); + } + session.getTransaction().commit(); + session.close(); + } +} diff --git a/src/it/tutorials-5.2.18/basic/src/test/resources/hibernate.cfg.xml b/src/it/tutorials-5.2.18/basic/src/test/resources/hibernate.cfg.xml new file mode 100644 index 00000000..03d39373 --- /dev/null +++ b/src/it/tutorials-5.2.18/basic/src/test/resources/hibernate.cfg.xml @@ -0,0 +1,41 @@ + + + + + + + + + + org.h2.Driver + jdbc:h2:mem:db1;DB_CLOSE_DELAY=-1;MVCC=TRUE + sa + + + + 1 + + + org.hibernate.dialect.H2Dialect + + + org.hibernate.cache.internal.NoCacheProvider + + + true + + + create + + + + + + \ No newline at end of file diff --git a/src/it/tutorials-5.2.18/entitymanager/pom.xml b/src/it/tutorials-5.2.18/entitymanager/pom.xml new file mode 100644 index 00000000..d928fb67 --- /dev/null +++ b/src/it/tutorials-5.2.18/entitymanager/pom.xml @@ -0,0 +1,36 @@ + + + + + 4.0.0 + + + org.hibernate.tutorials + hibernate-tutorials + 5.2.18.Final + ../pom.xml + + + hibernate-tutorial-entitymanager + Hibernate JPA Tutorial + Hibernate tutorial illustrating the use of JPA APIs and annotations for mapping metadata + + + + true + + + + + org.hibernate + hibernate-core + 5.2.18.Final + + + + diff --git a/src/it/tutorials-5.2.18/entitymanager/src/test/java/org/hibernate/tutorial/em/EntityManagerIllustrationTest.java b/src/it/tutorials-5.2.18/entitymanager/src/test/java/org/hibernate/tutorial/em/EntityManagerIllustrationTest.java new file mode 100644 index 00000000..feebd89a --- /dev/null +++ b/src/it/tutorials-5.2.18/entitymanager/src/test/java/org/hibernate/tutorial/em/EntityManagerIllustrationTest.java @@ -0,0 +1,73 @@ +/* + * 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.em; + +import java.util.Date; +import java.util.List; +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.Persistence; + +import junit.framework.TestCase; + +/** + * Illustrates basic use of Hibernate as a JPA provider. + * + * @author Steve Ebersole + */ +public class EntityManagerIllustrationTest 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.jpa" ); + } + + @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(); + } +} diff --git a/src/it/tutorials-5.2.18/entitymanager/src/test/java/org/hibernate/tutorial/em/Event.java b/src/it/tutorials-5.2.18/entitymanager/src/test/java/org/hibernate/tutorial/em/Event.java new file mode 100644 index 00000000..90fe4144 --- /dev/null +++ b/src/it/tutorials-5.2.18/entitymanager/src/test/java/org/hibernate/tutorial/em/Event.java @@ -0,0 +1,83 @@ +/* + * 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.em; + +import java.util.Date; +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.Id; +import javax.persistence.Table; +import javax.persistence.Temporal; +import javax.persistence.TemporalType; + +import org.hibernate.annotations.GenericGenerator; + +@Entity +@Table( name = "EVENTS" ) +public class Event { + private Long id; + + private String title; + private Date date; + + public Event() { + // this form used by Hibernate + } + + public Event(String title, Date date) { + // for application use, to create new events + this.title = title; + this.date = date; + } + + @Id + @GeneratedValue(generator="increment") + @GenericGenerator(name="increment", strategy = "increment") + public Long getId() { + return id; + } + + private void setId(Long id) { + this.id = id; + } + + @Temporal(TemporalType.TIMESTAMP) + @Column(name = "EVENT_DATE") + public Date getDate() { + return date; + } + + public void setDate(Date date) { + this.date = date; + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } +} \ No newline at end of file diff --git a/src/it/tutorials-5.2.18/entitymanager/src/test/resources/META-INF/persistence.xml b/src/it/tutorials-5.2.18/entitymanager/src/test/resources/META-INF/persistence.xml new file mode 100644 index 00000000..0fc95238 --- /dev/null +++ b/src/it/tutorials-5.2.18/entitymanager/src/test/resources/META-INF/persistence.xml @@ -0,0 +1,31 @@ + + + + + + Persistence unit for the JPA tutorial of the Hibernate Getting Started Guide + + + org.hibernate.tutorial.em.Event + + + + + + + + + + + + + + diff --git a/src/it/tutorials-5.2.18/envers/pom.xml b/src/it/tutorials-5.2.18/envers/pom.xml new file mode 100644 index 00000000..7fa8a48c --- /dev/null +++ b/src/it/tutorials-5.2.18/envers/pom.xml @@ -0,0 +1,36 @@ + + + + + 4.0.0 + + + org.hibernate.tutorials + hibernate-tutorials + 5.2.18.Final + ../pom.xml + + + hibernate-tutorial-envers + Hibernate Envers Tutorial + Hibernate tutorial illustrating basic set up and use of Envers + + + + true + + + + + org.hibernate + hibernate-envers + 5.2.18.Final + + + + diff --git a/src/it/tutorials-5.2.18/envers/src/test/java/org/hibernate/tutorial/envers/EnversIllustrationTest.java b/src/it/tutorials-5.2.18/envers/src/test/java/org/hibernate/tutorial/envers/EnversIllustrationTest.java new file mode 100644 index 00000000..5e29faa6 --- /dev/null +++ b/src/it/tutorials-5.2.18/envers/src/test/java/org/hibernate/tutorial/envers/EnversIllustrationTest.java @@ -0,0 +1,105 @@ +/* + * 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(); + } +} diff --git a/src/it/tutorials-5.2.18/envers/src/test/java/org/hibernate/tutorial/envers/Event.java b/src/it/tutorials-5.2.18/envers/src/test/java/org/hibernate/tutorial/envers/Event.java new file mode 100644 index 00000000..64741a61 --- /dev/null +++ b/src/it/tutorials-5.2.18/envers/src/test/java/org/hibernate/tutorial/envers/Event.java @@ -0,0 +1,92 @@ +/* + * 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 javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.Id; +import javax.persistence.Table; +import javax.persistence.Temporal; +import javax.persistence.TemporalType; + +import org.hibernate.annotations.GenericGenerator; +import org.hibernate.envers.Audited; + +@Entity +@Table( name = "EVENTS" ) +@Audited // <--- this tell Envers to audit (track changes to) this entity +public class Event { + private Long id; + + private String title; + private Date date; + + public Event() { + // this form used by Hibernate + } + + public Event(String title, Date date) { + // for application use, to create new events + this.title = title; + this.date = date; + } + + @Id + @GeneratedValue(generator="increment") + @GenericGenerator(name="increment", strategy = "increment") + public Long getId() { + return id; + } + + private void setId(Long id) { + this.id = id; + } + + @Temporal(TemporalType.TIMESTAMP) + @Column(name = "EVENT_DATE") + public Date getDate() { + return date; + } + + public void setDate(Date date) { + this.date = date; + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + @Override + public int hashCode() { + int result = title.hashCode(); + result = 31 * result + date.hashCode(); + return result; + } +} \ No newline at end of file diff --git a/src/it/tutorials-5.2.18/envers/src/test/resources/META-INF/persistence.xml b/src/it/tutorials-5.2.18/envers/src/test/resources/META-INF/persistence.xml new file mode 100644 index 00000000..45a7dafe --- /dev/null +++ b/src/it/tutorials-5.2.18/envers/src/test/resources/META-INF/persistence.xml @@ -0,0 +1,31 @@ + + + + + + Persistence unit for the Envers tutorial of the Hibernate Getting Started Guide + + + org.hibernate.tutorial.envers.Event + + + + + + + + + + + + + + diff --git a/src/it/tutorials-5.2.18/osgi/datasource-h2.xml b/src/it/tutorials-5.2.18/osgi/datasource-h2.xml new file mode 100644 index 00000000..3bf738fd --- /dev/null +++ b/src/it/tutorials-5.2.18/osgi/datasource-h2.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + diff --git a/src/it/tutorials-5.2.18/osgi/managed-jpa/features.xml b/src/it/tutorials-5.2.18/osgi/managed-jpa/features.xml new file mode 100644 index 00000000..b2d48ed5 --- /dev/null +++ b/src/it/tutorials-5.2.18/osgi/managed-jpa/features.xml @@ -0,0 +1,80 @@ + + + + + + + + aries.transaction.recoverable = true + aries.transaction.timeout = 600 + aries.transaction.howl.logFileDir = /tmp/karaf/txlog + aries.transaction.howl.maxLogFiles = 2 + aries.transaction.howl.maxBlocksPerFile = 512 + aries.transaction.howl.bufferSizeKBytes = 4 + + mvn:org.jboss.spec.javax.transaction/jboss-transaction-api_1.2_spec/1.0.1.Final + mvn:org.apache.aries.transaction/org.apache.aries.transaction.blueprint/1.0.0 + mvn:org.apache.aries.transaction/org.apache.aries.transaction.manager/1.0.1 + + + mvn:org.hibernate.javax.persistence/hibernate-jpa-2.1-api/1.0.0.Final + + mvn:org.apache.aries/org.apache.aries.util/1.1.1-SNAPSHOT + mvn:org.apache.aries.jpa/org.apache.aries.jpa.api/1.0.1-SNAPSHOT + mvn:org.apache.aries.jpa/org.apache.aries.jpa.blueprint.aries/1.0.2-SNAPSHOT + mvn:org.apache.aries.jpa/org.apache.aries.jpa.container/1.0.1-SNAPSHOT + mvn:org.apache.aries.jpa/org.apache.aries.jpa.container.context/1.0.2-SNAPSHOT + + + mvn:org.apache.aries/org.apache.aries.util/1.0.0 + mvn:org.apache.aries.jndi/org.apache.aries.jndi.api/1.0.0 + mvn:org.apache.aries.jndi/org.apache.aries.jndi.core/1.0.0 + mvn:org.apache.aries.jndi/org.apache.aries.jndi.rmi/1.0.0 + mvn:org.apache.aries.jndi/org.apache.aries.jndi.url/1.0.0 + mvn:org.apache.aries.jndi/org.apache.aries.jndi.legacy.support/1.0.0 + + + mvn:commons-collections/commons-collections/3.2.1 + mvn:commons-pool/commons-pool/1.5.4 + mvn:commons-dbcp/commons-dbcp/1.4 + mvn:commons-lang/commons-lang/2.6 + wrap:mvn:net.sourceforge.serp/serp/1.13.1 + + mvn:com.h2database/h2/1.3.170 + blueprint:file:/[PATH]/datasource-h2.xml + + + mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.antlr/2.7.7_5 + mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.dom4j/1.6.1_5 + + + wrap:mvn:org.jboss/jandex/1.1.0.Final + + mvn:com.fasterxml/classmate/0.8.0 + mvn:org.apache.logging.log4j/log4j-api/2.0 + mvn:log4j/log4j/1.2.17 + mvn:org.jboss.logging/jboss-logging/3.2.1.Final + mvn:org.javassist/javassist/3.18.1-GA + + mvn:org.hibernate.common/hibernate-commons-annotations/4.0.5.Final + + mvn:org.hibernate/hibernate-core/5.2.18.Final + + + mvn:org.hibernate.osgi/managed-jpa/1.0.0 + + mvn:org.hibernate/hibernate-osgi/5.2.18.Final + + diff --git a/src/it/tutorials-5.2.18/osgi/managed-jpa/pom.xml b/src/it/tutorials-5.2.18/osgi/managed-jpa/pom.xml new file mode 100644 index 00000000..55ccacd3 --- /dev/null +++ b/src/it/tutorials-5.2.18/osgi/managed-jpa/pom.xml @@ -0,0 +1,70 @@ + + + 4.0.0 + org.hibernate.osgi + managed-jpa + 1.0.0 + bundle + + + + org.hibernate.javax.persistence + hibernate-jpa-2.1-api + 1.0.0.Final + + + org.osgi + org.osgi.core + 4.3.1 + + + org.osgi + org.osgi.enterprise + 4.2.0 + + + org.apache.karaf.shell + org.apache.karaf.shell.console + 2.3.0 + + + + + + + org.apache.felix + maven-bundle-plugin + true + + + org.hibernate.osgi.managed-jpa + managed-jpa + 1.0.0 + + org.hibernate.osgitest, + org.hibernate.osgitest.entity + + + org.apache.felix.service.command, + org.apache.felix.gogo.commands, + org.apache.karaf.shell.console, + org.apache.karaf.shell.commands, + javax.persistence;version="[1.0.0,2.1.0]", + + org.hibernate.proxy, + javassist.util.proxy, + * + + META-INF/persistence.xml + + + + + + diff --git a/src/it/tutorials-5.2.18/osgi/managed-jpa/src/main/java/org/hibernate/osgitest/DataPointService.java b/src/it/tutorials-5.2.18/osgi/managed-jpa/src/main/java/org/hibernate/osgitest/DataPointService.java new file mode 100644 index 00000000..bdeaace1 --- /dev/null +++ b/src/it/tutorials-5.2.18/osgi/managed-jpa/src/main/java/org/hibernate/osgitest/DataPointService.java @@ -0,0 +1,37 @@ +/* + * Hibernate, Relational Persistence for Idiomatic Java + * + * JBoss, Home of Professional Open Source + * Copyright 2013 Red Hat Inc. and/or its affiliates and other contributors + * as indicated by the @authors tag. All rights reserved. + * See the copyright.txt in the distribution for a + * full listing of individual contributors. + * + * 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, v. 2.1. + * This program is distributed in the hope that it will be useful, but WITHOUT A + * 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, + * v.2.1 along with this distribution; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301, USA. + */ +package org.hibernate.osgitest; + +import java.util.List; + +import org.hibernate.osgitest.entity.DataPoint; + +/** + * @author Brett Meyer + */ +public interface DataPointService { + + public void add(DataPoint dp); + + public List getAll(); + + public void deleteAll(); +} diff --git a/src/it/tutorials-5.2.18/osgi/managed-jpa/src/main/java/org/hibernate/osgitest/DataPointServiceImpl.java b/src/it/tutorials-5.2.18/osgi/managed-jpa/src/main/java/org/hibernate/osgitest/DataPointServiceImpl.java new file mode 100644 index 00000000..f3248896 --- /dev/null +++ b/src/it/tutorials-5.2.18/osgi/managed-jpa/src/main/java/org/hibernate/osgitest/DataPointServiceImpl.java @@ -0,0 +1,58 @@ +/* + * Hibernate, Relational Persistence for Idiomatic Java + * + * JBoss, Home of Professional Open Source + * Copyright 2013 Red Hat Inc. and/or its affiliates and other contributors + * as indicated by the @authors tag. All rights reserved. + * See the copyright.txt in the distribution for a + * full listing of individual contributors. + * + * 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, v. 2.1. + * This program is distributed in the hope that it will be useful, but WITHOUT A + * 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, + * v.2.1 along with this distribution; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301, USA. + */ +package org.hibernate.osgitest; + +import java.util.List; + +import javax.persistence.EntityManager; + +import org.hibernate.osgitest.entity.DataPoint; + +/** + * @author Brett Meyer + */ +public class DataPointServiceImpl implements DataPointService { + + private EntityManager entityManager; + + public void add(DataPoint dp) { + entityManager.persist( dp ); + entityManager.flush(); + } + + public List getAll() { + return entityManager.createQuery( "select d from DataPoint d", DataPoint.class ).getResultList(); + } + + public void deleteAll() { + entityManager.createQuery( "delete from DataPoint" ).executeUpdate(); + entityManager.flush(); + } + + public EntityManager getEntityManager() { + return entityManager; + } + + public void setEntityManager(EntityManager entityManager) { + this.entityManager = entityManager; + } + +} diff --git a/src/it/tutorials-5.2.18/osgi/managed-jpa/src/main/java/org/hibernate/osgitest/command/AddCommand.java b/src/it/tutorials-5.2.18/osgi/managed-jpa/src/main/java/org/hibernate/osgitest/command/AddCommand.java new file mode 100644 index 00000000..9e9844c3 --- /dev/null +++ b/src/it/tutorials-5.2.18/osgi/managed-jpa/src/main/java/org/hibernate/osgitest/command/AddCommand.java @@ -0,0 +1,44 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.hibernate.osgitest.command; + +import org.apache.felix.gogo.commands.Action; +import org.apache.felix.gogo.commands.Argument; +import org.apache.felix.gogo.commands.Command; +import org.apache.felix.service.command.CommandSession; +import org.hibernate.osgitest.DataPointService; +import org.hibernate.osgitest.entity.DataPoint; + +@Command(scope = "dp", name = "add") +public class AddCommand implements Action { + @Argument(index=0, name="Name", required=true, description="Name", multiValued=false) + String name; + + private DataPointService dpService; + + public void setDpService(DataPointService dpService) { + this.dpService = dpService; + } + + public Object execute(CommandSession session) throws Exception { + DataPoint dp = new DataPoint(); + dp.setName( name ); + dpService.add( dp ); + return null; + } + +} diff --git a/src/it/tutorials-5.2.18/osgi/managed-jpa/src/main/java/org/hibernate/osgitest/command/DeleteAllCommand.java b/src/it/tutorials-5.2.18/osgi/managed-jpa/src/main/java/org/hibernate/osgitest/command/DeleteAllCommand.java new file mode 100644 index 00000000..d6c4ccf6 --- /dev/null +++ b/src/it/tutorials-5.2.18/osgi/managed-jpa/src/main/java/org/hibernate/osgitest/command/DeleteAllCommand.java @@ -0,0 +1,37 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.hibernate.osgitest.command; + +import org.apache.felix.gogo.commands.Action; +import org.apache.felix.gogo.commands.Command; +import org.apache.felix.service.command.CommandSession; +import org.hibernate.osgitest.DataPointService; + +@Command(scope = "dp", name = "deleteAll") +public class DeleteAllCommand implements Action { +private DataPointService dpService; + + public void setDpService(DataPointService dpService) { + this.dpService = dpService; + } + + public Object execute(CommandSession session) throws Exception { + dpService.deleteAll(); + return null; + } + +} diff --git a/src/it/tutorials-5.2.18/osgi/managed-jpa/src/main/java/org/hibernate/osgitest/command/GetAllCommand.java b/src/it/tutorials-5.2.18/osgi/managed-jpa/src/main/java/org/hibernate/osgitest/command/GetAllCommand.java new file mode 100644 index 00000000..ebdac60e --- /dev/null +++ b/src/it/tutorials-5.2.18/osgi/managed-jpa/src/main/java/org/hibernate/osgitest/command/GetAllCommand.java @@ -0,0 +1,43 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.hibernate.osgitest.command; + +import java.util.List; + +import org.apache.felix.gogo.commands.Action; +import org.apache.felix.gogo.commands.Command; +import org.apache.felix.service.command.CommandSession; +import org.hibernate.osgitest.DataPointService; +import org.hibernate.osgitest.entity.DataPoint; + +@Command(scope = "dp", name = "getAll") +public class GetAllCommand implements Action { + private DataPointService dpService; + + public void setDpService(DataPointService dpService) { + this.dpService = dpService; + } + + public Object execute(CommandSession session) throws Exception { + List dps = dpService.getAll(); + for (DataPoint dp : dps) { + System.out.println(dp.getId() + ", " + dp.getName()); + } + return null; + } + +} diff --git a/src/it/tutorials-5.2.18/osgi/managed-jpa/src/main/java/org/hibernate/osgitest/entity/DataPoint.java b/src/it/tutorials-5.2.18/osgi/managed-jpa/src/main/java/org/hibernate/osgitest/entity/DataPoint.java new file mode 100644 index 00000000..2a566d88 --- /dev/null +++ b/src/it/tutorials-5.2.18/osgi/managed-jpa/src/main/java/org/hibernate/osgitest/entity/DataPoint.java @@ -0,0 +1,53 @@ +/* + * Hibernate, Relational Persistence for Idiomatic Java + * + * JBoss, Home of Professional Open Source + * Copyright 2013 Red Hat Inc. and/or its affiliates and other contributors + * as indicated by the @authors tag. All rights reserved. + * See the copyright.txt in the distribution for a + * full listing of individual contributors. + * + * 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, v. 2.1. + * This program is distributed in the hope that it will be useful, but WITHOUT A + * 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, + * v.2.1 along with this distribution; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301, USA. + */ +package org.hibernate.osgitest.entity; + +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.Id; + +/** + * @author Brett Meyer + */ +@Entity +public class DataPoint { + @Id + @GeneratedValue + private long id; + + private String name; + + public long getId() { + return id; + } + + public void setId(long id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } +} diff --git a/src/it/tutorials-5.2.18/osgi/managed-jpa/src/main/resources/META-INF/persistence.xml b/src/it/tutorials-5.2.18/osgi/managed-jpa/src/main/resources/META-INF/persistence.xml new file mode 100644 index 00000000..77555cb4 --- /dev/null +++ b/src/it/tutorials-5.2.18/osgi/managed-jpa/src/main/resources/META-INF/persistence.xml @@ -0,0 +1,21 @@ + + + + + osgi:service/javax.sql.DataSource/(osgi.jndi.service.name=jdbc/h2ds) + + + + + + + + + \ No newline at end of file diff --git a/src/it/tutorials-5.2.18/osgi/managed-jpa/src/main/resources/OSGI-INF/blueprint/blueprint.xml b/src/it/tutorials-5.2.18/osgi/managed-jpa/src/main/resources/OSGI-INF/blueprint/blueprint.xml new file mode 100644 index 00000000..2436aa74 --- /dev/null +++ b/src/it/tutorials-5.2.18/osgi/managed-jpa/src/main/resources/OSGI-INF/blueprint/blueprint.xml @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/it/tutorials-5.2.18/osgi/pom.xml b/src/it/tutorials-5.2.18/osgi/pom.xml new file mode 100644 index 00000000..b017b3ea --- /dev/null +++ b/src/it/tutorials-5.2.18/osgi/pom.xml @@ -0,0 +1,35 @@ + + + + + 4.0.0 + + + org.hibernate.tutorials + hibernate-tutorials + 5.2.18.Final + ../pom.xml + + + hibernate-tutorial-osgi + Hibernate OSGI Tutorials + Hibernate tutoriasl illustrating basic set up and use of OSGI + pom + + + + true + + + + managed-jpa + unmanaged-jpa + unmanaged-native + + + diff --git a/src/it/tutorials-5.2.18/osgi/unmanaged-jpa/features.xml b/src/it/tutorials-5.2.18/osgi/unmanaged-jpa/features.xml new file mode 100644 index 00000000..784140a4 --- /dev/null +++ b/src/it/tutorials-5.2.18/osgi/unmanaged-jpa/features.xml @@ -0,0 +1,46 @@ + + + + + + + mvn:org.jboss.spec.javax.transaction/jboss-transaction-api_1.2_spec/1.0.1.Final + + + mvn:org.hibernate.javax.persistence/hibernate-jpa-2.1-api/1.0.0.Final + + + mvn:commons-collections/commons-collections/3.2.1 + mvn:commons-pool/commons-pool/1.5.4 + mvn:commons-dbcp/commons-dbcp/1.4 + mvn:commons-lang/commons-lang/2.6 + wrap:mvn:net.sourceforge.serp/serp/1.13.1 + + mvn:com.h2database/h2/1.3.170 + + + mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.antlr/2.7.7_5 + mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.dom4j/1.6.1_5 + + + wrap:mvn:org.jboss/jandex/1.1.0.Final + + mvn:com.fasterxml/classmate/0.8.0 + mvn:org.apache.logging.log4j/log4j-api/2.0 + mvn:log4j/log4j/1.2.17 + mvn:org.jboss.logging/jboss-logging/3.2.1.Final + mvn:org.javassist/javassist/3.18.1-GA + + mvn:org.hibernate.common/hibernate-commons-annotations/4.0.5.Final + + mvn:org.hibernate/hibernate-core/5.2.18.Final + mvn:org.hibernate/hibernate-osgi/5.2.18.Final + + mvn:org.hibernate.osgi/unmanaged-jpa/1.0.0 + + diff --git a/src/it/tutorials-5.2.18/osgi/unmanaged-jpa/pom.xml b/src/it/tutorials-5.2.18/osgi/unmanaged-jpa/pom.xml new file mode 100644 index 00000000..e45aab5e --- /dev/null +++ b/src/it/tutorials-5.2.18/osgi/unmanaged-jpa/pom.xml @@ -0,0 +1,81 @@ + + + 4.0.0 + org.hibernate.osgi + unmanaged-jpa + 1.0.0 + bundle + + + + org.hibernate.javax.persistence + hibernate-jpa-2.1-api + 1.0.0.Final + + + org.osgi + org.osgi.core + 4.3.1 + + + org.osgi + org.osgi.enterprise + 4.2.0 + + + org.apache.karaf.shell + org.apache.karaf.shell.console + 2.3.0 + + + org.hibernate + hibernate-core + 5.2.18.Final + + + com.h2database + h2 + 1.3.170 + + + + + + + + org.apache.felix + maven-bundle-plugin + true + + + org.hibernate.osgi.unmanaged-jpa + unmanaged-jpa + 1.0.0 + + org.hibernate.osgitest, + org.hibernate.osgitest.entity + + + org.apache.felix.service.command, + org.apache.felix.gogo.commands, + org.apache.karaf.shell.console, + org.apache.karaf.shell.commands, + org.h2, + javax.persistence;version="[1.0.0,2.1.0]", + + org.hibernate.proxy, + javassist.util.proxy, + * + + + + + + + diff --git a/src/it/tutorials-5.2.18/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/DataPointService.java b/src/it/tutorials-5.2.18/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/DataPointService.java new file mode 100644 index 00000000..de8c960c --- /dev/null +++ b/src/it/tutorials-5.2.18/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/DataPointService.java @@ -0,0 +1,41 @@ +/* + * Hibernate, Relational Persistence for Idiomatic Java + * + * JBoss, Home of Professional Open Source + * Copyright 2013 Red Hat Inc. and/or its affiliates and other contributors + * as indicated by the @authors tag. All rights reserved. + * See the copyright.txt in the distribution for a + * full listing of individual contributors. + * + * 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, v. 2.1. + * This program is distributed in the hope that it will be useful, but WITHOUT A + * 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, + * v.2.1 along with this distribution; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301, USA. + */ +package org.hibernate.osgitest; + +import java.util.List; + +import org.hibernate.osgitest.entity.DataPoint; + +/** + * @author Brett Meyer + */ +public interface DataPointService { + + public void add(DataPoint dp); + + public void update(DataPoint dp); + + public DataPoint get(long id); + + public List getAll(); + + public void deleteAll(); +} diff --git a/src/it/tutorials-5.2.18/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/DataPointServiceImpl.java b/src/it/tutorials-5.2.18/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/DataPointServiceImpl.java new file mode 100644 index 00000000..dba3609e --- /dev/null +++ b/src/it/tutorials-5.2.18/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/DataPointServiceImpl.java @@ -0,0 +1,78 @@ +/* + * Hibernate, Relational Persistence for Idiomatic Java + * + * JBoss, Home of Professional Open Source + * Copyright 2013 Red Hat Inc. and/or its affiliates and other contributors + * as indicated by the @authors tag. All rights reserved. + * See the copyright.txt in the distribution for a + * full listing of individual contributors. + * + * 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, v. 2.1. + * This program is distributed in the hope that it will be useful, but WITHOUT A + * 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, + * v.2.1 along with this distribution; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301, USA. + */ +package org.hibernate.osgitest; + +import java.util.List; + +import javax.persistence.EntityManager; + +import org.hibernate.osgitest.entity.DataPoint; + +/** + * @author Brett Meyer + */ +public class DataPointServiceImpl implements DataPointService { + + private HibernateUtil hibernateUtil = new HibernateUtil(); + + public void add(DataPoint dp) { + EntityManager em = hibernateUtil.getEntityManager(); + em.getTransaction().begin(); + em.persist( dp ); + em.getTransaction().commit(); + em.close(); + } + + public void update(DataPoint dp) { + EntityManager em = hibernateUtil.getEntityManager(); + em.getTransaction().begin(); + em.merge( dp ); + em.getTransaction().commit(); + em.close(); + } + + public DataPoint get(long id) { + EntityManager em = hibernateUtil.getEntityManager(); + em.getTransaction().begin(); + DataPoint dp = (DataPoint) em.createQuery( "from DataPoint dp where dp.id=" + id ).getSingleResult(); + em.getTransaction().commit(); + em.close(); + return dp; + } + + public List getAll() { + EntityManager em = hibernateUtil.getEntityManager(); + em.getTransaction().begin(); + List list = em.createQuery( "from DataPoint" ).getResultList(); + em.getTransaction().commit(); + em.close(); + return list; + } + + public void deleteAll() { + EntityManager em = hibernateUtil.getEntityManager(); + em.getTransaction().begin(); + em.createQuery( "delete from DataPoint" ).executeUpdate(); + em.getTransaction().commit(); + em.close(); + } + +} diff --git a/src/it/tutorials-5.2.18/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/HibernateUtil.java b/src/it/tutorials-5.2.18/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/HibernateUtil.java new file mode 100644 index 00000000..0927f15f --- /dev/null +++ b/src/it/tutorials-5.2.18/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/HibernateUtil.java @@ -0,0 +1,57 @@ +/* + * Hibernate, Relational Persistence for Idiomatic Java + * + * JBoss, Home of Professional Open Source + * Copyright 2013 Red Hat Inc. and/or its affiliates and other contributors + * as indicated by the @authors tag. All rights reserved. + * See the copyright.txt in the distribution for a + * full listing of individual contributors. + * + * 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, v. 2.1. + * This program is distributed in the hope that it will be useful, but WITHOUT A + * 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, + * v.2.1 along with this distribution; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301, USA. + */ +package org.hibernate.osgitest; + +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.spi.PersistenceProvider; + +import org.osgi.framework.Bundle; +import org.osgi.framework.BundleContext; +import org.osgi.framework.FrameworkUtil; +import org.osgi.framework.ServiceReference; + +/** + * @author Brett Meyer + */ + +public class HibernateUtil { + + private EntityManagerFactory emf; + + public EntityManager getEntityManager() { + return getEntityManagerFactory().createEntityManager(); + } + + private EntityManagerFactory getEntityManagerFactory() { + if ( emf == null ) { + Bundle thisBundle = FrameworkUtil.getBundle( HibernateUtil.class ); + // Could get this by wiring up OsgiTestBundleActivator as well. + BundleContext context = thisBundle.getBundleContext(); + + ServiceReference serviceReference = context.getServiceReference( PersistenceProvider.class.getName() ); + PersistenceProvider persistenceProvider = (PersistenceProvider) context.getService( serviceReference ); + + emf = persistenceProvider.createEntityManagerFactory( "unmanaged-jpa", null ); + } + return emf; + } +} diff --git a/src/it/tutorials-5.2.18/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/TestIntegrator.java b/src/it/tutorials-5.2.18/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/TestIntegrator.java new file mode 100644 index 00000000..f4436346 --- /dev/null +++ b/src/it/tutorials-5.2.18/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/TestIntegrator.java @@ -0,0 +1,45 @@ +/* + * Hibernate, Relational Persistence for Idiomatic Java + * + * JBoss, Home of Professional Open Source + * Copyright 2013 Red Hat Inc. and/or its affiliates and other contributors + * as indicated by the @authors tag. All rights reserved. + * See the copyright.txt in the distribution for a + * full listing of individual contributors. + * + * 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, v. 2.1. + * This program is distributed in the hope that it will be useful, but WITHOUT A + * 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, + * v.2.1 along with this distribution; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301, USA. + */ +package org.hibernate.osgitest; + +import org.hibernate.boot.Metadata; +import org.hibernate.engine.spi.SessionFactoryImplementor; +import org.hibernate.integrator.spi.Integrator; +import org.hibernate.service.spi.SessionFactoryServiceRegistry; + + +/** + * @author Brett Meyer + */ +public class TestIntegrator implements Integrator { + + public void integrate( + Metadata metadata, + SessionFactoryImplementor sessionFactory, + SessionFactoryServiceRegistry serviceRegistry) { + System.out.println("Integrator#integrate"); + } + + public void disintegrate(SessionFactoryImplementor sessionFactory, SessionFactoryServiceRegistry serviceRegistry) { + System.out.println("Integrator#disintegrate"); + } + +} diff --git a/src/it/tutorials-5.2.18/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/TestStrategyRegistrationProvider.java b/src/it/tutorials-5.2.18/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/TestStrategyRegistrationProvider.java new file mode 100644 index 00000000..f7ad26f5 --- /dev/null +++ b/src/it/tutorials-5.2.18/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/TestStrategyRegistrationProvider.java @@ -0,0 +1,37 @@ +/* + * Hibernate, Relational Persistence for Idiomatic Java + * + * JBoss, Home of Professional Open Source + * Copyright 2013 Red Hat Inc. and/or its affiliates and other contributors + * as indicated by the @authors tag. All rights reserved. + * See the copyright.txt in the distribution for a + * full listing of individual contributors. + * + * 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, v. 2.1. + * This program is distributed in the hope that it will be useful, but WITHOUT A + * 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, + * v.2.1 along with this distribution; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301, USA. + */ +package org.hibernate.osgitest; + +import java.util.Collections; + +import org.hibernate.boot.registry.selector.StrategyRegistration; +import org.hibernate.boot.registry.selector.StrategyRegistrationProvider; + +/** + * @author Brett Meyer + */ +public class TestStrategyRegistrationProvider implements StrategyRegistrationProvider { + + public Iterable getStrategyRegistrations() { + System.out.println("StrategyRegistrationProvider#getStrategyRegistrations"); + return Collections.EMPTY_LIST; + } +} diff --git a/src/it/tutorials-5.2.18/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/TestTypeContributor.java b/src/it/tutorials-5.2.18/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/TestTypeContributor.java new file mode 100644 index 00000000..0da11cb6 --- /dev/null +++ b/src/it/tutorials-5.2.18/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/TestTypeContributor.java @@ -0,0 +1,37 @@ +/* + * Hibernate, Relational Persistence for Idiomatic Java + * + * JBoss, Home of Professional Open Source + * Copyright 2013 Red Hat Inc. and/or its affiliates and other contributors + * as indicated by the @authors tag. All rights reserved. + * See the copyright.txt in the distribution for a + * full listing of individual contributors. + * + * 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, v. 2.1. + * This program is distributed in the hope that it will be useful, but WITHOUT A + * 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, + * v.2.1 along with this distribution; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301, USA. + */ +package org.hibernate.osgitest; + +import org.hibernate.boot.model.TypeContributions; +import org.hibernate.boot.model.TypeContributor; +import org.hibernate.service.ServiceRegistry; + + +/** + * @author Brett Meyer + */ +public class TestTypeContributor implements TypeContributor { + + public void contribute(TypeContributions typeContributions, ServiceRegistry serviceRegistry) { + System.out.println("TypeContributor#contribute"); + } + +} diff --git a/src/it/tutorials-5.2.18/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/command/AddCommand.java b/src/it/tutorials-5.2.18/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/command/AddCommand.java new file mode 100644 index 00000000..c1b906c0 --- /dev/null +++ b/src/it/tutorials-5.2.18/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/command/AddCommand.java @@ -0,0 +1,44 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.hibernate.osgitest.command; + +import org.apache.felix.gogo.commands.Action; +import org.apache.felix.gogo.commands.Argument; +import org.apache.felix.gogo.commands.Command; +import org.apache.felix.service.command.CommandSession; +import org.hibernate.osgitest.DataPointService; +import org.hibernate.osgitest.entity.DataPoint; + +@Command(scope = "dp", name = "addJPA") +public class AddCommand implements Action { + @Argument(index=0, name="Name", required=true, description="Name", multiValued=false) + String name; + + private DataPointService dpService; + + public void setDpService(DataPointService dpService) { + this.dpService = dpService; + } + + public Object execute(CommandSession session) throws Exception { + DataPoint dp = new DataPoint(); + dp.setName( name ); + dpService.add( dp ); + return null; + } + +} diff --git a/src/it/tutorials-5.2.18/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/command/DeleteAllCommand.java b/src/it/tutorials-5.2.18/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/command/DeleteAllCommand.java new file mode 100644 index 00000000..0d404ae1 --- /dev/null +++ b/src/it/tutorials-5.2.18/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/command/DeleteAllCommand.java @@ -0,0 +1,37 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.hibernate.osgitest.command; + +import org.apache.felix.gogo.commands.Action; +import org.apache.felix.gogo.commands.Command; +import org.apache.felix.service.command.CommandSession; +import org.hibernate.osgitest.DataPointService; + +@Command(scope = "dp", name = "deleteAllJPA") +public class DeleteAllCommand implements Action { +private DataPointService dpService; + + public void setDpService(DataPointService dpService) { + this.dpService = dpService; + } + + public Object execute(CommandSession session) throws Exception { + dpService.deleteAll(); + return null; + } + +} diff --git a/src/it/tutorials-5.2.18/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/command/GetAllCommand.java b/src/it/tutorials-5.2.18/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/command/GetAllCommand.java new file mode 100644 index 00000000..6873e463 --- /dev/null +++ b/src/it/tutorials-5.2.18/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/command/GetAllCommand.java @@ -0,0 +1,43 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.hibernate.osgitest.command; + +import java.util.List; + +import org.apache.felix.gogo.commands.Action; +import org.apache.felix.gogo.commands.Command; +import org.apache.felix.service.command.CommandSession; +import org.hibernate.osgitest.DataPointService; +import org.hibernate.osgitest.entity.DataPoint; + +@Command(scope = "dp", name = "getAllJPA") +public class GetAllCommand implements Action { + private DataPointService dpService; + + public void setDpService(DataPointService dpService) { + this.dpService = dpService; + } + + public Object execute(CommandSession session) throws Exception { + List dps = dpService.getAll(); + for (DataPoint dp : dps) { + System.out.println(dp.getId() + ", " + dp.getName()); + } + return null; + } + +} diff --git a/src/it/tutorials-5.2.18/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/command/UpdateCommand.java b/src/it/tutorials-5.2.18/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/command/UpdateCommand.java new file mode 100644 index 00000000..5de8983d --- /dev/null +++ b/src/it/tutorials-5.2.18/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/command/UpdateCommand.java @@ -0,0 +1,47 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.hibernate.osgitest.command; + +import org.apache.felix.gogo.commands.Action; +import org.apache.felix.gogo.commands.Argument; +import org.apache.felix.gogo.commands.Command; +import org.apache.felix.service.command.CommandSession; +import org.hibernate.osgitest.DataPointService; +import org.hibernate.osgitest.entity.DataPoint; + +@Command(scope = "dp", name = "updateJPA") +public class UpdateCommand implements Action { + @Argument(index=0, name="Id", required=true, description="Id", multiValued=false) + String id; + + @Argument(index=1, name="Name", required=true, description="Name", multiValued=false) + String name; + + private DataPointService dpService; + + public void setDpService(DataPointService dpService) { + this.dpService = dpService; + } + + public Object execute(CommandSession session) throws Exception { + DataPoint dp = dpService.get( Long.valueOf( id ) ); + dp.setName( name ); + dpService.update( dp ); + return null; + } + +} diff --git a/src/it/tutorials-5.2.18/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/entity/DataPoint.java b/src/it/tutorials-5.2.18/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/entity/DataPoint.java new file mode 100644 index 00000000..2a566d88 --- /dev/null +++ b/src/it/tutorials-5.2.18/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/entity/DataPoint.java @@ -0,0 +1,53 @@ +/* + * Hibernate, Relational Persistence for Idiomatic Java + * + * JBoss, Home of Professional Open Source + * Copyright 2013 Red Hat Inc. and/or its affiliates and other contributors + * as indicated by the @authors tag. All rights reserved. + * See the copyright.txt in the distribution for a + * full listing of individual contributors. + * + * 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, v. 2.1. + * This program is distributed in the hope that it will be useful, but WITHOUT A + * 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, + * v.2.1 along with this distribution; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301, USA. + */ +package org.hibernate.osgitest.entity; + +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.Id; + +/** + * @author Brett Meyer + */ +@Entity +public class DataPoint { + @Id + @GeneratedValue + private long id; + + private String name; + + public long getId() { + return id; + } + + public void setId(long id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } +} diff --git a/src/it/tutorials-5.2.18/osgi/unmanaged-jpa/src/main/resources/META-INF/persistence.xml b/src/it/tutorials-5.2.18/osgi/unmanaged-jpa/src/main/resources/META-INF/persistence.xml new file mode 100644 index 00000000..b0ebfe70 --- /dev/null +++ b/src/it/tutorials-5.2.18/osgi/unmanaged-jpa/src/main/resources/META-INF/persistence.xml @@ -0,0 +1,24 @@ + + + + + org.hibernate.osgitest.entity.DataPoint + true + + + + + + + + + + + \ No newline at end of file diff --git a/src/it/tutorials-5.2.18/osgi/unmanaged-jpa/src/main/resources/OSGI-INF/blueprint/blueprint.xml b/src/it/tutorials-5.2.18/osgi/unmanaged-jpa/src/main/resources/OSGI-INF/blueprint/blueprint.xml new file mode 100644 index 00000000..283ee107 --- /dev/null +++ b/src/it/tutorials-5.2.18/osgi/unmanaged-jpa/src/main/resources/OSGI-INF/blueprint/blueprint.xml @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/it/tutorials-5.2.18/osgi/unmanaged-native/features.xml b/src/it/tutorials-5.2.18/osgi/unmanaged-native/features.xml new file mode 100644 index 00000000..f3b2b2d5 --- /dev/null +++ b/src/it/tutorials-5.2.18/osgi/unmanaged-native/features.xml @@ -0,0 +1,78 @@ + + + + + + + + + mvn:org.jboss.spec.javax.transaction/jboss-transaction-api_1.2_spec/1.0.1.Final + + + mvn:org.hibernate.javax.persistence/hibernate-jpa-2.1-api/1.0.0.Final + + + mvn:commons-collections/commons-collections/3.2.1 + mvn:commons-pool/commons-pool/1.5.4 + mvn:commons-dbcp/commons-dbcp/1.4 + mvn:commons-lang/commons-lang/2.6 + wrap:mvn:net.sourceforge.serp/serp/1.13.1 + + mvn:com.h2database/h2/1.3.170 + + + mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.antlr/2.7.7_5 + mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.dom4j/1.6.1_5 + + + wrap:mvn:org.jboss/jandex/1.1.0.Final + + + + + + + + mvn:com.fasterxml/classmate/0.8.0 + mvn:org.apache.logging.log4j/log4j-api/2.0 + mvn:log4j/log4j/1.2.17 + mvn:org.jboss.logging/jboss-logging/3.2.1.Final + mvn:org.javassist/javassist/3.18.1-GA + + mvn:org.hibernate.common/hibernate-commons-annotations/4.0.5.Final + + + + + + + + + + + + mvn:org.hibernate/hibernate-core/5.2.18.Final + + mvn:org.hibernate/hibernate-envers/5.2.18.Final + + + + + mvn:org.hibernate/hibernate-osgi/5.2.18.Final + + mvn:org.hibernate.osgi/unmanaged-native/1.0.0 + + diff --git a/src/it/tutorials-5.2.18/osgi/unmanaged-native/pom.xml b/src/it/tutorials-5.2.18/osgi/unmanaged-native/pom.xml new file mode 100644 index 00000000..d24f03d5 --- /dev/null +++ b/src/it/tutorials-5.2.18/osgi/unmanaged-native/pom.xml @@ -0,0 +1,89 @@ + + + 4.0.0 + org.hibernate.osgi + unmanaged-native + 1.0.0 + bundle + + + + org.hibernate.javax.persistence + hibernate-jpa-2.1-api + 1.0.0.Final + + + org.osgi + org.osgi.core + 4.3.1 + + + org.osgi + org.osgi.enterprise + 4.2.0 + + + org.apache.karaf.shell + org.apache.karaf.shell.console + 2.3.0 + + + org.hibernate + hibernate-core + 5.2.18.Final + + + org.hibernate + hibernate-envers + 5.2.18.Final + + + com.h2database + h2 + 1.3.170 + + + + + + + + org.apache.felix + maven-bundle-plugin + true + + + org.hibernate.osgi.unmanaged-native + unmanaged-native + 1.0.0 + + org.hibernate.osgitest, + org.hibernate.osgitest.entity + + + org.apache.felix.service.command, + org.apache.felix.gogo.commands, + org.apache.karaf.shell.console, + org.apache.karaf.shell.commands, + org.h2, + org.hibernate, + org.hibernate.cfg, + org.hibernate.service, + javax.persistence;version="[1.0.0,2.1.0]", + + org.hibernate.proxy, + javassist.util.proxy, + * + + + + + + + diff --git a/src/it/tutorials-5.2.18/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/DataPointService.java b/src/it/tutorials-5.2.18/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/DataPointService.java new file mode 100644 index 00000000..12fb79a9 --- /dev/null +++ b/src/it/tutorials-5.2.18/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/DataPointService.java @@ -0,0 +1,47 @@ +/* + * Hibernate, Relational Persistence for Idiomatic Java + * + * JBoss, Home of Professional Open Source + * Copyright 2013 Red Hat Inc. and/or its affiliates and other contributors + * as indicated by the @authors tag. All rights reserved. + * See the copyright.txt in the distribution for a + * full listing of individual contributors. + * + * 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, v. 2.1. + * This program is distributed in the hope that it will be useful, but WITHOUT A + * 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, + * v.2.1 along with this distribution; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301, USA. + */ +package org.hibernate.osgitest; + +import java.util.List; +import java.util.Map; + +import org.hibernate.envers.DefaultRevisionEntity; +import org.hibernate.osgitest.entity.DataPoint; + +/** + * @author Brett Meyer + */ +public interface DataPointService { + + public void add(DataPoint dp); + + public void update(DataPoint dp); + + public DataPoint get(long id); + + public DataPoint load(long id); + + public List getAll(); + + public Map getRevisions(long id); + + public void deleteAll(); +} diff --git a/src/it/tutorials-5.2.18/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/DataPointServiceImpl.java b/src/it/tutorials-5.2.18/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/DataPointServiceImpl.java new file mode 100644 index 00000000..a8f6f720 --- /dev/null +++ b/src/it/tutorials-5.2.18/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/DataPointServiceImpl.java @@ -0,0 +1,103 @@ +/* + * Hibernate, Relational Persistence for Idiomatic Java + * + * JBoss, Home of Professional Open Source + * Copyright 2013 Red Hat Inc. and/or its affiliates and other contributors + * as indicated by the @authors tag. All rights reserved. + * See the copyright.txt in the distribution for a + * full listing of individual contributors. + * + * 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, v. 2.1. + * This program is distributed in the hope that it will be useful, but WITHOUT A + * 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, + * v.2.1 along with this distribution; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301, USA. + */ +package org.hibernate.osgitest; + +import org.hibernate.Session; +import org.hibernate.criterion.Restrictions; +import org.hibernate.envers.AuditReader; +import org.hibernate.envers.AuditReaderFactory; +import org.hibernate.envers.DefaultRevisionEntity; +import org.hibernate.osgitest.entity.DataPoint; + +import java.util.HashSet; +import java.util.List; +import java.util.Map; + +/** + * @author Brett Meyer + */ +public class DataPointServiceImpl implements DataPointService { + + private HibernateUtil hibernateUtil = new HibernateUtil(); + + public void add(DataPoint dp) { + Session s = hibernateUtil.getSession(); + s.getTransaction().begin(); + s.persist( dp ); + s.getTransaction().commit(); + s.close(); + } + + public void update(DataPoint dp) { + Session s = hibernateUtil.getSession(); + s.getTransaction().begin(); + s.update( dp ); + s.getTransaction().commit(); + s.close(); + } + + public DataPoint get(long id) { + Session s = hibernateUtil.getSession(); + s.getTransaction().begin(); + DataPoint dp = (DataPoint) s.createCriteria( DataPoint.class ).add( + Restrictions.eq( "id", id ) ).uniqueResult(); + s.getTransaction().commit(); + s.close(); + return dp; + } + + // Test lazy loading (mainly to make sure the proxy classes work in OSGi) + public DataPoint load(long id) { + Session s = hibernateUtil.getSession(); + s.getTransaction().begin(); + DataPoint dp = (DataPoint) s.load( DataPoint.class, new Long(id) ); + // initialize + dp.getName(); + s.getTransaction().commit(); + s.close(); + return dp; + } + + public List getAll() { + Session s = hibernateUtil.getSession(); + s.getTransaction().begin(); + List list = s.createQuery( "from DataPoint" ).list(); + s.getTransaction().commit(); + s.close(); + return list; + } + + public Map getRevisions(long id) { + Session s = hibernateUtil.getSession(); + AuditReader reader = AuditReaderFactory.get(s); + List revisionNums = reader.getRevisions( DataPoint.class, id ); + return reader.findRevisions( DefaultRevisionEntity.class, new HashSet(revisionNums) ); + } + + public void deleteAll() { + Session s = hibernateUtil.getSession(); + s.getTransaction().begin(); + s.createQuery( "delete from DataPoint" ).executeUpdate(); + s.getTransaction().commit(); + s.close(); + } + +} diff --git a/src/it/tutorials-5.2.18/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/HibernateUtil.java b/src/it/tutorials-5.2.18/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/HibernateUtil.java new file mode 100644 index 00000000..15fb4c7d --- /dev/null +++ b/src/it/tutorials-5.2.18/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/HibernateUtil.java @@ -0,0 +1,53 @@ +/* + * Hibernate, Relational Persistence for Idiomatic Java + * + * JBoss, Home of Professional Open Source + * Copyright 2013 Red Hat Inc. and/or its affiliates and other contributors + * as indicated by the @authors tag. All rights reserved. + * See the copyright.txt in the distribution for a + * full listing of individual contributors. + * + * 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, v. 2.1. + * This program is distributed in the hope that it will be useful, but WITHOUT A + * 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, + * v.2.1 along with this distribution; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301, USA. + */ +package org.hibernate.osgitest; + +import org.hibernate.Session; +import org.hibernate.SessionFactory; +import org.osgi.framework.Bundle; +import org.osgi.framework.BundleContext; +import org.osgi.framework.FrameworkUtil; +import org.osgi.framework.ServiceReference; + +/** + * @author Brett Meyer + */ + +public class HibernateUtil { + + private SessionFactory sf; + + public Session getSession() { + return getSessionFactory().openSession(); + } + + private SessionFactory getSessionFactory() { + if ( sf == null ) { + Bundle thisBundle = FrameworkUtil.getBundle( HibernateUtil.class ); + // Could get this by wiring up OsgiTestBundleActivator as well. + BundleContext context = thisBundle.getBundleContext(); + + ServiceReference sr = context.getServiceReference( SessionFactory.class.getName() ); + sf = (SessionFactory) context.getService( sr ); + } + return sf; + } +} diff --git a/src/it/tutorials-5.2.18/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/TestIntegrator.java b/src/it/tutorials-5.2.18/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/TestIntegrator.java new file mode 100644 index 00000000..95b2e631 --- /dev/null +++ b/src/it/tutorials-5.2.18/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/TestIntegrator.java @@ -0,0 +1,45 @@ +/* + * Hibernate, Relational Persistence for Idiomatic Java + * + * JBoss, Home of Professional Open Source + * Copyright 2013 Red Hat Inc. and/or its affiliates and other contributors + * as indicated by the @authors tag. All rights reserved. + * See the copyright.txt in the distribution for a + * full listing of individual contributors. + * + * 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, v. 2.1. + * This program is distributed in the hope that it will be useful, but WITHOUT A + * 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, + * v.2.1 along with this distribution; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301, USA. + */ +package org.hibernate.osgitest; + +import org.hibernate.boot.Metadata; +import org.hibernate.engine.spi.SessionFactoryImplementor; +import org.hibernate.integrator.spi.Integrator; +import org.hibernate.service.spi.SessionFactoryServiceRegistry; + + +/** + * @author Brett Meyer + */ +public class TestIntegrator implements Integrator { + + public void integrate( + Metadata metadata, + SessionFactoryImplementor sessionFactory, + SessionFactoryServiceRegistry serviceRegistry) { + System.out.println("Integrator#integrate"); + } + + public void disintegrate(SessionFactoryImplementor sessionFactory, SessionFactoryServiceRegistry serviceRegistry) { + System.out.println("Integrator#disintegrate"); + } + +} diff --git a/src/it/tutorials-5.2.18/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/TestStrategyRegistrationProvider.java b/src/it/tutorials-5.2.18/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/TestStrategyRegistrationProvider.java new file mode 100644 index 00000000..f7ad26f5 --- /dev/null +++ b/src/it/tutorials-5.2.18/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/TestStrategyRegistrationProvider.java @@ -0,0 +1,37 @@ +/* + * Hibernate, Relational Persistence for Idiomatic Java + * + * JBoss, Home of Professional Open Source + * Copyright 2013 Red Hat Inc. and/or its affiliates and other contributors + * as indicated by the @authors tag. All rights reserved. + * See the copyright.txt in the distribution for a + * full listing of individual contributors. + * + * 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, v. 2.1. + * This program is distributed in the hope that it will be useful, but WITHOUT A + * 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, + * v.2.1 along with this distribution; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301, USA. + */ +package org.hibernate.osgitest; + +import java.util.Collections; + +import org.hibernate.boot.registry.selector.StrategyRegistration; +import org.hibernate.boot.registry.selector.StrategyRegistrationProvider; + +/** + * @author Brett Meyer + */ +public class TestStrategyRegistrationProvider implements StrategyRegistrationProvider { + + public Iterable getStrategyRegistrations() { + System.out.println("StrategyRegistrationProvider#getStrategyRegistrations"); + return Collections.EMPTY_LIST; + } +} diff --git a/src/it/tutorials-5.2.18/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/TestTypeContributor.java b/src/it/tutorials-5.2.18/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/TestTypeContributor.java new file mode 100644 index 00000000..87a83841 --- /dev/null +++ b/src/it/tutorials-5.2.18/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/TestTypeContributor.java @@ -0,0 +1,37 @@ +/* + * Hibernate, Relational Persistence for Idiomatic Java + * + * JBoss, Home of Professional Open Source + * Copyright 2013 Red Hat Inc. and/or its affiliates and other contributors + * as indicated by the @authors tag. All rights reserved. + * See the copyright.txt in the distribution for a + * full listing of individual contributors. + * + * 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, v. 2.1. + * This program is distributed in the hope that it will be useful, but WITHOUT A + * 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, + * v.2.1 along with this distribution; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301, USA. + */ +package org.hibernate.osgitest; + +import org.hibernate.boot.model.TypeContributions; +import org.hibernate.boot.model.TypeContributor; +import org.hibernate.service.ServiceRegistry; + + +/** + * @author Brett Meyer + */ +public class TestTypeContributor implements TypeContributor { + + public void contribute(TypeContributions typeContributions, ServiceRegistry serviceRegistry) { + System.out.println("TypeContributor#contribute"); + } + +} diff --git a/src/it/tutorials-5.2.18/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/command/AddCommand.java b/src/it/tutorials-5.2.18/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/command/AddCommand.java new file mode 100644 index 00000000..9e9844c3 --- /dev/null +++ b/src/it/tutorials-5.2.18/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/command/AddCommand.java @@ -0,0 +1,44 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.hibernate.osgitest.command; + +import org.apache.felix.gogo.commands.Action; +import org.apache.felix.gogo.commands.Argument; +import org.apache.felix.gogo.commands.Command; +import org.apache.felix.service.command.CommandSession; +import org.hibernate.osgitest.DataPointService; +import org.hibernate.osgitest.entity.DataPoint; + +@Command(scope = "dp", name = "add") +public class AddCommand implements Action { + @Argument(index=0, name="Name", required=true, description="Name", multiValued=false) + String name; + + private DataPointService dpService; + + public void setDpService(DataPointService dpService) { + this.dpService = dpService; + } + + public Object execute(CommandSession session) throws Exception { + DataPoint dp = new DataPoint(); + dp.setName( name ); + dpService.add( dp ); + return null; + } + +} diff --git a/src/it/tutorials-5.2.18/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/command/DeleteAllCommand.java b/src/it/tutorials-5.2.18/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/command/DeleteAllCommand.java new file mode 100644 index 00000000..d6c4ccf6 --- /dev/null +++ b/src/it/tutorials-5.2.18/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/command/DeleteAllCommand.java @@ -0,0 +1,37 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.hibernate.osgitest.command; + +import org.apache.felix.gogo.commands.Action; +import org.apache.felix.gogo.commands.Command; +import org.apache.felix.service.command.CommandSession; +import org.hibernate.osgitest.DataPointService; + +@Command(scope = "dp", name = "deleteAll") +public class DeleteAllCommand implements Action { +private DataPointService dpService; + + public void setDpService(DataPointService dpService) { + this.dpService = dpService; + } + + public Object execute(CommandSession session) throws Exception { + dpService.deleteAll(); + return null; + } + +} diff --git a/src/it/tutorials-5.2.18/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/command/GetAllCommand.java b/src/it/tutorials-5.2.18/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/command/GetAllCommand.java new file mode 100644 index 00000000..ebdac60e --- /dev/null +++ b/src/it/tutorials-5.2.18/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/command/GetAllCommand.java @@ -0,0 +1,43 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.hibernate.osgitest.command; + +import java.util.List; + +import org.apache.felix.gogo.commands.Action; +import org.apache.felix.gogo.commands.Command; +import org.apache.felix.service.command.CommandSession; +import org.hibernate.osgitest.DataPointService; +import org.hibernate.osgitest.entity.DataPoint; + +@Command(scope = "dp", name = "getAll") +public class GetAllCommand implements Action { + private DataPointService dpService; + + public void setDpService(DataPointService dpService) { + this.dpService = dpService; + } + + public Object execute(CommandSession session) throws Exception { + List dps = dpService.getAll(); + for (DataPoint dp : dps) { + System.out.println(dp.getId() + ", " + dp.getName()); + } + return null; + } + +} diff --git a/src/it/tutorials-5.2.18/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/command/GetCommand.java b/src/it/tutorials-5.2.18/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/command/GetCommand.java new file mode 100644 index 00000000..0597d709 --- /dev/null +++ b/src/it/tutorials-5.2.18/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/command/GetCommand.java @@ -0,0 +1,43 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.hibernate.osgitest.command; + +import org.apache.felix.gogo.commands.Action; +import org.apache.felix.gogo.commands.Argument; +import org.apache.felix.gogo.commands.Command; +import org.apache.felix.service.command.CommandSession; +import org.hibernate.osgitest.DataPointService; +import org.hibernate.osgitest.entity.DataPoint; + +@Command(scope = "dp", name = "get") +public class GetCommand implements Action { + @Argument(index = 0, name = "Id", required = true, description = "Id", multiValued = false) + String id; + + private DataPointService dpService; + + public void setDpService(DataPointService dpService) { + this.dpService = dpService; + } + + public Object execute(CommandSession session) throws Exception { + DataPoint dp = dpService.get( Long.valueOf( id ) ); + System.out.println( dp.getId() + ", " + dp.getName() ); + return null; + } + +} diff --git a/src/it/tutorials-5.2.18/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/command/GetRevisionsCommand.java b/src/it/tutorials-5.2.18/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/command/GetRevisionsCommand.java new file mode 100644 index 00000000..b4573f62 --- /dev/null +++ b/src/it/tutorials-5.2.18/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/command/GetRevisionsCommand.java @@ -0,0 +1,48 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.hibernate.osgitest.command; + +import java.util.Map; + +import org.apache.felix.gogo.commands.Action; +import org.apache.felix.gogo.commands.Argument; +import org.apache.felix.gogo.commands.Command; +import org.apache.felix.service.command.CommandSession; +import org.hibernate.envers.DefaultRevisionEntity; +import org.hibernate.osgitest.DataPointService; + +@Command(scope = "dp", name = "getRevisions") +public class GetRevisionsCommand implements Action { + @Argument(index=0, name="Id", required=true, description="Id", multiValued=false) + String id; + + private DataPointService dpService; + + public void setDpService(DataPointService dpService) { + this.dpService = dpService; + } + + public Object execute(CommandSession session) throws Exception { + Map revisions = dpService.getRevisions(Long.valueOf( id )); + for (Number revisionNum : revisions.keySet()) { + DefaultRevisionEntity dre = revisions.get( revisionNum ); + System.out.println(revisionNum + ": " + dre.getId() + ", " + dre.getTimestamp()); + } + return null; + } + +} diff --git a/src/it/tutorials-5.2.18/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/command/LoadCommand.java b/src/it/tutorials-5.2.18/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/command/LoadCommand.java new file mode 100644 index 00000000..3451a986 --- /dev/null +++ b/src/it/tutorials-5.2.18/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/command/LoadCommand.java @@ -0,0 +1,43 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.hibernate.osgitest.command; + +import org.apache.felix.gogo.commands.Action; +import org.apache.felix.gogo.commands.Argument; +import org.apache.felix.gogo.commands.Command; +import org.apache.felix.service.command.CommandSession; +import org.hibernate.osgitest.DataPointService; +import org.hibernate.osgitest.entity.DataPoint; + +@Command(scope = "dp", name = "load") +public class LoadCommand implements Action { + @Argument(index = 0, name = "Id", required = true, description = "Id", multiValued = false) + String id; + + private DataPointService dpService; + + public void setDpService(DataPointService dpService) { + this.dpService = dpService; + } + + public Object execute(CommandSession session) throws Exception { + DataPoint dp = dpService.load( Long.valueOf( id ) ); + System.out.println( dp.getId() + ", " + dp.getName() ); + return null; + } + +} diff --git a/src/it/tutorials-5.2.18/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/command/UpdateCommand.java b/src/it/tutorials-5.2.18/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/command/UpdateCommand.java new file mode 100644 index 00000000..f6949674 --- /dev/null +++ b/src/it/tutorials-5.2.18/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/command/UpdateCommand.java @@ -0,0 +1,47 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.hibernate.osgitest.command; + +import org.apache.felix.gogo.commands.Action; +import org.apache.felix.gogo.commands.Argument; +import org.apache.felix.gogo.commands.Command; +import org.apache.felix.service.command.CommandSession; +import org.hibernate.osgitest.DataPointService; +import org.hibernate.osgitest.entity.DataPoint; + +@Command(scope = "dp", name = "update") +public class UpdateCommand implements Action { + @Argument(index=0, name="Id", required=true, description="Id", multiValued=false) + String id; + + @Argument(index=1, name="Name", required=true, description="Name", multiValued=false) + String name; + + private DataPointService dpService; + + public void setDpService(DataPointService dpService) { + this.dpService = dpService; + } + + public Object execute(CommandSession session) throws Exception { + DataPoint dp = dpService.get( Long.valueOf( id ) ); + dp.setName( name ); + dpService.update( dp ); + return null; + } + +} diff --git a/src/it/tutorials-5.2.18/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/entity/DataPoint.java b/src/it/tutorials-5.2.18/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/entity/DataPoint.java new file mode 100644 index 00000000..2e5ef724 --- /dev/null +++ b/src/it/tutorials-5.2.18/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/entity/DataPoint.java @@ -0,0 +1,58 @@ +/* + * Hibernate, Relational Persistence for Idiomatic Java + * + * JBoss, Home of Professional Open Source + * Copyright 2013 Red Hat Inc. and/or its affiliates and other contributors + * as indicated by the @authors tag. All rights reserved. + * See the copyright.txt in the distribution for a + * full listing of individual contributors. + * + * 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, v. 2.1. + * This program is distributed in the hope that it will be useful, but WITHOUT A + * 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, + * v.2.1 along with this distribution; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301, USA. + */ +package org.hibernate.osgitest.entity; + +import java.io.Serializable; + +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.Id; + +import org.hibernate.envers.Audited; + +/** + * @author Brett Meyer + */ +@Entity +@Audited +public class DataPoint implements Serializable { + @Id + @GeneratedValue + private long id; + + private String name; + + public long getId() { + return id; + } + + public void setId(long id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } +} diff --git a/src/it/tutorials-5.2.18/osgi/unmanaged-native/src/main/resources/OSGI-INF/blueprint/blueprint.xml b/src/it/tutorials-5.2.18/osgi/unmanaged-native/src/main/resources/OSGI-INF/blueprint/blueprint.xml new file mode 100644 index 00000000..f62626a1 --- /dev/null +++ b/src/it/tutorials-5.2.18/osgi/unmanaged-native/src/main/resources/OSGI-INF/blueprint/blueprint.xml @@ -0,0 +1,65 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/it/tutorials-5.2.18/osgi/unmanaged-native/src/main/resources/ehcache.xml b/src/it/tutorials-5.2.18/osgi/unmanaged-native/src/main/resources/ehcache.xml new file mode 100644 index 00000000..52d198d6 --- /dev/null +++ b/src/it/tutorials-5.2.18/osgi/unmanaged-native/src/main/resources/ehcache.xml @@ -0,0 +1,94 @@ + + + + + + + + + + + + + + + + + --> + + + + diff --git a/src/it/tutorials-5.2.18/osgi/unmanaged-native/src/main/resources/hibernate.cfg.xml b/src/it/tutorials-5.2.18/osgi/unmanaged-native/src/main/resources/hibernate.cfg.xml new file mode 100644 index 00000000..7f9f2380 --- /dev/null +++ b/src/it/tutorials-5.2.18/osgi/unmanaged-native/src/main/resources/hibernate.cfg.xml @@ -0,0 +1,52 @@ + + + + + + + org.h2.Driver + jdbc:h2:mem:db1;DB_CLOSE_DELAY=-1;MVCC=TRUE + sa + + org.hibernate.dialect.H2Dialect + create-drop + + + + + + + + + + + + + diff --git a/src/it/tutorials-5.2.18/osgi/unmanaged-native/src/main/resources/pool-one.properties b/src/it/tutorials-5.2.18/osgi/unmanaged-native/src/main/resources/pool-one.properties new file mode 100644 index 00000000..7e1c4cf1 --- /dev/null +++ b/src/it/tutorials-5.2.18/osgi/unmanaged-native/src/main/resources/pool-one.properties @@ -0,0 +1,13 @@ +# +# Hibernate, Relational Persistence for Idiomatic Java +# +# License: GNU Lesser General Public License (LGPL), version 2.1 or later. +# See the lgpl.txt file in the root directory or . +# +jdbc-0.proxool.alias=pool-one +jdbc-0.proxool.driver-url=jdbc:h2:mem:db1;DB_CLOSE_DELAY=-1;MVCC=TRUE +jdbc-0.proxool.driver-class=org.h2.Driver +jdbc-0.user=sa +jdbc-0.password= +jdbc-0.proxool.maximum-connection-count=2 +jdbc-0.proxool.house-keeping-test-sql=select CURRENT_DATE \ No newline at end of file diff --git a/src/it/tutorials-5.2.18/pom.xml b/src/it/tutorials-5.2.18/pom.xml new file mode 100644 index 00000000..26d0f89c --- /dev/null +++ b/src/it/tutorials-5.2.18/pom.xml @@ -0,0 +1,77 @@ + + + + + 4.0.0 + + org.hibernate.tutorials + hibernate-tutorials + 5.2.18.Final + pom + + Hibernate Getting Started Guide Tutorials + Aggregator for the Hibernate tutorials presented in the Getting Started Guide + + + + true + + + + basic + annotations + entitymanager + envers + osgi + + + + + org.hibernate + hibernate-core + 5.2.18.Final + + + + + org.slf4j + slf4j-simple + 1.7.5 + + + + + junit + junit + 4.12 + + + + + com.h2database + h2 + 1.4.196 + + + + + + + false + src/test/java + + **/*.xml + + + + src/test/resources + + + + + diff --git a/src/it/tutorials/annotations/pom.xml b/src/it/tutorials/annotations/pom.xml deleted file mode 100644 index 86982ad2..00000000 --- a/src/it/tutorials/annotations/pom.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - - 4.0.0 - - - org.hibernate.tutorials - hibernate-tutorials - 4.3.9.Final - ../pom.xml - - - hibernate-tutorial-annotations - Hibernate Annotations Tutorial - Hibernate tutorial illustrating the use of native APIs and annotations for mapping metadata - - - - true - @project.version@ - - - - - - - de.juplo - hibernate-maven-plugin - ${h4mp.version} - - - process-test-classes - - create - - - - - true - true - - - - - - diff --git a/src/it/tutorials/annotations/src/test/java/org/hibernate/tutorial/annotations/AnnotationsIllustrationTest.java b/src/it/tutorials/annotations/src/test/java/org/hibernate/tutorial/annotations/AnnotationsIllustrationTest.java deleted file mode 100644 index c1131d23..00000000 --- a/src/it/tutorials/annotations/src/test/java/org/hibernate/tutorial/annotations/AnnotationsIllustrationTest.java +++ /dev/null @@ -1,79 +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.annotations; - -import java.util.Date; -import java.util.List; - -import junit.framework.TestCase; - -import org.hibernate.Session; -import org.hibernate.SessionFactory; -import org.hibernate.cfg.Configuration; - -/** - * Illustrates the use of Hibernate native APIs. The code here is unchanged from the {@code basic} example, the - * only difference being the use of annotations to supply the metadata instead of Hibernate mapping files. - * - * @author Steve Ebersole - */ -public class AnnotationsIllustrationTest extends TestCase { - private SessionFactory sessionFactory; - - @Override - protected void setUp() throws Exception { - // A SessionFactory is set up once for an application - sessionFactory = new Configuration() - .configure() // configures settings from hibernate.cfg.xml - .buildSessionFactory(); - } - - @Override - protected void tearDown() throws Exception { - if ( sessionFactory != null ) { - sessionFactory.close(); - } - } - - @SuppressWarnings({ "unchecked" }) - public void testBasicUsage() { - // create a couple of events... - Session session = sessionFactory.openSession(); - session.beginTransaction(); - session.save( new Event( "Our very first event!", new Date() ) ); - session.save( new Event( "A follow up event", new Date() ) ); - session.getTransaction().commit(); - session.close(); - - // now lets pull events from the database and list them - session = sessionFactory.openSession(); - session.beginTransaction(); - List result = session.createQuery( "from Event" ).list(); - for ( Event event : (List) result ) { - System.out.println( "Event (" + event.getDate() + ") : " + event.getTitle() ); - } - session.getTransaction().commit(); - session.close(); - } -} diff --git a/src/it/tutorials/annotations/src/test/java/org/hibernate/tutorial/annotations/Event.java b/src/it/tutorials/annotations/src/test/java/org/hibernate/tutorial/annotations/Event.java deleted file mode 100644 index c66349f9..00000000 --- a/src/it/tutorials/annotations/src/test/java/org/hibernate/tutorial/annotations/Event.java +++ /dev/null @@ -1,83 +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.annotations; - -import java.util.Date; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.GeneratedValue; -import javax.persistence.Id; -import javax.persistence.Table; -import javax.persistence.Temporal; -import javax.persistence.TemporalType; - -import org.hibernate.annotations.GenericGenerator; - -@Entity -@Table( name = "EVENTS" ) -public class Event { - private Long id; - - private String title; - private Date date; - - public Event() { - // this form used by Hibernate - } - - public Event(String title, Date date) { - // for application use, to create new events - this.title = title; - this.date = date; - } - - @Id - @GeneratedValue(generator="increment") - @GenericGenerator(name="increment", strategy = "increment") - public Long getId() { - return id; - } - - private void setId(Long id) { - this.id = id; - } - - @Temporal(TemporalType.TIMESTAMP) - @Column(name = "EVENT_DATE") - public Date getDate() { - return date; - } - - public void setDate(Date date) { - this.date = date; - } - - public String getTitle() { - return title; - } - - public void setTitle(String title) { - this.title = title; - } -} \ No newline at end of file diff --git a/src/it/tutorials/annotations/src/test/resources/hibernate.cfg.xml b/src/it/tutorials/annotations/src/test/resources/hibernate.cfg.xml deleted file mode 100644 index d9ae1f53..00000000 --- a/src/it/tutorials/annotations/src/test/resources/hibernate.cfg.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - - - - - org.h2.Driver - jdbc:h2:${project.build.directory}/db/test;MVCC=TRUE - sa - - - - 1 - - - org.hibernate.dialect.H2Dialect - - - org.hibernate.cache.internal.NoCacheProvider - - - true - - - - - - - \ No newline at end of file diff --git a/src/it/tutorials/basic/pom.xml b/src/it/tutorials/basic/pom.xml deleted file mode 100644 index 64ecf121..00000000 --- a/src/it/tutorials/basic/pom.xml +++ /dev/null @@ -1,68 +0,0 @@ - - - - - 4.0.0 - - - org.hibernate.tutorials - hibernate-tutorials - 4.3.9.Final - ../pom.xml - - - hibernate-tutorial-hbm - Hibernate hbm.xml Tutorial - Hibernate tutorial illustrating the use of native APIs and hbm.xml for mapping metadata - - - - true - @project.version@ - - - - - - de.juplo - hibernate-maven-plugin - ${h4mp.version} - - - process-test-classes - - create - - - - - true - true - - - - - - diff --git a/src/it/tutorials/basic/src/test/java/org/hibernate/tutorial/hbm/Event.hbm.xml b/src/it/tutorials/basic/src/test/java/org/hibernate/tutorial/hbm/Event.hbm.xml deleted file mode 100644 index 2b3de75e..00000000 --- a/src/it/tutorials/basic/src/test/java/org/hibernate/tutorial/hbm/Event.hbm.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/src/it/tutorials/basic/src/test/java/org/hibernate/tutorial/hbm/Event.java b/src/it/tutorials/basic/src/test/java/org/hibernate/tutorial/hbm/Event.java deleted file mode 100644 index ae4c2dfd..00000000 --- a/src/it/tutorials/basic/src/test/java/org/hibernate/tutorial/hbm/Event.java +++ /dev/null @@ -1,67 +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.hbm; - -import java.util.Date; - -public class Event { - private Long id; - - private String title; - private Date date; - - public Event() { - // this form used by Hibernate - } - - public Event(String title, Date date) { - // for application use, to create new events - this.title = title; - this.date = date; - } - - public Long getId() { - return id; - } - - private void setId(Long id) { - this.id = id; - } - - public Date getDate() { - return date; - } - - public void setDate(Date date) { - this.date = date; - } - - public String getTitle() { - return title; - } - - public void setTitle(String title) { - this.title = title; - } -} \ No newline at end of file diff --git a/src/it/tutorials/basic/src/test/java/org/hibernate/tutorial/hbm/NativeApiIllustrationTest.java b/src/it/tutorials/basic/src/test/java/org/hibernate/tutorial/hbm/NativeApiIllustrationTest.java deleted file mode 100644 index c714f706..00000000 --- a/src/it/tutorials/basic/src/test/java/org/hibernate/tutorial/hbm/NativeApiIllustrationTest.java +++ /dev/null @@ -1,77 +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.hbm; - -import java.util.Date; -import java.util.List; - -import junit.framework.TestCase; - -import org.hibernate.Session; -import org.hibernate.SessionFactory; -import org.hibernate.cfg.Configuration; - -/** - * Illustrates use of Hibernate native APIs. - * - * @author Steve Ebersole - */ -public class NativeApiIllustrationTest extends TestCase { - private SessionFactory sessionFactory; - - @Override - protected void setUp() throws Exception { - // A SessionFactory is set up once for an application - sessionFactory = new Configuration() - .configure() // configures settings from hibernate.cfg.xml - .buildSessionFactory(); - } - - @Override - protected void tearDown() throws Exception { - if ( sessionFactory != null ) { - sessionFactory.close(); - } - } - - public void testBasicUsage() { - // create a couple of events... - Session session = sessionFactory.openSession(); - session.beginTransaction(); - session.save( new Event( "Our very first event!", new Date() ) ); - session.save( new Event( "A follow up event", new Date() ) ); - session.getTransaction().commit(); - session.close(); - - // now lets pull events from the database and list them - session = sessionFactory.openSession(); - session.beginTransaction(); - List result = session.createQuery( "from Event" ).list(); - for ( Event event : (List) result ) { - System.out.println( "Event (" + event.getDate() + ") : " + event.getTitle() ); - } - session.getTransaction().commit(); - session.close(); - } -} diff --git a/src/it/tutorials/basic/src/test/resources/hibernate.cfg.xml b/src/it/tutorials/basic/src/test/resources/hibernate.cfg.xml deleted file mode 100644 index 8144f2d2..00000000 --- a/src/it/tutorials/basic/src/test/resources/hibernate.cfg.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - org.h2.Driver - jdbc:h2:${project.build.directory}/db/test;MVCC=TRUE - sa - - - - 1 - - - org.hibernate.dialect.H2Dialect - - - org.hibernate.cache.internal.NoCacheProvider - - - true - - - create - - - - - - \ No newline at end of file diff --git a/src/it/tutorials/entitymanager/pom.xml b/src/it/tutorials/entitymanager/pom.xml deleted file mode 100644 index 9d740a5e..00000000 --- a/src/it/tutorials/entitymanager/pom.xml +++ /dev/null @@ -1,77 +0,0 @@ - - - - - 4.0.0 - - - org.hibernate.tutorials - hibernate-tutorials - 4.3.9.Final - ../pom.xml - - - hibernate-tutorial-entitymanager - Hibernate JPA Tutorial - Hibernate tutorial illustrating the use of JPA APIs and annotations for mapping metadata - - - - true - @project.version@ - - - - - org.hibernate - hibernate-entitymanager - 4.3.9.Final - - - - - - - de.juplo - hibernate-maven-plugin - ${h4mp.version} - - - process-test-classes - - create - - - - - true - org.hibernate.dialect.H2Dialect - true - - - - - - diff --git a/src/it/tutorials/entitymanager/src/test/java/org/hibernate/tutorial/em/EntityManagerIllustrationTest.java b/src/it/tutorials/entitymanager/src/test/java/org/hibernate/tutorial/em/EntityManagerIllustrationTest.java deleted file mode 100644 index feebd89a..00000000 --- a/src/it/tutorials/entitymanager/src/test/java/org/hibernate/tutorial/em/EntityManagerIllustrationTest.java +++ /dev/null @@ -1,73 +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.em; - -import java.util.Date; -import java.util.List; -import javax.persistence.EntityManager; -import javax.persistence.EntityManagerFactory; -import javax.persistence.Persistence; - -import junit.framework.TestCase; - -/** - * Illustrates basic use of Hibernate as a JPA provider. - * - * @author Steve Ebersole - */ -public class EntityManagerIllustrationTest 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.jpa" ); - } - - @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(); - } -} diff --git a/src/it/tutorials/entitymanager/src/test/java/org/hibernate/tutorial/em/Event.java b/src/it/tutorials/entitymanager/src/test/java/org/hibernate/tutorial/em/Event.java deleted file mode 100644 index 90fe4144..00000000 --- a/src/it/tutorials/entitymanager/src/test/java/org/hibernate/tutorial/em/Event.java +++ /dev/null @@ -1,83 +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.em; - -import java.util.Date; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.GeneratedValue; -import javax.persistence.Id; -import javax.persistence.Table; -import javax.persistence.Temporal; -import javax.persistence.TemporalType; - -import org.hibernate.annotations.GenericGenerator; - -@Entity -@Table( name = "EVENTS" ) -public class Event { - private Long id; - - private String title; - private Date date; - - public Event() { - // this form used by Hibernate - } - - public Event(String title, Date date) { - // for application use, to create new events - this.title = title; - this.date = date; - } - - @Id - @GeneratedValue(generator="increment") - @GenericGenerator(name="increment", strategy = "increment") - public Long getId() { - return id; - } - - private void setId(Long id) { - this.id = id; - } - - @Temporal(TemporalType.TIMESTAMP) - @Column(name = "EVENT_DATE") - public Date getDate() { - return date; - } - - public void setDate(Date date) { - this.date = date; - } - - public String getTitle() { - return title; - } - - public void setTitle(String title) { - this.title = title; - } -} \ No newline at end of file diff --git a/src/it/tutorials/entitymanager/src/test/resources/META-INF/persistence.xml b/src/it/tutorials/entitymanager/src/test/resources/META-INF/persistence.xml deleted file mode 100644 index ac112251..00000000 --- a/src/it/tutorials/entitymanager/src/test/resources/META-INF/persistence.xml +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - Persistence unit for the JPA tutorial of the Hibernate Getting Started Guide - - - org.hibernate.tutorial.em.Event - - - - - - - - - - - - - - diff --git a/src/it/tutorials/entitymanager/target/create.sql b/src/it/tutorials/entitymanager/target/create.sql deleted file mode 100644 index 48eb18ef..00000000 --- a/src/it/tutorials/entitymanager/target/create.sql +++ /dev/null @@ -1,7 +0,0 @@ - - create table EVENTS ( - id bigint not null, - EVENT_DATE timestamp, - title varchar(255), - primary key (id) - ); diff --git a/src/it/tutorials/envers/pom.xml b/src/it/tutorials/envers/pom.xml deleted file mode 100644 index f5d87692..00000000 --- a/src/it/tutorials/envers/pom.xml +++ /dev/null @@ -1,82 +0,0 @@ - - - - - 4.0.0 - - - org.hibernate.tutorials - hibernate-tutorials - 4.3.9.Final - ../pom.xml - - - hibernate-tutorial-envers - Hibernate Envers Tutorial - Hibernate tutorial illustrating basic set up and use of Envers - - - - true - @project.version@ - - - - - org.hibernate - hibernate-envers - 4.3.9.Final - - - org.hibernate - hibernate-entitymanager - 4.3.9.Final - - - - - - - de.juplo - hibernate-maven-plugin - ${h4mp.version} - - - process-test-classes - - create - - - - - true - org.hibernate.dialect.H2Dialect - true - - - - - - 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(); - } -} diff --git a/src/it/tutorials/envers/src/test/java/org/hibernate/tutorial/envers/Event.java b/src/it/tutorials/envers/src/test/java/org/hibernate/tutorial/envers/Event.java deleted file mode 100644 index 64741a61..00000000 --- a/src/it/tutorials/envers/src/test/java/org/hibernate/tutorial/envers/Event.java +++ /dev/null @@ -1,92 +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 javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.GeneratedValue; -import javax.persistence.Id; -import javax.persistence.Table; -import javax.persistence.Temporal; -import javax.persistence.TemporalType; - -import org.hibernate.annotations.GenericGenerator; -import org.hibernate.envers.Audited; - -@Entity -@Table( name = "EVENTS" ) -@Audited // <--- this tell Envers to audit (track changes to) this entity -public class Event { - private Long id; - - private String title; - private Date date; - - public Event() { - // this form used by Hibernate - } - - public Event(String title, Date date) { - // for application use, to create new events - this.title = title; - this.date = date; - } - - @Id - @GeneratedValue(generator="increment") - @GenericGenerator(name="increment", strategy = "increment") - public Long getId() { - return id; - } - - private void setId(Long id) { - this.id = id; - } - - @Temporal(TemporalType.TIMESTAMP) - @Column(name = "EVENT_DATE") - public Date getDate() { - return date; - } - - public void setDate(Date date) { - this.date = date; - } - - public String getTitle() { - return title; - } - - public void setTitle(String title) { - this.title = title; - } - - @Override - public int hashCode() { - int result = title.hashCode(); - result = 31 * result + date.hashCode(); - return result; - } -} \ No newline at end of file diff --git a/src/it/tutorials/envers/src/test/resources/META-INF/persistence.xml b/src/it/tutorials/envers/src/test/resources/META-INF/persistence.xml deleted file mode 100644 index fae72760..00000000 --- a/src/it/tutorials/envers/src/test/resources/META-INF/persistence.xml +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - Persistence unit for the Envers tutorial of the Hibernate Getting Started Guide - - - org.hibernate.tutorial.envers.Event - - - - - - - - - - - - - - diff --git a/src/it/tutorials/osgi/managed-jpa/features.xml b/src/it/tutorials/osgi/managed-jpa/features.xml deleted file mode 100755 index 875daa5a..00000000 --- a/src/it/tutorials/osgi/managed-jpa/features.xml +++ /dev/null @@ -1,75 +0,0 @@ - - - - - karaf-framework - - - - aries.transaction.recoverable = true - aries.transaction.timeout = 600 - aries.transaction.howl.logFileDir = /tmp/karaf/txlog - aries.transaction.howl.maxLogFiles = 2 - aries.transaction.howl.maxBlocksPerFile = 512 - aries.transaction.howl.bufferSizeKBytes = 4 - - mvn:org.apache.geronimo.specs/geronimo-jta_1.1_spec/1.1.1 - mvn:org.apache.aries.transaction/org.apache.aries.transaction.blueprint/1.0.0 - mvn:org.apache.aries.transaction/org.apache.aries.transaction.manager/1.0.1 - - - mvn:org.hibernate.javax.persistence/hibernate-jpa-2.1-api/1.0.0.Final - - mvn:org.apache.aries/org.apache.aries.util/1.1.1-SNAPSHOT - mvn:org.apache.aries.jpa/org.apache.aries.jpa.api/1.0.1-SNAPSHOT - mvn:org.apache.aries.jpa/org.apache.aries.jpa.blueprint.aries/1.0.2-SNAPSHOT - mvn:org.apache.aries.jpa/org.apache.aries.jpa.container/1.0.1-SNAPSHOT - mvn:org.apache.aries.jpa/org.apache.aries.jpa.container.context/1.0.2-SNAPSHOT - - - mvn:org.apache.aries/org.apache.aries.util/1.0.0 - mvn:org.apache.aries.jndi/org.apache.aries.jndi.api/1.0.0 - mvn:org.apache.aries.jndi/org.apache.aries.jndi.core/1.0.0 - mvn:org.apache.aries.jndi/org.apache.aries.jndi.rmi/1.0.0 - mvn:org.apache.aries.jndi/org.apache.aries.jndi.url/1.0.0 - mvn:org.apache.aries.jndi/org.apache.aries.jndi.legacy.support/1.0.0 - - - mvn:commons-collections/commons-collections/3.2.1 - mvn:commons-pool/commons-pool/1.5.4 - mvn:commons-dbcp/commons-dbcp/1.4 - mvn:commons-lang/commons-lang/2.6 - wrap:mvn:net.sourceforge.serp/serp/1.13.1 - - mvn:com.h2database/h2/1.3.170 - blueprint:file:/[PATH]/datasource-h2.xml - - - mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.antlr/2.7.7_5 - mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.dom4j/1.6.1_5 - - - wrap:mvn:org.jboss/jandex/1.1.0.Alpha1 - - mvn:com.fasterxml/classmate/0.8.0 - mvn:org.jboss.logging/jboss-logging/3.1.0.GA - mvn:org.javassist/javassist/3.18.1-GA - - mvn:org.hibernate.common/hibernate-commons-annotations/4.0.3.Final - - mvn:org.hibernate/hibernate-core/4.3.0-SNAPSHOT - mvn:org.hibernate/hibernate-entitymanager/4.3.0-SNAPSHOT - - - mvn:org.hibernate.osgi/managed-jpa/1.0.0 - - mvn:org.hibernate/hibernate-osgi/4.3.0-SNAPSHOT - - diff --git a/src/it/tutorials/osgi/managed-jpa/pom.xml b/src/it/tutorials/osgi/managed-jpa/pom.xml deleted file mode 100644 index 8c9fa47e..00000000 --- a/src/it/tutorials/osgi/managed-jpa/pom.xml +++ /dev/null @@ -1,90 +0,0 @@ - - 4.0.0 - org.hibernate.osgi - managed-jpa - 1.0.0 - bundle - - - @project.version@ - - - - - org.hibernate.javax.persistence - hibernate-jpa-2.1-api - 1.0.0.Final - - - org.osgi - org.osgi.core - 4.3.1 - - - org.osgi - org.osgi.enterprise - 4.2.0 - - - org.apache.karaf.shell - org.apache.karaf.shell.console - 2.3.0 - - - com.h2database - h2 - 1.4.187 - - - - - - - org.apache.felix - maven-bundle-plugin - true - - - org.hibernate.osgi.managed-jpa - managed-jpa - 1.0.0 - - org.hibernate.osgitest, - org.hibernate.osgitest.entity - - - org.apache.felix.service.command, - org.apache.felix.gogo.commands, - org.apache.karaf.shell.console, - org.apache.karaf.shell.commands, - javax.persistence;version="[1.0.0,2.1.0]", - - org.hibernate.proxy, - javassist.util.proxy, - * - - META-INF/persistence.xml - - - - - de.juplo - hibernate-maven-plugin - ${h4mp.version} - - - - create - - - - - jdbc:h2:mem:db_managed_jpa;MVCC=TRUE - true - false - - - - - diff --git a/src/it/tutorials/osgi/managed-jpa/src/main/java/org/hibernate/osgitest/DataPointService.java b/src/it/tutorials/osgi/managed-jpa/src/main/java/org/hibernate/osgitest/DataPointService.java deleted file mode 100644 index bdeaace1..00000000 --- a/src/it/tutorials/osgi/managed-jpa/src/main/java/org/hibernate/osgitest/DataPointService.java +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Hibernate, Relational Persistence for Idiomatic Java - * - * JBoss, Home of Professional Open Source - * Copyright 2013 Red Hat Inc. and/or its affiliates and other contributors - * as indicated by the @authors tag. All rights reserved. - * See the copyright.txt in the distribution for a - * full listing of individual contributors. - * - * 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, v. 2.1. - * This program is distributed in the hope that it will be useful, but WITHOUT A - * 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, - * v.2.1 along with this distribution; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA 02110-1301, USA. - */ -package org.hibernate.osgitest; - -import java.util.List; - -import org.hibernate.osgitest.entity.DataPoint; - -/** - * @author Brett Meyer - */ -public interface DataPointService { - - public void add(DataPoint dp); - - public List getAll(); - - public void deleteAll(); -} diff --git a/src/it/tutorials/osgi/managed-jpa/src/main/java/org/hibernate/osgitest/DataPointServiceImpl.java b/src/it/tutorials/osgi/managed-jpa/src/main/java/org/hibernate/osgitest/DataPointServiceImpl.java deleted file mode 100644 index f3248896..00000000 --- a/src/it/tutorials/osgi/managed-jpa/src/main/java/org/hibernate/osgitest/DataPointServiceImpl.java +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Hibernate, Relational Persistence for Idiomatic Java - * - * JBoss, Home of Professional Open Source - * Copyright 2013 Red Hat Inc. and/or its affiliates and other contributors - * as indicated by the @authors tag. All rights reserved. - * See the copyright.txt in the distribution for a - * full listing of individual contributors. - * - * 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, v. 2.1. - * This program is distributed in the hope that it will be useful, but WITHOUT A - * 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, - * v.2.1 along with this distribution; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA 02110-1301, USA. - */ -package org.hibernate.osgitest; - -import java.util.List; - -import javax.persistence.EntityManager; - -import org.hibernate.osgitest.entity.DataPoint; - -/** - * @author Brett Meyer - */ -public class DataPointServiceImpl implements DataPointService { - - private EntityManager entityManager; - - public void add(DataPoint dp) { - entityManager.persist( dp ); - entityManager.flush(); - } - - public List getAll() { - return entityManager.createQuery( "select d from DataPoint d", DataPoint.class ).getResultList(); - } - - public void deleteAll() { - entityManager.createQuery( "delete from DataPoint" ).executeUpdate(); - entityManager.flush(); - } - - public EntityManager getEntityManager() { - return entityManager; - } - - public void setEntityManager(EntityManager entityManager) { - this.entityManager = entityManager; - } - -} diff --git a/src/it/tutorials/osgi/managed-jpa/src/main/java/org/hibernate/osgitest/command/AddCommand.java b/src/it/tutorials/osgi/managed-jpa/src/main/java/org/hibernate/osgitest/command/AddCommand.java deleted file mode 100644 index 9e9844c3..00000000 --- a/src/it/tutorials/osgi/managed-jpa/src/main/java/org/hibernate/osgitest/command/AddCommand.java +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.hibernate.osgitest.command; - -import org.apache.felix.gogo.commands.Action; -import org.apache.felix.gogo.commands.Argument; -import org.apache.felix.gogo.commands.Command; -import org.apache.felix.service.command.CommandSession; -import org.hibernate.osgitest.DataPointService; -import org.hibernate.osgitest.entity.DataPoint; - -@Command(scope = "dp", name = "add") -public class AddCommand implements Action { - @Argument(index=0, name="Name", required=true, description="Name", multiValued=false) - String name; - - private DataPointService dpService; - - public void setDpService(DataPointService dpService) { - this.dpService = dpService; - } - - public Object execute(CommandSession session) throws Exception { - DataPoint dp = new DataPoint(); - dp.setName( name ); - dpService.add( dp ); - return null; - } - -} diff --git a/src/it/tutorials/osgi/managed-jpa/src/main/java/org/hibernate/osgitest/command/DeleteAllCommand.java b/src/it/tutorials/osgi/managed-jpa/src/main/java/org/hibernate/osgitest/command/DeleteAllCommand.java deleted file mode 100644 index d6c4ccf6..00000000 --- a/src/it/tutorials/osgi/managed-jpa/src/main/java/org/hibernate/osgitest/command/DeleteAllCommand.java +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.hibernate.osgitest.command; - -import org.apache.felix.gogo.commands.Action; -import org.apache.felix.gogo.commands.Command; -import org.apache.felix.service.command.CommandSession; -import org.hibernate.osgitest.DataPointService; - -@Command(scope = "dp", name = "deleteAll") -public class DeleteAllCommand implements Action { -private DataPointService dpService; - - public void setDpService(DataPointService dpService) { - this.dpService = dpService; - } - - public Object execute(CommandSession session) throws Exception { - dpService.deleteAll(); - return null; - } - -} diff --git a/src/it/tutorials/osgi/managed-jpa/src/main/java/org/hibernate/osgitest/command/GetAllCommand.java b/src/it/tutorials/osgi/managed-jpa/src/main/java/org/hibernate/osgitest/command/GetAllCommand.java deleted file mode 100644 index ebdac60e..00000000 --- a/src/it/tutorials/osgi/managed-jpa/src/main/java/org/hibernate/osgitest/command/GetAllCommand.java +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.hibernate.osgitest.command; - -import java.util.List; - -import org.apache.felix.gogo.commands.Action; -import org.apache.felix.gogo.commands.Command; -import org.apache.felix.service.command.CommandSession; -import org.hibernate.osgitest.DataPointService; -import org.hibernate.osgitest.entity.DataPoint; - -@Command(scope = "dp", name = "getAll") -public class GetAllCommand implements Action { - private DataPointService dpService; - - public void setDpService(DataPointService dpService) { - this.dpService = dpService; - } - - public Object execute(CommandSession session) throws Exception { - List dps = dpService.getAll(); - for (DataPoint dp : dps) { - System.out.println(dp.getId() + ", " + dp.getName()); - } - return null; - } - -} diff --git a/src/it/tutorials/osgi/managed-jpa/src/main/java/org/hibernate/osgitest/entity/DataPoint.java b/src/it/tutorials/osgi/managed-jpa/src/main/java/org/hibernate/osgitest/entity/DataPoint.java deleted file mode 100644 index 2a566d88..00000000 --- a/src/it/tutorials/osgi/managed-jpa/src/main/java/org/hibernate/osgitest/entity/DataPoint.java +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Hibernate, Relational Persistence for Idiomatic Java - * - * JBoss, Home of Professional Open Source - * Copyright 2013 Red Hat Inc. and/or its affiliates and other contributors - * as indicated by the @authors tag. All rights reserved. - * See the copyright.txt in the distribution for a - * full listing of individual contributors. - * - * 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, v. 2.1. - * This program is distributed in the hope that it will be useful, but WITHOUT A - * 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, - * v.2.1 along with this distribution; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA 02110-1301, USA. - */ -package org.hibernate.osgitest.entity; - -import javax.persistence.Entity; -import javax.persistence.GeneratedValue; -import javax.persistence.Id; - -/** - * @author Brett Meyer - */ -@Entity -public class DataPoint { - @Id - @GeneratedValue - private long id; - - private String name; - - public long getId() { - return id; - } - - public void setId(long id) { - this.id = id; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } -} diff --git a/src/it/tutorials/osgi/managed-jpa/src/main/resources/META-INF/persistence.xml b/src/it/tutorials/osgi/managed-jpa/src/main/resources/META-INF/persistence.xml deleted file mode 100644 index 5db3a423..00000000 --- a/src/it/tutorials/osgi/managed-jpa/src/main/resources/META-INF/persistence.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - osgi:service/javax.sql.DataSource/(osgi.jndi.service.name=jdbc/h2ds) - - - - - - - - - \ No newline at end of file diff --git a/src/it/tutorials/osgi/managed-jpa/src/main/resources/OSGI-INF/blueprint/blueprint.xml b/src/it/tutorials/osgi/managed-jpa/src/main/resources/OSGI-INF/blueprint/blueprint.xml deleted file mode 100644 index 529a4e17..00000000 --- a/src/it/tutorials/osgi/managed-jpa/src/main/resources/OSGI-INF/blueprint/blueprint.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/it/tutorials/osgi/unmanaged-jpa/features.xml b/src/it/tutorials/osgi/unmanaged-jpa/features.xml deleted file mode 100644 index 7c60a47a..00000000 --- a/src/it/tutorials/osgi/unmanaged-jpa/features.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - - karaf-framework - - - mvn:org.apache.geronimo.specs/geronimo-jta_1.1_spec/1.1.1 - - - mvn:org.hibernate.javax.persistence/hibernate-jpa-2.1-api/1.0.0.Final - - - mvn:commons-collections/commons-collections/3.2.1 - mvn:commons-pool/commons-pool/1.5.4 - mvn:commons-dbcp/commons-dbcp/1.4 - mvn:commons-lang/commons-lang/2.6 - wrap:mvn:net.sourceforge.serp/serp/1.13.1 - - mvn:com.h2database/h2/1.3.170 - - - mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.antlr/2.7.7_5 - mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.dom4j/1.6.1_5 - - - wrap:mvn:org.jboss/jandex/1.1.0.Alpha1 - - mvn:com.fasterxml/classmate/0.8.0 - mvn:org.jboss.logging/jboss-logging/3.1.0.GA - mvn:org.javassist/javassist/3.18.1-GA - - mvn:org.hibernate.common/hibernate-commons-annotations/4.0.3.Final - - mvn:org.hibernate/hibernate-core/4.3.0-SNAPSHOT - mvn:org.hibernate/hibernate-entitymanager/4.3.0-SNAPSHOT - mvn:org.hibernate/hibernate-osgi/4.3.0-SNAPSHOT - - mvn:org.hibernate.osgi/unmanaged-jpa/1.0.0 - - diff --git a/src/it/tutorials/osgi/unmanaged-jpa/pom.xml b/src/it/tutorials/osgi/unmanaged-jpa/pom.xml deleted file mode 100644 index c4c7cd0b..00000000 --- a/src/it/tutorials/osgi/unmanaged-jpa/pom.xml +++ /dev/null @@ -1,94 +0,0 @@ - - 4.0.0 - org.hibernate.osgi - unmanaged-jpa - 1.0.0 - bundle - - - @project.version@ - - - - - org.hibernate.javax.persistence - hibernate-jpa-2.1-api - 1.0.0.Final - - - org.osgi - org.osgi.core - 4.3.1 - - - org.osgi - org.osgi.enterprise - 4.2.0 - - - org.apache.karaf.shell - org.apache.karaf.shell.console - 2.3.0 - - - org.hibernate - hibernate-entitymanager - 4.3.9.Final - - - com.h2database - h2 - 1.4.187 - - - - - - - - org.apache.felix - maven-bundle-plugin - true - - - org.hibernate.osgi.unmanaged-jpa - unmanaged-jpa - 1.0.0 - - org.hibernate.osgitest, - org.hibernate.osgitest.entity - - - org.apache.felix.service.command, - org.apache.felix.gogo.commands, - org.apache.karaf.shell.console, - org.apache.karaf.shell.commands, - org.h2, - javax.persistence;version="[1.0.0,2.1.0]", - - org.hibernate.proxy, - javassist.util.proxy, - * - - - - - - de.juplo - hibernate-maven-plugin - ${h4mp.version} - - true - - - - - create - - - - - - - diff --git a/src/it/tutorials/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/DataPointService.java b/src/it/tutorials/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/DataPointService.java deleted file mode 100644 index de8c960c..00000000 --- a/src/it/tutorials/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/DataPointService.java +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Hibernate, Relational Persistence for Idiomatic Java - * - * JBoss, Home of Professional Open Source - * Copyright 2013 Red Hat Inc. and/or its affiliates and other contributors - * as indicated by the @authors tag. All rights reserved. - * See the copyright.txt in the distribution for a - * full listing of individual contributors. - * - * 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, v. 2.1. - * This program is distributed in the hope that it will be useful, but WITHOUT A - * 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, - * v.2.1 along with this distribution; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA 02110-1301, USA. - */ -package org.hibernate.osgitest; - -import java.util.List; - -import org.hibernate.osgitest.entity.DataPoint; - -/** - * @author Brett Meyer - */ -public interface DataPointService { - - public void add(DataPoint dp); - - public void update(DataPoint dp); - - public DataPoint get(long id); - - public List getAll(); - - public void deleteAll(); -} diff --git a/src/it/tutorials/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/DataPointServiceImpl.java b/src/it/tutorials/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/DataPointServiceImpl.java deleted file mode 100644 index dba3609e..00000000 --- a/src/it/tutorials/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/DataPointServiceImpl.java +++ /dev/null @@ -1,78 +0,0 @@ -/* - * Hibernate, Relational Persistence for Idiomatic Java - * - * JBoss, Home of Professional Open Source - * Copyright 2013 Red Hat Inc. and/or its affiliates and other contributors - * as indicated by the @authors tag. All rights reserved. - * See the copyright.txt in the distribution for a - * full listing of individual contributors. - * - * 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, v. 2.1. - * This program is distributed in the hope that it will be useful, but WITHOUT A - * 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, - * v.2.1 along with this distribution; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA 02110-1301, USA. - */ -package org.hibernate.osgitest; - -import java.util.List; - -import javax.persistence.EntityManager; - -import org.hibernate.osgitest.entity.DataPoint; - -/** - * @author Brett Meyer - */ -public class DataPointServiceImpl implements DataPointService { - - private HibernateUtil hibernateUtil = new HibernateUtil(); - - public void add(DataPoint dp) { - EntityManager em = hibernateUtil.getEntityManager(); - em.getTransaction().begin(); - em.persist( dp ); - em.getTransaction().commit(); - em.close(); - } - - public void update(DataPoint dp) { - EntityManager em = hibernateUtil.getEntityManager(); - em.getTransaction().begin(); - em.merge( dp ); - em.getTransaction().commit(); - em.close(); - } - - public DataPoint get(long id) { - EntityManager em = hibernateUtil.getEntityManager(); - em.getTransaction().begin(); - DataPoint dp = (DataPoint) em.createQuery( "from DataPoint dp where dp.id=" + id ).getSingleResult(); - em.getTransaction().commit(); - em.close(); - return dp; - } - - public List getAll() { - EntityManager em = hibernateUtil.getEntityManager(); - em.getTransaction().begin(); - List list = em.createQuery( "from DataPoint" ).getResultList(); - em.getTransaction().commit(); - em.close(); - return list; - } - - public void deleteAll() { - EntityManager em = hibernateUtil.getEntityManager(); - em.getTransaction().begin(); - em.createQuery( "delete from DataPoint" ).executeUpdate(); - em.getTransaction().commit(); - em.close(); - } - -} diff --git a/src/it/tutorials/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/HibernateUtil.java b/src/it/tutorials/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/HibernateUtil.java deleted file mode 100644 index 0927f15f..00000000 --- a/src/it/tutorials/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/HibernateUtil.java +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Hibernate, Relational Persistence for Idiomatic Java - * - * JBoss, Home of Professional Open Source - * Copyright 2013 Red Hat Inc. and/or its affiliates and other contributors - * as indicated by the @authors tag. All rights reserved. - * See the copyright.txt in the distribution for a - * full listing of individual contributors. - * - * 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, v. 2.1. - * This program is distributed in the hope that it will be useful, but WITHOUT A - * 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, - * v.2.1 along with this distribution; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA 02110-1301, USA. - */ -package org.hibernate.osgitest; - -import javax.persistence.EntityManager; -import javax.persistence.EntityManagerFactory; -import javax.persistence.spi.PersistenceProvider; - -import org.osgi.framework.Bundle; -import org.osgi.framework.BundleContext; -import org.osgi.framework.FrameworkUtil; -import org.osgi.framework.ServiceReference; - -/** - * @author Brett Meyer - */ - -public class HibernateUtil { - - private EntityManagerFactory emf; - - public EntityManager getEntityManager() { - return getEntityManagerFactory().createEntityManager(); - } - - private EntityManagerFactory getEntityManagerFactory() { - if ( emf == null ) { - Bundle thisBundle = FrameworkUtil.getBundle( HibernateUtil.class ); - // Could get this by wiring up OsgiTestBundleActivator as well. - BundleContext context = thisBundle.getBundleContext(); - - ServiceReference serviceReference = context.getServiceReference( PersistenceProvider.class.getName() ); - PersistenceProvider persistenceProvider = (PersistenceProvider) context.getService( serviceReference ); - - emf = persistenceProvider.createEntityManagerFactory( "unmanaged-jpa", null ); - } - return emf; - } -} diff --git a/src/it/tutorials/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/TestIntegrator.java b/src/it/tutorials/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/TestIntegrator.java deleted file mode 100644 index 8ba8f6a8..00000000 --- a/src/it/tutorials/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/TestIntegrator.java +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Hibernate, Relational Persistence for Idiomatic Java - * - * JBoss, Home of Professional Open Source - * Copyright 2013 Red Hat Inc. and/or its affiliates and other contributors - * as indicated by the @authors tag. All rights reserved. - * See the copyright.txt in the distribution for a - * full listing of individual contributors. - * - * 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, v. 2.1. - * This program is distributed in the hope that it will be useful, but WITHOUT A - * 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, - * v.2.1 along with this distribution; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA 02110-1301, USA. - */ -package org.hibernate.osgitest; - -import org.hibernate.cfg.Configuration; -import org.hibernate.engine.spi.SessionFactoryImplementor; -import org.hibernate.integrator.spi.Integrator; -import org.hibernate.metamodel.source.MetadataImplementor; -import org.hibernate.service.spi.SessionFactoryServiceRegistry; - - -/** - * @author Brett Meyer - */ -public class TestIntegrator implements Integrator { - - public void integrate(Configuration configuration, SessionFactoryImplementor sessionFactory, SessionFactoryServiceRegistry serviceRegistry) { - System.out.println("Integrator#integrate"); - } - - public void integrate(MetadataImplementor metadata, SessionFactoryImplementor sessionFactory, SessionFactoryServiceRegistry serviceRegistry) { - System.out.println("Integrator#integrate"); - } - - public void disintegrate(SessionFactoryImplementor sessionFactory, SessionFactoryServiceRegistry serviceRegistry) { - System.out.println("Integrator#disintegrate"); - } - -} diff --git a/src/it/tutorials/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/TestStrategyRegistrationProvider.java b/src/it/tutorials/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/TestStrategyRegistrationProvider.java deleted file mode 100644 index f7ad26f5..00000000 --- a/src/it/tutorials/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/TestStrategyRegistrationProvider.java +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Hibernate, Relational Persistence for Idiomatic Java - * - * JBoss, Home of Professional Open Source - * Copyright 2013 Red Hat Inc. and/or its affiliates and other contributors - * as indicated by the @authors tag. All rights reserved. - * See the copyright.txt in the distribution for a - * full listing of individual contributors. - * - * 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, v. 2.1. - * This program is distributed in the hope that it will be useful, but WITHOUT A - * 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, - * v.2.1 along with this distribution; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA 02110-1301, USA. - */ -package org.hibernate.osgitest; - -import java.util.Collections; - -import org.hibernate.boot.registry.selector.StrategyRegistration; -import org.hibernate.boot.registry.selector.StrategyRegistrationProvider; - -/** - * @author Brett Meyer - */ -public class TestStrategyRegistrationProvider implements StrategyRegistrationProvider { - - public Iterable getStrategyRegistrations() { - System.out.println("StrategyRegistrationProvider#getStrategyRegistrations"); - return Collections.EMPTY_LIST; - } -} diff --git a/src/it/tutorials/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/TestTypeContributor.java b/src/it/tutorials/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/TestTypeContributor.java deleted file mode 100644 index cc6494cc..00000000 --- a/src/it/tutorials/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/TestTypeContributor.java +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Hibernate, Relational Persistence for Idiomatic Java - * - * JBoss, Home of Professional Open Source - * Copyright 2013 Red Hat Inc. and/or its affiliates and other contributors - * as indicated by the @authors tag. All rights reserved. - * See the copyright.txt in the distribution for a - * full listing of individual contributors. - * - * 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, v. 2.1. - * This program is distributed in the hope that it will be useful, but WITHOUT A - * 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, - * v.2.1 along with this distribution; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA 02110-1301, USA. - */ -package org.hibernate.osgitest; - -import org.hibernate.metamodel.spi.TypeContributions; -import org.hibernate.metamodel.spi.TypeContributor; -import org.hibernate.service.ServiceRegistry; - - -/** - * @author Brett Meyer - */ -public class TestTypeContributor implements TypeContributor { - - public void contribute(TypeContributions typeContributions, ServiceRegistry serviceRegistry) { - System.out.println("TypeContributor#contribute"); - } - -} diff --git a/src/it/tutorials/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/command/AddCommand.java b/src/it/tutorials/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/command/AddCommand.java deleted file mode 100644 index c1b906c0..00000000 --- a/src/it/tutorials/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/command/AddCommand.java +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.hibernate.osgitest.command; - -import org.apache.felix.gogo.commands.Action; -import org.apache.felix.gogo.commands.Argument; -import org.apache.felix.gogo.commands.Command; -import org.apache.felix.service.command.CommandSession; -import org.hibernate.osgitest.DataPointService; -import org.hibernate.osgitest.entity.DataPoint; - -@Command(scope = "dp", name = "addJPA") -public class AddCommand implements Action { - @Argument(index=0, name="Name", required=true, description="Name", multiValued=false) - String name; - - private DataPointService dpService; - - public void setDpService(DataPointService dpService) { - this.dpService = dpService; - } - - public Object execute(CommandSession session) throws Exception { - DataPoint dp = new DataPoint(); - dp.setName( name ); - dpService.add( dp ); - return null; - } - -} diff --git a/src/it/tutorials/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/command/DeleteAllCommand.java b/src/it/tutorials/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/command/DeleteAllCommand.java deleted file mode 100644 index 0d404ae1..00000000 --- a/src/it/tutorials/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/command/DeleteAllCommand.java +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.hibernate.osgitest.command; - -import org.apache.felix.gogo.commands.Action; -import org.apache.felix.gogo.commands.Command; -import org.apache.felix.service.command.CommandSession; -import org.hibernate.osgitest.DataPointService; - -@Command(scope = "dp", name = "deleteAllJPA") -public class DeleteAllCommand implements Action { -private DataPointService dpService; - - public void setDpService(DataPointService dpService) { - this.dpService = dpService; - } - - public Object execute(CommandSession session) throws Exception { - dpService.deleteAll(); - return null; - } - -} diff --git a/src/it/tutorials/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/command/GetAllCommand.java b/src/it/tutorials/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/command/GetAllCommand.java deleted file mode 100644 index 6873e463..00000000 --- a/src/it/tutorials/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/command/GetAllCommand.java +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.hibernate.osgitest.command; - -import java.util.List; - -import org.apache.felix.gogo.commands.Action; -import org.apache.felix.gogo.commands.Command; -import org.apache.felix.service.command.CommandSession; -import org.hibernate.osgitest.DataPointService; -import org.hibernate.osgitest.entity.DataPoint; - -@Command(scope = "dp", name = "getAllJPA") -public class GetAllCommand implements Action { - private DataPointService dpService; - - public void setDpService(DataPointService dpService) { - this.dpService = dpService; - } - - public Object execute(CommandSession session) throws Exception { - List dps = dpService.getAll(); - for (DataPoint dp : dps) { - System.out.println(dp.getId() + ", " + dp.getName()); - } - return null; - } - -} diff --git a/src/it/tutorials/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/command/UpdateCommand.java b/src/it/tutorials/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/command/UpdateCommand.java deleted file mode 100644 index 5de8983d..00000000 --- a/src/it/tutorials/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/command/UpdateCommand.java +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.hibernate.osgitest.command; - -import org.apache.felix.gogo.commands.Action; -import org.apache.felix.gogo.commands.Argument; -import org.apache.felix.gogo.commands.Command; -import org.apache.felix.service.command.CommandSession; -import org.hibernate.osgitest.DataPointService; -import org.hibernate.osgitest.entity.DataPoint; - -@Command(scope = "dp", name = "updateJPA") -public class UpdateCommand implements Action { - @Argument(index=0, name="Id", required=true, description="Id", multiValued=false) - String id; - - @Argument(index=1, name="Name", required=true, description="Name", multiValued=false) - String name; - - private DataPointService dpService; - - public void setDpService(DataPointService dpService) { - this.dpService = dpService; - } - - public Object execute(CommandSession session) throws Exception { - DataPoint dp = dpService.get( Long.valueOf( id ) ); - dp.setName( name ); - dpService.update( dp ); - return null; - } - -} diff --git a/src/it/tutorials/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/entity/DataPoint.java b/src/it/tutorials/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/entity/DataPoint.java deleted file mode 100644 index 2a566d88..00000000 --- a/src/it/tutorials/osgi/unmanaged-jpa/src/main/java/org/hibernate/osgitest/entity/DataPoint.java +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Hibernate, Relational Persistence for Idiomatic Java - * - * JBoss, Home of Professional Open Source - * Copyright 2013 Red Hat Inc. and/or its affiliates and other contributors - * as indicated by the @authors tag. All rights reserved. - * See the copyright.txt in the distribution for a - * full listing of individual contributors. - * - * 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, v. 2.1. - * This program is distributed in the hope that it will be useful, but WITHOUT A - * 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, - * v.2.1 along with this distribution; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA 02110-1301, USA. - */ -package org.hibernate.osgitest.entity; - -import javax.persistence.Entity; -import javax.persistence.GeneratedValue; -import javax.persistence.Id; - -/** - * @author Brett Meyer - */ -@Entity -public class DataPoint { - @Id - @GeneratedValue - private long id; - - private String name; - - public long getId() { - return id; - } - - public void setId(long id) { - this.id = id; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } -} diff --git a/src/it/tutorials/osgi/unmanaged-jpa/src/main/resources/META-INF/persistence.xml b/src/it/tutorials/osgi/unmanaged-jpa/src/main/resources/META-INF/persistence.xml deleted file mode 100644 index 0483f5c1..00000000 --- a/src/it/tutorials/osgi/unmanaged-jpa/src/main/resources/META-INF/persistence.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - org.hibernate.osgitest.entity.DataPoint - true - - - - - - - - - - - diff --git a/src/it/tutorials/osgi/unmanaged-jpa/src/main/resources/OSGI-INF/blueprint/blueprint.xml b/src/it/tutorials/osgi/unmanaged-jpa/src/main/resources/OSGI-INF/blueprint/blueprint.xml deleted file mode 100644 index 2dedb958..00000000 --- a/src/it/tutorials/osgi/unmanaged-jpa/src/main/resources/OSGI-INF/blueprint/blueprint.xml +++ /dev/null @@ -1,61 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/it/tutorials/osgi/unmanaged-native/features.xml b/src/it/tutorials/osgi/unmanaged-native/features.xml deleted file mode 100644 index b2e08161..00000000 --- a/src/it/tutorials/osgi/unmanaged-native/features.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - - - karaf-framework - - - mvn:org.apache.geronimo.specs/geronimo-jta_1.1_spec/1.1.1 - - - mvn:org.hibernate.javax.persistence/hibernate-jpa-2.1-api/1.0.0.Final - - - mvn:commons-collections/commons-collections/3.2.1 - mvn:commons-pool/commons-pool/1.5.4 - mvn:commons-dbcp/commons-dbcp/1.4 - mvn:commons-lang/commons-lang/2.6 - wrap:mvn:net.sourceforge.serp/serp/1.13.1 - - mvn:com.h2database/h2/1.3.170 - - - mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.antlr/2.7.7_5 - mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.dom4j/1.6.1_5 - - - wrap:mvn:org.jboss/jandex/1.1.0.Alpha1 - - - - - - - - mvn:com.fasterxml/classmate/0.8.0 - mvn:org.jboss.logging/jboss-logging/3.1.0.GA - mvn:org.javassist/javassist/3.18.1-GA - - mvn:org.hibernate.common/hibernate-commons-annotations/4.0.3.Final - - - - - - - - - - - - mvn:org.hibernate/hibernate-core/4.3.0-SNAPSHOT - - mvn:org.hibernate/hibernate-entitymanager/4.3.0-SNAPSHOT - mvn:org.hibernate/hibernate-envers/4.3.0-SNAPSHOT - - - - - mvn:org.hibernate/hibernate-osgi/4.3.0-SNAPSHOT - - mvn:org.hibernate.osgi/unmanaged-native/1.0.0 - - diff --git a/src/it/tutorials/osgi/unmanaged-native/pom.xml b/src/it/tutorials/osgi/unmanaged-native/pom.xml deleted file mode 100644 index f91f11a0..00000000 --- a/src/it/tutorials/osgi/unmanaged-native/pom.xml +++ /dev/null @@ -1,102 +0,0 @@ - - 4.0.0 - org.hibernate.osgi - unmanaged-native - 1.0.0 - bundle - - - @project.version@ - - - - - org.hibernate.javax.persistence - hibernate-jpa-2.1-api - 1.0.0.Final - - - org.osgi - org.osgi.core - 4.3.1 - - - org.osgi - org.osgi.enterprise - 4.2.0 - - - org.apache.karaf.shell - org.apache.karaf.shell.console - 2.3.0 - - - org.hibernate - hibernate-core - 4.3.9.Final - - - org.hibernate - hibernate-envers - 4.3.9.Final - - - com.h2database - h2 - 1.4.187 - - - - - - - - org.apache.felix - maven-bundle-plugin - true - - - org.hibernate.osgi.unmanaged-native - unmanaged-native - 1.0.0 - - org.hibernate.osgitest, - org.hibernate.osgitest.entity - - - org.apache.felix.service.command, - org.apache.felix.gogo.commands, - org.apache.karaf.shell.console, - org.apache.karaf.shell.commands, - org.h2, - org.hibernate, - org.hibernate.cfg, - org.hibernate.service, - javax.persistence;version="[1.0.0,2.1.0]", - - org.hibernate.proxy, - javassist.util.proxy, - * - - - - - - de.juplo - hibernate-maven-plugin - ${h4mp.version} - - true - - - - - create - - - - - - - diff --git a/src/it/tutorials/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/DataPointService.java b/src/it/tutorials/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/DataPointService.java deleted file mode 100644 index 12fb79a9..00000000 --- a/src/it/tutorials/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/DataPointService.java +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Hibernate, Relational Persistence for Idiomatic Java - * - * JBoss, Home of Professional Open Source - * Copyright 2013 Red Hat Inc. and/or its affiliates and other contributors - * as indicated by the @authors tag. All rights reserved. - * See the copyright.txt in the distribution for a - * full listing of individual contributors. - * - * 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, v. 2.1. - * This program is distributed in the hope that it will be useful, but WITHOUT A - * 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, - * v.2.1 along with this distribution; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA 02110-1301, USA. - */ -package org.hibernate.osgitest; - -import java.util.List; -import java.util.Map; - -import org.hibernate.envers.DefaultRevisionEntity; -import org.hibernate.osgitest.entity.DataPoint; - -/** - * @author Brett Meyer - */ -public interface DataPointService { - - public void add(DataPoint dp); - - public void update(DataPoint dp); - - public DataPoint get(long id); - - public DataPoint load(long id); - - public List getAll(); - - public Map getRevisions(long id); - - public void deleteAll(); -} diff --git a/src/it/tutorials/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/DataPointServiceImpl.java b/src/it/tutorials/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/DataPointServiceImpl.java deleted file mode 100644 index 721b7404..00000000 --- a/src/it/tutorials/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/DataPointServiceImpl.java +++ /dev/null @@ -1,104 +0,0 @@ -/* - * Hibernate, Relational Persistence for Idiomatic Java - * - * JBoss, Home of Professional Open Source - * Copyright 2013 Red Hat Inc. and/or its affiliates and other contributors - * as indicated by the @authors tag. All rights reserved. - * See the copyright.txt in the distribution for a - * full listing of individual contributors. - * - * 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, v. 2.1. - * This program is distributed in the hope that it will be useful, but WITHOUT A - * 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, - * v.2.1 along with this distribution; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA 02110-1301, USA. - */ -package org.hibernate.osgitest; - -import java.util.HashSet; -import java.util.List; -import java.util.Map; - -import org.hibernate.Hibernate; -import org.hibernate.Session; -import org.hibernate.criterion.Restrictions; -import org.hibernate.envers.AuditReader; -import org.hibernate.envers.AuditReaderFactory; -import org.hibernate.envers.DefaultRevisionEntity; -import org.hibernate.osgitest.entity.DataPoint; - -/** - * @author Brett Meyer - */ -public class DataPointServiceImpl implements DataPointService { - - private HibernateUtil hibernateUtil = new HibernateUtil(); - - public void add(DataPoint dp) { - Session s = hibernateUtil.getSession(); - s.getTransaction().begin(); - s.persist( dp ); - s.getTransaction().commit(); - s.close(); - } - - public void update(DataPoint dp) { - Session s = hibernateUtil.getSession(); - s.getTransaction().begin(); - s.update( dp ); - s.getTransaction().commit(); - s.close(); - } - - public DataPoint get(long id) { - Session s = hibernateUtil.getSession(); - s.getTransaction().begin(); - DataPoint dp = (DataPoint) s.createCriteria( DataPoint.class ).add( - Restrictions.eq( "id", id ) ).uniqueResult(); - s.getTransaction().commit(); - s.close(); - return dp; - } - - // Test lazy loading (mainly to make sure the proxy classes work in OSGi) - public DataPoint load(long id) { - Session s = hibernateUtil.getSession(); - s.getTransaction().begin(); - DataPoint dp = (DataPoint) s.load( DataPoint.class, new Long(id) ); - // initialize - dp.getName(); - s.getTransaction().commit(); - s.close(); - return dp; - } - - public List getAll() { - Session s = hibernateUtil.getSession(); - s.getTransaction().begin(); - List list = s.createQuery( "from DataPoint" ).list(); - s.getTransaction().commit(); - s.close(); - return list; - } - - public Map getRevisions(long id) { - Session s = hibernateUtil.getSession(); - AuditReader reader = AuditReaderFactory.get(s); - List revisionNums = reader.getRevisions( DataPoint.class, id ); - return reader.findRevisions( DefaultRevisionEntity.class, new HashSet(revisionNums) ); - } - - public void deleteAll() { - Session s = hibernateUtil.getSession(); - s.getTransaction().begin(); - s.createQuery( "delete from DataPoint" ).executeUpdate(); - s.getTransaction().commit(); - s.close(); - } - -} diff --git a/src/it/tutorials/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/HibernateUtil.java b/src/it/tutorials/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/HibernateUtil.java deleted file mode 100644 index 15fb4c7d..00000000 --- a/src/it/tutorials/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/HibernateUtil.java +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Hibernate, Relational Persistence for Idiomatic Java - * - * JBoss, Home of Professional Open Source - * Copyright 2013 Red Hat Inc. and/or its affiliates and other contributors - * as indicated by the @authors tag. All rights reserved. - * See the copyright.txt in the distribution for a - * full listing of individual contributors. - * - * 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, v. 2.1. - * This program is distributed in the hope that it will be useful, but WITHOUT A - * 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, - * v.2.1 along with this distribution; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA 02110-1301, USA. - */ -package org.hibernate.osgitest; - -import org.hibernate.Session; -import org.hibernate.SessionFactory; -import org.osgi.framework.Bundle; -import org.osgi.framework.BundleContext; -import org.osgi.framework.FrameworkUtil; -import org.osgi.framework.ServiceReference; - -/** - * @author Brett Meyer - */ - -public class HibernateUtil { - - private SessionFactory sf; - - public Session getSession() { - return getSessionFactory().openSession(); - } - - private SessionFactory getSessionFactory() { - if ( sf == null ) { - Bundle thisBundle = FrameworkUtil.getBundle( HibernateUtil.class ); - // Could get this by wiring up OsgiTestBundleActivator as well. - BundleContext context = thisBundle.getBundleContext(); - - ServiceReference sr = context.getServiceReference( SessionFactory.class.getName() ); - sf = (SessionFactory) context.getService( sr ); - } - return sf; - } -} diff --git a/src/it/tutorials/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/TestIntegrator.java b/src/it/tutorials/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/TestIntegrator.java deleted file mode 100644 index 8ba8f6a8..00000000 --- a/src/it/tutorials/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/TestIntegrator.java +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Hibernate, Relational Persistence for Idiomatic Java - * - * JBoss, Home of Professional Open Source - * Copyright 2013 Red Hat Inc. and/or its affiliates and other contributors - * as indicated by the @authors tag. All rights reserved. - * See the copyright.txt in the distribution for a - * full listing of individual contributors. - * - * 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, v. 2.1. - * This program is distributed in the hope that it will be useful, but WITHOUT A - * 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, - * v.2.1 along with this distribution; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA 02110-1301, USA. - */ -package org.hibernate.osgitest; - -import org.hibernate.cfg.Configuration; -import org.hibernate.engine.spi.SessionFactoryImplementor; -import org.hibernate.integrator.spi.Integrator; -import org.hibernate.metamodel.source.MetadataImplementor; -import org.hibernate.service.spi.SessionFactoryServiceRegistry; - - -/** - * @author Brett Meyer - */ -public class TestIntegrator implements Integrator { - - public void integrate(Configuration configuration, SessionFactoryImplementor sessionFactory, SessionFactoryServiceRegistry serviceRegistry) { - System.out.println("Integrator#integrate"); - } - - public void integrate(MetadataImplementor metadata, SessionFactoryImplementor sessionFactory, SessionFactoryServiceRegistry serviceRegistry) { - System.out.println("Integrator#integrate"); - } - - public void disintegrate(SessionFactoryImplementor sessionFactory, SessionFactoryServiceRegistry serviceRegistry) { - System.out.println("Integrator#disintegrate"); - } - -} diff --git a/src/it/tutorials/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/TestStrategyRegistrationProvider.java b/src/it/tutorials/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/TestStrategyRegistrationProvider.java deleted file mode 100644 index f7ad26f5..00000000 --- a/src/it/tutorials/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/TestStrategyRegistrationProvider.java +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Hibernate, Relational Persistence for Idiomatic Java - * - * JBoss, Home of Professional Open Source - * Copyright 2013 Red Hat Inc. and/or its affiliates and other contributors - * as indicated by the @authors tag. All rights reserved. - * See the copyright.txt in the distribution for a - * full listing of individual contributors. - * - * 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, v. 2.1. - * This program is distributed in the hope that it will be useful, but WITHOUT A - * 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, - * v.2.1 along with this distribution; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA 02110-1301, USA. - */ -package org.hibernate.osgitest; - -import java.util.Collections; - -import org.hibernate.boot.registry.selector.StrategyRegistration; -import org.hibernate.boot.registry.selector.StrategyRegistrationProvider; - -/** - * @author Brett Meyer - */ -public class TestStrategyRegistrationProvider implements StrategyRegistrationProvider { - - public Iterable getStrategyRegistrations() { - System.out.println("StrategyRegistrationProvider#getStrategyRegistrations"); - return Collections.EMPTY_LIST; - } -} diff --git a/src/it/tutorials/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/TestTypeContributor.java b/src/it/tutorials/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/TestTypeContributor.java deleted file mode 100644 index cc6494cc..00000000 --- a/src/it/tutorials/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/TestTypeContributor.java +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Hibernate, Relational Persistence for Idiomatic Java - * - * JBoss, Home of Professional Open Source - * Copyright 2013 Red Hat Inc. and/or its affiliates and other contributors - * as indicated by the @authors tag. All rights reserved. - * See the copyright.txt in the distribution for a - * full listing of individual contributors. - * - * 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, v. 2.1. - * This program is distributed in the hope that it will be useful, but WITHOUT A - * 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, - * v.2.1 along with this distribution; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA 02110-1301, USA. - */ -package org.hibernate.osgitest; - -import org.hibernate.metamodel.spi.TypeContributions; -import org.hibernate.metamodel.spi.TypeContributor; -import org.hibernate.service.ServiceRegistry; - - -/** - * @author Brett Meyer - */ -public class TestTypeContributor implements TypeContributor { - - public void contribute(TypeContributions typeContributions, ServiceRegistry serviceRegistry) { - System.out.println("TypeContributor#contribute"); - } - -} diff --git a/src/it/tutorials/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/command/AddCommand.java b/src/it/tutorials/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/command/AddCommand.java deleted file mode 100644 index 9e9844c3..00000000 --- a/src/it/tutorials/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/command/AddCommand.java +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.hibernate.osgitest.command; - -import org.apache.felix.gogo.commands.Action; -import org.apache.felix.gogo.commands.Argument; -import org.apache.felix.gogo.commands.Command; -import org.apache.felix.service.command.CommandSession; -import org.hibernate.osgitest.DataPointService; -import org.hibernate.osgitest.entity.DataPoint; - -@Command(scope = "dp", name = "add") -public class AddCommand implements Action { - @Argument(index=0, name="Name", required=true, description="Name", multiValued=false) - String name; - - private DataPointService dpService; - - public void setDpService(DataPointService dpService) { - this.dpService = dpService; - } - - public Object execute(CommandSession session) throws Exception { - DataPoint dp = new DataPoint(); - dp.setName( name ); - dpService.add( dp ); - return null; - } - -} diff --git a/src/it/tutorials/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/command/DeleteAllCommand.java b/src/it/tutorials/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/command/DeleteAllCommand.java deleted file mode 100644 index d6c4ccf6..00000000 --- a/src/it/tutorials/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/command/DeleteAllCommand.java +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.hibernate.osgitest.command; - -import org.apache.felix.gogo.commands.Action; -import org.apache.felix.gogo.commands.Command; -import org.apache.felix.service.command.CommandSession; -import org.hibernate.osgitest.DataPointService; - -@Command(scope = "dp", name = "deleteAll") -public class DeleteAllCommand implements Action { -private DataPointService dpService; - - public void setDpService(DataPointService dpService) { - this.dpService = dpService; - } - - public Object execute(CommandSession session) throws Exception { - dpService.deleteAll(); - return null; - } - -} diff --git a/src/it/tutorials/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/command/GetAllCommand.java b/src/it/tutorials/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/command/GetAllCommand.java deleted file mode 100644 index ebdac60e..00000000 --- a/src/it/tutorials/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/command/GetAllCommand.java +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.hibernate.osgitest.command; - -import java.util.List; - -import org.apache.felix.gogo.commands.Action; -import org.apache.felix.gogo.commands.Command; -import org.apache.felix.service.command.CommandSession; -import org.hibernate.osgitest.DataPointService; -import org.hibernate.osgitest.entity.DataPoint; - -@Command(scope = "dp", name = "getAll") -public class GetAllCommand implements Action { - private DataPointService dpService; - - public void setDpService(DataPointService dpService) { - this.dpService = dpService; - } - - public Object execute(CommandSession session) throws Exception { - List dps = dpService.getAll(); - for (DataPoint dp : dps) { - System.out.println(dp.getId() + ", " + dp.getName()); - } - return null; - } - -} diff --git a/src/it/tutorials/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/command/GetCommand.java b/src/it/tutorials/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/command/GetCommand.java deleted file mode 100644 index 0597d709..00000000 --- a/src/it/tutorials/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/command/GetCommand.java +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.hibernate.osgitest.command; - -import org.apache.felix.gogo.commands.Action; -import org.apache.felix.gogo.commands.Argument; -import org.apache.felix.gogo.commands.Command; -import org.apache.felix.service.command.CommandSession; -import org.hibernate.osgitest.DataPointService; -import org.hibernate.osgitest.entity.DataPoint; - -@Command(scope = "dp", name = "get") -public class GetCommand implements Action { - @Argument(index = 0, name = "Id", required = true, description = "Id", multiValued = false) - String id; - - private DataPointService dpService; - - public void setDpService(DataPointService dpService) { - this.dpService = dpService; - } - - public Object execute(CommandSession session) throws Exception { - DataPoint dp = dpService.get( Long.valueOf( id ) ); - System.out.println( dp.getId() + ", " + dp.getName() ); - return null; - } - -} diff --git a/src/it/tutorials/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/command/GetRevisionsCommand.java b/src/it/tutorials/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/command/GetRevisionsCommand.java deleted file mode 100644 index b4573f62..00000000 --- a/src/it/tutorials/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/command/GetRevisionsCommand.java +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.hibernate.osgitest.command; - -import java.util.Map; - -import org.apache.felix.gogo.commands.Action; -import org.apache.felix.gogo.commands.Argument; -import org.apache.felix.gogo.commands.Command; -import org.apache.felix.service.command.CommandSession; -import org.hibernate.envers.DefaultRevisionEntity; -import org.hibernate.osgitest.DataPointService; - -@Command(scope = "dp", name = "getRevisions") -public class GetRevisionsCommand implements Action { - @Argument(index=0, name="Id", required=true, description="Id", multiValued=false) - String id; - - private DataPointService dpService; - - public void setDpService(DataPointService dpService) { - this.dpService = dpService; - } - - public Object execute(CommandSession session) throws Exception { - Map revisions = dpService.getRevisions(Long.valueOf( id )); - for (Number revisionNum : revisions.keySet()) { - DefaultRevisionEntity dre = revisions.get( revisionNum ); - System.out.println(revisionNum + ": " + dre.getId() + ", " + dre.getTimestamp()); - } - return null; - } - -} diff --git a/src/it/tutorials/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/command/LoadCommand.java b/src/it/tutorials/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/command/LoadCommand.java deleted file mode 100644 index 3451a986..00000000 --- a/src/it/tutorials/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/command/LoadCommand.java +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.hibernate.osgitest.command; - -import org.apache.felix.gogo.commands.Action; -import org.apache.felix.gogo.commands.Argument; -import org.apache.felix.gogo.commands.Command; -import org.apache.felix.service.command.CommandSession; -import org.hibernate.osgitest.DataPointService; -import org.hibernate.osgitest.entity.DataPoint; - -@Command(scope = "dp", name = "load") -public class LoadCommand implements Action { - @Argument(index = 0, name = "Id", required = true, description = "Id", multiValued = false) - String id; - - private DataPointService dpService; - - public void setDpService(DataPointService dpService) { - this.dpService = dpService; - } - - public Object execute(CommandSession session) throws Exception { - DataPoint dp = dpService.load( Long.valueOf( id ) ); - System.out.println( dp.getId() + ", " + dp.getName() ); - return null; - } - -} diff --git a/src/it/tutorials/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/command/UpdateCommand.java b/src/it/tutorials/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/command/UpdateCommand.java deleted file mode 100644 index f6949674..00000000 --- a/src/it/tutorials/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/command/UpdateCommand.java +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.hibernate.osgitest.command; - -import org.apache.felix.gogo.commands.Action; -import org.apache.felix.gogo.commands.Argument; -import org.apache.felix.gogo.commands.Command; -import org.apache.felix.service.command.CommandSession; -import org.hibernate.osgitest.DataPointService; -import org.hibernate.osgitest.entity.DataPoint; - -@Command(scope = "dp", name = "update") -public class UpdateCommand implements Action { - @Argument(index=0, name="Id", required=true, description="Id", multiValued=false) - String id; - - @Argument(index=1, name="Name", required=true, description="Name", multiValued=false) - String name; - - private DataPointService dpService; - - public void setDpService(DataPointService dpService) { - this.dpService = dpService; - } - - public Object execute(CommandSession session) throws Exception { - DataPoint dp = dpService.get( Long.valueOf( id ) ); - dp.setName( name ); - dpService.update( dp ); - return null; - } - -} diff --git a/src/it/tutorials/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/entity/DataPoint.java b/src/it/tutorials/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/entity/DataPoint.java deleted file mode 100644 index 2e5ef724..00000000 --- a/src/it/tutorials/osgi/unmanaged-native/src/main/java/org/hibernate/osgitest/entity/DataPoint.java +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Hibernate, Relational Persistence for Idiomatic Java - * - * JBoss, Home of Professional Open Source - * Copyright 2013 Red Hat Inc. and/or its affiliates and other contributors - * as indicated by the @authors tag. All rights reserved. - * See the copyright.txt in the distribution for a - * full listing of individual contributors. - * - * 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, v. 2.1. - * This program is distributed in the hope that it will be useful, but WITHOUT A - * 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, - * v.2.1 along with this distribution; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA 02110-1301, USA. - */ -package org.hibernate.osgitest.entity; - -import java.io.Serializable; - -import javax.persistence.Entity; -import javax.persistence.GeneratedValue; -import javax.persistence.Id; - -import org.hibernate.envers.Audited; - -/** - * @author Brett Meyer - */ -@Entity -@Audited -public class DataPoint implements Serializable { - @Id - @GeneratedValue - private long id; - - private String name; - - public long getId() { - return id; - } - - public void setId(long id) { - this.id = id; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } -} diff --git a/src/it/tutorials/osgi/unmanaged-native/src/main/resources/OSGI-INF/blueprint/blueprint.xml b/src/it/tutorials/osgi/unmanaged-native/src/main/resources/OSGI-INF/blueprint/blueprint.xml deleted file mode 100644 index 3f4b2b4d..00000000 --- a/src/it/tutorials/osgi/unmanaged-native/src/main/resources/OSGI-INF/blueprint/blueprint.xml +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/it/tutorials/osgi/unmanaged-native/src/main/resources/ehcache.xml b/src/it/tutorials/osgi/unmanaged-native/src/main/resources/ehcache.xml deleted file mode 100644 index 11fddc73..00000000 --- a/src/it/tutorials/osgi/unmanaged-native/src/main/resources/ehcache.xml +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - - - - - - - - - - - - --> - - - - diff --git a/src/it/tutorials/osgi/unmanaged-native/src/main/resources/hibernate.cfg.xml b/src/it/tutorials/osgi/unmanaged-native/src/main/resources/hibernate.cfg.xml deleted file mode 100644 index f367c530..00000000 --- a/src/it/tutorials/osgi/unmanaged-native/src/main/resources/hibernate.cfg.xml +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - org.h2.Driver - jdbc:h2:mem:db_unmanaged_native;DB_CLOSE_DELAY=-1;MVCC=TRUE - sa - - org.hibernate.dialect.H2Dialect - create-drop - - - - - - - - - - - - - diff --git a/src/it/tutorials/osgi/unmanaged-native/src/main/resources/pool-one.properties b/src/it/tutorials/osgi/unmanaged-native/src/main/resources/pool-one.properties deleted file mode 100644 index 0a372bd9..00000000 --- a/src/it/tutorials/osgi/unmanaged-native/src/main/resources/pool-one.properties +++ /dev/null @@ -1,7 +0,0 @@ -jdbc-0.proxool.alias=pool-one -jdbc-0.proxool.driver-url=jdbc:h2:mem:db_unmanaged_native;DB_CLOSE_DELAY=-1;MVCC=TRUE -jdbc-0.proxool.driver-class=org.h2.Driver -jdbc-0.user=sa -jdbc-0.password= -jdbc-0.proxool.maximum-connection-count=2 -jdbc-0.proxool.house-keeping-test-sql=select CURRENT_DATE diff --git a/src/it/tutorials/pom.xml b/src/it/tutorials/pom.xml deleted file mode 100644 index e899e4ce..00000000 --- a/src/it/tutorials/pom.xml +++ /dev/null @@ -1,110 +0,0 @@ - - - - - 4.0.0 - - org.hibernate.tutorials - hibernate-tutorials - 4.3.9.Final - pom - - Hibernate Getting Started Guide Tutorials - Aggregator for the Hibernate tutorials presented in the Getting Started Guide - - - - true - - - - basic - annotations - entitymanager - envers - osgi/unmanaged-native - osgi/unmanaged-jpa - osgi/managed-jpa - - - - - org.hibernate - hibernate-core - 4.3.9.Final - - - - - org.slf4j - slf4j-simple - 1.7.12 - - - - - junit - junit - 4.12 - - - - - com.h2database - h2 - 1.4.187 - - - - - - - false - src/test/java - - **/*.xml - - - - src/test/resources - true - - - - - org.apache.maven.plugins - maven-compiler-plugin - 3.3 - - 1.6 - 1.6 - utf8 - true - - - - - - diff --git a/src/it/tutorials/schema-annotations.sql b/src/it/tutorials/schema-annotations.sql deleted file mode 100644 index 48eb18ef..00000000 --- a/src/it/tutorials/schema-annotations.sql +++ /dev/null @@ -1,7 +0,0 @@ - - create table EVENTS ( - id bigint not null, - EVENT_DATE timestamp, - title varchar(255), - primary key (id) - ); diff --git a/src/it/tutorials/schema-basic.sql b/src/it/tutorials/schema-basic.sql deleted file mode 100644 index c5e2c0e7..00000000 --- a/src/it/tutorials/schema-basic.sql +++ /dev/null @@ -1,7 +0,0 @@ - - create table EVENTS ( - EVENT_ID bigint not null, - EVENT_DATE timestamp, - title varchar(255), - primary key (EVENT_ID) - ); diff --git a/src/it/tutorials/schema-entitymanager.sql b/src/it/tutorials/schema-entitymanager.sql deleted file mode 100644 index 48eb18ef..00000000 --- a/src/it/tutorials/schema-entitymanager.sql +++ /dev/null @@ -1,7 +0,0 @@ - - create table EVENTS ( - id bigint not null, - EVENT_DATE timestamp, - title varchar(255), - primary key (id) - ); diff --git a/src/it/tutorials/schema-envers.sql b/src/it/tutorials/schema-envers.sql deleted file mode 100644 index ecec80ef..00000000 --- a/src/it/tutorials/schema-envers.sql +++ /dev/null @@ -1,27 +0,0 @@ - - create table EVENTS ( - id bigint not null, - EVENT_DATE timestamp, - title varchar(255), - primary key (id) - ); - - create table EVENTS_AUD ( - id bigint not null, - REV integer not null, - REVTYPE tinyint, - EVENT_DATE timestamp, - title varchar(255), - primary key (id, REV) - ); - - create table REVINFO ( - REV integer generated by default as identity, - REVTSTMP bigint, - primary key (REV) - ); - - alter table EVENTS_AUD - add constraint FK5cembm6xahf542q8e4h0pq2t1 - foreign key (REV) - references REVINFO; diff --git a/src/it/tutorials/schema-osgi-managed-jpa.sql b/src/it/tutorials/schema-osgi-managed-jpa.sql deleted file mode 100644 index de92e463..00000000 --- a/src/it/tutorials/schema-osgi-managed-jpa.sql +++ /dev/null @@ -1,7 +0,0 @@ -create sequence hibernate_sequence start with 1 increment by 1; - - create table DataPoint ( - id bigint not null, - name varchar(255), - primary key (id) - ); diff --git a/src/it/tutorials/schema-osgi-unmanaged-jpa.sql b/src/it/tutorials/schema-osgi-unmanaged-jpa.sql deleted file mode 100644 index de92e463..00000000 --- a/src/it/tutorials/schema-osgi-unmanaged-jpa.sql +++ /dev/null @@ -1,7 +0,0 @@ -create sequence hibernate_sequence start with 1 increment by 1; - - create table DataPoint ( - id bigint not null, - name varchar(255), - primary key (id) - ); diff --git a/src/it/tutorials/schema-osgi-unmanaged-native.sql b/src/it/tutorials/schema-osgi-unmanaged-native.sql deleted file mode 100644 index d89e2801..00000000 --- a/src/it/tutorials/schema-osgi-unmanaged-native.sql +++ /dev/null @@ -1,26 +0,0 @@ -create sequence hibernate_sequence start with 1 increment by 1; - - create table DataPoint ( - id bigint not null, - name varchar(255), - primary key (id) - ); - - create table DataPoint_AUD ( - id bigint not null, - REV integer not null, - REVTYPE tinyint, - name varchar(255), - primary key (id, REV) - ); - - create table REVINFO ( - REV integer generated by default as identity, - REVTSTMP bigint, - primary key (REV) - ); - - alter table DataPoint_AUD - add constraint FK43jw6b5mtbfxur0xhyjxynbea - foreign key (REV) - references REVINFO; diff --git a/src/it/tutorials/verify.bsh b/src/it/tutorials/verify.bsh deleted file mode 100644 index 9156c4af..00000000 --- a/src/it/tutorials/verify.bsh +++ /dev/null @@ -1,19 +0,0 @@ -import de.juplo.test.FileComparator; - - -FileComparator comparator = new FileComparator(basedir); - -if (!comparator.isEqual("schema-annotations.sql","annotations/target/create.sql")) - return false; -if (!comparator.isEqual("schema-basic.sql","basic/target/create.sql")) - return false; -if (!comparator.isEqual("schema-entitymanager.sql","entitymanager/target/create.sql")) - return false; -if (!comparator.isEqual("schema-envers.sql","envers/target/create.sql")) - return false; -if (!comparator.isEqual("schema-osgi-managed-jpa.sql","osgi/managed-jpa/target/create.sql")) - return false; -if (!comparator.isEqual("schema-osgi-unmanaged-jpa.sql","osgi/unmanaged-jpa/target/create.sql")) - return false; -if (!comparator.isEqual("schema-osgi-unmanaged-native.sql","osgi/unmanaged-native/target/create.sql")) - return false;