diff --git a/impl/extension/jpa/pom.xml b/impl/extension/jpa/pom.xml
index c410970..b0e41c8 100755
--- a/impl/extension/jpa/pom.xml
+++ b/impl/extension/jpa/pom.xml
@@ -66,10 +66,93 @@
http://www.serpro.gov.br
-
+
+
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+ 2.16
+
- -->
@@ -115,26 +203,43 @@
-->
+
+ org.jboss.as
+ jboss-as-arquillian-container-managed
+ ${jbossas.version}
+ test
+
+
+ org.jboss.arquillian.protocol
+ arquillian-protocol-servlet
+
+
+
+
org.glassfish.main.extras
glassfish-embedded-all
3.1.2
test
+ -->
+
+
org.jboss.shrinkwrap.resolver
@@ -218,7 +337,6 @@
hibernate-validator
test
-
-->
@@ -268,6 +386,8 @@
org.slf4j
slf4j-api
+
org.javassist
javassist
@@ -282,4 +402,8 @@
+
+
+ 7.1.1.Final
+
diff --git a/impl/extension/jpa/src/test/java/transaction/manual/JPATransactionTest.java b/impl/extension/jpa/src/test/java/transaction/manual/JPATransactionTest.java
index 71e57b1..81cdfb1 100644
--- a/impl/extension/jpa/src/test/java/transaction/manual/JPATransactionTest.java
+++ b/impl/extension/jpa/src/test/java/transaction/manual/JPATransactionTest.java
@@ -2,6 +2,7 @@ package transaction.manual;
import static junit.framework.Assert.assertEquals;
import static junit.framework.Assert.assertFalse;
+import static junit.framework.Assert.assertNull;
import static junit.framework.Assert.assertTrue;
import javax.inject.Inject;
@@ -53,66 +54,72 @@ public class JPATransactionTest {
public void commitWithSuccess() {
Transaction transaction = transactionContext.getCurrentTransaction();
- MyEntity entity = new MyEntity();
- entity.setId(createId("id-1"));
- entity.setDescription("desc-1");
+ MyEntity1 entity1 = new MyEntity1();
+ entity1.setId(createId("id-1"));
+ entity1.setDescription("desc-1");
+
+ MyEntity2 entity2 = new MyEntity2();
+ entity2.setId(createId("id-2"));
+ entity2.setDescription("desc-2");
assertFalse(transaction.isActive());
transaction.begin();
assertTrue(transaction.isActive());
- em1.persist(entity);
- em2.persist(entity);
+ em1.persist(entity1);
+ em2.persist(entity2);
transaction.commit();
em1.clear();
em2.clear();
- MyEntity persisted1 = em1.find(MyEntity.class, createId("id-1"));
- MyEntity persisted2 = em2.find(MyEntity.class, createId("id-1"));
+ MyEntity1 persisted1 = em1.find(MyEntity1.class, createId("id-1"));
+ MyEntity2 persisted2 = em2.find(MyEntity2.class, createId("id-2"));
assertEquals("desc-1", persisted1.getDescription());
- assertEquals("desc-1", persisted2.getDescription());
+ assertEquals("desc-2", persisted2.getDescription());
}
@Test(expected = TransactionRequiredException.class)
public void checkNoTransactionAutomaticallyLoaded() {
- MyEntity entity = new MyEntity();
+ MyEntity1 entity = new MyEntity1();
entity.setId(createId("id-2"));
em1.persist(entity);
em1.flush();
}
- //
- // @Test
- // public void rollbackWithSuccess() {
- // Transaction transaction = transactionContext.getCurrentTransaction();
- //
- // MyEntity entity = new MyEntity();
- // entity.setId(createId("id-3"));
- //
- // assertFalse(transaction.isMarkedRollback());
- // transaction.begin();
- // assertTrue(transaction.isActive());
- //
- // em1.persist(entity);
- // em2.persist(entity);
- // em1.flush();
- // em2.flush();
- // transaction.setRollbackOnly();
- //
- // if (transaction.isMarkedRollback()) {
- // transaction.rollback();
- // }
- //
- // em1.clear();
- // em2.clear();
- //
- // MyEntity persisted1 = em1.find(MyEntity.class, createId("id-3"));
- // MyEntity persisted2 = em2.find(MyEntity.class, createId("id-3"));
- // assertNull(persisted1);
- // assertNull(persisted2);
- // }
+ @Test
+ public void rollbackWithSuccess() {
+ Transaction transaction = transactionContext.getCurrentTransaction();
+
+ MyEntity1 entity1 = new MyEntity1();
+ entity1.setId(createId("id-3"));
+
+ MyEntity2 entity2 = new MyEntity2();
+ entity2.setId(createId("id-4"));
+
+ assertFalse(transaction.isMarkedRollback());
+ transaction.begin();
+ assertTrue(transaction.isActive());
+
+ em1.persist(entity1);
+ em2.persist(entity2);
+ em1.flush();
+ em2.flush();
+ transaction.setRollbackOnly();
+
+ if (transaction.isMarkedRollback()) {
+ transaction.rollback();
+ }
+
+ em1.clear();
+ em2.clear();
+
+ MyEntity1 persisted1 = em1.find(MyEntity1.class, createId("id-3"));
+ MyEntity2 persisted2 = em2.find(MyEntity2.class, createId("id-4"));
+ assertNull(persisted1);
+ assertNull(persisted2);
+ }
private String createId(String id) {
return this.getClass().getName() + "_" + id;
diff --git a/impl/extension/jpa/src/test/java/transaction/manual/MyEntity.java b/impl/extension/jpa/src/test/java/transaction/manual/MyEntity.java
deleted file mode 100644
index 8c428c1..0000000
--- a/impl/extension/jpa/src/test/java/transaction/manual/MyEntity.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package transaction.manual;
-
-import javax.persistence.Entity;
-import javax.persistence.Id;
-
-@Entity
-public class MyEntity {
-
- @Id
- private String id;
-
- private String description;
-
- public String getId() {
- return id;
- }
-
- public void setId(String id) {
- this.id = id;
- }
-
- public String getDescription() {
- return description;
- }
-
- public void setDescription(String description) {
- this.description = description;
- }
-}
diff --git a/impl/extension/jpa/src/test/java/transaction/manual/MyEntity1.java b/impl/extension/jpa/src/test/java/transaction/manual/MyEntity1.java
new file mode 100644
index 0000000..bc95a9c
--- /dev/null
+++ b/impl/extension/jpa/src/test/java/transaction/manual/MyEntity1.java
@@ -0,0 +1,29 @@
+package transaction.manual;
+
+import javax.persistence.Entity;
+import javax.persistence.Id;
+
+@Entity
+public class MyEntity1 {
+
+ @Id
+ private String id;
+
+ private String description;
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getDescription() {
+ return description;
+ }
+
+ public void setDescription(String description) {
+ this.description = description;
+ }
+}
diff --git a/impl/extension/jpa/src/test/java/transaction/manual/MyEntity2.java b/impl/extension/jpa/src/test/java/transaction/manual/MyEntity2.java
new file mode 100644
index 0000000..1099150
--- /dev/null
+++ b/impl/extension/jpa/src/test/java/transaction/manual/MyEntity2.java
@@ -0,0 +1,29 @@
+package transaction.manual;
+
+import javax.persistence.Entity;
+import javax.persistence.Id;
+
+@Entity
+public class MyEntity2 {
+
+ @Id
+ private String id;
+
+ private String description;
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getDescription() {
+ return description;
+ }
+
+ public void setDescription(String description) {
+ this.description = description;
+ }
+}
diff --git a/impl/extension/jpa/src/test/resources/arquillian.xml b/impl/extension/jpa/src/test/resources/arquillian.xml
index 211cd00..0096eb2 100644
--- a/impl/extension/jpa/src/test/resources/arquillian.xml
+++ b/impl/extension/jpa/src/test/resources/arquillian.xml
@@ -43,6 +43,25 @@
target/deployments
+
+
+
+
+ /usr/lib/jvm/java-6-serpro/
+ target/jboss-as-${jbossas.version}
+
+
+
+
src/test/resources/glassfish-resources.xml
+ -->
+
+
-
+
\ No newline at end of file
diff --git a/impl/extension/jpa/src/test/resources/template/persistence.xml b/impl/extension/jpa/src/test/resources/template/persistence.xml
index 3b22637..f049360 100644
--- a/impl/extension/jpa/src/test/resources/template/persistence.xml
+++ b/impl/extension/jpa/src/test/resources/template/persistence.xml
@@ -37,6 +37,7 @@
+
java:jboss/datasources/ExampleDS
@@ -61,6 +64,5 @@
- -->
\ No newline at end of file
diff --git a/impl/extension/jpa/src/test/resources/transaction/manual/persistence.xml b/impl/extension/jpa/src/test/resources/transaction/manual/persistence.xml
index 3f172f6..d5edb9c 100644
--- a/impl/extension/jpa/src/test/resources/transaction/manual/persistence.xml
+++ b/impl/extension/jpa/src/test/resources/transaction/manual/persistence.xml
@@ -37,6 +37,7 @@
+
java:jboss/datasources/ExampleDS
- transaction.manual.MyEntity
+ transaction.manual.MyEntity1
+ transaction.manual.MyEntity2
@@ -75,9 +79,10 @@
- java:jboss/datasources/ExampleDS2
+ java:jboss/datasources/ExampleDS
- transaction.manual.MyEntity
+ transaction.manual.MyEntity1
+ transaction.manual.MyEntity2
@@ -85,6 +90,5 @@
- -->
\ No newline at end of file
--
libgit2 0.21.2