Java 类com.google.inject.persist.UnitOfWork 实例源码

项目:guice-persist-neo4j    文件:Neo4jPersistModule.java   
@Override
protected final void configure() {
    configurePersistence();

    requireBinding(PersistService.class);
    requireBinding(UnitOfWork.class);
/*if[AOP]*/
    // wrapping in an if[AOP] just to allow this to compile in NO_AOP -- it won't be used

    // class-level @Transacational
    bindInterceptor(annotatedWith(Transactional.class),
            new TransactionalClassMethodMatcher(),
            getTransactionInterceptor());
    // method-level @Transacational
    bindInterceptor(any(), new TransactionalMethodMatcher(), getTransactionInterceptor());
   /*end[AOP]*/
}
项目:guice-persist-neo4j    文件:Neo4jPersistModule.java   
protected void configurePersistence() {
    bind(String[].class).annotatedWith(Neo4j.class).toInstance(packages);

    if (null != properties) {
        bind(Properties.class).annotatedWith(Neo4j.class).toInstance(properties);
    } else {
        bind(Properties.class).annotatedWith(Neo4j.class).toProvider(Providers.of(null));
    }

    bind(Neo4jPersistService.class).in(Singleton.class);
    bind(PersistService.class).to(Neo4jPersistService.class);
    bind(UnitOfWork.class).to(Neo4jPersistService.class);
    bind(Session.class).toProvider(Neo4jPersistService.class);

    transactionInterceptor = new Neo4jLocalTxnInterceptor();
    requestInjection(transactionInterceptor);
}
项目:MoodCat.me-Core    文件:CallableInUnitOfWorkTest.java   
public void testCall() throws Exception {
    final String message = "TestMessage";
    final CallableInUnitOfWork<String> unitOfWork = new CallableInUnitOfWork<>(
            () -> new UnitOfWork() {

                @Override
                public void begin() {

                }

                @Override
                public void end() {

                }
            }, () -> message);

    assertEquals(message, unitOfWork.call());
}
项目:guice    文件:JpaPersistModule.java   
@Override
protected void configurePersistence() {
  bindConstant().annotatedWith(Jpa.class).to(jpaUnit);

  bind(JpaPersistService.class).in(Singleton.class);

  bind(PersistService.class).to(JpaPersistService.class);
  bind(UnitOfWork.class).to(JpaPersistService.class);
  bind(EntityManager.class).toProvider(JpaPersistService.class);
  bind(EntityManagerFactory.class)
      .toProvider(JpaPersistService.EntityManagerFactoryProvider.class);

  transactionInterceptor = new JpaLocalTxnInterceptor();
  requestInjection(transactionInterceptor);

  // Bind dynamic finders.
  for (Class<?> finder : dynamicFinders) {
    bindFinder(finder);
  }
}
项目:guice    文件:JoiningLocalTransactionsTest.java   
public void testSimpleTransaction() {
  injector
      .getInstance(JoiningLocalTransactionsTest.TransactionalObject.class)
      .runOperationInTxn();

  EntityManager em = injector.getInstance(EntityManager.class);
  assertFalse("txn was not closed by transactional service", em.getTransaction().isActive());

  //test that the data has been stored
  Object result =
      em.createQuery("from JpaTestEntity where text = :text")
          .setParameter("text", UNIQUE_TEXT)
          .getSingleResult();
  injector.getInstance(UnitOfWork.class).end();

  assertTrue("odd result returned fatal", result instanceof JpaTestEntity);

  assertEquals(
      "queried entity did not match--did automatic txn fail?",
      UNIQUE_TEXT,
      ((JpaTestEntity) result).getText());
}
项目:guice    文件:JoiningLocalTransactionsTest.java   
public void testSimpleTransactionRollbackOnUnchecked() {
  try {
    injector
        .getInstance(JoiningLocalTransactionsTest.TransactionalObject.class)
        .runOperationInTxnThrowingUnchecked();
  } catch (RuntimeException re) {
    //ignore
    injector.getInstance(UnitOfWork.class).end();
  }

  EntityManager em = injector.getInstance(EntityManager.class);
  assertFalse(
      "Session was not closed by transactional service (rollback didnt happen?)",
      em.getTransaction().isActive());

  try {
    Object result =
        em.createQuery("from JpaTestEntity where text = :text")
            .setParameter("text", TRANSIENT_UNIQUE_TEXT)
            .getSingleResult();
    injector.getInstance(UnitOfWork.class).end();
    fail("a result was returned! rollback sure didnt happen!!!");
  } catch (NoResultException e) {
  }
}
项目:guice    文件:ManagedLocalTransactionsTest.java   
public void testSimpleTransaction() {
  injector.getInstance(TransactionalObject.class).runOperationInTxn();

  EntityManager em = injector.getInstance(EntityManager.class);
  assertFalse("txn was not closed by transactional service", em.getTransaction().isActive());

  //test that the data has been stored
  Object result =
      em.createQuery("from JpaTestEntity where text = :text")
          .setParameter("text", UNIQUE_TEXT)
          .getSingleResult();
  injector.getInstance(UnitOfWork.class).end();

  assertTrue("odd result returned fatal", result instanceof JpaTestEntity);

  assertEquals(
      "queried entity did not match--did automatic txn fail?",
      UNIQUE_TEXT,
      ((JpaTestEntity) result).getText());
}
项目:guice    文件:ManagedLocalTransactionsTest.java   
public void testSimpleTransactionWithMerge() {
  JpaTestEntity entity =
      injector.getInstance(TransactionalObject.class).runOperationInTxnWithMerge();

  EntityManager em = injector.getInstance(EntityManager.class);
  assertFalse("txn was not closed by transactional service", em.getTransaction().isActive());

  //test that the data has been stored
  assertTrue("Em was closed after txn!", em.isOpen());

  Object result =
      em.createQuery("from JpaTestEntity where text = :text")
          .setParameter("text", UNIQUE_TEXT_MERGE)
          .getSingleResult();
  injector.getInstance(UnitOfWork.class).end();

  assertTrue(result instanceof JpaTestEntity);

  assertEquals(
      "queried entity did not match--did automatic txn fail?",
      UNIQUE_TEXT_MERGE,
      ((JpaTestEntity) result).getText());
}
项目:guice    文件:ManagedLocalTransactionsTest.java   
public void testSimpleTransactionRollbackOnUnchecked() {
  try {
    injector.getInstance(TransactionalObject.class).runOperationInTxnThrowingUnchecked();
  } catch (RuntimeException re) {
    //ignore
    injector.getInstance(UnitOfWork.class).end();
  }

  EntityManager em = injector.getInstance(EntityManager.class);
  assertFalse(
      "Session was not closed by transactional service (rollback didnt happen?)",
      em.getTransaction().isActive());

  try {
    Object result =
        em.createQuery("from JpaTestEntity where text = :text")
            .setParameter("text", TRANSIENT_UNIQUE_TEXT)
            .getSingleResult();
    injector.getInstance(UnitOfWork.class).end();
    fail("a result was returned! rollback sure didnt happen!!!");
  } catch (NoResultException e) {
  }
}
项目:guice    文件:ManagedLocalTransactionsAcrossRequestTest.java   
public void testSimpleTransaction() {
  injector.getInstance(TransactionalObject.class).runOperationInTxn();

  EntityManager em = injector.getInstance(EntityManager.class);
  assertFalse(em.getTransaction().isActive());

  //test that the data has been stored
  Object result =
      em.createQuery("from JpaTestEntity where text = :text")
          .setParameter("text", UNIQUE_TEXT)
          .getSingleResult();
  injector.getInstance(UnitOfWork.class).end();

  assertTrue("odd result returned fatal", result instanceof JpaTestEntity);

  assertEquals(
      "queried entity did not match--did automatic txn fail?",
      UNIQUE_TEXT,
      ((JpaTestEntity) result).getText());
  injector.getInstance(UnitOfWork.class).end();
}
项目:guice    文件:ManagedLocalTransactionsAcrossRequestTest.java   
public void disabled_testSimpleTransactionWithMergeAndDF() {
  EntityManager emOrig = injector.getInstance(EntityManager.class);
  JpaTestEntity entity =
      injector.getInstance(TransactionalObject.class).runOperationInTxnWithMergeForDf();

  EntityManager em = injector.getInstance(EntityManager.class);
  assertFalse("txn was not closed by transactional service", em.getTransaction().isActive());

  //test that the data has been stored
  assertTrue("Em was closed after txn!", em.isOpen());
  assertEquals("Em was not kept open across txns", emOrig, em);
  assertTrue("Merge did not store state or did not return persistent copy", em.contains(entity));

  Object result = injector.getInstance(TransactionalObject.class).find(UNIQUE_TEXT_MERGE_FORDF);
  injector.getInstance(UnitOfWork.class).end();

  assertNotNull(result);
  assertTrue(result instanceof JpaTestEntity);

  assertEquals(
      "queried entity did not match--did automatic txn fail?",
      UNIQUE_TEXT_MERGE_FORDF,
      ((JpaTestEntity) result).getText());
  injector.getInstance(UnitOfWork.class).end();
}
项目:guice    文件:ManagedLocalTransactionsAcrossRequestTest.java   
public void testSimpleTransactionRollbackOnUnchecked() {
  try {
    injector.getInstance(TransactionalObject.class).runOperationInTxnThrowingUnchecked();
  } catch (RuntimeException re) {
    //ignore
    injector.getInstance(UnitOfWork.class).end();
  }

  EntityManager em = injector.getInstance(EntityManager.class);
  assertFalse(
      "Session was not closed by transactional service (rollback didnt happen?)",
      em.getTransaction().isActive());

  try {
    Object result =
        em.createQuery("from JpaTestEntity where text = :text")
            .setParameter("text", TRANSIENT_UNIQUE_TEXT)
            .getSingleResult();
    injector.getInstance(UnitOfWork.class).end();
    fail();
  } catch (NoResultException e) {
  }

  injector.getInstance(UnitOfWork.class).end();
}
项目:guice-old    文件:JpaPersistModule.java   
@Override protected void configurePersistence() {
  bindConstant().annotatedWith(Jpa.class).to(jpaUnit);

  if (null != properties) {
    bind(Properties.class).annotatedWith(Jpa.class).toInstance(properties);
  } else {
    bind(Properties.class).annotatedWith(Jpa.class)
        .toProvider(Providers.<Properties>of(null));
  }

  bind(JpaPersistService.class).in(Singleton.class);

  bind(PersistService.class).to(JpaPersistService.class);
  bind(UnitOfWork.class).to(JpaPersistService.class);
  bind(EntityManager.class).toProvider(JpaPersistService.class);
  bind(EntityManagerFactory.class)
      .toProvider(JpaPersistService.EntityManagerFactoryProvider.class);

  transactionInterceptor = new JpaLocalTxnInterceptor();
  requestInjection(transactionInterceptor);

  // Bind dynamic finders.
  for (Class<?> finder : dynamicFinders) {
    bindFinder(finder);
  }
}
项目:guice-old    文件:ManualLocalTransactionsWithCustomMatcherTest.java   
public void testSimpleCrossTxnWork() {
  //pretend that the request was started here
  EntityManager em = injector.getInstance(EntityManager.class);

  JpaTestEntity entity = injector
      .getInstance(ManualLocalTransactionsWithCustomMatcherTest.TransactionalObject.class)
      .runOperationInTxn();
  injector.getInstance(ManualLocalTransactionsWithCustomMatcherTest.TransactionalObject.class)
      .runOperationInTxn2();

  //persisted entity should remain in the same em (which should still be open)
  assertTrue("EntityManager  appears to have been closed across txns!",
      injector.getInstance(EntityManager.class).contains(entity));
  assertTrue("EntityManager  appears to have been closed across txns!", em.contains(entity));
  assertTrue("EntityManager appears to have been closed across txns!", em.isOpen());

  injector.getInstance(UnitOfWork.class).end();

  //try to query them back out
  em = injector.getInstance(EntityManager.class);
  assertNotNull(em.createQuery("from JpaTestEntity where text = :text")
      .setParameter("text", UNIQUE_TEXT).getSingleResult());
  assertNotNull(em.createQuery("from JpaTestEntity where text = :text")
      .setParameter("text", UNIQUE_TEXT_2).getSingleResult());
  em.close();
}
项目:guice-old    文件:JoiningLocalTransactionsTest.java   
public void testSimpleTransaction() {
  injector.getInstance(JoiningLocalTransactionsTest.TransactionalObject.class)
      .runOperationInTxn();

  EntityManager em = injector.getInstance(EntityManager.class);
  assertFalse("txn was not closed by transactional service",
      em.getTransaction().isActive());

  //test that the data has been stored
  Object result = em.createQuery("from JpaTestEntity where text = :text")
      .setParameter("text", UNIQUE_TEXT).getSingleResult();
  injector.getInstance(UnitOfWork.class).end();

  assertTrue("odd result returned fatal", result instanceof JpaTestEntity);

  assertEquals("queried entity did not match--did automatic txn fail?", UNIQUE_TEXT,
      ((JpaTestEntity) result).getText());
}
项目:guice-old    文件:JoiningLocalTransactionsTest.java   
public void testSimpleTransactionRollbackOnUnchecked() {
  try {
    injector.getInstance(JoiningLocalTransactionsTest.TransactionalObject.class)
        .runOperationInTxnThrowingUnchecked();
  } catch (RuntimeException re) {
    //ignore
    injector.getInstance(UnitOfWork.class).end();
  }

  EntityManager em = injector.getInstance(EntityManager.class);
  assertFalse("Session was not closed by transactional service (rollback didnt happen?)",
      em.getTransaction().isActive());

  try {
    Object result = em.createQuery("from JpaTestEntity where text = :text")
        .setParameter("text", TRANSIENT_UNIQUE_TEXT).getSingleResult();
    injector.getInstance(UnitOfWork.class).end();
    fail("a result was returned! rollback sure didnt happen!!!");
  } catch (NoResultException e) {}
}
项目:guice-old    文件:ManagedLocalTransactionsTest.java   
public void testSimpleTransaction() {
  injector.getInstance(TransactionalObject.class).runOperationInTxn();

  EntityManager em = injector.getInstance(EntityManager.class);
  assertFalse("txn was not closed by transactional service", em.getTransaction().isActive());

  //test that the data has been stored
  Object result = em.createQuery("from JpaTestEntity where text = :text")
      .setParameter("text", UNIQUE_TEXT).getSingleResult();
  injector.getInstance(UnitOfWork.class).end();

  assertTrue("odd result returned fatal", result instanceof JpaTestEntity);

  assertEquals("queried entity did not match--did automatic txn fail?",
      UNIQUE_TEXT, ((JpaTestEntity) result).getText());
}
项目:guice-old    文件:ManagedLocalTransactionsTest.java   
public void testSimpleTransactionWithMerge() {
  JpaTestEntity entity = injector.getInstance(TransactionalObject.class)
      .runOperationInTxnWithMerge();

  EntityManager em = injector.getInstance(EntityManager.class);
  assertFalse("txn was not closed by transactional service", em.getTransaction().isActive());

  //test that the data has been stored
  assertTrue("Em was closed after txn!", em.isOpen());

  Object result = em.createQuery("from JpaTestEntity where text = :text")
      .setParameter("text", UNIQUE_TEXT_MERGE).getSingleResult();
  injector.getInstance(UnitOfWork.class).end();

  assertTrue(result instanceof JpaTestEntity);

  assertEquals("queried entity did not match--did automatic txn fail?",
      UNIQUE_TEXT_MERGE, ((JpaTestEntity) result).getText());
}
项目:guice-old    文件:ManagedLocalTransactionsTest.java   
public void testSimpleTransactionRollbackOnUnchecked() {
  try {
    injector.getInstance(TransactionalObject.class).runOperationInTxnThrowingUnchecked();
  } catch (RuntimeException re) {
    //ignore
    injector.getInstance(UnitOfWork.class).end();
  }

  EntityManager em = injector.getInstance(EntityManager.class);
  assertFalse("Session was not closed by transactional service (rollback didnt happen?)",
      em.getTransaction().isActive());

  try {
    Object result = em.createQuery("from JpaTestEntity where text = :text")
        .setParameter("text", TRANSIENT_UNIQUE_TEXT).getSingleResult();
    injector.getInstance(UnitOfWork.class).end();
    fail("a result was returned! rollback sure didnt happen!!!");
  } catch (NoResultException e) {}
}
项目:guice-old    文件:ManagedLocalTransactionsAcrossRequestTest.java   
public void testSimpleTransaction() {
  injector.getInstance(TransactionalObject.class).runOperationInTxn();

  EntityManager em = injector.getInstance(EntityManager.class);
  assertFalse(em.getTransaction().isActive());

  //test that the data has been stored
  Object result = em.createQuery("from JpaTestEntity where text = :text")
      .setParameter("text", UNIQUE_TEXT).getSingleResult();
  injector.getInstance(UnitOfWork.class).end();

  assertTrue("odd result returned fatal", result instanceof JpaTestEntity);

  assertEquals("queried entity did not match--did automatic txn fail?",
      UNIQUE_TEXT, ((JpaTestEntity) result).getText());
  injector.getInstance(UnitOfWork.class).end();

}
项目:guice-old    文件:ManagedLocalTransactionsAcrossRequestTest.java   
public void testSimpleTransactionWithMerge() {
  EntityManager emOrig = injector.getInstance(EntityManager.class);
  JpaTestEntity entity = injector.getInstance(TransactionalObject.class)
      .runOperationInTxnWithMerge();

  assertNotNull("Entity was not given an id (was not persisted correctly?)", entity.getId());

  EntityManager em = injector.getInstance(EntityManager.class);
  assertFalse(em.getTransaction().isActive());

  //test that the data has been stored
  assertTrue("Em was closed after txn!", em.isOpen());
  assertEquals("Em was not kept open across txns", emOrig, em);
  assertTrue("Merge did not store state or did not return persistent copy", em.contains(entity));

  Object result = em.createQuery("from JpaTestEntity where text = :text")
      .setParameter("text", UNIQUE_TEXT_MERGE).getSingleResult();
  injector.getInstance(UnitOfWork.class).end();

  assertTrue(result instanceof JpaTestEntity);

  assertEquals("queried entity did not match--did automatic txn fail?",
      UNIQUE_TEXT_MERGE, ((JpaTestEntity) result).getText());
  injector.getInstance(UnitOfWork.class).end();

}
项目:guice-old    文件:ManagedLocalTransactionsAcrossRequestTest.java   
public void disabled_testSimpleTransactionWithMergeAndDF() {
  EntityManager emOrig = injector.getInstance(EntityManager.class);
  JpaTestEntity entity = injector.getInstance(TransactionalObject.class)
      .runOperationInTxnWithMergeForDf();

  EntityManager em = injector.getInstance(EntityManager.class);
  assertFalse("txn was not closed by transactional service", em.getTransaction().isActive());

  //test that the data has been stored
  assertTrue("Em was closed after txn!", em.isOpen());
  assertEquals("Em was not kept open across txns", emOrig, em);
  assertTrue("Merge did not store state or did not return persistent copy", em.contains(entity));

  Object result = injector.getInstance(TransactionalObject.class).find(UNIQUE_TEXT_MERGE_FORDF);
  injector.getInstance(UnitOfWork.class).end();

  assertNotNull(result);
  assertTrue(result instanceof JpaTestEntity);

  assertEquals("queried entity did not match--did automatic txn fail?",
      UNIQUE_TEXT_MERGE_FORDF, ((JpaTestEntity) result).getText());
  injector.getInstance(UnitOfWork.class).end();

}
项目:guice-old    文件:ManagedLocalTransactionsAcrossRequestTest.java   
public void testSimpleTransactionRollbackOnUnchecked() {
  try {
    injector.getInstance(TransactionalObject.class).runOperationInTxnThrowingUnchecked();
  } catch (RuntimeException re) {
    //ignore
    injector.getInstance(UnitOfWork.class).end();
  }

  EntityManager em = injector.getInstance(EntityManager.class);
  assertFalse("Session was not closed by transactional service (rollback didnt happen?)",
      em.getTransaction().isActive());

  try {
    Object result = em.createQuery("from JpaTestEntity where text = :text")
        .setParameter("text", TRANSIENT_UNIQUE_TEXT).getSingleResult();
    injector.getInstance(UnitOfWork.class).end();
    fail();
  } catch (NoResultException e) {}

  injector.getInstance(UnitOfWork.class).end();
}
项目:google-guice    文件:JpaPersistModule.java   
@Override protected void configurePersistence() {
  bindConstant().annotatedWith(Jpa.class).to(jpaUnit);

  if (null != properties) {
    bind(Properties.class).annotatedWith(Jpa.class).toInstance(properties);
  } else {
    bind(Properties.class).annotatedWith(Jpa.class)
        .toProvider(Providers.<Properties>of(null));
  }

  bind(JpaPersistService.class).in(Singleton.class);

  bind(PersistService.class).to(JpaPersistService.class);
  bind(UnitOfWork.class).to(JpaPersistService.class);
  bind(EntityManager.class).toProvider(JpaPersistService.class);
  bind(EntityManagerFactory.class)
      .toProvider(JpaPersistService.EntityManagerFactoryProvider.class);

  transactionInterceptor = new JpaLocalTxnInterceptor();
  requestInjection(transactionInterceptor);

  // Bind dynamic finders.
  for (Class<?> finder : dynamicFinders) {
    bindFinder(finder);
  }
}
项目:google-guice    文件:ManualLocalTransactionsWithCustomMatcherTest.java   
public void testSimpleCrossTxnWork() {
  //pretend that the request was started here
  EntityManager em = injector.getInstance(EntityManager.class);

  JpaTestEntity entity = injector
      .getInstance(ManualLocalTransactionsWithCustomMatcherTest.TransactionalObject.class)
      .runOperationInTxn();
  injector.getInstance(ManualLocalTransactionsWithCustomMatcherTest.TransactionalObject.class)
      .runOperationInTxn2();

  //persisted entity should remain in the same em (which should still be open)
  assertTrue("EntityManager  appears to have been closed across txns!",
      injector.getInstance(EntityManager.class).contains(entity));
  assertTrue("EntityManager  appears to have been closed across txns!", em.contains(entity));
  assertTrue("EntityManager appears to have been closed across txns!", em.isOpen());

  injector.getInstance(UnitOfWork.class).end();

  //try to query them back out
  em = injector.getInstance(EntityManager.class);
  assertNotNull(em.createQuery("from JpaTestEntity where text = :text")
      .setParameter("text", UNIQUE_TEXT).getSingleResult());
  assertNotNull(em.createQuery("from JpaTestEntity where text = :text")
      .setParameter("text", UNIQUE_TEXT_2).getSingleResult());
  em.close();
}
项目:google-guice    文件:JoiningLocalTransactionsTest.java   
public void testSimpleTransaction() {
  injector.getInstance(JoiningLocalTransactionsTest.TransactionalObject.class)
      .runOperationInTxn();

  EntityManager em = injector.getInstance(EntityManager.class);
  assertFalse("txn was not closed by transactional service",
      em.getTransaction().isActive());

  //test that the data has been stored
  Object result = em.createQuery("from JpaTestEntity where text = :text")
      .setParameter("text", UNIQUE_TEXT).getSingleResult();
  injector.getInstance(UnitOfWork.class).end();

  assertTrue("odd result returned fatal", result instanceof JpaTestEntity);

  assertEquals("queried entity did not match--did automatic txn fail?", UNIQUE_TEXT,
      ((JpaTestEntity) result).getText());
}
项目:google-guice    文件:JoiningLocalTransactionsTest.java   
public void testSimpleTransactionRollbackOnUnchecked() {
  try {
    injector.getInstance(JoiningLocalTransactionsTest.TransactionalObject.class)
        .runOperationInTxnThrowingUnchecked();
  } catch (RuntimeException re) {
    //ignore
    injector.getInstance(UnitOfWork.class).end();
  }

  EntityManager em = injector.getInstance(EntityManager.class);
  assertFalse("Session was not closed by transactional service (rollback didnt happen?)",
      em.getTransaction().isActive());

  try {
    Object result = em.createQuery("from JpaTestEntity where text = :text")
        .setParameter("text", TRANSIENT_UNIQUE_TEXT).getSingleResult();
    injector.getInstance(UnitOfWork.class).end();
    fail("a result was returned! rollback sure didnt happen!!!");
  } catch (NoResultException e) {}
}
项目:google-guice    文件:ManagedLocalTransactionsTest.java   
public void testSimpleTransaction() {
  injector.getInstance(TransactionalObject.class).runOperationInTxn();

  EntityManager em = injector.getInstance(EntityManager.class);
  assertFalse("txn was not closed by transactional service", em.getTransaction().isActive());

  //test that the data has been stored
  Object result = em.createQuery("from JpaTestEntity where text = :text")
      .setParameter("text", UNIQUE_TEXT).getSingleResult();
  injector.getInstance(UnitOfWork.class).end();

  assertTrue("odd result returned fatal", result instanceof JpaTestEntity);

  assertEquals("queried entity did not match--did automatic txn fail?",
      UNIQUE_TEXT, ((JpaTestEntity) result).getText());
}
项目:google-guice    文件:ManagedLocalTransactionsTest.java   
public void testSimpleTransactionWithMerge() {
  JpaTestEntity entity = injector.getInstance(TransactionalObject.class)
      .runOperationInTxnWithMerge();

  EntityManager em = injector.getInstance(EntityManager.class);
  assertFalse("txn was not closed by transactional service", em.getTransaction().isActive());

  //test that the data has been stored
  assertTrue("Em was closed after txn!", em.isOpen());

  Object result = em.createQuery("from JpaTestEntity where text = :text")
      .setParameter("text", UNIQUE_TEXT_MERGE).getSingleResult();
  injector.getInstance(UnitOfWork.class).end();

  assertTrue(result instanceof JpaTestEntity);

  assertEquals("queried entity did not match--did automatic txn fail?",
      UNIQUE_TEXT_MERGE, ((JpaTestEntity) result).getText());
}
项目:google-guice    文件:ManagedLocalTransactionsTest.java   
public void testSimpleTransactionRollbackOnUnchecked() {
  try {
    injector.getInstance(TransactionalObject.class).runOperationInTxnThrowingUnchecked();
  } catch (RuntimeException re) {
    //ignore
    injector.getInstance(UnitOfWork.class).end();
  }

  EntityManager em = injector.getInstance(EntityManager.class);
  assertFalse("Session was not closed by transactional service (rollback didnt happen?)",
      em.getTransaction().isActive());

  try {
    Object result = em.createQuery("from JpaTestEntity where text = :text")
        .setParameter("text", TRANSIENT_UNIQUE_TEXT).getSingleResult();
    injector.getInstance(UnitOfWork.class).end();
    fail("a result was returned! rollback sure didnt happen!!!");
  } catch (NoResultException e) {}
}
项目:google-guice    文件:ManagedLocalTransactionsAcrossRequestTest.java   
public void testSimpleTransaction() {
  injector.getInstance(TransactionalObject.class).runOperationInTxn();

  EntityManager em = injector.getInstance(EntityManager.class);
  assertFalse(em.getTransaction().isActive());

  //test that the data has been stored
  Object result = em.createQuery("from JpaTestEntity where text = :text")
      .setParameter("text", UNIQUE_TEXT).getSingleResult();
  injector.getInstance(UnitOfWork.class).end();

  assertTrue("odd result returned fatal", result instanceof JpaTestEntity);

  assertEquals("queried entity did not match--did automatic txn fail?",
      UNIQUE_TEXT, ((JpaTestEntity) result).getText());
  injector.getInstance(UnitOfWork.class).end();

}
项目:google-guice    文件:ManagedLocalTransactionsAcrossRequestTest.java   
public void testSimpleTransactionWithMerge() {
  EntityManager emOrig = injector.getInstance(EntityManager.class);
  JpaTestEntity entity = injector.getInstance(TransactionalObject.class)
      .runOperationInTxnWithMerge();

  assertNotNull("Entity was not given an id (was not persisted correctly?)", entity.getId());

  EntityManager em = injector.getInstance(EntityManager.class);
  assertFalse(em.getTransaction().isActive());

  //test that the data has been stored
  assertTrue("Em was closed after txn!", em.isOpen());
  assertEquals("Em was not kept open across txns", emOrig, em);
  assertTrue("Merge did not store state or did not return persistent copy", em.contains(entity));

  Object result = em.createQuery("from JpaTestEntity where text = :text")
      .setParameter("text", UNIQUE_TEXT_MERGE).getSingleResult();
  injector.getInstance(UnitOfWork.class).end();

  assertTrue(result instanceof JpaTestEntity);

  assertEquals("queried entity did not match--did automatic txn fail?",
      UNIQUE_TEXT_MERGE, ((JpaTestEntity) result).getText());
  injector.getInstance(UnitOfWork.class).end();

}
项目:google-guice    文件:ManagedLocalTransactionsAcrossRequestTest.java   
public void disabled_testSimpleTransactionWithMergeAndDF() {
  EntityManager emOrig = injector.getInstance(EntityManager.class);
  JpaTestEntity entity = injector.getInstance(TransactionalObject.class)
      .runOperationInTxnWithMergeForDf();

  EntityManager em = injector.getInstance(EntityManager.class);
  assertFalse("txn was not closed by transactional service", em.getTransaction().isActive());

  //test that the data has been stored
  assertTrue("Em was closed after txn!", em.isOpen());
  assertEquals("Em was not kept open across txns", emOrig, em);
  assertTrue("Merge did not store state or did not return persistent copy", em.contains(entity));

  Object result = injector.getInstance(TransactionalObject.class).find(UNIQUE_TEXT_MERGE_FORDF);
  injector.getInstance(UnitOfWork.class).end();

  assertNotNull(result);
  assertTrue(result instanceof JpaTestEntity);

  assertEquals("queried entity did not match--did automatic txn fail?",
      UNIQUE_TEXT_MERGE_FORDF, ((JpaTestEntity) result).getText());
  injector.getInstance(UnitOfWork.class).end();

}
项目:google-guice    文件:ManagedLocalTransactionsAcrossRequestTest.java   
public void testSimpleTransactionRollbackOnUnchecked() {
  try {
    injector.getInstance(TransactionalObject.class).runOperationInTxnThrowingUnchecked();
  } catch (RuntimeException re) {
    //ignore
    injector.getInstance(UnitOfWork.class).end();
  }

  EntityManager em = injector.getInstance(EntityManager.class);
  assertFalse("Session was not closed by transactional service (rollback didnt happen?)",
      em.getTransaction().isActive());

  try {
    Object result = em.createQuery("from JpaTestEntity where text = :text")
        .setParameter("text", TRANSIENT_UNIQUE_TEXT).getSingleResult();
    injector.getInstance(UnitOfWork.class).end();
    fail();
  } catch (NoResultException e) {}

  injector.getInstance(UnitOfWork.class).end();
}
项目:MoodCat.me-Core    文件:CallableInUnitOfWork.java   
@Override
public V call() throws Exception {
    final UnitOfWork work = workProvider.get();
    try {
        work.begin();
        return callable.call();
    } catch (final Throwable t) {
        log.error(t.getMessage(), t);
        throw t;
    } finally {
        work.end();
    }
}
项目:MoodCat.me-Core    文件:CallableInUnitOfWorkFactoryTest.java   
@Test
public void testCreate() throws Exception {
    CallableInUnitOfWork.CallableInUnitOfWorkFactory factory = new CallableInUnitOfWork.CallableInUnitOfWorkFactory(
            new Provider<UnitOfWork>() {

                @Override
                public UnitOfWork get() {
                    return new UnitOfWork() {

                        @Override
                        public void begin() {

                        }

                        @Override
                        public void end() {

                        }
                    };
                }
            });

    final String message = "Message";

    Callable<String> callable = factory.create(new Callable<String>() {

        @Override
        public String call() throws Exception {
            return message;
        }
    });

    assertEquals(message, callable.call());
}
项目:guice-persist-jooq    文件:JooqPersistModule.java   
@Override
protected void configurePersistence() {
  bind(JooqPersistService.class).in(Singleton.class);
  bind(PersistService.class).to(JooqPersistService.class);
  bind(UnitOfWork.class).to(JooqPersistService.class);
  bind(DSLContext.class).toProvider(JooqPersistService.class);

  transactionInterceptor = new JdbcLocalTxnInterceptor(getProvider(JooqPersistService.class),
                                                       getProvider(UnitOfWork.class));
  requestInjection(transactionInterceptor);
}
项目:croquet    文件:PersistanceUnitHibernateModule.java   
@Override
protected void configure() {
    bind(PersistService.class).to(JpaPersistService.class);
    bind(UnitOfWork.class).to(JpaPersistService.class);
    bind(EntityManager.class).toProvider(JpaPersistService.class);

    bind(CroquetPersistService.class).to(JpaPersistService.class);
    bind(EntityManagerFactory.class).toProvider(CroquetPersistService.EntityManagerFactoryProvider.class);
}
项目:croquet    文件:DataSourceHibernateModule.java   
@Override
protected void configure() {
    // bind the ConnectionProvider
    bind(ConnectionProvider.class).to(TomcatJDBCConnectionProvider.class);

    bind(PersistService.class).to(CroquetPersistService.class);
    bind(UnitOfWork.class).to(CroquetPersistService.class);
    bind(EntityManager.class).toProvider(CroquetPersistService.class);
    bind(EntityManagerFactory.class).toProvider(CroquetPersistService.EntityManagerFactoryProvider.class);
}
项目:guice-persist-orient    文件:OrientModule.java   
@Override
protected void configurePersistence() {
    poolsMultibinder = Multibinder.newSetBinder(binder(), PoolManager.class);

    bindConstant().annotatedWith(Names.named("orient.uri")).to(uri);
    bindConstant().annotatedWith(Names.named("orient.user")).to(user);
    bindConstant().annotatedWith(Names.named("orient.password")).to(password);
    bindConstant().annotatedWith(Names.named("orient.db.autocreate")).to(autoCreateDb);

    bind(TxConfig.class).annotatedWith(Names.named("orient.txconfig"))
            .toInstance(txConfig == null ? new TxConfig() : txConfig);

    configureCustomTypes();
    bind(CustomTypesInstaller.class);

    // extension points
    bind(TransactionManager.class);
    // SchemeInitializer.class
    // DataInitializer.class

    bind(PersistService.class).to(DatabaseManager.class);
    bind(UnitOfWork.class).to(TransactionManager.class);

    configurePools();
    configureInterceptor();
    bindRetryInterceptor();
}