package com.optimize.downstream.samplekinesisproducer; import com.optimize.downstream.sensors.Accelerometer; import com.optimize.downstream.sensors.GPS; import com.optimize.downstream.sensors.Illuminance; import com.optimize.downstream.sensors.TemperatureSensor; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.Random; import java.util.UUID; import java.util.concurrent.BlockingQueue; import java.util.concurrent.atomic.AtomicLong; public class IOTDeviceProducerToBlockingQueue implements Runnable { private final BlockingQueue inputQueue; private volatile boolean shutdown = false; private final AtomicLong recordsPut = new AtomicLong(0); private Random random = new Random(); private int numberOfSamplesInEachMessage; private int numberOfMessages; public IOTDeviceProducerToBlockingQueue(BlockingQueue inputQueue, int numberOfMessages, int numberOfSamplesInEachMessage) { this.inputQueue = inputQueue; this.numberOfSamplesInEachMessage = numberOfSamplesInEachMessage; this.numberOfMessages = numberOfMessages; } public void run() { long threadId = Thread.currentThread().getId(); //System.out.println("Thread # " + threadId + " is doing this task"); //while (!shutdown) { for(int i=0;i getAccelerometerList() { ArrayList accelerometerArrayList = new ArrayList(); for(int i =0;i getGpsArrayList() { ArrayList gpsArrayList = new ArrayList(); for(int i =0; i< numberOfSamplesInEachMessage; i++) { GPS g = new GPS(); g.setAltitude(getRandomDouble(1,10)); g.setHeading(getRandomDouble(1,10)); g.setLatitude(Math.random() * Math.PI * 2); g.setLongitude(Math.acos(Math.random() * 2 - 1)); gpsArrayList.add(g); } return gpsArrayList; } private ArrayList getIlluminanceArrayList() { ArrayList illuminanceArrayList = new ArrayList(); for(int i =0; i< numberOfSamplesInEachMessage; i++) { Illuminance il = new Illuminance(); il.setIlluminance(getRandomDouble(1,100)); illuminanceArrayList.add(il); } return illuminanceArrayList; } private ArrayList getTemperatureSensorArrayList() { ArrayList temperatureSensorArrayList = new ArrayList(); for (int i=0;i