Support for OTN using optical circuit intents.
Refined DeviceResourceService.
Change-Id: I489f368a0fac5f4a8d0a1a1cb716f845558db35e
diff --git a/core/net/src/main/java/org/onosproject/net/resource/impl/DeviceResourceManager.java b/core/net/src/main/java/org/onosproject/net/resource/impl/DeviceResourceManager.java
index 71fa9d5..c9437de 100644
--- a/core/net/src/main/java/org/onosproject/net/resource/impl/DeviceResourceManager.java
+++ b/core/net/src/main/java/org/onosproject/net/resource/impl/DeviceResourceManager.java
@@ -24,13 +24,10 @@
import org.onosproject.net.Port;
import org.onosproject.net.intent.Intent;
import org.onosproject.net.intent.IntentId;
-import org.onosproject.net.intent.OpticalConnectivityIntent;
import org.onosproject.net.resource.device.DeviceResourceService;
import org.onosproject.net.resource.device.DeviceResourceStore;
import org.slf4j.Logger;
-import java.util.Arrays;
-import java.util.HashSet;
import java.util.Set;
import static com.google.common.base.Preconditions.checkNotNull;
@@ -59,28 +56,35 @@
}
@Override
- public Set<Port> requestPorts(Intent intent) {
+ public boolean requestPorts(Set<Port> ports, Intent intent) {
checkNotNull(intent);
- if (intent instanceof OpticalConnectivityIntent) {
- OpticalConnectivityIntent opticalIntent = (OpticalConnectivityIntent) intent;
- Set<Port> srcPorts = store.getFreePorts(opticalIntent.getSrc().deviceId());
- Set<Port> dstPorts = store.getFreePorts(opticalIntent.getDst().deviceId());
- Port srcPort = getTypedPort(srcPorts, Port.Type.OCH);
- Port dstPort = getTypedPort(dstPorts, Port.Type.OCH);
+ return store.allocatePorts(ports, intent.id());
+ }
- if (srcPort == null || dstPort == null) {
- return null;
- }
+ @Override
+ public Set<Port> getAllocations(IntentId intentId) {
+ return store.getAllocations(intentId);
+ }
- Set<Port> allocPorts = new HashSet(Arrays.asList(srcPort, dstPort));
+ @Override
+ public IntentId getAllocations(Port port) {
+ return store.getAllocations(port);
+ }
- store.allocatePorts(allocPorts, intent.id());
+ @Override
+ public void releaseMapping(IntentId keyIntentId, IntentId valIntentId) {
+ store.releaseMapping(keyIntentId, valIntentId);
+ }
- return allocPorts;
- }
+ @Override
+ public boolean requestMapping(IntentId keyIntentId, IntentId valIntentId) {
+ return store.allocateMapping(keyIntentId, valIntentId);
+ }
- return null;
+ @Override
+ public Set<IntentId> getMapping(IntentId intentId) {
+ return store.getMapping(intentId);
}
@Override