From: Roland Häder <roland@mxchange.org>
Date: Fri, 22 Sep 2017 20:09:02 +0000 (+0200)
Subject: Please cherry-pick:
X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=365fe2b62931cdf3fdcc2056ee7f5d16c28f8c15;p=addressbook-war.git

Please cherry-pick:
- renamed Base<Project>Controller to Base<Project>Bean as 'Controller' is for
  interfaces and 'Bean' for classes (the actual backing bean)
- added bean for static data (application-scoped)
- added converter for PaymentType enumeration
- added branchNumber which can be aside from the primary key a number e.g. from
  organigrams

Signed-off-by: Roland Häder <roland@mxchange.org>
---

diff --git a/src/java/org/mxchange/addressbook/beans/BaseAddressbookBean.java b/src/java/org/mxchange/addressbook/beans/BaseAddressbookBean.java
new file mode 100644
index 00000000..b6110960
--- /dev/null
+++ b/src/java/org/mxchange/addressbook/beans/BaseAddressbookBean.java
@@ -0,0 +1,52 @@
+/*
+ * Copyright (C) 2016 - 2020 Free Software Foundation
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero 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 Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+package org.mxchange.addressbook.beans;
+
+import java.util.Locale;
+import java.util.ResourceBundle;
+import org.mxchange.jcoreee.bean.faces.BaseFacesBean;
+
+/**
+ * A general controller
+ * <p>
+ * @author Roland Häder<roland@mxchange.org>
+ */
+public abstract class BaseAddressbookBean extends BaseFacesBean {
+
+	/**
+	 * Serial number
+	 */
+	private static final long serialVersionUID = 50_837_597_127_567_140L;
+
+	/**
+	 * Protected constructor
+	 */
+	protected BaseAddressbookBean () {
+		// Call super constructor
+		super();
+	}
+
+	@Override
+	protected ResourceBundle loadResourceBundle (final Locale locale) {
+		// Load resource bundle
+		ResourceBundle bundle = ResourceBundle.getBundle("org.mxchange.localization.bundle", locale);
+
+		// Return it
+		return bundle;
+	}
+
+}
diff --git a/src/java/org/mxchange/addressbook/beans/BaseAddressbookController.java b/src/java/org/mxchange/addressbook/beans/BaseAddressbookController.java
deleted file mode 100644
index e58efc42..00000000
--- a/src/java/org/mxchange/addressbook/beans/BaseAddressbookController.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright (C) 2016 - 2020 Free Software Foundation
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero 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 Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-package org.mxchange.addressbook.beans;
-
-import java.util.Locale;
-import java.util.ResourceBundle;
-import org.mxchange.jcoreee.bean.faces.BaseFacesBean;
-
-/**
- * A general controller
- * <p>
- * @author Roland Häder<roland@mxchange.org>
- */
-public abstract class BaseAddressbookController extends BaseFacesBean {
-
-	/**
-	 * Serial number
-	 */
-	private static final long serialVersionUID = 50_837_597_127_567_140L;
-
-	/**
-	 * Protected constructor
-	 */
-	protected BaseAddressbookController () {
-		// Call super constructor
-		super();
-	}
-
-	@Override
-	protected ResourceBundle loadResourceBundle (final Locale locale) {
-		// Load resource bundle
-		ResourceBundle bundle = ResourceBundle.getBundle("org.mxchange.localization.bundle", locale);
-
-		// Return it
-		return bundle;
-	}
-
-}
diff --git a/src/java/org/mxchange/addressbook/beans/addressbook/AddressbookWebSessionBean.java b/src/java/org/mxchange/addressbook/beans/addressbook/AddressbookWebSessionBean.java
index b192285f..9bdd0f1c 100644
--- a/src/java/org/mxchange/addressbook/beans/addressbook/AddressbookWebSessionBean.java
+++ b/src/java/org/mxchange/addressbook/beans/addressbook/AddressbookWebSessionBean.java
@@ -33,7 +33,7 @@ import javax.inject.Named;
 import javax.naming.Context;
 import javax.naming.InitialContext;
 import javax.naming.NamingException;
-import org.mxchange.addressbook.beans.BaseAddressbookController;
+import org.mxchange.addressbook.beans.BaseAddressbookBean;
 import org.mxchange.addressbook.beans.user.login.AddressbookUserLoginWebSessionController;
 import org.mxchange.addressbook.model.addressbook.AddressbookSessionBeanRemote;
 import org.mxchange.jaddressbook.events.addressbook.AddressbookLoadedEvent;
@@ -53,7 +53,7 @@ import org.mxchange.juserlogincore.events.login.ObservableUserLoggedInEvent;
  */
 @Named ("addressbookController")
 @SessionScoped
