diff --git a/providers/null/flow/src/main/java/org/onosproject/provider/nil/flow/impl/NullFlowRuleProvider.java b/providers/null/flow/src/main/java/org/onosproject/provider/nil/flow/impl/NullFlowRuleProvider.java
index b021ab0..e882c76 100644
--- a/providers/null/flow/src/main/java/org/onosproject/provider/nil/flow/impl/NullFlowRuleProvider.java
+++ b/providers/null/flow/src/main/java/org/onosproject/provider/nil/flow/impl/NullFlowRuleProvider.java
@@ -110,16 +110,16 @@
     public Future<CompletedBatchOperation> executeBatch(
             BatchOperation<FlowRuleBatchEntry> batch) {
         for (FlowRuleBatchEntry fbe : batch.getOperations()) {
-            switch (fbe.getOperator()) {
+            switch (fbe.operator()) {
                 case ADD:
-                    applyFlowRule(fbe.getTarget());
+                    applyFlowRule(fbe.target());
                     break;
                 case REMOVE:
-                    removeFlowRule(fbe.getTarget());
+                    removeFlowRule(fbe.target());
                     break;
                 case MODIFY:
-                    removeFlowRule(fbe.getTarget());
-                    applyFlowRule(fbe.getTarget());
+                    removeFlowRule(fbe.target());
+                    applyFlowRule(fbe.target());
                     break;
                 default:
                     log.error("Unknown flow operation: {}", fbe);
