]> git.mxchange.org Git - jjobs-ejb.git/commitdiff
Please cherry-pick:
authorRoland Häder <roland@mxchange.org>
Thu, 16 Apr 2020 20:04:23 +0000 (22:04 +0200)
committerRoland Häder <roland@mxchange.org>
Fri, 17 Apr 2020 16:42:06 +0000 (18:42 +0200)
- renamed allFoos() to fetchAllFoos()
- cleanup of deprecated/no longer needed business methods as fetchAllFoos() can
  be used instead
- splitted mobile number relevant business methods into separate EJB, this
  allows better load-balancing on servers with many CPU cores
- UserLoginSessionBean is now superflous and can be removed

Signed-off-by: Roland Häder <roland@mxchange.org>
24 files changed:
src/java/org/mxchange/jcontacts/model/contact/JobsAdminContactSessionBean.java
src/java/org/mxchange/jcontacts/model/contact/JobsContactSessionBean.java
src/java/org/mxchange/jcontactsbusiness/model/basicdata/JobsAdminBusinessDataSessionBean.java
src/java/org/mxchange/jcontactsbusiness/model/basicdata/JobsBusinessDataSessionBean.java
src/java/org/mxchange/jcontactsbusiness/model/branchoffice/JobsAdminBranchOfficeSessionBean.java
src/java/org/mxchange/jcontactsbusiness/model/branchoffice/JobsBranchOfficeSessionBean.java
src/java/org/mxchange/jcontactsbusiness/model/department/JobsAdminDepartmentSessionBean.java
src/java/org/mxchange/jcontactsbusiness/model/department/JobsDepartmentSessionBean.java
src/java/org/mxchange/jcontactsbusiness/model/employee/JobsAdminCompanyEmployeeSessionBean.java
src/java/org/mxchange/jcontactsbusiness/model/employee/JobsCompanyEmployeeSessionBean.java
src/java/org/mxchange/jcontactsbusiness/model/headquarter/JobsAdminHeadquarterSessionBean.java
src/java/org/mxchange/jcontactsbusiness/model/headquarter/JobsHeadquarterSessionBean.java
src/java/org/mxchange/jcontactsbusiness/model/opening_time/JobsAdminOpeningTimesSessionBean.java
src/java/org/mxchange/jcontactsbusiness/model/opening_time/JobsOpeningTimesSessionBean.java
src/java/org/mxchange/jcountry/model/data/JobsAdminCountrySingletonBean.java
src/java/org/mxchange/jcountry/model/data/JobsCountrySingletonBean.java
src/java/org/mxchange/jphone/model/phonenumbers/mobile/FinancialsAdminMobileSessionBean.java [new file with mode: 0644]
src/java/org/mxchange/jphone/model/phonenumbers/mobile/FinancialsMobileSessionBean.java [new file with mode: 0644]
src/java/org/mxchange/jphone/model/phonenumbers/mobileprovider/JobsMobileProviderSingletonBean.java
src/java/org/mxchange/jphone/model/phonenumbers/phone/JobsAdminPhoneSessionBean.java
src/java/org/mxchange/jphone/model/phonenumbers/phone/JobsPhoneSessionBean.java
src/java/org/mxchange/jusercore/model/user/JobsUserSessionBean.java
src/java/org/mxchange/jusercore/model/user/email_address/JobsUserEmailChangeSessionBean.java
src/java/org/mxchange/jusercore/model/user/password_history/JobsUserPasswordHistorySessionBean.java

index 5897e08cfad79a8eb29132fff70444b5eb35dfaf..81a88c38bfdb73f199b7aabf857324089bd6a63a 100644 (file)
@@ -130,7 +130,7 @@ public class JobsAdminContactSessionBean extends BaseJobsEnterpriseBean implemen
                boolean isFound = false;
 
                // Fest all entries and iterate over them
