use of il.ac.technion.cs.smarthouse.DeveloperSimulator.DeveloperSimulatorGui in project Smartcity-Smarthouse by TechnionYP5777.
the class Entry method main.
public static void main(final String[] args) {
SensorsSimulator simulator = new SensorsSimulator().setGeneralStreamingInteval(TimeUnit.SECONDS.toMillis(5));
SystemPresenterFactory factory = new SystemPresenterFactory().initMode(SystemMode.USER_MODE).enableModePopup(false).setUseCloudServer(false).enableLocalDatabase(false);
new Reflections("il.ac.technion.cs.smarthouse.applications", new SubTypesScanner(false)).getSubTypesOf(SmarthouseApplication.class).forEach(cls -> {
factory.addApplicationToInstall(new ApplicationPath(PathType.CLASS, cls));
if (Simulatable.class.isAssignableFrom(cls))
try {
simulator.addAllSensor(((Simulatable) cls.newInstance()).getSimulatedSensors());
} catch (InstantiationException | IllegalAccessException e) {
// Ignoring
}
});
factory.build();
new Thread() {
@Override
public void interrupt() {
simulator.stopSendingMsgsInAllSensors();
super.interrupt();
}
@Override
public void run() {
simulator.startSendingMsgsInAllSensors();
JavaFxHelper.startGui(new DeveloperSimulatorGui().setSimulator(simulator));
super.run();
}
}.start();
}
use of il.ac.technion.cs.smarthouse.DeveloperSimulator.DeveloperSimulatorGui in project Smartcity-Smarthouse by TechnionYP5777.
the class SmarthouseApplication method launch.
/**
* A static launch function for testing. You can use it the main function in
* order to run the house with the application installed on it.
*
* @param simluator
* @param showSimulatorGui
* @throws Exception
*/
protected static void launch(final SensorsSimulator simluator, final Boolean showSimulatorGui) throws Exception {
final SystemPresenter p = new SystemPresenterFactory().setUseCloudServer(false).setRegularFileSystemListeners(false).addApplicationToInstall(new ApplicationPath(PathType.CLASS_NAME, new Throwable().getStackTrace()[1].getClassName())).initMode(SystemMode.DEVELOPER_MODE).enableModePopup(false).build();
Optional.ofNullable(simluator).ifPresent(s -> new Thread() {
@Override
public void interrupt() {
s.stopSendingMsgsInAllSensors();
super.interrupt();
}
@Override
public void run() {
s.startSendingMsgsInAllSensors();
if (showSimulatorGui)
JavaFxHelper.startGui(new DeveloperSimulatorGui().setSimulator(s));
super.run();
}
}.start());
p.getSystemView().gotoAppsTab();
}
Aggregations