< prev index next >

src/jdk.incubator.jpackage/windows/classes/jdk/incubator/jpackage/internal/WinAppBundler.java

Print this page

        

@@ -21,27 +21,23 @@
  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  * or visit www.oracle.com if you need additional information or have any
  * questions.
  */
 
-package jdk.jpackage.internal;
+package jdk.incubator.jpackage.internal;
 
 import java.io.File;
 import java.nio.file.Path;
 import java.text.MessageFormat;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Map;
-import java.util.ResourceBundle;
+import java.util.*;
 
-import static jdk.jpackage.internal.WindowsBundlerParam.*;
-import static jdk.jpackage.internal.WinMsiBundler.WIN_APP_IMAGE;
+import static jdk.incubator.jpackage.internal.WindowsBundlerParam.*;
 
 public class WinAppBundler extends AbstractImageBundler {
 
     private static final ResourceBundle I18N = ResourceBundle.getBundle(
-            "jdk.jpackage.internal.resources.WinResources");
+            "jdk.incubator.jpackage.internal.resources.WinResources");
 
     static final BundlerParamInfo<File> ICON_ICO =
             new StandardBundlerParam<>(
             "icon.ico",
             File.class,

@@ -56,16 +52,13 @@
             },
             (s, p) -> new File(s));
 
     @Override
     public boolean validate(Map<String, ? super Object> params)
-            throws UnsupportedPlatformException, ConfigException {
+            throws ConfigException {
         try {
-            if (params == null) throw new ConfigException(
-                    I18N.getString("error.parameters-null"),
-                    I18N.getString("error.parameters-null.advice"));
-
+            Objects.requireNonNull(params);
             return doValidate(params);
         } catch (RuntimeException re) {
             if (re.getCause() instanceof ConfigException) {
                 throw (ConfigException) re.getCause();
             } else {

@@ -75,92 +68,16 @@
     }
 
     // to be used by chained bundlers, e.g. by EXE bundler to avoid
     // skipping validation if p.type does not include "image"
     private boolean doValidate(Map<String, ? super Object> p)
-            throws UnsupportedPlatformException, ConfigException {
-        if (Platform.getPlatform() != Platform.WINDOWS) {
-            throw new UnsupportedPlatformException();
-        }
+            throws ConfigException {
 
         imageBundleValidation(p);
-
-        if (StandardBundlerParam.getPredefinedAppImage(p) != null) {
-            return true;
-        }
-
-        // Make sure that jpackage.exe exists.
-        File tool = new File(
-                System.getProperty("java.home") + "\\bin\\jpackage.exe");
-
-        if (!tool.exists()) {
-            throw new ConfigException(
-                    I18N.getString("error.no-windows-resources"),
-                    I18N.getString("error.no-windows-resources.advice"));
-        }
-
         return true;
     }
 
-    private static boolean usePredefineAppName(Map<String, ? super Object> p) {
-        return (PREDEFINED_APP_IMAGE.fetchFrom(p) != null);
-    }
-
-    private static String appName;
-    synchronized static String getAppName(
-            Map<String, ? super Object> p) {
-        // If we building from predefined app image, then we should use names
-        // from image and not from CLI.
-        if (usePredefineAppName(p)) {
-            if (appName == null) {
-                // Use WIN_APP_IMAGE here, since we already copy pre-defined
-                // image to WIN_APP_IMAGE
-                File appImageDir = WIN_APP_IMAGE.fetchFrom(p);
-
-                File appDir = new File(appImageDir.toString() + "\\app");
-                File [] files = appDir.listFiles(
-                        (File dir, String name) -> name.endsWith(".cfg"));
-                if (files == null || files.length == 0) {
-                    String name = APP_NAME.fetchFrom(p);
-                    Path exePath = appImageDir.toPath().resolve(name + ".exe");
-                    Path icoPath = appImageDir.toPath().resolve(name + ".ico");
-                    if (exePath.toFile().exists() &&
-                            icoPath.toFile().exists()) {
-                        return name;
-                    } else {
-                        throw new RuntimeException(MessageFormat.format(
-                                I18N.getString("error.cannot-find-launcher"),
-                                appImageDir));
-                    }
-                } else {
-                    appName = files[0].getName();
-                    int index = appName.indexOf(".");
-                    if (index != -1) {
-                        appName = appName.substring(0, index);
-                    }
-                    if (files.length > 1) {
-                        Log.error(MessageFormat.format(I18N.getString(
-                                "message.multiple-launchers"), appName));
-                    }
-                }
-                return appName;
-            } else {
-                return appName;
-            }
-        }
-
-        return APP_NAME.fetchFrom(p);
-    }
-
-    public static String getLauncherName(Map<String, ? super Object> p) {
-        return getAppName(p) + ".exe";
-    }
-
-    public static String getLauncherCfgName(Map<String, ? super Object> p) {
-        return "app\\" + getAppName(p) +".cfg";
-    }
-
     public boolean bundle(Map<String, ? super Object> p, File outputDirectory)
             throws PackagerException {
         return doBundle(p, outputDirectory, false) != null;
     }
 

@@ -203,51 +120,31 @@
     public String getName() {
         return I18N.getString("app.bundler.name");
     }
 
     @Override
-    public String getDescription() {
-        return I18N.getString("app.bundler.description");
-    }
-
-    @Override
     public String getID() {
         return "windows.app";
     }
 
     @Override
     public String getBundleType() {
         return "IMAGE";
     }
 
     @Override
-    public Collection<BundlerParamInfo<?>> getBundleParameters() {
-        return getAppBundleParameters();
-    }
-
-    public static Collection<BundlerParamInfo<?>> getAppBundleParameters() {
-        return Arrays.asList(
-                APP_NAME,
-                APP_RESOURCES,
-                ARGUMENTS,
-                CLASSPATH,
-                ICON_ICO,
-                JAVA_OPTIONS,
-                MAIN_CLASS,
-                MAIN_JAR,
-                VERSION,
-                VERBOSE
-            );
-    }
-
-    @Override
     public File execute(Map<String, ? super Object> params,
             File outputParentDir) throws PackagerException {
         return doBundle(params, outputParentDir, false);
     }
 
     @Override
     public boolean supported(boolean platformInstaller) {
-        return (Platform.getPlatform() == Platform.WINDOWS);
+        return true;
+    }
+
+    @Override
+    public boolean isDefault() {
+        return false;
     }
 
 }
< prev index next >