// Path: TracesSimulator/Loader/Simulator/src/main/java/cs/mc/ut/ee/utilities/WorkLoad.java
// public class WorkLoad {
// 	
// 	/**
// 	 * Traces mode
// 	 */
// 	
// 	public static WorkLoad instance;
// 	
// 	LinkedList<DataTrace> users = null;
// 	
// 	private WorkLoad(){
// 		
// 	}
// 	
// 	public static synchronized WorkLoad getInstance(){
// 		if (instance==null){
// 			instance = new WorkLoad();
// 			return instance;
// 		}
// 		
// 		return instance;
// 	}
// 
// 	public void setUsersWorkLoad(List<DataTrace> users){
// 		this.users = (LinkedList<DataTrace>) users;
// 	}
// 	
// 	
// 	public DataTrace getUser(){
// 		if (users!=null){
// 			if (!users.isEmpty()){
// 				DataTrace user = users.removeFirst();
// 				return user;
// 			}
// 		}
// 		
// 		return null;
// 	}
// 	
// 	/**
// 	 * Interarrival mode
// 	 */
// 	
// 	private int numberOfUsers = 0;
// 	private int numberOfGroups = 0;
// 	
// 	List<DataTrace> snapShot;
// 	
// 	public void setNumberOfUsers(int numberOfUsers){
// 		this.numberOfUsers = numberOfUsers;
// 	}
// 	
// 	public int getNumberOfUsers(){
// 		return this.numberOfUsers;
// 	}
// 	
// 	public void setAccelerationGroups(int numberOfGroups){
// 		this.numberOfGroups = numberOfGroups;
// 	}
// 	
// 	public int getNumberOfGroups(){
// 		return this.numberOfGroups;
// 	}
// 	
// 	public void generateSnapShot(){
// 		snapShot = new ArrayList<DataTrace>();
// 		for (int i=0; i<numberOfUsers; i++){
// 			//int acceleration = ParametersSimulator.getRandomNumber(numberOfGroups); //snapshot in time
// 			int acceleration = 0; //everybody initiates in 0
// 			snapShot.add(new DataTrace(String.valueOf(i), "user"+i, String.valueOf(acceleration)));
// 		}
// 	}
// 	
// 	public DataTrace getSnapShotUser(){
// 		if (snapShot!=null){
// 			if (!snapShot.isEmpty()){
// 				int index = ParametersSimulator.getRandomNumber(snapShot.size());
// 				
// 				DataTrace user = snapShot.get(index);
// 				
// 				return user;
// 			}
// 		}
// 		
// 		return null;
// 	}
// 	
// 	
// 	public void promoteSnapShotUser(int index, String id, String userId, String accGroup){
// 		snapShot.get(index).setIndex(Integer.valueOf(id));
// 		snapShot.get(index).setUserId(userId);
// 		snapShot.get(index).setAccGroup(accGroup);
// 		
// 	}
// 	
// 	
// 	public int getSnapShotUserIndex(String index){
// 		for (int i=0; i<snapShot.size(); i++){
// 			if (snapShot.get(i).getIndex() == Integer.valueOf(index)){
// 				return i;
// 			}
// 		}
// 		
// 		return 0;
// 	}
// 	
// 	
// 	
// 	
// 	
// 	
// 	
// }
// 
// Path: TracesSimulator/Loader/Simulator/src/main/java/fi/cs/ubicomp/traces/DataTrace.java
// public class DataTrace {
// 	
// 	private int index;
// 	private String userId;
// 	private String accGroup;
// 	
// 	public DataTrace(String index, String userId, String accGroup){
// 		this.index = Integer.parseInt(index);
// 		this.userId = userId;
// 		this.accGroup = accGroup;
// 	}
// 
// 	public int getIndex(){
// 		return this.index;
// 	}
// 	
// 	public String getUserId(){
// 		return this.userId;
// 	}
// 	
// 	public String getAccGroup(){
// 		return this.accGroup;
// 	}
// 	
// 	
// 	public void setIndex(int index){
// 		this.index = index;
// 	}
// 	
// 	
// 	public void setUserId(String userId){
// 		this.userId = userId;
// 	}
// 	
// 	public void setAccGroup(String accGroup){
// 		this.accGroup = accGroup;
// 	}
// 	
// }


import java.util.Random;
import cs.mc.ut.ee.utilities.WorkLoad;
import fi.cs.ubicomp.traces.DataTrace;
package cs.mc.ut.ee.utilities;




