Commit d3ebc76367803780fbbd20f64b65a37f8bdcfbc6
Exists in
master
Merge remote-tracking branch 'origin/master'
Showing
8 changed files
with
38 additions
and
13 deletions
Show diff stats
impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/implementation/LoggerMessageAppender.java
| ... | ... | @@ -55,7 +55,7 @@ public class LoggerMessageAppender implements MessageAppender { |
| 55 | 55 | private Logger logger; |
| 56 | 56 | |
| 57 | 57 | @Override |
| 58 | - public void append(Message message) { | |
| 58 | + public void append(Message message, Object... params) { | |
| 59 | 59 | String text = message.getText(); |
| 60 | 60 | |
| 61 | 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 | 66 | private transient Logger logger; |
| 67 | 67 | |
| 68 | 68 | @Override |
| 69 | + @Deprecated | |
| 69 | 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 | 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 | 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 | 51 | * |
| 52 | 52 | * @param message |
| 53 | 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
impl/core/src/test/java/message/DummyMessageAppender.java
| ... | ... | @@ -52,7 +52,7 @@ public class DummyMessageAppender implements MessageAppender { |
| 52 | 52 | private List<Message> messages = new ArrayList<Message>(); |
| 53 | 53 | |
| 54 | 54 | @Override |
| 55 | - public void append(Message message) { | |
| 55 | + public void append(Message message, Object... params) { | |
| 56 | 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 | 50 | private static final long serialVersionUID = 1L; |
| 51 | 51 | |
| 52 | 52 | @Override |
| 53 | - public void append(Message message) { | |
| 53 | + public void append(Message message , Object... params) { | |
| 54 | 54 | try { |
| 55 | 55 | Faces.addMessage(message); |
| 56 | 56 | } catch (ContextNotActiveException cause) { | ... | ... |
impl/extension/jsf/src/main/java/br/gov/frameworkdemoiselle/message/ValidationFailedMessage.java
0 → 100644
| ... | ... | @@ -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 | 54 | import br.gov.frameworkdemoiselle.exception.ApplicationException; |
| 55 | 55 | import br.gov.frameworkdemoiselle.message.Message; |
| 56 | 56 | import br.gov.frameworkdemoiselle.message.SeverityType; |
| 57 | +import br.gov.frameworkdemoiselle.message.ValidationFailedMessage; | |
| 57 | 58 | |
| 58 | 59 | /** |
| 59 | 60 | * Utility class to insert messages in the FacesContext. |
| ... | ... | @@ -75,6 +76,9 @@ public class Faces { |
| 75 | 76 | |
| 76 | 77 | public static void addMessage(final Message message) { |
| 77 | 78 | getFacesContext().addMessage(null, parse(message)); |
| 79 | + if (message instanceof ValidationFailedMessage) { | |
| 80 | + getFacesContext().validationFailed(); | |
| 81 | + } | |
| 78 | 82 | } |
| 79 | 83 | |
| 80 | 84 | public static void addMessage(final String clientId, final Message message) { | ... | ... |