// Path: Framework/Simulator/MobileOffloadSimulator/src/main/java/cs/mc/ut/ee/utilities/Commons.java
// public class Commons {
// 	
// 	final static double fixInterArivalTime = 0.1;
// 
// }
// 
// 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;
// 	}
// 	
// 	
// 	
// 	
// 	
// 	
// 	
// }


import cs.mc.ut.ee.utilities.Commons;
import cs.mc.ut.ee.utilities.SimulatorConfiguration;
import cs.mc.ut.ee.utilities.WorkLoad;
/*
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU General Public License for more details.
 * 
 * Please send inquiries to huber AT ut DOT ee
 */

package cs.mc.ut.ee.simulator.interarrival;


public class Controller {

	/**
	 * @author Huber Flores
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		SimulatorConfiguration operation = new SimulatorConfiguration();
// Path: Framework/Simulator/MobileOffloadSimulator/src/main/java/cs/mc/ut/ee/utilities/Commons.java
// public class Commons {
// 	
// 	final static double fixInterArivalTime = 0.1;
// 
// }
// 
// 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/cs/mc/ut/ee/simulator/interarrival/Controller.java
import cs.mc.ut.ee.utilities.Commons;
import cs.mc.ut.ee.utilities.SimulatorConfiguration;
import cs.mc.ut.ee.utilities.WorkLoad;

/*
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU General Public License for more details.
 * 
 * Please send inquiries to huber AT ut DOT ee
 */

package cs.mc.ut.ee.simulator.interarrival;


public class Controller {

	/**
	 * @author Huber Flores
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		SimulatorConfiguration operation = new SimulatorConfiguration();
		Commons.mode = operation.getSimulatorMode();