From bda0f25fe202fd623b66ed2d6eafd12bf457f046 Mon Sep 17 00:00:00 2001
From: =?utf8?q?Roland=20H=C3=A4der?= <roland@mxchange.org>
Date: Sun, 11 Jun 2017 13:38:16 +0200
Subject: [PATCH] Please cherry-pick: - h:outputText was wrong where it should
 be h:panelGroup, now the guest menue is being shown again - feature
 controller is no longer causing and then catching NPE (bad code style) -
 sorted web.xml - reformated some files
MIME-Version: 1.0
Content-Type: text/plain; charset=utf8
Content-Transfer-Encoding: 8bit

Signed-off-by: Roland Häder <roland@mxchange.org>
---
 ...FinancialsContactWebSessionController.java |  1 +
 ...AdminContactPhoneWebRequestController.java | 13 +++++-----
 ...cialsAdminCountryWebRequestController.java |  2 +-
 .../FinancialsFeatureWebApplicationBean.java  | 15 ++++++------
 .../FinancialsLocalizationSessionBean.java    |  4 ++--
 .../FinancialsAdminPhoneWebRequestBean.java   |  6 ++---
 ...ancialsAdminPhoneWebRequestController.java | 12 +++++-----
 .../FinancialsPhoneWebApplicationBean.java    | 24 +++++++++----------
 .../user/FinancialsUserWebSessionBean.java    |  3 ---
 .../FinancialsUserWebSessionController.java   |  3 ++-
 web/WEB-INF/templates/guest/guest_menu.tpl    |  4 ++--
 web/WEB-INF/web.xml                           | 14 ++++-------
 12 files changed, 47 insertions(+), 54 deletions(-)

