inspection cleanup

This commit is contained in:
Matthew Kennedy 2023-11-25 17:39:44 -08:00
parent ddc5400dc2
commit b4cb4a1167
10 changed files with 8 additions and 190 deletions

View File

@ -5,8 +5,6 @@ import org.jetbrains.annotations.NotNull;
import java.io.*;
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;
/**
* Minor mess: we also have FileUtils in io
@ -14,56 +12,6 @@ import java.util.zip.ZipInputStream;
public class FileUtil {
public static final String RUSEFI_SETTINGS_FOLDER = System.getProperty("user.home") + File.separator + ".rusEFI";
public static void unzip(String zipFileName, File destDir) throws IOException {
byte[] buffer = new byte[1024];
ZipInputStream zis = new ZipInputStream(new FileInputStream(zipFileName));
ZipEntry zipEntry = zis.getNextEntry();
while (zipEntry != null) {
/**
* drama: java API does not have access to file permission meta info
* apache commons compress does
* https://stackoverflow.com/questions/1050560/maintain-file-permissions-when-extracting-from-a-zip-file-using-jdk-5-api
*/
File newFile = newFile(destDir, zipEntry);
if (zipEntry.isDirectory()) {
if (!newFile.isDirectory()) {
// we already have a file with name matching directory name
newFile.delete();
}
newFile.mkdirs();
} else {
unzipFile(buffer, zis, newFile);
}
zipEntry = zis.getNextEntry();
}
zis.closeEntry();
zis.close();
System.out.println("Unzip " + zipFileName + " to " + destDir + " worked!");
}
private static void unzipFile(byte[] buffer, ZipInputStream zis, File newFile) throws IOException {
System.out.println("Unzipping " + newFile);
FileOutputStream fos = new FileOutputStream(newFile);
int len;
while ((len = zis.read(buffer)) > 0) {
fos.write(buffer, 0, len);
}
fos.close();
}
private static File newFile(File destinationDir, ZipEntry zipEntry) throws IOException {
File destFile = new File(destinationDir, zipEntry.getName());
String destDirPath = destinationDir.getCanonicalPath();
String destFilePath = destFile.getCanonicalPath();
if (!destFilePath.startsWith(destDirPath + File.separator)) {
throw new IOException("Entry is outside of the target dir: " + zipEntry.getName());
}
return destFile;
}
public static void close(Closeable closeable) {
if (closeable != null) {
try {

View File

@ -1,11 +0,0 @@
package com.rusefi.core;
public class Tuple<Z> extends Pair<String, String> {
public final Z third;
public Tuple(String first, String second, Z third) {
super(first, second);
this.third = third;
}
}

View File

@ -1,110 +0,0 @@
package com.rusefi.core.net;
import javax.net.ssl.*;
import java.io.*;
import java.net.HttpURLConnection;
import java.net.URL;
import java.security.KeyManagementException;
import java.security.NoSuchAlgorithmException;
import java.security.SecureRandom;
import java.security.cert.X509Certificate;
import java.util.Objects;
public class ConnectionAndMeta {
public static final String BASE_URL_RELEASE = "https://github.com/rusefi/rusefi/releases/latest/download/";
public static final String BASE_URL_LATEST = "https://rusefi.com/build_server/autoupdate/";
public static final String BASE_URL_LTS = "https://rusefi.com/build_server/lts/%s/autoupdate/";
private static final int BUFFER_SIZE = 32 * 1024;
public static final int CENTUM = 100;
private final String zipFileName;
private HttpsURLConnection httpConnection;
private long completeFileSize;
private long lastModified;
public ConnectionAndMeta(String zipFileName) {
this.zipFileName = zipFileName;
}
public static void downloadFile(String localTargetFileName, ConnectionAndMeta connectionAndMeta, DownloadProgressListener listener) throws IOException {
HttpURLConnection httpConnection = connectionAndMeta.getHttpConnection();
long completeFileSize = connectionAndMeta.getCompleteFileSize();
Objects.requireNonNull(httpConnection, "httpConnection");
BufferedInputStream in = new BufferedInputStream(httpConnection.getInputStream());
FileOutputStream fos = new FileOutputStream(localTargetFileName);
BufferedOutputStream bout = new BufferedOutputStream(fos, BUFFER_SIZE);
byte[] data = new byte[BUFFER_SIZE];
long downloadedFileSize = 0;
int newDataSize;
int printedPercentage = 0;
while ((newDataSize = in.read(data, 0, BUFFER_SIZE)) >= 0) {
downloadedFileSize += newDataSize;
// calculate progress
int currentPercentage = (int) (CENTUM * downloadedFileSize / completeFileSize);
if (currentPercentage > printedPercentage + 5) {
System.out.println("Downloaded " + currentPercentage + "%");
printedPercentage = currentPercentage;
listener.onPercentage(currentPercentage);
}
bout.write(data, 0, newDataSize);
}
bout.close();
in.close();
new File(localTargetFileName).setLastModified(connectionAndMeta.getLastModified());
}
public HttpURLConnection getHttpConnection() {
return httpConnection;
}
public long getCompleteFileSize() {
return completeFileSize;
}
public long getLastModified() {
return lastModified;
}
public ConnectionAndMeta invoke(String baseUrl) throws IOException {
// user can have java with expired certificates or funny proxy, we shall accept any certificate :(
SSLContext ctx;
try {
ctx = SSLContext.getInstance("TLS");
ctx.init(new KeyManager[0], new TrustManager[]{new AcceptAnyCertificateTrustManager()}, new SecureRandom());
} catch (NoSuchAlgorithmException | KeyManagementException e) {
throw new IOException("TLS exception", e);
}
URL url = new URL(baseUrl + zipFileName);
System.out.println("Connecting to " + url);
httpConnection = (HttpsURLConnection) url.openConnection();
httpConnection.setSSLSocketFactory(ctx.getSocketFactory());
completeFileSize = httpConnection.getContentLength();
lastModified = httpConnection.getLastModified();
return this;
}
public interface DownloadProgressListener {
void onPercentage(int currentPercentage);
}
private static class AcceptAnyCertificateTrustManager implements X509TrustManager {
@Override
public void checkClientTrusted(X509Certificate[] arg0, String arg1) {
}
@Override
public void checkServerTrusted(X509Certificate[] arg0, String arg1) {
}
@Override
public X509Certificate[] getAcceptedIssuers() {
return null;
}
}
}

View File

@ -3,7 +3,7 @@ package com.rusefi.trigger;
import com.rusefi.StartupFrame;
import com.rusefi.enums.trigger_type_e;
import com.rusefi.ui.engine.UpDownImage;
import com.rusefi.core.ui.FrameHelper;
import com.rusefi.ui.FrameHelper;
import com.rusefi.ui.util.UiUtils;
import com.rusefi.waves.EngineReport;
import org.jetbrains.annotations.NotNull;

View File

@ -3,7 +3,7 @@ package com.rusefi.ui;
import com.devexperts.logging.Logging;
import com.rusefi.core.io.BundleUtil;
import com.rusefi.core.rusEFIVersion;
import com.rusefi.core.ui.FrameHelper;
import com.rusefi.ui.FrameHelper;
import com.rusefi.ui.util.UiUtils;
import org.jetbrains.annotations.NotNull;

View File

@ -8,7 +8,7 @@ import com.rusefi.core.EngineState;
import com.rusefi.io.*;
import com.rusefi.io.tcp.BinaryProtocolServer;
import com.rusefi.core.preferences.storage.Node;
import com.rusefi.core.ui.FrameHelper;
import com.rusefi.ui.FrameHelper;
import com.rusefi.ui.util.UiUtils;
import com.rusefi.util.IoUtils;
import org.jetbrains.annotations.NotNull;

View File

@ -1,11 +0,0 @@
package com.rusefi.test;
import com.rusefi.core.ui.FrameHelper;
import com.rusefi.ui.MessagesPane;
import com.rusefi.core.preferences.storage.PersistentConfiguration;
public class MsgPanelSandbox extends FrameHelper {
public static void main(String[] args) {
new FrameHelper().showFrame(new MessagesPane(null, PersistentConfiguration.getConfig().getRoot()).getContent());
}
}

View File

@ -5,7 +5,7 @@ import com.rusefi.ui.test.WavePanelSandbox;
import com.rusefi.waves.EngineChart;
import com.rusefi.waves.EngineChartParser;
import com.rusefi.waves.EngineReport;
import com.rusefi.core.ui.FrameHelper;
import com.rusefi.ui.FrameHelper;
import com.rusefi.ui.engine.UpDownImage;
import javax.swing.*;

View File

@ -2,7 +2,7 @@ package com.rusefi.ui.test;
import com.rusefi.config.generated.Fields;
import com.rusefi.core.preferences.storage.PersistentConfiguration;
import com.rusefi.core.ui.FrameHelper;
import com.rusefi.ui.FrameHelper;
import com.rusefi.ui.engine.EngineSnifferPanel;
import com.rusefi.waves.EngineChartParser;

View File

@ -10,6 +10,8 @@ import org.antlr.v4.runtime.tree.ParseTreeWalker;
import java.io.FileInputStream;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
public class RusefiParseErrorStrategy extends DefaultErrorStrategy {
private boolean hadError = false;
@ -17,7 +19,7 @@ public class RusefiParseErrorStrategy extends DefaultErrorStrategy {
public static void parseDefinitionFile(ParseTreeListener listener, String filePath) throws IOException {
SystemOut.println("Parsing file (Antlr) " + filePath);
CharStream in = new ANTLRInputStream(new FileInputStream(filePath));
CharStream in = new ANTLRInputStream(Files.newInputStream(Paths.get(filePath)));
long start = System.nanoTime();
parse(listener, in);