From 4cbd1cf9fe77ecfd6551c704fc66f4c538fe5b7c Mon Sep 17 00:00:00 2001 From: Federico Fissore Date: Tue, 16 Apr 2013 10:26:11 +0200 Subject: [PATCH] fixed UploaderFactoryTest --- app/src/processing/app/debug/HttpUploader.java | 13 ++++++++++--- app/src/processing/app/debug/UploaderFactory.java | 2 +- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/app/src/processing/app/debug/HttpUploader.java b/app/src/processing/app/debug/HttpUploader.java index a8e96566e..f3fbe222f 100644 --- a/app/src/processing/app/debug/HttpUploader.java +++ b/app/src/processing/app/debug/HttpUploader.java @@ -6,23 +6,30 @@ import org.apache.commons.httpclient.methods.PostMethod; import org.apache.commons.httpclient.methods.multipart.FilePart; import org.apache.commons.httpclient.methods.multipart.MultipartRequestEntity; import org.apache.commons.httpclient.methods.multipart.Part; -import processing.app.Preferences; import processing.app.SerialException; import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; +import java.util.regex.Matcher; +import java.util.regex.Pattern; import static processing.app.I18n._; public class HttpUploader extends Uploader { + private static final Pattern IPV4_ADDRESS = Pattern.compile("(\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3})"); + private final HttpClient client; private final String ipAddress; - public HttpUploader() { + public HttpUploader(String port) { this.client = new HttpClient(); - this.ipAddress = Preferences.get("serial.port").substring(0, Preferences.get("serial.port").indexOf(" ")); + Matcher matcher = IPV4_ADDRESS.matcher(port); + if (!matcher.find()) { + throw new IllegalArgumentException(port); + } + this.ipAddress = matcher.group(1); } @Override diff --git a/app/src/processing/app/debug/UploaderFactory.java b/app/src/processing/app/debug/UploaderFactory.java index 03d1c0365..2c3019c08 100644 --- a/app/src/processing/app/debug/UploaderFactory.java +++ b/app/src/processing/app/debug/UploaderFactory.java @@ -9,7 +9,7 @@ public class UploaderFactory { public Uploader newUploader(Map preferences, String port) { if ("true".equals(preferences.get("upload.via_http")) && IPV4_ADDRESS.matcher(port).find()) { - return new HttpUploader(); + return new HttpUploader(port); } return new BasicUploader();