Committed by
Gerrit Code Review
Remove deprecated Flow Rule constructors
Change-Id: I2a078cbfbeb9db4a04ef1c59acde2fb45672a3cf
Showing
13 changed files
with
144 additions
and
195 deletions
| ... | @@ -127,11 +127,17 @@ public class LambdaForwarding { | ... | @@ -127,11 +127,17 @@ public class LambdaForwarding { |
| 127 | default: | 127 | default: |
| 128 | } | 128 | } |
| 129 | 129 | ||
| 130 | - TrafficTreatment treatement = tbuilder.build(); | 130 | + TrafficTreatment treatment = tbuilder.build(); |
| 131 | TrafficSelector selector = sbuilder.build(); | 131 | TrafficSelector selector = sbuilder.build(); |
| 132 | 132 | ||
| 133 | - FlowRule f = new DefaultFlowRule(device.id(), selector, | 133 | + FlowRule f = DefaultFlowRule.builder() |
| 134 | - treatement, 100, appId, 600, false); | 134 | + .forDevice(device.id()) |
| 135 | + .withSelector(selector) | ||
| 136 | + .withTreatment(treatment) | ||
| 137 | + .withPriority(100) | ||
| 138 | + .fromApp(appId) | ||
| 139 | + .makeTemporary(600) | ||
| 140 | + .build(); | ||
| 135 | 141 | ||
| 136 | flowRuleService.applyFlowRules(f); | 142 | flowRuleService.applyFlowRules(f); |
| 137 | 143 | ... | ... |
| ... | @@ -130,8 +130,14 @@ public class MPLSForwarding { | ... | @@ -130,8 +130,14 @@ public class MPLSForwarding { |
| 130 | TrafficTreatment treatement = tbuilder.build(); | 130 | TrafficTreatment treatement = tbuilder.build(); |
| 131 | TrafficSelector selector = sbuilder.build(); | 131 | TrafficSelector selector = sbuilder.build(); |
| 132 | 132 | ||
| 133 | - FlowRule f = new DefaultFlowRule(device.id(), selector, | 133 | + FlowRule f = DefaultFlowRule.builder() |
| 134 | - treatement, 100, appId, 600, false); | 134 | + .forDevice(device.id()) |
| 135 | + .withSelector(selector) | ||
| 136 | + .withTreatment(treatement) | ||
| 137 | + .withPriority(100) | ||
| 138 | + .fromApp(appId) | ||
| 139 | + .makeTemporary(600) | ||
| 140 | + .build(); | ||
| 135 | 141 | ||
| 136 | flowRuleService.applyFlowRules(f); | 142 | flowRuleService.applyFlowRules(f); |
| 137 | } | 143 | } | ... | ... |
| ... | @@ -15,15 +15,25 @@ | ... | @@ -15,15 +15,25 @@ |
| 15 | */ | 15 | */ |
| 16 | package org.onosproject.demo; | 16 | package org.onosproject.demo; |
| 17 | 17 | ||
| 18 | -import com.fasterxml.jackson.databind.JsonNode; | 18 | +import java.util.Collection; |
| 19 | -import com.fasterxml.jackson.databind.ObjectMapper; | 19 | +import java.util.Collections; |
| 20 | -import com.fasterxml.jackson.databind.node.ObjectNode; | 20 | +import java.util.HashSet; |
| 21 | -import com.google.common.base.Predicate; | 21 | +import java.util.Iterator; |
| 22 | -import com.google.common.base.Stopwatch; | 22 | +import java.util.LinkedList; |
| 23 | -import com.google.common.collect.FluentIterable; | 23 | +import java.util.List; |
| 24 | -import com.google.common.collect.Lists; | 24 | +import java.util.Objects; |
| 25 | -import com.google.common.collect.Sets; | 25 | +import java.util.Optional; |
| 26 | -import com.google.common.util.concurrent.ThreadFactoryBuilder; | 26 | +import java.util.Random; |
| 27 | +import java.util.Set; | ||
| 28 | +import java.util.concurrent.Callable; | ||
| 29 | +import java.util.concurrent.CountDownLatch; | ||
| 30 | +import java.util.concurrent.ExecutionException; | ||
| 31 | +import java.util.concurrent.ExecutorService; | ||
| 32 | +import java.util.concurrent.Executors; | ||
| 33 | +import java.util.concurrent.Future; | ||
| 34 | +import java.util.concurrent.TimeUnit; | ||
| 35 | +import java.util.concurrent.TimeoutException; | ||
| 36 | + | ||
| 27 | import org.apache.commons.lang.math.RandomUtils; | 37 | import org.apache.commons.lang.math.RandomUtils; |
| 28 | import org.apache.felix.scr.annotations.Activate; | 38 | import org.apache.felix.scr.annotations.Activate; |
| 29 | import org.apache.felix.scr.annotations.Component; | 39 | import org.apache.felix.scr.annotations.Component; |
| ... | @@ -47,6 +57,7 @@ import org.onosproject.net.device.DeviceService; | ... | @@ -47,6 +57,7 @@ import org.onosproject.net.device.DeviceService; |
| 47 | import org.onosproject.net.flow.DefaultFlowRule; | 57 | import org.onosproject.net.flow.DefaultFlowRule; |
| 48 | import org.onosproject.net.flow.DefaultTrafficSelector; | 58 | import org.onosproject.net.flow.DefaultTrafficSelector; |
| 49 | import org.onosproject.net.flow.DefaultTrafficTreatment; | 59 | import org.onosproject.net.flow.DefaultTrafficTreatment; |
| 60 | +import org.onosproject.net.flow.FlowRule; | ||
| 50 | import org.onosproject.net.flow.FlowRuleOperations; | 61 | import org.onosproject.net.flow.FlowRuleOperations; |
| 51 | import org.onosproject.net.flow.FlowRuleOperationsContext; | 62 | import org.onosproject.net.flow.FlowRuleOperationsContext; |
| 52 | import org.onosproject.net.flow.FlowRuleService; | 63 | import org.onosproject.net.flow.FlowRuleService; |
| ... | @@ -59,24 +70,15 @@ import org.onosproject.net.intent.Intent; | ... | @@ -59,24 +70,15 @@ import org.onosproject.net.intent.Intent; |
| 59 | import org.onosproject.net.intent.IntentService; | 70 | import org.onosproject.net.intent.IntentService; |
| 60 | import org.slf4j.Logger; | 71 | import org.slf4j.Logger; |
| 61 | 72 | ||
| 62 | -import java.util.Collection; | 73 | +import com.fasterxml.jackson.databind.JsonNode; |
| 63 | -import java.util.Collections; | 74 | +import com.fasterxml.jackson.databind.ObjectMapper; |
| 64 | -import java.util.HashSet; | 75 | +import com.fasterxml.jackson.databind.node.ObjectNode; |
| 65 | -import java.util.Iterator; | 76 | +import com.google.common.base.Predicate; |
| 66 | -import java.util.LinkedList; | 77 | +import com.google.common.base.Stopwatch; |
| 67 | -import java.util.List; | 78 | +import com.google.common.collect.FluentIterable; |
| 68 | -import java.util.Objects; | 79 | +import com.google.common.collect.Lists; |
| 69 | -import java.util.Optional; | 80 | +import com.google.common.collect.Sets; |
| 70 | -import java.util.Random; | 81 | +import com.google.common.util.concurrent.ThreadFactoryBuilder; |
| 71 | -import java.util.Set; | ||
| 72 | -import java.util.concurrent.Callable; | ||
| 73 | -import java.util.concurrent.CountDownLatch; | ||
| 74 | -import java.util.concurrent.ExecutionException; | ||
| 75 | -import java.util.concurrent.ExecutorService; | ||
| 76 | -import java.util.concurrent.Executors; | ||
| 77 | -import java.util.concurrent.Future; | ||
| 78 | -import java.util.concurrent.TimeUnit; | ||
| 79 | -import java.util.concurrent.TimeoutException; | ||
| 80 | 82 | ||
| 81 | import static org.slf4j.LoggerFactory.getLogger; | 83 | import static org.slf4j.LoggerFactory.getLogger; |
| 82 | 84 | ||
| ... | @@ -557,8 +559,14 @@ public class DemoInstaller implements DemoAPI { | ... | @@ -557,8 +559,14 @@ public class DemoInstaller implements DemoAPI { |
| 557 | 559 | ||
| 558 | 560 | ||
| 559 | int randomPriority = RandomUtils.nextInt(); | 561 | int randomPriority = RandomUtils.nextInt(); |
| 560 | - DefaultFlowRule f = new DefaultFlowRule(d.id(), sbuilder.build(), treatment, | 562 | + FlowRule f = DefaultFlowRule.builder() |
| 561 | - randomPriority, appId, 10, false); | 563 | + .forDevice(d.id()) |
| 564 | + .withSelector(sbuilder.build()) | ||
| 565 | + .withTreatment(treatment) | ||
| 566 | + .withPriority(randomPriority) | ||
| 567 | + .fromApp(appId) | ||
| 568 | + .makeTemporary(10) | ||
| 569 | + .build(); | ||
| 562 | rules.add(f); | 570 | rules.add(f); |
| 563 | remove.remove(f); | 571 | remove.remove(f); |
| 564 | 572 | ... | ... |
| ... | @@ -34,6 +34,7 @@ import org.onosproject.net.device.DeviceService; | ... | @@ -34,6 +34,7 @@ import org.onosproject.net.device.DeviceService; |
| 34 | import org.onosproject.net.flow.DefaultFlowRule; | 34 | import org.onosproject.net.flow.DefaultFlowRule; |
| 35 | import org.onosproject.net.flow.DefaultTrafficSelector; | 35 | import org.onosproject.net.flow.DefaultTrafficSelector; |
| 36 | import org.onosproject.net.flow.DefaultTrafficTreatment; | 36 | import org.onosproject.net.flow.DefaultTrafficTreatment; |
| 37 | +import org.onosproject.net.flow.FlowRule; | ||
| 37 | import org.onosproject.net.flow.FlowRuleOperations; | 38 | import org.onosproject.net.flow.FlowRuleOperations; |
| 38 | import org.onosproject.net.flow.FlowRuleOperationsContext; | 39 | import org.onosproject.net.flow.FlowRuleOperationsContext; |
| 39 | import org.onosproject.net.flow.FlowRuleService; | 40 | import org.onosproject.net.flow.FlowRuleService; |
| ... | @@ -89,10 +90,26 @@ public class AddFlowsCommand extends AbstractShellCommand { | ... | @@ -89,10 +90,26 @@ public class AddFlowsCommand extends AbstractShellCommand { |
| 89 | 90 | ||
| 90 | 91 | ||
| 91 | int randomPriority = RandomUtils.nextInt(); | 92 | int randomPriority = RandomUtils.nextInt(); |
| 92 | - rules.add(new DefaultFlowRule(d.id(), sbuilder.build(), treatment, | 93 | + |
| 93 | - randomPriority, appId, 10, false)); | 94 | + FlowRule addRule = DefaultFlowRule.builder() |
| 94 | - remove.remove(new DefaultFlowRule(d.id(), sbuilder.build(), treatment, | 95 | + .forDevice(d.id()) |
| 95 | - randomPriority, appId, 10, false)); | 96 | + .withSelector(sbuilder.build()) |
| 97 | + .withTreatment(treatment) | ||
| 98 | + .withPriority(randomPriority) | ||
| 99 | + .fromApp(appId) | ||
| 100 | + .makeTemporary(10) | ||
| 101 | + .build(); | ||
| 102 | + FlowRule removeRule = DefaultFlowRule.builder() | ||
| 103 | + .forDevice(d.id()) | ||
| 104 | + .withSelector(sbuilder.build()) | ||
| 105 | + .withTreatment(treatment) | ||
| 106 | + .withPriority(randomPriority) | ||
| 107 | + .fromApp(appId) | ||
| 108 | + .makeTemporary(10) | ||
| 109 | + .build(); | ||
| 110 | + | ||
| 111 | + rules.add(addRule); | ||
| 112 | + remove.remove(removeRule); | ||
| 96 | 113 | ||
| 97 | } | 114 | } |
| 98 | } | 115 | } | ... | ... |
| ... | @@ -18,7 +18,6 @@ package org.onosproject.net.flow; | ... | @@ -18,7 +18,6 @@ package org.onosproject.net.flow; |
| 18 | import static com.google.common.base.MoreObjects.toStringHelper; | 18 | import static com.google.common.base.MoreObjects.toStringHelper; |
| 19 | import static org.slf4j.LoggerFactory.getLogger; | 19 | import static org.slf4j.LoggerFactory.getLogger; |
| 20 | 20 | ||
| 21 | -import org.onosproject.net.DeviceId; | ||
| 22 | import org.slf4j.Logger; | 21 | import org.slf4j.Logger; |
| 23 | 22 | ||
| 24 | public class DefaultFlowEntry extends DefaultFlowRule | 23 | public class DefaultFlowEntry extends DefaultFlowRule |
| ... | @@ -37,21 +36,6 @@ public class DefaultFlowEntry extends DefaultFlowRule | ... | @@ -37,21 +36,6 @@ public class DefaultFlowEntry extends DefaultFlowRule |
| 37 | 36 | ||
| 38 | private final int errCode; | 37 | private final int errCode; |
| 39 | 38 | ||
| 40 | - | ||
| 41 | - public DefaultFlowEntry(DeviceId deviceId, TrafficSelector selector, | ||
| 42 | - TrafficTreatment treatment, int priority, FlowEntryState state, | ||
| 43 | - long life, long packets, long bytes, long flowId, | ||
| 44 | - int timeout) { | ||
| 45 | - super(deviceId, selector, treatment, priority, flowId, timeout, false); | ||
| 46 | - this.state = state; | ||
| 47 | - this.life = life; | ||
| 48 | - this.packets = packets; | ||
| 49 | - this.bytes = bytes; | ||
| 50 | - this.errCode = -1; | ||
| 51 | - this.errType = -1; | ||
| 52 | - this.lastSeen = System.currentTimeMillis(); | ||
| 53 | - } | ||
| 54 | - | ||
| 55 | public DefaultFlowEntry(FlowRule rule, FlowEntryState state, | 39 | public DefaultFlowEntry(FlowRule rule, FlowEntryState state, |
| 56 | long life, long packets, long bytes) { | 40 | long life, long packets, long bytes) { |
| 57 | super(rule); | 41 | super(rule); | ... | ... |
| ... | @@ -45,119 +45,6 @@ public class DefaultFlowRule implements FlowRule { | ... | @@ -45,119 +45,6 @@ public class DefaultFlowRule implements FlowRule { |
| 45 | private final Integer tableId; | 45 | private final Integer tableId; |
| 46 | private final FlowRuleExtPayLoad payLoad; | 46 | private final FlowRuleExtPayLoad payLoad; |
| 47 | 47 | ||
| 48 | - @Deprecated | ||
| 49 | - public DefaultFlowRule(DeviceId deviceId, TrafficSelector selector, | ||
| 50 | - TrafficTreatment treatment, int priority, | ||
| 51 | - long flowId, int timeout, boolean permanent) { | ||
| 52 | - this.deviceId = deviceId; | ||
| 53 | - this.priority = priority; | ||
| 54 | - this.selector = selector; | ||
| 55 | - this.treatment = treatment; | ||
| 56 | - this.timeout = timeout; | ||
| 57 | - this.permanent = permanent; | ||
| 58 | - this.created = System.currentTimeMillis(); | ||
| 59 | - | ||
| 60 | - this.appId = (short) (flowId >>> 48); | ||
| 61 | - this.groupId = new DefaultGroupId((short) ((flowId >>> 32) & 0xFFFF)); | ||
| 62 | - this.id = FlowId.valueOf(flowId); | ||
| 63 | - this.tableId = 0; | ||
| 64 | - this.payLoad = null; | ||
| 65 | - } | ||
| 66 | - | ||
| 67 | - @Deprecated | ||
| 68 | - public DefaultFlowRule(DeviceId deviceId, TrafficSelector selector, | ||
| 69 | - TrafficTreatment treatment, int priority, | ||
| 70 | - long flowId, int timeout, boolean permanent, | ||
| 71 | - Type tableType) { | ||
| 72 | - this.deviceId = deviceId; | ||
| 73 | - this.priority = priority; | ||
| 74 | - this.selector = selector; | ||
| 75 | - this.treatment = treatment; | ||
| 76 | - this.timeout = timeout; | ||
| 77 | - this.permanent = permanent; | ||
| 78 | - this.created = System.currentTimeMillis(); | ||
| 79 | - | ||
| 80 | - this.appId = (short) (flowId >>> 48); | ||
| 81 | - this.groupId = new DefaultGroupId((short) ((flowId >>> 32) & 0xFFFF)); | ||
| 82 | - this.id = FlowId.valueOf(flowId); | ||
| 83 | - this.tableId = tableType.ordinal(); | ||
| 84 | - | ||
| 85 | - this.payLoad = null; | ||
| 86 | - } | ||
| 87 | - | ||
| 88 | - @Deprecated | ||
| 89 | - public DefaultFlowRule(DeviceId deviceId, TrafficSelector selector, | ||
| 90 | - TrafficTreatment treatment, int priority, | ||
| 91 | - ApplicationId appId, int timeout, boolean permanent) { | ||
| 92 | - this(deviceId, selector, treatment, priority, appId, | ||
| 93 | - new DefaultGroupId(0), timeout, permanent); | ||
| 94 | - } | ||
| 95 | - | ||
| 96 | - @Deprecated | ||
| 97 | - public DefaultFlowRule(DeviceId deviceId, TrafficSelector selector, | ||
| 98 | - TrafficTreatment treatment, int priority, | ||
| 99 | - ApplicationId appId, int timeout, boolean permanent, | ||
| 100 | - Type type) { | ||
| 101 | - | ||
| 102 | - if (priority < FlowRule.MIN_PRIORITY) { | ||
| 103 | - throw new IllegalArgumentException("Priority cannot be less than " | ||
| 104 | - + MIN_PRIORITY); | ||
| 105 | - } | ||
| 106 | - | ||
| 107 | - this.deviceId = deviceId; | ||
| 108 | - this.priority = priority; | ||
| 109 | - this.selector = selector; | ||
| 110 | - this.treatment = treatment; | ||
| 111 | - this.appId = appId.id(); | ||
| 112 | - this.groupId = new DefaultGroupId(0); | ||
| 113 | - this.timeout = timeout; | ||
| 114 | - this.permanent = permanent; | ||
| 115 | - this.created = System.currentTimeMillis(); | ||
| 116 | - this.tableId = type.ordinal(); | ||
| 117 | - | ||
| 118 | - this.payLoad = null; | ||
| 119 | - /* | ||
| 120 | - * id consists of the following. | appId (16 bits) | groupId (16 bits) | | ||
| 121 | - * flowId (32 bits) | | ||
| 122 | - */ | ||
| 123 | - this.id = FlowId.valueOf((((long) this.appId) << 48) | ||
| 124 | - | (((long) this.groupId.id()) << 32) | ||
| 125 | - | (this.hash() & 0xffffffffL)); | ||
| 126 | - | ||
| 127 | - } | ||
| 128 | - | ||
| 129 | - @Deprecated | ||
| 130 | - public DefaultFlowRule(DeviceId deviceId, TrafficSelector selector, | ||
| 131 | - TrafficTreatment treatment, int priority, | ||
| 132 | - ApplicationId appId, GroupId groupId, int timeout, | ||
| 133 | - boolean permanent) { | ||
| 134 | - | ||
| 135 | - if (priority < FlowRule.MIN_PRIORITY) { | ||
| 136 | - throw new IllegalArgumentException("Priority cannot be less than " | ||
| 137 | - + MIN_PRIORITY); | ||
| 138 | - } | ||
| 139 | - | ||
| 140 | - this.deviceId = deviceId; | ||
| 141 | - this.priority = priority; | ||
| 142 | - this.selector = selector; | ||
| 143 | - this.treatment = treatment; | ||
| 144 | - this.appId = appId.id(); | ||
| 145 | - this.groupId = groupId; | ||
| 146 | - this.timeout = timeout; | ||
| 147 | - this.permanent = permanent; | ||
| 148 | - this.created = System.currentTimeMillis(); | ||
| 149 | - this.tableId = 0; | ||
| 150 | - this.payLoad = null; | ||
| 151 | - | ||
| 152 | - /* | ||
| 153 | - * id consists of the following. | appId (16 bits) | groupId (16 bits) | | ||
| 154 | - * flowId (32 bits) | | ||
| 155 | - */ | ||
| 156 | - this.id = FlowId.valueOf((((long) this.appId) << 48) | ||
| 157 | - | (((long) this.groupId.id()) << 32) | ||
| 158 | - | (this.hash() & 0xffffffffL)); | ||
| 159 | - } | ||
| 160 | - | ||
| 161 | public DefaultFlowRule(FlowRule rule) { | 48 | public DefaultFlowRule(FlowRule rule) { |
| 162 | this.deviceId = rule.deviceId(); | 49 | this.deviceId = rule.deviceId(); |
| 163 | this.priority = rule.priority(); | 50 | this.priority = rule.priority(); |
| ... | @@ -371,7 +258,7 @@ public class DefaultFlowRule implements FlowRule { | ... | @@ -371,7 +258,7 @@ public class DefaultFlowRule implements FlowRule { |
| 371 | .add("treatment", treatment == null ? "N/A" : treatment.allInstructions()) | 258 | .add("treatment", treatment == null ? "N/A" : treatment.allInstructions()) |
| 372 | .add("tableId", tableId) | 259 | .add("tableId", tableId) |
| 373 | .add("created", created) | 260 | .add("created", created) |
| 374 | - .add("payLoad", payLoad).toString() | 261 | + .add("payLoad", payLoad) |
| 375 | .toString(); | 262 | .toString(); |
| 376 | } | 263 | } |
| 377 | 264 | ... | ... |
| ... | @@ -37,16 +37,17 @@ public class DefaultFlowEntryTest { | ... | @@ -37,16 +37,17 @@ public class DefaultFlowEntryTest { |
| 37 | new IntentTestsMocks.MockTreatment(); | 37 | new IntentTestsMocks.MockTreatment(); |
| 38 | 38 | ||
| 39 | private static DefaultFlowEntry makeFlowEntry(int uniqueValue) { | 39 | private static DefaultFlowEntry makeFlowEntry(int uniqueValue) { |
| 40 | - return new DefaultFlowEntry(did("id" + Integer.toString(uniqueValue)), | 40 | + FlowRule rule = DefaultFlowRule.builder() |
| 41 | - SELECTOR, | 41 | + .forDevice(did("id" + Integer.toString(uniqueValue))) |
| 42 | - TREATMENT, | 42 | + .withSelector(SELECTOR) |
| 43 | - uniqueValue, | 43 | + .withTreatment(TREATMENT) |
| 44 | - FlowEntry.FlowEntryState.ADDED, | 44 | + .withPriority(uniqueValue) |
| 45 | - uniqueValue, | 45 | + .withCookie(uniqueValue) |
| 46 | - uniqueValue, | 46 | + .makeTemporary(uniqueValue) |
| 47 | - uniqueValue, | 47 | + .build(); |
| 48 | - uniqueValue, | 48 | + |
| 49 | - uniqueValue); | 49 | + return new DefaultFlowEntry(rule, FlowEntry.FlowEntryState.ADDED, |
| 50 | + uniqueValue, uniqueValue, uniqueValue); | ||
| 50 | } | 51 | } |
| 51 | 52 | ||
| 52 | final DefaultFlowEntry defaultFlowEntry1 = makeFlowEntry(1); | 53 | final DefaultFlowEntry defaultFlowEntry1 = makeFlowEntry(1); | ... | ... |
| ... | @@ -41,10 +41,8 @@ public class DefaultFlowRuleTest { | ... | @@ -41,10 +41,8 @@ public class DefaultFlowRuleTest { |
| 41 | private static FlowRuleExtPayLoad payLoad = FlowRuleExtPayLoad.flowRuleExtPayLoad(b); | 41 | private static FlowRuleExtPayLoad payLoad = FlowRuleExtPayLoad.flowRuleExtPayLoad(b); |
| 42 | final FlowRule flowRule1 = new IntentTestsMocks.MockFlowRule(1, payLoad); | 42 | final FlowRule flowRule1 = new IntentTestsMocks.MockFlowRule(1, payLoad); |
| 43 | final FlowRule sameAsFlowRule1 = new IntentTestsMocks.MockFlowRule(1, payLoad); | 43 | final FlowRule sameAsFlowRule1 = new IntentTestsMocks.MockFlowRule(1, payLoad); |
| 44 | - final FlowRule flowRule2 = new IntentTestsMocks.MockFlowRule(2, payLoad); | ||
| 45 | final DefaultFlowRule defaultFlowRule1 = new DefaultFlowRule(flowRule1); | 44 | final DefaultFlowRule defaultFlowRule1 = new DefaultFlowRule(flowRule1); |
| 46 | final DefaultFlowRule sameAsDefaultFlowRule1 = new DefaultFlowRule(sameAsFlowRule1); | 45 | final DefaultFlowRule sameAsDefaultFlowRule1 = new DefaultFlowRule(sameAsFlowRule1); |
| 47 | - final DefaultFlowRule defaultFlowRule2 = new DefaultFlowRule(flowRule2); | ||
| 48 | 46 | ||
| 49 | /** | 47 | /** |
| 50 | * Checks that the DefaultFlowRule class is immutable but can be inherited | 48 | * Checks that the DefaultFlowRule class is immutable but can be inherited |
| ... | @@ -84,14 +82,20 @@ public class DefaultFlowRuleTest { | ... | @@ -84,14 +82,20 @@ public class DefaultFlowRuleTest { |
| 84 | /** | 82 | /** |
| 85 | * Tests creation of a DefaultFlowRule using a FlowId constructor. | 83 | * Tests creation of a DefaultFlowRule using a FlowId constructor. |
| 86 | */ | 84 | */ |
| 85 | + | ||
| 87 | @Test | 86 | @Test |
| 88 | public void testCreationWithFlowId() { | 87 | public void testCreationWithFlowId() { |
| 89 | - final DefaultFlowRule rule = | 88 | + final FlowRule rule = |
| 90 | - new DefaultFlowRule(did("1"), SELECTOR, | 89 | + DefaultFlowRule.builder() |
| 91 | - TREATMENT, 22, 33, | 90 | + .forDevice(did("1")) |
| 92 | - 44, false); | 91 | + .withSelector(SELECTOR) |
| 92 | + .withTreatment(TREATMENT) | ||
| 93 | + .withPriority(22) | ||
| 94 | + .makeTemporary(44) | ||
| 95 | + .fromApp(APP_ID) | ||
| 96 | + .build(); | ||
| 97 | + | ||
| 93 | assertThat(rule.deviceId(), is(did("1"))); | 98 | assertThat(rule.deviceId(), is(did("1"))); |
| 94 | - assertThat(rule.id().value(), is(33L)); | ||
| 95 | assertThat(rule.isPermanent(), is(false)); | 99 | assertThat(rule.isPermanent(), is(false)); |
| 96 | assertThat(rule.priority(), is(22)); | 100 | assertThat(rule.priority(), is(22)); |
| 97 | assertThat(rule.selector(), is(SELECTOR)); | 101 | assertThat(rule.selector(), is(SELECTOR)); |
| ... | @@ -99,6 +103,7 @@ public class DefaultFlowRuleTest { | ... | @@ -99,6 +103,7 @@ public class DefaultFlowRuleTest { |
| 99 | assertThat(rule.timeout(), is(44)); | 103 | assertThat(rule.timeout(), is(44)); |
| 100 | } | 104 | } |
| 101 | 105 | ||
| 106 | + | ||
| 102 | /** | 107 | /** |
| 103 | * Tests creation of a DefaultFlowRule using a PayLoad constructor. | 108 | * Tests creation of a DefaultFlowRule using a PayLoad constructor. |
| 104 | */ | 109 | */ |
| ... | @@ -136,10 +141,16 @@ public class DefaultFlowRuleTest { | ... | @@ -136,10 +141,16 @@ public class DefaultFlowRuleTest { |
| 136 | */ | 141 | */ |
| 137 | @Test | 142 | @Test |
| 138 | public void testCreationWithAppId() { | 143 | public void testCreationWithAppId() { |
| 139 | - final DefaultFlowRule rule = | 144 | + final FlowRule rule = |
| 140 | - new DefaultFlowRule(did("1"), SELECTOR, | 145 | + DefaultFlowRule.builder() |
| 141 | - TREATMENT, 22, APP_ID, | 146 | + .forDevice(did("1")) |
| 142 | - 44, false); | 147 | + .withSelector(SELECTOR) |
| 148 | + .withTreatment(TREATMENT) | ||
| 149 | + .withPriority(22) | ||
| 150 | + .fromApp(APP_ID) | ||
| 151 | + .makeTemporary(44) | ||
| 152 | + .build(); | ||
| 153 | + | ||
| 143 | assertThat(rule.deviceId(), is(did("1"))); | 154 | assertThat(rule.deviceId(), is(did("1"))); |
| 144 | assertThat(rule.isPermanent(), is(false)); | 155 | assertThat(rule.isPermanent(), is(false)); |
| 145 | assertThat(rule.priority(), is(22)); | 156 | assertThat(rule.priority(), is(22)); | ... | ... |
| ... | @@ -135,7 +135,7 @@ public class LinkCollectionIntentCompiler implements IntentCompiler<LinkCollecti | ... | @@ -135,7 +135,7 @@ public class LinkCollectionIntentCompiler implements IntentCompiler<LinkCollecti |
| 135 | } | 135 | } |
| 136 | 136 | ||
| 137 | DefaultFlowRule rule = new DefaultFlowRule(deviceId, selector, treatment, 123, appId, | 137 | DefaultFlowRule rule = new DefaultFlowRule(deviceId, selector, treatment, 123, appId, |
| 138 | - new DefaultGroupId((short) (intent.id().fingerprint() & 0xffff)), 0, true); | 138 | + new DefaultGroupId((short) (intent.id().fingerprint() & 0xffff)), 0, true, null); |
| 139 | 139 | ||
| 140 | rules.add(rule); | 140 | rules.add(rule); |
| 141 | } | 141 | } | ... | ... |
| ... | @@ -256,6 +256,13 @@ public class MplsPathIntentCompiler implements IntentCompiler<MplsPathIntent> { | ... | @@ -256,6 +256,13 @@ public class MplsPathIntentCompiler implements IntentCompiler<MplsPathIntent> { |
| 256 | 256 | ||
| 257 | protected FlowRule createFlowRule(MplsPathIntent intent, DeviceId deviceId, | 257 | protected FlowRule createFlowRule(MplsPathIntent intent, DeviceId deviceId, |
| 258 | TrafficSelector selector, TrafficTreatment treat) { | 258 | TrafficSelector selector, TrafficTreatment treat) { |
| 259 | - return new DefaultFlowRule(deviceId, selector, treat, intent.priority(), appId, 0, true); | 259 | + return DefaultFlowRule.builder() |
| 260 | + .forDevice(deviceId) | ||
| 261 | + .withSelector(selector) | ||
| 262 | + .withTreatment(treat) | ||
| 263 | + .withPriority(intent.priority()) | ||
| 264 | + .fromApp(appId) | ||
| 265 | + .makePermanent() | ||
| 266 | + .build(); | ||
| 260 | } | 267 | } |
| 261 | } | 268 | } | ... | ... |
| ... | @@ -97,7 +97,14 @@ public class PathIntentCompiler implements IntentCompiler<PathIntent> { | ... | @@ -97,7 +97,14 @@ public class PathIntentCompiler implements IntentCompiler<PathIntent> { |
| 97 | } | 97 | } |
| 98 | TrafficTreatment treatment = treatmentBuilder.setOutput(egress.port()).build(); | 98 | TrafficTreatment treatment = treatmentBuilder.setOutput(egress.port()).build(); |
| 99 | 99 | ||
| 100 | - return new DefaultFlowRule(ingress.deviceId(), selector, treatment, 123, appId, 0, true); | 100 | + return DefaultFlowRule.builder() |
| 101 | + .forDevice(ingress.deviceId()) | ||
| 102 | + .withSelector(selector) | ||
| 103 | + .withTreatment(treatment) | ||
| 104 | + .withPriority(123) | ||
| 105 | + .fromApp(appId) | ||
| 106 | + .makePermanent() | ||
| 107 | + .build(); | ||
| 101 | } | 108 | } |
| 102 | 109 | ||
| 103 | private boolean isLast(List<Link> links, int i) { | 110 | private boolean isLast(List<Link> links, int i) { | ... | ... |
| ... | @@ -144,7 +144,14 @@ public class FlowRuleManagerTest { | ... | @@ -144,7 +144,14 @@ public class FlowRuleManagerTest { |
| 144 | private FlowRule flowRule(int tsval, int trval) { | 144 | private FlowRule flowRule(int tsval, int trval) { |
| 145 | TestSelector ts = new TestSelector(tsval); | 145 | TestSelector ts = new TestSelector(tsval); |
| 146 | TestTreatment tr = new TestTreatment(trval); | 146 | TestTreatment tr = new TestTreatment(trval); |
| 147 | - return new DefaultFlowRule(DID, ts, tr, 10, appId, TIMEOUT, false); | 147 | + return DefaultFlowRule.builder() |
| 148 | + .forDevice(DID) | ||
| 149 | + .withSelector(ts) | ||
| 150 | + .withTreatment(tr) | ||
| 151 | + .withPriority(10) | ||
| 152 | + .fromApp(appId) | ||
| 153 | + .makeTemporary(TIMEOUT) | ||
| 154 | + .build(); | ||
| 148 | } | 155 | } |
| 149 | 156 | ||
| 150 | 157 | ... | ... |
| ... | @@ -28,6 +28,7 @@ import org.onlab.util.Bandwidth; | ... | @@ -28,6 +28,7 @@ import org.onlab.util.Bandwidth; |
| 28 | import org.onlab.util.Frequency; | 28 | import org.onlab.util.Frequency; |
| 29 | import org.onosproject.cluster.NodeId; | 29 | import org.onosproject.cluster.NodeId; |
| 30 | import org.onosproject.cluster.RoleInfo; | 30 | import org.onosproject.cluster.RoleInfo; |
| 31 | +import org.onosproject.core.DefaultApplicationId; | ||
| 31 | import org.onosproject.core.DefaultGroupId; | 32 | import org.onosproject.core.DefaultGroupId; |
| 32 | import org.onosproject.mastership.MastershipTerm; | 33 | import org.onosproject.mastership.MastershipTerm; |
| 33 | import org.onosproject.net.Annotations; | 34 | import org.onosproject.net.Annotations; |
| ... | @@ -236,8 +237,15 @@ public class KryoSerializerTest { | ... | @@ -236,8 +237,15 @@ public class KryoSerializerTest { |
| 236 | @Test | 237 | @Test |
| 237 | public void testFlowRuleBatchEntry() { | 238 | public void testFlowRuleBatchEntry() { |
| 238 | final FlowRule rule1 = | 239 | final FlowRule rule1 = |
| 239 | - new DefaultFlowRule(DID1, DefaultTrafficSelector.emptySelector(), | 240 | + DefaultFlowRule.builder() |
| 240 | - DefaultTrafficTreatment.emptyTreatment(), 0, 0, 0, true); | 241 | + .forDevice(DID1) |
| 242 | + .withSelector(DefaultTrafficSelector.emptySelector()) | ||
| 243 | + .withTreatment(DefaultTrafficTreatment.emptyTreatment()) | ||
| 244 | + .withPriority(0) | ||
| 245 | + .fromApp(new DefaultApplicationId(1, "1")) | ||
| 246 | + .makeTemporary(1) | ||
| 247 | + .build(); | ||
| 248 | + | ||
| 241 | final FlowRuleBatchEntry entry1 = | 249 | final FlowRuleBatchEntry entry1 = |
| 242 | new FlowRuleBatchEntry(FlowRuleBatchEntry.FlowRuleOperation.ADD, rule1); | 250 | new FlowRuleBatchEntry(FlowRuleBatchEntry.FlowRuleOperation.ADD, rule1); |
| 243 | final FlowRuleBatchEntry entry2 = | 251 | final FlowRuleBatchEntry entry2 = | ... | ... |
-
Please register or login to post a comment