Add intents and logging to Event History app

Also fixed overshadowing of hosts cli flag

Change-Id: I09c12a6cc4ab431a948905e8c1a76c2a9998aa75
diff --git a/apps/events/src/main/java/org/onosproject/events/EventHistoryManager.java b/apps/events/src/main/java/org/onosproject/events/EventHistoryManager.java
index b5ee316..0bdd94b 100644
--- a/apps/events/src/main/java/org/onosproject/events/EventHistoryManager.java
+++ b/apps/events/src/main/java/org/onosproject/events/EventHistoryManager.java
@@ -44,6 +44,7 @@
 import org.onosproject.net.device.DeviceService;
 import org.onosproject.net.edge.EdgePortService;
 import org.onosproject.net.host.HostService;
+import org.onosproject.net.intent.IntentService;
 import org.onosproject.net.link.LinkService;
 import org.onosproject.net.topology.TopologyService;
 import org.slf4j.Logger;
@@ -84,6 +85,9 @@
     protected EdgePortService edgeService;
 
     @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
+    protected IntentService intentService;
+
+    @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
     protected NetworkConfigService netcfgService;
 
     @Property(name = "excludeStatsEvent", boolValue = true,
@@ -127,6 +131,7 @@
                  .addListener(hostService, this::addEvent)
                  .addListener(clusterService, this::addEvent)
                  .addListener(edgeService, this::addEvent)
+                 .addListener(intentService, this::addEvent)
                  .addListener(netcfgService, this::addEvent);
 
         log.info("Started");
@@ -164,6 +169,9 @@
     }
 
     private void addEvent(Event<?, ?> event) {
+        if (log.isTraceEnabled()) {
+            log.trace(event.toString());
+        }
         history.offer(event);
     }
 
diff --git a/apps/events/src/main/java/org/onosproject/events/EventsCommand.java b/apps/events/src/main/java/org/onosproject/events/EventsCommand.java
index 3896f27..db8df10 100644
--- a/apps/events/src/main/java/org/onosproject/events/EventsCommand.java
+++ b/apps/events/src/main/java/org/onosproject/events/EventsCommand.java
@@ -32,6 +32,7 @@
 import org.onosproject.net.Link;
 import org.onosproject.net.device.DeviceEvent;
 import org.onosproject.net.host.HostEvent;
+import org.onosproject.net.intent.IntentEvent;
 import org.onosproject.net.link.LinkEvent;
 import org.onosproject.net.topology.Topology;
 import org.onosproject.net.topology.TopologyEvent;
@@ -78,7 +79,7 @@
             required = false)
     private boolean topology = false;
 
-    @Option(name = "--host", aliases = "-t",
+    @Option(name = "--host", aliases = "-h",
             description = "Include HostEvent",
             required = false)
     private boolean host = false;
@@ -88,6 +89,11 @@
             required = false)
     private boolean cluster = false;
 
+    @Option(name = "--intent", aliases = "-i",
+            description = "Include IntentEvent",
+            required = false)
+    private boolean intent = false;
+
     @Option(name = "--max-events", aliases = "-n",
             description = "Maximum number of events to print",
             required = false,
@@ -100,7 +106,7 @@
 
         Stream<Event<?, ?>> events = eventHistoryService.history().stream();
 
-        boolean dumpAll = all || !(mastership || device || link || topology || host || cluster);
+        boolean dumpAll = all || !(mastership || device || link || topology || host || cluster || intent);
 
         if (!dumpAll) {
             Predicate<Event<?, ?>> filter = (defaultIs) -> false;
@@ -123,6 +129,9 @@
             if (cluster) {
                 filter = filter.or(evt -> evt instanceof ClusterEvent);
             }
+            if (intent) {
+                filter = filter.or(evt -> evt instanceof IntentEvent);
+            }
 
             events = events.filter(filter);
         }