[KARAF-5139] Use node alias in shell commands and MBeans
diff --git a/dosgi/src/main/java/org/apache/karaf/cellar/dosgi/shell/ListDistributedServicesCommand.java b/dosgi/src/main/java/org/apache/karaf/cellar/dosgi/shell/ListDistributedServicesCommand.java
index d5ad96b..67fb074 100644
--- a/dosgi/src/main/java/org/apache/karaf/cellar/dosgi/shell/ListDistributedServicesCommand.java
+++ b/dosgi/src/main/java/org/apache/karaf/cellar/dosgi/shell/ListDistributedServicesCommand.java
@@ -43,7 +43,11 @@
                     String serviceClass = endpointDescription.getServiceClass();
                     Set<Node> nodes = endpointDescription.getNodes();
                     for (Node node : nodes) {
-                        table.addRow().addContent(serviceClass, node.getId());
+                        String nodeName = node.getAlias();
+                        if (nodeName == null) {
+                            nodeName = node.getId();
+                        }
+                        table.addRow().addContent(serviceClass, nodeName);
                         serviceClass = "";
                     }
                 }
diff --git a/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/management/internal/CellarGroupMBeanImpl.java b/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/management/internal/CellarGroupMBeanImpl.java
index 8c011f9..b9c4139 100644
--- a/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/management/internal/CellarGroupMBeanImpl.java
+++ b/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/management/internal/CellarGroupMBeanImpl.java
@@ -167,7 +167,11 @@
             for (Node node : group.getNodes()) {
                 // display only up and running nodes in the cluster
                 if (clusterManager.findNodeById(node.getId()) != null) {
-                    members.append(node.getId());
+                    if (node.getAlias() != null) {
+                        members.append(node.getAlias());
+                    } else {
+                        members.append(node.getId());
+                    }
                     members.append(" ");
                 }
             }
diff --git a/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/management/internal/CellarMBeanImpl.java b/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/management/internal/CellarMBeanImpl.java
index 73f06ac..68f435d 100644
--- a/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/management/internal/CellarMBeanImpl.java
+++ b/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/management/internal/CellarMBeanImpl.java
@@ -130,10 +130,14 @@
                 for (Map.Entry<String, String> handlerEntry : result.getHandlers().entrySet()) {
                     String handler = handlerEntry.getKey();
                     String status = handlerEntry.getValue();
+                    String nodeName = node.getAlias();
+                    if (nodeName == null) {
+                        nodeName = node.getId();
+                    }
                     boolean local = (node.equals(clusterManager.getNode()));
                     CompositeDataSupport data = new CompositeDataSupport(compositeType,
                             new String[]{"node", "handler", "status", "local"},
-                            new Object[]{node.getId(), handler, status, local});
+                            new Object[]{nodeName, handler, status, local});
                     table.put(data);
                 }
             }
@@ -201,9 +205,13 @@
         for (Node node : results.keySet()) {
             boolean local = (node.equals(clusterManager.getNode()));
             ConsumerSwitchResult consumerSwitchResult = results.get(node);
+            String nodeName = node.getAlias();
+            if (nodeName == null) {
+                nodeName = node.getId();
+            }
             CompositeDataSupport data = new CompositeDataSupport(compositeType,
                     new String[]{"node", "status", "local"},
-                    new Object[]{node.getId(), consumerSwitchResult.getStatus(), local});
+                    new Object[]{nodeName, consumerSwitchResult.getStatus(), local});
             table.put(data);
         }
 
@@ -270,9 +278,13 @@
         for (Node node : results.keySet()) {
             boolean local = (node.equals(clusterManager.getNode()));
             ProducerSwitchResult producerSwitchResult = results.get(node);
+            String nodeName = node.getAlias();
+            if (nodeName == null) {
+                nodeName = node.getId();
+            }
             CompositeDataSupport data = new CompositeDataSupport(compositeType,
                     new String[]{"node", "status", "local"},
-                    new Object[]{node.getId(), producerSwitchResult.getStatus(), local});
+                    new Object[]{nodeName, producerSwitchResult.getStatus(), local});
             table.put(data);
         }
 
