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

    https://github.com/apache/helix/pull/159#discussion_r177274948
  
    --- Diff: 
helix-core/src/main/java/org/apache/helix/manager/zk/CallbackHandler.java ---
    @@ -168,41 +215,41 @@ private void parseListenerProperties() {
     
         Class listenerClass = null;
         switch (_changeType) {
    -    case IDEAL_STATE:
    -      listenerClass = IdealStateChangeListener.class;
    -      break;
    -    case INSTANCE_CONFIG:
    -      if (_listener instanceof ConfigChangeListener) {
    +      case IDEAL_STATE:
    +        listenerClass = IdealStateChangeListener.class;
    +        break;
    +      case INSTANCE_CONFIG:
    +        if (_listener instanceof ConfigChangeListener) {
    +          listenerClass = ConfigChangeListener.class;
    +        } else if (_listener instanceof InstanceConfigChangeListener) {
    +          listenerClass = InstanceConfigChangeListener.class;
    +        }
    +        break;
    +      case CLUSTER_CONFIG:
    +        listenerClass = ClusterConfigChangeListener.class;
    +        break;
    +      case RESOURCE_CONFIG:
    +        listenerClass = ResourceConfigChangeListener.class;
    +        break;
    +      case CONFIG:
             listenerClass = ConfigChangeListener.class;
    -      } else if (_listener instanceof InstanceConfigChangeListener) {
    -        listenerClass = InstanceConfigChangeListener.class;
    -      }
    -      break;
    -    case CLUSTER_CONFIG:
    -      listenerClass = ClusterConfigChangeListener.class;
    -      break;
    -    case RESOURCE_CONFIG:
    -      listenerClass = ResourceConfigChangeListener.class;
    -      break;
    -    case CONFIG:
    -      listenerClass = ConfigChangeListener.class;
    -      break;
    -    case LIVE_INSTANCE:
    -      listenerClass = LiveInstanceChangeListener.class;
    -      break;
    -    case CURRENT_STATE:
    -      listenerClass = CurrentStateChangeListener.class;        ;
    -      break;
    -    case MESSAGE:
    -    case MESSAGES_CONTROLLER:
    -      listenerClass = MessageListener.class;
    -      break;
    -    case EXTERNAL_VIEW:
    -    case TARGET_EXTERNAL_VIEW:
    -      listenerClass = ExternalViewChangeListener.class;
    -      break;
    -    case CONTROLLER:
    -      listenerClass = ControllerChangeListener.class;
    +        break;
    +      case LIVE_INSTANCE:
    +        listenerClass = LiveInstanceChangeListener.class;
    +        break;
    +      case CURRENT_STATE:
    +        listenerClass = CurrentStateChangeListener.class;        ;
    +        break;
    +      case MESSAGE:
    +      case MESSAGES_CONTROLLER:
    +        listenerClass = MessageListener.class;
    +        break;
    +      case EXTERNAL_VIEW:
    +      case TARGET_EXTERNAL_VIEW:
    +        listenerClass = ExternalViewChangeListener.class;
    +        break;
    +      case CONTROLLER:
    +        listenerClass = ControllerChangeListener.class;
         }
     
         Method callbackMethod = listenerClass.getMethods()[0];
    --- End diff --
    
    can we get the method using the explicit name. 


---

Reply via email to