Skip to content

Commit 58fc5a5

Browse files
author
Mattia Bertorello
committed
Add commons-io dependency and replace the extract file name with FilenameUtils
1 parent 4a944df commit 58fc5a5

File tree

8 files changed

+19
-10
lines changed

8 files changed

+19
-10
lines changed

app/lib/commons-io-2.6.jar

210 KB
Binary file not shown.

arduino-core/lib/commons-io-2.6.jar

210 KB
Binary file not shown.

arduino-core/src/cc/arduino/contributions/DownloadableContributionsDownloader.java

+8-6
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
import cc.arduino.utils.MultiStepProgress;
3434
import cc.arduino.utils.Progress;
3535
import cc.arduino.utils.network.FileDownloader;
36+
import org.apache.commons.io.FilenameUtils;
3637
import org.apache.logging.log4j.LogManager;
3738
import org.apache.logging.log4j.Logger;
3839
import processing.app.BaseNoGui;
@@ -147,13 +148,13 @@ public void download(URL url, File tmpFile, Progress progress, String statusText
147148
public void downloadIndexAndSignature(MultiStepProgress progress, URL packageIndexUrl, ProgressListener progressListener, SignatureVerifier signatureVerifier) throws Exception {
148149

149150
// Extract the file name from the url
150-
String[] urlPathParts = packageIndexUrl.getFile().split("/");
151-
File packageIndex = BaseNoGui.indexer.getIndexFile(urlPathParts[urlPathParts.length - 1]);
151+
String indexFileName = FilenameUtils.getName(packageIndexUrl.getPath());
152+
File packageIndex = BaseNoGui.indexer.getIndexFile(indexFileName);
152153

153154
final String statusText = tr("Downloading platforms index...");
154155

155156
// Create temp files
156-
File packageIndexTemp = File.createTempFile(packageIndexUrl.getPath(), ".tmp");
157+
File packageIndexTemp = File.createTempFile(indexFileName, ".tmp");
157158
try {
158159
// Download package index
159160
download(packageIndexUrl, packageIndexTemp, progress, statusText, progressListener, true);
@@ -195,10 +196,11 @@ public boolean verifyDomain(URL url) {
195196

196197
public boolean checkSignature(MultiStepProgress progress, URL signatureUrl, ProgressListener progressListener, SignatureVerifier signatureVerifier, String statusText, File fileToVerify) throws Exception {
197198

198-
File packageIndexSignatureTemp = File.createTempFile(signatureUrl.getPath(), ".tmp");
199199
// Signature file name
200-
String[] urlPathParts = signatureUrl.getFile().split("/");
201-
File packageIndexSignature = BaseNoGui.indexer.getIndexFile(urlPathParts[urlPathParts.length - 1]);
200+
String signatureFileName = FilenameUtils.getName(signatureUrl.getPath());
201+
File packageIndexSignature = BaseNoGui.indexer.getIndexFile(signatureFileName);
202+
File packageIndexSignatureTemp = File.createTempFile(signatureFileName, ".tmp");
203+
202204

203205
try {
204206
// Download signature

arduino-core/src/cc/arduino/contributions/GZippedJsonDownloader.java

+3-1
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
import org.apache.commons.compress.compressors.gzip.GzipCompressorInputStream;
3535
import org.apache.commons.compress.compressors.gzip.GzipUtils;
3636
import org.apache.commons.compress.utils.IOUtils;
37+
import org.apache.commons.io.FilenameUtils;
3738

3839
import java.io.*;
3940
import java.net.URL;
@@ -54,7 +55,8 @@ public GZippedJsonDownloader(DownloadableContributionsDownloader downloader, URL
5455
public void download(File tmpFile, Progress progress, String statusText, ProgressListener progressListener) throws Exception {
5556
File gzipTmpFile = null;
5657
try {
57-
gzipTmpFile = File.createTempFile(new URL(Constants.LIBRARY_INDEX_URL_GZ).getPath(), GzipUtils.getCompressedFilename(tmpFile.getName()));
58+
String tmpFileName = FilenameUtils.getName(new URL(Constants.LIBRARY_INDEX_URL_GZ).getPath());
59+
gzipTmpFile = File.createTempFile(tmpFileName, GzipUtils.getCompressedFilename(tmpFile.getName()));
5860
// remove eventual leftovers from previous downloads
5961
Files.deleteIfExists(gzipTmpFile.toPath());
6062

arduino-core/src/cc/arduino/contributions/libraries/LibraryInstaller.java

+3-1
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
import cc.arduino.contributions.ProgressListener;
3737
import cc.arduino.utils.ArchiveExtractor;
3838
import cc.arduino.utils.MultiStepProgress;
39+
import org.apache.commons.io.FilenameUtils;
3940
import org.apache.logging.log4j.LogManager;
4041
import org.apache.logging.log4j.Logger;
4142
import processing.app.BaseNoGui;
@@ -70,7 +71,8 @@ public synchronized void updateIndex(ProgressListener progressListener) throws E
7071
// Step 1: Download index
7172
File outputFile = BaseNoGui.librariesIndexer.getIndexFile();
7273
// Create temp files
73-
File libraryIndexTemp = File.createTempFile(new URL(Constants.LIBRARY_INDEX_URL).getPath(), ".tmp");
74+
String signatureFileName = FilenameUtils.getName(new URL(Constants.LIBRARY_INDEX_URL).getPath());
75+
File libraryIndexTemp = File.createTempFile(signatureFileName, ".tmp");
7476
final URL libraryURL = new URL(Constants.LIBRARY_INDEX_URL);
7577
final String statusText = tr("Downloading libraries index...");
7678
try {

arduino-core/src/cc/arduino/contributions/packages/ContributionInstaller.java

+3-2
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
import org.apache.commons.exec.DefaultExecutor;
4242
import org.apache.commons.exec.Executor;
4343
import org.apache.commons.exec.PumpStreamHandler;
44+
import org.apache.commons.io.FilenameUtils;
4445
import org.apache.logging.log4j.LogManager;
4546
import org.apache.logging.log4j.Logger;
4647
import processing.app.BaseNoGui;
@@ -298,8 +299,8 @@ public synchronized List<String> updateIndex(ProgressListener progressListener)
298299
try {
299300
// Extract the file name from the URL
300301
final URL packageIndexURL = new URL(packageIndexURLString);
301-
String[] urlPathParts = packageIndexURL.getPath().split("/");
302-
downloadedPackageIndexFilesAccumulator.add(BaseNoGui.indexer.getIndexFile(urlPathParts[urlPathParts.length - 1]).getName());
302+
String indexFileName = FilenameUtils.getName(packageIndexURL.getPath());
303+
downloadedPackageIndexFilesAccumulator.add(BaseNoGui.indexer.getIndexFile(indexFileName).getName());
303304

304305
log.info("Start download and signature check of={}", packageIndexURLs);
305306
downloader.downloadIndexAndSignature(progress, packageIndexURL, progressListener, signatureVerifier);

build/windows/launcher/config.xml

+1
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
<cp>%EXEDIR%/lib/commons-lang3-3.8.1.jar</cp>
3737
<cp>%EXEDIR%/lib/commons-logging-1.0.4.jar</cp>
3838
<cp>%EXEDIR%/lib/commons-net-3.3.jar</cp>
39+
<cp>%EXEDIR%/lib/commons-io-2.6.jar</cp>
3940
<cp>%EXEDIR%/lib/jackson-annotations-2.9.5.jar</cp>
4041
<cp>%EXEDIR%/lib/jackson-core-2.9.5.jar</cp>
4142
<cp>%EXEDIR%/lib/jackson-databind-2.9.5.jar</cp>

build/windows/launcher/config_debug.xml

+1
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
<cp>%EXEDIR%/lib/commons-lang3-3.8.1.jar</cp>
3737
<cp>%EXEDIR%/lib/commons-logging-1.0.4.jar</cp>
3838
<cp>%EXEDIR%/lib/commons-net-3.3.jar</cp>
39+
<cp>%EXEDIR%/lib/commons-io-2.6.jar</cp>
3940
<cp>%EXEDIR%/lib/jackson-annotations-2.9.5.jar</cp>
4041
<cp>%EXEDIR%/lib/jackson-core-2.9.5.jar</cp>
4142
<cp>%EXEDIR%/lib/jackson-databind-2.9.5.jar</cp>

0 commit comments

Comments
 (0)