Skip to content

Commit

Permalink
Moved JPA bootstrap util to JPA.
Browse files Browse the repository at this point in the history
  • Loading branch information
nmihajlovski committed Mar 2, 2016
1 parent 85330a0 commit 8643675
Show file tree
Hide file tree
Showing 5 changed files with 16 additions and 14 deletions.
9 changes: 9 additions & 0 deletions rapidoid-commons/src/main/java/org/rapidoid/jpa/JPA.java
Expand Up @@ -2,8 +2,10 @@


import org.rapidoid.annotation.Authors; import org.rapidoid.annotation.Authors;
import org.rapidoid.annotation.Since; import org.rapidoid.annotation.Since;
import org.rapidoid.cls.Cls;
import org.rapidoid.concurrent.Callback; import org.rapidoid.concurrent.Callback;
import org.rapidoid.ctx.Ctxs; import org.rapidoid.ctx.Ctxs;
import org.rapidoid.log.Log;


import javax.persistence.EntityManager; import javax.persistence.EntityManager;
import java.util.List; import java.util.List;
Expand Down Expand Up @@ -104,4 +106,11 @@ public static <E> E get(Class<E> clazz, Object id) {
return with(em()).get(clazz, id); return with(em()).get(clazz, id);
} }


public static void bootstrap(String[] path, Class<?>... entities) {
if (Cls.exists("org.hibernate.cfg.Configuration")) {
Log.info("Bootstrapping JPA (Hibernate)");
Ctxs.setPersisterProvider(new QuickJPA(QuickJPA.emf(path, entities)));
}
}

} }
11 changes: 1 addition & 10 deletions rapidoid-commons/src/main/java/org/rapidoid/jpa/QuickJPA.java
Expand Up @@ -27,9 +27,7 @@
import org.hibernate.jpa.internal.EntityManagerFactoryImpl; import org.hibernate.jpa.internal.EntityManagerFactoryImpl;
import org.rapidoid.annotation.Authors; import org.rapidoid.annotation.Authors;
import org.rapidoid.annotation.Since; import org.rapidoid.annotation.Since;
import org.rapidoid.cls.Cls;
import org.rapidoid.config.Conf; import org.rapidoid.config.Conf;
import org.rapidoid.ctx.Ctxs;
import org.rapidoid.ctx.PersisterProvider; import org.rapidoid.ctx.PersisterProvider;
import org.rapidoid.io.IO; import org.rapidoid.io.IO;
import org.rapidoid.log.Log; import org.rapidoid.log.Log;
Expand All @@ -53,7 +51,7 @@ public QuickJPA(HibernateEntityManagerFactory emf) {
this.emf = emf; this.emf = emf;
} }


private static synchronized org.hibernate.ejb.HibernateEntityManagerFactory emFactory(String path[], Class<?>... entities) { public static synchronized org.hibernate.ejb.HibernateEntityManagerFactory emf(String path[], Class<?>... entities) {


org.hibernate.cfg.AnnotationConfiguration cfg = new org.hibernate.cfg.AnnotationConfiguration(); org.hibernate.cfg.AnnotationConfiguration cfg = new org.hibernate.cfg.AnnotationConfiguration();


Expand Down Expand Up @@ -116,11 +114,4 @@ public void closePersister(Object persister) {
em.close(); em.close();
} }


public static void bootstrap(String[] path, Class<?>... entities) {
if (Cls.exists("org.hibernate.cfg.Configuration")) {
Log.info("Bootstrapping JPA (Hibernate)");
Ctxs.setPersisterProvider(new QuickJPA(emFactory(path, entities)));
}
}

} }
Expand Up @@ -18,7 +18,7 @@
import org.rapidoid.ioc.IoC; import org.rapidoid.ioc.IoC;
import org.rapidoid.ioc.IoCContext; import org.rapidoid.ioc.IoCContext;
import org.rapidoid.job.Jobs; import org.rapidoid.job.Jobs;
import org.rapidoid.jpa.QuickJPA; import org.rapidoid.jpa.JPA;
import org.rapidoid.lambda.NParamLambda; import org.rapidoid.lambda.NParamLambda;
import org.rapidoid.log.Log; import org.rapidoid.log.Log;
import org.rapidoid.net.Server; import org.rapidoid.net.Server;
Expand Down Expand Up @@ -363,7 +363,7 @@ public Setup bootstrap(String... args) {
this.args(args); this.args(args);
beans(annotated(Controller.class).in(path()).loadAll().toArray()); beans(annotated(Controller.class).in(path()).loadAll().toArray());


QuickJPA.bootstrap(path()); JPA.bootstrap(path());


Log.info("Completed bootstrap", "context", getIoCContext()); Log.info("Completed bootstrap", "context", getIoCContext());
return this; return this;
Expand Down
Expand Up @@ -69,6 +69,8 @@ public void openContext() {
On.setup().http().resetConfig(); On.setup().http().resetConfig();
On.setup().listen(); On.setup().listen();


Setup.resetGlobalState();

System.out.println("--- SERVER STARTED ---"); System.out.println("--- SERVER STARTED ---");


notFound("/"); notFound("/");
Expand Down
Expand Up @@ -6,7 +6,6 @@
import org.rapidoid.fluent.Do; import org.rapidoid.fluent.Do;
import org.rapidoid.http.HttpTestCommons; import org.rapidoid.http.HttpTestCommons;
import org.rapidoid.job.Jobs; import org.rapidoid.job.Jobs;
import org.rapidoid.setup.On;
import org.rapidoid.u.U; import org.rapidoid.u.U;
import org.rapidoid.util.UTILS; import org.rapidoid.util.UTILS;


Expand Down Expand Up @@ -39,7 +38,8 @@ public class JPATest extends HttpTestCommons {


@Test @Test
public void testBasicCRUD() { public void testBasicCRUD() {
QuickJPA.bootstrap(On.path()); String[] path = {JPATest.class.getPackage().getName()};
JPA.bootstrap(path);


Book b1 = new Book("book 1"); Book b1 = new Book("book 1");
Book b2 = new Book("book 2"); Book b2 = new Book("book 2");
Expand Down

0 comments on commit 8643675

Please sign in to comment.