public class ParametersSimulator {

		
	public static double GenerateDouble(double min, double max){
		Random r = new Random();
		double value = min + (max - min) * r.nextDouble();
		
		return value;	
	}
	
	
	public static int GenerateInts(int min, int max){
		Random r = new Random();
		int value = r.nextInt(max-min) + min;
		
		return value;
	}
	
	
	public static String[] getUser(){
// Path: TracesSimulator/Loader/Simulator/src/main/java/cs/mc/ut/ee/utilities/WorkLoad.java
// public class WorkLoad {
// 	
// 	/**
// 	 * Traces mode
// 	 */
// 	
// 	public static WorkLoad instance;
// 	
// 	LinkedList<DataTrace> users = null;
// 	
// 	private WorkLoad(){
// 		
// 	}
// 	
// 	public static synchronized WorkLoad getInstance(){
// 		if (instance==null){
// 			instance = new WorkLoad();
// 			return instance;
// 		}
// 		
// 		return instance;
// 	}
// 
// 	public void setUsersWorkLoad(List<DataTrace> users){
// 		this.users = (LinkedList<DataTrace>) users;
// 	}
// 	
// 	
// 	public DataTrace getUser(){
// 		if (users!=null){
// 			if (!users.isEmpty()){
// 				DataTrace user = users.removeFirst();
// 				return user;
// 			}
// 		}
// 		
// 		return null;
// 	}
// 	
// 	/**
// 	 * Interarrival mode
// 	 */
// 	
// 	private int numberOfUsers = 0;
// 	private int numberOfGroups = 0;
// 	
// 	List<DataTrace> snapShot;
// 	
// 	public void setNumberOfUsers(int numberOfUsers){
// 		this.numberOfUsers = numberOfUsers;
// 	}
// 	
// 	public int getNumberOfUsers(){
// 		return this.numberOfUsers;
// 	}
// 	
// 	public void setAccelerationGroups(int numberOfGroups){
// 		this.numberOfGroups = numberOfGroups;
// 	}
// 	
// 	public int getNumberOfGroups(){
// 		return this.numberOfGroups;
// 	}
// 	
// 	public void generateSnapShot(){
// 		snapShot = new ArrayList<DataTrace>();
// 		for (int i=0; i<numberOfUsers; i++){
// 			//int acceleration = ParametersSimulator.getRandomNumber(numberOfGroups); //snapshot in time
// 			int acceleration = 0; //everybody initiates in 0
// 			snapShot.add(new DataTrace(String.valueOf(i), "user"+i, String.valueOf(acceleration)));
// 		}
// 	}
// 	
// 	public DataTrace getSnapShotUser(){
// 		if (snapShot!=null){
// 			if (!snapShot.isEmpty()){
// 				int index = ParametersSimulator.getRandomNumber(snapShot.size());
// 				
// 				DataTrace user = snapShot.get(index);
// 				
// 				return user;
// 			}
// 		}
// 		
// 		return null;
// 	}
// 	
// 	
// 	public void promoteSnapShotUser(int index, String id, String userId, String accGroup){
// 		snapShot.get(index).setIndex(Integer.valueOf(id));
// 		snapShot.get(index).setUserId(userId);
// 		snapShot.get(index).setAccGroup(accGroup);
// 		
// 	}
// 	
// 	
// 	public int getSnapShotUserIndex(String index){
// 		for (int i=0; i<snapShot.size(); i++){
// 			if (snapShot.get(i).getIndex() == Integer.valueOf(index)){
// 				return i;
// 			}
// 		}
// 		
// 		return 0;
// 	}
// 	
// 	
// 	
// 	
// 	
// 	
// 	
// }
// 
// Path: TracesSimulator/Loader/Simulator/src/main/java/fi/cs/ubicomp/traces/DataTrace.java
// public class DataTrace {
// 	
// 	private int index;
// 	private String userId;
// 	private String accGroup;
// 	
// 	public DataTrace(String index, String userId, String accGroup){
// 		this.index = Integer.parseInt(index);
// 		this.userId = userId;
// 		this.accGroup = accGroup;
// 	}
// 
// 	public int getIndex(){
// 		return this.index;
// 	}
// 	
// 	public String getUserId(){
// 		return this.userId;
// 	}
// 	
// 	public String getAccGroup(){
// 		return this.accGroup;
// 	}
// 	
// 	
// 	public void setIndex(int index){
// 		this.index = index;
// 	}
// 	
// 	
// 	public void setUserId(String userId){
// 		this.userId = userId;
// 	}
// 	
// 	public void setAccGroup(String accGroup){
// 		this.accGroup = accGroup;
// 	}
// 	
// }


// Path: TracesSimulator/Loader/Simulator/src/main/java/cs/mc/ut/ee/utilities/ParametersSimulator.java
import java.util.Random;
import cs.mc.ut.ee.utilities.WorkLoad;
import fi.cs.ubicomp.traces.DataTrace;

package cs.mc.ut.ee.utilities;




public class ParametersSimulator {

		
	public static double GenerateDouble(double min, double max){
		Random r = new Random();
		double value = min + (max - min) * r.nextDouble();
		
		return value;	
	}
	
	
	public static int GenerateInts(int min, int max){
		Random r = new Random();
		int value = r.nextInt(max-min) + min;
		
		return value;
	}
	
	
	public static String[] getUser(){
		DataTrace user = WorkLoad.getInstance().getUser();