diff --git a/log/src/main/java/org/apache/karaf/cellar/log/ClusterLogKey.java b/log/src/main/java/org/apache/karaf/cellar/log/ClusterLogKey.java
index 095655e..662d095 100644
--- a/log/src/main/java/org/apache/karaf/cellar/log/ClusterLogKey.java
+++ b/log/src/main/java/org/apache/karaf/cellar/log/ClusterLogKey.java
@@ -21,6 +21,7 @@
 public class ClusterLogKey implements Serializable {
 
     private String nodeId;
+    private String nodeAlias;
     private long timeStamp;
     private String id;
 
@@ -32,6 +33,14 @@
         this.nodeId = nodeId;
     }
 
+    public String getNodeAlias() {
+        return nodeAlias;
+    }
+
+    public void setNodeAlias(String nodeAlias) {
+        this.nodeAlias = nodeAlias;
+    }
+
     public long getTimeStamp() {
         return timeStamp;
     }
diff --git a/log/src/main/java/org/apache/karaf/cellar/log/LogAppender.java b/log/src/main/java/org/apache/karaf/cellar/log/LogAppender.java
index 8c59769..ed7ec1b 100644
--- a/log/src/main/java/org/apache/karaf/cellar/log/LogAppender.java
+++ b/log/src/main/java/org/apache/karaf/cellar/log/LogAppender.java
@@ -38,9 +38,8 @@
         ClusterLogKey key = new ClusterLogKey();
 
         Node node = clusterManager.getNode();
-        String nodeId = node.getId();
-
-        key.setNodeId(nodeId);
+        key.setNodeId(node.getId());
+        key.setNodeAlias(node.getAlias());
         key.setTimeStamp(event.getTimeStamp());
         key.setId(clusterManager.generateId());
 
diff --git a/log/src/main/java/org/apache/karaf/cellar/log/management/internal/CellarLogMBeanImpl.java b/log/src/main/java/org/apache/karaf/cellar/log/management/internal/CellarLogMBeanImpl.java
index c5c2e2a..6031c51 100644
--- a/log/src/main/java/org/apache/karaf/cellar/log/management/internal/CellarLogMBeanImpl.java
+++ b/log/src/main/java/org/apache/karaf/cellar/log/management/internal/CellarLogMBeanImpl.java
@@ -193,10 +193,14 @@
             for (Node node : results.keySet()) {
                 GetLogResult result = results.get(node);
                 Map<String, String> loggers = result.getLoggers();
+                String nodeName = node.getAlias();
+                if (nodeName == null) {
+                    nodeName = node.getId();
+                }
                 for (String l : loggers.keySet()) {
                     CompositeData data = new CompositeDataSupport(levelType,
                             new String[]{ "node", "logger", "level" },
-                            new Object[]{ node.getId(), l, loggers.get(l) });
+                            new Object[]{ nodeName, l, loggers.get(l) });
                     tabularData.put(data);
                 }
             }
diff --git a/log/src/main/java/org/apache/karaf/cellar/log/shell/GetLog.java b/log/src/main/java/org/apache/karaf/cellar/log/shell/GetLog.java
index 3b9129a..f947d9a 100644
--- a/log/src/main/java/org/apache/karaf/cellar/log/shell/GetLog.java
+++ b/log/src/main/java/org/apache/karaf/cellar/log/shell/GetLog.java
@@ -99,7 +99,11 @@
                 GetLogResult result = results.get(node);
                 Map<String, String> loggers = result.getLoggers();
                 for (String logger : loggers.keySet()) {
-                    table.addRow().addContent(local, node.getId(), logger, loggers.get(logger));
+                    String nodeName = node.getAlias();
+                    if (nodeName == null) {
+                        nodeName = node.getId();
+                    }
+                    table.addRow().addContent(local, nodeName, logger, loggers.get(logger));
                 }
             }
         }
diff --git a/shell/src/main/java/org/apache/karaf/cellar/shell/NodePingCommand.java b/shell/src/main/java/org/apache/karaf/cellar/shell/NodePingCommand.java
index fecf0ef..27de03f 100644
--- a/shell/src/main/java/org/apache/karaf/cellar/shell/NodePingCommand.java
+++ b/shell/src/main/java/org/apache/karaf/cellar/shell/NodePingCommand.java
@@ -48,7 +48,12 @@
             return null;
         }
 