diff --git a/src/java/org/mxchange/jfinancials/beans/contact/FinancialsContactWebSessionController.java b/src/java/org/mxchange/jfinancials/beans/contact/FinancialsContactWebSessionController.java
index 1a4b5fe5..9918818c 100644
--- a/src/java/org/mxchange/jfinancials/beans/contact/FinancialsContactWebSessionController.java
+++ b/src/java/org/mxchange/jfinancials/beans/contact/FinancialsContactWebSessionController.java
@@ -392,6 +392,7 @@ public interface FinancialsContactWebSessionController extends Serializable {
 	 * Setter for controller type
 	 * <p>
 	 * @param controllerType Controller type
+	 * <p>
 	 * @deprecated Don't use this method.
 	 */
 	@Deprecated
diff --git a/src/java/org/mxchange/jfinancials/beans/contact/phone/FinancialsAdminContactPhoneWebRequestController.java b/src/java/org/mxchange/jfinancials/beans/contact/phone/FinancialsAdminContactPhoneWebRequestController.java
index b31f30ce..d9b340ce 100644
--- a/src/java/org/mxchange/jfinancials/beans/contact/phone/FinancialsAdminContactPhoneWebRequestController.java
+++ b/src/java/org/mxchange/jfinancials/beans/contact/phone/FinancialsAdminContactPhoneWebRequestController.java
@@ -51,8 +51,8 @@ public interface FinancialsAdminContactPhoneWebRequestController extends Seriali
 	String unlinkMobileContactData ();
 
 	/**
-	 * Links given contact instance with set fax number or entered data. If
-	 * both is set, a proper exception is thrown as this is an invalid state.
+	 * Links given contact instance with set fax number or entered data. If both
+	 * is set, a proper exception is thrown as this is an invalid state.
 	 * <p>
 	 * @param contact Contact instance to link with existing/new data
 	 * <p>
@@ -61,9 +61,8 @@ public interface FinancialsAdminContactPhoneWebRequestController extends Seriali
 	String doLinkAddFaxNumber (final Contact contact);
 
 	/**
-	 * Links given contact instance with set land-line number or entered
-	 * data. If both is set, a proper exception is thrown as this is an invalid
-	 * state.
+	 * Links given contact instance with set land-line number or entered data.
+	 * If both is set, a proper exception is thrown as this is an invalid state.
 	 * <p>
 	 * @param contact Contact instance to link with existing/new data
 	 * <p>
@@ -72,8 +71,8 @@ public interface FinancialsAdminContactPhoneWebRequestController extends Seriali
 	String doLinkAddLandLineNumber (final Contact contact);
 
 	/**
-	 * Links given contact instance with set mobile or entered data. If both
-	 * is set, a proper exception is thrown as this is an invalid state.
+	 * Links given contact instance with set mobile or entered data. If both is
+	 * set, a proper exception is thrown as this is an invalid state.
 	 * <p>
 	 * @param contact Contact instance to link with existing/new data
 	 * <p>
diff --git a/src/java/org/mxchange/jfinancials/beans/country/FinancialsAdminCountryWebRequestController.java b/src/java/org/mxchange/jfinancials/beans/country/FinancialsAdminCountryWebRequestController.java
index cbba1f69..5fb582fc 100644
--- a/src/java/org/mxchange/jfinancials/beans/country/FinancialsAdminCountryWebRequestController.java
+++ b/src/java/org/mxchange/jfinancials/beans/country/FinancialsAdminCountryWebRequestController.java
@@ -86,7 +86,7 @@ public interface FinancialsAdminCountryWebRequestController extends Serializable
 	 * Setter for whether the local dial prefix is required for local calls
 	 * <p>
 	 * @param countryIsLocalPrefixRequired Whether the local dial prefix is
-	 * required
+	 *                                     required
 	 */
 	void setCountryIsLocalPrefixRequired (final Boolean countryIsLocalPrefixRequired);
 
diff --git a/src/java/org/mxchange/jfinancials/beans/features/FinancialsFeatureWebApplicationBean.java b/src/java/org/mxchange/jfinancials/beans/features/FinancialsFeatureWebApplicationBean.java
index 362c541f..2afe9558 100644
--- a/src/java/org/mxchange/jfinancials/beans/features/FinancialsFeatureWebApplicationBean.java
+++ b/src/java/org/mxchange/jfinancials/beans/features/FinancialsFeatureWebApplicationBean.java
@@ -64,18 +64,17 @@ public class FinancialsFeatureWebApplicationBean extends BaseFinancialsControlle
 		// Default is not enabled
 		boolean isEnabled = false;
 
-		// Try it as an NPE may come
-		try {
-			// Get value from property
-			String value = this.getStringContextParameter(String.format("is_feature_%s_enabled", feature)); //NOI18N
+		// Get value from property
+		String contextParameter = this.getStringContextParameter(String.format("is_feature_%s_enabled", feature)); //NOI18N
+		//System.out.println(MessageFormat.format("isFeatureSet: feature={0},contextParameter[]={1}", feature, Objects.toString(contextParameter))); //NOI18N
 
+		// Is the context parameter found?
+		if (contextParameter instanceof String) {
 			// Is it set?
-			isEnabled = (value.toLowerCase().equals("true")); //NOI18N
-		} catch (final NullPointerException ex) {
-			// Ignored
+			isEnabled = (Boolean.parseBoolean(contextParameter) == Boolean.TRUE);
 		}
 
-		// Return value
+		// Return status
 		return isEnabled;
 	}
 
diff --git a/src/java/org/mxchange/jfinancials/beans/localization/FinancialsLocalizationSessionBean.java b/src/java/org/mxchange/jfinancials/beans/localization/FinancialsLocalizationSessionBean.java
index e02b4df7..0075e443 100644
--- a/src/java/org/mxchange/jfinancials/beans/localization/FinancialsLocalizationSessionBean.java
+++ b/src/java/org/mxchange/jfinancials/beans/localization/FinancialsLocalizationSessionBean.java
@@ -28,8 +28,8 @@ import org.mxchange.jusercore.events.login.ObservableUserLoggedInEvent;
 import org.mxchange.jusercore.events.logout.ObservableUserLogoutEvent;
 
 /**
- * A session-scoped bean for handling localization/internationalization changes. This
- * class is based on an example at [1] from mkyong.
+ * A session-scoped 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>
diff --git a/src/java/org/mxchange/jfinancials/beans/phone/FinancialsAdminPhoneWebRequestBean.java b/src/java/org/mxchange/jfinancials/beans/phone/FinancialsAdminPhoneWebRequestBean.java
index b0524e9d..ccd61669 100644
--- a/src/java/org/mxchange/jfinancials/beans/phone/FinancialsAdminPhoneWebRequestBean.java
+++ b/src/java/org/mxchange/jfinancials/beans/phone/FinancialsAdminPhoneWebRequestBean.java
@@ -87,17 +87,17 @@ public class FinancialsAdminPhoneWebRequestBean extends BaseFinancialsController
 	private FinancialsWebRequestHelperController beanHelper;
 
 	/**
-	 *  fax number
+	 * fax number
 	 */
 	private DialableFaxNumber choosenFaxNumber;
 
 	/**
-	 *  land-line number
+	 * land-line number
 	 */
 	private DialableLandLineNumber choosenLandLineNumber;
 
 	/**
-	 *  mobile number
+	 * mobile number
 	 */
 	private DialableMobileNumber choosenMobileNumber;
 
diff --git a/src/java/org/mxchange/jfinancials/beans/phone/FinancialsAdminPhoneWebRequestController.java b/src/java/org/mxchange/jfinancials/beans/phone/FinancialsAdminPhoneWebRequestController.java
index aa00f2de..9248b736 100644
--- a/src/java/org/mxchange/jfinancials/beans/phone/FinancialsAdminPhoneWebRequestController.java
+++ b/src/java/org/mxchange/jfinancials/beans/phone/FinancialsAdminPhoneWebRequestController.java
@@ -126,42 +126,42 @@ public interface FinancialsAdminPhoneWebRequestController extends Serializable {
 	/**
 	 * Getter for choosen fax number
 	 * <p>
-	 * @return  fax number
+	 * @return fax number
 	 */
 	DialableFaxNumber getFaxNumber ();
 
 	/**
 	 * Setter for choosen fax number
 	 * <p>
-	 * @param choosenFaxNumber  fax number
+	 * @param choosenFaxNumber fax number
 	 */
 	void setFaxNumber (final DialableFaxNumber choosenFaxNumber);
 
 	/**
 	 * Getter for choosen land-line number
 	 * <p>
-	 * @return  land-line number
+	 * @return land-line number
 	 */
 	DialableLandLineNumber getLandLineNumber ();
 
 	/**
 	 * Setter for choosen land-line number
 	 * <p>
-	 * @param choosenLandLineNumber  land-line number
+	 * @param choosenLandLineNumber land-line number
 	 */
 	void setLandLineNumber (final DialableLandLineNumber choosenLandLineNumber);
 
 	/**
 	 * Getter for choosen mobile number
 	 * <p>
-	 * @return  mobile number
+	 * @return mobile number
 	 */
 	DialableMobileNumber getMobileNumber ();
 
 	/**
 	 * Setter for choosen mobile number
 	 * <p>
-	 * @param choosenMobileNumber  mobile number
+	 * @param choosenMobileNumber mobile number
 	 */
 	void setMobileNumber (final DialableMobileNumber choosenMobileNumber);
 
diff --git a/src/java/org/mxchange/jfinancials/beans/phone/FinancialsPhoneWebApplicationBean.java b/src/java/org/mxchange/jfinancials/beans/phone/FinancialsPhoneWebApplicationBean.java
index 5c4a05df..2cb788a6 100644
--- a/src/java/org/mxchange/jfinancials/beans/phone/FinancialsPhoneWebApplicationBean.java
+++ b/src/java/org/mxchange/jfinancials/beans/phone/FinancialsPhoneWebApplicationBean.java
@@ -148,7 +148,7 @@ public class FinancialsPhoneWebApplicationBean extends BaseFinancialsController
 		if (null == event) {
 			// Throw NPE
 			throw new NullPointerException("event is null"); //NOI18N
-		} else if (event.getDeletedFaxNumber()== null) {
+		} else if (event.getDeletedFaxNumber() == null) {
 			// Throw NPE again
 			throw new NullPointerException("event.deletedFaxNumber is null"); //NOI18N
 		} else if (event.getDeletedFaxNumber().getPhoneId() == null) {
@@ -172,7 +172,7 @@ public class FinancialsPhoneWebApplicationBean extends BaseFinancialsController
 		if (null == event) {
 			// Throw NPE
 			throw new NullPointerException("event is null"); //NOI18N
-		} else if (event.getDeletedLandLineNumber()== null) {
+		} else if (event.getDeletedLandLineNumber() == null) {
 			// Throw NPE again
 			throw new NullPointerException("event.deletedLandLineNumber is null"); //NOI18N
 		} else if (event.getDeletedLandLineNumber().getPhoneId() == null) {
@@ -196,7 +196,7 @@ public class FinancialsPhoneWebApplicationBean extends BaseFinancialsController
 		if (null == event) {
 			// Throw NPE
 			throw new NullPointerException("event is null"); //NOI18N
-		} else if (event.getDeletedMobileNumber()== null) {
+		} else if (event.getDeletedMobileNumber() == null) {
 			// Throw NPE again
 			throw new NullPointerException("event.deletedMobileNumber is null"); //NOI18N
 		} else if (event.getDeletedMobileNumber().getPhoneId() == null) {
@@ -228,7 +228,7 @@ public class FinancialsPhoneWebApplicationBean extends BaseFinancialsController
 			throw new NullPointerException("event.contact.contactId is null");
 		} else if (event.getContact().getContactId() < 1) {
 			// Throw again ...
-			throw new NullPointerException("event.contact.contactId="+ event.getContact().getContactId() + " is invalid");
+			throw new NullPointerException("event.contact.contactId=" + event.getContact().getContactId() + " is invalid");
 		} else if (event.getContact().getContactFaxNumber() == null) {
 			// Throw again ...
 			throw new NullPointerException("event.contact.contactFaxNumber is null");
@@ -237,7 +237,7 @@ public class FinancialsPhoneWebApplicationBean extends BaseFinancialsController
 			throw new NullPointerException("event.contact.contactFaxNumber.phoneId is null");
 		} else if (event.getContact().getContactFaxNumber().getPhoneId() < 1) {
 			// Throw again ...
-			throw new NullPointerException("event.contact.contactFaxNumber.phoneId="+event.getContact().getContactFaxNumber().getPhoneId() + " is invalid");
+			throw new NullPointerException("event.contact.contactFaxNumber.phoneId=" + event.getContact().getContactFaxNumber().getPhoneId() + " is invalid");
 		} else if (event.getLinkedFaxNumber() == null) {
 			// Throw again ...
 			throw new NullPointerException("event.linkedFaxNumer is null");
@@ -264,7 +264,7 @@ public class FinancialsPhoneWebApplicationBean extends BaseFinancialsController
 			throw new NullPointerException("event.contact.contactId is null");
 		} else if (event.getContact().getContactId() < 1) {
 			// Throw again ...
-			throw new NullPointerException("event.contact.contactId="+ event.getContact().getContactId() + " is invalid");
+			throw new NullPointerException("event.contact.contactId=" + event.getContact().getContactId() + " is invalid");
 		} else if (event.getContact().getContactLandLineNumber() == null) {
 			// Throw again ...
 			throw new NullPointerException("event.contact.contactLandLineNumber is null");
@@ -273,7 +273,7 @@ public class FinancialsPhoneWebApplicationBean extends BaseFinancialsController
 			throw new NullPointerException("event.contact.contactLandLineNumber.phoneId is null");
 		} else if (event.getContact().getContactLandLineNumber().getPhoneId() < 1) {
 			// Throw again ...
-			throw new NullPointerException("event.contact.contactLandLineNumber.phoneId="+event.getContact().getContactLandLineNumber().getPhoneId() + " is invalid");
+			throw new NullPointerException("event.contact.contactLandLineNumber.phoneId=" + event.getContact().getContactLandLineNumber().getPhoneId() + " is invalid");
 		} else if (event.getLinkedLandLineNumber() == null) {
 			// Throw again ...
 			throw new NullPointerException("event.linkedLandLineNumer is null");
@@ -300,7 +300,7 @@ public class FinancialsPhoneWebApplicationBean extends BaseFinancialsController
 			throw new NullPointerException("event.contact.contactId is null");
 		} else if (event.getContact().getContactId() < 1) {
 			// Throw again ...
-			throw new NullPointerException("event.contact.contactId="+ event.getContact().getContactId() + " is invalid");
+			throw new NullPointerException("event.contact.contactId=" + event.getContact().getContactId() + " is invalid");
 		} else if (event.getContact().getContactMobileNumber() == null) {
 			// Throw again ...
 			throw new NullPointerException("event.contact.contactMobileNumber is null");
@@ -309,7 +309,7 @@ public class FinancialsPhoneWebApplicationBean extends BaseFinancialsController
 			throw new NullPointerException("event.contact.contactMobileNumber.phoneId is null");
 		} else if (event.getContact().getContactMobileNumber().getPhoneId() < 1) {
 			// Throw again ...
-			throw new NullPointerException("event.contact.contactMobileNumber.phoneId="+event.getContact().getContactMobileNumber().getPhoneId() + " is invalid");
+			throw new NullPointerException("event.contact.contactMobileNumber.phoneId=" + event.getContact().getContactMobileNumber().getPhoneId() + " is invalid");
 		} else if (event.getLinkedMobileNumber() == null) {
 			// Throw again ...
 			throw new NullPointerException("event.linkedMobileNumer is null");
@@ -352,7 +352,7 @@ public class FinancialsPhoneWebApplicationBean extends BaseFinancialsController
 		if (null == event) {
 			// Throw NPE
 			throw new NullPointerException("event is null"); //NOI18N
-		} else if (event.getUpdatedFaxNumber()== null) {
+		} else if (event.getUpdatedFaxNumber() == null) {
 			// Throw NPE again
 			throw new NullPointerException("event.updatedFaxNumber is null"); //NOI18N
 		} else if (event.getUpdatedFaxNumber().getPhoneId() == null) {
@@ -376,7 +376,7 @@ public class FinancialsPhoneWebApplicationBean extends BaseFinancialsController
 		if (null == event) {
 			// Throw NPE
 			throw new NullPointerException("event is null"); //NOI18N
-		} else if (event.getUpdatedLandLineNumber()== null) {
+		} else if (event.getUpdatedLandLineNumber() == null) {
 			// Throw NPE again
 			throw new NullPointerException("event.updatedLandLineNumber is null"); //NOI18N
 		} else if (event.getUpdatedLandLineNumber().getPhoneId() == null) {
@@ -400,7 +400,7 @@ public class FinancialsPhoneWebApplicationBean extends BaseFinancialsController
 		if (null == event) {
 			// Throw NPE
 			throw new NullPointerException("event is null"); //NOI18N
-		} else if (event.getUpdatedMobileNumber()== null) {
+		} else if (event.getUpdatedMobileNumber() == null) {
 			// Throw NPE again
 			throw new NullPointerException("event.updatedMobileNumber is null"); //NOI18N
 		} else if (event.getUpdatedMobileNumber().getPhoneId() == null) {
diff --git a/src/java/org/mxchange/jfinancials/beans/user/FinancialsUserWebSessionBean.java b/src/java/org/mxchange/jfinancials/beans/user/FinancialsUserWebSessionBean.java
index 2880d7ca..1015eb0c 100644
--- a/src/java/org/mxchange/jfinancials/beans/user/FinancialsUserWebSessionBean.java
+++ b/src/java/org/mxchange/jfinancials/beans/user/FinancialsUserWebSessionBean.java
@@ -530,14 +530,12 @@ public class FinancialsUserWebSessionBean extends BaseFinancialsController imple
 
 			// Debug message
 			//* NOISY-DEBUG: */ System.out.println(MessageFormat.format("{0}.createUserInstance: contact={1}", this.getClass().getSimpleName(), contact));
-
 			// Set contact in user
 			user.setUserContact(contact);
 		}
 
 		// Trace message
 		//* NOISY-DEBUG: */ System.out.println(MessageFormat.format("{0}.createUserInstance: user={1} - EXIT!", this.getClass().getSimpleName(), user));
-
 		// Return it
 		return user;
 	}
@@ -564,7 +562,6 @@ public class FinancialsUserWebSessionBean extends BaseFinancialsController imple
 
 		// Trace message
 		//* NOISY-DEBUG */ System.out.println(MessageFormat.format("{0}.createUserLogin: user={1} - EXIT!", this.getClass().getSimpleName(), user));
-
 		// Return the new instance
 		return user;
 	}
diff --git a/src/java/org/mxchange/jfinancials/beans/user/FinancialsUserWebSessionController.java b/src/java/org/mxchange/jfinancials/beans/user/FinancialsUserWebSessionController.java
index e209be36..a2963853 100644
--- a/src/java/org/mxchange/jfinancials/beans/user/FinancialsUserWebSessionController.java
+++ b/src/java/org/mxchange/jfinancials/beans/user/FinancialsUserWebSessionController.java
@@ -96,7 +96,8 @@ public interface FinancialsUserWebSessionController extends Serializable {
 	 * <p>
 	 * @return User instance
 	 * <p>
-	 * @throws UserEmailAddressNotFoundException If the user's email address is not found
+	 * @throws UserEmailAddressNotFoundException If the user's email address is
+	 * not found
 	 */
 	User lookupUserByEmailAddress (final String emailAddress) throws UserEmailAddressNotFoundException;
 
diff --git a/web/WEB-INF/templates/guest/guest_menu.tpl b/web/WEB-INF/templates/guest/guest_menu.tpl
index 8453b9e3..1bc058f8 100644
--- a/web/WEB-INF/templates/guest/guest_menu.tpl
+++ b/web/WEB-INF/templates/guest/guest_menu.tpl
@@ -6,7 +6,7 @@
 	xmlns:ui="http://xmlns.jcp.org/jsf/facelets">
 
 	<div class="menu_outer">
-		<h:outputText styleClass="menu">
+		<h:panelGroup styleClass="menu" layout="block">
 			<div class="menu_header">
 				<h:outputText value="#{msg.MENU_HOME_TITLE}" />
 			</div>
@@ -46,6 +46,6 @@
 					</li>
 				</ui:fragment>
 			</ul>
-		</h:outputText>
+		</h:panelGroup>
 	</div>
 </ui:composition>
diff --git a/web/WEB-INF/web.xml b/web/WEB-INF/web.xml
index 6a0d39f6..b93a3749 100644
--- a/web/WEB-INF/web.xml
+++ b/web/WEB-INF/web.xml
@@ -2,6 +2,11 @@
 <web-app version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd">
     <description>An application to handle all your receipts and do some calculation with it</description>
     <display-name>JFinancials Application v1.0</display-name>
+    <context-param>
+        <description>Whether the date converter's default timezone is system's timezone.</description>
+        <param-name>javax.faces.DATETIMECONVERTER_DEFAULT_TIMEZONE_IS_SYSTEM_TIMEZONE</param-name>
+        <param-value>true</param-value>
+    </context-param>
     <context-param>
         <description>Whether the multi-page registration page or a single registration page is active</description>
         <param-name>is_feature_user_register_multiple_page_enabled</param-name>
@@ -17,11 +22,6 @@
         <param-name>is_feature_user_resend_confirmation_link_enabled</param-name>
         <param-value>true</param-value>
     </context-param>
-    <context-param>
-        <description>Whether default timezon is set from system's timezone</description>
-        <param-name>javax.faces.DATETIMECONVERTER_DEFAULT_TIMEZONE_IS_SYSTEM_TIMEZONE</param-name>
-        <param-value>true</param-value>
-    </context-param>
     <context-param>
         <description>Whether registration page is enabled.</description>
         <param-name>is_feature_user_registration_enabled</param-name>
@@ -117,10 +117,6 @@
         <param-name>is_debug_register_enabled</param-name>
         <param-value>false</param-value>
     </context-param>
-    <context-param>
-        <param-name>javax.faces.DATETIMECONVERTER_DEFAULT_TIMEZONE_IS_SYSTEM_TIMEZONE</param-name>
-        <param-value>true</param-value>
-    </context-param>
     <servlet>
         <servlet-name>Faces Servlet</servlet-name>
         <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
-- 
2.39.5