ONOS listens to device discovery messages
diff --git a/src/main/java/net/floodlightcontroller/onoslistener/OnosPublisher.java b/src/main/java/net/floodlightcontroller/onoslistener/OnosPublisher.java
new file mode 100644
index 0000000..532e293
--- /dev/null
+++ b/src/main/java/net/floodlightcontroller/onoslistener/OnosPublisher.java
@@ -0,0 +1,144 @@
+package net.floodlightcontroller.onoslistener;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Map;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import net.floodlightcontroller.core.IFloodlightProviderService;
+import net.floodlightcontroller.core.IOFSwitch;
+import net.floodlightcontroller.core.IOFSwitchListener;
+import net.floodlightcontroller.core.ISwitchStorage;
+import net.floodlightcontroller.core.internal.SwitchStorageImpl;
+import net.floodlightcontroller.core.module.FloodlightModuleContext;
+import net.floodlightcontroller.core.module.FloodlightModuleException;
+import net.floodlightcontroller.core.module.IFloodlightModule;
+import net.floodlightcontroller.core.module.IFloodlightService;
+import net.floodlightcontroller.devicemanager.IDevice;
+import net.floodlightcontroller.devicemanager.IDeviceListener;
+import net.floodlightcontroller.devicemanager.IDeviceService;
+import net.floodlightcontroller.devicemanager.IDeviceStorage;
+import net.floodlightcontroller.devicemanager.internal.DeviceStorageImpl;
+import net.floodlightcontroller.linkdiscovery.ILinkDiscoveryListener;
+
+public class OnosPublisher implements IDeviceListener, IOFSwitchListener,
+		ILinkDiscoveryListener, IFloodlightModule {
+	
+	protected IDeviceStorage devStore;
+	protected ISwitchStorage swStore;
+	protected static Logger log;
+	protected IDeviceService deviceService;
+	
+	protected static final String DBConfigFile = "dbconf";
+
+	@Override
+	public void linkDiscoveryUpdate(LDUpdate update) {
+		// TODO Auto-generated method stub
+
+	}
+
+	@Override
+	public void addedSwitch(IOFSwitch sw) {
+		// TODO Auto-generated method stub
+
+	}
+
+	@Override
+	public void removedSwitch(IOFSwitch sw) {
+		// TODO Auto-generated method stub
+
+	}
+
+	@Override
+	public void switchPortChanged(Long switchId) {
+		// TODO Auto-generated method stub
+
+	}
+
+	@Override
+	public String getName() {
+		return "OnosPublisher";
+	}
+
+	@Override
+	public void deviceAdded(IDevice device) {
+		// TODO Auto-generated method stub
+		log.debug("{}:deviceAdded(): Adding device {}",this.getClass(),device.getMACAddressString());
+		devStore.addDevice(device);
+	}
+
+	@Override
+	public void deviceRemoved(IDevice device) {
+		// TODO Auto-generated method stub
+
+	}
+
+	@Override
+	public void deviceMoved(IDevice device) {
+		// TODO Auto-generated method stub
+		devStore.changeDeviceAttachments(device);
+
+	}
+
+	@Override
+	public void deviceIPV4AddrChanged(IDevice device) {
+		// TODO Auto-generated method stub
+		devStore.changeDeviceIPv4Address(device);
+
+	}
+
+	@Override
+	public void deviceVlanChanged(IDevice device) {
+		// TODO Auto-generated method stub
+	}
+	
+
+	@Override
+	public Collection<Class<? extends IFloodlightService>> getModuleServices() {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	@Override
+	public Map<Class<? extends IFloodlightService>, IFloodlightService> getServiceImpls() {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	@Override
+	public Collection<Class<? extends IFloodlightService>> getModuleDependencies() {
+	    Collection<Class<? extends IFloodlightService>> l =
+	            new ArrayList<Class<? extends IFloodlightService>>();
+	        l.add(IFloodlightProviderService.class);
+	        l.add(IDeviceService.class);
+	        return l;
+	}
+
+	@Override
+	public void init(FloodlightModuleContext context)
+			throws FloodlightModuleException {
+		// TODO Auto-generated method stub
+		Map<String, String> configMap = context.getConfigParams(this);
+		String conf = configMap.get(DBConfigFile);
+		
+		log = LoggerFactory.getLogger(OnosPublisher.class);
+		deviceService = context.getServiceImpl(IDeviceService.class);
+		
+		swStore = new SwitchStorageImpl();
+		swStore.init(conf);
+		devStore = new DeviceStorageImpl();
+		devStore.init(conf);
+		
+		log.debug("Initializing OnosPublisher module with {}", conf);
+		
+	}
+
+	@Override
+	public void startUp(FloodlightModuleContext context) {
+		// TODO Auto-generated method stub
+		deviceService.addListener(this);		
+	}
+
+}