Cleaned up a slew of Javadoc errors in preparation for switch over to Java 8.
diff --git a/core/api/src/main/java/org/onlab/onos/mastership/MastershipEvent.java b/core/api/src/main/java/org/onlab/onos/mastership/MastershipEvent.java
index 1aecfb4..dafa273 100644
--- a/core/api/src/main/java/org/onlab/onos/mastership/MastershipEvent.java
+++ b/core/api/src/main/java/org/onlab/onos/mastership/MastershipEvent.java
@@ -51,7 +51,7 @@
      *
      * @param type   device event type
      * @param device event device subject
-     * @param info mastership role information subject
+     * @param info   mastership role information subject
      */
     public MastershipEvent(Type type, DeviceId device, RoleInfo info) {
         super(type, device);
@@ -64,7 +64,7 @@
      *
      * @param type   mastership event type
      * @param device event device subject
-     * @param master master ID subject
+     * @param info   role information
      * @param time   occurrence time
      */
     public MastershipEvent(Type type, DeviceId device, RoleInfo info, long time) {
diff --git a/core/api/src/main/java/org/onlab/onos/net/SparseAnnotations.java b/core/api/src/main/java/org/onlab/onos/net/SparseAnnotations.java
index abe6cd1..6487d96 100644
--- a/core/api/src/main/java/org/onlab/onos/net/SparseAnnotations.java
+++ b/core/api/src/main/java/org/onlab/onos/net/SparseAnnotations.java
@@ -25,8 +25,9 @@
 
     /**
      * {@inheritDoc}
-     * <p/>
+     * <p>
      * Note that this set includes keys for any attributes tagged for removal.
+     * </p>
      */
     @Override
     public Set<String> keys();
diff --git a/core/api/src/main/java/org/onlab/onos/net/device/DeviceProviderService.java b/core/api/src/main/java/org/onlab/onos/net/device/DeviceProviderService.java
index 57d9ebf..f1667db 100644
--- a/core/api/src/main/java/org/onlab/onos/net/device/DeviceProviderService.java
+++ b/core/api/src/main/java/org/onlab/onos/net/device/DeviceProviderService.java
@@ -46,7 +46,6 @@
     /**
      * Sends information about all ports of a device. It is up to the core to
      * determine what has changed.
-     * <p/>
      *
      * @param deviceId         identity of the device
      * @param portDescriptions list of device ports
diff --git a/core/api/src/main/java/org/onlab/onos/net/flow/DefaultTrafficTreatment.java b/core/api/src/main/java/org/onlab/onos/net/flow/DefaultTrafficTreatment.java
index ab7c230..c0b3986 100644
--- a/core/api/src/main/java/org/onlab/onos/net/flow/DefaultTrafficTreatment.java
+++ b/core/api/src/main/java/org/onlab/onos/net/flow/DefaultTrafficTreatment.java
@@ -97,7 +97,7 @@
 
     /**
      * Builds a list of treatments following the following order.
-     * Modifications -> Group -> Output (including drop)
+     * Modifications -&gt; Group -&gt; Output (including drop)
      */
     public static final class Builder implements TrafficTreatment.Builder {
 
diff --git a/core/api/src/main/java/org/onlab/onos/net/flow/FlowRuleProviderService.java b/core/api/src/main/java/org/onlab/onos/net/flow/FlowRuleProviderService.java
index b1bda15..2f2dd5e 100644
--- a/core/api/src/main/java/org/onlab/onos/net/flow/FlowRuleProviderService.java
+++ b/core/api/src/main/java/org/onlab/onos/net/flow/FlowRuleProviderService.java
@@ -27,7 +27,7 @@
     /**
      * Signals that a flow rule that was previously installed has been removed.
      *
-     * @param flowRule information about the removed flow
+     * @param flowEntry removed flow entry
      */
     void flowRemoved(FlowEntry flowEntry);
 
@@ -35,10 +35,8 @@
      * Pushes the collection of flow entries currently applied on the given
      * device.
      *
-     * @param flowRules collection of flow rules
+     * @param flowEntries collection of flow rules
      */
     void pushFlowMetrics(DeviceId deviceId, Iterable<FlowEntry> flowEntries);
 
-
-
 }
diff --git a/core/api/src/main/java/org/onlab/onos/net/flow/FlowRuleStore.java b/core/api/src/main/java/org/onlab/onos/net/flow/FlowRuleStore.java
index 8a887d0..958dc91 100644
--- a/core/api/src/main/java/org/onlab/onos/net/flow/FlowRuleStore.java
+++ b/core/api/src/main/java/org/onlab/onos/net/flow/FlowRuleStore.java
@@ -49,7 +49,7 @@
     Iterable<FlowEntry> getFlowEntries(DeviceId deviceId);
 
     /**
-     // TODO: Better description of method behavior.
+     * // TODO: Better description of method behavior.
      * Stores a new flow rule without generating events.
      *
      * @param rule the flow rule to add
@@ -58,15 +58,17 @@
 
     /**
      * Stores a batch of flow rules.
+     *
      * @param batchOperation batch of flow rules.
      * @return Future response indicating success/failure of the batch operation
-     *     all the way down to the device.
+     * all the way down to the device.
      */
     Future<CompletedBatchOperation> storeBatch(FlowRuleBatchOperation batchOperation);
 
     /**
      * Invoked on the completion of a storeBatch operation.
-     * @param result
+     *
+     * @param event flow rule batch event
      */
     void batchOperationComplete(FlowRuleBatchEvent event);
 
@@ -75,7 +77,6 @@
      * when the provider indicates that the flow has been removed.
      *
      * @param rule the flow rule to delete
-     * @return true if the rule should be handled locally
      */
     void deleteFlowRule(FlowRule rule);
 
diff --git a/core/api/src/main/java/org/onlab/onos/net/host/HostAdminService.java b/core/api/src/main/java/org/onlab/onos/net/host/HostAdminService.java
index 5232b98..f421fd8 100644
--- a/core/api/src/main/java/org/onlab/onos/net/host/HostAdminService.java
+++ b/core/api/src/main/java/org/onlab/onos/net/host/HostAdminService.java
@@ -32,12 +32,13 @@
 
     /**
      * Binds IP and MAC addresses to the given connection point.
-     * <p/>
+     * <p>
      * The addresses are added to the set of addresses already bound to the
      * connection point. If any of the fields in addresses is null, no change
      * is made to the corresponding addresses in the store.
      * {@link #unbindAddressesFromPort(PortAddresses)} must be use to unbind
      * addresses that have previously been bound.
+     * </p>
      *
      * @param addresses address object containing addresses to add and the port
      * to add them to
diff --git a/core/api/src/main/java/org/onlab/onos/net/host/HostService.java b/core/api/src/main/java/org/onlab/onos/net/host/HostService.java
index 66a2ccf..aa31459 100644
--- a/core/api/src/main/java/org/onlab/onos/net/host/HostService.java
+++ b/core/api/src/main/java/org/onlab/onos/net/host/HostService.java
@@ -114,9 +114,7 @@
 
     /**
      * Requests the host service to resolve the MAC address for the given IP
-     * address.
-     * <p/>
-     * This will trigger a notification to the host listeners if the MAC
+     * address. This will trigger a notification to the host listeners if the MAC
      * address is found.
      *
      * @param ip IP address to find the MAC address for
@@ -134,8 +132,7 @@
      * Retrieves the addresses that have been bound to the given connection
      * point.
      *
-     * @param connectPoint the connection point to retrieve address bindings
-     * for
+     * @param connectPoint the connection point to retrieve address bindings for
      * @return addresses bound to the port
      */
     PortAddresses getAddressBindingsForPort(ConnectPoint connectPoint);
diff --git a/core/api/src/main/java/org/onlab/onos/net/host/PortAddresses.java b/core/api/src/main/java/org/onlab/onos/net/host/PortAddresses.java
index deaea5e..5e17e6c 100644
--- a/core/api/src/main/java/org/onlab/onos/net/host/PortAddresses.java
+++ b/core/api/src/main/java/org/onlab/onos/net/host/PortAddresses.java
@@ -36,9 +36,8 @@
 
     /**
      * Constructs a PortAddresses object for the given connection point, with a
-     * set of IP addresses and a MAC address.
-     * <p/>
-     * Both address parameters are optional and can be set to null.
+     * set of IP addresses and a MAC address. Both address parameters are
+     * optional and can be set to null.
      *
      * @param connectPoint the connection point these addresses are for
      * @param ipAddresses a set of interface IP addresses
diff --git a/core/api/src/main/java/org/onlab/onos/net/intent/Intent.java b/core/api/src/main/java/org/onlab/onos/net/intent/Intent.java
index 92161f4..206552e 100644
--- a/core/api/src/main/java/org/onlab/onos/net/intent/Intent.java
+++ b/core/api/src/main/java/org/onlab/onos/net/intent/Intent.java
@@ -26,8 +26,9 @@
 
 /**
  * Abstraction of an application level intent.
- * <p/>
+ * <p>
  * Make sure that an Intent should be immutable when a new type is defined.
+ * </p>
  */
 public abstract class Intent implements BatchOperationTarget {
 
diff --git a/core/api/src/main/java/org/onlab/onos/net/intent/IntentId.java b/core/api/src/main/java/org/onlab/onos/net/intent/IntentId.java
index cd75e6f..8c75397 100644
--- a/core/api/src/main/java/org/onlab/onos/net/intent/IntentId.java
+++ b/core/api/src/main/java/org/onlab/onos/net/intent/IntentId.java
@@ -19,8 +19,7 @@
 
 /**
  * Intent identifier suitable as an external key.
- * <p/>
- * This class is immutable.
+ * <p>This class is immutable.</p>
  */
 public final class IntentId implements BatchOperationTarget {
 
diff --git a/core/api/src/main/java/org/onlab/onos/net/intent/IntentService.java b/core/api/src/main/java/org/onlab/onos/net/intent/IntentService.java
index 5e5ac31..9cffb11 100644
--- a/core/api/src/main/java/org/onlab/onos/net/intent/IntentService.java
+++ b/core/api/src/main/java/org/onlab/onos/net/intent/IntentService.java
@@ -25,20 +25,20 @@
 public interface IntentService {
     /**
      * Submits an intent into the system.
-     * <p/>
+     * <p>
      * This is an asynchronous request meaning that any compiling or
      * installation activities may be done at later time.
-     *
+     * </p>
      * @param intent intent to be submitted
      */
     void submit(Intent intent);
 
     /**
      * Withdraws an intent from the system.
-     * <p/>
+     * <p>
      * This is an asynchronous request meaning that the environment may be
      * affected at later time.
-     *
+     * </p>
      * @param intent intent to be withdrawn
      */
     void withdraw(Intent intent);
@@ -54,10 +54,10 @@
     /**
      * Submits a batch of submit &amp; withdraw operations. Such a batch is
      * assumed to be processed together.
-     * <p/>
+     * <p>
      * This is an asynchronous request meaning that the environment may be
      * affected at later time.
-     *
+     * </p>
      * @param operations batch of intent operations
      */
     Future<IntentOperations> execute(IntentOperations operations);
diff --git a/core/api/src/main/java/org/onlab/onos/net/intent/IntentState.java b/core/api/src/main/java/org/onlab/onos/net/intent/IntentState.java
index 0050718..3fbe82d 100644
--- a/core/api/src/main/java/org/onlab/onos/net/intent/IntentState.java
+++ b/core/api/src/main/java/org/onlab/onos/net/intent/IntentState.java
@@ -24,8 +24,9 @@
      * Signifies that the intent has been submitted and will start compiling
      * shortly. However, this compilation may not necessarily occur on the
      * local controller instance.
-     * <p/>
+     * <p>
      * All intent in the runtime take this state first.
+     * </p>
      */
     SUBMITTED,
 
@@ -57,10 +58,11 @@
      * as an attempt to adapt to an anomaly in the network environment.
      * This is a transitional state after which the intent will enter either
      * {@link #FAILED} state or {@link #INSTALLING} state.
-     * <p/>
+     * <p>
      * Exit to the {@link #FAILED} state may be caused by failure to compile
      * or by compiling into the same set of installable intents which have
      * previously failed to be installed.
+     * </p>
      */
     RECOMPILING,
 
diff --git a/core/api/src/main/java/org/onlab/onos/net/intent/OpticalConnectivityIntent.java b/core/api/src/main/java/org/onlab/onos/net/intent/OpticalConnectivityIntent.java
index 46f5f9a..fdb8668e 100644
--- a/core/api/src/main/java/org/onlab/onos/net/intent/OpticalConnectivityIntent.java
+++ b/core/api/src/main/java/org/onlab/onos/net/intent/OpticalConnectivityIntent.java
@@ -28,11 +28,12 @@
     protected ConnectPoint dst;
 
     /**
-     * Constructor.
+     * Creates an optical connectivity intent between the specified
+     * connection points.
      *
-     * @param id  ID for this new Intent object.
-     * @param src The source transponder port.
-     * @param dst The destination transponder port.
+     * @param appId application identification
+     * @param src the source transponder port
+     * @param dst the destination transponder port
      */
     public OpticalConnectivityIntent(ApplicationId appId, ConnectPoint src, ConnectPoint dst) {
         super(id(OpticalConnectivityIntent.class, src, dst),
@@ -51,18 +52,18 @@
     }
 
     /**
-     * Gets source transponder port.
+     * Returns the source transponder port.
      *
-     * @return The source transponder port.
+     * @return source transponder port
      */
     public ConnectPoint getSrcConnectPoint() {
         return src;
     }
 
     /**
-     * Gets destination transponder port.
+     * Returns the destination transponder port.
      *
-     * @return The source transponder port.
+     * @return source transponder port
      */
     public ConnectPoint getDst() {
         return dst;
diff --git a/core/api/src/main/java/org/onlab/onos/net/intent/package-info.java b/core/api/src/main/java/org/onlab/onos/net/intent/package-info.java
index 1bac21d..03d4807 100644
--- a/core/api/src/main/java/org/onlab/onos/net/intent/package-info.java
+++ b/core/api/src/main/java/org/onlab/onos/net/intent/package-info.java
@@ -20,23 +20,26 @@
  * <em>what</em> rather than the <em>how</em>. This makes such instructions
  * largely independent of topology and device specifics, thus allowing them to
  * survive topology mutations.
- * <p/>
+ * <p>
  * The controller core provides a suite of built-in intents and their compilers
  * and installers. However, the intent framework is extensible in that it allows
  * additional intents and their compilers or installers to be added
  * dynamically at run-time. This allows others to enhance the initial arsenal of
  * connectivity and policy-based intents available in base controller software.
- * <p/>
+ * </p>
+ * <p>
  * The following diagram depicts the state transition diagram for each top-level intent:<br>
  * <img src="doc-files/intent-states.png" alt="ONOS intent states">
- * <p/>
+ * </p>
+ * <p>
  * The controller core accepts the intent specifications and translates them, via a
  * process referred to as intent compilation, to installable intents, which are
  * essentially actionable operations on the network environment.
  * These actions are carried out by intent installation process, which results
  * in some changes to the environment, e.g. tunnel links being provisioned,
  * flow rules being installed on the data-plane, optical lambdas being reserved.
- * <p/>
+ * </p>
+ * <p>
  * After an intent is submitted by an application, it will be sent immediately
  * (but asynchronously) into a compiling phase, then to installing phase and if
  * all goes according to plan into installed state. Once an application decides
@@ -48,7 +51,8 @@
  * installable intents and instead result in a failed compile. If this occurs,
  * only a change in the environment can trigger a transition back to the
  * compiling state.
- * <p/>
+ * </p>
+ * <p>
  * Similarly, an issue may be encountered during the installation phase in
  * which case the framework will attempt to recompile the intent to see if an
  * alternate approach is available. If so, the intent will be sent back to
@@ -61,12 +65,14 @@
  * the intent, and if an alternate approach is available, its installation
  * will be attempted. Otherwise, the original top-level intent will be parked
  * in the failed state.
- * <p/>
+ * </p>
+ * <p>
  * Please note that all *ing states, depicted in orange, are transitional and
  * are expected to last only a brief amount of time. The rest of the states
  * are parking states where the intent may spent some time; except for the
  * submitted state of course. There, the intent may pause, but only briefly,
  * while the system determines where to perform the compilation or while it
  * performs global recomputation/optimization across all prior intents.
+ * </p>
  */
 package org.onlab.onos.net.intent;
diff --git a/core/api/src/main/java/org/onlab/onos/net/provider/ProviderId.java b/core/api/src/main/java/org/onlab/onos/net/provider/ProviderId.java
index e35d044..62207d9 100644
--- a/core/api/src/main/java/org/onlab/onos/net/provider/ProviderId.java
+++ b/core/api/src/main/java/org/onlab/onos/net/provider/ProviderId.java
@@ -24,14 +24,16 @@
  * External identity of a {@link org.onlab.onos.net.provider.Provider} family.
  * It also carriers two designations of external characteristics, the URI
  * scheme and primary/ancillary indicator.
- * <p/>
+ * <p>
  * The device URI scheme is used to determine applicability of a provider to
  * operations on a specific device. The ancillary indicator serves to designate
  * a provider as a primary or ancillary.
- *
+ * </p>
+ * <p>
  * A {@link org.onlab.onos.net.provider.ProviderRegistry} uses this designation
  * to permit only one primary provider per device URI scheme. Multiple
  * ancillary providers can register with the same device URI scheme however.
+ * </p>
  */
 public class ProviderId {
 
@@ -56,8 +58,8 @@
      * The providers are expected to follow the reverse DNS convention, e.g.
      * {@code org.onlab.onos.provider.of.device}
      *
-     * @param scheme    device URI scheme to which this provider is bound, e.g. "of", "snmp"
-     * @param id        string identifier
+     * @param scheme device URI scheme to which this provider is bound, e.g. "of", "snmp"
+     * @param id     string identifier
      */
     public ProviderId(String scheme, String id) {
         this(scheme, id, false);
@@ -68,8 +70,8 @@
      * The providers are expected to follow the reverse DNS convention, e.g.
      * {@code org.onlab.onos.provider.of.device}
      *
-     * @param scheme device URI scheme to which this provider is bound, e.g. "of", "snmp"
-     * @param id     string identifier
+     * @param scheme    device URI scheme to which this provider is bound, e.g. "of", "snmp"
+     * @param id        string identifier
      * @param ancillary ancillary provider indicator
      */
     public ProviderId(String scheme, String id, boolean ancillary) {
diff --git a/core/api/src/main/java/org/onlab/onos/net/provider/ProviderRegistry.java b/core/api/src/main/java/org/onlab/onos/net/provider/ProviderRegistry.java
index a2497f0..8cab8a8 100644
--- a/core/api/src/main/java/org/onlab/onos/net/provider/ProviderRegistry.java
+++ b/core/api/src/main/java/org/onlab/onos/net/provider/ProviderRegistry.java
@@ -38,9 +38,10 @@
      * Unregisters the supplied provider. As a result the previously issued
      * provider service will be invalidated and any subsequent invocations
      * of its methods may throw {@link java.lang.IllegalStateException}.
-     * <p/>
+     * <p>
      * Unregistering a provider that has not been previously registered results
      * in a no-op.
+     * </p>
      *
      * @param provider provider to be unregistered
      */