File tree Expand file tree Collapse file tree 2 files changed +40
-29
lines changed
vraptor-core/src/main/java/br/com/caelum/vraptor/validator Expand file tree Collapse file tree 2 files changed +40
-29
lines changed Original file line number Diff line number Diff line change 22
22
import java .util .List ;
23
23
import java .util .Map ;
24
24
25
- import javax .annotation .PostConstruct ;
26
- import javax .enterprise .context .RequestScoped ;
27
- import javax .inject .Inject ;
25
+ import javax .enterprise .inject .Vetoed ;
28
26
29
27
import org .slf4j .Logger ;
30
28
31
- import br .com .caelum .vraptor .Result ;
32
-
33
29
/**
34
30
* Managed class that stores all application messages like errors, warnings and info. This
35
31
* class is useful to display messages categorized by severity in your view. To choose a severity
43
39
* @since 4.1
44
40
* @author Otávio S Garcia
45
41
*/
46
- @ RequestScoped
42
+ @ Vetoed
47
43
public class Messages {
48
44
49
- public static final String ATTRIBUTE_KEY = "vmessages" ;
50
-
51
45
private final static Logger log = getLogger (Messages .class );
52
46
53
47
private Map <Severity , List <Message >> messages = new HashMap <>();
54
48
private boolean unhandledErrors = false ;
55
49
56
- private final Result result ;
57
-
58
- /**
59
- * @deprecated CDI eyes only
60
- */
61
- protected Messages () {
62
- this (null );
63
- }
64
-
65
- @ Inject
66
- public Messages (Result result ) {
67
- this .result = result ;
68
- }
69
-
70
- @ PostConstruct
71
- protected void init () {
72
- if (!result .included ().containsKey (ATTRIBUTE_KEY )){
73
- result .include (ATTRIBUTE_KEY , this );
74
- }
75
- }
76
-
77
50
public Messages add (Message message ) {
78
51
get (message .getSeverity ()).add (message );
79
52
if (Severity .ERROR .equals (message .getSeverity ())) {
Original file line number Diff line number Diff line change
1
+ package br .com .caelum .vraptor .validator ;
2
+
3
+ import static com .google .common .base .Objects .firstNonNull ;
4
+
5
+ import javax .enterprise .context .RequestScoped ;
6
+ import javax .enterprise .inject .Produces ;
7
+ import javax .inject .Inject ;
8
+
9
+ import br .com .caelum .vraptor .Result ;
10
+
11
+ @ RequestScoped
12
+ public class MessagesProducer {
13
+
14
+ private static final String MESSAGES_KEY = "vmessages" ;
15
+
16
+ private final Result result ;
17
+
18
+ /**
19
+ * @deprecated CDI eyes only
20
+ */
21
+ protected MessagesProducer () {
22
+ this (null );
23
+ }
24
+
25
+ @ Inject
26
+ public MessagesProducer (Result result ) {
27
+ this .result = result ;
28
+ }
29
+
30
+ @ Produces @ RequestScoped
31
+ public Messages create () {
32
+ Messages messages = (Messages ) result .included ().get (MESSAGES_KEY );
33
+ messages = firstNonNull (messages , new Messages ());
34
+ result .include (MESSAGES_KEY , messages );
35
+ return messages ;
36
+ }
37
+
38
+ }
You can’t perform that action at this time.
0 commit comments