RandomTestReader.java 1.09 KB
package fi.insomnia.intra.rfid;

import java.util.Calendar;
import java.util.Random;
import java.util.Timer;
import java.util.TimerTask;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;


public class RandomTestReader extends TagContainer {

    private static final Logger logger = LoggerFactory.getLogger(RandomTestReader.class);
    private Timer timer;
    private Random rng;

    public RandomTestReader() {
	super("Random Reader for testing");
	timer = new Timer();
	rng = new Random(Calendar.getInstance().getTimeInMillis());

	timer.schedule(new TimerTask() {

	    @Override
	    public void run() {
		try{
		    rndUser();
		}catch(IllegalStateException e)
		{
		    logger.warn("Shutting down RandomReader because exception",e);
		    timer.cancel();
		}
	    }
	}, 5000L, 5000L);
    }

    
    private void rndUser() {
	String tag = null;
	if (rng.nextInt(3) == 0) {
	    StringBuilder sb = new StringBuilder();
	    for (int i = 0; i < 16; ++i) {
		sb.append(rng.nextInt(9));
	    }
	    tag = sb.toString();
	} else {
	    long next = rng.nextInt(200) + 2;
	  }

	this.foundTag(tag);
    }
}