[ONOS-4164] todo removal

Change-Id: Iaed7a5d2960529ecd548897b546a8804bbc9da27
diff --git a/apps/pce/app/src/main/java/org/onosproject/pce/cli/PceUpdatePathCommand.java b/apps/pce/app/src/main/java/org/onosproject/pce/cli/PceUpdatePathCommand.java
index 5ea8686..6ef5fc1 100644
--- a/apps/pce/app/src/main/java/org/onosproject/pce/cli/PceUpdatePathCommand.java
+++ b/apps/pce/app/src/main/java/org/onosproject/pce/cli/PceUpdatePathCommand.java
@@ -24,8 +24,12 @@
 import org.apache.karaf.shell.commands.Command;
 import org.apache.karaf.shell.commands.Option;
 
+import org.onlab.util.DataRateUnit;
 import org.onosproject.cli.AbstractShellCommand;
+import org.onosproject.incubator.net.tunnel.TunnelId;
+import org.onosproject.net.intent.constraint.BandwidthConstraint;
 import org.onosproject.net.intent.Constraint;
+import org.onosproject.pce.pceservice.constraint.CostConstraint;
 import org.onosproject.pce.pceservice.api.PceService;
 
 import org.slf4j.Logger;
@@ -56,23 +60,25 @@
         PceService service = get(PceService.class);
 
         List<Constraint> constrntList = new LinkedList<>();
-        // Assign cost
-        if (cost != 0) {
-            //TODO: need to uncomment below lines once CostConstraint is ready
-            //CostConstraint.Type costType = CostConstraint.Type.values()[Integer.valueOf(cost)];
-            //constrntList.add(CostConstraint.of(costType));
-        }
-
         // Assign bandwidth. Data rate unit is in Bps.
         if (bandwidth != 0.0) {
-            //TODO: need to uncomment below line once BandwidthConstraint is ready
-            //constrntList.add(LocalBandwidthConstraint.of(Double.valueOf(bandwidth), DataRateUnit.valueOf("BPS")));
+            constrntList.add(BandwidthConstraint.of(Double.valueOf(bandwidth), DataRateUnit.valueOf("BPS")));
         }
 
-        //TODO: need to uncomment below lines once updatePath method is added to PceService
-        //if (null == service.updatePath(PcePathId.of(id), constrntList)) {
-        //    error("Path updation failed.");
-        //    return;
-        //}
+        // Assign cost
+        if (cost != 0) {
+            // Cost validation
+            if ((cost < 1) || (cost > 2)) {
+                error("The cost attribute value is either IGP cost(1) or TE cost(2).");
+                return;
+            }
+            CostConstraint.Type costType = CostConstraint.Type.values()[cost - 1];
+            constrntList.add(CostConstraint.of(costType));
+        }
+
+        if (!service.updatePath(TunnelId.valueOf(id), constrntList)) {
+            error("Path updation failed.");
+            return;
+        }
     }
 }