From 465b7a351ac0521fd8d0c80df0054616ed49374e Mon Sep 17 00:00:00 2001 From: =?utf8?q?Roland=20H=C3=A4der?= Date: Tue, 5 Sep 2017 22:03:36 +0200 Subject: [PATCH] Please cherry-pick: - added new stateless session beans for administrative and general purposes for branch office data and implemented business methods - moved allCompanyBasicData() to general bean as this is a general business method - also had to switch EJB references (maybe one day lookup="" is required again?) - added private method isContactFound() to check if contact is already registered or not there - this method is now used to throw proper checked exceptions (which in turn your application must catch) - implemented business method allCompanyBasicData() - renamed getAllContacts() -> allContacts() as this is actually no getter following naming-convention - renamed getUserNameList() -> allUserNames() for same reason - in fillUserData() added more checks on parameter 'user' as usual in many places, including ifUserExists() and throw checked (wanted) exception if not found in persistence provider - added 'final' whereever possible, better optimization - used not NULL when not needed, allowing more 'final' to be set - updated persistence unit (new namespace for branch office entity) - relicensed under Affero GPLv3 (no change to e.g. MIT will happen) - added TODOs MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Roland Häder --- docs/COPYING.software | 147 ++++++++---------- src/conf/persistence.xml | 2 +- .../FinancialsAdminContactSessionBean.java | 50 +++++- .../contact/FinancialsContactSessionBean.java | 94 +++++------ ...inancialsAdminContactPhoneSessionBean.java | 18 +-- ...inancialsAdminBusinessDataSessionBean.java | 29 +--- .../FinancialsBusinessDataSessionBean.java | 32 ++-- ...inancialsAdminBranchOfficeSessionBean.java | 35 +++++ .../FinancialsBranchOfficeSessionBean.java | 57 +++++++ .../FinancialsCompanyEmployeeSessionBean.java | 8 +- .../data/FinancialsCountrySingletonBean.java | 8 +- .../database/BaseFinancialsDatabaseBean.java | 54 ++++--- ...FinancialsMobileProviderSingletonBean.java | 6 +- .../FinancialsAdminPhoneSessionBean.java | 12 +- .../phone/FinancialsPhoneSessionBean.java | 24 +-- .../user/FinancialsAdminUserSessionBean.java | 8 +- .../model/user/FinancialsUserSessionBean.java | 135 +++++++++------- .../FinancialsUserActivityLogMessageBean.java | 8 +- .../FinancialsUserEmailChangeSessionBean.java | 12 +- ...ancialsUserPasswordHistorySessionBean.java | 4 +- .../login/FinancialsUserLoginSessionBean.java | 2 +- ...FinancialsUserRegistrationSessionBean.java | 8 +- .../FinancialsResendLinkSessionBean.java | 4 +- 23 files changed, 452 insertions(+), 305 deletions(-) create mode 100644 src/java/org/mxchange/jcontactsbusiness/branchoffice/FinancialsAdminBranchOfficeSessionBean.java create mode 100644 src/java/org/mxchange/jcontactsbusiness/branchoffice/FinancialsBranchOfficeSessionBean.java diff --git a/docs/COPYING.software b/docs/COPYING.software index 94a9ed0..dba13ed 100644 --- a/docs/COPYING.software +++ b/docs/COPYING.software @@ -1,5 +1,5 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 + GNU AFFERO GENERAL PUBLIC LICENSE + Version 3, 19 November 2007 Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies @@ -7,17 +7,15 @@ Preamble - The GNU General Public License is a free, copyleft license for -software and other kinds of works. + The GNU Affero General Public License is a free, copyleft license for +software and other kinds of works, specifically designed to ensure +cooperation with the community in the case of network server software. The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to +our General Public Licenses are intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. +software for all its users. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you @@ -26,44 +24,34 @@ them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things. - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. + Developers that use our General Public Licenses protect your rights +with two steps: (1) assert copyright on the software, and (2) offer +you this License which gives you legal permission to copy, distribute +and/or modify the software. + + A secondary benefit of defending all users' freedom is that +improvements made in alternate versions of the program, if they +receive widespread use, become available for other developers to +incorporate. Many developers of free software are heartened and +encouraged by the resulting cooperation. However, in the case of +software used on network servers, this result may fail to come about. +The GNU General Public License permits making a modified version and +letting the public access it on a server without ever releasing its +source code to the public. + + The GNU Affero General Public License is designed specifically to +ensure that, in such cases, the modified source code becomes available +to the community. It requires the operator of a network server to +provide the source code of the modified version running there to the +users of that server. Therefore, public use of a modified version, on +a publicly accessible server, gives the public access to the source +code of the modified version. + + An older license, called the Affero General Public License and +published by Affero, was designed to accomplish similar goals. This is +a different license, not a version of the Affero GPL, but Affero has +released a new version of the Affero GPL which permits relicensing under +this license. The precise terms and conditions for copying, distribution and modification follow. @@ -72,7 +60,7 @@ modification follow. 0. Definitions. - "This License" refers to version 3 of the GNU General Public License. + "This License" refers to version 3 of the GNU Affero General Public License. "Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks. @@ -549,35 +537,45 @@ to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program. - 13. Use with the GNU Affero General Public License. + 13. Remote Network Interaction; Use with the GNU General Public License. + + Notwithstanding any other provision of this License, if you modify the +Program, your modified version must prominently offer all users +interacting with it remotely through a computer network (if your version +supports such interaction) an opportunity to receive the Corresponding +Source of your version by providing access to the Corresponding Source +from a network server at no charge, through some standard or customary +means of facilitating copying of software. This Corresponding Source +shall include the Corresponding Source for any work covered by version 3 +of the GNU General Public License that is incorporated pursuant to the +following paragraph. Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single +under version 3 of the GNU General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. +but the work with which it is combined will remain governed by version +3 of the GNU General Public License. 14. Revised Versions of this License. The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to +the GNU Affero General Public License from time to time. Such new versions +will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General +Program specifies that a certain numbered version of the GNU Affero General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published +GNU Affero General Public License, you may choose any version ever published by the Free Software Foundation. If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's +versions of the GNU Affero General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program. @@ -635,40 +633,29 @@ the "copyright" line and a pointer to where the full notice is found. Copyright (C) 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 + 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 General Public License for more details. + GNU Affero General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Affero General Public License along with this program. If not, see . Also add information on how to contact you by electronic and paper mail. - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - Copyright (C) - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". + If your software can interact with users remotely through a computer +network, you should also make sure that it provides a way for users to +get its source. For example, if your program is a web application, its +interface could display a "Source" link that leads users to an archive +of the code. There are many ways you could offer source, and different +solutions will be better for different programs; see section 13 for the +specific requirements. You should also get your employer (if you work as a programmer) or school, if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see +For more information on this, and how to apply and follow the GNU AGPL, see . - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -. diff --git a/src/conf/persistence.xml b/src/conf/persistence.xml index cd9eb68..4b25087 100644 --- a/src/conf/persistence.xml +++ b/src/conf/persistence.xml @@ -4,7 +4,7 @@ jdbc/jfinancials org.mxchange.jcontacts.contact.UserContact org.mxchange.jcontactsbusiness.basicdata.CompanyBasicData - org.mxchange.jcontactsbusiness.branch.CompanyBranchOffice + org.mxchange.jcontactsbusiness.branchoffice.CompanyBranchOffice org.mxchange.jcontactsbusiness.department.CompanyDepartment org.mxchange.jcontactsbusiness.employee.CompanyEmployee org.mxchange.jcontactsbusiness.headquarters.CompanyHeadquartersData diff --git a/src/java/org/mxchange/jcontacts/contact/FinancialsAdminContactSessionBean.java b/src/java/org/mxchange/jcontacts/contact/FinancialsAdminContactSessionBean.java index 849b860..23bd426 100644 --- a/src/java/org/mxchange/jcontacts/contact/FinancialsAdminContactSessionBean.java +++ b/src/java/org/mxchange/jcontacts/contact/FinancialsAdminContactSessionBean.java @@ -19,7 +19,10 @@ package org.mxchange.jcontacts.contact; import java.text.MessageFormat; import java.util.GregorianCalendar; import javax.ejb.Stateless; +import javax.persistence.NoResultException; +import javax.persistence.Query; import org.mxchange.jcontacts.exceptions.ContactAlreadyAddedException; +import org.mxchange.jcontacts.exceptions.ContactNotFoundException; import org.mxchange.jfinancials.database.BaseFinancialsDatabaseBean; /** @@ -55,6 +58,9 @@ public class FinancialsAdminContactSessionBean extends BaseFinancialsDatabaseBea } else if (contact.getContactId() != null) { // Should be null throw new IllegalArgumentException(MessageFormat.format("contact.contactId={0} - is not null", contact.getContactId())); //NOI18N + } else if (this.isContactFound(contact)) { + // Already registered + throw new ContactAlreadyAddedException(contact); } // Set created timestamp @@ -77,7 +83,7 @@ public class FinancialsAdminContactSessionBean extends BaseFinancialsDatabaseBea } @Override - public void deleteContactData (final Contact contact) { + public void deleteContactData (final Contact contact) throws ContactNotFoundException { // Trace message this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.deleteContactData: contact={1} - CALLED!", this.getClass().getSimpleName(), contact)); //NOI18N @@ -91,6 +97,9 @@ public class FinancialsAdminContactSessionBean extends BaseFinancialsDatabaseBea } else if (contact.getContactId() < 1) { // Not valid throw new IllegalArgumentException(MessageFormat.format("contact.contactId={0} is not valid", contact.getContactId())); //NOI18N + } else if (!this.isContactFound(contact)) { + // Contact not found + throw new ContactNotFoundException(contact.getContactId()); } // Merge it to get a managed entity back @@ -103,4 +112,43 @@ public class FinancialsAdminContactSessionBean extends BaseFinancialsDatabaseBea this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.deleteContactData: EXIT!", this.getClass().getSimpleName())); //NOI18N } + /** + * Determines if the given contact is found + *

+ * @param contact Contact instance + *

