Deprecate potentially error prone constructor methods

Change-Id: I82d95c27dc7c4b1a6dcf5cc48a1c7583b5e30e2c
diff --git a/providers/bgp/topology/src/main/java/org/onosproject/provider/bgp/topology/impl/BgpTopologyProvider.java b/providers/bgp/topology/src/main/java/org/onosproject/provider/bgp/topology/impl/BgpTopologyProvider.java
index 7200c5c..806c961 100644
--- a/providers/bgp/topology/src/main/java/org/onosproject/provider/bgp/topology/impl/BgpTopologyProvider.java
+++ b/providers/bgp/topology/src/main/java/org/onosproject/provider/bgp/topology/impl/BgpTopologyProvider.java
@@ -299,7 +299,8 @@
                 portList = new ArrayList<>();
             }
             if (portNumber != null) {
-                PortDescription portDescriptions = new DefaultPortDescription(portNumber, true);
+                PortDescription portDescriptions = DefaultPortDescription.builder().withPortNumber(portNumber)
+                        .isEnabled(true).build();
                 portList.add(portDescriptions);
             }
 
diff --git a/providers/isis/topology/src/main/java/org/onosproject/provider/isis/topology/impl/IsisTopologyProvider.java b/providers/isis/topology/src/main/java/org/onosproject/provider/isis/topology/impl/IsisTopologyProvider.java
index 06c7eb1..05f87bb 100644
--- a/providers/isis/topology/src/main/java/org/onosproject/provider/isis/topology/impl/IsisTopologyProvider.java
+++ b/providers/isis/topology/src/main/java/org/onosproject/provider/isis/topology/impl/IsisTopologyProvider.java
@@ -231,7 +231,8 @@
             portList = new ArrayList<>();
         }
         if (portNumber != null) {
-            PortDescription portDescriptions = new DefaultPortDescription(portNumber, true);
+            PortDescription portDescriptions = DefaultPortDescription.builder()
+                    .withPortNumber(portNumber).isEnabled(true).build();
             portList.add(portDescriptions);
         }
         portMap.put(deviceId, portList);
