Search in sources :

Example 1 with Simulatable

use of il.ac.technion.cs.smarthouse.sensors.Simulatable 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();
}
Also used : SensorsSimulator(il.ac.technion.cs.smarthouse.sensors.simulator.SensorsSimulator) SystemPresenterFactory(il.ac.technion.cs.smarthouse.system_presenter.SystemPresenterFactory) Simulatable(il.ac.technion.cs.smarthouse.sensors.Simulatable) DeveloperSimulatorGui(il.ac.technion.cs.smarthouse.DeveloperSimulator.DeveloperSimulatorGui) SubTypesScanner(org.reflections.scanners.SubTypesScanner) SmarthouseApplication(il.ac.technion.cs.smarthouse.developers_api.SmarthouseApplication) ApplicationPath(il.ac.technion.cs.smarthouse.system.applications.installer.ApplicationPath) Reflections(org.reflections.Reflections)

Aggregations

DeveloperSimulatorGui (il.ac.technion.cs.smarthouse.DeveloperSimulator.DeveloperSimulatorGui)1 SmarthouseApplication (il.ac.technion.cs.smarthouse.developers_api.SmarthouseApplication)1 Simulatable (il.ac.technion.cs.smarthouse.sensors.Simulatable)1 SensorsSimulator (il.ac.technion.cs.smarthouse.sensors.simulator.SensorsSimulator)1 ApplicationPath (il.ac.technion.cs.smarthouse.system.applications.installer.ApplicationPath)1 SystemPresenterFactory (il.ac.technion.cs.smarthouse.system_presenter.SystemPresenterFactory)1 Reflections (org.reflections.Reflections)1 SubTypesScanner (org.reflections.scanners.SubTypesScanner)1