Refactoring abstract driver loader to assure that default drivers get loaded first by default.

Change-Id: I2fd213d8f49b6390ec8f005795bb95661aaee793
diff --git a/drivers/corsa/src/main/java/org/onosproject/drivers/corsa/CorsaDriversLoader.java b/drivers/corsa/src/main/java/org/onosproject/drivers/corsa/CorsaDriversLoader.java
index 33eb06e..b2ad9ee 100644
--- a/drivers/corsa/src/main/java/org/onosproject/drivers/corsa/CorsaDriversLoader.java
+++ b/drivers/corsa/src/main/java/org/onosproject/drivers/corsa/CorsaDriversLoader.java
@@ -17,23 +17,13 @@
 package org.onosproject.drivers.corsa;
 
 import org.apache.felix.scr.annotations.Component;
-import org.apache.felix.scr.annotations.Reference;
-import org.apache.felix.scr.annotations.ReferenceCardinality;
 import org.onosproject.net.driver.AbstractDriverLoader;
-import org.onosproject.net.driver.DefaultDriverProviderService;
 
 /**
  * Loader for Corsa device drivers.
  */
 @Component(immediate = true)
 public class CorsaDriversLoader extends AbstractDriverLoader {
-
-    //This reference is needed to enforce loading of the default drivers before
-    //the corsa drivers at ONOS startup if corsa.drivers is specified
-    //in the ONOS_APPS variable.
-    @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
-    private DefaultDriverProviderService defaultDriverProviderService;
-
     public CorsaDriversLoader() {
         super("/corsa-drivers.xml");
     }
diff --git a/drivers/default/src/main/java/org/onosproject/driver/DefaultDriversLoader.java b/drivers/default/src/main/java/org/onosproject/driver/DefaultDriversLoader.java
index 12ee006..fbf41a4 100644
--- a/drivers/default/src/main/java/org/onosproject/driver/DefaultDriversLoader.java
+++ b/drivers/default/src/main/java/org/onosproject/driver/DefaultDriversLoader.java
@@ -18,7 +18,7 @@
 
 import org.apache.felix.scr.annotations.Component;
 import org.apache.felix.scr.annotations.Service;
-import org.onosproject.net.driver.AbstractDriverLoader;
+import org.onosproject.net.driver.AbstractIndependentDriverLoader;
 import org.onosproject.net.driver.DefaultDriverProviderService;
 
 /**
@@ -26,7 +26,8 @@
  */
 @Service
 @Component(immediate = true)
-public class DefaultDriversLoader extends AbstractDriverLoader implements DefaultDriverProviderService {
+public class DefaultDriversLoader extends AbstractIndependentDriverLoader
+        implements DefaultDriverProviderService {
     public DefaultDriversLoader() {
         super("/onos-drivers.xml");
     }