package ru.ifmo.alarm; import ru.ifmo.alarm.controlled.LightDiode; import ru.ifmo.alarm.controlled.Lights; import ru.ifmo.alarm.controlled.Sounds; import ru.ifmo.alarm.controlled.StateTimerStarter; import ru.ifmo.alarm.controlled.Commentator; import ru.ifmo.alarm.event.HitSensor; import ru.ifmo.alarm.event.RemoteControl; import ru.ifmo.alarm.event.StateTimer; import com.evelopers.unimod.runtime.ModelEngine; import com.evelopers.unimod.runtime.QueuedHandler; import com.evelopers.unimod.runtime.ControlledObjectsManager; import com.evelopers.unimod.runtime.ControlledObject; import com.evelopers.unimod.runtime.EventProvidersManager; import com.evelopers.unimod.runtime.EventProvider; import com.evelopers.common.exception.CommonException; public class Main { public static void main(String[] args) { try { ModelEngine me = ModelEngine.createStandAlone( new QueuedHandler(), new Model1EventProcessor(), new ControlledObjectsManager() { Lights o1 = new Lights(); StateTimerStarter o2 = new StateTimerStarter(); Sounds o3 = new Sounds(); LightDiode o4 = new LightDiode(); Commentator o5 = new Commentator(); public void init(ModelEngine engine) throws CommonException {} public void dispose() {} public ControlledObject getControlledObject(String coName) { if (coName.equals("o1")) { return o1; } else if (coName.equals("o2")) { return o2; } else if (coName.equals("o3")) { return o3; } else if (coName.equals("o4")) { return o4; } else if (coName.equals("o5")) { return o5; } else { System.out.println("No such object (look Main.java)"); return null; } } }, new EventProvidersManager() { RemoteControl p1 = new RemoteControl(); HitSensor p2 = new HitSensor(); StateTimer p3 = new StateTimer(); public void init(ModelEngine engine) throws CommonException { p1.init(engine); p2.init(engine); p3.init(engine); } public void dispose() { p1.dispose(); p2.dispose(); p3.dispose(); } public EventProvider getEventProvider(String epName) { if (epName.equals("p1")) { return p1; } else if (epName.equals("p2")) { return p2; } else { return p3; } } }); me.start(); } catch(CommonException e) { System.out.println(e.toString()); } } }