[FLINK-3886] [clients] Give a better error when the application Main class is 
not public.

This closes #2043


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

Branch: refs/heads/master
Commit: 6db9e6ae5c2f4968687a3fcae0520e05442bd9ab
Parents: bcf5f46
Author: Niels Basjes <nbas...@bol.com>
Authored: Fri May 27 13:51:04 2016 +0200
Committer: Stephan Ewen <se...@apache.org>
Committed: Tue May 31 16:39:56 2016 +0200

----------------------------------------------------------------------
 .../apache/flink/client/program/PackagedProgram.java    |  4 ++++
 .../org/apache/flink/client/program/ClientTest.java     | 12 ++++++------
 2 files changed, 10 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flink/blob/6db9e6ae/flink-clients/src/main/java/org/apache/flink/client/program/PackagedProgram.java
----------------------------------------------------------------------
diff --git 
a/flink-clients/src/main/java/org/apache/flink/client/program/PackagedProgram.java
 
b/flink-clients/src/main/java/org/apache/flink/client/program/PackagedProgram.java
index f78502a..40092d8 100644
--- 
a/flink-clients/src/main/java/org/apache/flink/client/program/PackagedProgram.java
+++ 
b/flink-clients/src/main/java/org/apache/flink/client/program/PackagedProgram.java
@@ -484,6 +484,10 @@ public class PackagedProgram {
        
        private static void callMainMethod(Class<?> entryClass, String[] args) 
throws ProgramInvocationException {
                Method mainMethod;
+               if (!Modifier.isPublic(entryClass.getModifiers())) {
+                       throw new ProgramInvocationException("The class " + 
entryClass.getName() + " must be public.");
+               }
+
                try {
                        mainMethod = entryClass.getMethod("main", 
String[].class);
                } catch (NoSuchMethodException e) {

http://git-wip-us.apache.org/repos/asf/flink/blob/6db9e6ae/flink-clients/src/test/java/org/apache/flink/client/program/ClientTest.java
----------------------------------------------------------------------
diff --git 
a/flink-clients/src/test/java/org/apache/flink/client/program/ClientTest.java 
b/flink-clients/src/test/java/org/apache/flink/client/program/ClientTest.java
index cc32d9c..4f9b367 100644
--- 
a/flink-clients/src/test/java/org/apache/flink/client/program/ClientTest.java
+++ 
b/flink-clients/src/test/java/org/apache/flink/client/program/ClientTest.java
@@ -378,7 +378,7 @@ public class ClientTest {
                }
        }
 
-       private static final class TestExecuteTwice {
+       public static final class TestExecuteTwice {
 
                public static void main(String args[]) throws Exception {
                        final ExecutionEnvironment env = 
ExecutionEnvironment.getExecutionEnvironment();
@@ -388,7 +388,7 @@ public class ClientTest {
                }
        }
 
-       private static final class TestEager {
+       public static final class TestEager {
 
                public static void main(String args[]) throws Exception {
                        final ExecutionEnvironment env = 
ExecutionEnvironment.getExecutionEnvironment();
@@ -396,7 +396,7 @@ public class ClientTest {
                }
        }
 
-       private static final class TestGetRuntime {
+       public static final class TestGetRuntime {
 
                public static void main(String args[]) throws Exception {
                        final ExecutionEnvironment env = 
ExecutionEnvironment.getExecutionEnvironment();
@@ -405,7 +405,7 @@ public class ClientTest {
                }
        }
 
-       private static final class TestGetJobID {
+       public static final class TestGetJobID {
 
                public static void main(String args[]) throws Exception {
                        final ExecutionEnvironment env = 
ExecutionEnvironment.getExecutionEnvironment();
@@ -414,7 +414,7 @@ public class ClientTest {
                }
        }
 
-       private static final class TestGetAccumulator {
+       public static final class TestGetAccumulator {
 
                public static void main(String args[]) throws Exception {
                        final ExecutionEnvironment env = 
ExecutionEnvironment.getExecutionEnvironment();
@@ -423,7 +423,7 @@ public class ClientTest {
                }
        }
 
-       private static final class TestGetAllAccumulator {
+       public static final class TestGetAllAccumulator {
 
                public static void main(String args[]) throws Exception {
                        final ExecutionEnvironment env = 
ExecutionEnvironment.getExecutionEnvironment();

Reply via email to