[
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)