-public class AddressbookWebSessionBean extends BaseAddressbookController implements AddressbookWebSessionController {
+public class AddressbookWebSessionBean extends BaseAddressbookBean implements AddressbookWebSessionController {
 
 	/**
 	 * Serial number
diff --git a/src/java/org/mxchange/addressbook/beans/addressbook/share/AddressbookSharesWebSessionBean.java b/src/java/org/mxchange/addressbook/beans/addressbook/share/AddressbookSharesWebSessionBean.java
index eb90ef6f..1778c93b 100644
--- a/src/java/org/mxchange/addressbook/beans/addressbook/share/AddressbookSharesWebSessionBean.java
+++ b/src/java/org/mxchange/addressbook/beans/addressbook/share/AddressbookSharesWebSessionBean.java
@@ -33,7 +33,7 @@ import javax.inject.Named;
 import javax.naming.Context;
 import javax.naming.InitialContext;
 import javax.naming.NamingException;
-import org.mxchange.addressbook.beans.BaseAddressbookController;
+import org.mxchange.addressbook.beans.BaseAddressbookBean;
 import org.mxchange.addressbook.beans.addressbook.AddressbookWebSessionController;
 import org.mxchange.addressbook.beans.user.login.AddressbookUserLoginWebSessionController;
 import org.mxchange.addressbook.model.shared.AddressbookShareSessionBeanRemote;
@@ -54,7 +54,7 @@ import org.mxchange.juserlogincore.events.login.ObservableUserLoggedInEvent;
  */
 @Named (value = "shareController")
 @SessionScoped
-public class AddressbookSharesWebSessionBean extends BaseAddressbookController implements AddressbookSharesWebSessionController {
+public class AddressbookSharesWebSessionBean extends BaseAddressbookBean implements AddressbookSharesWebSessionController {
 
 	/**
 	 * Map for count of user's shared addresses
diff --git a/src/java/org/mxchange/addressbook/beans/business/basicdata/AddressbookAdminBusinessDataWebRequestBean.java b/src/java/org/mxchange/addressbook/beans/business/basicdata/AddressbookAdminBusinessDataWebRequestBean.java
index 5577e30d..dc7fe04d 100644
--- a/src/java/org/mxchange/addressbook/beans/business/basicdata/AddressbookAdminBusinessDataWebRequestBean.java
+++ b/src/java/org/mxchange/addressbook/beans/business/basicdata/AddressbookAdminBusinessDataWebRequestBean.java
@@ -23,7 +23,7 @@ import javax.enterprise.inject.Any;
 import javax.faces.FacesException;
 import javax.inject.Inject;
 import javax.inject.Named;
-import org.mxchange.addressbook.beans.BaseAddressbookController;
+import org.mxchange.addressbook.beans.BaseAddressbookBean;
 import org.mxchange.jcontactsbusiness.events.basicdata.added.AdminAddedBusinessBasicDataEvent;
 import org.mxchange.jcontactsbusiness.events.basicdata.added.ObservableAdminAddedBusinessBasicDataEvent;
 import org.mxchange.jcontactsbusiness.exceptions.basicdata.BasicCompanyDataAlreadyAddedException;
@@ -46,7 +46,7 @@ import org.mxchange.jusercore.model.user.User;
  */
 @Named ("adminCompanyDataController")
 @RequestScoped
-public class AddressbookAdminBusinessDataWebRequestBean extends BaseAddressbookController implements AddressbookAdminBusinessDataWebRequestController {
+public class AddressbookAdminBusinessDataWebRequestBean extends BaseAddressbookBean implements AddressbookAdminBusinessDataWebRequestController {
 
 	/**
 	 * Serial number
diff --git a/src/java/org/mxchange/addressbook/beans/business/basicdata/AddressbookBusinessDataWebRequestBean.java b/src/java/org/mxchange/addressbook/beans/business/basicdata/AddressbookBusinessDataWebRequestBean.java
index 08139dbc..8f968d9a 100644
--- a/src/java/org/mxchange/addressbook/beans/business/basicdata/AddressbookBusinessDataWebRequestBean.java
+++ b/src/java/org/mxchange/addressbook/beans/business/basicdata/AddressbookBusinessDataWebRequestBean.java
@@ -28,7 +28,7 @@ import javax.enterprise.context.RequestScoped;
 import javax.enterprise.event.Observes;
 import javax.inject.Inject;
 import javax.inject.Named;
-import org.mxchange.addressbook.beans.BaseAddressbookController;
+import org.mxchange.addressbook.beans.BaseAddressbookBean;
 import org.mxchange.addressbook.beans.user.login.AddressbookUserLoginWebSessionController;
 import org.mxchange.jcontactsbusiness.events.basicdata.added.ObservableAdminAddedBusinessBasicDataEvent;
 import org.mxchange.jcontactsbusiness.model.basicdata.AdminBasicCompanyDataSessionBeanRemote;
@@ -43,7 +43,7 @@ import org.mxchange.jcountry.model.data.Country;
  */
 @Named ("basicDataController")
 @RequestScoped
-public class AddressbookBusinessDataWebRequestBean extends BaseAddressbookController implements AddressbookBusinessDataWebRequestController {
+public class AddressbookBusinessDataWebRequestBean extends BaseAddressbookBean implements AddressbookBusinessDataWebRequestController {
 
 	/**
 	 * Serial number
diff --git a/src/java/org/mxchange/addressbook/beans/business/branchoffice/AddressbookAdminBranchOfficeWebRequestBean.java b/src/java/org/mxchange/addressbook/beans/business/branchoffice/AddressbookAdminBranchOfficeWebRequestBean.java
index 68905d64..d2cc1742 100644
--- a/src/java/org/mxchange/addressbook/beans/business/branchoffice/AddressbookAdminBranchOfficeWebRequestBean.java
+++ b/src/java/org/mxchange/addressbook/beans/business/branchoffice/AddressbookAdminBranchOfficeWebRequestBean.java
@@ -23,7 +23,7 @@ import javax.enterprise.event.Event;
 import javax.enterprise.inject.Any;
 import javax.inject.Inject;
 import javax.inject.Named;
-import org.mxchange.addressbook.beans.BaseAddressbookController;
+import org.mxchange.addressbook.beans.BaseAddressbookBean;
 import org.mxchange.jcontactsbusiness.events.branchoffice.added.BranchOfficeAddedEvent;
 import org.mxchange.jcontactsbusiness.events.branchoffice.added.ObservableBranchOfficeAddedEvent;
 import org.mxchange.jcontactsbusiness.exceptions.branchoffice.BranchOfficeAlreadyAddedException;
@@ -47,7 +47,7 @@ import org.mxchange.jusercore.model.user.User;
  */
 @Named ("adminBranchOfficeController")
 @RequestScoped
-public class AddressbookAdminBranchOfficeWebRequestBean extends BaseAddressbookController implements AddressbookAdminBranchOfficeWebRequestController {
+public class AddressbookAdminBranchOfficeWebRequestBean extends BaseAddressbookBean implements AddressbookAdminBranchOfficeWebRequestController {
 
 	/**
 	 * Serial number
@@ -90,6 +90,11 @@ public class AddressbookAdminBranchOfficeWebRequestBean extends BaseAddressbookC
 	 */
 	private Short branchHouseNumber;
 
+	/**
+	 * Number of branch office
+	 */
+	private Long branchNumber;
+
 	/**
 	 * An event being fired when a branch office has been successfully added
 	 */
@@ -311,6 +316,24 @@ public class AddressbookAdminBranchOfficeWebRequestBean extends BaseAddressbookC
 		this.branchHouseNumber = branchHouseNumber;
 	}
 
+	/**
+	 * Getter for branch office number
+	 * <p>
+	 * @return Branch office number
+	 */
+	public Long getBranchNumber () {
+		return this.branchNumber;
+	}
+
+	/**
+	 * Setter for branch office number
+	 * <p>
+	 * @param branchNumber Branch office number
+	 */
+	public void setBranchNumber (final Long branchNumber) {
+		this.branchNumber = branchNumber;
+	}
+
 	/**
 	 * Getter for store
 	 * <p>
@@ -523,6 +546,7 @@ public class AddressbookAdminBranchOfficeWebRequestBean extends BaseAddressbookC
 		// Add all other fields, too
 		branchOffice.setBranchContactEmployee(this.getBranchContactEmployee());
 		branchOffice.setBranchEmailAddress(this.getBranchEmailAddress());
+		branchOffice.setBranchNumber(this.getBranchNumber());
 		branchOffice.setBranchStore(this.getBranchStore());
 		branchOffice.setBranchSuiteNumber(this.getBranchSuiteNumber());
 		branchOffice.setBranchUserOwner(this.getBranchUserOwner());
diff --git a/src/java/org/mxchange/addressbook/beans/business/branchoffice/AddressbookBranchOfficeWebRequestBean.java b/src/java/org/mxchange/addressbook/beans/business/branchoffice/AddressbookBranchOfficeWebRequestBean.java
index 760b720c..7806dfe1 100644
--- a/src/java/org/mxchange/addressbook/beans/business/branchoffice/AddressbookBranchOfficeWebRequestBean.java
+++ b/src/java/org/mxchange/addressbook/beans/business/branchoffice/AddressbookBranchOfficeWebRequestBean.java
@@ -29,7 +29,7 @@ import javax.enterprise.context.RequestScoped;
 import javax.enterprise.event.Observes;
 import javax.inject.Inject;
 import javax.inject.Named;
-import org.mxchange.addressbook.beans.BaseAddressbookController;
+import org.mxchange.addressbook.beans.BaseAddressbookBean;
 import org.mxchange.jcontactsbusiness.events.branchoffice.added.ObservableBranchOfficeAddedEvent;
 import org.mxchange.jcontactsbusiness.model.branchoffice.BranchOffice;
 import org.mxchange.jcontactsbusiness.model.branchoffice.BranchOfficeSessionBeanRemote;
@@ -41,7 +41,7 @@ import org.mxchange.jcontactsbusiness.model.branchoffice.BranchOfficeSessionBean
  */
 @Named ("branchOfficeController")
 @RequestScoped
-public class AddressbookBranchOfficeWebRequestBean extends BaseAddressbookController implements AddressbookBranchOfficeWebRequestController {
+public class AddressbookBranchOfficeWebRequestBean extends BaseAddressbookBean implements AddressbookBranchOfficeWebRequestController {
 
 	/**
 	 * Serial number
diff --git a/src/java/org/mxchange/addressbook/beans/business/employee/AddressbookAdminCompanyEmployeeWebRequestBean.java b/src/java/org/mxchange/addressbook/beans/business/employee/AddressbookAdminCompanyEmployeeWebRequestBean.java
index 1b6883d4..62188c9f 100644
--- a/src/java/org/mxchange/addressbook/beans/business/employee/AddressbookAdminCompanyEmployeeWebRequestBean.java
+++ b/src/java/org/mxchange/addressbook/beans/business/employee/AddressbookAdminCompanyEmployeeWebRequestBean.java
@@ -19,7 +19,7 @@ package org.mxchange.addressbook.beans.business.employee;
 import javax.ejb.EJB;
 import javax.enterprise.context.RequestScoped;
 import javax.inject.Named;
-import org.mxchange.addressbook.beans.BaseAddressbookController;
+import org.mxchange.addressbook.beans.BaseAddressbookBean;
 import org.mxchange.jcontactsbusiness.model.employee.AdminCompanyEmployeeSessionBeanRemote;
 
 /**
@@ -29,7 +29,7 @@ import org.mxchange.jcontactsbusiness.model.employee.AdminCompanyEmployeeSession
  */
 @Named ("adminCompanyEmployeeController")
 @RequestScoped
-public class AddressbookAdminCompanyEmployeeWebRequestBean extends BaseAddressbookController implements AddressbookAdminCompanyEmployeeWebRequestController {
+public class AddressbookAdminCompanyEmployeeWebRequestBean extends BaseAddressbookBean implements AddressbookAdminCompanyEmployeeWebRequestController {
 
 	/**
 	 * Serial number
diff --git a/src/java/org/mxchange/addressbook/beans/business/employee/AddressbookCompanyEmployeeWebRequestBean.java b/src/java/org/mxchange/addressbook/beans/business/employee/AddressbookCompanyEmployeeWebRequestBean.java
index f0a58045..7578c492 100644
--- a/src/java/org/mxchange/addressbook/beans/business/employee/AddressbookCompanyEmployeeWebRequestBean.java
+++ b/src/java/org/mxchange/addressbook/beans/business/employee/AddressbookCompanyEmployeeWebRequestBean.java
@@ -26,7 +26,7 @@ import javax.ejb.EJB;
 import javax.enterprise.context.RequestScoped;
 import javax.inject.Inject;
 import javax.inject.Named;
-import org.mxchange.addressbook.beans.BaseAddressbookController;
+import org.mxchange.addressbook.beans.BaseAddressbookBean;
 import org.mxchange.jcontactsbusiness.model.employee.CompanyEmployeeSessionBeanRemote;
 import org.mxchange.jcontactsbusiness.model.employee.Employee;
 
@@ -37,7 +37,7 @@ import org.mxchange.jcontactsbusiness.model.employee.Employee;
  */
 @Named ("companyEmployeeController")
 @RequestScoped
-public class AddressbookCompanyEmployeeWebRequestBean extends BaseAddressbookController implements AddressbookCompanyEmployeeWebRequestController {
+public class AddressbookCompanyEmployeeWebRequestBean extends BaseAddressbookBean implements AddressbookCompanyEmployeeWebRequestController {
 
 	/**
 	 * Serial number
diff --git a/src/java/org/mxchange/addressbook/beans/contact/AddressbookAdminContactWebRequestBean.java b/src/java/org/mxchange/addressbook/beans/contact/AddressbookAdminContactWebRequestBean.java
index 5f68bcdb..9e9cbb53 100644
--- a/src/java/org/mxchange/addressbook/beans/contact/AddressbookAdminContactWebRequestBean.java
+++ b/src/java/org/mxchange/addressbook/beans/contact/AddressbookAdminContactWebRequestBean.java
@@ -27,7 +27,7 @@ import javax.enterprise.inject.Any;
 import javax.faces.view.facelets.FaceletException;
 import javax.inject.Inject;
 import javax.inject.Named;
-import org.mxchange.addressbook.beans.BaseAddressbookController;
+import org.mxchange.addressbook.beans.BaseAddressbookBean;
 import org.mxchange.jcontacts.events.contact.add.AdminAddedContactEvent;
 import org.mxchange.jcontacts.events.contact.add.ObservableAdminAddedContactEvent;
 import org.mxchange.jcontacts.events.contact.created.ObservableCreatedContactEvent;
@@ -57,7 +57,7 @@ import org.mxchange.jphone.model.phonenumbers.mobileprovider.MobileProvider;
  */
 @Named ("adminContactController")
 @RequestScoped
-public class AddressbookAdminContactWebRequestBean extends BaseAddressbookController implements AddressbookAdminContactWebRequestController {
+public class AddressbookAdminContactWebRequestBean extends BaseAddressbookBean implements AddressbookAdminContactWebRequestController {
 
 	/**
 	 * Serial number
diff --git a/src/java/org/mxchange/addressbook/beans/contact/AddressbookContactWebRequestBean.java b/src/java/org/mxchange/addressbook/beans/contact/AddressbookContactWebRequestBean.java
index 13b53eea..3d718336 100644
--- a/src/java/org/mxchange/addressbook/beans/contact/AddressbookContactWebRequestBean.java
+++ b/src/java/org/mxchange/addressbook/beans/contact/AddressbookContactWebRequestBean.java
@@ -31,7 +31,7 @@ import javax.enterprise.event.Observes;
 import javax.faces.view.facelets.FaceletException;
 import javax.inject.Inject;
 import javax.inject.Named;
-import org.mxchange.addressbook.beans.BaseAddressbookController;
+import org.mxchange.addressbook.beans.BaseAddressbookBean;
 import org.mxchange.addressbook.beans.user.AddressbookUserWebRequestController;
 import org.mxchange.addressbook.beans.user.login.AddressbookUserLoginWebSessionController;
 import org.mxchange.jcontacts.events.contact.add.ObservableAdminAddedContactEvent;
@@ -64,7 +64,7 @@ import org.mxchange.juserlogincore.exceptions.UserPasswordMismatchException;
  */
 @Named ("contactController")
 @RequestScoped
-public class AddressbookContactWebRequestBean extends BaseAddressbookController implements AddressbookContactWebRequestController {
+public class AddressbookContactWebRequestBean extends BaseAddressbookBean implements AddressbookContactWebRequestController {
 
 	/**
 	 * Serial number
diff --git a/src/java/org/mxchange/addressbook/beans/contact/phone/AddressbookAdminContactPhoneWebRequestBean.java b/src/java/org/mxchange/addressbook/beans/contact/phone/AddressbookAdminContactPhoneWebRequestBean.java
index 3151dfb9..10cdcd50 100644
--- a/src/java/org/mxchange/addressbook/beans/contact/phone/AddressbookAdminContactPhoneWebRequestBean.java
+++ b/src/java/org/mxchange/addressbook/beans/contact/phone/AddressbookAdminContactPhoneWebRequestBean.java
@@ -25,7 +25,7 @@ import javax.enterprise.event.Observes;
 import javax.enterprise.inject.Any;
 import javax.inject.Inject;
 import javax.inject.Named;
-import org.mxchange.addressbook.beans.BaseAddressbookController;
+import org.mxchange.addressbook.beans.BaseAddressbookBean;
 import org.mxchange.addressbook.beans.phone.AddressbookAdminPhoneWebRequestController;
 import org.mxchange.jcontacts.events.contact.add.ObservableAdminAddedContactEvent;
 import org.mxchange.jcontacts.events.contact.created.ObservableCreatedContactEvent;
@@ -66,7 +66,7 @@ import org.mxchange.jusercore.events.user.add.ObservableAdminAddedUserEvent;
  */
 @Named ("adminContactPhoneController")
 @RequestScoped
-public class AddressbookAdminContactPhoneWebRequestBean extends BaseAddressbookController implements AddressbookAdminContactPhoneWebRequestController {
+public class AddressbookAdminContactPhoneWebRequestBean extends BaseAddressbookBean implements AddressbookAdminContactPhoneWebRequestController {
 
 	/**
 	 * Call-stack instance (5 may show BeanELResolver.getValue as caller)
diff --git a/src/java/org/mxchange/addressbook/beans/contact/phone/AddressbookContactPhoneWebRequestBean.java b/src/java/org/mxchange/addressbook/beans/contact/phone/AddressbookContactPhoneWebRequestBean.java
index 82469102..5b5a3932 100644
--- a/src/java/org/mxchange/addressbook/beans/contact/phone/AddressbookContactPhoneWebRequestBean.java
+++ b/src/java/org/mxchange/addressbook/beans/contact/phone/AddressbookContactPhoneWebRequestBean.java
@@ -26,7 +26,7 @@ import javax.enterprise.context.RequestScoped;
 import javax.enterprise.event.Observes;
 import javax.inject.Inject;
 import javax.inject.Named;
-import org.mxchange.addressbook.beans.BaseAddressbookController;
+import org.mxchange.addressbook.beans.BaseAddressbookBean;
 import org.mxchange.addressbook.beans.contact.AddressbookContactWebRequestController;
 import org.mxchange.jcontacts.events.contact.add.ObservableAdminAddedContactEvent;
 import org.mxchange.jcontacts.events.contact.update.ObservableAdminUpdatedContactEvent;
@@ -50,7 +50,7 @@ import org.mxchange.jusercore.events.user.add.ObservableAdminAddedUserEvent;
  */
 @Named ("contactPhoneController")
 @RequestScoped
-public class AddressbookContactPhoneWebRequestBean extends BaseAddressbookController implements AddressbookContactPhoneWebRequestController {
+public class AddressbookContactPhoneWebRequestBean extends BaseAddressbookBean implements AddressbookContactPhoneWebRequestController {
 
 	/**
 	 * Serial number
diff --git a/src/java/org/mxchange/addressbook/beans/country/AddressbookAdminCountryWebRequestBean.java b/src/java/org/mxchange/addressbook/beans/country/AddressbookAdminCountryWebRequestBean.java
index 5f0094e8..2c956cd1 100644
--- a/src/java/org/mxchange/addressbook/beans/country/AddressbookAdminCountryWebRequestBean.java
+++ b/src/java/org/mxchange/addressbook/beans/country/AddressbookAdminCountryWebRequestBean.java
@@ -26,7 +26,7 @@ import javax.enterprise.inject.Any;
 import javax.faces.view.facelets.FaceletException;
 import javax.inject.Inject;
 import javax.inject.Named;
-import org.mxchange.addressbook.beans.BaseAddressbookController;
+import org.mxchange.addressbook.beans.BaseAddressbookBean;
 import org.mxchange.jcountry.events.AdminAddedCountryEvent;
 import org.mxchange.jcountry.events.ObservableAdminAddedCountryEvent;
 import org.mxchange.jcountry.exceptions.CountryAlreadyAddedException;
@@ -41,7 +41,7 @@ import org.mxchange.jcountry.model.data.CountrySingletonBeanRemote;
  */
 @Named ("adminCountryController")
 @RequestScoped
-public class AddressbookAdminCountryWebRequestBean extends BaseAddressbookController implements AddressbookAdminCountryWebRequestController {
+public class AddressbookAdminCountryWebRequestBean extends BaseAddressbookBean implements AddressbookAdminCountryWebRequestController {
 
 	/**
 	 * Serial number
diff --git a/src/java/org/mxchange/addressbook/beans/country/AddressbookCountryWebRequestBean.java b/src/java/org/mxchange/addressbook/beans/country/AddressbookCountryWebRequestBean.java
index c02d9563..ceea4eea 100644
--- a/src/java/org/mxchange/addressbook/beans/country/AddressbookCountryWebRequestBean.java
+++ b/src/java/org/mxchange/addressbook/beans/country/AddressbookCountryWebRequestBean.java
@@ -28,10 +28,11 @@ import javax.enterprise.context.RequestScoped;
 import javax.enterprise.event.Observes;
 import javax.inject.Inject;
 import javax.inject.Named;
-import org.mxchange.addressbook.beans.BaseAddressbookController;
+import org.mxchange.addressbook.beans.BaseAddressbookBean;
 import org.mxchange.jcountry.events.ObservableAdminAddedCountryEvent;
 import org.mxchange.jcountry.model.data.Country;
 import org.mxchange.jcountry.model.data.CountrySingletonBeanRemote;
+import org.mxchange.jcountry.events.ObservableAdminAddedCountryEvent;
 
 /**
  * A country bean
@@ -40,7 +41,7 @@ import org.mxchange.jcountry.model.data.CountrySingletonBeanRemote;
  */
 @Named ("countryController")
 @RequestScoped
-public class AddressbookCountryWebRequestBean extends BaseAddressbookController implements AddressbookCountryWebRequestController {
+public class AddressbookCountryWebRequestBean extends BaseAddressbookBean implements AddressbookCountryWebRequestController {
 
 	/**
 	 * Serial number
diff --git a/src/java/org/mxchange/addressbook/beans/data/AddressbookDataWebApplicationBean.java b/src/java/org/mxchange/addressbook/beans/data/AddressbookDataWebApplicationBean.java
new file mode 100644
index 00000000..6559e76b
--- /dev/null
+++ b/src/java/org/mxchange/addressbook/beans/data/AddressbookDataWebApplicationBean.java
@@ -0,0 +1,55 @@
+/*
+ * Copyright (C) 2017 Roland Haeder<roland@mxchange.org>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero 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 Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+package org.mxchange.addressbook.beans.data;
+
+import javax.enterprise.context.ApplicationScoped;
+import javax.inject.Named;
+import org.mxchange.addressbook.beans.BaseAddressbookBean;
+import org.mxchange.jproduct.model.payment.PaymentType;
+
+/**
+ * An application-scoped data bean for any kind of static data
+ * <p>
+ * @author Roland Haeder<roland@mxchange.org>
+ */
+@Named ("dataController")
+@ApplicationScoped
+public class AddressbookDataWebApplicationBean extends BaseAddressbookBean {
+
+	/**
+	 * Serial number
+	 */
+	private static final long serialVersionUID = 34_869_872_672_641L;
+
+	/**
+	 * Default constructor
+	 */
+	public AddressbookDataWebApplicationBean () {
+		// Call super constructor
+		super();
+	}
+
+	/**
+	 * Returns a list of all payment types
+	 * <p>
+	 * @return A list of all payment types
+	 */
+	public PaymentType[] getPaymentTypes () {
+		return PaymentType.values();
+	}
+
+}
diff --git a/src/java/org/mxchange/addressbook/beans/features/AddressbookFeatureWebApplicationBean.java b/src/java/org/mxchange/addressbook/beans/features/AddressbookFeatureWebApplicationBean.java
index 4c618b38..43fce283 100644
--- a/src/java/org/mxchange/addressbook/beans/features/AddressbookFeatureWebApplicationBean.java
+++ b/src/java/org/mxchange/addressbook/beans/features/AddressbookFeatureWebApplicationBean.java
@@ -19,7 +19,7 @@ package org.mxchange.addressbook.beans.features;
 import javax.annotation.PostConstruct;
 import javax.enterprise.context.ApplicationScoped;
 import javax.inject.Named;
-import org.mxchange.addressbook.beans.BaseAddressbookController;
+import org.mxchange.addressbook.beans.BaseAddressbookBean;
 
 /**
  * A feature bean
@@ -28,7 +28,7 @@ import org.mxchange.addressbook.beans.BaseAddressbookController;
  */
 @Named ("featureController")
 @ApplicationScoped
-public class AddressbookFeatureWebApplicationBean extends BaseAddressbookController implements AddressbookFeaturesWebApplicationController {
+public class AddressbookFeatureWebApplicationBean extends BaseAddressbookBean implements AddressbookFeaturesWebApplicationController {
 
 	/**
 	 * Serial number
diff --git a/src/java/org/mxchange/addressbook/beans/gender/AddressbookGenderWebApplicationBean.java b/src/java/org/mxchange/addressbook/beans/gender/AddressbookGenderWebApplicationBean.java
index 989516a4..c356e508 100644
--- a/src/java/org/mxchange/addressbook/beans/gender/AddressbookGenderWebApplicationBean.java
+++ b/src/java/org/mxchange/addressbook/beans/gender/AddressbookGenderWebApplicationBean.java
@@ -20,7 +20,7 @@ import java.util.Arrays;
 import java.util.List;
 import javax.enterprise.context.ApplicationScoped;
 import javax.inject.Named;
-import org.mxchange.addressbook.beans.BaseAddressbookController;
+import org.mxchange.addressbook.beans.BaseAddressbookBean;
 import org.mxchange.jcontacts.model.contact.title.PersonalTitle;
 
 /**
@@ -30,7 +30,7 @@ import org.mxchange.jcontacts.model.contact.title.PersonalTitle;
  */
 @Named ("genderController")
 @ApplicationScoped
-public class AddressbookGenderWebApplicationBean extends BaseAddressbookController implements AddressbookGenderWebApplicationController {
+public class AddressbookGenderWebApplicationBean extends BaseAddressbookBean implements AddressbookGenderWebApplicationController {
 
 	/**
 	 * Serial number
diff --git a/src/java/org/mxchange/addressbook/beans/localization/AddressbookLocalizationSessionBean.java b/src/java/org/mxchange/addressbook/beans/localization/AddressbookLocalizationSessionBean.java
index de47818d..8761acb4 100644
--- a/src/java/org/mxchange/addressbook/beans/localization/AddressbookLocalizationSessionBean.java
+++ b/src/java/org/mxchange/addressbook/beans/localization/AddressbookLocalizationSessionBean.java
@@ -30,7 +30,7 @@ import javax.enterprise.inject.Any;
 import javax.faces.context.FacesContext;
 import javax.inject.Inject;
 import javax.inject.Named;
-import org.mxchange.addressbook.beans.BaseAddressbookController;
+import org.mxchange.addressbook.beans.BaseAddressbookBean;
 import org.mxchange.jcoreee.events.locale.LocaleChangeEvent;
 import org.mxchange.jcoreee.events.locale.ObservableLocaleChangeEvent;
 import org.mxchange.juserlogincore.events.login.ObservableUserLoggedInEvent;
@@ -46,7 +46,7 @@ import org.mxchange.juserlogincore.events.logout.ObservableUserLogoutEvent;
  */
 @Named ("localizationController")
 @SessionScoped
-public class AddressbookLocalizationSessionBean extends BaseAddressbookController implements AddressbookLocalizationSessionController {
+public class AddressbookLocalizationSessionBean extends BaseAddressbookBean implements AddressbookLocalizationSessionController {
 
 	/**
 	 * Serial number
diff --git a/src/java/org/mxchange/addressbook/beans/mobileprovider/AddressbookAdminMobileProviderWebRequestBean.java b/src/java/org/mxchange/addressbook/beans/mobileprovider/AddressbookAdminMobileProviderWebRequestBean.java
index cc27d000..1f2dfa09 100644
--- a/src/java/org/mxchange/addressbook/beans/mobileprovider/AddressbookAdminMobileProviderWebRequestBean.java
+++ b/src/java/org/mxchange/addressbook/beans/mobileprovider/AddressbookAdminMobileProviderWebRequestBean.java
@@ -26,7 +26,7 @@ import javax.enterprise.inject.Any;
 import javax.faces.view.facelets.FaceletException;
 import javax.inject.Inject;
 import javax.inject.Named;
-import org.mxchange.addressbook.beans.BaseAddressbookController;
+import org.mxchange.addressbook.beans.BaseAddressbookBean;
 import org.mxchange.jcountry.model.data.Country;
 import org.mxchange.jphone.events.mobileprovider.added.AdminAddedMobileProviderEvent;
 import org.mxchange.jphone.events.mobileprovider.added.AdminMobileProviderAddedEvent;
@@ -42,7 +42,7 @@ import org.mxchange.jphone.model.phonenumbers.mobileprovider.MobileProvider;
  */
 @Named ("adminMobileProviderController")
 @RequestScoped
-public class AddressbookAdminMobileProviderWebRequestBean extends BaseAddressbookController implements AddressbookAdminMobileProviderWebRequestController {
+public class AddressbookAdminMobileProviderWebRequestBean extends BaseAddressbookBean implements AddressbookAdminMobileProviderWebRequestController {
 
 	/**
 	 * Serial number
diff --git a/src/java/org/mxchange/addressbook/beans/mobileprovider/AddressbookMobileProviderWebRequestBean.java b/src/java/org/mxchange/addressbook/beans/mobileprovider/AddressbookMobileProviderWebRequestBean.java
index 4621b471..14120d01 100644
--- a/src/java/org/mxchange/addressbook/beans/mobileprovider/AddressbookMobileProviderWebRequestBean.java
+++ b/src/java/org/mxchange/addressbook/beans/mobileprovider/AddressbookMobileProviderWebRequestBean.java
@@ -29,7 +29,7 @@ import javax.enterprise.context.RequestScoped;
 import javax.enterprise.event.Observes;
 import javax.inject.Inject;
 import javax.inject.Named;
-import org.mxchange.addressbook.beans.BaseAddressbookController;
+import org.mxchange.addressbook.beans.BaseAddressbookBean;
 import org.mxchange.jphone.events.mobileprovider.added.AdminAddedMobileProviderEvent;
 import org.mxchange.jphone.model.phonenumbers.mobileprovider.MobileProvider;
 import org.mxchange.jphone.model.phonenumbers.mobileprovider.MobileProviderSingletonBeanRemote;
@@ -41,7 +41,7 @@ import org.mxchange.jphone.model.phonenumbers.mobileprovider.MobileProviderSingl
  */
 @Named ("mobileProviderController")
 @RequestScoped
-public class AddressbookMobileProviderWebRequestBean extends BaseAddressbookController implements AddressbookMobileProviderWebRequestController {
+public class AddressbookMobileProviderWebRequestBean extends BaseAddressbookBean implements AddressbookMobileProviderWebRequestController {
 
 	/**
 	 * Serial number
diff --git a/src/java/org/mxchange/addressbook/beans/phone/AddressbookAdminPhoneWebRequestBean.java b/src/java/org/mxchange/addressbook/beans/phone/AddressbookAdminPhoneWebRequestBean.java
index 1ba82af1..e8be97c8 100644
--- a/src/java/org/mxchange/addressbook/beans/phone/AddressbookAdminPhoneWebRequestBean.java
+++ b/src/java/org/mxchange/addressbook/beans/phone/AddressbookAdminPhoneWebRequestBean.java
@@ -27,7 +27,7 @@ import javax.enterprise.event.Observes;
 import javax.enterprise.inject.Any;
 import javax.inject.Inject;
 import javax.inject.Named;
-import org.mxchange.addressbook.beans.BaseAddressbookController;
+import org.mxchange.addressbook.beans.BaseAddressbookBean;
 import org.mxchange.jcountry.model.data.Country;
 import org.mxchange.jphone.events.fax.created.ObservableCreatedFaxNumberEvent;
 import org.mxchange.jphone.events.fax.deleted.AdminDeletedFaxNumberEvent;
@@ -66,7 +66,7 @@ import org.mxchange.jphone.model.phonenumbers.phone.AdminPhoneSessionBeanRemote;
  */
 @Named ("adminPhoneController")
 @RequestScoped
-public class AddressbookAdminPhoneWebRequestBean extends BaseAddressbookController implements AddressbookAdminPhoneWebRequestController {
+public class AddressbookAdminPhoneWebRequestBean extends BaseAddressbookBean implements AddressbookAdminPhoneWebRequestController {
 
 	/**
 	 * Call-stack position
diff --git a/src/java/org/mxchange/addressbook/beans/phone/AddressbookPhoneWebRequestBean.java b/src/java/org/mxchange/addressbook/beans/phone/AddressbookPhoneWebRequestBean.java
index 965368dd..0d581875 100644
--- a/src/java/org/mxchange/addressbook/beans/phone/AddressbookPhoneWebRequestBean.java
+++ b/src/java/org/mxchange/addressbook/beans/phone/AddressbookPhoneWebRequestBean.java
@@ -29,7 +29,7 @@ import javax.enterprise.context.RequestScoped;
 import javax.enterprise.event.Observes;
 import javax.inject.Inject;
 import javax.inject.Named;
-import org.mxchange.addressbook.beans.BaseAddressbookController;
+import org.mxchange.addressbook.beans.BaseAddressbookBean;
 import org.mxchange.jcontacts.events.contact.add.ObservableAdminAddedContactEvent;
 import org.mxchange.jcontacts.events.contact.update.ObservableAdminUpdatedContactEvent;
 import org.mxchange.jcontacts.events.fax.linked.ObservableAdminLinkedFaxNumberEvent;
@@ -55,7 +55,7 @@ import org.mxchange.jusercore.events.user.add.ObservableAdminAddedUserEvent;
  */
 @Named ("phoneController")
 @RequestScoped
-public class AddressbookPhoneWebRequestBean extends BaseAddressbookController implements AddressbookPhoneWebRequestController {
+public class AddressbookPhoneWebRequestBean extends BaseAddressbookBean implements AddressbookPhoneWebRequestController {
 
 	/**
 	 * Serial number
diff --git a/src/java/org/mxchange/addressbook/beans/profile/AddressbookUserProfileWebRequestBean.java b/src/java/org/mxchange/addressbook/beans/profile/AddressbookUserProfileWebRequestBean.java
index 76275ffd..5362b395 100644
--- a/src/java/org/mxchange/addressbook/beans/profile/AddressbookUserProfileWebRequestBean.java
+++ b/src/java/org/mxchange/addressbook/beans/profile/AddressbookUserProfileWebRequestBean.java
@@ -21,7 +21,7 @@ import javax.enterprise.context.RequestScoped;
 import javax.faces.view.facelets.FaceletException;
 import javax.inject.Inject;
 import javax.inject.Named;
-import org.mxchange.addressbook.beans.BaseAddressbookController;
+import org.mxchange.addressbook.beans.BaseAddressbookBean;
 import org.mxchange.addressbook.beans.user.AddressbookUserWebRequestController;
 import org.mxchange.addressbook.beans.user.login.AddressbookUserLoginWebSessionController;
 import org.mxchange.jusercore.exceptions.UserNotFoundException;
@@ -35,7 +35,7 @@ import org.mxchange.jusercore.model.user.profilemodes.ProfileMode;
  */
 @Named (value = "profileController")
 @RequestScoped
-public class AddressbookUserProfileWebRequestBean extends BaseAddressbookController implements AddressbookUserProfileWebRequestController {
+public class AddressbookUserProfileWebRequestBean extends BaseAddressbookBean implements AddressbookUserProfileWebRequestController {
 
 	/**
 	 * Serial number
diff --git a/src/java/org/mxchange/addressbook/beans/profilemode/AddressbookProfileModeWebApplicationBean.java b/src/java/org/mxchange/addressbook/beans/profilemode/AddressbookProfileModeWebApplicationBean.java
index aceaa27e..b95c3841 100644
--- a/src/java/org/mxchange/addressbook/beans/profilemode/AddressbookProfileModeWebApplicationBean.java
+++ b/src/java/org/mxchange/addressbook/beans/profilemode/AddressbookProfileModeWebApplicationBean.java
@@ -21,7 +21,7 @@ import java.util.Collections;
 import java.util.List;
 import javax.enterprise.context.ApplicationScoped;
 import javax.inject.Named;
-import org.mxchange.addressbook.beans.BaseAddressbookController;
+import org.mxchange.addressbook.beans.BaseAddressbookBean;
 import org.mxchange.jusercore.model.user.profilemodes.ProfileMode;
 
 /**
@@ -31,7 +31,7 @@ import org.mxchange.jusercore.model.user.profilemodes.ProfileMode;
  */
 @Named ("profileModeController")
 @ApplicationScoped
-public class AddressbookProfileModeWebApplicationBean extends BaseAddressbookController implements AddressbookProfileModeWebApplicationController {
+public class AddressbookProfileModeWebApplicationBean extends BaseAddressbookBean implements AddressbookProfileModeWebApplicationController {
 
 	/**
 	 * Serial number
diff --git a/src/java/org/mxchange/addressbook/beans/user/AddressbookAdminUserWebRequestBean.java b/src/java/org/mxchange/addressbook/beans/user/AddressbookAdminUserWebRequestBean.java
index 4a92e7ac..f523640b 100644
--- a/src/java/org/mxchange/addressbook/beans/user/AddressbookAdminUserWebRequestBean.java
+++ b/src/java/org/mxchange/addressbook/beans/user/AddressbookAdminUserWebRequestBean.java
@@ -29,7 +29,7 @@ import javax.faces.context.FacesContext;
 import javax.faces.view.facelets.FaceletException;
 import javax.inject.Inject;
 import javax.inject.Named;
-import org.mxchange.addressbook.beans.BaseAddressbookController;
+import org.mxchange.addressbook.beans.BaseAddressbookBean;
 import org.mxchange.addressbook.beans.contact.AddressbookAdminContactWebRequestController;
 import org.mxchange.addressbook.beans.contact.AddressbookContactWebRequestController;
 import org.mxchange.addressbook.beans.localization.AddressbookLocalizationSessionController;
@@ -72,7 +72,7 @@ import org.mxchange.juserlogincore.login.UserLoginUtils;
  */
 @Named ("adminUserController")
 @RequestScoped
-public class AddressbookAdminUserWebRequestBean extends BaseAddressbookController implements AddressbookAdminUserWebRequestController {
+public class AddressbookAdminUserWebRequestBean extends BaseAddressbookBean implements AddressbookAdminUserWebRequestController {
 
 	/**
 	 * Serial number
diff --git a/src/java/org/mxchange/addressbook/beans/user/AddressbookUserWebRequestBean.java b/src/java/org/mxchange/addressbook/beans/user/AddressbookUserWebRequestBean.java
index bd98910b..e6e26bb0 100644
--- a/src/java/org/mxchange/addressbook/beans/user/AddressbookUserWebRequestBean.java
+++ b/src/java/org/mxchange/addressbook/beans/user/AddressbookUserWebRequestBean.java
@@ -34,7 +34,7 @@ import javax.faces.context.FacesContext;
 import javax.faces.view.facelets.FaceletException;
 import javax.inject.Inject;
 import javax.inject.Named;
-import org.mxchange.addressbook.beans.BaseAddressbookController;
+import org.mxchange.addressbook.beans.BaseAddressbookBean;
 import org.mxchange.addressbook.beans.contact.AddressbookContactWebRequestController;
 import org.mxchange.addressbook.beans.features.AddressbookFeaturesWebApplicationController;
 import org.mxchange.addressbook.beans.localization.AddressbookLocalizationSessionController;
@@ -72,7 +72,7 @@ import org.mxchange.juserlogincore.login.UserLoginUtils;
  */
 @Named ("userController")
 @RequestScoped
-public class AddressbookUserWebRequestBean extends BaseAddressbookController implements AddressbookUserWebRequestController {
+public class AddressbookUserWebRequestBean extends BaseAddressbookBean implements AddressbookUserWebRequestController {
 
 	/**
 	 * Serial number
diff --git a/src/java/org/mxchange/addressbook/beans/user/activity/AddressbookUserActivityWebRequestBean.java b/src/java/org/mxchange/addressbook/beans/user/activity/AddressbookUserActivityWebRequestBean.java
index 66b296bd..b10230e8 100644
--- a/src/java/org/mxchange/addressbook/beans/user/activity/AddressbookUserActivityWebRequestBean.java
+++ b/src/java/org/mxchange/addressbook/beans/user/activity/AddressbookUserActivityWebRequestBean.java
@@ -29,7 +29,7 @@ import javax.enterprise.context.RequestScoped;
 import javax.enterprise.event.Observes;
 import javax.inject.Inject;
 import javax.inject.Named;
-import org.mxchange.addressbook.beans.BaseAddressbookController;
+import org.mxchange.addressbook.beans.BaseAddressbookBean;
 import org.mxchange.jusercore.events.user.add.ObservableAdminAddedUserEvent;
 import org.mxchange.jusercore.events.user.created.ObservableCreatedUserEvent;
 import org.mxchange.jusercore.events.user.delete.ObservableAdminDeletedUserEvent;
@@ -57,7 +57,7 @@ import org.mxchange.juserlogincore.events.user.password_change.ObservableUpdated
  */
 @Named ("userActivityController")
 @RequestScoped
-public class AddressbookUserActivityWebRequestBean extends BaseAddressbookController implements AddressbookUserActivityWebRequestController {
+public class AddressbookUserActivityWebRequestBean extends BaseAddressbookBean implements AddressbookUserActivityWebRequestController {
 
 	/**
 	 * Serial number
diff --git a/src/java/org/mxchange/addressbook/beans/user/confirmlink/AddressbookConfirmationLinkWebRequestBean.java b/src/java/org/mxchange/addressbook/beans/user/confirmlink/AddressbookConfirmationLinkWebRequestBean.java
index 20538e1c..d05efb07 100644
--- a/src/java/org/mxchange/addressbook/beans/user/confirmlink/AddressbookConfirmationLinkWebRequestBean.java
+++ b/src/java/org/mxchange/addressbook/beans/user/confirmlink/AddressbookConfirmationLinkWebRequestBean.java
@@ -27,7 +27,7 @@ import javax.enterprise.inject.Any;
 import javax.faces.view.facelets.FaceletException;
 import javax.inject.Inject;
 import javax.inject.Named;
-import org.mxchange.addressbook.beans.BaseAddressbookController;
+import org.mxchange.addressbook.beans.BaseAddressbookBean;
 import org.mxchange.addressbook.beans.user.AddressbookUserWebRequestController;
 import org.mxchange.jcoreee.events.helper.clear.HelperCleanupEvent;
 import org.mxchange.jcoreee.events.helper.clear.ObservableHelperCleanupEvent;
@@ -49,7 +49,7 @@ import org.mxchange.juserlogincore.events.confirmation.UserConfirmedAccountEvent
  */
 @Named ("userConfirmationLinkController")
 @RequestScoped
-public class AddressbookConfirmationLinkWebRequestBean extends BaseAddressbookController implements AddressbookConfirmationLinkWebRequestController {
+public class AddressbookConfirmationLinkWebRequestBean extends BaseAddressbookBean implements AddressbookConfirmationLinkWebRequestController {
 
 	/**
 	 * Serial number
diff --git a/src/java/org/mxchange/addressbook/beans/user/email_address/AddressbookEmailChangeWebRequestBean.java b/src/java/org/mxchange/addressbook/beans/user/email_address/AddressbookEmailChangeWebRequestBean.java
index 77cf4e33..55a0ecdf 100644
--- a/src/java/org/mxchange/addressbook/beans/user/email_address/AddressbookEmailChangeWebRequestBean.java
+++ b/src/java/org/mxchange/addressbook/beans/user/email_address/AddressbookEmailChangeWebRequestBean.java
@@ -28,7 +28,7 @@ import javax.enterprise.context.RequestScoped;
 import javax.faces.view.facelets.FaceletException;
 import javax.inject.Inject;
 import javax.inject.Named;
-import org.mxchange.addressbook.beans.BaseAddressbookController;
+import org.mxchange.addressbook.beans.BaseAddressbookBean;
 import org.mxchange.addressbook.beans.features.AddressbookFeaturesWebApplicationController;
 import org.mxchange.addressbook.beans.user.login.AddressbookUserLoginWebSessionController;
 import org.mxchange.jcontacts.model.contact.Contact;
@@ -46,7 +46,7 @@ import org.mxchange.juserlogincore.exceptions.UserPasswordMismatchException;
  */
 @Named ("userEmailChangeController")
 @RequestScoped
-public class AddressbookEmailChangeWebRequestBean extends BaseAddressbookController implements AddressbookEmailChangeWebRequestController {
+public class AddressbookEmailChangeWebRequestBean extends BaseAddressbookBean implements AddressbookEmailChangeWebRequestController {
 
 	/**
 	 * Serial number
diff --git a/src/java/org/mxchange/addressbook/beans/user/login/AddressbookUserLoginWebSessionBean.java b/src/java/org/mxchange/addressbook/beans/user/login/AddressbookUserLoginWebSessionBean.java
index b1223b29..7f9060b9 100644
--- a/src/java/org/mxchange/addressbook/beans/user/login/AddressbookUserLoginWebSessionBean.java
+++ b/src/java/org/mxchange/addressbook/beans/user/login/AddressbookUserLoginWebSessionBean.java
@@ -28,7 +28,7 @@ import javax.enterprise.inject.Any;
 import javax.faces.context.FacesContext;
 import javax.inject.Inject;
 import javax.inject.Named;
-import org.mxchange.addressbook.beans.BaseAddressbookController;
+import org.mxchange.addressbook.beans.BaseAddressbookBean;
 import org.mxchange.addressbook.beans.user.AddressbookUserWebRequestController;
 import org.mxchange.jusercore.exceptions.UserNotFoundException;
 import org.mxchange.jusercore.exceptions.UserStatusLockedException;
@@ -56,7 +56,7 @@ import org.mxchange.juserlogincore.model.user.login.UserLoginSessionBeanRemote;
  */
 @Named ("userLoginController")
 @SessionScoped
-public class AddressbookUserLoginWebSessionBean extends BaseAddressbookController implements AddressbookUserLoginWebSessionController {
+public class AddressbookUserLoginWebSessionBean extends BaseAddressbookBean implements AddressbookUserLoginWebSessionController {
 
 	/**
 	 * Path name for guest base template
diff --git a/src/java/org/mxchange/addressbook/beans/user/password/AddressbookUserPasswordWebRequestBean.java b/src/java/org/mxchange/addressbook/beans/user/password/AddressbookUserPasswordWebRequestBean.java
index 09aa56d7..0c6875ba 100644
--- a/src/java/org/mxchange/addressbook/beans/user/password/AddressbookUserPasswordWebRequestBean.java
+++ b/src/java/org/mxchange/addressbook/beans/user/password/AddressbookUserPasswordWebRequestBean.java
@@ -24,7 +24,7 @@ import javax.enterprise.inject.Any;
 import javax.faces.view.facelets.FaceletException;
 import javax.inject.Inject;
 import javax.inject.Named;
-import org.mxchange.addressbook.beans.BaseAddressbookController;
+import org.mxchange.addressbook.beans.BaseAddressbookBean;
 import org.mxchange.addressbook.beans.features.AddressbookFeaturesWebApplicationController;
 import org.mxchange.addressbook.beans.user.login.AddressbookUserLoginWebSessionController;
 import org.mxchange.jcoreee.utils.FacesUtils;
@@ -46,7 +46,7 @@ import org.mxchange.juserlogincore.login.UserLoginUtils;
  */
 @Named ("userPasswordController")
 @RequestScoped
-public class AddressbookUserPasswordWebRequestBean extends BaseAddressbookController implements AddressbookUserPasswordWebRequestController {
+public class AddressbookUserPasswordWebRequestBean extends BaseAddressbookBean implements AddressbookUserPasswordWebRequestController {
 
 	/**
 	 * Serial number
diff --git a/src/java/org/mxchange/addressbook/beans/user/register/AddressbookUserRegisterWebRequestBean.java b/src/java/org/mxchange/addressbook/beans/user/register/AddressbookUserRegisterWebRequestBean.java
index f32017c8..414252de 100644
--- a/src/java/org/mxchange/addressbook/beans/user/register/AddressbookUserRegisterWebRequestBean.java
+++ b/src/java/org/mxchange/addressbook/beans/user/register/AddressbookUserRegisterWebRequestBean.java
@@ -23,7 +23,7 @@ import javax.enterprise.inject.Any;
 import javax.faces.view.facelets.FaceletException;
 import javax.inject.Inject;
 import javax.inject.Named;
-import org.mxchange.addressbook.beans.BaseAddressbookController;
+import org.mxchange.addressbook.beans.BaseAddressbookBean;
 import org.mxchange.addressbook.beans.contact.AddressbookContactWebRequestController;
 import org.mxchange.addressbook.beans.features.AddressbookFeaturesWebApplicationController;
 import org.mxchange.addressbook.beans.user.AddressbookAdminUserWebRequestController;
@@ -56,7 +56,7 @@ import org.mxchange.juserlogincore.model.user.register.UserRegistrationSessionBe
  */
 @Named ("userRegistrationController")
 @RequestScoped
-public class AddressbookUserRegisterWebRequestBean extends BaseAddressbookController implements AddressbookUserRegisterWebRequestController {
+public class AddressbookUserRegisterWebRequestBean extends BaseAddressbookBean implements AddressbookUserRegisterWebRequestController {
 
 	/**
 	 * Serial number
diff --git a/src/java/org/mxchange/addressbook/beans/user/resendlink/AddressbookResendLinkWebRequestBean.java b/src/java/org/mxchange/addressbook/beans/user/resendlink/AddressbookResendLinkWebRequestBean.java
index 889fd1fa..04800ee5 100644
--- a/src/java/org/mxchange/addressbook/beans/user/resendlink/AddressbookResendLinkWebRequestBean.java
+++ b/src/java/org/mxchange/addressbook/beans/user/resendlink/AddressbookResendLinkWebRequestBean.java
@@ -24,7 +24,7 @@ import javax.enterprise.event.Observes;
 import javax.enterprise.inject.Any;
 import javax.inject.Inject;
 import javax.inject.Named;
-import org.mxchange.addressbook.beans.BaseAddressbookController;
+import org.mxchange.addressbook.beans.BaseAddressbookBean;
 import org.mxchange.addressbook.beans.localization.AddressbookLocalizationSessionController;
 import org.mxchange.addressbook.beans.user.AddressbookUserWebRequestController;
 import org.mxchange.jcoreee.events.locale.ObservableLocaleChangeEvent;
@@ -46,7 +46,7 @@ import org.mxchange.juserlogincore.model.user.resendlink.ResendLinkSessionBeanRe
  */
 @Named ("userResendConfirmationController")
 @RequestScoped
-public class AddressbookResendLinkWebRequestBean extends BaseAddressbookController implements AddressbookResendLinkWebRequestController {
+public class AddressbookResendLinkWebRequestBean extends BaseAddressbookBean implements AddressbookResendLinkWebRequestController {
 
 	/**
 	 * Serial number
diff --git a/src/java/org/mxchange/localization/bundle_de_DE.properties b/src/java/org/mxchange/localization/bundle_de_DE.properties
index 829b73b6..34ec48df 100644
--- a/src/java/org/mxchange/localization/bundle_de_DE.properties
+++ b/src/java/org/mxchange/localization/bundle_de_DE.properties
@@ -1003,3 +1003,4 @@ LABEL_COMPANIES=Firmen
 FILTER_BY_MULTIPLE_COMPANIES_TITLE=Liste durch Auswahl von ein oder mehr Unternehmen durchsuchen.
 LABEL_COMPANY_EMPLOYEES=Mitarbeiter
 FILTER_BY_MULTIPLE_COMPANY_EMPLOYEES_TITLE=Liste durch Auswahl von ein oder mehr Mitarbeiter durchsuchen.
+ADMIN_ENTER_BRANCH_OFFICE_NUMBER=Filialnummer eingeben:
diff --git a/src/java/org/mxchange/localization/bundle_en_US.properties b/src/java/org/mxchange/localization/bundle_en_US.properties
index 1343c2e7..3e21645b 100644
--- a/src/java/org/mxchange/localization/bundle_en_US.properties
+++ b/src/java/org/mxchange/localization/bundle_en_US.properties
@@ -951,3 +951,4 @@ LABEL_COMPANIES=Companies
 FILTER_BY_MULTIPLE_COMPANIES_TITLE=Filter list by selecting one or more companies.
 LABEL_COMPANY_EMPLOYEES=Employees
 FILTER_BY_MULTIPLE_COMPANY_EMPLOYEES_TITLE=Filter list by selecting one or more employees.
+ADMIN_ENTER_BRANCH_OFFICE_NUMBER=Enter branch office number:
diff --git a/web/WEB-INF/templates/admin/branch_offices/admin_form_branch_offices_data.tpl b/web/WEB-INF/templates/admin/branch_offices/admin_form_branch_offices_data.tpl
index 48f7352e..e798ed35 100644
--- a/web/WEB-INF/templates/admin/branch_offices/admin_form_branch_offices_data.tpl
+++ b/web/WEB-INF/templates/admin/branch_offices/admin_form_branch_offices_data.tpl
@@ -160,6 +160,16 @@
 			<h:panelGroup styleClass="error-container" layout="block">
 				<p:message for="faxNumber" />
 			</h:panelGroup>
+
+			<h:panelGroup styleClass="table-row" layout="block">
+				<div class="table-left-medium">
+					<p:outputLabel for="branchNumber" value="#{project.ADMIN_ENTER_BRANCH_OFFICE_NUMBER}" />
+				</div>
+
+				<div class="table-right-medium">
+					<p:inputText styleClass="input" id="branchNumber" size="2" maxlength="10" value="#{adminBranchOfficeController.branchNumber}" />
+				</div>
+			</h:panelGroup>
 		</fieldset>
 
 		<fieldset class="fieldset" id="admin_branch_office_address">