Separated flowprogrammer package from flowmanager.
diff --git a/src/main/java/net/onrc/onos/ofcontroller/flowmanager/FlowManager.java b/src/main/java/net/onrc/onos/ofcontroller/flowmanager/FlowManager.java
index 0e70a9b..1ef4431 100644
--- a/src/main/java/net/onrc/onos/ofcontroller/flowmanager/FlowManager.java
+++ b/src/main/java/net/onrc/onos/ofcontroller/flowmanager/FlowManager.java
@@ -25,6 +25,8 @@
 import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.IFlowPath;
 import net.onrc.onos.ofcontroller.floodlightlistener.INetworkGraphService;
 import net.onrc.onos.ofcontroller.flowmanager.web.FlowWebRoutable;
+import net.onrc.onos.ofcontroller.flowprogrammer.FlowPusher;
+import net.onrc.onos.ofcontroller.flowprogrammer.IFlowPusherService;
 import net.onrc.onos.ofcontroller.topology.ITopologyNetService;
 import net.onrc.onos.ofcontroller.topology.Topology;
 import net.onrc.onos.ofcontroller.topology.TopologyElement;
diff --git a/src/main/java/net/onrc/onos/ofcontroller/flowmanager/FlowQueueTable.java b/src/main/java/net/onrc/onos/ofcontroller/flowmanager/FlowQueueTable.java
deleted file mode 100644
index 509d55a..0000000
--- a/src/main/java/net/onrc/onos/ofcontroller/flowmanager/FlowQueueTable.java
+++ /dev/null
@@ -1,166 +0,0 @@
-package net.onrc.onos.ofcontroller.flowmanager;
-
-import java.util.ArrayDeque;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Queue;
-import java.util.Set;
-
-import net.floodlightcontroller.core.IOFSwitch;
-
-import org.openflow.protocol.OFMessage;
-
-/**
- * Represents table of message queues attached to each switch. 
- * Each message should be ADD/DELETE of flow.
- * (MODIFY of flow might be handled, but future work)
- * @author Naoki Shiota
- *
- */
-@Deprecated
-public class FlowQueueTable {
-	
-	public enum QueueState {
-		READY,				// Synchronized and working
-		SYNCHRONIZING,		// Synchronization is running
-//		SUSPENDED,			// Synchronized but stopping sending messages
-	}
-	
-	private class QueueInfo {
-		QueueState state;
-		
-		// Max rate of sending message (bytes/sec). 0 implies no limitation.
-		long max_rate = 0;
-	}
-	
-	private Map< IOFSwitch, Queue<OFMessage> > queues
-		= new HashMap< IOFSwitch, Queue<OFMessage> >();
-	private Map<IOFSwitch, QueueInfo> queue_info
-		= new HashMap<IOFSwitch, QueueInfo>();
-	
-	public FlowQueueTable() {
-		// TODO Auto-generated constructor stub
-	}
-
-	/**
-	 * Add flow queue for given switch.
-	 * @param sw
-	 */
-	public void addSwitchQueue(IOFSwitch sw) {
-		QueueInfo info = new QueueInfo();
-		
-		if (queues.containsKey(sw)) {
-			return;
-		}
-		
-		queues.put(sw, new ArrayDeque<OFMessage>());
-		queue_info.put(sw, info);
-	}
-	
-	/**
-	 * Delete flow queue for given switch.
-	 * @param sw
-	 */
-	public void deleteSwitchQueue(IOFSwitch sw) {
-		if (! queues.containsKey(sw)) {
-			return;
-		}
-		
-		queues.remove(sw);
-		queue_info.remove(sw);
-	}
-
-	/**
-	 * Get flow queue for given switch.
-	 * @param sw
-	 * @return
-	 */
-	public Queue<OFMessage> getQueue(IOFSwitch sw) {
-		return queues.get(sw);
-	}
-	
-	public Set<IOFSwitch> getSwitches() {
-		return queues.keySet();
-	}
-
-	/**
-	 * Get state of flow queue for given switch.
-	 * @param sw
-	 */
-	public QueueState getQueueState(IOFSwitch sw) {
-		QueueInfo info = queue_info.get(sw);
-		if (info == null) {
-			return null;
-		}
-		
-		return info.state;
-	}
-	
-	/**
-	 * Set state of flow queue for given switch.
-	 * @param sw
-	 * @param state
-	 */
-	public void setQueueState(IOFSwitch sw, QueueState state) {
-		QueueInfo info = queue_info.get(sw);
-		if (info == null) {
-			return;
-		}
-		
-		info.state = state;
-	}
-
-	/**
-	 * Get maximum rate for given switch.
-	 * @param sw
-	 */
-	public long getQueueRate(IOFSwitch sw) {
-		QueueInfo info = queue_info.get(sw);
-		if (info == null) {
-			return 0;
-		}
-		
-		return info.max_rate;
-	}
-
-	/**
-	 * Set maximum rate for given switch.
-	 * @param sw
-	 * @param rate
-	 */
-	public void setQueueRate(IOFSwitch sw, long rate) {
-		QueueInfo info = queue_info.get(sw);
-		if (info == null) {
-			return;
-		}
-		
-		info.max_rate = rate;
-	}
-	
-	/**
-	 * Get a lock for queue for given switch.
-	 * If locked already, wait for unlock.
-	 * @param sw
-	 */
-	public void lockQueue(IOFSwitch sw) {
-		// TODO not yet implement
-	}
-
-	/**
-	 * Get a lock for queue for given switch.
-	 * If locked already, return false at once.
-	 * @param sw
-	 * @return
-	 */
-	public boolean lockQueueIfAvailable(IOFSwitch sw) {
-		// TODO not yet implement
-		return false;
-	}
-
-	/** Release a lock for queue for given switch.
-	 * @param sw
-	 */
-	public void unlockQueue(IOFSwitch sw) {
-		// TODO not yet implement
-	}
-}
diff --git a/src/main/java/net/onrc/onos/ofcontroller/flowmanager/FlowPusher.java b/src/main/java/net/onrc/onos/ofcontroller/flowprogrammer/FlowPusher.java
similarity index 99%
rename from src/main/java/net/onrc/onos/ofcontroller/flowmanager/FlowPusher.java
rename to src/main/java/net/onrc/onos/ofcontroller/flowprogrammer/FlowPusher.java
index 0f56c54..cb47f0b 100644
--- a/src/main/java/net/onrc/onos/ofcontroller/flowmanager/FlowPusher.java
+++ b/src/main/java/net/onrc/onos/ofcontroller/flowprogrammer/FlowPusher.java
@@ -1,4 +1,4 @@
-package net.onrc.onos.ofcontroller.flowmanager;
+package net.onrc.onos.ofcontroller.flowprogrammer;
 
 import java.io.IOException;
 import java.util.ArrayDeque;
diff --git a/src/main/java/net/onrc/onos/ofcontroller/flowmanager/IFlowPusherService.java b/src/main/java/net/onrc/onos/ofcontroller/flowprogrammer/IFlowPusherService.java
similarity index 93%
rename from src/main/java/net/onrc/onos/ofcontroller/flowmanager/IFlowPusherService.java
rename to src/main/java/net/onrc/onos/ofcontroller/flowprogrammer/IFlowPusherService.java
index 830d47f..146f19c 100644
--- a/src/main/java/net/onrc/onos/ofcontroller/flowmanager/IFlowPusherService.java
+++ b/src/main/java/net/onrc/onos/ofcontroller/flowprogrammer/IFlowPusherService.java
@@ -1,4 +1,4 @@
-package net.onrc.onos.ofcontroller.flowmanager;
+package net.onrc.onos.ofcontroller.flowprogrammer;
 
 import net.floodlightcontroller.core.IOFSwitch;
 import net.floodlightcontroller.core.module.IFloodlightService;