Skip to content

Commit

Permalink
Removed the Hibernate module (moved components to Commons and Quick m…
Browse files Browse the repository at this point in the history
…odules).
  • Loading branch information
nmihajlovski committed Mar 2, 2016
1 parent e61c616 commit 13216f5
Show file tree
Hide file tree
Showing 20 changed files with 91 additions and 344 deletions.
1 change: 0 additions & 1 deletion pom.xml
Expand Up @@ -65,7 +65,6 @@
<module>rapidoid-html</module> <module>rapidoid-html</module>
<module>rapidoid-gui</module> <module>rapidoid-gui</module>
<module>rapidoid-oauth</module> <module>rapidoid-oauth</module>
<module>rapidoid-hibernate</module>
<module>rapidoid-web</module> <module>rapidoid-web</module>
<module>rapidoid-quick</module> <module>rapidoid-quick</module>
<module>rapidoid-watch</module> <module>rapidoid-watch</module>
Expand Down
11 changes: 10 additions & 1 deletion rapidoid-commons/pom.xml
Expand Up @@ -39,20 +39,29 @@
<version>2.6.0</version> <version>2.6.0</version>
</dependency> </dependency>


<!-- OPTIONAL -->

<dependency> <dependency>
<groupId>com.mchange</groupId> <groupId>com.mchange</groupId>
<artifactId>c3p0</artifactId> <artifactId>c3p0</artifactId>
<version>0.9.2.1</version> <version>0.9.2.1</version>
<optional>true</optional> <optional>true</optional>
</dependency> </dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>4.3.10.Final</version>
<optional>true</optional>
</dependency>

<!-- TEST -->


<dependency> <dependency>
<groupId>org.rapidoid</groupId> <groupId>org.rapidoid</groupId>
<artifactId>rapidoid-test-commons</artifactId> <artifactId>rapidoid-test-commons</artifactId>
<version>${project.version}</version> <version>${project.version}</version>
<scope>test</scope> <scope>test</scope>
</dependency> </dependency>

<dependency> <dependency>
<groupId>mysql</groupId> <groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId> <artifactId>mysql-connector-java</artifactId>
Expand Down
@@ -1,14 +1,13 @@
package org.rapidoid.dao; package org.rapidoid.jpa;


import org.rapidoid.plugins.db.hibernate.JPA;
import org.rapidoid.u.U; import org.rapidoid.u.U;


import java.lang.reflect.ParameterizedType; import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type; import java.lang.reflect.Type;


