diff --git a/protocols/bgp/ctl/src/main/java/org/onosproject/bgp/controller/impl/BgpSelectionAlgo.java b/protocols/bgp/ctl/src/main/java/org/onosproject/bgp/controller/impl/BgpSelectionAlgo.java
index d8f6751..6e82344 100644
--- a/protocols/bgp/ctl/src/main/java/org/onosproject/bgp/controller/impl/BgpSelectionAlgo.java
+++ b/protocols/bgp/ctl/src/main/java/org/onosproject/bgp/controller/impl/BgpSelectionAlgo.java
@@ -15,20 +15,20 @@
  */
 package org.onosproject.bgp.controller.impl;
 
-import java.util.Comparator;
-import java.util.List;
-import java.util.ListIterator;
-
 import org.onosproject.bgpio.protocol.linkstate.PathAttrNlriDetailsLocalRib;
 import org.onosproject.bgpio.types.AsPath;
 import org.onosproject.bgpio.types.BgpValueType;
 import org.onosproject.bgpio.types.LocalPref;
 import org.onosproject.bgpio.types.Med;
 import org.onosproject.bgpio.types.Origin;
-import org.onosproject.bgpio.types.Origin.ORIGINTYPE;
+import org.onosproject.bgpio.types.Origin.OriginType;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import java.util.Comparator;
+import java.util.List;
+import java.util.ListIterator;
+
 /**
  * Implementation of BGP best path Selection process.
  */
@@ -122,13 +122,13 @@
      * @return object with lowest origin value
      */
     int compareOrigin(Origin obj1Origin, Origin obj2Origin) {
-        if (obj1Origin.origin() == ORIGINTYPE.IGP) {
+        if (obj1Origin.origin() == OriginType.IGP) {
             return 1;
         }
-        if (obj2Origin.origin() == ORIGINTYPE.IGP) {
+        if (obj2Origin.origin() == OriginType.IGP) {
             return -1;
         }
-        if (obj1Origin.origin() == ORIGINTYPE.EGP) {
+        if (obj1Origin.origin() == OriginType.EGP) {
             return 1;
         } else {
             return -1;
@@ -239,4 +239,4 @@
              }
         }
     }
-}
\ No newline at end of file
+}
