Fixing javadocs and adding missing package javadocs.
Also marked a few packages and classes as deprecated.

Change-Id: I8629ad001f218f92c35721daa3b7c0ebe0916c27
diff --git a/apps/fwd/src/main/java/org/onlab/onos/fwd/package-info.java b/apps/fwd/src/main/java/org/onlab/onos/fwd/package-info.java
index 65cf66b..7fa2045 100644
--- a/apps/fwd/src/main/java/org/onlab/onos/fwd/package-info.java
+++ b/apps/fwd/src/main/java/org/onlab/onos/fwd/package-info.java
@@ -15,6 +15,6 @@
  */
 
 /**
- * Trivial application that provides simple form of reactive forwarding.
+ * Sample application that provides simple form of reactive forwarding.
  */
 package org.onlab.onos.fwd;
diff --git a/apps/ifwd/src/main/java/org/onlab/onos/ifwd/package-info.java b/apps/ifwd/src/main/java/org/onlab/onos/ifwd/package-info.java
index 4fb1fdb..48dd937 100644
--- a/apps/ifwd/src/main/java/org/onlab/onos/ifwd/package-info.java
+++ b/apps/ifwd/src/main/java/org/onlab/onos/ifwd/package-info.java
@@ -15,7 +15,7 @@
  */
 
 /**
- * Trivial application that provides simple form of reactive forwarding
+ * Sample application that provides simple form of reactive forwarding
  * using the intent service.
  */
 package org.onlab.onos.ifwd;
diff --git a/apps/metrics/intent/src/main/java/org/onlab/onos/metrics/intent/cli/package-info.java b/apps/metrics/intent/src/main/java/org/onlab/onos/metrics/intent/cli/package-info.java
new file mode 100644
index 0000000..9b3e976
--- /dev/null
+++ b/apps/metrics/intent/src/main/java/org/onlab/onos/metrics/intent/cli/package-info.java
@@ -0,0 +1,20 @@
+/*
+ * Copyright 2014 Open Networking Laboratory
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Intent metrics command-line handlers.
+ */
+package org.onlab.onos.metrics.intent.cli;
\ No newline at end of file
diff --git a/apps/metrics/topology/src/main/java/org/onlab/onos/metrics/topology/cli/package-info.java b/apps/metrics/topology/src/main/java/org/onlab/onos/metrics/topology/cli/package-info.java
new file mode 100644
index 0000000..b6ccdb9
--- /dev/null
+++ b/apps/metrics/topology/src/main/java/org/onlab/onos/metrics/topology/cli/package-info.java
@@ -0,0 +1,20 @@
+/*
+ * Copyright 2014 Open Networking Laboratory
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Topology metrics command-line handlers.
+ */
+package org.onlab.onos.metrics.topology.cli;
\ No newline at end of file
diff --git a/apps/mobility/src/main/java/org/onlab/onos/mobility/package-info.java b/apps/mobility/src/main/java/org/onlab/onos/mobility/package-info.java
index c35ce9a..f178646 100644
--- a/apps/mobility/src/main/java/org/onlab/onos/mobility/package-info.java
+++ b/apps/mobility/src/main/java/org/onlab/onos/mobility/package-info.java
@@ -15,6 +15,6 @@
  */
 
 /**
- * Trivial application that provides simple form of reactive forwarding.
+ * Sample application that provides simple form of end-station host mobility.
  */
 package org.onlab.onos.mobility;
diff --git a/apps/optical/src/main/java/org/onlab/onos/optical/provisioner/OpticalPathProvisioner.java b/apps/optical/src/main/java/org/onlab/onos/optical/OpticalPathProvisioner.java
similarity index 99%
rename from apps/optical/src/main/java/org/onlab/onos/optical/provisioner/OpticalPathProvisioner.java
rename to apps/optical/src/main/java/org/onlab/onos/optical/OpticalPathProvisioner.java
index 8b78800..a026810 100644
--- a/apps/optical/src/main/java/org/onlab/onos/optical/provisioner/OpticalPathProvisioner.java
+++ b/apps/optical/src/main/java/org/onlab/onos/optical/OpticalPathProvisioner.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onlab.onos.optical.provisioner;
+package org.onlab.onos.optical;
 
 import java.util.ArrayList;
 import java.util.HashMap;
