Repository: deltaspike
Updated Branches:
  refs/heads/master aa23129f7 -> ef7d358a0


DELTASPIKE-628 support for the configured jsf message-bundle


Project: http://git-wip-us.apache.org/repos/asf/deltaspike/repo
Commit: http://git-wip-us.apache.org/repos/asf/deltaspike/commit/ef7d358a
Tree: http://git-wip-us.apache.org/repos/asf/deltaspike/tree/ef7d358a
Diff: http://git-wip-us.apache.org/repos/asf/deltaspike/diff/ef7d358a

Branch: refs/heads/master
Commit: ef7d358a07664bbf46a1c423a2706633461e9a8f
Parents: aa23129
Author: gpetracek <[email protected]>
Authored: Fri Jun 6 13:53:34 2014 +0200
Committer: gpetracek <[email protected]>
Committed: Fri Jun 6 13:53:34 2014 +0200

----------------------------------------------------------------------
 .../impl/message/DefaultMessageResolver.java    |  7 ++-
 .../jsf/impl/message/JsfMessageResolver.java    | 55 ++++++++++++++++++++
 2 files changed, 61 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/deltaspike/blob/ef7d358a/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/message/DefaultMessageResolver.java
----------------------------------------------------------------------
diff --git 
a/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/message/DefaultMessageResolver.java
 
b/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/message/DefaultMessageResolver.java
index 1cde0c8..a8548e4 100644
--- 
a/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/message/DefaultMessageResolver.java
+++ 
b/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/message/DefaultMessageResolver.java
@@ -49,7 +49,7 @@ public class DefaultMessageResolver implements MessageResolver
         {
             String resourceKey = messageTemplate.substring(1, 
messageTemplate.length() - 1);
 
-            List<String> messageSources = messageContext.getMessageSources();
+            List<String> messageSources = getMessageSources(messageContext);
 
             if (messageSources == null || messageSources.isEmpty())
             {
@@ -97,4 +97,9 @@ public class DefaultMessageResolver implements MessageResolver
 
         return messageTemplate;
     }
+
+    protected List<String> getMessageSources(MessageContext messageContext)
+    {
+        return messageContext.getMessageSources();
+    }
 }

http://git-wip-us.apache.org/repos/asf/deltaspike/blob/ef7d358a/deltaspike/modules/jsf/impl/src/main/java/org/apache/deltaspike/jsf/impl/message/JsfMessageResolver.java
----------------------------------------------------------------------
diff --git 
a/deltaspike/modules/jsf/impl/src/main/java/org/apache/deltaspike/jsf/impl/message/JsfMessageResolver.java
 
b/deltaspike/modules/jsf/impl/src/main/java/org/apache/deltaspike/jsf/impl/message/JsfMessageResolver.java
new file mode 100644
index 0000000..9f1a20b
--- /dev/null
+++ 
b/deltaspike/modules/jsf/impl/src/main/java/org/apache/deltaspike/jsf/impl/message/JsfMessageResolver.java
@@ -0,0 +1,55 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.deltaspike.jsf.impl.message;
+
+import org.apache.deltaspike.core.api.message.MessageContext;
+import org.apache.deltaspike.core.impl.message.DefaultMessageResolver;
+
+import javax.enterprise.inject.Specializes;
+import javax.faces.application.FacesMessage;
+import javax.faces.context.FacesContext;
+import java.util.ArrayList;
+import java.util.List;
+
+@Specializes
+public class JsfMessageResolver extends DefaultMessageResolver
+{
+    @Override
+    protected List<String> getMessageSources(MessageContext messageContext)
+    {
+        List<String> result = new 
ArrayList<String>(super.getMessageSources(messageContext) 
/*unmodifiable-list*/);
+
+        FacesContext facesContext = FacesContext.getCurrentInstance();
+
+        if (facesContext == null)
+        {
+            return result;
+        }
+
+        String bundleName = facesContext.getApplication().getMessageBundle();
+
+        if (bundleName != null)
+        {
+            result.add(bundleName);
+        }
+        result.add(FacesMessage.FACES_MESSAGES); //default messages from jsf
+
+        return result;
+    }
+}

Reply via email to