diff --git a/providers/netconf/device/src/main/java/org/onosproject/provider/netconf/device/impl/NetconfDeviceProvider.java b/providers/netconf/device/src/main/java/org/onosproject/provider/netconf/device/impl/NetconfDeviceProvider.java
index 9cf81d0..f675dbc 100644
--- a/providers/netconf/device/src/main/java/org/onosproject/provider/netconf/device/impl/NetconfDeviceProvider.java
+++ b/providers/netconf/device/src/main/java/org/onosproject/provider/netconf/device/impl/NetconfDeviceProvider.java
@@ -356,9 +356,14 @@
                         Port port = deviceService.getPort(deviceId, portNumber);
                         //rebuilding port description with admin state changed.
                         providerService.portStatusChanged(deviceId,
-                                new DefaultPortDescription(portNumber, enable, false,
-                                        port.type(), port.portSpeed(),
-                                        (SparseAnnotations) port.annotations()));
+                                DefaultPortDescription.builder()
+                                        .withPortNumber(portNumber)
+                                        .isEnabled(enable)
+                                        .isRemoved(false)
+                                        .type(port.type())
+                                        .portSpeed(port.portSpeed())
+                                        .annotations((SparseAnnotations) port.annotations())
+                                        .build());
                     } else {
                         log.warn("Your device {} port {} status can't be changed to {}",
                                 deviceId, portNumber, enable);
diff --git a/providers/netconf/device/src/test/java/org/onosproject/provider/netconf/device/impl/NetconfDeviceProviderTest.java b/providers/netconf/device/src/test/java/org/onosproject/provider/netconf/device/impl/NetconfDeviceProviderTest.java
index c16de45..29d16ba 100644
--- a/providers/netconf/device/src/test/java/org/onosproject/provider/netconf/device/impl/NetconfDeviceProviderTest.java
+++ b/providers/netconf/device/src/test/java/org/onosproject/provider/netconf/device/impl/NetconfDeviceProviderTest.java
@@ -286,7 +286,8 @@
 
     private void prepareMocks(int count) {
         for (int i = 1; i <= count; i++) {
-            deviceDescription.portDescriptions.add(new DefaultPortDescription(PortNumber.portNumber(i), true));
+            deviceDescription.portDescriptions.add(DefaultPortDescription.builder()
+                    .withPortNumber(PortNumber.portNumber(i)).isEnabled(true).build());
         }
     }
 
diff --git a/providers/null/src/main/java/org/onosproject/provider/nil/TopologySimulator.java b/providers/null/src/main/java/org/onosproject/provider/nil/TopologySimulator.java
index 98efd7c..775a2d7 100644
--- a/providers/null/src/main/java/org/onosproject/provider/nil/TopologySimulator.java
+++ b/providers/null/src/main/java/org/onosproject/provider/nil/TopologySimulator.java
@@ -396,8 +396,12 @@
     protected List<PortDescription> buildPorts(int portCount) {
         List<PortDescription> ports = Lists.newArrayList();
         for (int i = 1; i <= portCount; i++) {
-            ports.add(new DefaultPortDescription(PortNumber.portNumber(i), true,
-                                                 Port.Type.COPPER, 0));
+            ports.add(DefaultPortDescription.builder()
+                    .withPortNumber(PortNumber.portNumber(i))
+                    .isEnabled(true)
+                    .type(Port.Type.COPPER)
+                    .portSpeed(0)
+                    .build());
         }
         return ports;
     }
diff --git a/providers/openflow/device/src/main/java/org/onosproject/provider/of/device/impl/OpenFlowDeviceProvider.java b/providers/openflow/device/src/main/java/org/onosproject/provider/of/device/impl/OpenFlowDeviceProvider.java
index cfaf107..fad323e 100644
--- a/providers/openflow/device/src/main/java/org/onosproject/provider/of/device/impl/OpenFlowDeviceProvider.java
+++ b/providers/openflow/device/src/main/java/org/onosproject/provider/of/device/impl/OpenFlowDeviceProvider.java
@@ -1163,11 +1163,13 @@
             if (ether.isPresent()) {
                 // ethernet port
                 // TODO parse other part of OFPortDescPropEthernet if necessary
-                return new DefaultPortDescription(portNo,
-                                                  enabled,
-                                                  COPPER,
-                                                  portSpeed(port),
-                                                  annotations.build());
+                return DefaultPortDescription.builder()
+                        .withPortNumber(portNo)
+                        .isEnabled(enabled)
+                        .type(COPPER)
+                        .portSpeed(portSpeed(port))
+                        .annotations(annotations.build())
+                        .build();
             }
 
             Optional<OFPortDescPropOptical> optical = port.getProperties().stream()
@@ -1237,19 +1239,23 @@
 
                 // TODO How to determine appropriate port type?
 
-                return new DefaultPortDescription(portNo,
-                                                  enabled,
-                                                  FIBER,
-                                                  portSpeed(port),
-                                                  annotations.build());
+                return DefaultPortDescription.builder()
+                        .withPortNumber(portNo)
+                        .isEnabled(enabled)
+                        .type(FIBER)
+                        .portSpeed(portSpeed(port))
+                        .annotations(annotations.build())
+                        .build();
             }
 
             // fall back default
-            return new DefaultPortDescription(portNo,
-                                              enabled,
-                                              COPPER,
-                                              portSpeed(port),
-                                              annotations.build());
+            return DefaultPortDescription.builder()
+                    .withPortNumber(portNo)
+                    .isEnabled(enabled)
+                    .type(COPPER)
+                    .portSpeed(portSpeed(port))
+                    .annotations(annotations.build())
+                    .build();
 
         }
 
@@ -1272,8 +1278,13 @@
             SparseAnnotations annotations = makePortAnnotation(port.getName(),
                                                                port.getHwAddr().toString(),
                                                                adminDown).build();
