struts-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From lukaszlen...@apache.org
Subject [44/50] [abbrv] struts git commit: Adds support to use Struts' Locale
Date Fri, 15 Jul 2016 13:19:11 GMT
Adds support to use Struts' Locale


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

Branch: refs/heads/master
Commit: 42628da3c34dca808817ec00fd76d89922c6d006
Parents: 4771dfa
Author: Lukasz Lenart <lukasz.lenart@gmail.com>
Authored: Fri Jan 15 10:12:15 2016 +0100
Committer: Lukasz Lenart <lukasz.lenart@gmail.com>
Committed: Tue Jan 19 16:19:20 2016 +0100

----------------------------------------------------------------------
 .../tiles/StrutsTilesContainerFactory.java      |  4 ++
 .../tiles/StrutsTilesLocaleResolver.java        | 54 ++++++++++++++++++++
 2 files changed, 58 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/struts/blob/42628da3/plugins/tiles/src/main/java/org/apache/struts2/tiles/StrutsTilesContainerFactory.java
----------------------------------------------------------------------
diff --git a/plugins/tiles/src/main/java/org/apache/struts2/tiles/StrutsTilesContainerFactory.java
b/plugins/tiles/src/main/java/org/apache/struts2/tiles/StrutsTilesContainerFactory.java
index 8403610..0cb14f3 100644
--- a/plugins/tiles/src/main/java/org/apache/struts2/tiles/StrutsTilesContainerFactory.java
+++ b/plugins/tiles/src/main/java/org/apache/struts2/tiles/StrutsTilesContainerFactory.java
@@ -161,6 +161,10 @@ public class StrutsTilesContainerFactory extends BasicTilesContainerFactory
{
         return resolver;
     }
 
+    protected LocaleResolver createLocaleResolver(ApplicationContext applicationContext)
{
+        return new StrutsTilesLocaleResolver();
+    }
+
     @Override
     protected List<ApplicationResource> getSources(ApplicationContext applicationContext)
{
         Collection<ApplicationResource> resources = applicationContext.getResources(getTilesDefinitionPattern(applicationContext.getInitParams()));

http://git-wip-us.apache.org/repos/asf/struts/blob/42628da3/plugins/tiles/src/main/java/org/apache/struts2/tiles/StrutsTilesLocaleResolver.java
----------------------------------------------------------------------
diff --git a/plugins/tiles/src/main/java/org/apache/struts2/tiles/StrutsTilesLocaleResolver.java
b/plugins/tiles/src/main/java/org/apache/struts2/tiles/StrutsTilesLocaleResolver.java
new file mode 100644
index 0000000..2c0ef9d
--- /dev/null
+++ b/plugins/tiles/src/main/java/org/apache/struts2/tiles/StrutsTilesLocaleResolver.java
@@ -0,0 +1,54 @@
+/*
+ * 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.struts2.tiles;
+
+import com.opensymphony.xwork2.ActionContext;
+import com.opensymphony.xwork2.LocaleProvider;
+import com.opensymphony.xwork2.config.ConfigurationException;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.apache.struts2.ServletActionContext;
+import org.apache.tiles.locale.LocaleResolver;
+import org.apache.tiles.request.Request;
+import org.apache.tiles.request.servlet.ServletUtil;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.Locale;
+
+public class StrutsTilesLocaleResolver implements LocaleResolver {
+
+    private static Logger LOG = LogManager.getLogger(StrutsTilesLocaleResolver.class);
+
+    @Override
+    public Locale resolveLocale(Request request) {
+        HttpServletRequest httpRequest = ServletUtil.getServletRequest(request).getRequest();
+        ActionContext ctx = ServletActionContext.getActionContext(httpRequest);
+
+        if (ctx == null) {
+            LOG.error("Cannot obtain HttpServletRequest from [{}]", request.getClass().getName());
+            throw new ConfigurationException("There is no ActionContext for current request!");
+        }
+
+        LocaleProvider provider = ctx.getInstance(LocaleProvider.class);
+
+        return provider.getLocale();
+    }
+
+}


Mime
View raw message