1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.jboss.as.quickstart.hibernate4.data;
18
19 import java.util.List;
20
21 import javax.annotation.PostConstruct;
22 import javax.enterprise.context.RequestScoped;
23 import javax.enterprise.event.Observes;
24 import javax.enterprise.event.Reception;
25 import javax.enterprise.inject.Produces;
26 import javax.inject.Inject;
27 import javax.inject.Named;
28
29 import org.jboss.as.quickstart.hibernate4.model.Member;
30
31
32
33
34
35 @RequestScoped
36 public class MemberListProducer {
37 @Inject
38 private MemberRepository memberRepository;
39
40 private List<Member> members;
41
42
43
44 @Produces
45 @Named
46 public List<Member> getMembers() {
47 return members;
48 }
49
50 public void onMemberListChanged(@Observes(notifyObserver = Reception.IF_EXISTS) final Member member) {
51 retrieveAllMembersOrderedByName();
52 }
53
54 @PostConstruct
55 public void retrieveAllMembersOrderedByName() {
56 members = memberRepository.findAllOrderedByName();
57 }
58 }