Skip to content

Commit abf1549

Browse files
committed
Merge pull request #191 from radcortez/master
Added test for jpa criteria project.
2 parents 8cf1135 + 8b8fd75 commit abf1549

File tree

6 files changed

+75
-208
lines changed

6 files changed

+75
-208
lines changed

jpa/criteria/pom.xml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,6 @@
88
<relativePath>../pom.xml</relativePath>
99
</parent>
1010

11-
<groupId>org.javaee7.jpa</groupId>
1211
<artifactId>criteria</artifactId>
13-
<version>1.0-SNAPSHOT</version>
1412
<packaging>war</packaging>
1513
</project>

jpa/criteria/src/main/java/org/javaee7/jpa/criteria/Movie.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,21 @@ public void setActors(String actors) {
111111
this.actors = actors;
112112
}
113113

114+
@Override
115+
public boolean equals(Object o) {
116+
if (this == o) { return true; }
117+
if (o == null || getClass() != o.getClass()) { return false; }
118+
119+
Movie movie = (Movie) o;
120+
121+
return id.equals(movie.id);
122+
}
123+
124+
@Override
125+
public int hashCode() {
126+
return id.hashCode();
127+
}
128+
114129
@Override
115130
public String toString() {
116131
return name;

jpa/criteria/src/main/java/org/javaee7/jpa/criteria/MovieBean.java

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -56,13 +56,12 @@
5656
*/
5757
@Stateless
5858
public class MovieBean {
59-
6059
@PersistenceContext
61-
EntityManager em;
60+
private EntityManager em;
6261

6362
public List<Movie> listMovies() {
6463
CriteriaBuilder builder = em.getCriteriaBuilder();
65-
CriteriaQuery listCriteria = builder.createQuery(Movie.class);
64+
CriteriaQuery<Movie> listCriteria = builder.createQuery(Movie.class);
6665
Root<Movie> listRoot = listCriteria.from(Movie.class);
6766
listCriteria.select(listRoot);
6867
TypedQuery<Movie> query = em.createQuery(listCriteria);
@@ -71,23 +70,22 @@ public List<Movie> listMovies() {
7170

7271
public void updateMovie() {
7372
CriteriaBuilder builder = em.getCriteriaBuilder();
74-
CriteriaUpdate updateCriteria = builder.createCriteriaUpdate(Movie.class);
73+
CriteriaUpdate<Movie> updateCriteria = builder.createCriteriaUpdate(Movie.class);
7574
Root<Movie> updateRoot = updateCriteria.from(Movie.class);
7675
updateCriteria.where(builder.equal(updateRoot.get(Movie_.name), "Inception"));
7776
updateCriteria.set(updateRoot.get(Movie_.name), "INCEPTION");
7877
Query q = em.createQuery(updateCriteria);
7978
q.executeUpdate();
8079
em.flush();
8180
}
82-
81+
8382
public void deleteMovie() {
8483
CriteriaBuilder builder = em.getCriteriaBuilder();
85-
CriteriaDelete deleteCriteria = builder.createCriteriaDelete(Movie.class);
84+
CriteriaDelete<Movie> deleteCriteria = builder.createCriteriaDelete(Movie.class);
8685
Root<Movie> updateRoot = deleteCriteria.from(Movie.class);
8786
deleteCriteria.where(builder.equal(updateRoot.get(Movie_.name), "The Matrix"));
8887
Query q = em.createQuery(deleteCriteria);
8988
q.executeUpdate();
9089
em.flush();
9190
}
92-
9391
}

jpa/criteria/src/main/java/org/javaee7/jpa/criteria/TestServlet.java

Lines changed: 0 additions & 144 deletions
This file was deleted.

jpa/criteria/src/main/webapp/index.jsp

Lines changed: 0 additions & 55 deletions
This file was deleted.
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
package org.javaee7.jpa.criteria;
2+
3+
import org.jboss.arquillian.container.test.api.Deployment;
4+
import org.jboss.arquillian.junit.Arquillian;
5+
import org.jboss.shrinkwrap.api.ShrinkWrap;
6+
import org.jboss.shrinkwrap.api.spec.WebArchive;
7+
import org.junit.Test;
8+
import org.junit.runner.RunWith;
9+
10+
import javax.inject.Inject;
11+
import java.util.List;
12+
13+
import static org.junit.Assert.*;
14+
15+
/**
16+
* @author Roberto Cortez
17+
*/
18+
@RunWith(Arquillian.class)
19+
public class JpaCriteriaTest {
20+
@Inject
21+
private MovieBean movieBean;
22+
23+
@Deployment
24+
public static WebArchive createDeployment() {
25+
WebArchive war = ShrinkWrap.create(WebArchive.class)
26+
.addPackage("org.javaee7.jpa.criteria")
27+
.addAsResource("META-INF/persistence.xml")
28+
.addAsResource("META-INF/create.sql")
29+
.addAsResource("META-INF/drop.sql")
30+
.addAsResource("META-INF/load.sql");
31+
System.out.println(war.toString(true));
32+
return war;
33+
}
34+
35+
@Test
36+
public void testCriteria() {
37+
List<Movie> movies = movieBean.listMovies();
38+
assertEquals(4, movies.size());
39+
assertTrue(movies.contains(new Movie(1)));
40+
assertTrue(movies.contains(new Movie(2)));
41+
assertTrue(movies.contains(new Movie(3)));
42+
assertTrue(movies.contains(new Movie(4)));
43+
44+
movieBean.updateMovie();
45+
movies = movieBean.listMovies();
46+
assertEquals(4, movies.size());
47+
assertEquals("INCEPTION", movies.get(2).getName());
48+
49+
movieBean.deleteMovie();
50+
movies = movieBean.listMovies();
51+
assertFalse(movies.isEmpty());
52+
assertEquals(3, movies.size());
53+
assertFalse(movies.contains(new Movie(1)));
54+
}
55+
}

0 commit comments

Comments
 (0)