-        System.out.println("PING " + node.getId());
+        String nodeName = node.getAlias();
+        if (nodeName == null) {
+            nodeName = node.getId();
+        }
+
+        System.out.println("PING " + nodeName);
         try {
             for (int i = 1; i <= iterations; i++) {
                 Long start = System.currentTimeMillis();
@@ -59,9 +64,9 @@
                 Long stop = System.currentTimeMillis();
                 Long delay = stop - start;
                 if (delay >= TIMEOUT) {
-                    System.err.println(String.format("TIMEOUT %s %s", i, node.getId()));
+                    System.err.println(String.format("TIMEOUT %s %s", i, nodeName));
                 } else {
-                    System.out.println(String.format("from %s: req=%s time=%s ms", i, node.getId(), delay));
+                    System.out.println(String.format("from %s: req=%s time=%s ms", i, nodeName, delay));
                 }
                 Thread.sleep(interval);
             }
diff --git a/shell/src/main/java/org/apache/karaf/cellar/shell/consumer/ConsumerSupport.java b/shell/src/main/java/org/apache/karaf/cellar/shell/consumer/ConsumerSupport.java
index e717648..59a6007 100644
--- a/shell/src/main/java/org/apache/karaf/cellar/shell/consumer/ConsumerSupport.java
+++ b/shell/src/main/java/org/apache/karaf/cellar/shell/consumer/ConsumerSupport.java
@@ -81,7 +81,11 @@
                 if (result.getStatus()) {
                     statusString = "ON";
                 }
-                table.addRow().addContent(local, node.getId(), statusString);
+                String nodeName = node.getAlias();
+                if (nodeName == null) {
+                    nodeName = node.getId();
+                }
+                table.addRow().addContent(local, nodeName, statusString);
             }
             table.print(System.out);
         }
diff --git a/shell/src/main/java/org/apache/karaf/cellar/shell/group/GroupSupport.java b/shell/src/main/java/org/apache/karaf/cellar/shell/group/GroupSupport.java
index 261588a..e79e3e3 100644
--- a/shell/src/main/java/org/apache/karaf/cellar/shell/group/GroupSupport.java
+++ b/shell/src/main/java/org/apache/karaf/cellar/shell/group/GroupSupport.java
@@ -99,7 +99,11 @@
                                 for (Node member : g.getNodes()) {
                                     // display only up and running nodes in the cluster
                                     if (clusterManager.findNodeById(member.getId()) != null) {
-                                        buffer.append(member.getId());
+                                        if (member.getAlias() != null) {
+                                            buffer.append(member.getAlias());
+                                        } else {
+                                            buffer.append(member.getId());
+                                        }
                                         if (member.equals(clusterManager.getNode())) {
                                             local = "x";
                                             buffer.append("(x)");
diff --git a/shell/src/main/java/org/apache/karaf/cellar/shell/handler/HandlersSupport.java b/shell/src/main/java/org/apache/karaf/cellar/shell/handler/HandlersSupport.java
index 495183e..d4d2330 100644
--- a/shell/src/main/java/org/apache/karaf/cellar/shell/handler/HandlersSupport.java
+++ b/shell/src/main/java/org/apache/karaf/cellar/shell/handler/HandlersSupport.java
@@ -84,7 +84,11 @@
                     for (Map.Entry<String,String>  handlerEntry: result.getHandlers().entrySet()) {
                         String handler =  handlerEntry.getKey();
                         String s = handlerEntry.getValue();
-                        table.addRow().addContent(local, node.getId(), s, handler);
+                        String nodeName = node.getAlias();
+                        if (nodeName == null) {
+                            nodeName = node.getId();
+                        }
+                        table.addRow().addContent(local, nodeName, s, handler);
                     }
                 }
             }
diff --git a/shell/src/main/java/org/apache/karaf/cellar/shell/producer/ProducerSupport.java b/shell/src/main/java/org/apache/karaf/cellar/shell/producer/ProducerSupport.java
index 91c1245..d350e77 100644
--- a/shell/src/main/java/org/apache/karaf/cellar/shell/producer/ProducerSupport.java
+++ b/shell/src/main/java/org/apache/karaf/cellar/shell/producer/ProducerSupport.java
@@ -81,7 +81,11 @@
                 if (result.getStatus()) {
                     statusString = "ON";
                 }
-                table.addRow().addContent(local, node.getId(), statusString);
+                String nodeName = node.getAlias();
+                if (nodeName == null) {
+                    nodeName = node.getId();
+                }
+                table.addRow().addContent(local, nodeName, statusString);
             }
             table.print(System.out);
         }