ARIES-1847 - Avoid IllegalArgumentException: Path cannot be null
diff --git a/discovery/zookeeper/src/main/java/org/apache/aries/rsa/discovery/zookeeper/repository/ZookeeperEndpointRepository.java b/discovery/zookeeper/src/main/java/org/apache/aries/rsa/discovery/zookeeper/repository/ZookeeperEndpointRepository.java
index 4f298ef..a1d851f 100644
--- a/discovery/zookeeper/src/main/java/org/apache/aries/rsa/discovery/zookeeper/repository/ZookeeperEndpointRepository.java
+++ b/discovery/zookeeper/src/main/java/org/apache/aries/rsa/discovery/zookeeper/repository/ZookeeperEndpointRepository.java
@@ -38,7 +38,6 @@
 import org.apache.zookeeper.KeeperException.SessionExpiredException;
 import org.apache.zookeeper.WatchedEvent;
 import org.apache.zookeeper.Watcher;
-import org.apache.zookeeper.Watcher.Event.EventType;
 import org.apache.zookeeper.ZooDefs.Ids;
 import org.apache.zookeeper.ZooKeeper;
 import org.apache.zookeeper.data.Stat;
@@ -139,11 +138,18 @@
     @Override
     public void process(WatchedEvent event) {
         LOG.info("Received event {}", event);
-        if (event.getType() == EventType.NodeDeleted) {
-            handleRemoved(event.getPath());
-            return;
-        }
-        watchRecursive(event.getPath());
+        switch (event.getType()) {
+        case NodeCreated:
+        case NodeDataChanged:
+        case NodeChildrenChanged:
+        	watchRecursive(event.getPath());
+        	break;
+		case NodeDeleted:
+			handleRemoved(event.getPath());
+			break;
+		default:
+			break;
+		}
     }
 
     @Override
@@ -169,7 +175,7 @@
      * @param path
      */
     private void watchRecursive(String path) {
-        LOG.debug("Watching {}", path);
+        LOG.info("Watching {}", path);
         try {
             handleZNodeChanged(path);
             List<String> children = zk.getChildren(path, this);