Adding first fallback provider for flow rule subsystem.
Fixing onos-check-apps.
Change-Id: Ic8c2bac4403bb7a49813826262706e857932b6c0
diff --git a/core/api/src/main/java/org/onosproject/net/DefaultDevice.java b/core/api/src/main/java/org/onosproject/net/DefaultDevice.java
index 401740a..7d59dbc 100644
--- a/core/api/src/main/java/org/onosproject/net/DefaultDevice.java
+++ b/core/api/src/main/java/org/onosproject/net/DefaultDevice.java
@@ -16,14 +16,16 @@
package org.onosproject.net;
import org.onlab.packet.ChassisId;
+import org.onosproject.net.driver.Behaviour;
+import org.onosproject.net.driver.DefaultDriverHandler;
import org.onosproject.net.driver.Driver;
import org.onosproject.net.driver.DriverData;
+import org.onosproject.net.driver.HandlerBehaviour;
import org.onosproject.net.provider.ProviderId;
import java.util.Objects;
import static com.google.common.base.MoreObjects.toStringHelper;
-import static org.onlab.util.Tools.nullIsNotFound;
/**
* Default infrastructure device model implementation.
@@ -108,6 +110,15 @@
return chassisId;
}
+ @Override
+ public <B extends Behaviour> B as(Class<B> projectionClass) {
+ if (HandlerBehaviour.class.isAssignableFrom(projectionClass)) {
+ bindAndCheckDriver();
+ return driver().createBehaviour(new DefaultDriverHandler(asData()), projectionClass);
+ }
+ return super.as(projectionClass);
+ }
+
/**
* Returns self as an immutable driver data instance.
*
@@ -121,8 +132,7 @@
protected Driver locateDriver() {
Driver driver = super.locateDriver();
return driver != null ? driver :
- nullIsNotFound(driverService().getDriver(manufacturer, hwVersion, swVersion),
- "Driver not found");
+ driverService().getDriver(manufacturer, hwVersion, swVersion);
}
/**