summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDecebal Suiu <decebal.suiu@gmail.com>2018-03-17 17:57:25 +0200
committerDecebal Suiu <decebal.suiu@gmail.com>2018-03-17 17:57:25 +0200
commit9f60dac6849b87763a406852d7bf931d90ed747b (patch)
treeaf915c8a2ea8547967430058986369fede0152a3
parent88ab9bd3bccd9fcab1d6fb44d00dd980bbe7fe32 (diff)
downloadpf4j-9f60dac6849b87763a406852d7bf931d90ed747b.tar.gz
pf4j-9f60dac6849b87763a406852d7bf931d90ed747b.zip
Fix #202
-rw-r--r--pf4j/src/main/java/org/pf4j/util/FileUtils.java2
-rw-r--r--pf4j/src/test/java/org/pf4j/CompoundPluginDescriptorFinderTest.java14
2 files changed, 16 insertions, 0 deletions
diff --git a/pf4j/src/main/java/org/pf4j/util/FileUtils.java b/pf4j/src/main/java/org/pf4j/util/FileUtils.java
index 6da79e0..0d32ee7 100644
--- a/pf4j/src/main/java/org/pf4j/util/FileUtils.java
+++ b/pf4j/src/main/java/org/pf4j/util/FileUtils.java
@@ -219,6 +219,8 @@ public class FileUtils {
String pathString = path.toString();
// transformation for Windows OS
pathString = StringUtils.addStart(pathString.replace("\\", "/"), "/");
+ // space is replaced with %20
+ pathString = pathString.replaceAll(" ","%20");
uri = URI.create("jar:file:" + pathString);
}
diff --git a/pf4j/src/test/java/org/pf4j/CompoundPluginDescriptorFinderTest.java b/pf4j/src/test/java/org/pf4j/CompoundPluginDescriptorFinderTest.java
index ec15500..27b4d72 100644
--- a/pf4j/src/test/java/org/pf4j/CompoundPluginDescriptorFinderTest.java
+++ b/pf4j/src/test/java/org/pf4j/CompoundPluginDescriptorFinderTest.java
@@ -20,6 +20,7 @@ import org.junit.Test;
import org.junit.rules.TemporaryFolder;
import org.pf4j.plugin.PluginZip;
+import java.io.File;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
@@ -80,6 +81,19 @@ public class CompoundPluginDescriptorFinderTest {
instance.find(getPluginsRoot().resolve("test-plugin-3"));
}
+ @Test
+ public void testSpaceCharacterInFileName() throws Exception {
+ PluginDescriptorFinder instance = new PropertiesPluginDescriptorFinder();
+ File jar = testFolder.newFile("my plugin-1.2.3.jar");
+
+ PluginZip pluginJar = new PluginZip.Builder(jar, "myPlugin")
+ .pluginVersion("1.2.3")
+ .build();
+
+ PluginDescriptor pluginDescriptor = instance.find(pluginJar.path());
+ assertNotNull(pluginDescriptor);
+ }
+
private List<String> getPlugin1Properties() {
String[] lines = new String[] {
"plugin.id=test-plugin-1\n"