Author: peter_firmstone Date: Sun Mar 3 01:21:13 2013 New Revision: 1451979
URL: http://svn.apache.org/r1451979 Log: Fix UriString normalisation, related to test failure of com/sun/jini/test/impl/start/CodebaseTest.td on OSX. Modified: river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/qa/harness/AbstractServiceAdmin.java river/jtsk/skunk/qa_refactor/trunk/test/src/org/apache/river/impl/net/UriStringTest.java river/jtsk/skunk/qa_refactor/trunk/test/src/tests/support/DistributedObject.java Modified: river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/qa/harness/AbstractServiceAdmin.java URL: http://svn.apache.org/viewvc/river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/qa/harness/AbstractServiceAdmin.java?rev=1451979&r1=1451978&r2=1451979&view=diff ============================================================================== --- river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/qa/harness/AbstractServiceAdmin.java (original) +++ river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/qa/harness/AbstractServiceAdmin.java Sun Mar 3 01:21:13 2013 @@ -20,6 +20,8 @@ package com.sun.jini.qa.harness; import java.io.File; import java.io.IOException; import java.net.MalformedURLException; +import java.net.URI; +import java.net.URISyntaxException; import java.rmi.RemoteException; import java.util.ArrayList; import java.util.List; @@ -39,6 +41,7 @@ import net.jini.core.lookup.ServiceRegis import net.jini.discovery.ConstrainableLookupLocator; import net.jini.lookup.DiscoveryAdmin; import net.jini.security.ProxyPreparer; +import org.apache.river.impl.net.UriString; /** * An abstract class supporting admins which use strings to identify @@ -319,11 +322,17 @@ public abstract class AbstractServiceAdm * if codebase integrity is required and a problem occurs * converting the URL */ - protected String getServiceCodebase() throws TestException { + protected final String getServiceCodebase() throws TestException { codebase = getMandatoryParameter("codebase"); codebase = fixCodebase(codebase); return codebase; } + + private String normaliseCodebase(String cb) throws URISyntaxException{ + String result = UriString.escapeIllegalCharacters(cb); + result = UriString.normalisation(new URI(result)).toString(); + return result; + } /** * Return the codebase originally returned by the Modified: river/jtsk/skunk/qa_refactor/trunk/test/src/org/apache/river/impl/net/UriStringTest.java URL: http://svn.apache.org/viewvc/river/jtsk/skunk/qa_refactor/trunk/test/src/org/apache/river/impl/net/UriStringTest.java?rev=1451979&r1=1451978&r2=1451979&view=diff ============================================================================== --- river/jtsk/skunk/qa_refactor/trunk/test/src/org/apache/river/impl/net/UriStringTest.java (original) +++ river/jtsk/skunk/qa_refactor/trunk/test/src/org/apache/river/impl/net/UriStringTest.java Sun Mar 3 01:21:13 2013 @@ -95,6 +95,28 @@ public class UriStringTest { assertEquals(expResult.toString(), result.toString()); } + @Test + public void testNormalisation2() throws URISyntaxException { + System.out.println("URI Normalisation Test 2"); + URI url = new URI("http://Bryan-Thompson-MacBook-Air.local:9082/qa1-start-testservice1-dl.jar"); + URI expResult = new URI("http://bryan-thompson-macbook-air.local:9082/qa1-start-testservice1-dl.jar"); + URI result = UriString.normalisation(url); + assertEquals(expResult.toString(), result.toString()); + } + + @Test + public void testNormalisation3() throws URISyntaxException { + System.out.println("URI Normalisation Test 3"); + URI url = new URI("http://Bryan-Thompson-MacBook-Air.local:9082/qa1-start-testservice1-dl.jar"); + String host = url.getHost(); + String expHost = "Bryan-Thompson-MacBook-Air.local"; + assertEquals(expHost, host); + url = UriString.normalisation(url); + host = url.getHost(); + expHost = "bryan-thompson-macbook-air.local"; + assertEquals(expHost, host); + } + // @Test // public void testFixWindowsURI() { // System.out.println("Test fix Windows file URI string"); Modified: river/jtsk/skunk/qa_refactor/trunk/test/src/tests/support/DistributedObject.java URL: http://svn.apache.org/viewvc/river/jtsk/skunk/qa_refactor/trunk/test/src/tests/support/DistributedObject.java?rev=1451979&r1=1451978&r2=1451979&view=diff ============================================================================== --- river/jtsk/skunk/qa_refactor/trunk/test/src/tests/support/DistributedObject.java (original) +++ river/jtsk/skunk/qa_refactor/trunk/test/src/tests/support/DistributedObject.java Sun Mar 3 01:21:13 2013 @@ -18,7 +18,7 @@ package tests.support; import java.io.Serializable; import org.apache.river.api.io.Distributed; -import org.apache.river.api.io.SerialFactory; +import org.apache.river.api.io.SerialReflectionFactory; /** * @@ -69,33 +69,33 @@ public class DistributedObject implement this.method = method; } - public SerialFactory substitute() { + public SerialReflectionFactory substitute() { Class[] signature = new Class[1]; Object[] parameters = new Object[1]; parameters[0] = testString; switch (method){ case 0: signature[0] = String.class; - return new SerialFactory(this.getClass(), null, signature, parameters ); + return new SerialReflectionFactory(this.getClass(), null, signature, parameters ); case 1 : signature[0] = String.class; - return new SerialFactory(this.getClass(), "create", signature, parameters); + return new SerialReflectionFactory(this.getClass(), "create", signature, parameters); case 2: Builder builder = new Builder().setString(testString); - return new SerialFactory(builder, "build", null, null); + return new SerialReflectionFactory(builder, "build", null, null); case 3: signature[0] = Boolean.class; parameters[0] = Boolean.valueOf(testString); - return new SerialFactory(this.getClass(), null, signature, parameters); + return new SerialReflectionFactory(this.getClass(), null, signature, parameters); case 4: signature[0] = Character.class; parameters[0] = Character.valueOf(testString.charAt(0)); - return new SerialFactory(this.getClass(), null, signature, parameters); + return new SerialReflectionFactory(this.getClass(), null, signature, parameters); case 6: signature[0] = Boolean.TYPE; parameters[0] = Boolean.valueOf(testString); - return new SerialFactory(this.getClass(), null, signature, parameters); + return new SerialReflectionFactory(this.getClass(), null, signature, parameters); default: return null; }
