From: Roland Häder <roland@mxchange.org>
Date: Fri, 21 Dec 2018 14:10:12 +0000 (+0100)
Subject: Please cherry-pick:
X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=2a878b3e48f370b6de3730771021a3bc9db5a0ec;p=pizzaservice-ejb.git

Please cherry-pick:
- 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>
---

diff --git a/src/java/org/mxchange/jcontactsbusiness/model/basicdata/PizzaAdminBusinessDataSessionBean.java b/src/java/org/mxchange/jcontactsbusiness/model/basicdata/PizzaAdminBusinessDataSessionBean.java
index ca87ac0..9139d7a 100644
--- a/src/java/org/mxchange/jcontactsbusiness/model/basicdata/PizzaAdminBusinessDataSessionBean.java
+++ b/src/java/org/mxchange/jcontactsbusiness/model/basicdata/PizzaAdminBusinessDataSessionBean.java
@@ -67,7 +67,19 @@ public class PizzaAdminBusinessDataSessionBean extends BasePizzaEnterpriseBean i
 		} 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 PizzaAdminBusinessDataSessionBean extends BasePizzaEnterpriseBean i
 		}
 
 		// 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 PizzaAdminBusinessDataSessionBean extends BasePizzaEnterpriseBean i
 		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;
+	}
+
 }