]> git.mxchange.org Git - addressbook-ejb.git/commitdiff
Please cherry-pick:
authorRoland Häder <roland@mxchange.org>
Fri, 21 Dec 2018 14:10:12 +0000 (15:10 +0100)
committerRoland Häder <roland@mxchange.org>
Sat, 1 Feb 2020 03:31:40 +0000 (04:31 +0100)
- companyShortName is now mandatory, while companyName (full name) is optional
- but if companyName is set, check it as well, if it doesn't exist

Signed-off-by: Roland Häder <roland@mxchange.org>
src/java/org/mxchange/jcontactsbusiness/model/basicdata/AddressbookAdminBusinessDataSessionBean.java

index 6f25bcf38edcf2ed9642ba8b925bea81aba7e534..b682509764e33becb5f549214877a8516fb4b5a6 100644 (file)
@@ -67,7 +67,19 @@ public class AddressbookAdminBusinessDataSessionBean extends BaseAddressbookData
                } else if (basicData.getBasicDataId() != null) {
                        // Should be null
                        throw new IllegalArgumentException(MessageFormat.format("basicData.basicDataId={0} - is not null", basicData.getBasicDataId())); //NOI18N
-               } else if (this.isSameCompanyNameAdded(basicData)) {
+               } else if (basicData.getCompanyShortName() == null) {
+                       // Should not be null
+                       throw new NullPointerException("basicData.companyShortName is null"); //NOI18N
+               } else if (basicData.getCompanyShortName().isEmpty()) {
+                       // Should not be empty string
+                       throw new IllegalArgumentException("basicData.companyShortName is empty"); //NOI18N
+               } else if (this.isSameCompanyShortNameAdded(basicData)) {
+                       // Throw exception
+                       throw new BasicDataAlreadyAddedException(basicData);
+               } else if ((basicData.getCompanyName() != null) && (basicData.getCompanyName().isEmpty())) {
+                       // Should not be empty string when set
+                       throw new IllegalArgumentException("basicData.companyName is empty"); //NOI18N
+               } else if ((basicData.getCompanyName() != null) && (this.isSameCompanyNameAdded(basicData))) {
                        // Throw exception
                        throw new BasicDataAlreadyAddedException(basicData);
                }
@@ -103,7 +115,7 @@ public class AddressbookAdminBusinessDataSessionBean extends BaseAddressbookData
                }
 
                // Is a headquarter set?
-               if (basicData.getCompanyHeadquarterData()instanceof Headquarter) {
+               if (basicData.getCompanyHeadquarterData() instanceof Headquarter) {
                        // Get managed instance
                        final Headquarter managedHeadquarter = this.createManaged(basicData.getCompanyHeadquarterData());
 
@@ -151,4 +163,31 @@ public class AddressbookAdminBusinessDataSessionBean extends BaseAddressbookData
                return isFound;
        }
 
+       /**
+        * Checks if given basic data is already added by it's company short name
+        * <p>
+        * @param basicData Basic data to be checked
+        *
+        * @return Whether same company short name has been used
+        */
+       private boolean isSameCompanyShortNameAdded (final BasicData basicData) {
+               // Get all available entries
+               final List<BasicData> list = this.businessDataBean.allBusinessBasicData();
+
+               // Default is not found
+               boolean isFound = false;
+
+               // Then check each entry
+               for (final BasicData entry : list) {
+                       // Is the company name matching?
+                       if (Objects.equals(entry.getCompanyShortName(), basicData.getCompanyShortName())) {
+                               // Found match
+                               isFound = true;
+                       }
+               }
+
+               // Return flag
+               return isFound;
+       }
+
 }