[ 
https://issues.apache.org/jira/browse/FLINK-4443?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15430893#comment-15430893
 ] 

ASF GitHub Bot commented on FLINK-4443:
---------------------------------------

Github user tillrohrmann commented on a diff in the pull request:

    https://github.com/apache/flink/pull/2401#discussion_r75690285
  
    --- Diff: 
flink-runtime/src/test/java/org/apache/flink/runtime/rpc/RpcCompletenessTest.java
 ---
    @@ -337,4 +337,25 @@ private static boolean isRpcTimeout(Annotation[] 
annotations) {
                        throw new RuntimeException("Could not retrive basic 
type information for primitive type " + primitveType + '.');
                }
        }
    +
    +   /**
    +    * Extract all rpc methods defined by the gateway interface
    +    * @param interfaceClass the given rpc gateway interface
    +    * @return all methods defined by the given interface
    +    */
    +   private List<Method> getRpcMethodsFromGateway(Class<? extends 
RpcGateway> interfaceClass) {
    +           if(!interfaceClass.isInterface()) {
    +                   fail(interfaceClass.getName() + "is not a interface");
    +           }
    +           ArrayList<Method> allMethods = new ArrayList<>();
    +           for(Method method : interfaceClass.getDeclaredMethods()) {
    +                   if (!method.isAnnotationPresent(NativeMethod.class)) {
    +                           allMethods.add(method);
    +                   }
    +           }
    --- End diff --
    
    line break missing


> Add support in RpcCompletenessTest for inheritance of RpcGateway and 
> RpcEndpoint
> --------------------------------------------------------------------------------
>
>                 Key: FLINK-4443
>                 URL: https://issues.apache.org/jira/browse/FLINK-4443
>             Project: Flink
>          Issue Type: Sub-task
>          Components: Distributed Coordination
>            Reporter: Wenlong Lyu
>            Assignee: Wenlong Lyu
>
> RpcCompletenessTest needs to support RpcGateway which is composited by some 
> basic functions like the example following:
> {code:java}
> public interface ExecutionStateListener extends RpcGateway {
>       public void notifyExecutionStateChanges();
> }
> public interface JobStateListener extends RpcGateway {
>       public void notifyJobStateChanges();
> }
> public interface JobWatcher extends ExecutionStateListener, JobStateListener, 
> RpcGateway {
> }
> public class JobWatcherEndpoint extends RpcEndpoint<JobWatcher> {
>       protected JobWatcherEndpoint(RpcService rpcService) {
>               super(rpcService);
>       }
>       @RpcMethod
>       public void notifyExecutionStateChanges() {
>       }
>       @RpcMethod
>       public void notifyJobStateChanges() {
>       }
> }
> public class AttachedJobClient extends JobWatcherEndpoint {
>       protected JobClient(RpcService rpcService) {
>               super(rpcService);
>       }
> }
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to