Skip to content

Commit 018b39e

Browse files
committed
Merge pull request #196 from radcortez/master
Added test for jpa listeners project.
2 parents 60c6f10 + 6e94985 commit 018b39e

File tree

10 files changed

+164
-396
lines changed

10 files changed

+164
-396
lines changed

jpa/listeners/pom.xml

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

11-
<groupId>org.javaee7.jpa</groupId>
1211
<artifactId>jpa-listeners</artifactId>
13-
<version>1.0-SNAPSHOT</version>
1412
<packaging>war</packaging>
13+
<name>JPA Listeners</name>
14+
<description>Invocation examples of all the available Entity Listeners</description>
1515
</project>

jpa/listeners/src/main/java/org/javaee7/jpa/listeners/InjectMeBean.java

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

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

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

117+
@Override
118+
public boolean equals(Object o) {
119+
if (this == o) { return true; }
120+
if (o == null || getClass() != o.getClass()) { return false; }
121+
122+
Movie movie = (Movie) o;
123+
124+
return id.equals(movie.id);
125+
}
126+
127+
@Override
128+
public int hashCode() {
129+
return id.hashCode();
130+
}
131+
117132
@Override
118133
public String toString() {
119134
return name;

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

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -49,14 +49,13 @@
4949
*/
5050
@Stateless
5151
public class MovieBean {
52-
5352
@PersistenceContext
54-
EntityManager em;
53+
private EntityManager em;
5554

5655
public List<Movie> listMovies() {
5756
return em.createNamedQuery("Movie.findAll", Movie.class).getResultList();
5857
}
59-
58+
6059
public void createMovie() {
6160
Movie m = new Movie(5, "Mission Impossible", "Tom Cruise, Jeremy Renner");
6261
em.persist(m);
@@ -65,19 +64,18 @@ public void createMovie() {
6564

6665
public void updateMovie() {
6766
Movie m = em.createNamedQuery("Movie.findByName", Movie.class)
68-
.setParameter("name", "Inception")
69-
.getSingleResult();
67+
.setParameter("name", "Inception")
68+
.getSingleResult();
7069
m.setName("Inception2");
7170
em.merge(m);
7271
em.flush();
7372
}
74-
73+
7574
public void deleteMovie() {
7675
Movie m = em.createNamedQuery("Movie.findByName", Movie.class)
77-
.setParameter("name", "Inception2")
78-
.getSingleResult();
76+
.setParameter("name", "Inception2")
77+
.getSingleResult();
7978
em.remove(m);
8079
em.flush();
8180
}
82-
8381
}

jpa/listeners/src/main/java/org/javaee7/jpa/listeners/MovieListener.java

Lines changed: 30 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -39,66 +39,69 @@
3939
*/
4040
package org.javaee7.jpa.listeners;
4141

42-
import javax.annotation.PostConstruct;
43-
import javax.annotation.PreDestroy;
44-
import javax.inject.Inject;
45-
import javax.persistence.PostLoad;
46-
import javax.persistence.PostPersist;
47-
import javax.persistence.PostRemove;
48-
import javax.persistence.PostUpdate;
49-
import javax.persistence.PrePersist;
50-
import javax.persistence.PreRemove;
51-
import javax.persistence.PreUpdate;
42+
import javax.persistence.*;
43+
import java.util.concurrent.CountDownLatch;
5244

5345
/**
5446
* @author Arun Gupta
5547
*/
5648
public class MovieListener {
57-
58-
@Inject InjectMeBean bean;
59-
60-
@PostConstruct
61-
public void postConstruct() {
62-
System.out.println("## postConstruct: " + bean.getValue());
63-
}
64-
65-
@PreDestroy
66-
public void preDestroy() {
67-
System.out.println("## preDestroy");
68-
}
49+
public static CountDownLatch entityListenersCountDownLatch = new CountDownLatch(26);
50+
51+
public static boolean postLoadInvoked;
52+
public static boolean prePersistInvoked;
53+
public static boolean postPersistInvoked;
54+
public static boolean preUpdateInvoked;
55+
public static boolean postUpdateInvoked;
56+
public static boolean preRemoveInvoked;
57+
public static boolean postRemoveInvoked;
6958

7059
@PostLoad
7160
public void newMovieLoad(Movie movie) {
61+
postLoadInvoked = true;
62+
entityListenersCountDownLatch.countDown();
7263
System.out.println("## Movie loaded: " + movie.getName());
7364
}
7465

7566
@PrePersist
7667
public void newMovieAlertBefore(Movie movie) {
68+
prePersistInvoked = true;
69+
entityListenersCountDownLatch.countDown();
7770
System.out.println("## Ready to create new movie: " + movie.getName());
7871
}
79-
72+
8073
@PostPersist
8174
public void newMovieAlertAfter(Movie movie) {
75+
postPersistInvoked = true;
76+
entityListenersCountDownLatch.countDown();
8277
System.out.println("## New movie created: " + movie.getName());
8378
}
84-
79+
8580
@PreUpdate
8681
public void updateMovieAlertBefore(Movie movie) {
82+
preUpdateInvoked = true;
83+
entityListenersCountDownLatch.countDown();
8784
System.out.println("## Ready to update movie: " + movie.getName());
8885
}
89-
86+
9087
@PostUpdate
9188
public void updateMovieAlertAfter(Movie movie) {
89+
postUpdateInvoked = true;
90+
entityListenersCountDownLatch.countDown();
9291
System.out.println("## Movie updated: " + movie.getName());
9392
}
94-
93+
9594
@PreRemove
9695
public void deleteMovieAlertBefore(Movie movie) {
96+
preRemoveInvoked = true;
97+
entityListenersCountDownLatch.countDown();
9798
System.out.println("## Ready to delete movie: " + movie.getName());
9899
}
99-
100+
100101
@PostRemove
101102
public void deleteMovieAlertAfter(Movie movie) {
103+
postRemoveInvoked = true;
104+
entityListenersCountDownLatch.countDown();
102105
System.out.println("## Movie deleted: " + movie.getName());
103106
}
104107
}

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

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

0 commit comments

Comments
 (0)