1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.jboss.as.quickstarts.kitchensinkjsp.controller;
18
19 import java.util.logging.Logger;
20
21 import javax.annotation.PostConstruct;
22 import javax.ejb.Stateful;
23 import javax.enterprise.event.Event;
24 import javax.enterprise.inject.Model;
25 import javax.enterprise.inject.Produces;
26 import javax.inject.Inject;
27 import javax.inject.Named;
28 import javax.persistence.EntityManager;
29
30 import org.jboss.as.quickstarts.kitchensinkjsp.model.Member;
31
32
33 @Stateful
34
35
36
37
38 @Model
39 public class MemberRegistration {
40
41 @Inject
42 private Logger log;
43
44 @Inject
45 private EntityManager em;
46
47 @Inject
48 private Event<Member> memberEventSrc;
49
50 private Member newMember;
51
52 @Produces
53 @Named
54 public Member getNewMember() {
55
56 log.info("getNewMember: called" + newMember);
57 return newMember;
58
59 }
60
61 public void register() throws Exception {
62
63 try {
64
65 log.info("Registering " + newMember.getName());
66 em.persist(newMember);
67 memberEventSrc.fire(newMember);
68 initNewMember();
69 } catch (Exception e) {
70 Throwable t = e;
71 while ((t.getCause()) != null) {
72 t = t.getCause();
73 }
74 log.info("Exception:" + t.getMessage());
75 throw ((Exception) t);
76 }
77
78 }
79
80 @PostConstruct
81 public void initNewMember() {
82 newMember = new Member();
83 log.info("@PostConstruct:initNewMember called");
84 }
85 }