+ * @return Whether the contact has been found + */ + private boolean isContactFound (final Contact contact) { + // Trace message + this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.isContactRegistered: contact={1} - CALLED!", this.getClass().getSimpleName(), contact)); //NOI18N + + // Create query + Query query = this.getEntityManager().createNamedQuery("SearchContact"); //NOI18N + + // Set parameter + query.setParameter("contact", contact); //NOI18N + query.setMaxResults(1); + + // Default is not found + boolean isFound = false; + + // Try it + try { + // Try to find instance + Contact dummy = (Contact) query.getSingleResult(); + + // Mark as found + isFound = true; + } catch (final NoResultException e) { + // No result found + } + + // Trace message + this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.isContactRegistered: isFound={1} - EXIT!", this.getClass().getSimpleName(), isFound)); //NOI18N + + // Return flag + return isFound; + } + } diff --git a/src/java/org/mxchange/jcontacts/contact/FinancialsContactSessionBean.java b/src/java/org/mxchange/jcontacts/contact/FinancialsContactSessionBean.java index b09b864..dcf1caf 100644 --- a/src/java/org/mxchange/jcontacts/contact/FinancialsContactSessionBean.java +++ b/src/java/org/mxchange/jcontacts/contact/FinancialsContactSessionBean.java @@ -47,6 +47,44 @@ public class FinancialsContactSessionBean extends BaseFinancialsDatabaseBean imp super(); } + @Override + @SuppressWarnings ("unchecked") + public List allContacts () { + // Log trace message + this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.getAllContacts - CALLED!", this.getClass().getSimpleName())); //NOI18N + + // Create query instance + final Query query = this.getEntityManager().createNamedQuery("AllContacts"); //NOI18N + + // Get list + final List contacts = query.getResultList(); + + // Log trace message + this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.getAllContacts: contacts.size()={1} - EXIT!", this.getClass().getSimpleName(), contacts.size())); //NOI18N + + // Return it + return contacts; + } + + @Override + @SuppressWarnings ("unchecked") + public List allEmailAddresses () { + // Log trace message + this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.getEmailAddressList - CALLED!", this.getClass().getSimpleName())); //NOI18N + + // Create query instance + final Query query = this.getEntityManager().createNamedQuery("AllContactEmailAddresses"); //NOI18N + + // Get list + final List emailAddresses = query.getResultList(); + + // Log trace message + this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.getEmailAddressList: emailAddresses.size()={1} - EXIT!", this.getClass().getSimpleName(), emailAddresses.size())); //NOI18N + + // Return it + return emailAddresses; + } + @Override public Contact findContactByEmailAddress (final String emailAddress) throws ContactNotFoundException { // Log trace message @@ -62,13 +100,14 @@ public class FinancialsContactSessionBean extends BaseFinancialsDatabaseBean imp } // Get query instance - Query query = this.getEntityManager().createNamedQuery("SearchContactByEmailAddress", UserContact.class); //NOI18N + final Query query = this.getEntityManager().createNamedQuery("SearchContactByEmailAddress", UserContact.class); //NOI18N - // Set parameter + // Set parameter and limit query.setParameter("emailAddress", emailAddress); //NOI18N + query.setMaxResults(1); // Init contact instance - Contact contact; + final Contact contact; // Try to find a result try { @@ -104,13 +143,14 @@ public class FinancialsContactSessionBean extends BaseFinancialsDatabaseBean imp } // Get query instance - Query query = this.getEntityManager().createNamedQuery("SearchContactById", UserContact.class); //NOI18N + final Query query = this.getEntityManager().createNamedQuery("SearchContactById", UserContact.class); //NOI18N // Set parameter query.setParameter("contactId", contactId); //NOI18N + query.setMaxResults(1); // Init contact instance - Contact contact; + final Contact contact; // Try to find a result try { @@ -131,44 +171,6 @@ public class FinancialsContactSessionBean extends BaseFinancialsDatabaseBean imp return contact; } - @Override - @SuppressWarnings ("unchecked") - public List getAllContacts () { - // Log trace message - this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.getAllContacts - CALLED!", this.getClass().getSimpleName())); //NOI18N - - // Create query instance - Query query = this.getEntityManager().createNamedQuery("AllContacts"); //NOI18N - - // Get list - List contacts = query.getResultList(); - - // Log trace message - this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.getAllContacts: contacts.size()={1} - EXIT!", this.getClass().getSimpleName(), contacts.size())); //NOI18N - - // Return it - return contacts; - } - - @Override - @SuppressWarnings ("unchecked") - public List getEmailAddressList () { - // Log trace message - this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.getEmailAddressList - CALLED!", this.getClass().getSimpleName())); //NOI18N - - // Create query instance - Query query = this.getEntityManager().createNamedQuery("AllContactEmailAddresses"); //NOI18N - - // Get list - List emailAddresses = query.getResultList(); - - // Log trace message - this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.getEmailAddressList: emailAddresses.size()={1} - EXIT!", this.getClass().getSimpleName(), emailAddresses.size())); //NOI18N - - // Return it - return emailAddresses; - } - @Override public boolean isEmailAddressRegistered (final String emailAddress) { // Log trace message @@ -188,7 +190,7 @@ public class FinancialsContactSessionBean extends BaseFinancialsDatabaseBean imp try { // Ask other method for contact instance - Contact contact = this.findContactByEmailAddress(emailAddress); + final Contact contact = this.findContactByEmailAddress(emailAddress); // Log debug message this.getLoggerBeanLocal().logDebug(MessageFormat.format("{0}.isEmailAddressRegistered: Found contact={1} for emailAddress={2}", this.getClass().getSimpleName(), contact, emailAddress)); //NOI18N @@ -229,7 +231,7 @@ public class FinancialsContactSessionBean extends BaseFinancialsDatabaseBean imp Contact foundContact = null; // Get whole list - List contacts = this.getAllContacts(); + final List contacts = this.allContacts(); // Is the list empty? if (contacts.isEmpty()) { @@ -239,7 +241,7 @@ public class FinancialsContactSessionBean extends BaseFinancialsDatabaseBean imp } // Get iterator - Iterator iterator = contacts.iterator(); + final Iterator iterator = contacts.iterator(); // Loop through all while (iterator.hasNext()) { diff --git a/src/java/org/mxchange/jcontacts/phone/FinancialsAdminContactPhoneSessionBean.java b/src/java/org/mxchange/jcontacts/phone/FinancialsAdminContactPhoneSessionBean.java index bab50ed..ad8bba6 100644 --- a/src/java/org/mxchange/jcontacts/phone/FinancialsAdminContactPhoneSessionBean.java +++ b/src/java/org/mxchange/jcontacts/phone/FinancialsAdminContactPhoneSessionBean.java @@ -105,7 +105,7 @@ public class FinancialsAdminContactPhoneSessionBean extends BaseFinancialsDataba contact.setContactFaxNumber(faxNumber); // Update database - Contact updatedContact = this.contactBean.updateContactData(contact); + final Contact updatedContact = this.contactBean.updateContactData(contact); // Trace message this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.linkExistingFaxNumberWithContact: updatedContact={1} - EXIT!", this.getClass().getSimpleName(), updatedContact)); //NOI18N @@ -162,7 +162,7 @@ public class FinancialsAdminContactPhoneSessionBean extends BaseFinancialsDataba contact.setContactLandLineNumber(landLineNumber); // Update database - Contact updatedContact = this.contactBean.updateContactData(contact); + final Contact updatedContact = this.contactBean.updateContactData(contact); // Trace message this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.linkExistingLandLineNumberWithContact: updatedContact={1} - EXIT!", this.getClass().getSimpleName(), updatedContact)); //NOI18N @@ -213,7 +213,7 @@ public class FinancialsAdminContactPhoneSessionBean extends BaseFinancialsDataba contact.setContactMobileNumber(mobileNumber); // Update database - Contact updatedContact = this.contactBean.updateContactData(contact); + final Contact updatedContact = this.contactBean.updateContactData(contact); // Trace message this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.linkExistingMobileNumberWithContact: updatedContact={1} - EXIT!", this.getClass().getSimpleName(), updatedContact)); //NOI18N @@ -270,7 +270,7 @@ public class FinancialsAdminContactPhoneSessionBean extends BaseFinancialsDataba contact.setContactFaxNumber(faxNumber); // Update database - Contact updatedContact = this.contactBean.updateContactData(contact); + final Contact updatedContact = this.contactBean.updateContactData(contact); // Trace message this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.linkNewFaxNumberWithContact: updatedContact={1} - EXIT!", this.getClass().getSimpleName(), updatedContact)); //NOI18N @@ -327,7 +327,7 @@ public class FinancialsAdminContactPhoneSessionBean extends BaseFinancialsDataba contact.setContactLandLineNumber(landLineNumber); // Update database - Contact updatedContact = this.contactBean.updateContactData(contact); + final Contact updatedContact = this.contactBean.updateContactData(contact); // Trace message this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.linkNewLandLineNumberWithContact: updatedContact={1} - EXIT!", this.getClass().getSimpleName(), updatedContact)); //NOI18N @@ -378,7 +378,7 @@ public class FinancialsAdminContactPhoneSessionBean extends BaseFinancialsDataba contact.setContactMobileNumber(mobileNumber); // Update database - Contact updatedContact = this.contactBean.updateContactData(contact); + final Contact updatedContact = this.contactBean.updateContactData(contact); // Trace message this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.linkNewMobileNumberWithContact: updatedContact={1} - EXIT!", this.getClass().getSimpleName(), updatedContact)); //NOI18N @@ -420,7 +420,7 @@ public class FinancialsAdminContactPhoneSessionBean extends BaseFinancialsDataba contact.setContactFaxNumber(null); // Update database - Contact updatedContact = this.contactBean.updateContactData(contact); + final Contact updatedContact = this.contactBean.updateContactData(contact); // Trace message this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.unlinkFaxDataFromContact: updatedContact={1} - EXIT!", this.getClass().getSimpleName(), updatedContact)); //NOI18N @@ -462,7 +462,7 @@ public class FinancialsAdminContactPhoneSessionBean extends BaseFinancialsDataba contact.setContactLandLineNumber(null); // Update database - Contact updatedContact = this.contactBean.updateContactData(contact); + final Contact updatedContact = this.contactBean.updateContactData(contact); // Trace message this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.unlinkLandLineDataFromContact: updatedContact={1} - EXIT!", this.getClass().getSimpleName(), updatedContact)); //NOI18N @@ -504,7 +504,7 @@ public class FinancialsAdminContactPhoneSessionBean extends BaseFinancialsDataba contact.setContactMobileNumber(null); // Update database - Contact updatedContact = this.contactBean.updateContactData(contact); + final Contact updatedContact = this.contactBean.updateContactData(contact); // Trace message this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.unlinkMobileDataFromContact: updatedContact={1} - EXIT!", this.getClass().getSimpleName(), updatedContact)); //NOI18N diff --git a/src/java/org/mxchange/jcontactsbusiness/basicdata/FinancialsAdminBusinessDataSessionBean.java b/src/java/org/mxchange/jcontactsbusiness/basicdata/FinancialsAdminBusinessDataSessionBean.java index 1965f05..6d72d5c 100644 --- a/src/java/org/mxchange/jcontactsbusiness/basicdata/FinancialsAdminBusinessDataSessionBean.java +++ b/src/java/org/mxchange/jcontactsbusiness/basicdata/FinancialsAdminBusinessDataSessionBean.java @@ -20,8 +20,8 @@ import java.text.MessageFormat; import java.util.GregorianCalendar; import java.util.List; import java.util.Objects; +import javax.ejb.EJB; import javax.ejb.Stateless; -import javax.persistence.Query; import org.mxchange.jcontactsbusiness.exceptions.basicdata.BusinessDataAlreadyAddedException; import org.mxchange.jfinancials.database.BaseFinancialsDatabaseBean; @@ -38,6 +38,12 @@ public class FinancialsAdminBusinessDataSessionBean extends BaseFinancialsDataba */ private static final long serialVersionUID = 56_389_504_892_184_572L; + /** + * Administrative EJB + */ + @EJB + private BusinessDataSessionBeanRemote businessDataBean; + /** * Default constructor */ @@ -61,7 +67,7 @@ public class FinancialsAdminBusinessDataSessionBean extends BaseFinancialsDataba } // Get all available entries - List list = this.allCompanyBasicData(); + final List list = this.businessDataBean.allCompanyBasicData(); // Is the list filled? if (!list.isEmpty()) { @@ -91,23 +97,4 @@ public class FinancialsAdminBusinessDataSessionBean extends BaseFinancialsDataba return basicData; } - @Override - @SuppressWarnings ("unchecked") - public List allCompanyBasicData () { - // Trace message - this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.allBusinessContacts: CALLED!", this.getClass().getSimpleName())); //NOI18N - - // Get query - Query query = this.getEntityManager().createNamedQuery("AllBusinessData"); //NOI18N - - // Get list from it - List list = query.getResultList(); - - // Trace message - this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.allBusinessContacts: list.size()={1} - EXIT!", this.getClass().getSimpleName(), list.size())); //NOI18N - - // Return it - return list; - } - } diff --git a/src/java/org/mxchange/jcontactsbusiness/basicdata/FinancialsBusinessDataSessionBean.java b/src/java/org/mxchange/jcontactsbusiness/basicdata/FinancialsBusinessDataSessionBean.java index 9990e08..070d006 100644 --- a/src/java/org/mxchange/jcontactsbusiness/basicdata/FinancialsBusinessDataSessionBean.java +++ b/src/java/org/mxchange/jcontactsbusiness/basicdata/FinancialsBusinessDataSessionBean.java @@ -19,7 +19,6 @@ package org.mxchange.jcontactsbusiness.basicdata; import java.text.MessageFormat; import java.util.List; import java.util.Objects; -import javax.ejb.EJB; import javax.ejb.Stateless; import javax.persistence.NoResultException; import javax.persistence.Query; @@ -39,12 +38,6 @@ public class FinancialsBusinessDataSessionBean extends BaseFinancialsDatabaseBea */ private static final long serialVersionUID = 56_389_504_892_184_571L; - /** - * Administrative EJB - */ - @EJB - private AdminBusinessDataSessionBeanRemote adminBusinessDataBean; - /** * Default constructor */ @@ -53,19 +46,38 @@ public class FinancialsBusinessDataSessionBean extends BaseFinancialsDatabaseBea super(); } + @Override + @SuppressWarnings ("unchecked") + public List allCompanyBasicData () { + // Trace message + this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.allBusinessContacts: CALLED!", this.getClass().getSimpleName())); //NOI18N + + // Get query + final Query query = this.getEntityManager().createNamedQuery("AllBusinessData"); //NOI18N + + // Get list from it + final List list = query.getResultList(); + + // Trace message + this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.allBusinessContacts: list.size()={1} - EXIT!", this.getClass().getSimpleName(), list.size())); //NOI18N + + // Return it + return list; + } + @Override public BusinessBasicData findBasicDataById (final Long companyDataId) throws BusinessDataNotFoundException { // Trace message this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.findBasicDataById: CALLED!", this.getClass().getSimpleName())); //NOI18N // Get query - Query query = this.getEntityManager().createNamedQuery("SearchBusinessDataById", CompanyBasicData.class); //NOI18N + final Query query = this.getEntityManager().createNamedQuery("SearchBusinessDataById", CompanyBasicData.class); //NOI18N // Set parameter query.setParameter("companyDataId", companyDataId); //NOI18N // Get single instance - BusinessBasicData businessData = null; + final BusinessBasicData businessData; // Try to find a result try { @@ -104,7 +116,7 @@ public class FinancialsBusinessDataSessionBean extends BaseFinancialsDatabaseBea Boolean isCompanyNameUsed = Boolean.FALSE; // Get whole list - List list = this.adminBusinessDataBean.allCompanyBasicData(); + final List list = this.allCompanyBasicData(); // Check whole list for (final BusinessBasicData basicData : list) { diff --git a/src/java/org/mxchange/jcontactsbusiness/branchoffice/FinancialsAdminBranchOfficeSessionBean.java b/src/java/org/mxchange/jcontactsbusiness/branchoffice/FinancialsAdminBranchOfficeSessionBean.java new file mode 100644 index 0000000..9e6b1cc --- /dev/null +++ b/src/java/org/mxchange/jcontactsbusiness/branchoffice/FinancialsAdminBranchOfficeSessionBean.java @@ -0,0 +1,35 @@ +/* + * Copyright (C) 2017 Roland Häder + * + * 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 . + */ +package org.mxchange.jcontactsbusiness.branchoffice; + +import javax.ejb.Stateless; +import org.mxchange.jfinancials.database.BaseFinancialsDatabaseBean; + +/** + * A stateless session bean for administrative branch office purposes + *

+ * @author Roland Häder + */ +@Stateless (name = "adminBranchOffice", description = "An administrative statless bean for handling branch office data (all)") +public class FinancialsAdminBranchOfficeSessionBean extends BaseFinancialsDatabaseBean implements AdminBranchOfficeSessionBeanRemote { + + /** + * Serial number + */ + private static final long serialVersionUID = 58_467_386_571_701L; + +} diff --git a/src/java/org/mxchange/jcontactsbusiness/branchoffice/FinancialsBranchOfficeSessionBean.java b/src/java/org/mxchange/jcontactsbusiness/branchoffice/FinancialsBranchOfficeSessionBean.java new file mode 100644 index 0000000..0d720c7 --- /dev/null +++ b/src/java/org/mxchange/jcontactsbusiness/branchoffice/FinancialsBranchOfficeSessionBean.java @@ -0,0 +1,57 @@ +/* + * Copyright (C) 2017 Roland Häder + * + * 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 . + */ +package org.mxchange.jcontactsbusiness.branchoffice; + +import java.text.MessageFormat; +import java.util.List; +import javax.ejb.Stateless; +import javax.persistence.Query; +import org.mxchange.jfinancials.database.BaseFinancialsDatabaseBean; + +/** + * A stateless session bean for general branch office purposes + *

+ * @author Roland Häder + */ +@Stateless (name = "branchOffice", description = "A general statless bean for handling branch office data (all)") +public class FinancialsBranchOfficeSessionBean extends BaseFinancialsDatabaseBean implements BranchOfficeSessionBeanRemote { + + /** + * Serial number + */ + private static final long serialVersionUID = 58_467_386_571_701L; + + @Override + @SuppressWarnings ("unchecked") + public List allBranchOffices () { + // Trace message + this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.allBranchOffices: CALLED!", this.getClass().getSimpleName())); //NOI18N + + // Get query + final Query query = this.getEntityManager().createNamedQuery("AllBranchOffices"); //NOI18N + + // Get list from it + final List list = query.getResultList(); + + // Trace message + this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.allBranchOffices: list.size()={1} - EXIT!", this.getClass().getSimpleName(), list.size())); //NOI18N + + // Return it + return list; + } + +} diff --git a/src/java/org/mxchange/jcontactsbusiness/employee/FinancialsCompanyEmployeeSessionBean.java b/src/java/org/mxchange/jcontactsbusiness/employee/FinancialsCompanyEmployeeSessionBean.java index 9f7d5a3..ebea96c 100644 --- a/src/java/org/mxchange/jcontactsbusiness/employee/FinancialsCompanyEmployeeSessionBean.java +++ b/src/java/org/mxchange/jcontactsbusiness/employee/FinancialsCompanyEmployeeSessionBean.java @@ -51,10 +51,10 @@ public class FinancialsCompanyEmployeeSessionBean extends BaseFinancialsDatabase this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.allCompanyEmployees(): CALLED!", this.getClass().getSimpleName())); //NOI18N // Get named query - Query query = this.getEntityManager().createNamedQuery("AllCompanyEmployees"); //NOI18N + final Query query = this.getEntityManager().createNamedQuery("AllCompanyEmployees"); //NOI18N // Get list form it - List employees = query.getResultList(); + final List employees = query.getResultList(); // Trace message this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.allCompanyEmployees(): employees.size()={1} - EXIT!", this.getClass().getSimpleName(), employees.size())); //NOI18N @@ -78,13 +78,13 @@ public class FinancialsCompanyEmployeeSessionBean extends BaseFinancialsDatabase } // Now get named query - Query query = this.getEntityManager().createNamedQuery("SearchCompanyEmployeeById"); //NOI18N + final Query query = this.getEntityManager().createNamedQuery("SearchCompanyEmployeeById"); //NOI18N // Set parameter query.setParameter("employeeId", employeeId); //NOI18N // Declare instance - Employee employee; + final Employee employee; // Try to find a result try { diff --git a/src/java/org/mxchange/jcountry/data/FinancialsCountrySingletonBean.java b/src/java/org/mxchange/jcountry/data/FinancialsCountrySingletonBean.java index 71f09aa..a25d4d7 100644 --- a/src/java/org/mxchange/jcountry/data/FinancialsCountrySingletonBean.java +++ b/src/java/org/mxchange/jcountry/data/FinancialsCountrySingletonBean.java @@ -94,10 +94,10 @@ public class FinancialsCountrySingletonBean extends BaseFinancialsDatabaseBean i this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.allCountries: CALLED!", this.getClass().getSimpleName())); //NOI18N // Init query - Query query = this.getEntityManager().createNamedQuery("AllCountries", CountryData.class); //NOI18N + final Query query = this.getEntityManager().createNamedQuery("AllCountries", CountryData.class); //NOI18N // Get list - List countries = query.getResultList(); + final List countries = query.getResultList(); // Trace message this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.allCountries: countries.size()={1} - EXIT!", this.getClass().getSimpleName(), countries.size())); //NOI18N @@ -133,7 +133,7 @@ public class FinancialsCountrySingletonBean extends BaseFinancialsDatabaseBean i boolean isAdded = false; // Get query instance - Query query = this.getEntityManager().createNamedQuery("SearchCountryByCodeI18nKey", CountryData.class); //NOI18N + final Query query = this.getEntityManager().createNamedQuery("SearchCountryByCodeI18nKey", CountryData.class); //NOI18N // Assign all parameters query.setParameter("code", country.getCountryCode()); //NOI18N @@ -142,7 +142,7 @@ public class FinancialsCountrySingletonBean extends BaseFinancialsDatabaseBean i // Try to get a single result try { // Get single result - Country foundCountry = (Country) query.getSingleResult(); + final Country foundCountry = (Country) query.getSingleResult(); // Found it? isAdded = (foundCountry instanceof Country); diff --git a/src/java/org/mxchange/jfinancials/database/BaseFinancialsDatabaseBean.java b/src/java/org/mxchange/jfinancials/database/BaseFinancialsDatabaseBean.java index 4498e6b..0bfce27 100644 --- a/src/java/org/mxchange/jfinancials/database/BaseFinancialsDatabaseBean.java +++ b/src/java/org/mxchange/jfinancials/database/BaseFinancialsDatabaseBean.java @@ -89,9 +89,9 @@ public abstract class BaseFinancialsDatabaseBean extends BaseDatabaseBean { } // Get all phone instances - DialableLandLineNumber landLineNumber = contact.getContactLandLineNumber(); - DialableFaxNumber faxNumber = contact.getContactFaxNumber(); - DialableMobileNumber mobileNumber = contact.getContactMobileNumber(); + final DialableLandLineNumber landLineNumber = contact.getContactLandLineNumber(); + final DialableFaxNumber faxNumber = contact.getContactFaxNumber(); + final DialableMobileNumber mobileNumber = contact.getContactMobileNumber(); // Debug message this.getLoggerBeanLocal().logDebug(MessageFormat.format("setAllContactPhoneEntriesCreated: landLineNumber={0},faxNumber={1},mobileNumber={2}", landLineNumber, faxNumber, mobileNumber)); //NOI18N @@ -152,7 +152,7 @@ public abstract class BaseFinancialsDatabaseBean extends BaseDatabaseBean { this.getLoggerBeanLocal().logDebug(MessageFormat.format("getDetached: fetchedNumber.phoneId={0}", fetchedNumber.getPhoneId())); //NOI18N // Init query instance - DialableMobileNumber foundNumber = this.getEntityManager().find(fetchedNumber.getClass(), fetchedNumber.getPhoneId()); + final DialableMobileNumber foundNumber = this.getEntityManager().find(fetchedNumber.getClass(), fetchedNumber.getPhoneId()); // Debug message this.getLoggerBeanLocal().logDebug(MessageFormat.format("getDetached: foundNumber={0}", foundNumber)); //NOI18N @@ -165,7 +165,7 @@ public abstract class BaseFinancialsDatabaseBean extends BaseDatabaseBean { // Merge this entry detachedNumber = this.getEntityManager().merge(foundNumber); - // Copy all + // @TODO Copy all } // Trace message @@ -200,7 +200,7 @@ public abstract class BaseFinancialsDatabaseBean extends BaseDatabaseBean { this.getLoggerBeanLocal().logDebug(MessageFormat.format("getDetached: fetchedNumber.phoneId={0}", fetchedNumber.getPhoneId())); //NOI18N // Init query instance - DialableLandLineNumber foundNumber = this.getEntityManager().find(fetchedNumber.getClass(), fetchedNumber.getPhoneId()); + final DialableLandLineNumber foundNumber = this.getEntityManager().find(fetchedNumber.getClass(), fetchedNumber.getPhoneId()); // Debug message this.getLoggerBeanLocal().logDebug(MessageFormat.format("getDetached: foundNumber={0}", foundNumber)); //NOI18N @@ -212,6 +212,8 @@ public abstract class BaseFinancialsDatabaseBean extends BaseDatabaseBean { if (!PhoneUtils.isSameLandLineNumber(landLineNumber, fetchedNumber)) { // Merge this entry detachedNumber = this.getEntityManager().merge(foundNumber); + + // @TODO Copy all } // Trace message @@ -246,7 +248,7 @@ public abstract class BaseFinancialsDatabaseBean extends BaseDatabaseBean { this.getLoggerBeanLocal().logDebug(MessageFormat.format("getDetached: fetchedNumber.phoneId={0}", fetchedNumber.getPhoneId())); //NOI18N // Init query instance - DialableFaxNumber foundNumber = this.getEntityManager().find(fetchedNumber.getClass(), fetchedNumber.getPhoneId()); + final DialableFaxNumber foundNumber = this.getEntityManager().find(fetchedNumber.getClass(), fetchedNumber.getPhoneId()); // Debug message this.getLoggerBeanLocal().logDebug(MessageFormat.format("getDetached: foundNumber={0}", foundNumber)); //NOI18N @@ -258,6 +260,8 @@ public abstract class BaseFinancialsDatabaseBean extends BaseDatabaseBean { if (!PhoneUtils.isSameFaxNumber(faxNumber, fetchedNumber)) { // Merge this entry detachedNumber = this.getEntityManager().merge(foundNumber); + + // @TODO Copy all } // Trace message @@ -300,7 +304,7 @@ public abstract class BaseFinancialsDatabaseBean extends BaseDatabaseBean { } // Try to find it (should be there) - User managedUser = this.getEntityManager().find(LoginUser.class, user.getUserId()); + final User managedUser = this.getEntityManager().find(LoginUser.class, user.getUserId()); // Should be there assert (managedUser instanceof User) : "managedUser is null"; //NOI18N @@ -339,7 +343,7 @@ public abstract class BaseFinancialsDatabaseBean extends BaseDatabaseBean { detachedContact.setContactUpdated(new GregorianCalendar()); // Get contact from it and find it - Contact foundContact = this.getEntityManager().find(detachedContact.getClass(), detachedContact.getContactId()); + final Contact foundContact = this.getEntityManager().find(detachedContact.getClass(), detachedContact.getContactId()); // Should be found assert (foundContact instanceof Contact) : MessageFormat.format("Contact with id {0} not found, but should be.", detachedContact.getContactId()); //NOI18N @@ -348,7 +352,7 @@ public abstract class BaseFinancialsDatabaseBean extends BaseDatabaseBean { this.getLoggerBeanLocal().logDebug(MessageFormat.format("updateUserPersonalData: foundContact.contactId={0}", foundContact.getContactId())); //NOI18N // Merge contact instance - Contact managedContact = this.getEntityManager().merge(foundContact); + final Contact managedContact = this.getEntityManager().merge(foundContact); // Copy all ContactUtils.copyAll(detachedContact, managedContact); @@ -382,9 +386,9 @@ public abstract class BaseFinancialsDatabaseBean extends BaseDatabaseBean { } // Get all instances - DialableMobileNumber mobile = detachedContact.getContactMobileNumber(); - DialableLandLineNumber landLine = detachedContact.getContactLandLineNumber(); - DialableFaxNumber fax = detachedContact.getContactFaxNumber(); + final DialableMobileNumber mobile = detachedContact.getContactMobileNumber(); + final DialableLandLineNumber landLine = detachedContact.getContactLandLineNumber(); + final DialableFaxNumber fax = detachedContact.getContactFaxNumber(); // Is there a mobile instance set? if (mobile instanceof DialableMobileNumber) { @@ -392,13 +396,13 @@ public abstract class BaseFinancialsDatabaseBean extends BaseDatabaseBean { this.getLoggerBeanLocal().logDebug(MessageFormat.format("updateUserPersonalData: mobile.phoneId={0} is being updated ...", mobile.getPhoneId())); //NOI18N // Then find it, too - DialableMobileNumber foundMobile = this.getEntityManager().find(mobile.getClass(), mobile.getPhoneId()); + final DialableMobileNumber foundMobile = this.getEntityManager().find(mobile.getClass(), mobile.getPhoneId()); // Should be there assert (foundMobile instanceof DialableMobileNumber) : MessageFormat.format("Mobile number with id {0} not found but should be.", foundMobile.getPhoneId()); //NOI18N // Then merge it, too - DialableMobileNumber managedMobile = this.getEntityManager().merge(foundMobile); + final DialableMobileNumber managedMobile = this.getEntityManager().merge(foundMobile); // Should be there assert (managedMobile instanceof DialableMobileNumber) : MessageFormat.format("Mobile number with id {0} not found but should be.", managedMobile.getPhoneId()); //NOI18N @@ -416,13 +420,13 @@ public abstract class BaseFinancialsDatabaseBean extends BaseDatabaseBean { this.getLoggerBeanLocal().logDebug(MessageFormat.format("updateUserPersonalData: fax.phoneId={0} is being updated ...", fax.getPhoneId())); //NOI18N // Then find it, too - DialableFaxNumber foundFax = this.getEntityManager().find(fax.getClass(), fax.getPhoneId()); + final DialableFaxNumber foundFax = this.getEntityManager().find(fax.getClass(), fax.getPhoneId()); // Should be there assert (foundFax instanceof DialableFaxNumber) : MessageFormat.format("Fax number with id {0} not found but should be.", foundFax.getPhoneId()); //NOI18N // Then merge it, too - DialableFaxNumber managedFax = this.getEntityManager().merge(foundFax); + final DialableFaxNumber managedFax = this.getEntityManager().merge(foundFax); // Should be there assert (managedFax instanceof DialableFaxNumber) : MessageFormat.format("Fax number with id {0} not found but should be.", managedFax.getPhoneId()); //NOI18N @@ -440,13 +444,13 @@ public abstract class BaseFinancialsDatabaseBean extends BaseDatabaseBean { this.getLoggerBeanLocal().logDebug(MessageFormat.format("updateUserPersonalData: landLine.phoneId={0} is being updated ...", landLine.getPhoneId())); //NOI18N // Then find it, too - DialableLandLineNumber foundLandLine = this.getEntityManager().find(landLine.getClass(), landLine.getPhoneId()); + final DialableLandLineNumber foundLandLine = this.getEntityManager().find(landLine.getClass(), landLine.getPhoneId()); // Should be there assert (foundLandLine instanceof DialableLandLineNumber) : MessageFormat.format("Land line number with id {0} not found but should be.", foundLandLine.getPhoneId()); //NOI18N // Then merge it, too - DialableLandLineNumber managedLandLine = this.getEntityManager().merge(foundLandLine); + final DialableLandLineNumber managedLandLine = this.getEntityManager().merge(foundLandLine); // Should be there assert (managedLandLine instanceof DialableLandLineNumber) : MessageFormat.format("Land line number with id {0} not found but should be.", managedLandLine.getPhoneId()); //NOI18N @@ -529,7 +533,7 @@ public abstract class BaseFinancialsDatabaseBean extends BaseDatabaseBean { } // Set all values - Properties variables = UserUtils.getAllUserFields(user); + final Properties variables = UserUtils.getAllUserFields(user); // Set base URL and random password variables.put("baseUrl", baseUrl); //NOI18N @@ -541,7 +545,7 @@ public abstract class BaseFinancialsDatabaseBean extends BaseDatabaseBean { } // Init addresss - Address recipientAddress; + final Address recipientAddress; try { // Create email address and set @@ -553,7 +557,7 @@ public abstract class BaseFinancialsDatabaseBean extends BaseDatabaseBean { // Prepare mail wrapper // @TODO Language from message bundle - WrapableEmailDelivery emailWrapper = new EmailDeliveryWrapper(recipientAddress, subjectLine, templateName, variables, user.getUserLocale()); + final WrapableEmailDelivery emailWrapper = new EmailDeliveryWrapper(recipientAddress, subjectLine, templateName, variables, user.getUserLocale()); try { // Send out email change @@ -680,9 +684,9 @@ public abstract class BaseFinancialsDatabaseBean extends BaseDatabaseBean { } // Get all phone instances - DialableLandLineNumber landLineNumber = contact.getContactLandLineNumber(); - DialableFaxNumber faxNumber = contact.getContactFaxNumber(); - DialableMobileNumber mobileNumber = contact.getContactMobileNumber(); + final DialableLandLineNumber landLineNumber = contact.getContactLandLineNumber(); + final DialableFaxNumber faxNumber = contact.getContactFaxNumber(); + final DialableMobileNumber mobileNumber = contact.getContactMobileNumber(); // Flags and instances must be constistent if (isMobileUnlinked && mobileNumber instanceof DialableMobileNumber) { diff --git a/src/java/org/mxchange/jphone/phonenumbers/mobileprovider/FinancialsMobileProviderSingletonBean.java b/src/java/org/mxchange/jphone/phonenumbers/mobileprovider/FinancialsMobileProviderSingletonBean.java index 7b016a1..b57e2a2 100644 --- a/src/java/org/mxchange/jphone/phonenumbers/mobileprovider/FinancialsMobileProviderSingletonBean.java +++ b/src/java/org/mxchange/jphone/phonenumbers/mobileprovider/FinancialsMobileProviderSingletonBean.java @@ -47,15 +47,15 @@ public class FinancialsMobileProviderSingletonBean extends BaseFinancialsDatabas @Override @SuppressWarnings ("unchecked") - public List allMobileProvider () { + public List allMobileProviders () { // Trace message this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.allMobileProvider: CALLED!", this.getClass().getSimpleName())); //NOI18N // Init query - Query query = this.getEntityManager().createNamedQuery("AllMobileProvider", CellphoneProvider.class); //NOI18N + final Query query = this.getEntityManager().createNamedQuery("AllMobileProvider", CellphoneProvider.class); //NOI18N // Get list from it - List mobileProviders = query.getResultList(); + final List mobileProviders = query.getResultList(); // Trace message this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.allMobileProvider: mobileProviders.size()={1} - EXIT!", this.getClass().getSimpleName(), mobileProviders.size())); //NOI18N diff --git a/src/java/org/mxchange/jphone/phonenumbers/phone/FinancialsAdminPhoneSessionBean.java b/src/java/org/mxchange/jphone/phonenumbers/phone/FinancialsAdminPhoneSessionBean.java index 6b2c483..91c532e 100644 --- a/src/java/org/mxchange/jphone/phonenumbers/phone/FinancialsAdminPhoneSessionBean.java +++ b/src/java/org/mxchange/jphone/phonenumbers/phone/FinancialsAdminPhoneSessionBean.java @@ -87,7 +87,7 @@ public class FinancialsAdminPhoneSessionBean extends BaseFinancialsDatabaseBean } // Get a managed instance - DialableFaxNumber managedNumber = this.getEntityManager().getReference(faxNumber.getClass(), faxNumber.getPhoneId()); + final DialableFaxNumber managedNumber = this.getEntityManager().getReference(faxNumber.getClass(), faxNumber.getPhoneId()); // Remove it from database this.getEntityManager().remove(managedNumber); @@ -135,7 +135,7 @@ public class FinancialsAdminPhoneSessionBean extends BaseFinancialsDatabaseBean } // Get a managed instance - DialableLandLineNumber managedNumber = this.getEntityManager().getReference(landLineNumber.getClass(), landLineNumber.getPhoneId()); + final DialableLandLineNumber managedNumber = this.getEntityManager().getReference(landLineNumber.getClass(), landLineNumber.getPhoneId()); // Remove it from database this.getEntityManager().remove(managedNumber); @@ -177,7 +177,7 @@ public class FinancialsAdminPhoneSessionBean extends BaseFinancialsDatabaseBean } // Get a managed instance - DialableMobileNumber managedNumber = this.getEntityManager().getReference(mobileNumber.getClass(), mobileNumber.getPhoneId()); + final DialableMobileNumber managedNumber = this.getEntityManager().getReference(mobileNumber.getClass(), mobileNumber.getPhoneId()); // Remove it from database this.getEntityManager().remove(managedNumber); @@ -225,7 +225,7 @@ public class FinancialsAdminPhoneSessionBean extends BaseFinancialsDatabaseBean } // Get contact from it and find it - DialableFaxNumber managedNumber = this.getEntityManager().find(faxNumber.getClass(), faxNumber.getPhoneId()); + final DialableFaxNumber managedNumber = this.getEntityManager().find(faxNumber.getClass(), faxNumber.getPhoneId()); // Should be found assert (managedNumber instanceof DialableFaxNumber) : MessageFormat.format("Cell phone number with id {0} not found, but should be.", faxNumber.getPhoneId()); //NOI18N @@ -283,7 +283,7 @@ public class FinancialsAdminPhoneSessionBean extends BaseFinancialsDatabaseBean } // Get contact from it and find it - DialableLandLineNumber managedNumber = this.getEntityManager().find(landLineNumber.getClass(), landLineNumber.getPhoneId()); + final DialableLandLineNumber managedNumber = this.getEntityManager().find(landLineNumber.getClass(), landLineNumber.getPhoneId()); // Should be found assert (managedNumber instanceof DialableLandLineNumber) : MessageFormat.format("Cell phone number with id {0} not found, but should be.", landLineNumber.getPhoneId()); //NOI18N @@ -335,7 +335,7 @@ public class FinancialsAdminPhoneSessionBean extends BaseFinancialsDatabaseBean } // Get contact from it and find it - DialableMobileNumber managedNumber = this.getEntityManager().find(mobileNumber.getClass(), mobileNumber.getPhoneId()); + final DialableMobileNumber managedNumber = this.getEntityManager().find(mobileNumber.getClass(), mobileNumber.getPhoneId()); // Should be found assert (managedNumber instanceof DialableMobileNumber) : MessageFormat.format("Cell phone number with id {0} not found, but should be.", mobileNumber.getPhoneId()); //NOI18N diff --git a/src/java/org/mxchange/jphone/phonenumbers/phone/FinancialsPhoneSessionBean.java b/src/java/org/mxchange/jphone/phonenumbers/phone/FinancialsPhoneSessionBean.java index c0258e9..d69a686 100644 --- a/src/java/org/mxchange/jphone/phonenumbers/phone/FinancialsPhoneSessionBean.java +++ b/src/java/org/mxchange/jphone/phonenumbers/phone/FinancialsPhoneSessionBean.java @@ -58,10 +58,10 @@ public class FinancialsPhoneSessionBean extends BaseFinancialsDatabaseBean imple this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.allFaxNumbers: CALLED!", this.getClass().getSimpleName())); //NOI18N // Get query - Query query = this.getEntityManager().createNamedQuery("AllFaxNumbers", FaxNumber.class); //NOI18N + final Query query = this.getEntityManager().createNamedQuery("AllFaxNumbers", FaxNumber.class); //NOI18N // Get list from it - List list = query.getResultList(); + final List list = query.getResultList(); // Trace message this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.allFaxNumbers: list.size()={1} - EXIT!", this.getClass().getSimpleName(), list.size())); //NOI18N @@ -77,10 +77,10 @@ public class FinancialsPhoneSessionBean extends BaseFinancialsDatabaseBean imple this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.allLandLineNumbers: CALLED!", this.getClass().getSimpleName())); //NOI18N // Get query - Query query = this.getEntityManager().createNamedQuery("AllLandLineNumbers", LandLineNumber.class); //NOI18N + final Query query = this.getEntityManager().createNamedQuery("AllLandLineNumbers", LandLineNumber.class); //NOI18N // Get list from it - List list = query.getResultList(); + final List list = query.getResultList(); // Trace message this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.allLandLineNumbers: list.size()={1} - EXIT!", this.getClass().getSimpleName(), list.size())); //NOI18N @@ -96,10 +96,10 @@ public class FinancialsPhoneSessionBean extends BaseFinancialsDatabaseBean imple this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.allMobileNumbers: CALLED!", this.getClass().getSimpleName())); //NOI18N // Get query - Query query = this.getEntityManager().createNamedQuery("AllMobileNumbers", MobileNumber.class); //NOI18N + final Query query = this.getEntityManager().createNamedQuery("AllMobileNumbers", MobileNumber.class); //NOI18N // Get list from it - List list = query.getResultList(); + final List list = query.getResultList(); // Trace message this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.allMobileNumbers: list.size()={1} - EXIT!", this.getClass().getSimpleName(), list.size())); //NOI18N @@ -123,13 +123,13 @@ public class FinancialsPhoneSessionBean extends BaseFinancialsDatabaseBean imple } // Now find it - Query query = this.getEntityManager().createNamedQuery("SearchFaxNumberId", FaxNumber.class); //NOI18N + final Query query = this.getEntityManager().createNamedQuery("SearchFaxNumberId", FaxNumber.class); //NOI18N // Set parameter query.setParameter("faxNumberId", faxNumberId); //NOI18N // Init instance - DialableFaxNumber faxNumber = null; + final DialableFaxNumber faxNumber; // Try to get a result try { @@ -162,13 +162,13 @@ public class FinancialsPhoneSessionBean extends BaseFinancialsDatabaseBean imple } // Now find it - Query query = this.getEntityManager().createNamedQuery("SearchLandLineNumberId", LandLineNumber.class); //NOI18N + final Query query = this.getEntityManager().createNamedQuery("SearchLandLineNumberId", LandLineNumber.class); //NOI18N // Set parameter query.setParameter("landLineNumberId", landLineNumberId); //NOI18N // Init instance - DialableLandLineNumber landLineNumber = null; + final DialableLandLineNumber landLineNumber; // Try to get a result try { @@ -201,13 +201,13 @@ public class FinancialsPhoneSessionBean extends BaseFinancialsDatabaseBean imple } // Now find it - Query query = this.getEntityManager().createNamedQuery("SearchMobileNumberId", MobileNumber.class); //NOI18N + final Query query = this.getEntityManager().createNamedQuery("SearchMobileNumberId", MobileNumber.class); //NOI18N // Set parameter query.setParameter("mobileNumberId", mobileNumberId); //NOI18N // Init instance - DialableMobileNumber mobile = null; + final DialableMobileNumber mobile; // Try to get a result try { diff --git a/src/java/org/mxchange/jusercore/model/user/FinancialsAdminUserSessionBean.java b/src/java/org/mxchange/jusercore/model/user/FinancialsAdminUserSessionBean.java index 8bff252..fb3cfb3 100644 --- a/src/java/org/mxchange/jusercore/model/user/FinancialsAdminUserSessionBean.java +++ b/src/java/org/mxchange/jusercore/model/user/FinancialsAdminUserSessionBean.java @@ -140,7 +140,7 @@ public class FinancialsAdminUserSessionBean extends BaseFinancialsDatabaseBean i } // Get a managed instance - User managedUser = this.getManagedUser(user); + final User managedUser = this.getManagedUser(user); // Should be found! assert (managedUser instanceof User) : MessageFormat.format("User with id {0} not found, but should be.", user.getUserId()); //NOI18N @@ -182,7 +182,7 @@ public class FinancialsAdminUserSessionBean extends BaseFinancialsDatabaseBean i } // Try to find the contact - Contact foundContact = this.getEntityManager().find(user.getUserContact().getClass(), user.getUserContact().getContactId()); + final Contact foundContact = this.getEntityManager().find(user.getUserContact().getClass(), user.getUserContact().getContactId()); // Set detached object in rexcruiter instance user.setUserContact(foundContact); @@ -256,7 +256,7 @@ public class FinancialsAdminUserSessionBean extends BaseFinancialsDatabaseBean i user.setUserLastLockedReason(userLockReason); // Update user - User updatedUser = this.userBean.updateUserData(user); + final User updatedUser = this.userBean.updateUserData(user); // @TODO Create user lock history entry // Send out email @@ -315,7 +315,7 @@ public class FinancialsAdminUserSessionBean extends BaseFinancialsDatabaseBean i user.setUserAccountStatus(UserAccountStatus.CONFIRMED); // Update user - User updatedUser = this.userBean.updateUserData(user); + final User updatedUser = this.userBean.updateUserData(user); // @TODO Create user lock history entry // Send out email diff --git a/src/java/org/mxchange/jusercore/model/user/FinancialsUserSessionBean.java b/src/java/org/mxchange/jusercore/model/user/FinancialsUserSessionBean.java index 7b7e88a..cbafaae 100644 --- a/src/java/org/mxchange/jusercore/model/user/FinancialsUserSessionBean.java +++ b/src/java/org/mxchange/jusercore/model/user/FinancialsUserSessionBean.java @@ -78,7 +78,7 @@ public class FinancialsUserSessionBean extends BaseFinancialsDatabaseBean implem this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.allMemberPublicVisibleUsers: CALLED!", this.getClass().getSimpleName())); //NOI18N // Get named query - Query query = this.getEntityManager().createNamedQuery("AllMemberPublicUsers", LoginUser.class); //NOI18N + final Query query = this.getEntityManager().createNamedQuery("AllMemberPublicUsers", LoginUser.class); //NOI18N // Set parameters query.setParameter("status", UserAccountStatus.CONFIRMED); //NOI18N @@ -86,7 +86,7 @@ public class FinancialsUserSessionBean extends BaseFinancialsDatabaseBean implem query.setParameter("public", ProfileMode.PUBLIC); //NOI18N // Get result - List users = query.getResultList(); + final List users = query.getResultList(); // Trace message this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.allMemberPublicVisibleUsers: users.size()={1} - EXIT!", this.getClass().getSimpleName(), users.size())); //NOI18N @@ -102,14 +102,14 @@ public class FinancialsUserSessionBean extends BaseFinancialsDatabaseBean implem this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.allPublicUsers: CALLED!", this.getClass().getSimpleName())); //NOI18N // Get named query - Query query = this.getEntityManager().createNamedQuery("AllPublicUsers", LoginUser.class); //NOI18N + final Query query = this.getEntityManager().createNamedQuery("AllPublicUsers", LoginUser.class); //NOI18N // Set parameters query.setParameter("status", UserAccountStatus.CONFIRMED); //NOI18N query.setParameter("mode", ProfileMode.PUBLIC); //NOI18N // Get result - List users = query.getResultList(); + final List users = query.getResultList(); // Trace message this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.allPublicUsers: users.size()={1} - EXIT!", this.getClass().getSimpleName(), users.size())); //NOI18N @@ -118,6 +118,25 @@ public class FinancialsUserSessionBean extends BaseFinancialsDatabaseBean implem return users; } + @Override + @SuppressWarnings ("unchecked") + public List allUserNames () { + // Trace message + this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.getUserNameList: CALLED!", this.getClass().getSimpleName())); //NOI18N + + // Get query + final Query query = this.getEntityManager().createNamedQuery("AllUserNames", String.class); //NOI18N + + // Get result list + final List userNameList = query.getResultList(); + + // Trace message + this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.getUserNameList: userNameList.size()={1} - EXIT!", this.getClass().getSimpleName(), userNameList.size())); //NOI18N + + // Return it + return userNameList; + } + @Override @SuppressWarnings ("unchecked") public List allUsers () { @@ -125,10 +144,10 @@ public class FinancialsUserSessionBean extends BaseFinancialsDatabaseBean implem this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.allUsers: CALLED!", this.getClass().getSimpleName())); //NOI18N // Get named query - Query query = this.getEntityManager().createNamedQuery("AllUsers", LoginUser.class); //NOI18N + final Query query = this.getEntityManager().createNamedQuery("AllUsers", LoginUser.class); //NOI18N // Get result - List users = query.getResultList(); + final List users = query.getResultList(); // Trace message this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.allUsers: users.size()={1} - EXIT!", this.getClass().getSimpleName(), users.size())); //NOI18N @@ -164,7 +183,7 @@ public class FinancialsUserSessionBean extends BaseFinancialsDatabaseBean implem } // Update user account - User managedUser = this.updateUserData(user); + final User managedUser = this.updateUserData(user); // Update user status and remove confirmation key managedUser.setUserAccountStatus(UserAccountStatus.CONFIRMED); @@ -182,7 +201,7 @@ public class FinancialsUserSessionBean extends BaseFinancialsDatabaseBean implem } @Override - public User fillUserData (final User user) { + public User fillUserData (final User user) throws UserNotFoundException { // Trace message this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.fillUserData: user={1} - CALLED!", this.getClass().getSimpleName(), user)); //NOI18N @@ -190,16 +209,25 @@ public class FinancialsUserSessionBean extends BaseFinancialsDatabaseBean implem if (null == user) { // Abort here throw new NullPointerException("user is null"); //NOI18N + } else if (user.getUserName() == null) { + // Throw NPE + throw new NullPointerException("user.userName is null"); + } else if (user.getUserName().isEmpty()) { + // Throw IAE + throw new IllegalArgumentException("user.userName is empty"); + } else if (!this.ifUserExists(user)) { + // User does not exist + throw new UserNotFoundException(user); } // Try to locate it - Query query = this.getEntityManager().createNamedQuery("SearchUserByName", LoginUser.class); //NOI18N + final Query query = this.getEntityManager().createNamedQuery("SearchUserByName", LoginUser.class); //NOI18N // Set parameter query.setParameter("userName", user.getUserName()); //NOI18N // Initialize variable - User foundUser = null; + final User foundUser; // Try it try { @@ -208,6 +236,7 @@ public class FinancialsUserSessionBean extends BaseFinancialsDatabaseBean implem } catch (final NoResultException ex) { // Log it this.getLoggerBeanLocal().logException(ex); + return null; } // Trace message @@ -235,13 +264,13 @@ public class FinancialsUserSessionBean extends BaseFinancialsDatabaseBean implem } // Create query instance - Query query = this.getEntityManager().createNamedQuery("SearchUserById", LoginUser.class); //NOI18N + final Query query = this.getEntityManager().createNamedQuery("SearchUserById", LoginUser.class); //NOI18N // Set user id query.setParameter("id", userId); //NOI18N // Fetch the result, it should be there by now - User user = (User) query.getSingleResult(); + final User user = (User) query.getSingleResult(); // Trace message this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.findUserById: user={1} - EXIT!", this.getClass().getSimpleName(), user)); //NOI18N @@ -256,7 +285,7 @@ public class FinancialsUserSessionBean extends BaseFinancialsDatabaseBean implem this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.generateRandomUserName - CALLED!", this.getClass().getSimpleName())); //NOI18N // Get full list - List userList = this.getUserNameList(); + final List userList = this.allUserNames(); // Init variable String userName = null; @@ -281,10 +310,10 @@ public class FinancialsUserSessionBean extends BaseFinancialsDatabaseBean implem this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.getEmailAddressList: CALLED!", this.getClass().getSimpleName())); //NOI18N // Get query - Query query = this.getEntityManager().createNamedQuery("AllEmailAddresses", String.class); //NOI18N + final Query query = this.getEntityManager().createNamedQuery("AllEmailAddresses", String.class); //NOI18N // Get result list - List emailAddressList = query.getResultList(); + final List emailAddressList = query.getResultList(); // Trace message this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.getEmailAddressList: emailAddressList.size()={1} - EXIT!", this.getClass().getSimpleName(), emailAddressList.size())); //NOI18N @@ -293,25 +322,6 @@ public class FinancialsUserSessionBean extends BaseFinancialsDatabaseBean implem return emailAddressList; } - @Override - @SuppressWarnings ("unchecked") - public List getUserNameList () { - // Trace message - this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.getUserNameList: CALLED!", this.getClass().getSimpleName())); //NOI18N - - // Get query - Query query = this.getEntityManager().createNamedQuery("AllUserNames", String.class); //NOI18N - - // Get result list - List userNameList = query.getResultList(); - - // Trace message - this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.getUserNameList: userNameList.size()={1} - EXIT!", this.getClass().getSimpleName(), userNameList.size())); //NOI18N - - // Return it - return userNameList; - } - @Override public boolean ifUserExists (final User user) { // Trace message @@ -330,14 +340,15 @@ public class FinancialsUserSessionBean extends BaseFinancialsDatabaseBean implem } // Generate query - Query query = this.getEntityManager().createNamedQuery("SearchUserById", LoginUser.class); //NOI18N + final Query query = this.getEntityManager().createNamedQuery("SearchUserById", LoginUser.class); //NOI18N // Set parameter query.setParameter("id", user.getUserId()); //NOI18N // Try this try { - User dummy = (User) query.getSingleResult(); + // Try to get single result + final User dummy = (User) query.getSingleResult(); // Debug message this.getLoggerBeanLocal().logDebug(MessageFormat.format("ifUserExists: dummy.id={0} found.", dummy.getUserId())); //NOI18N @@ -377,14 +388,15 @@ public class FinancialsUserSessionBean extends BaseFinancialsDatabaseBean implem } // Generate query - Query query = this.getEntityManager().createNamedQuery("SearchUserById", LoginUser.class); //NOI18N + final Query query = this.getEntityManager().createNamedQuery("SearchUserById", LoginUser.class); //NOI18N // Set parameter query.setParameter("id", userId); //NOI18N // Try this try { - User dummy = (User) query.getSingleResult(); + // Try to get single result + final User dummy = (User) query.getSingleResult(); // Debug message this.getLoggerBeanLocal().logDebug(MessageFormat.format("{0}.ifUserIdExists: dummy.userId={1} found.", this.getClass().getSimpleName(), dummy.getUserId())); //NOI18N @@ -424,14 +436,15 @@ public class FinancialsUserSessionBean extends BaseFinancialsDatabaseBean implem } // Generate query - Query query = this.getEntityManager().createNamedQuery("SearchUserByName", LoginUser.class); //NOI18N + final Query query = this.getEntityManager().createNamedQuery("SearchUserByName", LoginUser.class); //NOI18N // Set parameter query.setParameter("userName", userName); //NOI18N // Try this try { - User dummy = (User) query.getSingleResult(); + // Try to get single result + final User dummy = (User) query.getSingleResult(); // Debug message this.getLoggerBeanLocal().logDebug(MessageFormat.format("{0}.ifUserNameExists: dummy.userId={1} found.", this.getClass().getSimpleName(), dummy.getUserId())); //NOI18N @@ -462,14 +475,15 @@ public class FinancialsUserSessionBean extends BaseFinancialsDatabaseBean implem } // Generate query - Query query = this.getEntityManager().createNamedQuery("SearchUserByEmailAddress", LoginUser.class); //NOI18N + final Query query = this.getEntityManager().createNamedQuery("SearchUserByEmailAddress", LoginUser.class); //NOI18N // Set parameter query.setParameter("emailAddress", user.getUserContact().getContactEmailAddress()); //NOI18N // Search for it try { - User dummy = (User) query.getSingleResult(); + // Try to get single result + final User dummy = (User) query.getSingleResult(); // Debug message this.getLoggerBeanLocal().logDebug(MessageFormat.format("{0}.isEmailAddressRegistered: dummy.userId={1} found.", this.getClass().getSimpleName(), dummy.getUserId())); //NOI18N @@ -506,14 +520,15 @@ public class FinancialsUserSessionBean extends BaseFinancialsDatabaseBean implem } // Generate query - Query query = this.getEntityManager().createNamedQuery("SearchUserByName", LoginUser.class); //NOI18N + final Query query = this.getEntityManager().createNamedQuery("SearchUserByName", LoginUser.class); //NOI18N // Set parameter query.setParameter("userName", user.getUserName()); //NOI18N // Try this try { - User dummy = (User) query.getSingleResult(); + // Try to get single result + final User dummy = (User) query.getSingleResult(); // Debug message this.getLoggerBeanLocal().logDebug(MessageFormat.format("{0}.isUserNameRegistered: dummy.userId={1} found.", this.getClass().getSimpleName(), dummy.getUserId())); //NOI18N @@ -565,13 +580,13 @@ public class FinancialsUserSessionBean extends BaseFinancialsDatabaseBean implem user.setUserContact(null); // Find the instance - User foundUser = this.getEntityManager().find(user.getClass(), user.getUserId()); + final User foundUser = this.getEntityManager().find(user.getClass(), user.getUserId()); // Should be found! assert (foundUser instanceof User) : MessageFormat.format("User with id {0} not found, but should be.", user.getUserId()); //NOI18N // Merge user - User managedUser = this.getEntityManager().merge(foundUser); + final User managedUser = this.getEntityManager().merge(foundUser); // Should be found! assert (managedUser instanceof User) : MessageFormat.format("User with id {0} not merged, but should be.", managedUser.getUserId()); //NOI18N @@ -637,7 +652,7 @@ public class FinancialsUserSessionBean extends BaseFinancialsDatabaseBean implem } // Call other method - User managedUser = this.updateUserData(user); + final User managedUser = this.updateUserData(user); // Update user account managedUser.setUserUpdated(new GregorianCalendar()); @@ -649,7 +664,7 @@ public class FinancialsUserSessionBean extends BaseFinancialsDatabaseBean implem entry.setUserPasswordHistoryCreated(new GregorianCalendar()); // Merge user to make sure it is not re-persisted - User mergedUser = this.getEntityManager().merge(managedUser); + final User mergedUser = this.getEntityManager().merge(managedUser); entry.setUserPasswordHistoryUser(mergedUser); // Persist it @@ -692,7 +707,7 @@ public class FinancialsUserSessionBean extends BaseFinancialsDatabaseBean implem } // Find the instance - User managedUser = this.getEntityManager().find(user.getClass(), user.getUserId()); + final User managedUser = this.getEntityManager().find(user.getClass(), user.getUserId()); // Should be found! assert (managedUser instanceof User) : MessageFormat.format("User with id {0} not found, but should be.", user.getUserId()); //NOI18N @@ -705,7 +720,7 @@ public class FinancialsUserSessionBean extends BaseFinancialsDatabaseBean implem managedUser.getUserContact().setContactUpdated(new GregorianCalendar()); // Get contact from it and find it - Contact foundContact = this.getEntityManager().find(managedUser.getUserContact().getClass(), managedUser.getUserContact().getContactId()); + final Contact foundContact = this.getEntityManager().find(managedUser.getUserContact().getClass(), managedUser.getUserContact().getContactId()); // Should be found assert (foundContact instanceof Contact) : MessageFormat.format("Contact with id {0} not found, but should be.", managedUser.getUserContact().getContactId()); //NOI18N @@ -714,7 +729,7 @@ public class FinancialsUserSessionBean extends BaseFinancialsDatabaseBean implem this.getLoggerBeanLocal().logDebug(MessageFormat.format("updateUserPersonalData: contact.contactId={0}", foundContact.getContactId())); //NOI18N // Merge contact instance - Contact managedContact = this.getEntityManager().merge(foundContact); + final Contact managedContact = this.getEntityManager().merge(foundContact); // Copy all ContactUtils.copyAll(managedUser.getUserContact(), managedContact); @@ -726,7 +741,7 @@ public class FinancialsUserSessionBean extends BaseFinancialsDatabaseBean implem assert (managedContact instanceof Contact) : MessageFormat.format("Contact with id {0} not merged, but should be.", managedUser.getUserContact().getContactId()); //NOI18N // Get mobile instance - DialableMobileNumber mobileNumber = managedContact.getContactMobileNumber(); + final DialableMobileNumber mobileNumber = managedContact.getContactMobileNumber(); // Is there a mobile instance set? if (mobileNumber instanceof DialableMobileNumber) { @@ -734,13 +749,13 @@ public class FinancialsUserSessionBean extends BaseFinancialsDatabaseBean implem this.getLoggerBeanLocal().logDebug(MessageFormat.format("updateUserPersonalData: mobile.phoneId={0} is being updated ...", mobileNumber.getPhoneId())); //NOI18N // Then find it, too - DialableMobileNumber foundMobile = this.getEntityManager().find(mobileNumber.getClass(), mobileNumber.getPhoneId()); + final DialableMobileNumber foundMobile = this.getEntityManager().find(mobileNumber.getClass(), mobileNumber.getPhoneId()); // Should be there assert (foundMobile instanceof DialableMobileNumber) : MessageFormat.format("Mobile number with id {0} not found but should be.", foundMobile.getPhoneId()); //NOI18N // Then merge it, too - DialableMobileNumber managedMobile = this.getEntityManager().merge(foundMobile); + final DialableMobileNumber managedMobile = this.getEntityManager().merge(foundMobile); // Should be there assert (managedMobile instanceof DialableMobileNumber) : MessageFormat.format("Mobile number with id {0} not found but should be.", managedMobile.getPhoneId()); //NOI18N @@ -753,7 +768,7 @@ public class FinancialsUserSessionBean extends BaseFinancialsDatabaseBean implem } // Get mobile instance - DialableFaxNumber faxNumber = managedContact.getContactFaxNumber(); + final DialableFaxNumber faxNumber = managedContact.getContactFaxNumber(); // Is there a fax instance set? if (faxNumber instanceof DialableFaxNumber) { @@ -761,13 +776,13 @@ public class FinancialsUserSessionBean extends BaseFinancialsDatabaseBean implem this.getLoggerBeanLocal().logDebug(MessageFormat.format("updateUserPersonalData: fax.phoneId={0} is being updated ...", faxNumber.getPhoneId())); //NOI18N // Then find it, too - DialableFaxNumber foundFax = this.getEntityManager().find(faxNumber.getClass(), faxNumber.getPhoneId()); + final DialableFaxNumber foundFax = this.getEntityManager().find(faxNumber.getClass(), faxNumber.getPhoneId()); // Should be there assert (foundFax instanceof DialableFaxNumber) : MessageFormat.format("Fax number with id {0} not found but should be.", foundFax.getPhoneId()); //NOI18N // Then merge it, too - DialableFaxNumber managedFax = this.getEntityManager().merge(foundFax); + final DialableFaxNumber managedFax = this.getEntityManager().merge(foundFax); // Should be there assert (managedFax instanceof DialableFaxNumber) : MessageFormat.format("Fax number with id {0} not found but should be.", managedFax.getPhoneId()); //NOI18N @@ -780,7 +795,7 @@ public class FinancialsUserSessionBean extends BaseFinancialsDatabaseBean implem } // Get mobile instance - DialableLandLineNumber landLineNumber = managedContact.getContactLandLineNumber(); + final DialableLandLineNumber landLineNumber = managedContact.getContactLandLineNumber(); // Is there a fax instance set? if (landLineNumber instanceof DialableLandLineNumber) { @@ -788,13 +803,13 @@ public class FinancialsUserSessionBean extends BaseFinancialsDatabaseBean implem this.getLoggerBeanLocal().logDebug(MessageFormat.format("updateUserPersonalData: landLine.phoneId={0} is being updated ...", landLineNumber.getPhoneId())); //NOI18N // Then find it, too - DialableLandLineNumber foundLandLine = this.getEntityManager().find(landLineNumber.getClass(), landLineNumber.getPhoneId()); + final DialableLandLineNumber foundLandLine = this.getEntityManager().find(landLineNumber.getClass(), landLineNumber.getPhoneId()); // Should be there assert (foundLandLine instanceof DialableLandLineNumber) : MessageFormat.format("Land line number with id {0} not found but should be.", foundLandLine.getPhoneId()); //NOI18N // Then merge it, too - DialableLandLineNumber managedLandLine = this.getEntityManager().merge(foundLandLine); + final DialableLandLineNumber managedLandLine = this.getEntityManager().merge(foundLandLine); // Should be there assert (managedLandLine instanceof DialableLandLineNumber) : MessageFormat.format("Land line number with id {0} not found but should be.", managedLandLine.getPhoneId()); //NOI18N diff --git a/src/java/org/mxchange/jusercore/model/user/activity/FinancialsUserActivityLogMessageBean.java b/src/java/org/mxchange/jusercore/model/user/activity/FinancialsUserActivityLogMessageBean.java index 067a3c6..11e55ca 100644 --- a/src/java/org/mxchange/jusercore/model/user/activity/FinancialsUserActivityLogMessageBean.java +++ b/src/java/org/mxchange/jusercore/model/user/activity/FinancialsUserActivityLogMessageBean.java @@ -76,10 +76,10 @@ public class FinancialsUserActivityLogMessageBean extends BaseFinancialsDatabase } // Securely cast it - ObjectMessage objectMessage = (ObjectMessage) message; + final ObjectMessage objectMessage = (ObjectMessage) message; // Init variable - Serializable serializable; + final Serializable serializable; try { // Get object from message @@ -103,7 +103,7 @@ public class FinancialsUserActivityLogMessageBean extends BaseFinancialsDatabase } // Securely cast it - LogableUserActivity userActivity = (LogableUserActivity) serializable; + final LogableUserActivity userActivity = (LogableUserActivity) serializable; // Should be valid if (null == userActivity) { @@ -136,7 +136,7 @@ public class FinancialsUserActivityLogMessageBean extends BaseFinancialsDatabase } // Make user instance managed - User managedUser = this.getManagedUser(userActivity.getActivityUser()); + final User managedUser = this.getManagedUser(userActivity.getActivityUser()); // Set it back userActivity.setActivityUser(managedUser); diff --git a/src/java/org/mxchange/jusercore/model/user/email_address/FinancialsUserEmailChangeSessionBean.java b/src/java/org/mxchange/jusercore/model/user/email_address/FinancialsUserEmailChangeSessionBean.java index 8bad7f3..7cc0c20 100644 --- a/src/java/org/mxchange/jusercore/model/user/email_address/FinancialsUserEmailChangeSessionBean.java +++ b/src/java/org/mxchange/jusercore/model/user/email_address/FinancialsUserEmailChangeSessionBean.java @@ -64,10 +64,10 @@ public class FinancialsUserEmailChangeSessionBean extends BaseFinancialsDatabase this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.allQueuedAddresses: CALLED!", this.getClass().getSimpleName())); //NOI18N // Get named query - Query query = this.getEntityManager().createNamedQuery("AllEmailAddressChanges", String.class); //NOI18N + final Query query = this.getEntityManager().createNamedQuery("AllEmailAddressChanges", String.class); //NOI18N // Get all entries - List emailAddresses = query.getResultList(); + final List emailAddresses = query.getResultList(); // Trace message this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.allQueuedAddresses: emailAddresses.size()={1} - EXIT!", this.getClass().getSimpleName(), emailAddresses.size())); //NOI18N @@ -125,7 +125,7 @@ public class FinancialsUserEmailChangeSessionBean extends BaseFinancialsDatabase this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.isEmailAddressEnqueued: emailAddress={1} - CALLED!", this.getClass().getSimpleName(), emailAddress)); //NOI18N // Create query instance - Query query = this.getEntityManager().createNamedQuery("SearchEmailChangeByEmail"); //NOI18N + final Query query = this.getEntityManager().createNamedQuery("SearchEmailChangeByEmail"); //NOI18N // Add email address as parameter query.setParameter("email", emailAddress); //NOI18N @@ -136,7 +136,7 @@ public class FinancialsUserEmailChangeSessionBean extends BaseFinancialsDatabase // Try it try { // Try to get single result - ChangeableEmailAddress dummy = (ChangeableEmailAddress) query.getSingleResult(); + final ChangeableEmailAddress dummy = (ChangeableEmailAddress) query.getSingleResult(); // Found it isFound = true; @@ -209,7 +209,7 @@ public class FinancialsUserEmailChangeSessionBean extends BaseFinancialsDatabase hash = UserLoginUtils.encryptPassword(String.format("%s:%s", emailAddress.getEmailAddress(), emailAddress.toString())); //NOI18N // The hash *may* be unique, better test it - Query query = this.getEntityManager().createNamedQuery("SearchEmailChangeByHash", EmailAddressChange.class); //NOI18N + final Query query = this.getEntityManager().createNamedQuery("SearchEmailChangeByHash", EmailAddressChange.class); //NOI18N // Set hash as parameter query.setParameter("hash", hash); //NOI18N @@ -217,7 +217,7 @@ public class FinancialsUserEmailChangeSessionBean extends BaseFinancialsDatabase // Try to get single result try { // Get single result - ChangeableEmailAddress dummy = (ChangeableEmailAddress) query.getSingleResult(); + final ChangeableEmailAddress dummy = (ChangeableEmailAddress) query.getSingleResult(); } catch (final NoResultException ex) { // Not found isUsed = false; diff --git a/src/java/org/mxchange/jusercore/model/user/password_history/FinancialsUserPasswordHistorySessionBean.java b/src/java/org/mxchange/jusercore/model/user/password_history/FinancialsUserPasswordHistorySessionBean.java index 531efc3..2166661 100644 --- a/src/java/org/mxchange/jusercore/model/user/password_history/FinancialsUserPasswordHistorySessionBean.java +++ b/src/java/org/mxchange/jusercore/model/user/password_history/FinancialsUserPasswordHistorySessionBean.java @@ -63,13 +63,13 @@ public class FinancialsUserPasswordHistorySessionBean extends BaseFinancialsData } // Get named query - Query query = this.getEntityManager().createNamedQuery("AllUsersHistoryEntries", UserPasswordHistory.class); //NOI18N + final Query query = this.getEntityManager().createNamedQuery("AllUsersHistoryEntries", UserPasswordHistory.class); //NOI18N // Set parameter query.setParameter("user", user); //NOI18N // Get full history - List history = query.getResultList(); + final List history = query.getResultList(); // Trace message this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.getUserPasswordHistory(): history.size()={1} - EXIT !", this.getClass().getSimpleName(), history.size())); //NOI18N diff --git a/src/java/org/mxchange/juserlogincore/model/user/login/FinancialsUserLoginSessionBean.java b/src/java/org/mxchange/juserlogincore/model/user/login/FinancialsUserLoginSessionBean.java index fafee22..d2b5a49 100644 --- a/src/java/org/mxchange/juserlogincore/model/user/login/FinancialsUserLoginSessionBean.java +++ b/src/java/org/mxchange/juserlogincore/model/user/login/FinancialsUserLoginSessionBean.java @@ -95,7 +95,7 @@ public class FinancialsUserLoginSessionBean extends BaseFinancialsDatabaseBean i } // Get user instance from persistance - User updatedUser = this.userBean.fillUserData(container.getUser()); + final User updatedUser = this.userBean.fillUserData(container.getUser()); // Debug message this.getLoggerBeanLocal().logDebug(MessageFormat.format("loginUser: updatedUser={0}", updatedUser)); //NOI18N diff --git a/src/java/org/mxchange/juserlogincore/model/user/register/FinancialsUserRegistrationSessionBean.java b/src/java/org/mxchange/juserlogincore/model/user/register/FinancialsUserRegistrationSessionBean.java index 4431b66..b7fa53f 100644 --- a/src/java/org/mxchange/juserlogincore/model/user/register/FinancialsUserRegistrationSessionBean.java +++ b/src/java/org/mxchange/juserlogincore/model/user/register/FinancialsUserRegistrationSessionBean.java @@ -77,7 +77,7 @@ public class FinancialsUserRegistrationSessionBean extends BaseFinancialsDatabas } // Create named instance - Query query = this.getEntityManager().createNamedQuery("SearchUserByConfirmKey", LoginUser.class); //NOI18N + final Query query = this.getEntityManager().createNamedQuery("SearchUserByConfirmKey", LoginUser.class); //NOI18N // Init confirmation key String confirmationKey = null; @@ -85,7 +85,7 @@ public class FinancialsUserRegistrationSessionBean extends BaseFinancialsDatabas // Find a free one while (confirmationKey == null) { // Create new one - String key = UserLoginUtils.generatedConfirmationKey(user); + final String key = UserLoginUtils.generatedConfirmationKey(user); // Set key as parameter query.setParameter("confirmKey", key); //NOI18N @@ -93,7 +93,7 @@ public class FinancialsUserRegistrationSessionBean extends BaseFinancialsDatabas // Try it try { // Get contact instance - Contact contact = (Contact) query.getSingleResult(); + final Contact contact = (Contact) query.getSingleResult(); // Warning message this.getLoggerBeanLocal().logWarning(MessageFormat.format("{0}.generateConfirmationKey: key {1} already found: contact.contactId={2}", this.getClass().getSimpleName(), key, contact.getContactId())); //NOI18N @@ -177,7 +177,7 @@ public class FinancialsUserRegistrationSessionBean extends BaseFinancialsDatabas } // Call other EJB - User addedUser = this.adminUserBean.addUser(user); + final User addedUser = this.adminUserBean.addUser(user); // Default template is with no random password String templateName = "user_registration"; //NOI18N diff --git a/src/java/org/mxchange/juserlogincore/model/user/resendlink/FinancialsResendLinkSessionBean.java b/src/java/org/mxchange/juserlogincore/model/user/resendlink/FinancialsResendLinkSessionBean.java index 333d934..b2e1e62 100644 --- a/src/java/org/mxchange/juserlogincore/model/user/resendlink/FinancialsResendLinkSessionBean.java +++ b/src/java/org/mxchange/juserlogincore/model/user/resendlink/FinancialsResendLinkSessionBean.java @@ -96,13 +96,13 @@ public class FinancialsResendLinkSessionBean extends BaseFinancialsDatabaseBean } // Get new registration key - String confirmationKey = this.registerBean.generateConfirmationKey(user); + final String confirmationKey = this.registerBean.generateConfirmationKey(user); // Debug message this.getLoggerBeanLocal().logDebug(MessageFormat.format("{0}.resendConfirmationLink: confirmationKey={1}", this.getClass().getSimpleName(), confirmationKey)); //NOI18N // Get managed instance - User managedUser = this.getEntityManager().find(LoginUser.class, user.getUserId()); + final User managedUser = this.getEntityManager().find(LoginUser.class, user.getUserId()); // Set it in user managedUser.setUserConfirmKey(confirmationKey); -- 2.39.5