You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@knox.apache.org by km...@apache.org on 2013/09/24 17:44:27 UTC
[7/8] git commit: KNOX-42: Changed Hive URLs.
KNOX-42: Changed Hive URLs.
Project: http://git-wip-us.apache.org/repos/asf/incubator-knox/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-knox/commit/e7e518e2
Tree: http://git-wip-us.apache.org/repos/asf/incubator-knox/tree/e7e518e2
Diff: http://git-wip-us.apache.org/repos/asf/incubator-knox/diff/e7e518e2
Branch: refs/heads/master
Commit: e7e518e2602ee87be63262474aa47be2ffdddd3f
Parents: e5484ea
Author: Kevin Minder <ke...@hortonworks.com>
Authored: Tue Sep 24 08:58:01 2013 -0400
Committer: Kevin Minder <ke...@hortonworks.com>
Committed: Tue Sep 24 11:44:16 2013 -0400
----------------------------------------------------------------------
.../filter/rewrite/i18n/UrlRewriteMessages.java | 2 +-
.../apache/hadoop/gateway/GatewayFilter.java | 2 +
.../apache/hadoop/gateway/GatewayMessages.java | 12 +-
.../gateway/dispatch/HttpClientDispatch.java | 28 +++--
.../hbase/HBaseDeploymentContributor.java | 2 +-
.../HBaseDeploymentContributor/rewrite.xml | 13 +-
.../hadoop/gateway/shell/hbase/HBase.java | 2 +-
.../hadoop/gateway/GatewayBasicFuncTest.java | 2 +-
.../gateway/util/urltemplate/Segment.java | 118 ++++++++++---------
.../gateway/util/urltemplate/MatcherTest.java | 33 ++++++
.../gateway/util/urltemplate/SegmentTest.java | 10 +-
11 files changed, 141 insertions(+), 83 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-knox/blob/e7e518e2/gateway-provider-rewrite/src/main/java/org/apache/hadoop/gateway/filter/rewrite/i18n/UrlRewriteMessages.java
----------------------------------------------------------------------
diff --git a/gateway-provider-rewrite/src/main/java/org/apache/hadoop/gateway/filter/rewrite/i18n/UrlRewriteMessages.java b/gateway-provider-rewrite/src/main/java/org/apache/hadoop/gateway/filter/rewrite/i18n/UrlRewriteMessages.java
index 215e54c..1af7974 100644
--- a/gateway-provider-rewrite/src/main/java/org/apache/hadoop/gateway/filter/rewrite/i18n/UrlRewriteMessages.java
+++ b/gateway-provider-rewrite/src/main/java/org/apache/hadoop/gateway/filter/rewrite/i18n/UrlRewriteMessages.java
@@ -79,7 +79,7 @@ public interface UrlRewriteMessages {
@Message( level = MessageLevel.ERROR, text = "Failed to rewrite URL: {0}, direction: {1}, rule: {2}" )
void failedToRewriteUrlDueToException( Template inputUri, UrlRewriter.Direction direction, String ruleName, @StackTrace(level = MessageLevel.DEBUG) Exception exception );
- @Message( level = MessageLevel.DEBUG, text = "No rule matching URL: {0}, direction: {1}" )
+ @Message( level = MessageLevel.TRACE, text = "No rule matching URL: {0}, direction: {1}" )
void noRuleMatchingUrl( Template inputUri, UrlRewriter.Direction direction );
}
http://git-wip-us.apache.org/repos/asf/incubator-knox/blob/e7e518e2/gateway-server/src/main/java/org/apache/hadoop/gateway/GatewayFilter.java
----------------------------------------------------------------------
diff --git a/gateway-server/src/main/java/org/apache/hadoop/gateway/GatewayFilter.java b/gateway-server/src/main/java/org/apache/hadoop/gateway/GatewayFilter.java
index 17ef5b9..87dd8f2 100644
--- a/gateway-server/src/main/java/org/apache/hadoop/gateway/GatewayFilter.java
+++ b/gateway-server/src/main/java/org/apache/hadoop/gateway/GatewayFilter.java
@@ -89,6 +89,8 @@ public class GatewayFilter implements Filter {
throw new ServletException( e );
}
+ LOG.receivedRequest( httpRequest.getMethod(), pathTemplate );
+
servletRequest.setAttribute( AbstractGatewayFilter.SOURCE_REQUEST_URL_ATTRIBUTE_NAME, pathTemplate );
Matcher<Chain>.Match match = chains.match( pathTemplate );
http://git-wip-us.apache.org/repos/asf/incubator-knox/blob/e7e518e2/gateway-server/src/main/java/org/apache/hadoop/gateway/GatewayMessages.java
----------------------------------------------------------------------
diff --git a/gateway-server/src/main/java/org/apache/hadoop/gateway/GatewayMessages.java b/gateway-server/src/main/java/org/apache/hadoop/gateway/GatewayMessages.java
index 82f4b57..be755ad 100644
--- a/gateway-server/src/main/java/org/apache/hadoop/gateway/GatewayMessages.java
+++ b/gateway-server/src/main/java/org/apache/hadoop/gateway/GatewayMessages.java
@@ -23,6 +23,7 @@ import org.apache.hadoop.gateway.i18n.messages.MessageLevel;
import org.apache.hadoop.gateway.i18n.messages.Messages;
import org.apache.hadoop.gateway.i18n.messages.StackTrace;
import org.apache.hadoop.gateway.services.security.KeystoreServiceException;
+import org.apache.hadoop.gateway.util.urltemplate.Template;
import java.io.File;
import java.net.URI;
@@ -143,7 +144,10 @@ public interface GatewayMessages {
@Message( level = MessageLevel.INFO, text = "Credential store found for the cluster: {0} - no need to create one." )
void credentialStoreForClusterFoundNotCreating(String clusterName);
- @Message( level = MessageLevel.DEBUG, text = "Dispatching request: {0} {1}" )
+ @Message( level = MessageLevel.INFO, text = "Received request: {0} {1}" )
+ void receivedRequest( String method, Template uri );
+
+ @Message( level = MessageLevel.INFO, text = "Dispatch request: {0} {1}" )
void dispatchRequest( String method, URI uri );
@Message( level = MessageLevel.WARN, text = "Connection exception dispatching request: {0} {1}" )
@@ -260,9 +264,12 @@ public interface GatewayMessages {
@Message( level = MessageLevel.ERROR, text = "Failed Knox->Hadoop SPNegotiation authentication for URL: {0}" )
void failedSPNegoAuthn(String uri);
- @Message( level = MessageLevel.DEBUG, text = "Dispatch response status: {0}" )
+ @Message( level = MessageLevel.INFO, text = "Dispatch response status: {0}" )
void dispatchResponseStatusCode(int statusCode);
+ @Message( level = MessageLevel.INFO, text = "Dispatch response status: {0}, Location: {1}" )
+ void dispatchResponseCreatedStatusCode( int statusCode, String location );
+
@Message( level = MessageLevel.ERROR, text = "Failed to decrypt cipher text for cluster {0}: due to inability to retrieve the password." )
void failedToDecryptCipherForClusterNullPassword(String clusterName);
@@ -280,4 +287,5 @@ public interface GatewayMessages {
@Message( level = MessageLevel.ERROR, text = "Failed to generate alias for cluster: {0} {1}." )
void failedToGenerateAliasForCluster(String clusterName, KeystoreServiceException e);
+
}
http://git-wip-us.apache.org/repos/asf/incubator-knox/blob/e7e518e2/gateway-server/src/main/java/org/apache/hadoop/gateway/dispatch/HttpClientDispatch.java
----------------------------------------------------------------------
diff --git a/gateway-server/src/main/java/org/apache/hadoop/gateway/dispatch/HttpClientDispatch.java b/gateway-server/src/main/java/org/apache/hadoop/gateway/dispatch/HttpClientDispatch.java
index 1cd0a51..4ef336a 100644
--- a/gateway-server/src/main/java/org/apache/hadoop/gateway/dispatch/HttpClientDispatch.java
+++ b/gateway-server/src/main/java/org/apache/hadoop/gateway/dispatch/HttpClientDispatch.java
@@ -17,15 +17,6 @@
*/
package org.apache.hadoop.gateway.dispatch;
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.security.Principal;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
import org.apache.hadoop.gateway.GatewayMessages;
import org.apache.hadoop.gateway.GatewayResources;
import org.apache.hadoop.gateway.config.GatewayConfig;
@@ -35,7 +26,6 @@ import org.apache.http.Header;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
-import org.apache.http.auth.Credentials;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.methods.HttpDelete;
import org.apache.http.client.methods.HttpGet;
@@ -49,6 +39,13 @@ import org.apache.http.entity.InputStreamEntity;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicHeader;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.URI;
+import java.net.URISyntaxException;
+
/**
*
*/
@@ -98,7 +95,16 @@ public class HttpClientDispatch extends AbstractGatewayDispatch {
} finally {
if (inboundResponse != null) {
int statusCode = inboundResponse.getStatusLine().getStatusCode();
- LOG.dispatchResponseStatusCode( statusCode );
+ if( statusCode != 201 ) {
+ LOG.dispatchResponseStatusCode( statusCode );
+ } else {
+ Header location = inboundResponse.getFirstHeader( "Location" );
+ if( location == null ) {
+ LOG.dispatchResponseStatusCode( statusCode );
+ } else {
+ LOG.dispatchResponseCreatedStatusCode( statusCode, location.getValue() );
+ }
+ }
}
}
http://git-wip-us.apache.org/repos/asf/incubator-knox/blob/e7e518e2/gateway-service-hbase/src/main/java/org/apache/hadoop/gateway/hbase/HBaseDeploymentContributor.java
----------------------------------------------------------------------
diff --git a/gateway-service-hbase/src/main/java/org/apache/hadoop/gateway/hbase/HBaseDeploymentContributor.java b/gateway-service-hbase/src/main/java/org/apache/hadoop/gateway/hbase/HBaseDeploymentContributor.java
index 4dc6a49..7cc9dc7 100644
--- a/gateway-service-hbase/src/main/java/org/apache/hadoop/gateway/hbase/HBaseDeploymentContributor.java
+++ b/gateway-service-hbase/src/main/java/org/apache/hadoop/gateway/hbase/HBaseDeploymentContributor.java
@@ -36,7 +36,7 @@ import java.util.List;
public class HBaseDeploymentContributor extends ServiceDeploymentContributorBase {
private static final String RULES_RESOURCE = HBaseDeploymentContributor.class.getName().replace( '.', '/' ) + "/rewrite.xml";
- private static final String EXTERNAL_PATH = "/hbase/api/v1";
+ private static final String EXTERNAL_PATH = "/hbase";
private static final String CLUSTER_URL_FUNCTION = "{gateway.url}";
@Override
http://git-wip-us.apache.org/repos/asf/incubator-knox/blob/e7e518e2/gateway-service-hbase/src/main/resources/org/apache/hadoop/gateway/hbase/HBaseDeploymentContributor/rewrite.xml
----------------------------------------------------------------------
diff --git a/gateway-service-hbase/src/main/resources/org/apache/hadoop/gateway/hbase/HBaseDeploymentContributor/rewrite.xml b/gateway-service-hbase/src/main/resources/org/apache/hadoop/gateway/hbase/HBaseDeploymentContributor/rewrite.xml
index ef88bcb..1a1236f 100644
--- a/gateway-service-hbase/src/main/resources/org/apache/hadoop/gateway/hbase/HBaseDeploymentContributor/rewrite.xml
+++ b/gateway-service-hbase/src/main/resources/org/apache/hadoop/gateway/hbase/HBaseDeploymentContributor/rewrite.xml
@@ -16,19 +16,22 @@
-->
<rules>
- <rule dir="IN" name="STARGATE/stargate/root/inbound" pattern="*://*:*/**/hbase/api/v1/?{**}">
+ <rule dir="IN" name="STARGATE/stargate/root/inbound" pattern="*://*:*/**/hbase/?{**}">
<rewrite template="{$serviceUrl[STARGATE]}/?{**}"/>
</rule>
- <rule dir="IN" name="STARGATE/stargate/path/inbound" pattern="*://*:*/**/hbase/api/v1/{**}?{**}">
- <rewrite template="{$serviceUrl[STARGATE]}/{**}?{**}"/>
+
+ <rule dir="IN" name="STARGATE/stargate/path/inbound" pattern="*://*:*/**/hbase/{path=**}?{**}">
+ <rewrite template="{$serviceUrl[STARGATE]}/{path=**}?{**}"/>
</rule>
+
<rule name="STARGATE/stargate/location/outbound">
<match pattern="*://*:*/{path=**}?{**}"/>
- <rewrite template="{gateway.url}/hbase/api/v1/{path}?{**}"/>
+ <rewrite template="{gateway.url}/hbase/{path=**}?{**}"/>
</rule>
+
<rule name="STARGATE/stargate/address/outbound">
<match pattern="{host}:{port}"/>
- <rewrite template="{gateway.url}/hbase/region?host={host}?port={port}"/>
+ <rewrite template="{gateway.url}/hbase-region?host={host}?port={port}"/>
<encrypt-query/>
</rule>
http://git-wip-us.apache.org/repos/asf/incubator-knox/blob/e7e518e2/gateway-shell/src/main/java/org/apache/hadoop/gateway/shell/hbase/HBase.java
----------------------------------------------------------------------
diff --git a/gateway-shell/src/main/java/org/apache/hadoop/gateway/shell/hbase/HBase.java b/gateway-shell/src/main/java/org/apache/hadoop/gateway/shell/hbase/HBase.java
index a86d055..09f3e7e 100644
--- a/gateway-shell/src/main/java/org/apache/hadoop/gateway/shell/hbase/HBase.java
+++ b/gateway-shell/src/main/java/org/apache/hadoop/gateway/shell/hbase/HBase.java
@@ -21,7 +21,7 @@ import org.apache.hadoop.gateway.shell.hbase.table.Table;
public class HBase {
- public static final String SERVICE_PATH = "/hbase/api/v1";
+ public static final String SERVICE_PATH = "/hbase";
private Hadoop session;
http://git-wip-us.apache.org/repos/asf/incubator-knox/blob/e7e518e2/gateway-test/src/test/java/org/apache/hadoop/gateway/GatewayBasicFuncTest.java
----------------------------------------------------------------------
diff --git a/gateway-test/src/test/java/org/apache/hadoop/gateway/GatewayBasicFuncTest.java b/gateway-test/src/test/java/org/apache/hadoop/gateway/GatewayBasicFuncTest.java
index 77f70e2..32f1a30 100644
--- a/gateway-test/src/test/java/org/apache/hadoop/gateway/GatewayBasicFuncTest.java
+++ b/gateway-test/src/test/java/org/apache/hadoop/gateway/GatewayBasicFuncTest.java
@@ -122,7 +122,7 @@ public class GatewayBasicFuncTest {
driver.setupService( "WEBHCAT", "http://" + TEST_HOST + ":50111/templeton", "/cluster/templeton", USE_MOCK_SERVICES );
driver.setupService( "OOZIE", "http://" + TEST_HOST + ":11000/oozie", "/cluster/oozie/api", USE_MOCK_SERVICES );
driver.setupService( "HIVE", "http://" + TEST_HOST + ":10000", "/cluster/hive/api/v1", USE_MOCK_SERVICES );
- driver.setupService( "STARGATE", "http://" + TEST_HOST + ":60080", "/cluster/hbase/api/v1", USE_MOCK_SERVICES );
+ driver.setupService( "STARGATE", "http://" + TEST_HOST + ":60080", "/cluster/hbase", USE_MOCK_SERVICES );
driver.setupService( "NAMENODE", "hdfs://" + TEST_HOST + ":8020", null, USE_MOCK_SERVICES );
driver.setupService( "JOBTRACKER", "thrift://" + TEST_HOST + ":8021", null, USE_MOCK_SERVICES );
driver.setupGateway( config, "cluster", createTopology(), USE_GATEWAY );
http://git-wip-us.apache.org/repos/asf/incubator-knox/blob/e7e518e2/gateway-util-urltemplate/src/main/java/org/apache/hadoop/gateway/util/urltemplate/Segment.java
----------------------------------------------------------------------
diff --git a/gateway-util-urltemplate/src/main/java/org/apache/hadoop/gateway/util/urltemplate/Segment.java b/gateway-util-urltemplate/src/main/java/org/apache/hadoop/gateway/util/urltemplate/Segment.java
index 8f5412b..462011f 100644
--- a/gateway-util-urltemplate/src/main/java/org/apache/hadoop/gateway/util/urltemplate/Segment.java
+++ b/gateway-util-urltemplate/src/main/java/org/apache/hadoop/gateway/util/urltemplate/Segment.java
@@ -158,15 +158,18 @@ abstract class Segment {
if( matches ) {
switch( this.getType() ) {
case( STATIC ):
- matches = matchThisStatic( that );
+ matches = this.pattern.equals( that.pattern );
+ //matches = matchThisStatic( that ); // See: MatcherTest.testWildcardCharacterInInputTemplate
break;
case( DEFAULT ):
case( STAR ):
case( GLOB ):
- matches = matchThisWildcard( that );
+ matches = true;
+ //matches = matchThisWildcard( that ); // See: MatcherTest.testWildcardCharacterInInputTemplate
break;
case( REGEX ):
- matches = matchThisRegex( that );
+ matches = this.regex.matcher( that.pattern ).matches();
+ //matches = matchThisRegex( that ); // See: MatcherTest.testWildcardCharacterInInputTemplate
break;
default:
matches = false;
@@ -175,59 +178,62 @@ abstract class Segment {
return matches;
}
- private boolean matchThisStatic( Value that ) {
- boolean matches = false;
- switch( that.getType() ) {
- case( STATIC ):
- matches = this.pattern.equals( that.pattern );
- break;
- case( DEFAULT ):
- case( STAR ):
- case( GLOB ):
- matches = true;
- break;
- case( REGEX ):
- matches = that.regex.matcher( this.pattern ).matches();
- break;
- }
- return matches;
- }
-
- private boolean matchThisWildcard( Value that ) {
- boolean matches = false;
- switch( that.getType() ) {
- case( STATIC ):
- matches = true;
- break;
- case( DEFAULT ):
- case( STAR ):
- case( GLOB ):
- matches = true;
- break;
- case( REGEX ):
- matches = true;
- break;
- }
- return matches;
- }
-
- private boolean matchThisRegex( Value that ) {
- boolean matches = false;
- switch( that.getType() ) {
- case( STATIC ):
- matches = this.regex.matcher( that.pattern ).matches();
- break;
- case( DEFAULT ):
- case( STAR ):
- case( GLOB ):
- matches = true;
- break;
- case( REGEX ):
- matches = this.pattern.equals( that.pattern );
- break;
- }
- return matches;
- }
+// See: MatcherTest.testWildcardCharacterInInputTemplate
+// private boolean matchThisStatic( Value that ) {
+// boolean matches = false;
+// switch( that.getType() ) {
+// case( STATIC ):
+// matches = this.pattern.equals( that.pattern );
+// break;
+// case( DEFAULT ):
+// case( STAR ):
+// case( GLOB ):
+// matches = true;
+// break;
+// case( REGEX ):
+// matches = that.regex.matcher( this.pattern ).matches();
+// break;
+// }
+// return matches;
+// }
+
+// See: MatcherTest.testWildcardCharacterInInputTemplate
+// private boolean matchThisWildcard( Value that ) {
+// boolean matches = false;
+// switch( that.getType() ) {
+// case( STATIC ):
+// matches = true;
+// break;
+// case( DEFAULT ):
+// case( STAR ):
+// case( GLOB ):
+// matches = true;
+// break;
+// case( REGEX ):
+// matches = true;
+// break;
+// }
+// return matches;
+// }
+
+// See: MatcherTest.testWildcardCharacterInInputTemplate
+// private boolean matchThisRegex( Value that ) {
+// boolean matches = false;
+// switch( that.getType() ) {
+// case( STATIC ):
+// matches = this.regex.matcher( that.pattern ).matches();
+// break;
+// case( DEFAULT ):
+// case( STAR ):
+// case( GLOB ):
+// matches = true;
+// break;
+// case( REGEX ):
+// matches = this.pattern.equals( that.pattern );
+// break;
+// }
+// return matches;
+// }
}
http://git-wip-us.apache.org/repos/asf/incubator-knox/blob/e7e518e2/gateway-util-urltemplate/src/test/java/org/apache/hadoop/gateway/util/urltemplate/MatcherTest.java
----------------------------------------------------------------------
diff --git a/gateway-util-urltemplate/src/test/java/org/apache/hadoop/gateway/util/urltemplate/MatcherTest.java b/gateway-util-urltemplate/src/test/java/org/apache/hadoop/gateway/util/urltemplate/MatcherTest.java
index 1a600a3..03dcb19 100644
--- a/gateway-util-urltemplate/src/test/java/org/apache/hadoop/gateway/util/urltemplate/MatcherTest.java
+++ b/gateway-util-urltemplate/src/test/java/org/apache/hadoop/gateway/util/urltemplate/MatcherTest.java
@@ -53,6 +53,39 @@ public class MatcherTest {
}
@Test
+ public void testWildcardCharacterInInputTemplate() throws URISyntaxException {
+ Matcher<String> matcher;
+ Template patternTemplate, inputTemplate;
+ Matcher<String>.Match match;
+
+ // First verify that if .../test_table/test_row/family1... works.
+ matcher = new Matcher<String>();
+ inputTemplate = Parser.parse( "https://localhost:8443/gateway/sandbox/hbase/test_table/test_row/family1:row2_col1,family2/0,9223372036854775807?v=1" );
+ patternTemplate = Parser.parse( "*://*:*/**/webhdfs/{version}/{path=**}?{**}" );
+ matcher.add( patternTemplate, "webhdfs" );
+ match = matcher.match( inputTemplate );
+ assertThat( match, nullValue() );
+
+ // Then reproduce the issue with .../test_table/*/family1..
+ matcher = new Matcher<String>();
+ inputTemplate = Parser.parse( "https://localhost:8443/gateway/sandbox/hbase/test_table/*/family1:row2_col1,family2/0,9223372036854775807?v=1" );
+ patternTemplate = Parser.parse( "*://*:*/**/webhdfs/{version}/{path=**}?{**}" );
+ matcher.add( patternTemplate, "webhdfs" );
+ match = matcher.match( inputTemplate );
+ assertThat( match, nullValue() );
+
+ // Reproduce the issue where the wrong match was picked when there was a "*" in the input URL template.
+ matcher = new Matcher<String>();
+ inputTemplate = Parser.parse( "https://localhost:8443/gateway/sandbox/hbase/test_table/*/family1:row2_col1,family2/0,9223372036854775807?v=1" );
+ patternTemplate = Parser.parse( "*://*:*/**/webhdfs/{version}/{path=**}?{**}" );
+ matcher.add( patternTemplate, "webhdfs" );
+ patternTemplate = Parser.parse( "*://*:*/**/hbase/{path=**}?{**}" );
+ matcher.add( patternTemplate, "hbase" );
+ match = matcher.match( inputTemplate );
+ assertThat( match.getValue(), is( "hbase" ) );
+ }
+
+ @Test
public void testRootPathMatching() throws Exception {
Matcher<String> matcher;
Template patternTemplate, inputTemplate;
http://git-wip-us.apache.org/repos/asf/incubator-knox/blob/e7e518e2/gateway-util-urltemplate/src/test/java/org/apache/hadoop/gateway/util/urltemplate/SegmentTest.java
----------------------------------------------------------------------
diff --git a/gateway-util-urltemplate/src/test/java/org/apache/hadoop/gateway/util/urltemplate/SegmentTest.java b/gateway-util-urltemplate/src/test/java/org/apache/hadoop/gateway/util/urltemplate/SegmentTest.java
index 4f14197..a563181 100644
--- a/gateway-util-urltemplate/src/test/java/org/apache/hadoop/gateway/util/urltemplate/SegmentTest.java
+++ b/gateway-util-urltemplate/src/test/java/org/apache/hadoop/gateway/util/urltemplate/SegmentTest.java
@@ -59,24 +59,24 @@ public class SegmentTest {
TestSegment s3 = new TestSegment( "p", "*" );
assertThat( s3.matches( s1 ), equalTo( true ) );
- assertThat( s1.matches( s3 ), equalTo( true ) );
+ assertThat( s1.matches( s3 ), equalTo( false ) ); // Because wildecards no longer supported in "that" segment.
TestSegment s4 = new TestSegment( "p", "**" );
assertThat( s4.matches( s1 ), equalTo( true ) );
- assertThat( s1.matches( s4 ), equalTo( true ) );
+ assertThat( s1.matches( s4 ), equalTo( false ) ); // Because wildecards no longer supported in "that" segment.
TestSegment s5 = new TestSegment( "p", "*.ext" );
TestSegment s6 = new TestSegment( "p", "file.ext" );
assertThat( s5.matches( s5 ), equalTo( true ) );
assertThat( s5.matches( s6 ), equalTo( true ) );
- assertThat( s6.matches( s5 ), equalTo( true ) );
+ assertThat( s6.matches( s5 ), equalTo( false ) ); // Because wildecards no longer supported in "that" segment.
assertThat( s3.matches( s4 ), equalTo( true ) );
assertThat( s4.matches( s3 ), equalTo( true ) );
assertThat( s3.matches( s5 ), equalTo( true ) );
- assertThat( s5.matches( s3 ), equalTo( true ) );
+ assertThat( s5.matches( s3 ), equalTo( false ) ); // Because wildecards no longer supported in "that" segment.
assertThat( s4.matches( s5 ), equalTo( true ) );
- assertThat( s5.matches( s4 ), equalTo( true ) );
+ assertThat( s5.matches( s4 ), equalTo( false ) ); // Because wildecards no longer supported in "that" segment.
// InvalidSegment s7 = new InvalidSegment( "p", "v", Integer.MAX_VALUE );
// InvalidSegment s8 = new InvalidSegment( "p", "v", Integer.MAX_VALUE-1 );