* This adapts from general Active MQ messages to the types.
*/
- private class ActiveMQMessageListener implements javax.jms.MessageListener {
+ private class ActiveMQMessageListener implements jakarta.jms.MessageListener {
/**
* The Log.
*/
@@ -445,7 +445,7 @@ public ActiveMQMessageListener(MessageListener listener) {
* @param jmsMessage The message received.
*/
@Override
- public void onMessage(final javax.jms.Message jmsMessage) {
+ public void onMessage(final jakarta.jms.Message jmsMessage) {
String type = null;
String text = null;
try {
diff --git a/bitrepository-core/src/main/java/org/bitrepository/protocol/http/HttpFileExchange.java b/bitrepository-core/src/main/java/org/bitrepository/protocol/http/HttpFileExchange.java
index b3d1dfa28..d8bb28f6d 100644
--- a/bitrepository-core/src/main/java/org/bitrepository/protocol/http/HttpFileExchange.java
+++ b/bitrepository-core/src/main/java/org/bitrepository/protocol/http/HttpFileExchange.java
@@ -52,10 +52,9 @@
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
+import java.net.URI;
import java.net.URISyntaxException;
import java.net.URL;
-import java.net.URLEncoder;
-import java.nio.charset.StandardCharsets;
public class HttpFileExchange implements FileExchange {
private final Logger log = LoggerFactory.getLogger(getClass());
@@ -99,7 +98,7 @@ public URL putFile(File dataFile) {
throw new CoordinationLayerException("Could not upload the file '" + dataFile.getAbsolutePath() +
"' to the server.", e);
}
- }
+ }
@Override
public void getFile(OutputStream out, URL url) throws IOException {
@@ -110,12 +109,12 @@ public void getFile(OutputStream out, URL url) throws IOException {
public void getFile(File outputFile, String fileAddress) {
try {
// retrieve the url and the output-stream for the file.
- URL url = new URL(fileAddress);
+ URL url = new URI(fileAddress).toURL();
try (OutputStream out = new BufferedOutputStream(new FileOutputStream(outputFile))) {
// download the file.
performDownload(out, url);
}
- } catch (IOException e) {
+ } catch (IOException | URISyntaxException e) {
throw new CoordinationLayerException("Could not download data from '" + fileAddress + "' to the file '" +
outputFile.getAbsolutePath() + "'.", e);
}
@@ -190,11 +189,25 @@ public URL getURL(String filename) throws MalformedURLException {
ArgumentValidator.checkNotNullOrEmpty(filename, "String fileName");
ArgumentValidator.checkNotNull(settings,
"The ReferenceSettings are missing the settings for the file exchange.");
- String urlEncodedFilename = URLEncoder.encode(filename, StandardCharsets.UTF_8);
- log.debug("URL for file '{}' encoded to '{}'", filename, urlEncodedFilename);
- return new URL(settings.getProtocolType().value(), settings.getServerName(), settings.getPort().intValue(),
- settings.getPath() + "/" + urlEncodedFilename);
+ String path = settings.getPath() == null ? "" : settings.getPath();
+ if (!path.startsWith("/")) {
+ path = "/" + path;
+ }
+ if (!path.endsWith("/")) {
+ path += "/";
+ }
+
+ try {
+ URI baseURI = new URI(settings.getProtocolType().value(), null, settings.getServerName(),
+ settings.getPort().intValue(), path, null, null);
+ String encodedFilename = new URI(null, null, null, -1, "/" + filename, null, null)
+ .getRawPath().substring(1).replace("+", "%2B");
+
+ return new URI(baseURI.toASCIIString() + encodedFilename).toURL();
+ } catch (URISyntaxException e) {
+ throw new MalformedURLException(e.getMessage());
+ }
}
/**
diff --git a/bitrepository-core/src/main/java/org/bitrepository/protocol/messagebus/MessageBus.java b/bitrepository-core/src/main/java/org/bitrepository/protocol/messagebus/MessageBus.java
index 01c05bfc3..42e9e86cf 100644
--- a/bitrepository-core/src/main/java/org/bitrepository/protocol/messagebus/MessageBus.java
+++ b/bitrepository-core/src/main/java/org/bitrepository/protocol/messagebus/MessageBus.java
@@ -24,7 +24,7 @@
*/
package org.bitrepository.protocol.messagebus;
-import javax.jms.JMSException;
+import jakarta.jms.JMSException;
import java.util.List;
diff --git a/bitrepository-core/src/main/java/org/bitrepository/protocol/messagebus/MessageBusManager.java b/bitrepository-core/src/main/java/org/bitrepository/protocol/messagebus/MessageBusManager.java
index f391200f6..6556c84bd 100644
--- a/bitrepository-core/src/main/java/org/bitrepository/protocol/messagebus/MessageBusManager.java
+++ b/bitrepository-core/src/main/java/org/bitrepository/protocol/messagebus/MessageBusManager.java
@@ -24,13 +24,13 @@
*/
package org.bitrepository.protocol.messagebus;
+import jakarta.jms.JMSException;
import org.bitrepository.common.settings.Settings;
import org.bitrepository.protocol.activemq.ActiveMQMessageBus;
import org.bitrepository.protocol.security.SecurityManager;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import javax.jms.JMSException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
diff --git a/bitrepository-core/src/main/java/org/bitrepository/protocol/messagebus/SimpleMessageBus.java b/bitrepository-core/src/main/java/org/bitrepository/protocol/messagebus/SimpleMessageBus.java
index 23db80c29..e8513abe9 100644
--- a/bitrepository-core/src/main/java/org/bitrepository/protocol/messagebus/SimpleMessageBus.java
+++ b/bitrepository-core/src/main/java/org/bitrepository/protocol/messagebus/SimpleMessageBus.java
@@ -21,10 +21,10 @@
*/
package org.bitrepository.protocol.messagebus;
+import jakarta.jms.JMSException;
import org.bitrepository.bitrepositorymessages.Message;
import org.bitrepository.protocol.MessageContext;
-import javax.jms.JMSException;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
diff --git a/bitrepository-core/src/test/java/org/bitrepository/protocol/IntegrationTest.java b/bitrepository-core/src/test/java/org/bitrepository/protocol/IntegrationTest.java
index 5d89964c9..a5b86a837 100644
--- a/bitrepository-core/src/test/java/org/bitrepository/protocol/IntegrationTest.java
+++ b/bitrepository-core/src/test/java/org/bitrepository/protocol/IntegrationTest.java
@@ -26,6 +26,7 @@
import ch.qos.logback.classic.LoggerContext;
import ch.qos.logback.core.util.StatusPrinter;
+import jakarta.jms.JMSException;
import org.bitrepository.SuiteInfo;
import org.bitrepository.SuiteInfoParameterResolver;
import org.bitrepository.common.settings.Settings;
@@ -42,12 +43,16 @@
import org.bitrepository.protocol.security.DummySecurityManager;
import org.bitrepository.protocol.security.SecurityManager;
import org.bitrepository.protocol.utils.TestWatcherExtension;
-import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.TestInfo;
+import org.junit.jupiter.api.TestInstance;
import org.junit.jupiter.api.extension.ExtendWith;
import org.junit.jupiter.api.extension.RegisterExtension;
import org.slf4j.LoggerFactory;
-import javax.jms.JMSException;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.List;
@@ -94,7 +99,7 @@ public void initializeSuite(SuiteInfo testInfo) {
defaultDownloadFileAddress = defaultFileUrl.toExternalForm();
defaultUploadFileAddress = defaultFileUrl.toExternalForm() + "-" + defaultFileId;
} catch (MalformedURLException e) {
- throw new RuntimeException("Never happens");
+ throw new RuntimeException("Failed to construct default file URLs for test setup", e);
}
initMessagebus();
}
diff --git a/bitrepository-core/src/test/java/org/bitrepository/protocol/bus/ActiveMQMessageBusTest.java b/bitrepository-core/src/test/java/org/bitrepository/protocol/bus/ActiveMQMessageBusTest.java
index a2874deb2..139c7dbf0 100644
--- a/bitrepository-core/src/test/java/org/bitrepository/protocol/bus/ActiveMQMessageBusTest.java
+++ b/bitrepository-core/src/test/java/org/bitrepository/protocol/bus/ActiveMQMessageBusTest.java
@@ -21,6 +21,8 @@
*/
package org.bitrepository.protocol.bus;
+import jakarta.jms.Message;
+import jakarta.jms.MessageListener;
import org.bitrepository.bitrepositorymessages.DeleteFileRequest;
import org.bitrepository.bitrepositorymessages.IdentifyPillarsForDeleteFileRequest;
import org.bitrepository.bitrepositorymessages.IdentifyPillarsForDeleteFileResponse;
@@ -31,8 +33,6 @@
import org.junit.jupiter.api.Tag;
import org.junit.jupiter.api.Test;
-import javax.jms.Message;
-import javax.jms.MessageListener;
import java.util.Arrays;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.LinkedBlockingDeque;
@@ -75,7 +75,7 @@ final void collectionFilterTest() throws Exception {
IdentifyPillarsForDeleteFileRequest identifyRequest =
ExampleMessageFactory.createMessage(IdentifyPillarsForDeleteFileRequest.class);
identifyRequest.setCollectionID(myCollectionID);
- javax.jms.Message msg = rawMessagebus.createMessage(identifyRequest);
+ jakarta.jms.Message msg = rawMessagebus.createMessage(identifyRequest);
rawMessagebus.addHeader(msg, identifyRequest.getClass().getSimpleName(), identifyRequest.getReplyTo(),
null,
identifyRequest.getCorrelationID());
@@ -136,7 +136,7 @@ final void toFilterTest() throws Exception {
IdentifyPillarsForDeleteFileRequest identifyRequest =
ExampleMessageFactory.createMessage(IdentifyPillarsForDeleteFileRequest.class);
identifyRequest.setDestination(settingsForTestClient.getCollectionDestination());
- javax.jms.Message msg = rawMessagebus.createMessage(identifyRequest);
+ jakarta.jms.Message msg = rawMessagebus.createMessage(identifyRequest);
rawMessagebus.addHeader(msg, identifyRequest.getClass().getSimpleName(), identifyRequest.getReplyTo(),
null,
identifyRequest.getCorrelationID());
@@ -160,7 +160,7 @@ final void toFilterTest() throws Exception {
IdentifyPillarsForDeleteFileResponse identifyResponse =
ExampleMessageFactory.createMessage(IdentifyPillarsForDeleteFileResponse.class);
identifyRequest.setDestination(settingsForTestClient.getCollectionDestination());
- javax.jms.Message response = rawMessagebus.createMessage(identifyResponse);
+ jakarta.jms.Message response = rawMessagebus.createMessage(identifyResponse);
rawMessagebus.addHeader(response, identifyResponse.getClass().getSimpleName(), identifyResponse.getReplyTo(),
null,
identifyRequest.getCorrelationID());
@@ -173,7 +173,7 @@ final void toFilterTest() throws Exception {
DeleteFileRequest request =
ExampleMessageFactory.createMessage(DeleteFileRequest.class);
request.setDestination(settingsForTestClient.getCollectionDestination());
- javax.jms.Message rq = rawMessagebus.createMessage(request);
+ jakarta.jms.Message rq = rawMessagebus.createMessage(request);
rawMessagebus.addHeader(rq, request.getClass().getSimpleName(), request.getReplyTo(),
null,
identifyRequest.getCorrelationID());
diff --git a/bitrepository-core/src/test/java/org/bitrepository/protocol/bus/MessageBusWrapper.java b/bitrepository-core/src/test/java/org/bitrepository/protocol/bus/MessageBusWrapper.java
index eefda35e5..1ec8e832e 100644
--- a/bitrepository-core/src/test/java/org/bitrepository/protocol/bus/MessageBusWrapper.java
+++ b/bitrepository-core/src/test/java/org/bitrepository/protocol/bus/MessageBusWrapper.java
@@ -25,11 +25,11 @@
package org.bitrepository.protocol.bus;
import io.qameta.allure.Allure;
+import jakarta.jms.JMSException;
import org.bitrepository.bitrepositorymessages.Message;
import org.bitrepository.protocol.messagebus.MessageBus;
import org.bitrepository.protocol.messagebus.MessageListener;
-import javax.jms.JMSException;
import java.util.List;
public class MessageBusWrapper implements MessageBus {
diff --git a/bitrepository-core/src/test/java/org/bitrepository/protocol/bus/MessageReceiver.java b/bitrepository-core/src/test/java/org/bitrepository/protocol/bus/MessageReceiver.java
index 2f44293fa..d11bcbf53 100644
--- a/bitrepository-core/src/test/java/org/bitrepository/protocol/bus/MessageReceiver.java
+++ b/bitrepository-core/src/test/java/org/bitrepository/protocol/bus/MessageReceiver.java
@@ -24,16 +24,15 @@
*/
package org.bitrepository.protocol.bus;
+import jakarta.jms.ExceptionListener;
+import jakarta.jms.JMSException;
import org.bitrepository.bitrepositorymessages.Message;
import org.bitrepository.protocol.MessageContext;
import org.bitrepository.protocol.messagebus.MessageListener;
-
import org.junit.jupiter.api.Assertions;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import javax.jms.ExceptionListener;
-import javax.jms.JMSException;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
diff --git a/bitrepository-core/src/test/java/org/bitrepository/protocol/bus/RawMessagebus.java b/bitrepository-core/src/test/java/org/bitrepository/protocol/bus/RawMessagebus.java
index e6cf85378..84e0c7ce9 100644
--- a/bitrepository-core/src/test/java/org/bitrepository/protocol/bus/RawMessagebus.java
+++ b/bitrepository-core/src/test/java/org/bitrepository/protocol/bus/RawMessagebus.java
@@ -22,6 +22,14 @@
package org.bitrepository.protocol.bus;
+import jakarta.jms.Connection;
+import jakarta.jms.Destination;
+import jakarta.jms.ExceptionListener;
+import jakarta.jms.JMSException;
+import jakarta.jms.Message;
+import jakarta.jms.MessageConsumer;
+import jakarta.jms.MessageProducer;
+import jakarta.jms.Session;
import org.apache.activemq.ActiveMQConnectionFactory;
import org.bitrepository.common.JaxbHelper;
import org.bitrepository.protocol.CoordinationLayerException;
@@ -31,14 +39,6 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import javax.jms.Connection;
-import javax.jms.Destination;
-import javax.jms.ExceptionListener;
-import javax.jms.JMSException;
-import javax.jms.Message;
-import javax.jms.MessageConsumer;
-import javax.jms.MessageProducer;
-import javax.jms.Session;
import javax.xml.bind.JAXBException;
import java.util.HashMap;
import java.util.Map;
@@ -138,7 +138,7 @@ private Destination getDestination(String destinationID, Session session) {
return destination;
}
- public synchronized void addListener(String destinationID, javax.jms.MessageListener listener) throws JMSException {
+ public synchronized void addListener(String destinationID, jakarta.jms.MessageListener listener) throws JMSException {
MessageConsumer consumer = getMessageConsumer(destinationID, listener);
try {
consumer.setMessageListener(listener);
@@ -148,7 +148,7 @@ public synchronized void addListener(String destinationID, javax.jms.MessageList
}
}
- private MessageConsumer getMessageConsumer(String destinationID, javax.jms.MessageListener listener) throws JMSException {
+ private MessageConsumer getMessageConsumer(String destinationID, jakarta.jms.MessageListener listener) throws JMSException {
String key = destinationID + "#" + listener.hashCode();
if (!consumers.containsKey(key)) {
Destination destination = getDestination(destinationID, consumerSession);
diff --git a/bitrepository-core/src/test/java/org/bitrepository/protocol/fileexchange/HttpServerConfiguration.java b/bitrepository-core/src/test/java/org/bitrepository/protocol/fileexchange/HttpServerConfiguration.java
index 43b15ec10..4689d95f2 100644
--- a/bitrepository-core/src/test/java/org/bitrepository/protocol/fileexchange/HttpServerConfiguration.java
+++ b/bitrepository-core/src/test/java/org/bitrepository/protocol/fileexchange/HttpServerConfiguration.java
@@ -14,7 +14,7 @@
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Lesser Public License for more details.
*
* You should have received a copy of the GNU General Lesser Public
@@ -27,7 +27,11 @@
import org.bitrepository.settings.referencesettings.FileExchangeSettings;
import java.net.MalformedURLException;
+import java.net.URI;
+import java.net.URISyntaxException;
import java.net.URL;
+import java.nio.file.Paths;
+import java.util.Locale;
/**
* Configuration for {@link HttpServerConnector} objects. Pretty obsoleted as it only delegates to the
@@ -41,7 +45,7 @@ public HttpServerConfiguration(FileExchangeSettings fileExchangeSettings) {
}
/**
- * Prefix to use when working with files on the http server. The prefix is used to distinguish between different
+ * Prefix to use when working with files on the http server. The prefix is used to distinguish between different
* users/processes working with the server in parallel
*/
public String getProtocol() {
@@ -65,9 +69,21 @@ public String getHttpServerPath() {
* @param filename
*/
public URL getURL(String filename) throws MalformedURLException {
- if (getHttpServerName() == null) {
- return new URL(getProtocol(), null, 0, getHttpServerPath() + "/" + filename);
+ try {
+ String scheme = getProtocol().toLowerCase(Locale.ROOT);
+ String serverName = getHttpServerName();
+ String serverPath = getHttpServerPath() == null ? "" : getHttpServerPath();
+
+ if (serverName == null) {
+ String absolutePath = Paths.get(serverPath, filename).toAbsolutePath().normalize().toUri().getPath();
+ return new URI(scheme, null, null, -1, absolutePath, null, null).toURL();
+ }
+
+ // For remote URLs, paths must always use forward slashes
+ String path = serverPath + "/" + filename;
+ return new URI(scheme, null, serverName, getPortNumber(), path, null, null).toURL();
+ } catch (URISyntaxException e) {
+ throw new MalformedURLException(e.getMessage());
}
- return new URL(getProtocol(), getHttpServerName(), getPortNumber(), getHttpServerPath() + "/" + filename);
}
}
diff --git a/bitrepository-core/src/test/java/org/bitrepository/protocol/fileexchange/HttpServerConnector.java b/bitrepository-core/src/test/java/org/bitrepository/protocol/fileexchange/HttpServerConnector.java
index 1c0b88136..58696e2f1 100644
--- a/bitrepository-core/src/test/java/org/bitrepository/protocol/fileexchange/HttpServerConnector.java
+++ b/bitrepository-core/src/test/java/org/bitrepository/protocol/fileexchange/HttpServerConnector.java
@@ -28,6 +28,8 @@
import java.io.File;
import java.net.MalformedURLException;
+import java.net.URI;
+import java.net.URISyntaxException;
import java.net.URL;
/**
@@ -66,10 +68,10 @@ public HttpServerConnector(HttpServerConfiguration config) {
* @throws MalformedURLException
*/
public URL getURL(String filename) throws MalformedURLException {
- return new URL(
- config.getProtocol(),
- config.getHttpServerName(),
- config.getPortNumber(),
- config.getHttpServerPath() + "/" + filename);
+ try {
+ return new URI(config.getProtocol(), null, config.getHttpServerName(), config.getPortNumber(), config.getHttpServerPath() + "/" + filename, null, null).toURL();
+ } catch (URISyntaxException e) {
+ throw new MalformedURLException(e.getMessage());
+ }
}
}
diff --git a/bitrepository-core/src/test/java/org/bitrepository/protocol/fileexchange/LocalFileExchangeTest.java b/bitrepository-core/src/test/java/org/bitrepository/protocol/fileexchange/LocalFileExchangeTest.java
index 69940eb52..2c87fc75b 100644
--- a/bitrepository-core/src/test/java/org/bitrepository/protocol/fileexchange/LocalFileExchangeTest.java
+++ b/bitrepository-core/src/test/java/org/bitrepository/protocol/fileexchange/LocalFileExchangeTest.java
@@ -17,9 +17,9 @@
import java.io.InputStream;
import java.io.OutputStream;
import java.net.MalformedURLException;
+import java.net.URI;
import java.net.URISyntaxException;
import java.net.URL;
-import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.nio.file.FileAlreadyExistsException;
import java.nio.file.Files;
@@ -27,7 +27,7 @@
@TestInstance(TestInstance.Lifecycle.PER_CLASS)
class LocalFileExchangeTest {
- final static String BASE_FILE_EXCHANGE_DIR = "target/fileexchange/";
+ static final String BASE_FILE_EXCHANGE_DIR = "target/fileexchange/";
private FileExchange exchange;
@BeforeAll
@@ -48,15 +48,18 @@ private void createFileExchangeDir() throws IOException {
@Test
@Tag("regressiontest")
- void getUrlTest() throws MalformedURLException {
+ void getUrlTest() throws MalformedURLException, URISyntaxException {
String testFile = "getUrlTestfile";
File basedir = new File(BASE_FILE_EXCHANGE_DIR);
- URL expectedUrl = new URL("file:" + basedir.getAbsolutePath() + "/" + testFile);
+ URI baseURI = new URI("file", null, basedir.getAbsolutePath() + "/", null);
+ String encodedFilename = new URI(null, null, null, -1, "/" + testFile, null, null)
+ .getRawPath().substring(1).replace("+", "%2B");
+ URL expectedUrl = new URI(baseURI.toASCIIString() + encodedFilename).toURL();
URL actualUrl = exchange.getURL(testFile);
Assertions.assertEquals(expectedUrl, actualUrl);
- File actualFile = new File(actualUrl.getFile());
+ File actualFile = new File(actualUrl.toURI());
Assertions.assertFalse(actualFile.exists());
}
@@ -73,8 +76,10 @@ void putFileByFileContainingHashTest() throws Exception {
File testFile = createTestFile(testFileLocation, testFileContent);
File basedir = new File(BASE_FILE_EXCHANGE_DIR);
- URL expectedUrl = new URL("file:" + basedir.getAbsolutePath() + "/" + URLEncoder.encode(testFileName,
- StandardCharsets.UTF_8));
+ URI baseURI = new URI("file", null, basedir.getAbsolutePath() + "/", null);
+ String encodedFilename = new URI(null, null, null, -1, "/" + testFileName, null, null)
+ .getRawPath().substring(1).replace("+", "%2B");
+ URL expectedUrl = new URI(baseURI.toASCIIString() + encodedFilename).toURL();
URL fileExchangeUrl = exchange.putFile(testFile);
Assertions.assertEquals(expectedUrl, fileExchangeUrl);
@@ -86,19 +91,22 @@ void putFileByFileContainingHashTest() throws Exception {
}
@Test
- void putFileByFileTest() throws IOException {
+ void putFileByFileTest() throws IOException, URISyntaxException {
String testFileName = "putFileByFileTestFile";
String testFileLocation = "target/" + testFileName;
String testFileContent = "lorem ipsum1";
File testFile = createTestFile(testFileLocation, testFileContent);
File basedir = new File(BASE_FILE_EXCHANGE_DIR);
- URL expectedUrl = new URL("file:" + basedir.getAbsolutePath() + "/" + testFileName);
+ URI baseURI = new URI("file", null, basedir.getAbsolutePath() + "/", null);
+ String encodedFilename = new URI(null, null, null, -1, "/" + testFileName, null, null)
+ .getRawPath().substring(1).replace("+", "%2B");
+ URL expectedUrl = new URI(baseURI.toASCIIString() + encodedFilename).toURL();
URL fileExchangeUrl = exchange.putFile(testFile);
Assertions.assertEquals(expectedUrl, fileExchangeUrl);
- File actualFile = new File(fileExchangeUrl.getFile());
+ File actualFile = new File(fileExchangeUrl.toURI());
Assertions.assertTrue(actualFile.exists());
String fileExchangeContent = readTestFileContent(actualFile);
Assertions.assertEquals(testFileContent, fileExchangeContent);
@@ -106,7 +114,7 @@ void putFileByFileTest() throws IOException {
}
@Test
- void putFileByStreamTest() throws IOException {
+ void putFileByStreamTest() throws IOException, URISyntaxException {
String testFileName = "putFileByStreamTestFile";
String testFileContent = "lorem ipsum2";
@@ -114,7 +122,7 @@ void putFileByStreamTest() throws IOException {
URL fileExchangeUrl = exchange.getURL(testFileName);
exchange.putFile(is, fileExchangeUrl);
- File fileExchangeFile = new File(fileExchangeUrl.getFile());
+ File fileExchangeFile = new File(fileExchangeUrl.toURI());
String fileExchangeContent = readTestFileContent(fileExchangeFile);
Assertions.assertEquals(testFileContent, fileExchangeContent);
fileExchangeFile.delete();
@@ -175,7 +183,7 @@ void deleteFileTest() throws IOException, URISyntaxException {
URL fileExchangeUrl = exchange.getURL(testFileName);
exchange.putFile(is, fileExchangeUrl);
- File fileExchangeFile = new File(fileExchangeUrl.getFile());
+ File fileExchangeFile = new File(fileExchangeUrl.toURI());
Assertions.assertTrue(fileExchangeFile.exists());
exchange.deleteFile(fileExchangeUrl);
Assertions.assertFalse(fileExchangeFile.exists());
diff --git a/bitrepository-core/src/test/java/org/bitrepository/protocol/http/EmbeddedHttpServer.java b/bitrepository-core/src/test/java/org/bitrepository/protocol/http/EmbeddedHttpServer.java
index 174f7a954..c70af84a5 100644
--- a/bitrepository-core/src/test/java/org/bitrepository/protocol/http/EmbeddedHttpServer.java
+++ b/bitrepository-core/src/test/java/org/bitrepository/protocol/http/EmbeddedHttpServer.java
@@ -28,8 +28,8 @@
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.ServerConnector;
import org.eclipse.jetty.server.handler.DefaultHandler;
-import org.eclipse.jetty.server.handler.HandlerList;
import org.eclipse.jetty.server.handler.ResourceHandler;
+import org.eclipse.jetty.util.resource.ResourceFactory;
import java.io.File;
@@ -55,16 +55,14 @@ public EmbeddedHttpServer() {
server.addConnector(connector);
ResourceHandler resource_handler = new ResourceHandler();
- resource_handler.setDirectoriesListed(true);
+ resource_handler.setDirAllowed(true);
resource_handler.setWelcomeFiles(new String[]{ "index.html" });
-
File httpServerDir = new File("target/httpserver/dav/");
httpServerDir.mkdirs();
- resource_handler.setResourceBase(httpServerDir.getPath());
+ resource_handler.setBaseResource(ResourceFactory.root().newResource(httpServerDir.toPath()));
- HandlerList handlers = new HandlerList();
- handlers.setHandlers(new Handler[] { resource_handler, new DefaultHandler() });
+ Handler.Sequence handlers = new Handler.Sequence(resource_handler, new DefaultHandler());
server.setHandler(handlers);
}
diff --git a/bitrepository-core/src/test/java/org/bitrepository/protocol/http/HttpFileExchangeTest.java b/bitrepository-core/src/test/java/org/bitrepository/protocol/http/HttpFileExchangeTest.java
index 97eccd072..a4a86e570 100644
--- a/bitrepository-core/src/test/java/org/bitrepository/protocol/http/HttpFileExchangeTest.java
+++ b/bitrepository-core/src/test/java/org/bitrepository/protocol/http/HttpFileExchangeTest.java
@@ -31,6 +31,7 @@
import java.math.BigInteger;
import java.net.MalformedURLException;
+import java.net.URISyntaxException;
import java.net.URL;
import static org.bitrepository.common.utils.AllureTestUtils.addDescription;
@@ -40,7 +41,7 @@
class HttpFileExchangeTest {
@Test
@Tag("regressiontest")
- void checkUrlEncodingOfFilenamesTest() throws MalformedURLException {
+ void checkUrlEncodingOfFilenamesTest() throws MalformedURLException, URISyntaxException {
addDescription("Tests that the filename is url-encoded correctly for a configured webdav server");
Settings mySettings = TestSettingsProvider.reloadSettings("uploadTest");
FileExchangeSettings fileExchangeSettings = mySettings.getReferenceSettings().getFileExchangeSettings();
@@ -49,19 +50,19 @@ void checkUrlEncodingOfFilenamesTest() throws MalformedURLException {
fileExchangeSettings.setPort(BigInteger.valueOf(8000));
fileExchangeSettings.setPath("dav");
HttpFileExchange fe = new HttpFileExchange(fileExchangeSettings);
- String serverPathPrefix = fileExchangeSettings.getPath() + "/";
+ String serverPathPrefix = "/" + fileExchangeSettings.getPath() + "/";
addStep("Check plain filename (a filename that does not see any changes due to urlencoding",
"The filename should be unmodified");
String plainFilename = "testfile";
URL plainFilenameUrl = fe.getURL(plainFilename);
- Assertions.assertEquals(serverPathPrefix + plainFilename, plainFilenameUrl.getFile());
+ Assertions.assertEquals(serverPathPrefix + plainFilename, plainFilenameUrl.toURI().getRawPath());
addStep("Check that + is encoded as expected", "Filenames with a + is correctly encoded");
String plusFilename = "test+file";
URL plusFilenameUrl = fe.getURL(plusFilename);
String expectedEncodedPlusFilename = "test%2Bfile";
- Assertions.assertEquals(serverPathPrefix + expectedEncodedPlusFilename, plusFilenameUrl.getFile());
+ Assertions.assertEquals(serverPathPrefix + expectedEncodedPlusFilename, plusFilenameUrl.toURI().getRawPath());
}
}
\ No newline at end of file
diff --git a/bitrepository-core/src/test/java/org/bitrepository/protocol/performancetest/MessageBusNumberOfListenersStressTest.java b/bitrepository-core/src/test/java/org/bitrepository/protocol/performancetest/MessageBusNumberOfListenersStressTest.java
index f4207924f..55af2fd1b 100644
--- a/bitrepository-core/src/test/java/org/bitrepository/protocol/performancetest/MessageBusNumberOfListenersStressTest.java
+++ b/bitrepository-core/src/test/java/org/bitrepository/protocol/performancetest/MessageBusNumberOfListenersStressTest.java
@@ -360,7 +360,7 @@ public void stop() {
bus.removeListener(queueName, this);
try {
bus.close();
- } catch (javax.jms.JMSException e) {
+ } catch (jakarta.jms.JMSException e) {
// ignore
}
}
diff --git a/bitrepository-core/src/test/java/org/bitrepository/protocol/performancetest/MessageBusNumberOfMessagesStressTest.java b/bitrepository-core/src/test/java/org/bitrepository/protocol/performancetest/MessageBusNumberOfMessagesStressTest.java
index 7c6c63ee5..6a0bd20d1 100644
--- a/bitrepository-core/src/test/java/org/bitrepository/protocol/performancetest/MessageBusNumberOfMessagesStressTest.java
+++ b/bitrepository-core/src/test/java/org/bitrepository/protocol/performancetest/MessageBusNumberOfMessagesStressTest.java
@@ -24,6 +24,7 @@
*/
package org.bitrepository.protocol.performancetest;
+import jakarta.jms.JMSException;
import org.bitrepository.bitrepositorymessages.AlarmMessage;
import org.bitrepository.bitrepositorymessages.Message;
import org.bitrepository.common.settings.Settings;
@@ -43,7 +44,6 @@
import org.junit.jupiter.api.Tag;
import org.junit.jupiter.api.Test;
-import javax.jms.JMSException;
import java.io.IOException;
import java.net.ServerSocket;
import java.time.Instant;
diff --git a/bitrepository-core/src/test/java/org/bitrepository/protocol/performancetest/MessageBusTimeToSendMessagesStressTest.java b/bitrepository-core/src/test/java/org/bitrepository/protocol/performancetest/MessageBusTimeToSendMessagesStressTest.java
index 76976c81b..6ce41eadd 100644
--- a/bitrepository-core/src/test/java/org/bitrepository/protocol/performancetest/MessageBusTimeToSendMessagesStressTest.java
+++ b/bitrepository-core/src/test/java/org/bitrepository/protocol/performancetest/MessageBusTimeToSendMessagesStressTest.java
@@ -31,7 +31,6 @@
import org.bitrepository.protocol.MessageContext;
import org.bitrepository.protocol.activemq.ActiveMQMessageBus;
import org.bitrepository.protocol.bus.LocalActiveMQBroker;
-import org.bitrepository.protocol.bus.MessageBusConfigurationFactory;
import org.bitrepository.protocol.message.ExampleMessageFactory;
import org.bitrepository.protocol.messagebus.MessageBus;
import org.bitrepository.protocol.messagebus.MessageListener;
@@ -78,16 +77,25 @@ void initializeSettings() {
*/
@Test
@Tag("StressTest")
- void SendManyMessagesDistributed() {
+ void SendManyMessagesDistributed() throws Exception {
addDescription("Tests how fast a given number of messages can be handled.");
addStep("Define constants", "This should not be possible to fail.");
addStep("Make configuration for the messagebus.", "Both should be created.");
- MessageBusConfiguration conf = MessageBusConfigurationFactory.createDefaultConfiguration();
+ MessageBusConfiguration conf = new MessageBusConfiguration();
+ int port = getFreePort();
+ conf.setURL("tcp://localhost:" + port);
+ settings.getRepositorySettings().getProtocolSettings().setMessageBusConfiguration(conf);
+ LocalActiveMQBroker broker = new LocalActiveMQBroker(conf);
+ Assertions.assertNotNull(broker);
+
SecurityManager securityManager = new DummySecurityManager();
CountMessagesListener listener = null;
try {
+ addStep("Starting the broker.", "Should be allowed");
+ broker.start();
+
addStep("Initialise the message-listener", "Should be allowed.");
listener = new CountMessagesListener(securityManager);
@@ -117,6 +125,7 @@ void SendManyMessagesDistributed() {
if (listener != null) {
listener.stop();
}
+ broker.stop();
}
}
@@ -234,7 +243,7 @@ public void run() {
} finally {
try {
bus.close();
- } catch (javax.jms.JMSException e) {
+ } catch (jakarta.jms.JMSException e) {
// ignore
}
}
@@ -266,7 +275,7 @@ public void stop() {
bus.removeListener(testQueue, this);
try {
bus.close();
- } catch (javax.jms.JMSException e) {
+ } catch (jakarta.jms.JMSException e) {
// ignore
}
}
diff --git a/bitrepository-core/src/test/java/org/bitrepository/protocol/utils/FileExchangeResolverTest.java b/bitrepository-core/src/test/java/org/bitrepository/protocol/utils/FileExchangeResolverTest.java
index ff77d6dbf..3b87d035b 100644
--- a/bitrepository-core/src/test/java/org/bitrepository/protocol/utils/FileExchangeResolverTest.java
+++ b/bitrepository-core/src/test/java/org/bitrepository/protocol/utils/FileExchangeResolverTest.java
@@ -10,6 +10,8 @@
import org.junit.jupiter.api.Test;
import java.net.MalformedURLException;
+import java.net.URI;
+import java.net.URISyntaxException;
import java.net.URL;
@@ -39,30 +41,30 @@ void resolveHttpsProtocol() {
}
@Test
- void resolveFileProtocolURL() throws MalformedURLException {
- URL url = new URL("file:///home/user/Desktop/my-cool-file.txt");
+ void resolveFileProtocolURL() throws MalformedURLException, URISyntaxException {
+ URL url = new URI("file:///home/user/Desktop/my-cool-file.txt").toURL();
FileExchange exchange = FileExchangeResolver.getBasicFileExchangeFromURL(url);
Assertions.assertEquals(LocalFileExchange.class, exchange.getClass());
}
@Test
- void resolveHttpProtocolURL() throws MalformedURLException {
- URL url = new URL("http://localhost:80/myfile.txt");
+ void resolveHttpProtocolURL() throws MalformedURLException, URISyntaxException {
+ URL url = new URI("http://localhost:80/myfile.txt").toURL();
FileExchange exchange = FileExchangeResolver.getBasicFileExchangeFromURL(url);
Assertions.assertEquals(HttpFileExchange.class, exchange.getClass());
}
@Test
- void resolveHttpsProtocolURL() throws MalformedURLException {
- URL url = new URL("https://localhost:443/myfile.txt");
+ void resolveHttpsProtocolURL() throws MalformedURLException, URISyntaxException {
+ URL url = new URI("https://localhost:443/myfile.txt").toURL();
FileExchange exchange = FileExchangeResolver.getBasicFileExchangeFromURL(url);
Assertions.assertEquals(HttpsFileExchange.class, exchange.getClass());
}
@Test
- void resolveBadProtocolURL() throws MalformedURLException {
+ void resolveBadProtocolURL() {
Assertions.assertThrows(IllegalArgumentException.class, () -> {
- URL badURL = new URL("ftp://some/path");
+ URL badURL = new URI("ftp://some/path").toURL();
FileExchangeResolver.getBasicFileExchangeFromURL(badURL);
});
}
diff --git a/bitrepository-integrity-service/src/test/java/org/bitrepository/integrityservice/collector/IntegrityInformationCollectorTest.java b/bitrepository-integrity-service/src/test/java/org/bitrepository/integrityservice/collector/IntegrityInformationCollectorTest.java
index 65b6460d7..5a762973d 100644
--- a/bitrepository-integrity-service/src/test/java/org/bitrepository/integrityservice/collector/IntegrityInformationCollectorTest.java
+++ b/bitrepository-integrity-service/src/test/java/org/bitrepository/integrityservice/collector/IntegrityInformationCollectorTest.java
@@ -35,6 +35,7 @@
import org.junit.jupiter.api.Tag;
import org.junit.jupiter.api.Test;
+import java.net.URI;
import java.net.URL;
import java.util.List;
@@ -141,7 +142,7 @@ void testCollectorGetFile() throws Exception {
addDescription("Tests that the collector calls the GetFileClient");
addStep("Define variables", "No errors");
String auditTrailInformation = "audit trail for this test";
- URL uploadUrl = new URL("http://localhost:80/dav/test.txt");
+ URL uploadUrl = new URI("http://localhost:80/dav/test.txt").toURL();
addStep("Setup a GetFileClient for test purpose.", "Should be OK.");
GetFileClient getFileClient = mock(GetFileClient.class);
@@ -173,7 +174,7 @@ void testCollectorPutFile() throws Exception {
addDescription("Tests that the collector calls the PutFileClient");
addStep("Define variables", "No errors");
String auditTrailInformation = "audit trail for this test";
- URL uploadUrl = new URL("http://localhost:80/dav/test.txt");
+ URL uploadUrl = new URI("http://localhost:80/dav/test.txt").toURL();
ChecksumDataForFileTYPE csForValidation = new ChecksumDataForFileTYPE();
addStep("Setup a PutFileClient for test purpose.", "Should be OK.");
@@ -257,7 +258,7 @@ void testCollectorHandleGetFileClientFailures() throws Exception {
addDescription("Test that the IntegrityInformationCollector works as a fault-barrier.");
addStep("Define variables", "No errors");
String auditTrailInformation = "audit trail for this test";
- URL uploadUrl = new URL("http://localhost:80/dav/test.txt");
+ URL uploadUrl = new URI("http://localhost:80/dav/test.txt").toURL();
addStep("Setup a GetFileClient for test purpose, and ensure that it throws an error when called.",
"Should be OK.");
@@ -280,7 +281,7 @@ void testCollectorHandlePutFileClientFailures() throws Exception {
addDescription("Test that the IntegrityInformationCollector works as a fault-barrier.");
addStep("Define variables", "No errors");
String auditTrailInformation = "audit trail for this test";
- URL uploadUrl = new URL("http://localhost:80/dav/test.txt");
+ URL uploadUrl = new URI("http://localhost:80/dav/test.txt").toURL();
ChecksumDataForFileTYPE csForValidation = new ChecksumDataForFileTYPE();
addStep("Setup a PutFileClient for test purpose, and ensure that it throws an error when called.",
diff --git a/bitrepository-integrity-service/src/test/java/org/bitrepository/integrityservice/workflow/step/GetFileStepTest.java b/bitrepository-integrity-service/src/test/java/org/bitrepository/integrityservice/workflow/step/GetFileStepTest.java
index 042b39d70..918630262 100644
--- a/bitrepository-integrity-service/src/test/java/org/bitrepository/integrityservice/workflow/step/GetFileStepTest.java
+++ b/bitrepository-integrity-service/src/test/java/org/bitrepository/integrityservice/workflow/step/GetFileStepTest.java
@@ -30,6 +30,7 @@
import org.mockito.invocation.InvocationOnMock;
import org.mockito.stubbing.Answer;
+import java.net.URI;
import java.net.URL;
import static org.bitrepository.common.utils.AllureTestUtils.addDescription;
@@ -60,7 +61,7 @@ public Void answer(InvocationOnMock invocation) {
eq(TEST_COLLECTION), eq(TEST_FILE_1), any(URL.class), any(EventHandler.class), anyString());
IntegrityWorkflowContext context = new IntegrityWorkflowContext(settings, collector, model, alerter, auditManager);
- URL uploadUrl = new URL("http://localhost/dav/test.txt");
+ URL uploadUrl = new URI("http://localhost/dav/test.txt").toURL();
GetFileStep step = new GetFileStep(context, TEST_COLLECTION, TEST_FILE_1, uploadUrl);
step.performStep();
@@ -87,7 +88,7 @@ public Void answer(InvocationOnMock invocation) {
IntegrityWorkflowContext context =
new IntegrityWorkflowContext(settings, collector, model, alerter, auditManager);
- URL uploadUrl = new URL("http://localhost/dav/test.txt");
+ URL uploadUrl = new URI("http://localhost/dav/test.txt").toURL();
GetFileStep step = new GetFileStep(context, TEST_COLLECTION, TEST_FILE_1, uploadUrl);
step.performStep();
diff --git a/bitrepository-integrity-service/src/test/java/org/bitrepository/integrityservice/workflow/step/PutFileStepTest.java b/bitrepository-integrity-service/src/test/java/org/bitrepository/integrityservice/workflow/step/PutFileStepTest.java
index 1fb96fd91..7c31b30b6 100644
--- a/bitrepository-integrity-service/src/test/java/org/bitrepository/integrityservice/workflow/step/PutFileStepTest.java
+++ b/bitrepository-integrity-service/src/test/java/org/bitrepository/integrityservice/workflow/step/PutFileStepTest.java
@@ -31,6 +31,7 @@
import org.mockito.invocation.InvocationOnMock;
import org.mockito.stubbing.Answer;
+import java.net.URI;
import java.net.URL;
import static org.bitrepository.common.utils.AllureTestUtils.addDescription;
@@ -63,7 +64,7 @@ public Void answer(InvocationOnMock invocation) {
any(EventHandler.class), anyString());
IntegrityWorkflowContext context = new IntegrityWorkflowContext(settings, collector, model, alerter, auditManager);
- URL uploadUrl = new URL("http://localhost/dav/test.txt");
+ URL uploadUrl = new URI("http://localhost/dav/test.txt").toURL();
PutFileStep step = new PutFileStep(context, TEST_COLLECTION, TEST_FILE_1, uploadUrl, TEST_CHECKSUM);
step.performStep();
@@ -91,7 +92,7 @@ public Void answer(InvocationOnMock invocation) {
any(EventHandler.class), anyString());
IntegrityWorkflowContext context = new IntegrityWorkflowContext(settings, collector, model, alerter, auditManager);
- URL uploadUrl = new URL("http://localhost/dav/test.txt");
+ URL uploadUrl = new URI("http://localhost/dav/test.txt").toURL();
PutFileStep step = new PutFileStep(context, TEST_COLLECTION, TEST_FILE_1, uploadUrl, TEST_CHECKSUM);
step.performStep();
diff --git a/bitrepository-monitoring-service/src/main/java/org/bitrepository/monitoringservice/MonitoringService.java b/bitrepository-monitoring-service/src/main/java/org/bitrepository/monitoringservice/MonitoringService.java
index 95bb7b29f..d8f340924 100644
--- a/bitrepository-monitoring-service/src/main/java/org/bitrepository/monitoringservice/MonitoringService.java
+++ b/bitrepository-monitoring-service/src/main/java/org/bitrepository/monitoringservice/MonitoringService.java
@@ -21,6 +21,7 @@
*/
package org.bitrepository.monitoringservice;
+import jakarta.jms.JMSException;
import org.bitrepository.access.AccessComponentFactory;
import org.bitrepository.access.getstatus.GetStatusClient;
import org.bitrepository.common.settings.Settings;
@@ -40,7 +41,6 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import javax.jms.JMSException;
import java.time.Duration;
import java.util.Map;
diff --git a/bitrepository-reference-pillar/src/main/java/org/bitrepository/pillar/Pillar.java b/bitrepository-reference-pillar/src/main/java/org/bitrepository/pillar/Pillar.java
index af73321be..9c0f50351 100644
--- a/bitrepository-reference-pillar/src/main/java/org/bitrepository/pillar/Pillar.java
+++ b/bitrepository-reference-pillar/src/main/java/org/bitrepository/pillar/Pillar.java
@@ -21,6 +21,7 @@
*/
package org.bitrepository.pillar;
+import jakarta.jms.JMSException;
import org.bitrepository.common.ArgumentValidator;
import org.bitrepository.common.settings.Settings;
import org.bitrepository.common.utils.SettingsUtils;
@@ -37,7 +38,6 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import javax.jms.JMSException;
import javax.xml.datatype.Duration;
/**
diff --git a/bitrepository-reference-pillar/src/main/java/org/bitrepository/pillar/messagehandler/GetChecksumsRequestHandler.java b/bitrepository-reference-pillar/src/main/java/org/bitrepository/pillar/messagehandler/GetChecksumsRequestHandler.java
index d8be89ef4..51cac2a9c 100644
--- a/bitrepository-reference-pillar/src/main/java/org/bitrepository/pillar/messagehandler/GetChecksumsRequestHandler.java
+++ b/bitrepository-reference-pillar/src/main/java/org/bitrepository/pillar/messagehandler/GetChecksumsRequestHandler.java
@@ -57,6 +57,8 @@
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
+import java.net.URI;
+import java.net.URISyntaxException;
import java.net.URL;
import java.nio.charset.StandardCharsets;
import java.time.Instant;
@@ -239,8 +241,8 @@ private File makeTemporaryChecksumFile(GetChecksumsRequest request,
* @param url The location where the file should be uploaded.
* @throws IOException If something goes wrong.
*/
- private void uploadFile(File fileToUpload, String url) throws IOException {
- URL uploadUrl = new URL(url);
+ private void uploadFile(File fileToUpload, String url) throws IOException, URISyntaxException {
+ final URL uploadUrl = new URI(url).toURL();
// Upload the file.
log.debug("Uploading file '{}' to {}", fileToUpload.getName(), url);
diff --git a/bitrepository-reference-pillar/src/main/java/org/bitrepository/pillar/messagehandler/GetFileIDsRequestHandler.java b/bitrepository-reference-pillar/src/main/java/org/bitrepository/pillar/messagehandler/GetFileIDsRequestHandler.java
index e305d849b..1a5a7e696 100644
--- a/bitrepository-reference-pillar/src/main/java/org/bitrepository/pillar/messagehandler/GetFileIDsRequestHandler.java
+++ b/bitrepository-reference-pillar/src/main/java/org/bitrepository/pillar/messagehandler/GetFileIDsRequestHandler.java
@@ -58,7 +58,7 @@
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
-import java.net.URL;
+import java.net.URI;
import java.nio.charset.StandardCharsets;
import java.time.Instant;
@@ -210,12 +210,12 @@ private File makeTemporaryResultFile(GetFileIDsRequest request, FileIDsData file
* @throws IOException If something goes wrong.
*/
private void uploadFile(File fileToUpload, String url) throws IOException {
- URL uploadUrl = new URL(url);
+ final URI uploadUri = URI.create(url);
log.debug("Uploading file '{}' to {}", fileToUpload.getName(), url);
try (InputStream in = new BufferedInputStream(new FileInputStream(fileToUpload))) {
- FileExchange fileExchange = FileExchangeResolver.getBasicFileExchangeFromURL(uploadUrl);
- fileExchange.putFile(in, uploadUrl);
+ FileExchange fileExchange = FileExchangeResolver.getBasicFileExchangeFromURL(uploadUri.toURL());
+ fileExchange.putFile(in, uploadUri.toURL());
}
}
diff --git a/bitrepository-reference-pillar/src/main/java/org/bitrepository/pillar/messagehandler/GetFileRequestHandler.java b/bitrepository-reference-pillar/src/main/java/org/bitrepository/pillar/messagehandler/GetFileRequestHandler.java
index 9d2828c38..9c2973697 100644
--- a/bitrepository-reference-pillar/src/main/java/org/bitrepository/pillar/messagehandler/GetFileRequestHandler.java
+++ b/bitrepository-reference-pillar/src/main/java/org/bitrepository/pillar/messagehandler/GetFileRequestHandler.java
@@ -48,10 +48,9 @@
import java.io.IOException;
import java.io.InputStream;
import java.math.BigInteger;
+import java.net.URI;
+import java.net.URISyntaxException;
import java.net.URL;
-import java.net.URLDecoder;
-import java.nio.charset.StandardCharsets;
-import java.util.UUID;
public class GetFileRequestHandler extends PerformRequestHandler