src/jdk.packager/share/classes/jdk/packager/internal/Arguments.java
branchJDK-8200758-branch
changeset 56958 8880b21d458d
parent 56957 2f01969ed7cb
child 56982 e094d5483bd6
--- a/src/jdk.packager/share/classes/jdk/packager/internal/Arguments.java	Thu Oct 11 20:48:26 2018 -0400
+++ b/src/jdk.packager/share/classes/jdk/packager/internal/Arguments.java	Thu Oct 11 20:53:02 2018 -0400
@@ -578,6 +578,29 @@
 
             BundleParams bp = deployParams.getBundleParams();
 
+            // validate name(s)
+            ArrayList<String> usedNames = new ArrayList<String>();
+            usedNames.add(bp.getName()); // add main app name
+
+            for (SecondaryLauncherArguments sl : secondaryLaunchers) {
+                Map<String, ? super Object> slMap = sl.getLauncherMap();
+                String slName = 
+                        (String) slMap.get(Arguments.CLIOptions.NAME.getId());
+                if (slName == null) {
+                    throw new PackagerException("ERR_NoSecondaryLauncherName");
+                } else {
+                    for (String usedName : usedNames) {
+                        if (slName.equals(usedName)) {
+                            throw new PackagerException("ERR_NoUniqueName");
+                        }
+                    }
+                }
+                usedNames.add(slName);
+            }
+            if (jreInstaller && bp.getName() == null) {
+                throw new PackagerException("ERR_NoJreInstallerName");
+            }
+
             generateBundle(bp.getBundleParamsAsMap());
         } catch (Exception e) {
             if (verbose) {