[ONOS-5925] Removing 1.6 deprecated optical ports

Change-Id: I2c8583323e6c99d08f3568a81941036fa8e949d8
diff --git a/providers/pcep/BUCK b/providers/pcep/BUCK
index ce77c96..3d57719 100644
--- a/providers/pcep/BUCK
+++ b/providers/pcep/BUCK
@@ -14,6 +14,6 @@
     url = 'http://onosproject.org',
     included_bundles = BUNDLES,
     description = 'PCEP protocol providers root.',
-    required_apps = [ 'org.onosproject.pcep-api' ],
+    required_apps = [ 'org.onosproject.pcep-api', 'org.onosproject.optical-model' ],
 )
 
diff --git a/providers/pcep/topology/BUCK b/providers/pcep/topology/BUCK
index 5b5078d..6d4b0bd 100644
--- a/providers/pcep/topology/BUCK
+++ b/providers/pcep/topology/BUCK
@@ -7,6 +7,7 @@
     '//protocols/pcep/api:onos-protocols-pcep-api',
     '//protocols/pcep/pcepio:onos-protocols-pcep-pcepio',
     '//core/api:onos-api-tests',
+    '//apps/optical-model:onos-apps-optical-model',
 ]
 
 osgi_jar_with_tests (
diff --git a/providers/pcep/topology/pom.xml b/providers/pcep/topology/pom.xml
index cb108f2..0e3f12b 100644
--- a/providers/pcep/topology/pom.xml
+++ b/providers/pcep/topology/pom.xml
@@ -38,5 +38,10 @@
              <classifier>tests</classifier>
              <scope>test</scope>
         </dependency>
-    </dependencies>
+         <dependency>
+             <groupId>org.onosproject</groupId>
+             <artifactId>onos-optical-model</artifactId>
+             <version>${project.version}</version>
+         </dependency>
+     </dependencies>
 </project>
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 9a445fb..6c305ca 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
@@ -26,14 +26,12 @@
 import org.onosproject.net.Device;
 import org.onosproject.net.DeviceId;
 import org.onosproject.net.Link.Type;
+import org.onosproject.net.SparseAnnotations;
 import org.onosproject.net.config.ConfigFactory;
 import org.onosproject.net.config.NetworkConfigRegistry;
 import org.onosproject.net.config.NetworkConfigService;
 import org.onosproject.net.config.basics.SubjectFactories;
 import org.onosproject.net.MastershipRole;
-import org.onosproject.net.OchPort;
-import org.onosproject.net.OduCltPort;
-import org.onosproject.net.OmsPort;
 import org.onosproject.net.Port;
 import org.onosproject.net.PortNumber;
 import org.onosproject.net.device.DefaultDeviceDescription;
@@ -43,9 +41,6 @@
 import org.onosproject.net.device.DeviceProviderRegistry;
 import org.onosproject.net.device.DeviceProviderService;
 import org.onosproject.net.device.DeviceService;
-import org.onosproject.net.device.OchPortDescription;
-import org.onosproject.net.device.OduCltPortDescription;
-import org.onosproject.net.device.OmsPortDescription;
 import org.onosproject.net.device.PortDescription;
 import org.onosproject.net.link.DefaultLinkDescription;
 import org.onosproject.net.link.LinkDescription;
@@ -58,7 +53,6 @@
 import org.onosproject.pcep.api.PcepController;
 import org.onosproject.pcep.api.PcepDpid;
 import org.onosproject.pcep.api.PcepLink;
-import org.onosproject.pcep.api.PcepLink.PortType;
 import org.onosproject.pcep.api.PcepLinkListener;
 import org.onosproject.pcep.api.PcepOperator.OperationType;
 import org.onosproject.pcep.api.PcepSwitch;
@@ -157,8 +151,7 @@
     }
 
     private List<PortDescription> buildPortDescriptions(PcepDpid dpid,
-                                                        Port port,
-                                                        PortType portType) {
+                                                        Port port) {
 
         List<PortDescription> portList;
 
@@ -167,41 +160,18 @@
         } else {
             portList = new ArrayList<>();
         }
-        if (port != null && portType != null) {
-            portList.add(buildPortDescription(port, portType));
+        if (port != null) {
+            SparseAnnotations annotations = DefaultAnnotations.builder()
+                    .putAll(port.annotations()).build();
+            portList.add(new DefaultPortDescription(port.number(), port.isEnabled(),
+                                                    port.type(), port.portSpeed(),
+                                                    annotations));
         }
 
         portMap.put(dpid.value(), portList);
         return portList;
     }
 
-    private PortDescription buildPortDescription(Port port, PortType portType) {
-        PortDescription portDescription;
-
-        switch (portType) {
-            case OCH_PORT:
-                OchPort ochp = (OchPort) port;
-                portDescription = new OchPortDescription(ochp.number(), ochp.isEnabled(),
-                        ochp.signalType(), ochp.isTunable(),
-                        ochp.lambda());
-                break;
-            case ODU_PORT:
-                OduCltPort odup = (OduCltPort) port;
-                portDescription = new OduCltPortDescription(odup.number(), odup.isEnabled(),
-                        odup.signalType());
-                break;
-            case OMS_PORT:
-                OmsPort op = (OmsPort) port;
-                portDescription = new OmsPortDescription(op.number(), op.isEnabled(), op.minFrequency(),
-                        op.maxFrequency(), op.grid());
-                break;
-            default:
-                portDescription = new DefaultPortDescription(port.number(), port.isEnabled());
-                break;
-        }
-        return portDescription;
-    }
-
     /**
      * Build a link description from a pcep link.
      *
@@ -217,12 +187,12 @@
         deviceProviderService
                 .updatePorts(srcDeviceID,
                         buildPortDescriptions(pceLink.linkSrcDeviceID(),
-                                pceLink.linkSrcPort(), pceLink.portType()));
+                                pceLink.linkSrcPort()));
 
         deviceProviderService
                 .updatePorts(dstDeviceID,
                         buildPortDescriptions(pceLink.linkDstDeviceId(),
-                                pceLink.linkDstPort(), pceLink.portType()));
+                                pceLink.linkDstPort()));
 
         ConnectPoint src = new ConnectPoint(srcDeviceID, pceLink.linkSrcPort().number());