Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGreg Wilkins2016-01-13 01:47:12 +0000
committerGreg Wilkins2016-01-13 01:47:25 +0000
commite2a0794d91e91a810f23c1c0ea45249a62a19b11 (patch)
treebd3f4d214ad2e8c394b16a4b97519f12a103f76f
parenta7b3a9f4816b25811a88840b830975b5704fa6fc (diff)
downloadorg.eclipse.jetty.project-e2a0794d91e91a810f23c1c0ea45249a62a19b11.tar.gz
org.eclipse.jetty.project-e2a0794d91e91a810f23c1c0ea45249a62a19b11.tar.xz
org.eclipse.jetty.project-e2a0794d91e91a810f23c1c0ea45249a62a19b11.zip
485712 - Quickstart web.xml is absolute
-rw-r--r--jetty-quickstart/src/main/java/org/eclipse/jetty/quickstart/QuickStartDescriptorGenerator.java42
-rw-r--r--jetty-quickstart/src/main/java/org/eclipse/jetty/quickstart/QuickStartDescriptorProcessor.java9
-rw-r--r--jetty-util/src/test/java/org/eclipse/jetty/util/resource/FileSystemResourceTest.java80
-rw-r--r--tests/test-quickstart/src/test/java/org/eclipse/jetty/quickstart/QuickStartTest.java72
4 files changed, 149 insertions, 54 deletions
diff --git a/jetty-quickstart/src/main/java/org/eclipse/jetty/quickstart/QuickStartDescriptorGenerator.java b/jetty-quickstart/src/main/java/org/eclipse/jetty/quickstart/QuickStartDescriptorGenerator.java
index 5db988d893..34c401222a 100644
--- a/jetty-quickstart/src/main/java/org/eclipse/jetty/quickstart/QuickStartDescriptorGenerator.java
+++ b/jetty-quickstart/src/main/java/org/eclipse/jetty/quickstart/QuickStartDescriptorGenerator.java
@@ -22,6 +22,9 @@ package org.eclipse.jetty.quickstart;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.OutputStream;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.net.URL;
import java.util.Collection;
import java.util.Collections;
import java.util.EventListener;
@@ -55,6 +58,7 @@ import org.eclipse.jetty.servlet.ServletMapping;
import org.eclipse.jetty.util.QuotedStringTokenizer;
import org.eclipse.jetty.util.log.Log;
import org.eclipse.jetty.util.log.Logger;
+import org.eclipse.jetty.util.resource.Resource;
import org.eclipse.jetty.util.security.Constraint;
import org.eclipse.jetty.webapp.MetaData;
import org.eclipse.jetty.webapp.MetaData.OriginInfo;
@@ -128,16 +132,16 @@ public class QuickStartDescriptorGenerator
// Set some special context parameters
// The location of the war file on disk
- String resourceBase = _webApp.getBaseResource().getFile().getCanonicalFile().getAbsoluteFile().toURI().toString();
+ AttributeNormalizer normalizer = new AttributeNormalizer(_webApp.getBaseResource());
// The library order
addContextParamFromAttribute(out,ServletContext.ORDERED_LIBS);
//the servlet container initializers
addContextParamFromAttribute(out,AnnotationConfiguration.CONTAINER_INITIALIZERS);
//the tlds discovered
- addContextParamFromAttribute(out,MetaInfConfiguration.METAINF_TLDS,resourceBase);
+ addContextParamFromAttribute(out,MetaInfConfiguration.METAINF_TLDS,normalizer);
//the META-INF/resources discovered
- addContextParamFromAttribute(out,MetaInfConfiguration.METAINF_RESOURCES,resourceBase);
+ addContextParamFromAttribute(out,MetaInfConfiguration.METAINF_RESOURCES,normalizer);
// init params
@@ -515,7 +519,27 @@ public class QuickStartDescriptorGenerator
*/
private void addContextParamFromAttribute(XmlAppendable out, String attribute) throws IOException
{
- addContextParamFromAttribute(out,attribute,null);
+ Object o = _webApp.getAttribute(attribute);
+ if (o == null)
+ return;
+
+ Collection<?> c = (o instanceof Collection)? (Collection<?>)o:Collections.singletonList(o);
+ StringBuilder v=new StringBuilder();
+ for (Object i:c)
+ {
+ if (i!=null)
+ {
+ if (v.length()>0)
+ v.append(",\n ");
+ else
+ v.append("\n ");
+ QuotedStringTokenizer.quote(v,i.toString());
+ }
+ }
+ out.openTag("context-param")
+ .tag("param-name",attribute)
+ .tagCDATA("param-value",v.toString())
+ .closeTag();
}
/**
@@ -526,7 +550,7 @@ public class QuickStartDescriptorGenerator
* @param resourceBase
* @throws IOException
*/
- private void addContextParamFromAttribute(XmlAppendable out, String attribute, String resourceBase) throws IOException
+ private void addContextParamFromAttribute(XmlAppendable out, String attribute, AttributeNormalizer normalizer) throws IOException
{
Object o = _webApp.getAttribute(attribute);
if (o == null)
@@ -542,16 +566,14 @@ public class QuickStartDescriptorGenerator
v.append(",\n ");
else
v.append("\n ");
- if (resourceBase==null)
- QuotedStringTokenizer.quote(v,i.toString());
- else
- QuotedStringTokenizer.quote(v,i.toString().replace(resourceBase,"${WAR}/"));
+ QuotedStringTokenizer.quote(v,normalizer.normalize(i));
}
}
out.openTag("context-param")
.tag("param-name",attribute)
.tagCDATA("param-value",v.toString())
- .closeTag();
+ .closeTag();
+
}
/**
diff --git a/jetty-quickstart/src/main/java/org/eclipse/jetty/quickstart/QuickStartDescriptorProcessor.java b/jetty-quickstart/src/main/java/org/eclipse/jetty/quickstart/QuickStartDescriptorProcessor.java
index 924b0dd5f9..35d41ea17a 100644
--- a/jetty-quickstart/src/main/java/org/eclipse/jetty/quickstart/QuickStartDescriptorProcessor.java
+++ b/jetty-quickstart/src/main/java/org/eclipse/jetty/quickstart/QuickStartDescriptorProcessor.java
@@ -99,6 +99,7 @@ public class QuickStartDescriptorProcessor extends IterativeDescriptorProcessor
values.add(value);
}
+ AttributeNormalizer normalizer = new AttributeNormalizer(context.getBaseResource());
// handle values
switch(name)
{
@@ -125,15 +126,14 @@ public class QuickStartDescriptorProcessor extends IterativeDescriptorProcessor
case MetaInfConfiguration.METAINF_TLDS:
{
List<Object> tlds = new ArrayList<>();
- String war=context.getBaseResource().getURI().toString();
Object o=context.getAttribute(MetaInfConfiguration.METAINF_TLDS);
if (o instanceof Collection<?>)
tlds.addAll((Collection<?>)o);
for (String i : values)
{
- Resource r = Resource.newResource(i.replace("${WAR}/",war));
+ Resource r = Resource.newResource(normalizer.expand(i));
if (r.exists())
- tlds.add(r.getURL());
+ tlds.add(r.getURI().toURL());
else
throw new IllegalArgumentException("TLD not found: "+r);
}
@@ -145,10 +145,9 @@ public class QuickStartDescriptorProcessor extends IterativeDescriptorProcessor
case MetaInfConfiguration.METAINF_RESOURCES:
{
- String war=context.getBaseResource().getURI().toString();
for (String i : values)
{
- Resource r = Resource.newResource(i.replace("${WAR}/",war));
+ Resource r = Resource.newResource(normalizer.expand(i));
if (r.exists())
visitMetaInfResource(context,r);
else
diff --git a/jetty-util/src/test/java/org/eclipse/jetty/util/resource/FileSystemResourceTest.java b/jetty-util/src/test/java/org/eclipse/jetty/util/resource/FileSystemResourceTest.java
index 25418ee060..392524c962 100644
--- a/jetty-util/src/test/java/org/eclipse/jetty/util/resource/FileSystemResourceTest.java
+++ b/jetty-util/src/test/java/org/eclipse/jetty/util/resource/FileSystemResourceTest.java
@@ -222,7 +222,7 @@ public class FileSystemResourceTest
@Test
public void testAddPath() throws Exception
{
- Path dir = testdir.getDir().toPath().normalize().toRealPath();
+ Path dir = testdir.getPath().normalize().toRealPath();
Path subdir = dir.resolve("sub");
FS.ensureDirExists(subdir.toFile());
@@ -240,7 +240,7 @@ public class FileSystemResourceTest
@Test
public void testAddRootPath() throws Exception
{
- Path dir = testdir.getDir().toPath().normalize().toRealPath();
+ Path dir = testdir.getPath().normalize().toRealPath();
Path subdir = dir.resolve("sub");
Files.createDirectories(subdir);
@@ -288,7 +288,7 @@ public class FileSystemResourceTest
@Test
public void testIsContainedIn() throws Exception
{
- Path dir = testdir.getDir().toPath().normalize().toRealPath();
+ Path dir = testdir.getPath().normalize().toRealPath();
Files.createDirectories(dir);
Path foo = dir.resolve("foo");
Files.createFile(foo);
@@ -303,7 +303,7 @@ public class FileSystemResourceTest
@Test
public void testIsDirectory() throws Exception
{
- Path dir = testdir.getDir().toPath().normalize().toRealPath();
+ Path dir = testdir.getPath().normalize().toRealPath();
Files.createDirectories(dir);
Path foo = dir.resolve("foo");
Files.createFile(foo);
@@ -324,7 +324,7 @@ public class FileSystemResourceTest
@Test
public void testLastModified() throws Exception
{
- Path dir = testdir.getDir().toPath().normalize().toRealPath();
+ Path dir = testdir.getPath().normalize().toRealPath();
File file = testdir.getFile("foo");
file.createNewFile();
@@ -340,7 +340,7 @@ public class FileSystemResourceTest
@Test
public void testLastModified_NotExists() throws Exception
{
- Path dir = testdir.getDir().toPath().normalize().toRealPath();
+ Path dir = testdir.getPath().normalize().toRealPath();
try (Resource base = newResource(dir.toFile()))
{
@@ -352,7 +352,7 @@ public class FileSystemResourceTest
@Test
public void testLength() throws Exception
{
- Path dir = testdir.getDir().toPath().normalize().toRealPath();
+ Path dir = testdir.getPath().normalize().toRealPath();
Files.createDirectories(dir);
Path file = dir.resolve("foo");
@@ -375,7 +375,7 @@ public class FileSystemResourceTest
@Test
public void testLength_NotExists() throws Exception
{
- Path dir = testdir.getDir().toPath().normalize().toRealPath();
+ Path dir = testdir.getPath().normalize().toRealPath();
Files.createDirectories(dir);
try (Resource base = newResource(dir.toFile()))
@@ -388,7 +388,7 @@ public class FileSystemResourceTest
@Test
public void testDelete() throws Exception
{
- Path dir = testdir.getDir().toPath().normalize().toRealPath();
+ Path dir = testdir.getPath().normalize().toRealPath();
Files.createDirectories(dir);
Path file = dir.resolve("foo");
Files.createFile(file);
@@ -408,7 +408,7 @@ public class FileSystemResourceTest
@Test
public void testDelete_NotExists() throws Exception
{
- Path dir = testdir.getDir().toPath().normalize().toRealPath();
+ Path dir = testdir.getPath().normalize().toRealPath();
Files.createDirectories(dir);
try (Resource base = newResource(dir.toFile()))
@@ -426,7 +426,7 @@ public class FileSystemResourceTest
@Test
public void testName() throws Exception
{
- Path dir = testdir.getDir().toPath().normalize().toRealPath();
+ Path dir = testdir.getPath().normalize().toRealPath();
Files.createDirectories(dir);
String expected = dir.toAbsolutePath().toString();
@@ -440,7 +440,7 @@ public class FileSystemResourceTest
@Test
public void testInputStream() throws Exception
{
- Path dir = testdir.getDir().toPath().normalize().toRealPath();
+ Path dir = testdir.getPath().normalize().toRealPath();
Files.createDirectories(dir);
Path file = dir.resolve("foo");
@@ -466,7 +466,7 @@ public class FileSystemResourceTest
@Test
public void testReadableByteChannel() throws Exception
{
- Path dir = testdir.getDir().toPath().normalize().toRealPath();
+ Path dir = testdir.getPath().normalize().toRealPath();
Files.createDirectories(dir);
Path file = dir.resolve("foo");
@@ -495,7 +495,7 @@ public class FileSystemResourceTest
@Test
public void testGetURI() throws Exception
{
- Path dir = testdir.getDir().toPath().normalize().toRealPath();
+ Path dir = testdir.getPath().normalize().toRealPath();
Files.createDirectories(dir);
Path file = dir.resolve("foo");
@@ -514,7 +514,7 @@ public class FileSystemResourceTest
@Test
public void testGetURL() throws Exception
{
- Path dir = testdir.getDir().toPath().normalize().toRealPath();
+ Path dir = testdir.getPath().normalize().toRealPath();
Files.createDirectories(dir);
Path file = dir.resolve("foo");
@@ -532,7 +532,7 @@ public class FileSystemResourceTest
@Test
public void testList() throws Exception
{
- Path dir = testdir.getDir().toPath().normalize().toRealPath();
+ Path dir = testdir.getPath().normalize().toRealPath();
Files.createDirectories(dir);
Files.createFile(dir.resolve("foo"));
@@ -561,7 +561,7 @@ public class FileSystemResourceTest
@Test
public void testSymlink() throws Exception
{
- Path dir = testdir.getDir().toPath().normalize().toRealPath();
+ Path dir = testdir.getPath().normalize().toRealPath();
Path foo = dir.resolve("foo");
Path bar = dir.resolve("bar");
@@ -601,7 +601,7 @@ public class FileSystemResourceTest
@Test
public void testNonExistantSymlink() throws Exception
{
- Path dir = testdir.getDir().toPath().normalize().toRealPath();
+ Path dir = testdir.getPath().normalize().toRealPath();
Files.createDirectories(dir);
Path foo = dir.resolve("foo");
@@ -644,7 +644,7 @@ public class FileSystemResourceTest
@Test
public void testCaseInsensitiveAlias() throws Exception
{
- Path dir = testdir.getDir().toPath().normalize().toRealPath();
+ Path dir = testdir.getPath().normalize().toRealPath();
Files.createDirectories(dir);
Path path = dir.resolve("file");
Files.createFile(path);
@@ -681,7 +681,7 @@ public class FileSystemResourceTest
@Test
public void testCase8dot3Alias() throws Exception
{
- Path dir = testdir.getDir().toPath().normalize().toRealPath();
+ Path dir = testdir.getPath().normalize().toRealPath();
Files.createDirectories(dir);
Path path = dir.resolve("TextFile.Long.txt");
@@ -718,7 +718,7 @@ public class FileSystemResourceTest
@Test
public void testNTFSFileStreamAlias() throws Exception
{
- Path dir = testdir.getDir().toPath().normalize().toRealPath();
+ Path dir = testdir.getPath().normalize().toRealPath();
Files.createDirectories(dir);
Path path = dir.resolve("testfile");
@@ -761,7 +761,7 @@ public class FileSystemResourceTest
@Test
public void testNTFSFileDataStreamAlias() throws Exception
{
- Path dir = testdir.getDir().toPath().normalize().toRealPath();
+ Path dir = testdir.getPath().normalize().toRealPath();
Files.createDirectories(dir);
Path path = dir.resolve("testfile");
@@ -806,7 +806,7 @@ public class FileSystemResourceTest
@Test
public void testNTFSFileEncodedDataStreamAlias() throws Exception
{
- Path dir = testdir.getDir().toPath().normalize().toRealPath();
+ Path dir = testdir.getPath().normalize().toRealPath();
Files.createDirectories(dir);
Path path = dir.resolve("testfile");
@@ -843,7 +843,7 @@ public class FileSystemResourceTest
@Test
public void testSemicolon() throws Exception
{
- Path dir = testdir.getDir().toPath().normalize().toRealPath();
+ Path dir = testdir.getPath().normalize().toRealPath();
try
{
@@ -868,7 +868,7 @@ public class FileSystemResourceTest
@Test
public void testSingleQuote() throws Exception
{
- Path dir = testdir.getDir().toPath().normalize().toRealPath();
+ Path dir = testdir.getPath().normalize().toRealPath();
Files.createDirectories(dir);
try
@@ -894,7 +894,7 @@ public class FileSystemResourceTest
@Test
public void testSingleBackTick() throws Exception
{
- Path dir = testdir.getDir().toPath().normalize().toRealPath();
+ Path dir = testdir.getPath().normalize().toRealPath();
Files.createDirectories(dir);
try
@@ -923,7 +923,7 @@ public class FileSystemResourceTest
@Test
public void testBrackets() throws Exception
{
- Path dir = testdir.getDir().toPath().normalize().toRealPath();
+ Path dir = testdir.getPath().normalize().toRealPath();
Files.createDirectories(dir);
try
@@ -949,7 +949,7 @@ public class FileSystemResourceTest
@Test
public void testBraces() throws Exception
{
- Path dir = testdir.getDir().toPath().normalize().toRealPath();
+ Path dir = testdir.getPath().normalize().toRealPath();
Files.createDirectories(dir);
try
@@ -978,7 +978,7 @@ public class FileSystemResourceTest
@Test
public void testCaret() throws Exception
{
- Path dir = testdir.getDir().toPath().normalize().toRealPath();
+ Path dir = testdir.getPath().normalize().toRealPath();
Files.createDirectories(dir);
try
@@ -1007,7 +1007,7 @@ public class FileSystemResourceTest
@Test
public void testPipe() throws Exception
{
- Path dir = testdir.getDir().toPath().normalize().toRealPath();
+ Path dir = testdir.getPath().normalize().toRealPath();
Files.createDirectories(dir);
try
@@ -1040,13 +1040,13 @@ public class FileSystemResourceTest
@Test
public void testExist_Normal() throws Exception
{
- Path dir = testdir.getDir().toPath().normalize().toRealPath();
+ Path dir = testdir.getPath().normalize().toRealPath();
Files.createDirectories(dir);
Path path = dir.resolve("a.jsp");
Files.createFile(path);
- URI ref = testdir.getDir().toURI().resolve("a.jsp");
+ URI ref = testdir.getPath().toUri().resolve("a.jsp");
try (Resource fileres = newResource(ref))
{
assertThat("Resource: " + fileres,fileres.exists(),is(true));
@@ -1056,7 +1056,7 @@ public class FileSystemResourceTest
@Test
public void testSingleQuoteInFileName() throws Exception
{
- Path dir = testdir.getDir().toPath().normalize().toRealPath();
+ Path dir = testdir.getPath().normalize().toRealPath();
Files.createDirectories(dir);
Path fooA = dir.resolve("foo's.txt");
@@ -1121,7 +1121,7 @@ public class FileSystemResourceTest
@Test
public void testExist_BadURINull() throws Exception
{
- Path dir = testdir.getDir().toPath().normalize().toRealPath();
+ Path dir = testdir.getPath().normalize().toRealPath();
Files.createDirectories(dir);
Path path = dir.resolve("a.jsp");
@@ -1130,7 +1130,7 @@ public class FileSystemResourceTest
try
{
// request with null at end
- URI uri = testdir.getDir().toURI().resolve("a.jsp%00");
+ URI uri = testdir.getPath().toUri().resolve("a.jsp%00");
assertThat("Null URI",uri,notNullValue());
Resource r = newResource(uri);
@@ -1147,7 +1147,7 @@ public class FileSystemResourceTest
@Test
public void testExist_BadURINullX() throws Exception
{
- Path dir = testdir.getDir().toPath().normalize().toRealPath();
+ Path dir = testdir.getPath().normalize().toRealPath();
Files.createDirectories(dir);
Path path = dir.resolve("a.jsp");
@@ -1156,7 +1156,7 @@ public class FileSystemResourceTest
try
{
// request with null and x at end
- URI uri = testdir.getDir().toURI().resolve("a.jsp%00x");
+ URI uri = testdir.getPath().toUri().resolve("a.jsp%00x");
assertThat("NullX URI",uri,notNullValue());
Resource r = newResource(uri);
@@ -1173,7 +1173,7 @@ public class FileSystemResourceTest
@Test
public void testEncoding() throws Exception
{
- Path dir = testdir.getDir().toPath().normalize().toRealPath();
+ Path dir = testdir.getPath().normalize().toRealPath();
Files.createDirectories(dir);
Path specials = dir.resolve("a file with,spe#ials");
@@ -1192,7 +1192,7 @@ public class FileSystemResourceTest
@Test
public void testUtf8Dir() throws Exception
{
- Path dir = testdir.getDir().toPath().normalize().toRealPath();
+ Path dir = testdir.getPath().normalize().toRealPath();
Path utf8Dir = dir.resolve("bãm");
Files.createDirectories(utf8Dir);
@@ -1209,4 +1209,6 @@ public class FileSystemResourceTest
assertThat("Alias: " + r,r,hasNoAlias());
}
}
+
+
}
diff --git a/tests/test-quickstart/src/test/java/org/eclipse/jetty/quickstart/QuickStartTest.java b/tests/test-quickstart/src/test/java/org/eclipse/jetty/quickstart/QuickStartTest.java
index 61b853ba35..54b0caa031 100644
--- a/tests/test-quickstart/src/test/java/org/eclipse/jetty/quickstart/QuickStartTest.java
+++ b/tests/test-quickstart/src/test/java/org/eclipse/jetty/quickstart/QuickStartTest.java
@@ -21,8 +21,10 @@ package org.eclipse.jetty.quickstart;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertThat;
+import java.io.File;
import java.io.InputStream;
import java.net.HttpURLConnection;
+import java.net.URI;
import java.net.URL;
import org.eclipse.jetty.server.NetworkConnector;
@@ -33,6 +35,7 @@ import org.eclipse.jetty.webapp.WebDescriptor;
import org.eclipse.jetty.xml.XmlConfiguration;
import org.eclipse.jetty.xml.XmlParser.Node;
import org.hamcrest.Matchers;
+import org.junit.Assert;
import org.junit.Test;
public class QuickStartTest
@@ -176,4 +179,73 @@ public class QuickStartTest
server.stop();
}
+
+ @Test
+ public void testNormalize() throws Exception
+ {
+ String jetty_base=System.getProperty("jetty.base");
+ String jetty_home=System.getProperty("jetty.home");
+ String user_home=System.getProperty("user.home");
+ String user_dir=System.getProperty("user.dir");
+ try
+ {
+ System.setProperty("jetty.home","/opt/jetty-distro");
+ System.setProperty("jetty.base","/opt/jetty-distro/demo.base");
+ System.setProperty("user.home","/home/user");
+ System.setProperty("user.dir","/etc/init.d");
+ AttributeNormalizer normalizer = new AttributeNormalizer(Resource.newResource("/opt/jetty-distro/demo.base/webapps/root"));
+
+ String[][] tests = {
+ { "WAR", "/opt/jetty-distro/demo.base/webapps/root" },
+ { "jetty.home", "/opt/jetty-distro" },
+ { "jetty.base", "/opt/jetty-distro/demo.base" },
+ { "user.home", "/home/user" },
+ { "user.dir", "/etc/init.d" },
+ };
+
+ for (String[] test : tests)
+ {
+ Assert.assertEquals("file:${"+test[0]+"}",normalizer.normalize("file:"+test[1]));
+ Assert.assertEquals("file:${"+test[0]+"}",normalizer.normalize("file:"+test[1]+"/"));
+ Assert.assertEquals("file:${"+test[0]+"}/file",normalizer.normalize("file:"+test[1]+"/file"));
+ Assert.assertEquals("file:${"+test[0]+"}",normalizer.normalize(new URI("file:"+test[1])));
+ Assert.assertEquals("file:${"+test[0]+"}",normalizer.normalize(new URI("file:"+test[1]+"/")));
+ Assert.assertEquals("file:${"+test[0]+"}/file",normalizer.normalize(new URI("file:"+test[1]+"/file")));
+ Assert.assertEquals("file:${"+test[0]+"}",normalizer.normalize(new URL("file:"+test[1])));
+ Assert.assertEquals("file:${"+test[0]+"}",normalizer.normalize(new URL("file:"+test[1]+"/")));
+ Assert.assertEquals("file:${"+test[0]+"}/file",normalizer.normalize(new URL("file:"+test[1]+"/file")));
+ Assert.assertEquals("jar:file:${"+test[0]+"}!/file",normalizer.normalize("jar:file:"+test[1]+"!/file"));
+ Assert.assertEquals("jar:file:${"+test[0]+"}!/file",normalizer.normalize("jar:file:"+test[1]+"/!/file"));
+ Assert.assertEquals("jar:file:${"+test[0]+"}/file!/file",normalizer.normalize("jar:file:"+test[1]+"/file!/file"));
+ Assert.assertEquals("jar:file:${"+test[0]+"}!/file",normalizer.normalize(new URI("jar:file:"+test[1]+"!/file")));
+ Assert.assertEquals("jar:file:${"+test[0]+"}!/file",normalizer.normalize(new URI("jar:file:"+test[1]+"/!/file")));
+ Assert.assertEquals("jar:file:${"+test[0]+"}/file!/file",normalizer.normalize(new URI("jar:file:"+test[1]+"/file!/file")));
+ Assert.assertEquals("jar:file:${"+test[0]+"}!/file",normalizer.normalize(new URL("jar:file:"+test[1]+"!/file")));
+ Assert.assertEquals("jar:file:${"+test[0]+"}!/file",normalizer.normalize(new URL("jar:file:"+test[1]+"/!/file")));
+ Assert.assertEquals("jar:file:${"+test[0]+"}/file!/file",normalizer.normalize(new URL("jar:file:"+test[1]+"/file!/file")));
+ }
+ }
+ finally
+ {
+ if (user_dir==null)
+ System.clearProperty("user.dir");
+ else
+ System.setProperty("user.dir",user_dir);
+
+ if (user_home==null)
+ System.clearProperty("user.home");
+ else
+ System.setProperty("user.home",user_home);
+
+ if (jetty_home==null)
+ System.clearProperty("jetty.home");
+ else
+ System.setProperty("jetty.home",jetty_home);
+
+ if (jetty_base==null)
+ System.clearProperty("jetty.base");
+ else
+ System.setProperty("jetty.base",jetty_base);
+ }
+ }
}

Back to the top