-            return new DefaultPortDescription(portNo, enabled, type,
-                                              portSpeed(port), annotations);
+            return DefaultPortDescription.builder()
+                    .withPortNumber(portNo)
+                    .isEnabled(enabled)
+                    .type(type)
+                    .portSpeed(portSpeed(port))
+                    .annotations(annotations)
+                    .build();
         }
 
         /**
@@ -1349,7 +1360,13 @@
                     break;
             }
 
-            return new DefaultPortDescription(portNo, enabled, FIBER, 0, annotations);
+            return DefaultPortDescription.builder()
+                    .withPortNumber(portNo)
+                    .isEnabled(enabled)
+                    .type(FIBER)
+                    .portSpeed(0)
+                    .annotations(annotations)
+                    .build();
         }
 
         /**
diff --git a/providers/ospf/topology/src/main/java/org/onosproject/provider/ospf/topology/impl/OspfTopologyProvider.java b/providers/ospf/topology/src/main/java/org/onosproject/provider/ospf/topology/impl/OspfTopologyProvider.java
index 9555f99..f77cb3e 100644
--- a/providers/ospf/topology/src/main/java/org/onosproject/provider/ospf/topology/impl/OspfTopologyProvider.java
+++ b/providers/ospf/topology/src/main/java/org/onosproject/provider/ospf/topology/impl/OspfTopologyProvider.java
@@ -211,11 +211,13 @@
             }
             //Updating ports of the link
             List<PortDescription> srcPortDescriptions = new LinkedList<>();
-            srcPortDescriptions.add(new DefaultPortDescription(linkDes.src().port(), true));
+            srcPortDescriptions.add(DefaultPortDescription.builder()
+                    .withPortNumber(linkDes.src().port()).isEnabled(true).build());
             deviceProviderService.updatePorts(linkDes.src().deviceId(), srcPortDescriptions);
 
             List<PortDescription> dstPortDescriptions = new LinkedList<>();
-            dstPortDescriptions.add(new DefaultPortDescription(linkDes.dst().port(), true));
+            dstPortDescriptions.add(DefaultPortDescription.builder()
+                    .withPortNumber(linkDes.dst().port()).isEnabled(true).build());
             deviceProviderService.updatePorts(linkDes.dst().deviceId(), dstPortDescriptions);
             linkProviderService.linkDetected(linkDes);
         }
@@ -229,11 +231,13 @@
             LinkDescription linkDes = buildLinkDes(ospfRouter, ospfLinkTed);
             //Updating ports of the link
             List<PortDescription> srcPortDescriptions = new LinkedList<>();
-            srcPortDescriptions.add(new DefaultPortDescription(linkDes.src().port(), true));
+            srcPortDescriptions.add(DefaultPortDescription.builder()
+                    .withPortNumber(linkDes.src().port()).isEnabled(true).build());
             deviceProviderService.updatePorts(linkDes.src().deviceId(), srcPortDescriptions);
 
             List<PortDescription> dstPortDescriptions = new LinkedList<>();
-            dstPortDescriptions.add(new DefaultPortDescription(linkDes.dst().port(), true));
+            dstPortDescriptions.add(DefaultPortDescription.builder()
+                    .withPortNumber(linkDes.dst().port()).isEnabled(true).build());
             deviceProviderService.updatePorts(linkDes.dst().deviceId(), dstPortDescriptions);
             linkProviderService.linkVanished(linkDes);
         }
@@ -243,4 +247,4 @@
             log.info("Router changed is not supported currently");
         }
     }
-}
\ No newline at end of file
+}
diff --git a/providers/ovsdb/device/src/test/java/org/onosproject/ovsdb/providers/device/OvsdbDeviceProviderTest.java b/providers/ovsdb/device/src/test/java/org/onosproject/ovsdb/providers/device/OvsdbDeviceProviderTest.java
index ad37efc..ec0bba6 100644
--- a/providers/ovsdb/device/src/test/java/org/onosproject/ovsdb/providers/device/OvsdbDeviceProviderTest.java
+++ b/providers/ovsdb/device/src/test/java/org/onosproject/ovsdb/providers/device/OvsdbDeviceProviderTest.java
@@ -139,7 +139,8 @@
 
     private void prepareMocks(int count) {
         for (int i = 1; i <= count; i++) {
-            deviceDescription.portDescriptions.add(new DefaultPortDescription(PortNumber.portNumber(i), true));
+            deviceDescription.portDescriptions.add(DefaultPortDescription.builder()
+                    .withPortNumber(PortNumber.portNumber(i)).isEnabled(true).build());
         }
     }
 
diff --git a/providers/pcep/topology/src/main/java/org/onosproject/provider/pcep/topology/impl/PcepTopologyProvider.java b/providers/pcep/topology/src/main/java/org/onosproject/provider/pcep/topology/impl/PcepTopologyProvider.java
index 02d5664..c4f6a50 100644
--- a/providers/pcep/topology/src/main/java/org/onosproject/provider/pcep/topology/impl/PcepTopologyProvider.java
+++ b/providers/pcep/topology/src/main/java/org/onosproject/provider/pcep/topology/impl/PcepTopologyProvider.java
@@ -163,9 +163,13 @@
         if (port != null) {
             SparseAnnotations annotations = DefaultAnnotations.builder()
                     .putAll(port.annotations()).build();
-            portList.add(new DefaultPortDescription(port.number(), port.isEnabled(),
-                                                    port.type(), port.portSpeed(),
-                                                    annotations));
+            portList.add(DefaultPortDescription.builder()
+                    .withPortNumber(port.number())
+                    .isEnabled(port.isEnabled())
+                    .type(port.type())
+                    .portSpeed(port.portSpeed())
+                    .annotations(annotations)
+                    .build());
         }
 
         portMap.put(dpid.value(), portList);