You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flink.apache.org by kk...@apache.org on 2019/11/12 07:58:44 UTC

[flink] 04/24: [FLINK-XXXXX] Make ExecutionConfigAccessor.getJarFilePath return a URL

This is an automated email from the ASF dual-hosted git repository.

kkloudas pushed a commit to branch executors
in repository https://gitbox.apache.org/repos/asf/flink.git

commit 94bddd9cc18349ce737e0e9af859c429d425aa8b
Author: Kostas Kloudas <kk...@gmail.com>
AuthorDate: Mon Nov 4 11:37:54 2019 +0100

    [FLINK-XXXXX] Make ExecutionConfigAccessor.getJarFilePath return a URL
---
 .../main/java/org/apache/flink/client/cli/CliFrontend.java |  6 +++---
 .../apache/flink/client/cli/ExecutionConfigAccessor.java   |  4 ++--
 .../flink/client/cli/CliFrontendPackageProgramTest.java    | 14 +++++++-------
 .../org/apache/flink/client/cli/CliFrontendTestUtils.java  |  5 +++--
 4 files changed, 15 insertions(+), 14 deletions(-)

diff --git a/flink-clients/src/main/java/org/apache/flink/client/cli/CliFrontend.java b/flink-clients/src/main/java/org/apache/flink/client/cli/CliFrontend.java
index cb38ed6..da932dd 100644
--- a/flink-clients/src/main/java/org/apache/flink/client/cli/CliFrontend.java
+++ b/flink-clients/src/main/java/org/apache/flink/client/cli/CliFrontend.java
@@ -776,7 +776,7 @@ public class CliFrontend {
 			final ProgramOptions runOptions,
 			final ExecutionConfigAccessor executionParameters) throws FileNotFoundException, ProgramInvocationException {
 		String[] programArgs = runOptions.getProgramArgs();
-		String jarFilePath = executionParameters.getJarFilePath();
+		URL jarFilePath = executionParameters.getJarFilePath();
 		List<URL> classpaths = executionParameters.getClasspaths();
 
 		// Get assembler class
@@ -816,8 +816,8 @@ public class CliFrontend {
 	 * @return The JAR file
 	 * @throws FileNotFoundException The JAR file does not exist.
 	 */
-	private File getJarFile(String jarFilePath) throws FileNotFoundException {
-		File jarFile = new File(jarFilePath);
+	private File getJarFile(URL jarFilePath) throws FileNotFoundException {
+		File jarFile = new File(jarFilePath.getPath());
 		// Check if JAR file exists
 		if (!jarFile.exists()) {
 			throw new FileNotFoundException("JAR file does not exist: " + jarFile);
diff --git a/flink-clients/src/main/java/org/apache/flink/client/cli/ExecutionConfigAccessor.java b/flink-clients/src/main/java/org/apache/flink/client/cli/ExecutionConfigAccessor.java
index abdf685..c7f8e55 100644
--- a/flink-clients/src/main/java/org/apache/flink/client/cli/ExecutionConfigAccessor.java
+++ b/flink-clients/src/main/java/org/apache/flink/client/cli/ExecutionConfigAccessor.java
@@ -101,10 +101,10 @@ public class ExecutionConfigAccessor {
 		return configuration;
 	}
 
-	public String getJarFilePath() {
+	public URL getJarFilePath() {
 		final List<URL> jarURL = ExecutionConfigurationUtils.urlListFromConfig(configuration, PipelineOptions.JARS);
 		if (jarURL != null && !jarURL.isEmpty()) {
-			return jarURL.get(0).getPath();
+			return jarURL.get(0);
 		}
 		return null;
 	}
diff --git a/flink-clients/src/test/java/org/apache/flink/client/cli/CliFrontendPackageProgramTest.java b/flink-clients/src/test/java/org/apache/flink/client/cli/CliFrontendPackageProgramTest.java
index 2efb8ca..e988f07 100644
--- a/flink-clients/src/test/java/org/apache/flink/client/cli/CliFrontendPackageProgramTest.java
+++ b/flink-clients/src/test/java/org/apache/flink/client/cli/CliFrontendPackageProgramTest.java
@@ -81,7 +81,7 @@ public class CliFrontendPackageProgramTest extends TestLogger {
 	public void testNonExistingJarFile() throws Exception {
 		ProgramOptions programOptions = mock(ProgramOptions.class);
 		ExecutionConfigAccessor executionOptions = mock(ExecutionConfigAccessor.class);
-		when(executionOptions.getJarFilePath()).thenReturn("/some/none/existing/path");
+		when(executionOptions.getJarFilePath()).thenReturn(new URL("file:///some/none/existing/path"));
 
 		try {
 			frontend.buildProgram(programOptions, executionOptions);
@@ -121,7 +121,7 @@ public class CliFrontendPackageProgramTest extends TestLogger {
 		ProgramOptions programOptions = new ProgramOptions(commandLine);
 		ExecutionConfigAccessor executionOptions = ExecutionConfigAccessor.fromProgramOptions(programOptions);
 
-		assertEquals(getTestJarPath(), executionOptions.getJarFilePath());
+		assertEquals(getTestJarPath(), executionOptions.getJarFilePath().getPath());
 		assertArrayEquals(classpath, executionOptions.getClasspaths().toArray());
 		assertArrayEquals(reducedArguments, programOptions.getProgramArgs());
 
@@ -145,7 +145,7 @@ public class CliFrontendPackageProgramTest extends TestLogger {
 		ProgramOptions programOptions = new ProgramOptions(commandLine);
 		ExecutionConfigAccessor executionOptions = ExecutionConfigAccessor.fromProgramOptions(programOptions);
 
-		assertEquals(getTestJarPath(), executionOptions.getJarFilePath());
+		assertEquals(getTestJarPath(), executionOptions.getJarFilePath().getPath());
 		assertArrayEquals(classpath, executionOptions.getClasspaths().toArray());
 		assertArrayEquals(reducedArguments, programOptions.getProgramArgs());
 
@@ -169,7 +169,7 @@ public class CliFrontendPackageProgramTest extends TestLogger {
 		ProgramOptions programOptions = new ProgramOptions(commandLine);
 		ExecutionConfigAccessor executionOptions = ExecutionConfigAccessor.fromProgramOptions(programOptions);
 
-		assertEquals(getTestJarPath(), executionOptions.getJarFilePath());
+		assertEquals(getTestJarPath(), executionOptions.getJarFilePath().getPath());
 		assertArrayEquals(classpath, executionOptions.getClasspaths().toArray());
 		assertArrayEquals(reducedArguments, programOptions.getProgramArgs());
 
@@ -198,7 +198,7 @@ public class CliFrontendPackageProgramTest extends TestLogger {
 		ProgramOptions programOptions = new ProgramOptions(commandLine);
 		ExecutionConfigAccessor executionOptions = ExecutionConfigAccessor.fromProgramOptions(programOptions);
 
-		assertEquals(arguments[4], executionOptions.getJarFilePath());
+		assertEquals(arguments[4], executionOptions.getJarFilePath().getPath());
 		assertArrayEquals(classpath, executionOptions.getClasspaths().toArray());
 		assertArrayEquals(reducedArguments, programOptions.getProgramArgs());
 
@@ -219,7 +219,7 @@ public class CliFrontendPackageProgramTest extends TestLogger {
 		ProgramOptions programOptions = new ProgramOptions(commandLine);
 		ExecutionConfigAccessor executionOptions = ExecutionConfigAccessor.fromProgramOptions(programOptions);
 
-		assertEquals(arguments[0], executionOptions.getJarFilePath());
+		assertEquals(arguments[0], executionOptions.getJarFilePath().getPath());
 		assertArrayEquals(new String[0], programOptions.getProgramArgs());
 
 		try {
@@ -280,7 +280,7 @@ public class CliFrontendPackageProgramTest extends TestLogger {
 			ProgramOptions programOptions = new ProgramOptions(commandLine);
 			ExecutionConfigAccessor executionOptions = ExecutionConfigAccessor.fromProgramOptions(programOptions);
 
-			assertEquals(getTestJarPath(), executionOptions.getJarFilePath());
+			assertEquals(getTestJarPath(), executionOptions.getJarFilePath().getPath());
 			assertArrayEquals(classpath, executionOptions.getClasspaths().toArray());
 			assertEquals(TEST_JAR_CLASSLOADERTEST_CLASS, programOptions.getEntryPointClassName());
 			assertArrayEquals(reducedArguments, programOptions.getProgramArgs());
diff --git a/flink-clients/src/test/java/org/apache/flink/client/cli/CliFrontendTestUtils.java b/flink-clients/src/test/java/org/apache/flink/client/cli/CliFrontendTestUtils.java
index b47986f..0db5b2a 100644
--- a/flink-clients/src/test/java/org/apache/flink/client/cli/CliFrontendTestUtils.java
+++ b/flink-clients/src/test/java/org/apache/flink/client/cli/CliFrontendTestUtils.java
@@ -25,6 +25,7 @@ import java.io.File;
 import java.io.FileNotFoundException;
 import java.io.PrintStream;
 import java.net.MalformedURLException;
+import java.net.URL;
 
 import static org.junit.Assert.assertEquals;
 
@@ -52,8 +53,8 @@ public class CliFrontendTestUtils {
 		return f.getAbsolutePath();
 	}
 
-	public static String getNonJarFilePath() {
-		return CliFrontendRunTest.class.getResource("/testconfig/flink-conf.yaml").getFile();
+	public static URL getNonJarFilePath() {
+		return CliFrontendRunTest.class.getResource("/testconfig/flink-conf.yaml");
 	}
 
 	public static String getConfigDir() {