/* /*
* #%L * #%L
* rapidoid-hibernate * rapidoid-commons
* %% * %%
* Copyright (C) 2014 - 2016 Nikolche Mihajlovski and contributors * Copyright (C) 2014 - 2016 Nikolche Mihajlovski and contributors
* %% * %%
Expand Down
@@ -1,4 +1,4 @@
package org.rapidoid.plugins.db.hibernate; package org.rapidoid.jpa;


import org.rapidoid.annotation.Authors; import org.rapidoid.annotation.Authors;
import org.rapidoid.annotation.Since; import org.rapidoid.annotation.Since;
Expand All @@ -10,7 +10,7 @@


/* /*
* #%L * #%L
* rapidoid-hibernate * rapidoid-commons
* %% * %%
* Copyright (C) 2014 - 2016 Nikolche Mihajlovski and contributors * Copyright (C) 2014 - 2016 Nikolche Mihajlovski and contributors
* %% * %%
Expand Down Expand Up @@ -64,6 +64,10 @@ public static void transaction(Runnable action, boolean readonly) {
with(em()).transaction(action, readonly); with(em()).transaction(action, readonly);
} }


public static void transaction(Runnable tx, boolean readonly, Callback<Void> callback) {
with(em()).transaction(tx, readonly, callback);
}

public static <E> List<E> getAll(Class<E> clazz, List<String> ids) { public static <E> List<E> getAll(Class<E> clazz, List<String> ids) {
return with(em()).getAll(clazz, ids); return with(em()).getAll(clazz, ids);
} }
Expand All @@ -88,10 +92,6 @@ public static Object insert(Object entity) {
return with(em()).insert(entity); return with(em()).insert(entity);
} }


public static void transaction(Runnable tx, boolean readonly, Callback<Void> callback) {
with(em()).transaction(tx, readonly, callback);
}

public static <E> List<E> getAll(Class<E> clazz, int pageNumber, int pageSize) { public static <E> List<E> getAll(Class<E> clazz, int pageNumber, int pageSize) {
return with(em()).getAll(clazz, pageNumber, pageSize); return with(em()).getAll(clazz, pageNumber, pageSize);
} }
Expand Down
@@ -1,4 +1,4 @@
package org.rapidoid.plugins.db.hibernate; package org.rapidoid.jpa;


import org.rapidoid.annotation.Authors; import org.rapidoid.annotation.Authors;
import org.rapidoid.annotation.Since; import org.rapidoid.annotation.Since;
Expand Down Expand Up @@ -26,7 +26,7 @@


/* /*
* #%L * #%L
* rapidoid-hibernate * rapidoid-commons
* %% * %%
* Copyright (C) 2014 - 2016 Nikolche Mihajlovski and contributors * Copyright (C) 2014 - 2016 Nikolche Mihajlovski and contributors
* %% * %%
Expand Down
@@ -1,8 +1,8 @@
package org.rapidoid.quick; package org.rapidoid.jpa;


/* /*
* #%L * #%L
* rapidoid-quick * rapidoid-commons
* %% * %%
* Copyright (C) 2014 - 2016 Nikolche Mihajlovski and contributors * Copyright (C) 2014 - 2016 Nikolche Mihajlovski and contributors
* %% * %%
Expand All @@ -27,6 +27,8 @@
import org.rapidoid.annotation.Authors; import org.rapidoid.annotation.Authors;
import org.rapidoid.annotation.Since; import org.rapidoid.annotation.Since;
import org.rapidoid.config.Conf; import org.rapidoid.config.Conf;
import org.rapidoid.ctx.Ctx;
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.scan.Scan; import org.rapidoid.scan.Scan;
Expand All @@ -42,33 +44,33 @@
@Since("3.0.0") @Since("3.0.0")
public class QuickJPA implements PersisterProvider { public class QuickJPA implements PersisterProvider {


private final Object[] args; private final String path;


@SuppressWarnings("deprecation") private final Class<?>[] entities;
private static org.hibernate.ejb.HibernateEntityManagerFactory emFactory;


public QuickJPA(Object... args) { public QuickJPA(String path, Class<?>... entities) {
this.args = args; this.path = path;
this.entities = entities;
} }


@SuppressWarnings("deprecation") @SuppressWarnings("deprecation")
private static synchronized org.hibernate.ejb.HibernateEntityManagerFactory emFactory(Object[] args) { private org.hibernate.ejb.HibernateEntityManagerFactory emFactory;

@SuppressWarnings("deprecation")
private synchronized org.hibernate.ejb.HibernateEntityManagerFactory emFactory() {


if (emFactory == null) { if (emFactory == null) {


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


List<Class<?>> entityTypes = Scan.annotated(Entity.class).loadAll(); List<Class<?>> entityTypes = Scan.annotated(Entity.class).in(path).loadAll();
for (Class<?> entityType : entityTypes) { for (Class<?> entityType : entityTypes) {
cfg.addAnnotatedClass(entityType); cfg.addAnnotatedClass(entityType);
} }


for (Object arg : args) { for (Class<?> entityType : entities) {
if (arg instanceof Class<?>) { if (!entityTypes.contains(entityType)) {
Class<?> entityType = (Class<?>) arg; cfg.addAnnotatedClass(entityType);
if (!entityTypes.contains(entityType)) {
cfg.addAnnotatedClass(entityType);
}
} }
} }


Expand Down Expand Up @@ -112,7 +114,7 @@ public static Properties hibernateProperties() {
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
@Override @Override
public <P> P openPersister() { public <P> P openPersister() {
return (P) emFactory(args).createEntityManager(); return (P) emFactory().createEntityManager();
} }


@Override @Override
Expand All @@ -121,4 +123,9 @@ public void closePersister(Object persister) {
em.close(); em.close();
} }


public static void bootstrap(String path, Class<?>... entities) {
Ctx ctx = Ctxs.open("jpa");
Ctxs.setPersisterProvider(new QuickJPA(path, entities));
}

} }
37 changes: 37 additions & 0 deletions rapidoid-commons/src/main/java/org/rapidoid/util/UTILS.java
Expand Up @@ -39,6 +39,7 @@
import org.rapidoid.lambda.F2; import org.rapidoid.lambda.F2;
import org.rapidoid.lambda.Lmbd; import org.rapidoid.lambda.Lmbd;
import org.rapidoid.lambda.Mapper; import org.rapidoid.lambda.Mapper;
import org.rapidoid.log.Log;
import org.rapidoid.u.U; import org.rapidoid.u.U;


import java.io.*; import java.io.*;
Expand Down Expand Up @@ -318,6 +319,7 @@ public static void connect(String address, int port, F2<Void, BufferedReader, Da
} }
} }
} }

public static short bytesToShort(String s) { public static short bytesToShort(String s) {
ByteBuffer buf = Bufs.buf(s); ByteBuffer buf = Bufs.buf(s);
U.must(buf.limit() == 2); U.must(buf.limit() == 2);
Expand Down Expand Up @@ -839,4 +841,39 @@ public static boolean withWatchModule() {
return Cls.getClassIfExists("org.rapidoid.io.watch.Watch") != null; return Cls.getClassIfExists("org.rapidoid.io.watch.Watch") != null;
} }


public static void terminate(final int afterSeconds) {
Log.warn("Terminating application in " + afterSeconds + " seconds...");
new Thread() {
@Override
public void run() {
U.sleep(afterSeconds * 1000);
terminate();
}
}.start();
}

public static void terminateIfIdleFor(final int idleSeconds) {
Log.warn("Will terminate if idle for " + idleSeconds + " seconds...");

new Thread(new Runnable() {
@Override
public void run() {
while (!Thread.interrupted()) {
U.sleep(500);
long lastUsed = Usage.getLastAppUsedOn();
long idleSec = (U.time() - lastUsed) / 1000;
if (idleSec >= idleSeconds) {
Usage.touchLastAppUsedOn();
terminate();
}
}
}
}).start();
}

public static void terminate() {
Log.warn("Terminating application.");
System.exit(0);
}

} }
1 change: 0 additions & 1 deletion rapidoid-hibernate/.gitignore

This file was deleted.

39 changes: 0 additions & 39 deletions rapidoid-hibernate/pom.xml

This file was deleted.

19 changes: 0 additions & 19 deletions rapidoid-hibernate/src/test/resources/META-INF/persistence.xml

This file was deleted.

11 changes: 0 additions & 11 deletions rapidoid-quick/pom.xml
Expand Up @@ -17,11 +17,6 @@
<artifactId>rapidoid-web</artifactId> <artifactId>rapidoid-web</artifactId>
<version>${project.version}</version> <version>${project.version}</version>
</dependency> </dependency>
<dependency>
<groupId>org.rapidoid</groupId>
<artifactId>rapidoid-hibernate</artifactId>
<version>${project.version}</version>
</dependency>
<dependency> <dependency>
<groupId>ch.qos.logback</groupId> <groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId> <artifactId>logback-classic</artifactId>
Expand Down Expand Up @@ -53,12 +48,6 @@
<version>${project.version}</version> <version>${project.version}</version>
<scope>test</scope> <scope>test</scope>
</dependency> </dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>1.4.187</version>
<scope>test</scope>
</dependency>
<dependency> <dependency>
<groupId>org.hsqldb</groupId> <groupId>org.hsqldb</groupId>
<artifactId>hsqldb</artifactId> <artifactId>hsqldb</artifactId>
Expand Down
58 changes: 0 additions & 58 deletions rapidoid-quick/src/main/java/org/rapidoid/quick/Quick.java

This file was deleted.

0 comments on commit 13216f5

Please sign in to comment.