You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flink.apache.org by ch...@apache.org on 2017/10/10 14:56:50 UTC

flink git commit: [FLINK-7790] [REST] Unresolved query params not added to request URL

Repository: flink
Updated Branches:
  refs/heads/master 8706c6f44 -> 6b3fdc288


[FLINK-7790] [REST] Unresolved query params not added to request URL

This close s#4788.


Project: http://git-wip-us.apache.org/repos/asf/flink/repo
Commit: http://git-wip-us.apache.org/repos/asf/flink/commit/6b3fdc28
Tree: http://git-wip-us.apache.org/repos/asf/flink/tree/6b3fdc28
Diff: http://git-wip-us.apache.org/repos/asf/flink/diff/6b3fdc28

Branch: refs/heads/master
Commit: 6b3fdc288587fe0982f2ffa2e476e0fd3cd61188
Parents: 8706c6f
Author: zentol <ch...@apache.org>
Authored: Tue Oct 10 12:57:05 2017 +0200
Committer: zentol <ch...@apache.org>
Committed: Tue Oct 10 16:56:32 2017 +0200

----------------------------------------------------------------------
 .../runtime/rest/messages/MessageParameters.java |  2 +-
 .../rest/messages/MessageParametersTest.java     | 19 ++++++++++++++++++-
 2 files changed, 19 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flink/blob/6b3fdc28/flink-runtime/src/main/java/org/apache/flink/runtime/rest/messages/MessageParameters.java
----------------------------------------------------------------------
diff --git a/flink-runtime/src/main/java/org/apache/flink/runtime/rest/messages/MessageParameters.java b/flink-runtime/src/main/java/org/apache/flink/runtime/rest/messages/MessageParameters.java
index 96243c1..b19b12e 100644
--- a/flink-runtime/src/main/java/org/apache/flink/runtime/rest/messages/MessageParameters.java
+++ b/flink-runtime/src/main/java/org/apache/flink/runtime/rest/messages/MessageParameters.java
@@ -84,7 +84,7 @@ public abstract class MessageParameters {
 		}
 		boolean isFirstQueryParameter = true;
 		for (MessageQueryParameter<?> queryParameter : parameters.getQueryParameters()) {
-			if (parameters.isResolved()) {
+			if (queryParameter.isResolved()) {
 				if (isFirstQueryParameter) {
 					queryParameters.append('?');
 					isFirstQueryParameter = false;

http://git-wip-us.apache.org/repos/asf/flink/blob/6b3fdc28/flink-runtime/src/test/java/org/apache/flink/runtime/rest/messages/MessageParametersTest.java
----------------------------------------------------------------------
diff --git a/flink-runtime/src/test/java/org/apache/flink/runtime/rest/messages/MessageParametersTest.java b/flink-runtime/src/test/java/org/apache/flink/runtime/rest/messages/MessageParametersTest.java
index 7458821..2da7455 100644
--- a/flink-runtime/src/test/java/org/apache/flink/runtime/rest/messages/MessageParametersTest.java
+++ b/flink-runtime/src/test/java/org/apache/flink/runtime/rest/messages/MessageParametersTest.java
@@ -45,6 +45,23 @@ public class MessageParametersTest extends TestLogger {
 		Assert.assertEquals("/jobs/" + pathJobID + "/state?jobid=" + queryJobID, resolvedUrl);
 	}
 
+	@Test
+	public void testUnresolvedParameters() {
+		String genericUrl = "/jobs/:jobid/state";
+		TestMessageParameters parameters = new TestMessageParameters();
+		try {
+			MessageParameters.resolveUrl(genericUrl, parameters);
+			Assert.fail();
+		} catch (IllegalStateException expected) {
+			// the mandatory jobid path parameter was not resolved
+		}
+		JobID jobID = new JobID();
+		parameters.pathParameter.resolve(jobID);
+
+		String resolvedUrl = MessageParameters.resolveUrl(genericUrl, parameters);
+		Assert.assertEquals("/jobs/" + jobID + "/state", resolvedUrl);
+	}
+
 	private static class TestMessageParameters extends MessageParameters {
 		private final TestPathParameter pathParameter = new TestPathParameter();
 		private final TestQueryParameter queryParameter = new TestQueryParameter();
@@ -80,7 +97,7 @@ public class MessageParametersTest extends TestLogger {
 	private static class TestQueryParameter extends MessageQueryParameter<JobID> {
 
 		TestQueryParameter() {
-			super("jobid", MessageParameterRequisiteness.MANDATORY);
+			super("jobid", MessageParameterRequisiteness.OPTIONAL);
 		}
 
 		@Override