@Override
	public void onMessageReceived(Message message) {
		LOG.info(message.toString());

		switch (message.getType()) {
		case ASK_FOR_LOCATION:

			String droneId = new String(message.getPayload());

			if (droneId.equals(this.drone5937.getId())) {
				
				if(this.drone5937DispatcherThread != null){
					this.drone5937DispatcherThread.resumeSendingLocation();
				}
				else{
					this.drone5937DispatcherThread = new DispatcherThread(drone5937);
					this.drone5937DispatcherThread.start();
				}
									
			} else if (droneId.equals(this.drone6043.getId())) {	
				
				if( this.drone6043DispatcherThread != null ){
					this.drone6043DispatcherThread.resumeSendingLocation();		
				}
				else{
					this.drone6043DispatcherThread = new DispatcherThread(drone6043);
					this.drone6043DispatcherThread.start();
				}
			}

			break;
		case TRAFFIC_REPORT: {
			this.reportService.saveTrafficRepotEntry(MessageConvertor.jsonBytesArrayToObject(message.getPayload(), TrafficReportEntry.class));
		}
		break;

		default:
			LOG.info("Nothing to be done here!");
			break;
		}
	}