-               for (final Contact currentContact : this.contactBean.allContacts()) {
+               for (final Contact currentContact : this.contactBean.fetchAllContacts()) {
                        // Is found?
                        if (Objects.equals(contact, currentContact)) {
                                // Yes, found the same
index 77180126554e9a2f51b827a267216a1c2893bf79..8134a24843228cb0753ab92416f37bda0e4cd7f9 100644 (file)
@@ -18,7 +18,6 @@ package org.mxchange.jcontacts.model.contact;
 
 import java.text.MessageFormat;
 import java.util.List;
-import java.util.Objects;
 import javax.ejb.Stateless;
 import javax.persistence.NoResultException;
 import javax.persistence.Query;
@@ -48,7 +47,7 @@ public class JobsContactSessionBean extends BaseJobsEnterpriseBean implements Co
 
        @Override
        @SuppressWarnings ("unchecked")
-       public List<Contact> allContacts () {
+       public List<Contact> fetchAllContacts () {
                // Log trace message
                this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.getAllContacts - CALLED!", this.getClass().getSimpleName())); //NOI18N
 
@@ -65,58 +64,6 @@ public class JobsContactSessionBean extends BaseJobsEnterpriseBean implements Co
                return contacts;
        }
 
-       @Override
-       public Contact lookupContact (final Contact contact) {
-               // Log trace message
-               this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.isContactFound: contact={1} - CALLED!", this.getClass().getSimpleName(), contact)); //NOI18N
-
-               // Parameter should be valid
-               if (null == contact) {
-                       // Throw NPE
-                       throw new NullPointerException("contact is null"); //NOI18N
-               } else if (contact.getContactId() > 0) {
-                       try {
-                               // Id set, ask other method
-                               return this.findContactById(contact.getContactId());
-                       } catch (final ContactNotFoundException ex) {
-                               // Not found, should not happen
-                               throw new IllegalStateException(MessageFormat.format("contact.contactId={0} is set, but not found.", contact.getContactId()), ex); //NOI18N
-                       }
-               }
-
-               // Default is not found
-               Contact foundContact = null;
-
-               // Get whole list
-               final List<Contact> contacts = this.allContacts();
-
-               // Is the list empty?
-               if (contacts.isEmpty()) {
-                       // Then abort here
-                       this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.isContactFound: No contacts registered, returning NULL ...", this.getClass().getSimpleName())); //NOI18N
-                       return null;
-               }
-
-               // Loop through all
-               for (final Contact currentContact : contacts) {
-                       // Is same contact?
-                       if ((Objects.equals(contact, currentContact)) || (Contacts.isSameContact(contact, currentContact))) {
-                               // Debug message
-                               this.getLoggerBeanLocal().logDebug(MessageFormat.format("{0}.isContactFound: Found same contact: contactId={1}", this.getClass().getSimpleName(), currentContact.getContactId())); //NOI18N
-
-                               // Found it
-                               foundContact = currentContact;
-                               break;
-                       }
-               }
-
-               // Trace message
-               this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.isContactFound: foundContact={1} - EXIT!", this.getClass().getSimpleName(), foundContact)); //NOI18N
-
-               // Return found contact
-               return foundContact;
-       }
-
        @Override
        public Contact updateContactData (final Contact contact, final boolean isCellphoneUnlinked, final boolean isLandlineUnlinked, final boolean isFaxUnlinked) {
                // Log trace message
index ffc02d4acd76acda189b9e17eb30a40f4c5dac81..8dd02565542604bd7d60d83781d8ae3655154488 100644 (file)
@@ -147,7 +147,7 @@ public class JobsAdminBusinessDataSessionBean extends BaseJobsEnterpriseBean imp
                boolean isFound = false;
 
                // Then check each entry
-               for (final BasicData currentBasicData : this.businessDataBean.allBusinessBasicData()) {
+               for (final BasicData currentBasicData : this.businessDataBean.fetchAllBusinessBasicData()) {
                        // Is the company name matching?
                        if (Objects.equals(currentBasicData.getCompanyName(), basicData.getCompanyName())) {
                                // Found match
@@ -171,7 +171,7 @@ public class JobsAdminBusinessDataSessionBean extends BaseJobsEnterpriseBean imp
                boolean isFound = false;
 
                // Then check each entry
-               for (final BasicData currentBasicData : this.businessDataBean.allBusinessBasicData()) {
+               for (final BasicData currentBasicData : this.businessDataBean.fetchAllBusinessBasicData()) {
                        // Is the company name matching?
                        if (Objects.equals(currentBasicData.getCompanyShortName(), basicData.getCompanyShortName())) {
                                // Found match
index fed510124258842a96c5ac79ecccc4b0a2973998..792540d255185f89674719b1d73fe45254c05a6d 100644 (file)
@@ -45,7 +45,7 @@ public class JobsBusinessDataSessionBean extends BaseJobsEnterpriseBean implemen
 
        @Override
        @SuppressWarnings ("unchecked")
-       public List<BasicData> allBusinessBasicData () {
+       public List<BasicData> fetchAllBusinessBasicData () {
                // Trace message
                this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.allBusinessContacts: CALLED!", this.getClass().getSimpleName())); //NOI18N
 
index 84ece40ddbff12f67e60510099ad8ba4469a96eb..7ea449febb78fe5b7196004694c613b4609a03b8 100644 (file)
@@ -73,7 +73,7 @@ public class JobsAdminBranchOfficeSessionBean extends BaseJobsEnterpriseBean imp
                }
 
                // Add created timestamp
-               branchOffice.setBranchCreated(new Date());
+               branchOffice.setBranchEntryCreated(new Date());
 
                // Is user instance set?
                if (branchOffice.getBranchCompany() instanceof BasicData) {
@@ -141,7 +141,7 @@ public class JobsAdminBranchOfficeSessionBean extends BaseJobsEnterpriseBean imp
         */
        private boolean isBranchOfficeFound (final BranchOffice branchOffice) {
                // Get whole list
-               final List<BranchOffice> branchOffices = this.branchOfficeBean.allBranchOffices();
+               final List<BranchOffice> branchOffices = this.branchOfficeBean.fetchAllBranchOffices();
 
                // Default is not found
                boolean isFound = false;
index 76fa5f3d514eac63b0c6bff7ea5132cb76624192..76b81c09c6ee77caca8a36385beb2b10f73b47c3 100644 (file)
@@ -37,7 +37,7 @@ public class JobsBranchOfficeSessionBean extends BaseJobsEnterpriseBean implemen
 
        @Override
        @SuppressWarnings ("unchecked")
-       public List<BranchOffice> allBranchOffices () {
+       public List<BranchOffice> fetchAllBranchOffices () {
                // Trace message
                this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.allBranchOffices: CALLED!", this.getClass().getSimpleName())); //NOI18N
 
index 822c0ce806ade6aceec626edd29d776a5447f9f3..ef83f967757819d908b92b7364ea8603a43938c0 100644 (file)
@@ -154,7 +154,7 @@ public class JobsAdminDepartmentSessionBean extends BaseJobsEnterpriseBean imple
         */
        private boolean isDepartmentFound (final Department department) {
                // Get whole list
-               final List<Department> departments = this.departmentBean.allDepartments();
+               final List<Department> departments = this.departmentBean.fetchAllDepartments();
 
                // Default is not found
                boolean isFound = false;
index 2d10748fc159fdcf0cfdadcde7a2d9487c438976..9082de97ee0c3d75d29df15637bc8a641854fc1d 100644 (file)
@@ -37,7 +37,7 @@ public class JobsDepartmentSessionBean extends BaseJobsEnterpriseBean implements
 
        @Override
        @SuppressWarnings ("unchecked")
-       public List<Department> allDepartments () {
+       public List<Department> fetchAllDepartments () {
                // Trace message
                this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.allDepartments: CALLED!", this.getClass().getSimpleName())); //NOI18N
 
index 3eb5489f71603cb2a542127c51b1a15e7478ab6b..49097ee8d20f7a2ec97240f15e9779c2dfa4f80a 100644 (file)
@@ -207,7 +207,7 @@ public class JobsAdminCompanyEmployeeSessionBean extends BaseJobsEnterpriseBean
                }
 
                // Set created timestamp
-               employee.setEmployeeCreated(new Date());
+               employee.setEmployeeEntryCreated(new Date());
 
                // Persist it
                this.getEntityManager().persist(employee);
@@ -231,7 +231,7 @@ public class JobsAdminCompanyEmployeeSessionBean extends BaseJobsEnterpriseBean
                boolean isFound = false;
 
                // Check all entries
-               for (final Employable otherEmployee : this.employeeBean.allEmployees()) {
+               for (final Employable otherEmployee : this.employeeBean.fetchAllEmployees()) {
                        // Is same found?
                        if (Employees.isSameEmployeeFound(employee, otherEmployee)) {
                                // Found it
index e2fc2c1f6666bfd2953230ac3022a37e75d7d95f..015378a33cadca02d60e3ebb623e6fb4ceb9ed88 100644 (file)
@@ -44,7 +44,7 @@ public class JobsCompanyEmployeeSessionBean extends BaseJobsEnterpriseBean imple
 
        @Override
        @SuppressWarnings ("unchecked")
-       public List<Employable> allEmployees () {
+       public List<Employable> fetchAllEmployees () {
                // Trace message
                this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.allEmployees(): CALLED!", this.getClass().getSimpleName())); //NOI18N
 
index 46e7814bbc20f331a0f4241702604bc773246393..1817944783ab26ad5dd6ebf8463d0b9eabc1a83a 100644 (file)
@@ -131,7 +131,7 @@ public class JobsAdminHeadquarterSessionBean extends BaseJobsEnterpriseBean impl
         */
        private boolean isHeadquarterFound (final Headquarter headquarter) {
                // Get whole list
-               final List<Headquarter> headquarters = this.headquarterBean.allHeadquarters();
+               final List<Headquarter> headquarters = this.headquarterBean.fetchAllHeadquarters();
 
                // Default is not found
                boolean isFound = false;
index 75f03710db30455facb465860ccce0970a8e08da..3164719e826c6fa0a748670ddf9e705099c8e053 100644 (file)
@@ -37,7 +37,7 @@ public class JobsHeadquarterSessionBean extends BaseJobsEnterpriseBean implement
 
        @Override
        @SuppressWarnings ("unchecked")
-       public List<Headquarter> allHeadquarters () {
+       public List<Headquarter> fetchAllHeadquarters () {
                // Trace message
                this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.allHeadquarters: CALLED!", this.getClass().getSimpleName())); //NOI18N
 
index 5b7994c06713271ffe7aa2f492418ef43d938c0f..37f1e1aaa6ab4cf27f12b1d1265f3df69c25ffc5 100644 (file)
@@ -51,7 +51,7 @@ public class JobsAdminOpeningTimesSessionBean extends BaseJobsEnterpriseBean imp
                if (null == openingTime) {
                        // Throw NPE
                        throw new NullPointerException("openingTime is null"); //NOI18N
-               } else if (openingTime.getOpeningId() instanceof Long) {
+               } else if (openingTime.getOpeningTimeId() instanceof Long) {
                        // Should not happen
                        throw new IllegalArgumentException("openingTime.openingId should not be set."); //NOI18N
                } else if (openingTime.getOpeningStartDay()== null) {
@@ -69,13 +69,13 @@ public class JobsAdminOpeningTimesSessionBean extends BaseJobsEnterpriseBean imp
                }
 
                // Set created timestamp
-               openingTime.setOpeningCreated(new Date());
+               openingTime.setOpeningTimeEntryCreated(new Date());
 
                // Persist it
                this.getEntityManager().persist(openingTime);
 
                // Trace message
-               this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.addOpeningTimes(): openingTime.openingId={1} - EXIT!", this.getClass().getSimpleName(), openingTime.getOpeningId())); //NOI18N
+               this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.addOpeningTimes(): openingTime.openingId={1} - EXIT!", this.getClass().getSimpleName(), openingTime.getOpeningTimeId())); //NOI18N
 
                // Return updated instance
                return openingTime;
index 19fb56addd13e51a630a88301417ab30c5b9ca25..eef95bb6a36fdcab3b75c46754900ce1ddb339a4 100644 (file)
@@ -37,7 +37,7 @@ public class JobsOpeningTimesSessionBean extends BaseJobsEnterpriseBean implemen
 
        @Override
        @SuppressWarnings ("unchecked")
-       public List<OpeningTime> allOpeningTimes () {
+       public List<OpeningTime> fetchAllOpeningTimes () {
                // Trace message
                this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.allOpeningTimes: CALLED!", this.getClass().getSimpleName())); //NOI18N
 
index 5265d00160650d8c2e374607b602e66919ee00b9..776137636026cecc73a5163880ce8946035126ff 100644 (file)
@@ -114,7 +114,7 @@ public class JobsAdminCountrySingletonBean extends BaseJobsEnterpriseBean implem
                boolean isAdded = false;
 
                // Try to match code/i18n key (should be both unique!)
-               for (final Country currentCountry : this.countryBean.allCountries()) {
+               for (final Country currentCountry : this.countryBean.fetchAllCountries()) {
                        // Is it matching
                        if (Objects.equals(country, currentCountry)) {
                                // Yes, then set flag and abort loop
index f3b9aed82b7b27d0db0f4980da80406e6d321b8a..98592d086635644b0ca7e8732690be8e2d79b438 100644 (file)
@@ -47,7 +47,7 @@ public class JobsCountrySingletonBean extends BaseJobsEnterpriseBean implements
 
        @Override
        @SuppressWarnings ("unchecked")
-       public List<Country> allCountries () {
+       public List<Country> fetchAllCountries () {
                // Trace message
                this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.allCountries: CALLED!", this.getClass().getSimpleName())); //NOI18N
 
diff --git a/src/java/org/mxchange/jphone/model/phonenumbers/mobile/FinancialsAdminMobileSessionBean.java b/src/java/org/mxchange/jphone/model/phonenumbers/mobile/FinancialsAdminMobileSessionBean.java
new file mode 100644 (file)
index 0000000..5040db6
--- /dev/null
@@ -0,0 +1,139 @@
+/*
+ * Copyright (C) 2016 - 2020 Free Software Foundation
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+package org.mxchange.jphone.model.phonenumbers.mobile;
+
+import java.text.MessageFormat;
+import java.util.Date;
+import javax.ejb.Stateless;
+import org.mxchange.jfinancials.enterprise.BaseFinancialsEnterpriseBean;
+
+/**
+ * An EJB for administrative mobile number purposes
+ * <p>
+ * @author Roland Häder<roland@mxchange.org>
+ */
+@Stateless (name = "adminMobile", description = "An administrative bean handling mobile number data")
+public class FinancialsAdminMobileSessionBean extends BaseFinancialsEnterpriseBean implements AdminMobileSessionBeanRemote {
+
+       /**
+        * Serial number
+        */
+       private static final long serialVersionUID = 18_597_165_817_401_854L;
+
+       /**
+        * Default constructor
+        */
+       public FinancialsAdminMobileSessionBean () {
+               // Call super constructor
+               super();
+       }
+
+       @Override
+       public void deleteMobileData (final DialableMobileNumber mobileNumber) {
+               // Trace message
+               this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.deleteMobileData: mobileNumber={1} - CALLED!", this.getClass().getSimpleName(), mobileNumber));
+
+               // Is all data set
+               if (null == mobileNumber) {
+                       // Not set, throw NPE
+                       throw new NullPointerException("mobileNumber is null"); //NOI18N
+               } else if (mobileNumber.getMobileId() == null) {
+                       // Throw NPE again
+                       throw new NullPointerException("mobileNumber.phoneId is null"); //NOI18N
+               } else if (mobileNumber.getMobileId() < 1) {
+                       // Invalid number
+                       throw new IllegalArgumentException(MessageFormat.format("mobileNumber.phoneId={0} is not valid", mobileNumber.getMobileId())); //NOI18N
+               } else if (mobileNumber.getMobileProvider() == null) {
+                       // Throw NPE
+                       throw new NullPointerException("mobileNumber.cellphoneProvider is null"); //NOI18N
+               } else if (mobileNumber.getMobileProvider().getProviderId() == null) {
+                       // ... throw again
+                       throw new NullPointerException("mobileNumber.cellphoneProvider.providerId is null"); //NOI18N
+               } else if (mobileNumber.getMobileProvider().getProviderId() < 1) {
+                       // Id not valid
+                       throw new IllegalArgumentException(MessageFormat.format("mobileNumber.cellphoneProvider.providerId={0} is not valid.", mobileNumber.getMobileProvider().getProviderId())); //NOI18N
+               } else if (mobileNumber.getMobileNumber() == null) {
+                       // Throw NPE again
+                       throw new NullPointerException("mobileNumber.mobileNumber is null"); //NOI18N
+               } else if (mobileNumber.getMobileNumber() < 1) {
+                       // Throw NPE again
+                       throw new NullPointerException(MessageFormat.format("mobileNumber.mobileNumber={0} is not valid.", mobileNumber.getMobileNumber())); //NOI18N
+               }
+
+               // Get a managed instance
+               final DialableMobileNumber managedNumber = this.getEntityManager().getReference(mobileNumber.getClass(), mobileNumber.getMobileId());
+
+               // Remove it from database
+               this.getEntityManager().remove(managedNumber);
+
+               // Trace message
+               this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.deleteMobileData: EXIT!", this.getClass().getSimpleName()));
+       }
+
+       @Override
+       public DialableMobileNumber updateMobileData (final DialableMobileNumber mobileNumber) {
+               // Trace message
+               this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.updateMobileData: mobileNumber={1} - CALLED!", this.getClass().getSimpleName(), mobileNumber));
+
+               // Is all data set
+               if (null == mobileNumber) {
+                       // Not set, throw NPE
+                       throw new NullPointerException("mobileNumber is null"); //NOI18N
+               } else if (mobileNumber.getMobileId() == null) {
+                       // Throw NPE again
+                       throw new NullPointerException("mobileNumber.phoneId is null"); //NOI18N
+               } else if (mobileNumber.getMobileId() < 1) {
+                       // Invalid number
+                       throw new IllegalArgumentException(MessageFormat.format("mobileNumber.phoneId={0} is not valid", mobileNumber.getMobileId())); //NOI18N
+               } else if (mobileNumber.getMobileProvider() == null) {
+                       // Throw NPE
+                       throw new NullPointerException("mobileNumber.cellphoneProvider is null"); //NOI18N
+               } else if (mobileNumber.getMobileProvider().getProviderId() == null) {
+                       // ... throw again
+                       throw new NullPointerException("mobileNumber.cellphoneProvider.providerId is null"); //NOI18N
+               } else if (mobileNumber.getMobileProvider().getProviderId() < 1) {
+                       // Id not valid
+                       throw new IllegalArgumentException(MessageFormat.format("mobileNumber.cellphoneProvider.providerId={0} is not valid.", mobileNumber.getMobileProvider().getProviderId())); //NOI18N
+               } else if (mobileNumber.getMobileNumber() == null) {
+                       // Throw NPE again
+                       throw new NullPointerException("mobileNumber.mobileNumber is null"); //NOI18N
+               } else if (mobileNumber.getMobileNumber() < 1) {
+                       // Throw NPE again
+                       throw new NullPointerException(MessageFormat.format("mobileNumber.mobileNumber={0} is not valid.", mobileNumber.getMobileNumber())); //NOI18N
+               }
+
+               // Get contact from it and find it
+               final DialableMobileNumber managedNumber = this.getEntityManager().find(mobileNumber.getClass(), mobileNumber.getMobileId());
+
+               // Should be found
+               assert (managedNumber instanceof DialableMobileNumber) : MessageFormat.format("Cell phone number with id {0} not found, but should be.", mobileNumber.getMobileId()); //NOI18N
+
+               // Debug message
+               this.getLoggerBeanLocal().logDebug(MessageFormat.format("{0}.updateMobileData: managedNumber.phoneId={1}", this.getClass().getSimpleName(), managedNumber.getMobileId())); //NOI18N
+
+               // Set updated timestamp
+               MobileNumbers.copyMobileNumber(mobileNumber, managedNumber);
+               managedNumber.setMobileEntryUpdated(new Date());
+
+               // Trace message
+               this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.updateMobileData: managedNumber={1} - EXIT!", this.getClass().getSimpleName(), managedNumber)); //NOI18N
+
+               // Return it
+               return managedNumber;
+       }
+
+}
diff --git a/src/java/org/mxchange/jphone/model/phonenumbers/mobile/FinancialsMobileSessionBean.java b/src/java/org/mxchange/jphone/model/phonenumbers/mobile/FinancialsMobileSessionBean.java
new file mode 100644 (file)
index 0000000..8e2e899
--- /dev/null
@@ -0,0 +1,65 @@
+/*
+ * Copyright (C) 2016 - 2020 Free Software Foundation
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+package org.mxchange.jphone.model.phonenumbers.mobile;
+
+import java.text.MessageFormat;
+import java.util.List;
+import javax.ejb.Stateless;
+import javax.persistence.Query;
+import org.mxchange.jfinancials.enterprise.BaseFinancialsEnterpriseBean;
+
+/**
+ * A general mobile number EJB
+ * <p>
+ * @author Roland Häder<roland@mxchange.org>
+ */
+@Stateless (name = "mobile", description = "A bean handling mobile number data")
+public class FinancialsMobileSessionBean extends BaseFinancialsEnterpriseBean implements MobileSessionBeanRemote {
+
+       /**
+        * Serial number
+        */
+       private static final long serialVersionUID = 134_945_698_127_602L;
+
+       /**
+        * Default constructor
+        */
+       public FinancialsMobileSessionBean () {
+               // Call super constructor
+               super();
+       }
+
+       @SuppressWarnings ("unchecked")
+       @Override
+       public List<DialableMobileNumber> fetchAllMobileNumbers () {
+               // Trace message
+               this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.allMobileNumbers: CALLED!", this.getClass().getSimpleName())); //NOI18N
+
+               // Get query
+               final Query query = this.getEntityManager().createNamedQuery("AllMobileNumbers", MobileNumber.class); //NOI18N
+
+               // Get list from it
+               final List<DialableMobileNumber> list = query.getResultList();
+
+               // Trace message
+               this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.allMobileNumbers: list.size()={1} - EXIT!", this.getClass().getSimpleName(), list.size())); //NOI18N
+
+               // Return it
+               return list;
+       }
+
+}
index 300cf8d79878da235a1aef347d2d9c3697b8ee37..13c4c2a4eb842a0ca3ddd902c46d73244142fb3f 100644 (file)
@@ -47,7 +47,7 @@ public class JobsMobileProviderSingletonBean extends BaseJobsEnterpriseBean impl
 
        @Override
        @SuppressWarnings ("unchecked")
-       public List<MobileProvider> allMobileProviders () {
+       public List<MobileProvider> fetchAllMobileProviders () {
                // Trace message
                this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.allMobileProvider: CALLED!", this.getClass().getSimpleName())); //NOI18N
 
index cfd9aa51fd10e2a4ef5d9b61f61bc356e6616207..4dee83f5b4bad0132138eb3b462097878c68c0f3 100644 (file)
@@ -24,8 +24,6 @@ import org.mxchange.jphone.model.phonenumbers.fax.DialableFaxNumber;
 import org.mxchange.jphone.model.phonenumbers.fax.FaxNumbers;
 import org.mxchange.jphone.model.phonenumbers.landline.DialableLandLineNumber;
 import org.mxchange.jphone.model.phonenumbers.landline.LandLineNumbers;
-import org.mxchange.jphone.model.phonenumbers.mobile.DialableMobileNumber;
-import org.mxchange.jphone.model.phonenumbers.mobile.MobileNumbers;
 
 /**
  * An EJB for administrative phone purposes
@@ -144,48 +142,6 @@ public class JobsAdminPhoneSessionBean extends BaseJobsEnterpriseBean implements
                this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.deleteMobileData: EXIT!", this.getClass().getSimpleName()));
        }
 
-       @Override
-       public void deleteMobileData (final DialableMobileNumber mobileNumber) {
-               // Trace message
-               this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.deleteMobileData: mobileNumber={1} - CALLED!", this.getClass().getSimpleName(), mobileNumber));
-
-               // Is all data set
-               if (null == mobileNumber) {
-                       // Not set, throw NPE
-                       throw new NullPointerException("mobileNumber is null"); //NOI18N
-               } else if (mobileNumber.getMobileId() == null) {
-                       // Throw NPE again
-                       throw new NullPointerException("mobileNumber.phoneId is null"); //NOI18N
-               } else if (mobileNumber.getMobileId() < 1) {
-                       // Invalid number
-                       throw new IllegalArgumentException(MessageFormat.format("mobileNumber.phoneId={0} is not valid", mobileNumber.getMobileId())); //NOI18N
-               } else if (mobileNumber.getMobileProvider() == null) {
-                       // Throw NPE
-                       throw new NullPointerException("mobileNumber.cellphoneProvider is null"); //NOI18N
-               } else if (mobileNumber.getMobileProvider().getProviderId() == null) {
-                       // ... throw again
-                       throw new NullPointerException("mobileNumber.cellphoneProvider.providerId is null"); //NOI18N
-               } else if (mobileNumber.getMobileProvider().getProviderId() < 1) {
-                       // Id not valid
-                       throw new IllegalArgumentException(MessageFormat.format("mobileNumber.cellphoneProvider.providerId={0} is not valid.", mobileNumber.getMobileProvider().getProviderId())); //NOI18N
-               } else if (mobileNumber.getMobileNumber() == null) {
-                       // Throw NPE again
-                       throw new NullPointerException("mobileNumber.mobileNumber is null"); //NOI18N
-               } else if (mobileNumber.getMobileNumber() < 1) {
-                       // Throw NPE again
-                       throw new NullPointerException(MessageFormat.format("mobileNumber.mobileNumber={0} is not valid.", mobileNumber.getMobileNumber())); //NOI18N
-               }
-
-               // Get a managed instance
-               final DialableMobileNumber managedNumber = this.getEntityManager().getReference(mobileNumber.getClass(), mobileNumber.getMobileId());
-
-               // Remove it from database
-               this.getEntityManager().remove(managedNumber);
-
-               // Trace message
-               this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.deleteMobileData: EXIT!", this.getClass().getSimpleName()));
-       }
-
        @Override
        public DialableFaxNumber updateFaxData (final DialableFaxNumber faxNumber) {
                // Trace message
@@ -302,56 +258,4 @@ public class JobsAdminPhoneSessionBean extends BaseJobsEnterpriseBean implements
                return managedNumber;
        }
 
-       @Override
-       public DialableMobileNumber updateMobileData (final DialableMobileNumber mobileNumber) {
-               // Trace message
-               this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.updateMobileData: mobileNumber={1} - CALLED!", this.getClass().getSimpleName(), mobileNumber));
-
-               // Is all data set
-               if (null == mobileNumber) {
-                       // Not set, throw NPE
-                       throw new NullPointerException("mobileNumber is null"); //NOI18N
-               } else if (mobileNumber.getMobileId() == null) {
-                       // Throw NPE again
-                       throw new NullPointerException("mobileNumber.phoneId is null"); //NOI18N
-               } else if (mobileNumber.getMobileId() < 1) {
-                       // Invalid number
-                       throw new IllegalArgumentException(MessageFormat.format("mobileNumber.phoneId={0} is not valid", mobileNumber.getMobileId())); //NOI18N
-               } else if (mobileNumber.getMobileProvider() == null) {
-                       // Throw NPE
-                       throw new NullPointerException("mobileNumber.cellphoneProvider is null"); //NOI18N
-               } else if (mobileNumber.getMobileProvider().getProviderId() == null) {
-                       // ... throw again
-                       throw new NullPointerException("mobileNumber.cellphoneProvider.providerId is null"); //NOI18N
-               } else if (mobileNumber.getMobileProvider().getProviderId() < 1) {
-                       // Id not valid
-                       throw new IllegalArgumentException(MessageFormat.format("mobileNumber.cellphoneProvider.providerId={0} is not valid.", mobileNumber.getMobileProvider().getProviderId())); //NOI18N
-               } else if (mobileNumber.getMobileNumber() == null) {
-                       // Throw NPE again
-                       throw new NullPointerException("mobileNumber.mobileNumber is null"); //NOI18N
-               } else if (mobileNumber.getMobileNumber() < 1) {
-                       // Throw NPE again
-                       throw new NullPointerException(MessageFormat.format("mobileNumber.mobileNumber={0} is not valid.", mobileNumber.getMobileNumber())); //NOI18N
-               }
-
-               // Get contact from it and find it
-               final DialableMobileNumber managedNumber = this.getEntityManager().find(mobileNumber.getClass(), mobileNumber.getMobileId());
-
-               // Should be found
-               assert (managedNumber instanceof DialableMobileNumber) : MessageFormat.format("Cell phone number with id {0} not found, but should be.", mobileNumber.getMobileId()); //NOI18N
-
-               // Debug message
-               this.getLoggerBeanLocal().logDebug(MessageFormat.format("{0}.updateMobileData: managedNumber.phoneId={1}", this.getClass().getSimpleName(), managedNumber.getMobileId())); //NOI18N
-
-               // Set updated timestamp
-               MobileNumbers.copyMobileNumber(mobileNumber, managedNumber);
-               managedNumber.setMobileEntryUpdated(new Date());
-
-               // Trace message
-               this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.updateMobileData: managedNumber={1} - EXIT!", this.getClass().getSimpleName(), managedNumber)); //NOI18N
-
-               // Return it
-               return managedNumber;
-       }
-
 }
index 6799b4c16d7bc7c33e86dfb2bce2dfd307669549..edfe0263e3f4ad2ccac1f42ec1f5f44fe1eb58aa 100644 (file)
@@ -25,8 +25,6 @@ import org.mxchange.jphone.model.phonenumbers.fax.DialableFaxNumber;
 import org.mxchange.jphone.model.phonenumbers.fax.FaxNumber;
 import org.mxchange.jphone.model.phonenumbers.landline.DialableLandLineNumber;
 import org.mxchange.jphone.model.phonenumbers.landline.LandLineNumber;
-import org.mxchange.jphone.model.phonenumbers.mobile.DialableMobileNumber;
-import org.mxchange.jphone.model.phonenumbers.mobile.MobileNumber;
 
 /**
  * A general phone EJB
@@ -51,7 +49,7 @@ public class JobsPhoneSessionBean extends BaseJobsEnterpriseBean implements Phon
 
        @SuppressWarnings ("unchecked")
        @Override
-       public List<DialableFaxNumber> allFaxNumbers () {
+       public List<DialableFaxNumber> fetchAllFaxNumbers () {
                // Trace message
                this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.allFaxNumbers: CALLED!", this.getClass().getSimpleName())); //NOI18N
 
@@ -70,7 +68,7 @@ public class JobsPhoneSessionBean extends BaseJobsEnterpriseBean implements Phon
 
        @SuppressWarnings ("unchecked")
        @Override
-       public List<DialableLandLineNumber> allLandLineNumbers () {
+       public List<DialableLandLineNumber> fetchAllLandLineNumbers () {
                // Trace message
                this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.allLandLineNumbers: CALLED!", this.getClass().getSimpleName())); //NOI18N
 
@@ -87,23 +85,4 @@ public class JobsPhoneSessionBean extends BaseJobsEnterpriseBean implements Phon
                return list;
        }
 
-       @SuppressWarnings ("unchecked")
-       @Override
-       public List<DialableMobileNumber> allMobileNumbers () {
-               // Trace message
-               this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.allMobileNumbers: CALLED!", this.getClass().getSimpleName())); //NOI18N
-
-               // Get query
-               final Query query = this.getEntityManager().createNamedQuery("AllMobileNumbers", MobileNumber.class); //NOI18N
-
-               // Get list from it
-               final List<DialableMobileNumber> list = query.getResultList();
-
-               // Trace message
-               this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.allMobileNumbers: list.size()={1} - EXIT!", this.getClass().getSimpleName(), list.size())); //NOI18N
-
-               // Return it
-               return list;
-       }
-
 }
index c4a193e19a6dab889dadf2854d3140ea57de3200..c018b26a44d62e114e6aef482f4891281337a8fa 100644 (file)
@@ -19,11 +19,10 @@ package org.mxchange.jusercore.model.user;
 import java.text.MessageFormat;
 import java.util.Date;
 import java.util.List;
+import java.util.Objects;
 import javax.ejb.EJB;
 import javax.ejb.EJBException;
 import javax.ejb.Stateless;
-import javax.persistence.NoResultException;
-import javax.persistence.PersistenceException;
 import javax.persistence.Query;
 import org.mxchange.jcontacts.model.contact.Contact;
 import org.mxchange.jjobs.enterprise.BaseJobsEnterpriseBean;
@@ -69,45 +68,6 @@ public class JobsUserSessionBean extends BaseJobsEnterpriseBean implements UserS
                super("jms/jjobs-queue-factory", "jms/jjobs-email-queue"); //NOI18N
        }
 
-       @Override
-       @SuppressWarnings ("unchecked")
-       @Deprecated
-       public List<String> 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<String> 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<User> allUsers () {
-               // Trace message
-               this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.allUsers: CALLED!", this.getClass().getSimpleName())); //NOI18N
-
-               // Get named query
-               final Query query = this.getEntityManager().createNamedQuery("AllUsers", LoginUser.class); //NOI18N
-
-               // Get result
-               final List<User> users = query.getResultList();
-
-               // Trace message
-               this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.allUsers: users.size()={1} - EXIT!", this.getClass().getSimpleName(), users.size())); //NOI18N
-
-               // Return full list
-               return users;
-       }
-
        @Override
        public User confirmAccount (final User user, final String baseUrl) throws UserStatusConfirmedException, UserStatusLockedException {
                // Trace message
@@ -159,79 +119,25 @@ public class JobsUserSessionBean extends BaseJobsEnterpriseBean implements UserS
        }
 
        @Override
-       @Deprecated
-       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
-
-               // user should not be null
-               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
-               final Query query = this.getEntityManager().createNamedQuery("SearchUserByName", LoginUser.class); //NOI18N
-
-               // Set parameter
-               query.setParameter("param", user.getUserName()); //NOI18N
-
-               // Initialize variable
-               final User foundUser;
-
-               // Try it
-               try {
-                       // Try to get single result
-                       foundUser = (User) query.getSingleResult();
-               } catch (final NoResultException ex) {
-                       // Log it
-                       this.getLoggerBeanLocal().logException(ex);
-                       return null;
-               }
-
-               // Trace message
-               this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.fillUserData: foundUser={1} - EXIT!", this.getClass().getSimpleName(), foundUser)); //NOI18N
-
-               // Return prepared instance
-               return foundUser;
-       }
-
-       @Override
-       @Deprecated
-       public String generateRandomUserName () {
+       @SuppressWarnings ("unchecked")
+       public List<User> fetchAllUsers () {
                // Trace message
-               this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.generateRandomUserName - CALLED!", this.getClass().getSimpleName())); //NOI18N
-
-               // Get full list
-               final List<String> userList = this.allUserNames();
+               this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.allUsers: CALLED!", this.getClass().getSimpleName())); //NOI18N
 
-               // Init variable
-               String userName = null;
+               // Get named query
+               final Query query = this.getEntityManager().createNamedQuery("AllUsers", LoginUser.class); //NOI18N
 
-               // Loop until a user name is found
-               while ((userName == null) || (userList.contains(userName))) {
-                       // Generate random name
-                       userName = Users.generateRandomUserName();
-               }
+               // Get result
+               final List<User> users = query.getResultList();
 
                // Trace message
-               this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.generateRandomUserName: userName={1} - EXIT!", this.getClass().getSimpleName(), userName)); //NOI18N
+               this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.allUsers: users.size()={1} - EXIT!", this.getClass().getSimpleName(), users.size())); //NOI18N
 
-               // Found one, so return it
-               return userName;
+               // Return full list
+               return users;
        }
 
        @Override
-       @Deprecated
        public boolean ifUserExists (final User user) {
                // Trace message
                this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.ifUserExists: user={1} - CALLED!", this.getClass().getSimpleName(), user)); //NOI18N
@@ -248,38 +154,24 @@ public class JobsUserSessionBean extends BaseJobsEnterpriseBean implements UserS
                        throw new IllegalArgumentException(MessageFormat.format("userId is not valid: {0}", user.getUserId())); //NOI18N
                }
 
-               // Generate query
-               final Query query = this.getEntityManager().createNamedQuery("SearchUserById", LoginUser.class); //NOI18N
-
-               // Set parameter
-               query.setParameter("id", user.getUserId()); //NOI18N
-
-               // Try this
-               try {
-                       // 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
-               } catch (final NoResultException ex) {
-                       // Log it
-                       this.getLoggerBeanLocal().logDebug(MessageFormat.format("ifUserExists: getSingleResult() returned no result: {0}", ex)); //NOI18N
-
-                       // User name does not exist
-                       return false;
-               } catch (final PersistenceException ex) {
-                       // Something bad happened
-                       this.getLoggerBeanLocal().logWarning(MessageFormat.format("More than one user {0} found.", user, ex)); //NOI18N
-
-                       // Throw again
-                       throw ex;
+               // Default is not found
+               boolean isFound = false;
+
+               // Fetch whole list
+               for (final User currentUser : this.fetchAllUsers()) {
+                       // Is found?
+                       if (Objects.equals(user, currentUser)) {
+                               // Yes, then set flag and exit iteration
+                               isFound = true;
+                               break;
+                       }
                }
 
                // Trace message
-               this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.ifUserExists: Found user {1} - EXIT!", this.getClass().getSimpleName(), user)); //NOI18N
+               this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.ifUserExists: isFound={1} - EXIT!", this.getClass().getSimpleName(), isFound)); //NOI18N
 
-               // Found it
-               return true;
+               // Return flag
+               return isFound;
        }
 
        @Override
@@ -296,29 +188,21 @@ public class JobsUserSessionBean extends BaseJobsEnterpriseBean implements UserS
                        throw new NullPointerException("userName is empty"); //NOI18N
                }
 
-               // Generate query
-               final Query query = this.getEntityManager().createNamedQuery("SearchUserByName", LoginUser.class); //NOI18N
-
-               // Set parameter
-               query.setParameter("param", userName); //NOI18N
-
-               // Try this
-               try {
-                       // 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
-               } catch (final NoResultException ex) {
-                       // Log it
-                       this.getLoggerBeanLocal().logDebug(MessageFormat.format("{0}.ifUserNameExists: getSingleResult() returned no result: {1}", this.getClass().getSimpleName(), ex)); //NOI18N
-
-                       // User name does not exist
-                       return false;
+               // Default is not registered
+               boolean isRegistered = false;
+
+               // Iterate over all records
+               for (final User currentUser : this.fetchAllUsers()) {
+                       // Does the username match?
+                       if (userName.equals(currentUser.getUserName())) {
+                               // Yes, then set flag and exit iteration
+                               isRegistered = true;
+                               break;
+                       }
                }
 
                // Trace message
-               this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.ifUserNameExists: Found userName={1} - EXIT!", this.getClass().getSimpleName(), userName)); //NOI18N
+               this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.ifUserNameExists: isRegistered={1} - EXIT!", this.getClass().getSimpleName(), isRegistered)); //NOI18N
 
                // Found it
                return true;
@@ -335,38 +219,24 @@ public class JobsUserSessionBean extends BaseJobsEnterpriseBean implements UserS
                        throw new NullPointerException("user is null"); //NOI18N
                }
 
-               // Generate query
-               final Query query = this.getEntityManager().createNamedQuery("SearchUserByEmailAddress", LoginUser.class); //NOI18N
-
-               // Set parameter
-               query.setParameter("param", user.getUserContact().getContactEmailAddress()); //NOI18N
-
-               // Search for it
-               try {
-                       // 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
-               } catch (final NoResultException ex) {
-                       // Log it
-                       this.getLoggerBeanLocal().logDebug(MessageFormat.format("{0}.isEmailAddressRegistered: getSingleResult() returned no result: {1}", this.getClass().getSimpleName(), ex)); //NOI18N
-
-                       // Email address does not exist
-                       return false;
-               } catch (final PersistenceException ex) {
-                       // Something bad happened
-                       this.getLoggerBeanLocal().logWarning(MessageFormat.format("More than one email address {0} found.", user.getUserContact().getContactEmailAddress()), ex); //NOI18N
-
-                       // Throw again
-                       throw ex;
+               // Default is not registered
+               boolean isRegistered = false;
+
+               // Iterate over all records
+               for (final User currentUser : this.fetchAllUsers()) {
+                       // Does the email address match?
+                       if (user.getUserContact().getContactEmailAddress().equals(currentUser.getUserContact().getContactEmailAddress())) {
+                               // Yes, then set flag and exit iteration
+                               isRegistered = true;
+                               break;
+                       }
                }
 
                // Trace message
-               this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.isEmailAddressRegistered: Returning true ... - EXIT!", this.getClass().getSimpleName())); //NOI18N
+               this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.isEmailAddressRegistered: isRegistered={1} - EXIT!", this.getClass().getSimpleName(), isRegistered)); //NOI18N
 
                // Found it
-               return true;
+               return isRegistered;
        }
 
        @Override
@@ -380,38 +250,14 @@ public class JobsUserSessionBean extends BaseJobsEnterpriseBean implements UserS
                        throw new NullPointerException("user is null"); //NOI18N
                }
 
-               // Generate query
-               final Query query = this.getEntityManager().createNamedQuery("SearchUserByName", LoginUser.class); //NOI18N
-
-               // Set parameter
-               query.setParameter("param", user.getUserName()); //NOI18N
-
-               // Try this
-               try {
-                       // 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
-               } catch (final NoResultException ex) {
-                       // Log it
-                       this.getLoggerBeanLocal().logDebug(MessageFormat.format("{0}.isUserNameRegistered: getSingleResult() returned no result: {1}", this.getClass().getSimpleName(), ex)); //NOI18N
-
-                       // User name does not exist
-                       return false;
-               } catch (final PersistenceException ex) {
-                       // Something bad happened
-                       this.getLoggerBeanLocal().logWarning(MessageFormat.format("More than one email address {0} found.", user.getUserContact().getContactEmailAddress()), ex); //NOI18N
-
-                       // Throw again
-                       throw ex;
-               }
+               // Ask other method
+               final boolean isRegistered = this.ifUserNameExists(user.getUserName());
 
                // Trace message
-               this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.isUserNameRegistered: Returning true ... - EXIT!", this.getClass().getSimpleName())); //NOI18N
+               this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.isUserNameRegistered: isRegistered={1} - EXIT!", this.getClass().getSimpleName(), isRegistered)); //NOI18N
 
-               // Found it
-               return true;
+               // Return flag
+               return isRegistered;
        }
 
        @Override
index 21187c5206b4ca80b8ebe8cc683b7dd7d716ad5a..f5cb11f54aa89eb15366cc5626b9acfe57269426 100644 (file)
@@ -57,25 +57,6 @@ public class JobsUserEmailChangeSessionBean extends BaseJobsEnterpriseBean imple
                super("jms/jjobs-queue-factory", "jms/jjobs-email-queue"); //NOI18N
        }
 
-       @Override
-       @SuppressWarnings ("unchecked")
-       public List<String> allQueuedAddresses () {
-               // Trace message
-               this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.allQueuedAddresses: CALLED!", this.getClass().getSimpleName())); //NOI18N
-
-               // Get named query
-               final Query query = this.getEntityManager().createNamedQuery("AllEmailAddressChanges", String.class); //NOI18N
-
-               // Get all entries
-               final List<String> emailAddresses = query.getResultList();
-
-               // Trace message
-               this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.allQueuedAddresses: emailAddresses.size()={1} - EXIT!", this.getClass().getSimpleName(), emailAddresses.size())); //NOI18N
-
-               // Return it
-               return emailAddresses;
-       }
-
        @Override
        public void enqueueEmailAddressForChange (final ChangeableEmailAddress emailChange, final String baseUrl) {
                // Trace message
@@ -94,9 +75,6 @@ public class JobsUserEmailChangeSessionBean extends BaseJobsEnterpriseBean imple
                } else if (emailChange.getEmailChangeUser().getUserId() < 1) {
                        // Not valid id
                        throw new IllegalArgumentException(MessageFormat.format("emailChange.emailChangeUser.userId={0} is invalid.", emailChange.getEmailChangeUser().getUserId())); //NOI18N
-               } else if (!this.userBean.ifUserExists(emailChange.getEmailChangeUser())) {
-                       // User does not exist
-                       throw new EJBException(MessageFormat.format("Email change with id {0} does not exist.", emailChange.getEmailChangeId())); //NOI18N
                } else if (emailChange.getEmailAddress().trim().isEmpty()) {
                        // Email address is empty
                        throw new IllegalArgumentException("emailChange.emaiLAddress is empty."); //NOI18N
@@ -122,36 +100,22 @@ public class JobsUserEmailChangeSessionBean extends BaseJobsEnterpriseBean imple
        }
 
        @Override
-       public boolean isEmailAddressEnqueued (final String emailAddress) {
+       @SuppressWarnings ("unchecked")
+       public List<ChangeableEmailAddress> fetchAllQueuedAddressChanges () {
                // Trace message
-               this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.isEmailAddressEnqueued: emailAddress={1} - CALLED!", this.getClass().getSimpleName(), emailAddress)); //NOI18N
-
-               // Create query instance
-               final Query query = this.getEntityManager().createNamedQuery("SearchEmailChangeByEmail"); //NOI18N
-
-               // Add email address as parameter
-               query.setParameter("email", emailAddress); //NOI18N
-
-               // Initialize variable
-               boolean isFound = false;
+               this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.allQueuedAddresses: CALLED!", this.getClass().getSimpleName())); //NOI18N
 
-               // Try it
-               try {
-                       // Try to get single result
-                       final ChangeableEmailAddress dummy = (ChangeableEmailAddress) query.getSingleResult();
+               // Get named query
+               final Query query = this.getEntityManager().createNamedQuery("AllEmailAddressChanges", ChangeableEmailAddress.class); //NOI18N
 
-                       // Found it
-                       isFound = true;
-               } catch (final NoResultException ex) {
-                       // Log it
-                       this.getLoggerBeanLocal().logException(ex);
-               }
+               // Get all entries
+               final List<ChangeableEmailAddress> emailAddresses = query.getResultList();
 
                // Trace message
-               this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.isEmailAddressEnqueued: isFound={1} - EXIT!", this.getClass().getSimpleName(), isFound)); //NOI18N
+               this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.allQueuedAddresses: emailAddresses.size()={1} - EXIT!", this.getClass().getSimpleName(), emailAddresses.size())); //NOI18N
 
                // Return it
-               return isFound;
+               return emailAddresses;
        }
 
        @Override
@@ -172,9 +136,6 @@ public class JobsUserEmailChangeSessionBean extends BaseJobsEnterpriseBean imple
                } else if (emailAddress.getEmailAddress().trim().isEmpty()) {
                        // Email address is empty
                        throw new IllegalArgumentException("emailAddress.emaiLAddress is empty."); //NOI18N
-               } else if (!this.userBean.ifUserExists(emailAddress.getEmailChangeUser())) {
-                       // User does not exist
-                       throw new EJBException(MessageFormat.format("Email change with id {0} does not exist.", emailAddress.getEmailChangeId())); //NOI18N
                } else if (!this.isEmailAddressEnqueued(emailAddress.getEmailAddress())) {
                        // Email address is not enqueued
                        throw new EJBException(MessageFormat.format("Email address {0} is not enqueued.", emailAddress.getEmailAddress())); //NOI18N
@@ -234,4 +195,35 @@ public class JobsUserEmailChangeSessionBean extends BaseJobsEnterpriseBean imple
                emailAddressChange.setEmailChangeHash(hash);
        }
 
+       /**
+        * Checks whether given email address is already enqueued
+        * <p>
+        * @param emailAddress Email address to check
+        * <p>
+        * @return Whether the email address has already been enqueued
+        */
+       private boolean isEmailAddressEnqueued (final String emailAddress) {
+               // Trace message
+               this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.isEmailAddressEnqueued: emailAddress={1} - CALLED!", this.getClass().getSimpleName(), emailAddress)); //NOI18N
+
+               // Default is not found
+               boolean isFound = false;
+
+               // Fetch all records
+               for (final ChangeableEmailAddress address : this.fetchAllQueuedAddressChanges()) {
+                       // Is it found?
+                       if (address.getEmailAddress().equals(emailAddress)) {
+                               // Yes, set flag, skip further iterations
+                               isFound = true;
+                               break;
+                       }
+               }
+
+               // Trace message
+               this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.isEmailAddressEnqueued: isFound={1} - EXIT!", this.getClass().getSimpleName(), isFound)); //NOI18N
+
+               // Return it
+               return isFound;
+       }
+
 }
index a1afc6d4887c30e797a0e2cb1c1c5c9b799d73ab..bbcc969639606a4b5b66a9e4656fdbf09c50518e 100644 (file)
@@ -46,7 +46,7 @@ public class JobsUserPasswordHistorySessionBean extends BaseJobsEnterpriseBean i
 
        @Override
        @SuppressWarnings ("unchecked")
-       public List<PasswordHistory> getUserPasswordHistory (final User user) {
+       public List<PasswordHistory> fetchPasswordHistoryByUser (final User user) {
                // Trace message
                this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.getUserPasswordHistory(): user={1} - EXIT!", this.getClass().getSimpleName(), user)); //NOI18N