]> git.mxchange.org Git - pizzaservice-war.git/commitdiff
added stuff for localization support (unfinished)
authorRoland Haeder <roland@mxchange.org>
Fri, 1 Apr 2016 19:04:52 +0000 (21:04 +0200)
committerRoland Haeder <roland@mxchange.org>
Fri, 1 Apr 2016 19:04:52 +0000 (21:04 +0200)
src/java/org/mxchange/pizzaapplication/beans/localization/LocalizationSessionController.java [new file with mode: 0644]
src/java/org/mxchange/pizzaapplication/beans/localization/PizzaLocalizationSessionBean.java [new file with mode: 0644]
web/WEB-INF/templates/base.tpl

diff --git a/src/java/org/mxchange/pizzaapplication/beans/localization/LocalizationSessionController.java b/src/java/org/mxchange/pizzaapplication/beans/localization/LocalizationSessionController.java
new file mode 100644 (file)
index 0000000..f9faa9f
--- /dev/null
@@ -0,0 +1,43 @@
+/*
+ * Copyright (C) 2016 Roland Haeder
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+package org.mxchange.pizzaapplication.beans.localization;
+
+import java.io.Serializable;
+import java.util.Locale;
+
+/**
+ * An interface for localization change beans
+ * <p>
+ * @author Roland Haeder<roland@mxchange.org>
+ */
+public interface LocalizationSessionController extends Serializable {
+
+       /**
+        * Getter for locale
+        * <p>
+        * @return Locale
+        */
+       Locale getLocale ();
+
+       /**
+        * Setter for locale
+        * <p>
+        * @param locale Locale
+        */
+       void setLocale (final Locale locale);
+
+}
diff --git a/src/java/org/mxchange/pizzaapplication/beans/localization/PizzaLocalizationSessionBean.java b/src/java/org/mxchange/pizzaapplication/beans/localization/PizzaLocalizationSessionBean.java
new file mode 100644 (file)
index 0000000..2d0bc18
--- /dev/null
@@ -0,0 +1,70 @@
+/*
+ * Copyright (C) 2016 Roland Haeder
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+package org.mxchange.pizzaapplication.beans.localization;
+
+import java.util.Locale;
+import javax.annotation.PostConstruct;
+import javax.faces.bean.SessionScoped;
+import javax.faces.context.FacesContext;
+import javax.inject.Named;
+import org.mxchange.jcoreee.database.BaseDatabaseBean;
+
+/**
+ * A session bean for handling localization/internationalization changes. This
+ * class is based on an example at [1] from mkyong.
+ * <p>
+ * 1: http://www.mkyong.com/jsf2/jsf-2-internationalization-example/
+ * <p>
+ * @author Roland Haeder<roland@mxchange.org>
+ */
+@Named ("localization")
+@SessionScoped
+public class PizzaLocalizationSessionBean extends BaseDatabaseBean implements LocalizationSessionController {
+
+       /**
+        * Serial number
+        */
+       private static final long serialVersionUID = 1_867_671_657_629_601_528L;
+
+       /**
+        * Current Locale
+        */
+       private Locale locale;
+
+       @Override
+       public Locale getLocale () {
+               return this.locale;
+       }
+
+       @Override
+       public void setLocale (final Locale locale) {
+               this.locale = locale;
+       }
+
+       /**
+        * Initializer for this bean
+        */
+       @PostConstruct
+       public void init () {
+               // Create locale instance from context
+               Locale loc = FacesContext.getCurrentInstance().getExternalContext().getRequestLocale();
+
+               // Set it here
+               this.setLocale(loc);
+       }
+
+}
index f5d426eb059e190e96e7c28e01b933084d09ce94..5c7d9cbe56eaa65e935657af2c39a50fe5fa6139 100644 (file)
@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 <html
+       lang="#{localization.locale.language}" xml:lang="#{localization.locale.language}"
        xmlns="http://www.w3.org/1999/xhtml"
        xmlns:h="http://java.sun.com/jsf/html"
        xmlns:ui="http://java.sun.com/jsf/facelets"
@@ -9,6 +10,7 @@
                <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
 
                <f:loadBundle var="msg" basename="org.mxchange.localization.bundle" />
+               <f:view locale="#{localization.locale}" />
 
                <h:outputStylesheet name="./css/default.css" />
                <h:outputStylesheet name="./css/cssLayout.css" />
@@ -18,7 +20,7 @@
 
        <h:body>
                <div id="top">
-                       <div id="header"> 
+                       <div id="header">
                                <div id="title">
                                        <h1>Pizza-Service - <ui:insert name="title">Default title</ui:insert></h1>
                                </div>