/** * Shortcut for <code>newPersistenceEnvironment(newEntityManagerFactory(cc, emName, persistenceProps))</code>. * * @see PersistenceUtil#newEntityManagerFactory(org.osgi.service.component.ComponentContext, String, java.util.Map) */ public static PersistenceEnv persistenceEnvironment(ComponentContext cc, String emName, Map persistenceProps) { return persistenceEnvironment(newEntityManagerFactory(cc, emName, persistenceProps)); }
/** * Create a new persistence environment based on an entity manager factory backed by an in-memory H2 database for * testing purposes. * * @param emName * name of the persistence unit (see META-INF/persistence.xml) */ public static PersistenceEnv testPersistenceEnv(String emName) { return persistenceEnvironment(newTestEntityManagerFactory(emName)); } }
/** * Closes entity manager factory. */ public void deactivate() { penv.close(); }
@Override public A apply(Function<EntityManager, A> transactional) { return tx(transactional); } };
/** * Shortcut for <code>newPersistenceEnvironment(newEntityManagerFactory(cc, emName, persistenceProps))</code>. * * @see #newEntityManagerFactory(org.osgi.service.component.ComponentContext, String, java.util.Map) */ public static PersistenceEnv newPersistenceEnvironment(ComponentContext cc, String emName, Map persistenceProps) { return newPersistenceEnvironment(newEntityManagerFactory(cc, emName, persistenceProps)); }
@Override public A apply(EntityManager em) { return persistOrUpdate(em, a); } };
/** * Define a column of type DateTime. * DateTime columns must be mappable to {@link Date} by JPA. */ public Col<DateTime> dateTimeCol() { return new DateTimeCol(); }
public <A> Function<EntityManager, List<A>> findAll(final String q, final int offset, final int limit, final P... params) { return new Function<EntityManager, List<A>>() { @Override public List<A> apply(EntityManager em) { return findAll(em, q, offset, limit, params); } }; }
/** Define a column of type long. */ public Col<Long> longCol() { return new LongCol(); }
@Override public Option<A> apply(EntityManager em) { return findSingle(em, q, params); } };
@Override public Boolean apply(EntityManager em) { return update(em, q, params); } };
@Override public Long apply(EntityManager em) { return count(em, q, params); } };
/** Define a column of type Date. */ public Col<Date> dateCol() { return new DateCol(); }
/** Define a column of type boolean. */ public Col<Boolean> booleanCol() { return new BooleanCol(); }
@Override public Option<A> apply(EntityManager em) { return findFirst(em, q, params); } };
/** * Shortcut for <code>persistenceEnvironment(newEntityManagerFactory(cc, emName))</code>. * * @see PersistenceUtil#newEntityManagerFactory(org.osgi.service.component.ComponentContext, String) */ public static PersistenceEnv persistenceEnvironment(ComponentContext cc, String emName) { return persistenceEnvironment(newEntityManagerFactory(cc, emName)); }
@Override public void close() { penv.close(); } };
/** * Shortcut for <code>newPersistenceEnvironment(newEntityManagerFactory(cc, emName))</code>. * * @see #newEntityManagerFactory(org.osgi.service.component.ComponentContext, String) */ public static PersistenceEnv newPersistenceEnvironment(ComponentContext cc, String emName) { return newPersistenceEnvironment(newEntityManagerFactory(cc, emName)); }
@Override protected void xrun() throws Exception { penv.close(); } };