Add mapping function to simplify process() implementation
Change-Id: I732920bc81d6955b84a222b095bfa18c6974abe3
Showing
1 changed file
with
15 additions
and
18 deletions
| ... | @@ -571,6 +571,19 @@ public class FlowRuleManager | ... | @@ -571,6 +571,19 @@ public class FlowRuleManager |
| 571 | } | 571 | } |
| 572 | } | 572 | } |
| 573 | 573 | ||
| 574 | + private static FlowRuleBatchEntry.FlowRuleOperation mapOperationType(FlowRuleOperation.Type input) { | ||
| 575 | + switch (input) { | ||
| 576 | + case ADD: | ||
| 577 | + return FlowRuleBatchEntry.FlowRuleOperation.ADD; | ||
| 578 | + case MODIFY: | ||
| 579 | + return FlowRuleBatchEntry.FlowRuleOperation.MODIFY; | ||
| 580 | + case REMOVE: | ||
| 581 | + return FlowRuleBatchEntry.FlowRuleOperation.REMOVE; | ||
| 582 | + default: | ||
| 583 | + throw new UnsupportedOperationException("Unknown flow rule type " + input); | ||
| 584 | + } | ||
| 585 | + } | ||
| 586 | + | ||
| 574 | private class FlowOperationsProcessor implements Runnable { | 587 | private class FlowOperationsProcessor implements Runnable { |
| 575 | 588 | ||
| 576 | private final List<Set<FlowRuleOperation>> stages; | 589 | private final List<Set<FlowRuleOperation>> stages; |
| ... | @@ -599,25 +612,9 @@ public class FlowRuleManager | ... | @@ -599,25 +612,9 @@ public class FlowRuleManager |
| 599 | Multimap<DeviceId, FlowRuleBatchEntry> perDeviceBatches = | 612 | Multimap<DeviceId, FlowRuleBatchEntry> perDeviceBatches = |
| 600 | ArrayListMultimap.create(); | 613 | ArrayListMultimap.create(); |
| 601 | 614 | ||
| 602 | - FlowRuleBatchEntry fbe; | ||
| 603 | for (FlowRuleOperation flowRuleOperation : ops) { | 615 | for (FlowRuleOperation flowRuleOperation : ops) { |
| 604 | - switch (flowRuleOperation.type()) { | 616 | + FlowRuleBatchEntry fbe = |
| 605 | - // FIXME: Brian needs imagination when creating class names. | 617 | + new FlowRuleBatchEntry(mapOperationType(flowRuleOperation.type()), flowRuleOperation.rule()); |
| 606 | - case ADD: | ||
| 607 | - fbe = new FlowRuleBatchEntry( | ||
| 608 | - FlowRuleBatchEntry.FlowRuleOperation.ADD, flowRuleOperation.rule()); | ||
| 609 | - break; | ||
| 610 | - case MODIFY: | ||
| 611 | - fbe = new FlowRuleBatchEntry( | ||
| 612 | - FlowRuleBatchEntry.FlowRuleOperation.MODIFY, flowRuleOperation.rule()); | ||
| 613 | - break; | ||
| 614 | - case REMOVE: | ||
| 615 | - fbe = new FlowRuleBatchEntry( | ||
| 616 | - FlowRuleBatchEntry.FlowRuleOperation.REMOVE, flowRuleOperation.rule()); | ||
| 617 | - break; | ||
| 618 | - default: | ||
| 619 | - throw new UnsupportedOperationException("Unknown flow rule type " + flowRuleOperation.type()); | ||
| 620 | - } | ||
| 621 | pendingDevices.add(flowRuleOperation.rule().deviceId()); | 618 | pendingDevices.add(flowRuleOperation.rule().deviceId()); |
| 622 | perDeviceBatches.put(flowRuleOperation.rule().deviceId(), fbe); | 619 | perDeviceBatches.put(flowRuleOperation.rule().deviceId(), fbe); |
| 623 | } | 620 | } | ... | ... |
-
Please register or login to post a comment