Added getFactory() method to IOFSwitch to get a message factory appropriate
for the switch's OpenFlow version.

This prevents users of the switch having to discriminate what factory to use
based on the switch OpenFlow version.

Change-Id: Iac0454856e35f4429649a6f116da34f4c048f25d
diff --git a/src/test/java/net/floodlightcontroller/core/test/MockFloodlightProvider.java b/src/test/java/net/floodlightcontroller/core/test/MockFloodlightProvider.java
index a56a273..c5c15c1 100644
--- a/src/test/java/net/floodlightcontroller/core/test/MockFloodlightProvider.java
+++ b/src/test/java/net/floodlightcontroller/core/test/MockFloodlightProvider.java
@@ -48,12 +48,9 @@
 import net.onrc.onos.core.packet.Ethernet;
 import net.onrc.onos.core.util.OnosInstanceId;
 
-import org.projectfloodlight.openflow.protocol.OFFactories;
-import org.projectfloodlight.openflow.protocol.OFFactory;
 import org.projectfloodlight.openflow.protocol.OFMessage;
 import org.projectfloodlight.openflow.protocol.OFPacketIn;
 import org.projectfloodlight.openflow.protocol.OFType;
-import org.projectfloodlight.openflow.protocol.OFVersion;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -72,10 +69,6 @@
     protected ConcurrentHashMap<Long, IOFSwitch> activeMasterSwitches;
     protected ConcurrentHashMap<Long, IOFSwitch> activeEqualSwitches;
 
-    // protected BasicFactory factory;
-    protected static OFFactory factory13 = OFFactories.getFactory(OFVersion.OF_13);
-    protected static OFFactory factory10 = OFFactories.getFactory(OFVersion.OF_10);
-
     /**
      *
      */
@@ -317,18 +310,6 @@
     }
 
     @Override
-    public OFFactory getOFMessageFactory_13() {
-        // TODO to be checked
-        return factory13;
-    }
-
-    @Override
-    public OFFactory getOFMessageFactory_10() {
-        // TODO to be checked
-        return factory10;
-    }
-
-    @Override
     public Counters getCounters() {
         // TODO Auto-generated method stub
         return null;
diff --git a/src/test/java/net/floodlightcontroller/util/OFMessageDamperMockSwitch.java b/src/test/java/net/floodlightcontroller/util/OFMessageDamperMockSwitch.java
index 8aadaf3..545753d 100644
--- a/src/test/java/net/floodlightcontroller/util/OFMessageDamperMockSwitch.java
+++ b/src/test/java/net/floodlightcontroller/util/OFMessageDamperMockSwitch.java
@@ -25,6 +25,7 @@
 import org.projectfloodlight.openflow.protocol.OFActionType;
 import org.projectfloodlight.openflow.protocol.OFCapabilities;
 import org.projectfloodlight.openflow.protocol.OFDescStatsReply;
+import org.projectfloodlight.openflow.protocol.OFFactory;
 import org.projectfloodlight.openflow.protocol.OFMessage;
 import org.projectfloodlight.openflow.protocol.OFPortDesc;
 import org.projectfloodlight.openflow.protocol.OFPortStatus;
@@ -475,4 +476,10 @@
 
     }
 
+    @Override
+    public OFFactory getFactory() {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
 }
\ No newline at end of file
diff --git a/src/test/java/net/onrc/onos/core/flowprogrammer/FlowPusherTest.java b/src/test/java/net/onrc/onos/core/flowprogrammer/FlowPusherTest.java
index ae30949..28b445c 100644
--- a/src/test/java/net/onrc/onos/core/flowprogrammer/FlowPusherTest.java
+++ b/src/test/java/net/onrc/onos/core/flowprogrammer/FlowPusherTest.java
@@ -472,8 +472,6 @@
         //factory10 = EasyMock.createMock(OFFactories.getFactory(OFVersion.OF_10).getClass());
         flProviderService = EasyMock.createMock(IFloodlightProviderService.class);
         threadPoolService = EasyMock.createMock(IThreadPoolService.class);
-        EasyMock.expect(flProviderService.getOFMessageFactory_10()).andReturn(factory10).anyTimes();
-        EasyMock.expect(flProviderService.getOFMessageFactory_13()).andReturn(null).anyTimes();
 
         EasyMock.expect(modContext.getServiceImpl(EasyMock.eq(IThreadPoolService.class)))
                 .andReturn(threadPoolService).once();
diff --git a/src/test/java/net/onrc/onos/core/linkdiscovery/LinkDiscoveryManagerTest.java b/src/test/java/net/onrc/onos/core/linkdiscovery/LinkDiscoveryManagerTest.java
index 7f848a8..8c63293 100644
--- a/src/test/java/net/onrc/onos/core/linkdiscovery/LinkDiscoveryManagerTest.java
+++ b/src/test/java/net/onrc/onos/core/linkdiscovery/LinkDiscoveryManagerTest.java
@@ -136,6 +136,7 @@
         IOFSwitch mockSwitch = createNiceMock(IOFSwitch.class);
         expect(mockSwitch.getId()).andReturn(id).anyTimes();
         expect(mockSwitch.portEnabled(EasyMock.anyShort())).andReturn(true).anyTimes();
+        expect(mockSwitch.getFactory()).andReturn(factory10).anyTimes();
         return mockSwitch;
     }