Commit d3ebc76367803780fbbd20f64b65a37f8bdcfbc6

Authored by Dancovich
2 parents 77ef30a9 f4f0d1bc
Exists in master

Merge remote-tracking branch 'origin/master'

impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/implementation/LoggerMessageAppender.java
@@ -55,7 +55,7 @@ public class LoggerMessageAppender implements MessageAppender { @@ -55,7 +55,7 @@ public class LoggerMessageAppender implements MessageAppender {
55 private Logger logger; 55 private Logger logger;
56 56
57 @Override 57 @Override
58 - public void append(Message message) { 58 + public void append(Message message, Object... params) {
59 String text = message.getText(); 59 String text = message.getText();
60 60
61 switch (message.getSeverity()) { 61 switch (message.getSeverity()) {
impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/implementation/MessageContextImpl.java
@@ -66,17 +66,24 @@ public class MessageContextImpl implements Serializable, MessageContext { @@ -66,17 +66,24 @@ public class MessageContextImpl implements Serializable, MessageContext {
66 private transient Logger logger; 66 private transient Logger logger;
67 67
68 @Override 68 @Override
  69 + @Deprecated
69 public void add(final Message message, Object... params) { 70 public void add(final Message message, Object... params) {
70 - Message aux;  
71 -  
72 - if (params != null) {  
73 - aux = new DefaultMessage(message.getText(), message.getSeverity(), params); 71 +
  72 + getLogger().debug(getBundle().getString("adding-message-to-context", message.toString()));
  73 + if (params == null || params.length == 0) {
  74 + getAppender().append(message);
74 } else { 75 } else {
75 - aux = message; 76 + getLogger().warn("Atualmente, ao chamar o método add do MessageContext passando um objeto"
  77 + + " do tipo Message e mais parâmetros, será recriando um objeto" +"\n"
  78 + + " Message, na implementação DefaultMessage para que os parâmetros sejam utilizados."
  79 + + " Note que isso poderá trazer problemas para sua aplicação, caso" +"\n"
  80 + + " a implementação de Message utilizada não seja a DefaultMessage. Para evitar esse tipo de problema"
  81 + + " e garantir compatibilidade com versões futuras, recomendamos que" +"\n"
  82 + + " o objeto message seja criado com os parâmetros, e que para o método add apenas seja passado"
  83 + + " esse objeto como parâmetro.");
  84 +
  85 + getAppender().append(new DefaultMessage(message.getText(), message.getSeverity(), params));
76 } 86 }
77 -  
78 - getLogger().debug(getBundle().getString("adding-message-to-context", message.toString()));  
79 - getAppender().append(aux);  
80 } 87 }
81 88
82 private MessageAppender getAppender() { 89 private MessageAppender getAppender() {
impl/core/src/main/java/br/gov/frameworkdemoiselle/message/MessageAppender.java
@@ -51,6 +51,8 @@ public interface MessageAppender extends Serializable { @@ -51,6 +51,8 @@ public interface MessageAppender extends Serializable {
51 * 51 *
52 * @param message 52 * @param message
53 * message to be stored. 53 * message to be stored.
  54 + * @param params
  55 + * optional params to replace variables in the message
54 */ 56 */
55 - void append(Message message); 57 + void append(Message message , Object... params);
56 } 58 }
impl/core/src/main/java/br/gov/frameworkdemoiselle/message/MessageContext.java
@@ -55,7 +55,7 @@ public interface MessageContext { @@ -55,7 +55,7 @@ public interface MessageContext {
55 * 55 *
56 * @param message 56 * @param message
57 */ 57 */
58 - 58 + @Deprecated
59 void add(Message message, Object... params); 59 void add(Message message, Object... params);
60 60
61 void add(String text, Object... params); 61 void add(String text, Object... params);
impl/core/src/test/java/message/DummyMessageAppender.java
@@ -52,7 +52,7 @@ public class DummyMessageAppender implements MessageAppender { @@ -52,7 +52,7 @@ public class DummyMessageAppender implements MessageAppender {
52 private List<Message> messages = new ArrayList<Message>(); 52 private List<Message> messages = new ArrayList<Message>();
53 53
54 @Override 54 @Override
55 - public void append(Message message) { 55 + public void append(Message message, Object... params) {
56 messages.add(message); 56 messages.add(message);
57 } 57 }
58 58
impl/extension/jsf/src/main/java/br/gov/frameworkdemoiselle/internal/implementation/FacesMessageAppender.java
@@ -50,7 +50,7 @@ public class FacesMessageAppender extends LoggerMessageAppender { @@ -50,7 +50,7 @@ public class FacesMessageAppender extends LoggerMessageAppender {
50 private static final long serialVersionUID = 1L; 50 private static final long serialVersionUID = 1L;
51 51
52 @Override 52 @Override
53 - public void append(Message message) { 53 + public void append(Message message , Object... params) {
54 try { 54 try {
55 Faces.addMessage(message); 55 Faces.addMessage(message);
56 } catch (ContextNotActiveException cause) { 56 } catch (ContextNotActiveException cause) {
impl/extension/jsf/src/main/java/br/gov/frameworkdemoiselle/message/ValidationFailedMessage.java 0 → 100644
@@ -0,0 +1,12 @@ @@ -0,0 +1,12 @@
  1 +package br.gov.frameworkdemoiselle.message;
  2 +
  3 +public class ValidationFailedMessage extends DefaultMessage {
  4 +
  5 + public ValidationFailedMessage(String text, Object[] params) {
  6 + super(text, params);
  7 + }
  8 +
  9 + public ValidationFailedMessage(String text, SeverityType severity, Object... params) {
  10 + super(text, severity, params);
  11 + }
  12 +}
impl/extension/jsf/src/main/java/br/gov/frameworkdemoiselle/util/Faces.java
@@ -54,6 +54,7 @@ import javax.faces.convert.Converter; @@ -54,6 +54,7 @@ import javax.faces.convert.Converter;
54 import br.gov.frameworkdemoiselle.exception.ApplicationException; 54 import br.gov.frameworkdemoiselle.exception.ApplicationException;
55 import br.gov.frameworkdemoiselle.message.Message; 55 import br.gov.frameworkdemoiselle.message.Message;
56 import br.gov.frameworkdemoiselle.message.SeverityType; 56 import br.gov.frameworkdemoiselle.message.SeverityType;
  57 +import br.gov.frameworkdemoiselle.message.ValidationFailedMessage;
57 58
58 /** 59 /**
59 * Utility class to insert messages in the FacesContext. 60 * Utility class to insert messages in the FacesContext.
@@ -75,6 +76,9 @@ public class Faces { @@ -75,6 +76,9 @@ public class Faces {
75 76
76 public static void addMessage(final Message message) { 77 public static void addMessage(final Message message) {
77 getFacesContext().addMessage(null, parse(message)); 78 getFacesContext().addMessage(null, parse(message));
  79 + if (message instanceof ValidationFailedMessage) {
  80 + getFacesContext().validationFailed();
  81 + }
78 } 82 }
79 83
80 public static void addMessage(final String clientId, final Message message) { 84 public static void addMessage(final String clientId, final Message message) {