From ab1ca18488af22375c1a0ab112b7dd3484600170 Mon Sep 17 00:00:00 2001 From: huangyuhui Date: Mon, 23 May 2016 13:09:30 +0800 Subject: [PATCH] Fixed NullPointerException when minecraftArguments=null --- .../core/install/forge/ForgeInstaller.java | 8 +++--- .../launcher/core/launch/MinecraftLoader.java | 10 ++++++-- .../core/version/MinecraftLibrary.java | 5 +++- HMCSM/build.gradle | 6 +++++ HMCSM/src/main/icon.icns | Bin 0 -> 158805 bytes .../util/DoubleOutputStream.java | 12 ++++----- .../hellominecraft/util/NetUtils.java | 23 ++++++------------ .../util/system/Compressor.java | 11 +++------ .../hellominecraft/util/system/IOUtils.java | 10 ++++++++ .../hellominecraft/util/system/ZipEngine.java | 4 +-- .../util/tasks/download/HTTPGetTask.java | 10 ++++---- .../util/ui/LogWindowOutputStream.java | 21 +++++++++------- 12 files changed, 67 insertions(+), 53 deletions(-) create mode 100755 HMCSM/src/main/icon.icns diff --git a/HMCL/src/core/java/org/jackhuang/hellominecraft/launcher/core/install/forge/ForgeInstaller.java b/HMCL/src/core/java/org/jackhuang/hellominecraft/launcher/core/install/forge/ForgeInstaller.java index 2a7266a74..7d0d76e11 100755 --- a/HMCL/src/core/java/org/jackhuang/hellominecraft/launcher/core/install/forge/ForgeInstaller.java +++ b/HMCL/src/core/java/org/jackhuang/hellominecraft/launcher/core/install/forge/ForgeInstaller.java @@ -18,7 +18,6 @@ package org.jackhuang.hellominecraft.launcher.core.install.forge; import org.jackhuang.hellominecraft.launcher.core.install.InstallProfile; -import java.io.BufferedOutputStream; import java.io.File; import java.io.FileOutputStream; import java.io.InputStream; @@ -32,6 +31,7 @@ import org.jackhuang.hellominecraft.util.system.FileUtils; import org.jackhuang.hellominecraft.util.NetUtils; import org.jackhuang.hellominecraft.launcher.core.version.MinecraftLibrary; import org.jackhuang.hellominecraft.util.MessageBox; +import org.jackhuang.hellominecraft.util.system.IOUtils; /** * @@ -79,10 +79,8 @@ public class ForgeInstaller extends Task { File file = new File(gameDir, "libraries/" + forge.getDownloadInfo().path); if (file.getParentFile().mkdirs()) HMCLog.warn("Failed to make library directory " + file.getParent()); - try (FileOutputStream fos = new FileOutputStream(file); BufferedOutputStream bos = new BufferedOutputStream(fos)) { - int c; - while ((c = is.read()) != -1) - bos.write((byte) c); + try (FileOutputStream fos = new FileOutputStream(file)) { + IOUtils.copyStream(is, fos); } mp.version().refreshVersions(); } diff --git a/HMCL/src/core/java/org/jackhuang/hellominecraft/launcher/core/launch/MinecraftLoader.java b/HMCL/src/core/java/org/jackhuang/hellominecraft/launcher/core/launch/MinecraftLoader.java index 2b828da27..d43fe8938 100755 --- a/HMCL/src/core/java/org/jackhuang/hellominecraft/launcher/core/launch/MinecraftLoader.java +++ b/HMCL/src/core/java/org/jackhuang/hellominecraft/launcher/core/launch/MinecraftLoader.java @@ -45,8 +45,12 @@ public class MinecraftLoader extends AbstractMinecraftLoader { protected void makeSelf(List res) throws GameException { StringBuilder library = new StringBuilder(""); for (MinecraftLibrary l : version.libraries) - if (l.allow() && !l.isRequiredToUnzip()) - library.append(l.getFilePath(gameDir).getAbsolutePath()).append(File.pathSeparator); + if (l.allow() && !l.isRequiredToUnzip()) { + File f = l.getFilePath(gameDir); + if (f == null) + continue; + library.append(f.getAbsolutePath()).append(File.pathSeparator); + } File f = version.getJar(service.baseDirectory()); if (!f.exists()) throw new GameException("Minecraft jar does not exists"); @@ -55,6 +59,8 @@ public class MinecraftLoader extends AbstractMinecraftLoader { res.add(library.toString().substring(0, library.length() - File.pathSeparator.length())); res.add(version.mainClass); + if (version.minecraftArguments == null) + throw new GameException(new NullPointerException("Minecraft Arguments can not be null.")); String[] splitted = StrUtils.tokenize(version.minecraftArguments); String game_assets = assetProvider.apply(version, !options.isNotCheckGame()); diff --git a/HMCL/src/core/java/org/jackhuang/hellominecraft/launcher/core/version/MinecraftLibrary.java b/HMCL/src/core/java/org/jackhuang/hellominecraft/launcher/core/version/MinecraftLibrary.java index 42717940f..5c6baede3 100755 --- a/HMCL/src/core/java/org/jackhuang/hellominecraft/launcher/core/version/MinecraftLibrary.java +++ b/HMCL/src/core/java/org/jackhuang/hellominecraft/launcher/core/version/MinecraftLibrary.java @@ -105,7 +105,10 @@ public class MinecraftLibrary extends IMinecraftLibrary { @Override public File getFilePath(File gameDir) { - return new File(gameDir, "libraries/" + getDownloadInfo().path); + LibraryDownloadInfo info = getDownloadInfo(); + if (info == null) + return null; + return new File(gameDir, "libraries/" + info.path); } @Override diff --git a/HMCSM/build.gradle b/HMCSM/build.gradle index d420f9457..ba1d513c5 100755 --- a/HMCSM/build.gradle +++ b/HMCSM/build.gradle @@ -63,6 +63,12 @@ task macAppCompressed(type: Zip, dependsOn: createApp) { from "$buildDir/macApp" } +macAppBundle { + mainClassName = mainClass + icon = "src/main/icon.icns" + javaProperties.put("apple.laf.useScreenMenuBar", "true") +} + configure(install.repositories.mavenInstaller) { pom.project { groupId = mavenGroupId diff --git a/HMCSM/src/main/icon.icns b/HMCSM/src/main/icon.icns new file mode 100755 index 0000000000000000000000000000000000000000..17f903023ddf8c7169553c759c00af6b87fe5ca3 GIT binary patch literal 158805 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�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
MZJ~#!I_ys4`PaAliz) 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 0) - localByteArrayOutputStream.write(arrayOfByte1, 0, i); + ByteArrayOutputStream out = new ByteArrayOutputStream(); + IOUtils.copyStream(is, out); is.close(); - return localByteArrayOutputStream.toByteArray(); + return out.toByteArray(); } public static String getStreamContent(InputStream is) throws IOException { @@ -83,12 +80,8 @@ public final class NetUtils { public static String post(URL u, Map params) throws IOException { StringBuilder sb = new StringBuilder(); if (params != null) { - for (Map.Entry e : params.entrySet()) { - sb.append(e.getKey()); - sb.append("="); - sb.append(e.getValue()); - sb.append("&"); - } + for (Map.Entry e : params.entrySet()) + sb.append(e.getKey()).append("=").append(e.getValue()).append("&"); sb.deleteCharAt(sb.length() - 1); } return post(u, sb.toString()); @@ -150,9 +143,9 @@ public final class NetUtils { public static URL concatenateURL(URL url, String query) { try { - if ((url.getQuery() != null) && (url.getQuery().length() > 0)) - return new URL(url.getProtocol(), url.getHost(), url.getPort(), new StringBuilder().append(url.getFile()).append("&").append(query).toString()); - return new URL(url.getProtocol(), url.getHost(), url.getPort(), new StringBuilder().append(url.getFile()).append("?").append(query).toString()); + if (url.getQuery() != null && url.getQuery().length() > 0) + return new URL(url.getProtocol(), url.getHost(), url.getPort(), url.getFile() + "&" + query); + return new URL(url.getProtocol(), url.getHost(), url.getPort(), url.getFile() + "?" + query); } catch (MalformedURLException ex) { throw new IllegalArgumentException("Could not concatenate given URL with GET arguments!", ex); } diff --git a/HMCUtils/src/main/java/org/jackhuang/hellominecraft/util/system/Compressor.java b/HMCUtils/src/main/java/org/jackhuang/hellominecraft/util/system/Compressor.java index 267206c6f..9a5a3653a 100755 --- a/HMCUtils/src/main/java/org/jackhuang/hellominecraft/util/system/Compressor.java +++ b/HMCUtils/src/main/java/org/jackhuang/hellominecraft/util/system/Compressor.java @@ -109,7 +109,6 @@ public class Compressor { } String pathName;//存相对路径(相对于待压缩的根目录) byte[] buf = new byte[1024]; - int length; for (File file : files) if (file.isDirectory()) { pathName = file.getPath().substring(basePath.length() + 1) @@ -129,8 +128,7 @@ public class Compressor { try (InputStream is = new FileInputStream(file)) { BufferedInputStream bis = new BufferedInputStream(is); zos.putNextEntry(new ZipEntry(pathName)); - while ((length = bis.read(buf)) > 0) - zos.write(buf, 0, length); + IOUtils.copyStream(bis, zos, buf); } } } @@ -154,6 +152,7 @@ public class Compressor { * @throws java.io.IOException 解压失败或无法写入 */ public static void unzip(File zipFileName, File extPlace, Predicate callback, boolean ignoreExistsFile) throws IOException { + byte[] buf = new byte[1024]; extPlace.mkdirs(); try (ZipInputStream zipFile = new ZipInputStream(new FileInputStream(zipFileName))) { if (zipFileName.exists()) { @@ -184,10 +183,8 @@ public class Compressor { } if (ignoreExistsFile && new File(strtemp).exists()) continue; - try (FileOutputStream fos = new FileOutputStream(strtemp); BufferedOutputStream bos = new BufferedOutputStream(fos)) { - int c; - while ((c = zipFile.read()) != -1) - bos.write((byte) c); + try (FileOutputStream fos = new FileOutputStream(strtemp)) { + IOUtils.copyStream(zipFile, fos, buf); } } } diff --git a/HMCUtils/src/main/java/org/jackhuang/hellominecraft/util/system/IOUtils.java b/HMCUtils/src/main/java/org/jackhuang/hellominecraft/util/system/IOUtils.java index 124ae8ebe..86f3e7790 100755 --- a/HMCUtils/src/main/java/org/jackhuang/hellominecraft/util/system/IOUtils.java +++ b/HMCUtils/src/main/java/org/jackhuang/hellominecraft/util/system/IOUtils.java @@ -288,4 +288,14 @@ public class IOUtils { } return lines; } + + public static void copyStream(InputStream input, OutputStream output) throws IOException { + copyStream(input, output, new byte[1024]); + } + + public static void copyStream(InputStream input, OutputStream output, byte[] buf) throws IOException { + int length; + while ((length = input.read(buf)) != -1) + output.write(buf, 0, length); + } } diff --git a/HMCUtils/src/main/java/org/jackhuang/hellominecraft/util/system/ZipEngine.java b/HMCUtils/src/main/java/org/jackhuang/hellominecraft/util/system/ZipEngine.java index a4bf5d52b..aeab0c375 100644 --- a/HMCUtils/src/main/java/org/jackhuang/hellominecraft/util/system/ZipEngine.java +++ b/HMCUtils/src/main/java/org/jackhuang/hellominecraft/util/system/ZipEngine.java @@ -121,11 +121,9 @@ public class ZipEngine { } public void putStream(InputStream is, String pathName) throws IOException { - int length; try (BufferedInputStream bis = new BufferedInputStream(is)) { put(new ZipEntry(pathName)); - while ((length = bis.read(buf)) > 0) - zos.write(buf, 0, length); + IOUtils.copyStream(bis, zos, buf); } } diff --git a/HMCUtils/src/main/java/org/jackhuang/hellominecraft/util/tasks/download/HTTPGetTask.java b/HMCUtils/src/main/java/org/jackhuang/hellominecraft/util/tasks/download/HTTPGetTask.java index 7aa7c0ec5..9fe25a852 100755 --- a/HMCUtils/src/main/java/org/jackhuang/hellominecraft/util/tasks/download/HTTPGetTask.java +++ b/HMCUtils/src/main/java/org/jackhuang/hellominecraft/util/tasks/download/HTTPGetTask.java @@ -62,12 +62,12 @@ public class HTTPGetTask extends TaskInfo implements PreviousResult { URLConnection conn = new URL(url).openConnection(); InputStream is = conn.getInputStream(); ByteArrayOutputStream baos = new ByteArrayOutputStream(); - int i; - int size = conn.getContentLength(), read = 0; + byte[] buf = new byte[1024]; + int size = conn.getContentLength(), read = 0, len; long lastTime = System.currentTimeMillis(); - while ((i = is.read()) != -1) { - baos.write(i); - ++read; + while ((len = is.read(buf)) != -1) { + baos.write(buf, 0, len); + read += len; long now = System.currentTimeMillis(); if (ppl != null && (now - lastTime) >= 1000) { ppl.setProgress(this, read, size); diff --git a/HMCUtils/src/main/java/org/jackhuang/hellominecraft/util/ui/LogWindowOutputStream.java b/HMCUtils/src/main/java/org/jackhuang/hellominecraft/util/ui/LogWindowOutputStream.java index 57d884acb..a400f150c 100755 --- a/HMCUtils/src/main/java/org/jackhuang/hellominecraft/util/ui/LogWindowOutputStream.java +++ b/HMCUtils/src/main/java/org/jackhuang/hellominecraft/util/ui/LogWindowOutputStream.java @@ -18,6 +18,7 @@ package org.jackhuang.hellominecraft.util.ui; import java.io.OutputStream; +import java.util.Objects; import java.util.Timer; import javax.swing.SwingUtilities; import org.jackhuang.hellominecraft.util.logging.Level; @@ -34,24 +35,26 @@ public class LogWindowOutputStream extends OutputStream { private final Level sas; public LogWindowOutputStream(LogWindow logWindow, Level l) { + Objects.nonNull(logWindow); + Objects.nonNull(l); txt = logWindow; - this.sas = l; + sas = l; } @Override - public final void write(byte[] paramArrayOfByte) { - write(paramArrayOfByte, 0, paramArrayOfByte.length); + public final void write(byte[] arr) { + write(arr, 0, arr.length); } @Override - public final void write(byte[] paramArrayOfByte, int off, int len) { - append(new String(paramArrayOfByte, off, len)); + public final void write(byte[] arr, int off, int len) { + append(new String(arr, off, len)); } - private void append(final String newString) { + private void append(final String str) { try { SwingUtilities.invokeLater(() -> { - txt.log(newString, Level.guessLevel(newString, sas)); + txt.log(str, Level.guessLevel(str, sas)); }); } catch (Throwable e) { e.printStackTrace(); @@ -59,8 +62,8 @@ public class LogWindowOutputStream extends OutputStream { } @Override - public final void write(int paramInt) { - append(new String(new byte[] { (byte) paramInt })); + public final void write(int i) { + append(new String(new byte[] { (byte) i })); } public static void dispose() {