diff --git a/apps/optical/src/main/java/org/onlab/onos/optical/cfg/OpticalConfigProvider.java b/apps/optical/src/main/java/org/onlab/onos/optical/cfg/OpticalConfigProvider.java
index fd9def1..68db55a 100644
--- a/apps/optical/src/main/java/org/onlab/onos/optical/cfg/OpticalConfigProvider.java
+++ b/apps/optical/src/main/java/org/onlab/onos/optical/cfg/OpticalConfigProvider.java
@@ -58,7 +58,7 @@
  * operations.
  *
  */
-
+@Deprecated
 @JsonIgnoreProperties(ignoreUnknown = true)
 //@Component(immediate = true)
 public class OpticalConfigProvider extends AbstractProvider implements DeviceProvider, LinkProvider {
diff --git a/apps/optical/src/main/java/org/onlab/onos/optical/cfg/OpticalLinkDescription.java b/apps/optical/src/main/java/org/onlab/onos/optical/cfg/OpticalLinkDescription.java
index 6cccfff..7e289f0 100644
--- a/apps/optical/src/main/java/org/onlab/onos/optical/cfg/OpticalLinkDescription.java
+++ b/apps/optical/src/main/java/org/onlab/onos/optical/cfg/OpticalLinkDescription.java
@@ -22,6 +22,7 @@
 /**
  * Public class corresponding to JSON described data model.
  */
+@Deprecated
 public class OpticalLinkDescription {
     protected String type;
     protected Boolean allowed;
diff --git a/apps/optical/src/main/java/org/onlab/onos/optical/cfg/OpticalNetworkConfig.java b/apps/optical/src/main/java/org/onlab/onos/optical/cfg/OpticalNetworkConfig.java
index 4116463..ac2b4f3 100644
--- a/apps/optical/src/main/java/org/onlab/onos/optical/cfg/OpticalNetworkConfig.java
+++ b/apps/optical/src/main/java/org/onlab/onos/optical/cfg/OpticalNetworkConfig.java
@@ -24,6 +24,7 @@
 /**
  * Public class corresponding to JSON described data model.
  */
+@Deprecated
 public class OpticalNetworkConfig {
     protected static final Logger log = LoggerFactory.getLogger(OpticalNetworkConfig.class);
 
diff --git a/apps/optical/src/main/java/org/onlab/onos/optical/cfg/OpticalSwitchDescription.java b/apps/optical/src/main/java/org/onlab/onos/optical/cfg/OpticalSwitchDescription.java
index 8c73e2d..9c6bbad 100644
--- a/apps/optical/src/main/java/org/onlab/onos/optical/cfg/OpticalSwitchDescription.java
+++ b/apps/optical/src/main/java/org/onlab/onos/optical/cfg/OpticalSwitchDescription.java
@@ -23,6 +23,7 @@
 /**
  * Public class corresponding to JSON described data model.
  */
+@Deprecated
 public class OpticalSwitchDescription {
     protected String name;
     protected long dpid;
diff --git a/apps/optical/src/main/java/org/onlab/onos/optical/cfg/PktOptLink.java b/apps/optical/src/main/java/org/onlab/onos/optical/cfg/PktOptLink.java
index f76a058..fb1d44b 100644
--- a/apps/optical/src/main/java/org/onlab/onos/optical/cfg/PktOptLink.java
+++ b/apps/optical/src/main/java/org/onlab/onos/optical/cfg/PktOptLink.java
@@ -18,6 +18,7 @@
 /**
  * Packet-optical link Java data object.
  */
+@Deprecated
 class PktOptLink {
     private String srcNodeName;
     private String snkNodeName;
diff --git a/apps/optical/src/main/java/org/onlab/onos/optical/cfg/Roadm.java b/apps/optical/src/main/java/org/onlab/onos/optical/cfg/Roadm.java
index eb09360..0367ad2 100644
--- a/apps/optical/src/main/java/org/onlab/onos/optical/cfg/Roadm.java
+++ b/apps/optical/src/main/java/org/onlab/onos/optical/cfg/Roadm.java
@@ -18,6 +18,7 @@
 /**
  * ROADM java data object converted from a JSON file.
  */
+@Deprecated
 class Roadm {
     private String name;
     private String nodeID;
diff --git a/apps/optical/src/main/java/org/onlab/onos/optical/cfg/WdmLink.java b/apps/optical/src/main/java/org/onlab/onos/optical/cfg/WdmLink.java
index 424d49a..704b0c8 100644
--- a/apps/optical/src/main/java/org/onlab/onos/optical/cfg/WdmLink.java
+++ b/apps/optical/src/main/java/org/onlab/onos/optical/cfg/WdmLink.java
@@ -18,6 +18,7 @@
 /**
  * WDM Link Java data object converted from a JSON file.
  */
+@Deprecated
 class WdmLink {
     private String srcNodeName;
     private String snkNodeName;
diff --git a/apps/optical/src/main/java/org/onlab/onos/optical/cfg/package-info.java b/apps/optical/src/main/java/org/onlab/onos/optical/cfg/package-info.java
new file mode 100644
index 0000000..678aff1
--- /dev/null
+++ b/apps/optical/src/main/java/org/onlab/onos/optical/cfg/package-info.java
@@ -0,0 +1,21 @@
+/*
+ * Copyright 2014 Open Networking Laboratory
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Packet/Optical configuration.
+ */
+@Deprecated
+package org.onlab.onos.optical.cfg;
\ No newline at end of file
diff --git a/apps/optical/src/main/java/org/onlab/onos/optical/package-info.java b/apps/optical/src/main/java/org/onlab/onos/optical/package-info.java
new file mode 100644
index 0000000..561a405
--- /dev/null
+++ b/apps/optical/src/main/java/org/onlab/onos/optical/package-info.java
@@ -0,0 +1,20 @@
+/*
+ * Copyright 2014 Open Networking Laboratory
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Packet/Optical application.
+ */
+package org.onlab.onos.optical;
\ No newline at end of file
diff --git a/apps/optical/src/main/java/org/onlab/onos/optical/testapp/package-info.java b/apps/optical/src/main/java/org/onlab/onos/optical/testapp/package-info.java
new file mode 100644
index 0000000..4af0834
--- /dev/null
+++ b/apps/optical/src/main/java/org/onlab/onos/optical/testapp/package-info.java
@@ -0,0 +1,20 @@
+/*
+ * Copyright 2014 Open Networking Laboratory
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Packet/Optical sample forwarding applications.
+ */
+package org.onlab.onos.optical.testapp;
\ No newline at end of file
diff --git a/apps/sdnip/src/main/java/org/onlab/onos/sdnip/cli/package-info.java b/apps/sdnip/src/main/java/org/onlab/onos/sdnip/cli/package-info.java
new file mode 100644
index 0000000..2fbd1e9
--- /dev/null
+++ b/apps/sdnip/src/main/java/org/onlab/onos/sdnip/cli/package-info.java
@@ -0,0 +1,20 @@
+/*
+ * Copyright 2014 Open Networking Laboratory
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * SDN-IP command-line handlers.
+ */
+package org.onlab.onos.sdnip.cli;
\ No newline at end of file
diff --git a/core/api/src/main/java/org/onlab/onos/net/Link.java b/core/api/src/main/java/org/onlab/onos/net/Link.java
index cce34fa..f091dc4 100644
--- a/core/api/src/main/java/org/onlab/onos/net/Link.java
+++ b/core/api/src/main/java/org/onlab/onos/net/Link.java
@@ -94,13 +94,15 @@
 
     /**
      * Returns the link state.
+     *
+     * @return link state
      */
     State state();
 
     /**
      * Indicates if the link is to be considered durable.
      *
-     * @return link state
+     * @return true if the link is durable
      */
     boolean isDurable();
 
diff --git a/docs/pom.xml b/docs/pom.xml
index b49f157..3392e73 100644
--- a/docs/pom.xml
+++ b/docs/pom.xml
@@ -92,7 +92,7 @@
                         <group>
                             <title>Sample Applications</title>
                             <packages>
-                                org.onlab.onos.tvue:org.onlab.onos.fwd:org.onlab.onos.ifwd:org.onlab.onos.mobility:org.onlab.onos.proxyarp:org.onlab.onos.foo:org.onlab.onos.calendar:org.onlab.onos.optical.*:org.onlab.onos.sdnip:org.onlab.onos.sdnip.*:org.onlab.onos.config
+                                org.onlab.onos.tvue:org.onlab.onos.fwd:org.onlab.onos.ifwd:org.onlab.onos.mobility:org.onlab.onos.proxyarp:org.onlab.onos.foo:org.onlab.onos.calendar:org.onlab.onos.optical:org.onlab.onos.optical.*:org.onlab.onos.sdnip:org.onlab.onos.sdnip.*:org.onlab.onos.config
                             </packages>
                         </group>
                         <group>