/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package sw_digitalworks;
import sw_digitalworks.Model.ComponentModel;
import sw_digitalworks.Model.InteractiveInput;
import sw_digitalworks.Model.LED;
import sw_digitalworks.Model.Gate;
import sw_digitalworks.Model.NandGate;
import sw_digitalworks.Model.AndGate;
/**
*
* @author digitalworks58765
*/
public class Main {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// Set<InPort> inports = new HashSet<InPort>();
// Set<OutPort> outports = new HashSet<OutPort>();
// TODO code application logic here
//LEDList leds = new LEDList();
ComponentModel.leds.add(new LED("LED 1"));
ComponentModel.leds.add(new LED("LED 2"));
// inports.add(leds.getByName("LED 1").getInPort());
// inports.add(leds.getByName("LED 1").getInPort());
// ComponentModel.add(leds.getByName("LED 2"));
InteractiveInput ip1 = new InteractiveInput("IP 1");
InteractiveInput ip2 = new InteractiveInput("IP 2");
// ComponentModel.add(ip1);
// ComponentModel.add(ip2);
Gate cp1 = new AndGate("AND G",2);
Gate cp2 = new NandGate("NAND G",2);
//Kapuk összekötése
cp1.Connect(cp2.getInPorts()[0]);
cp2.Connect(cp1.getInPorts()[1]);
//LEDEK bekötése
cp1.Connect(ComponentModel.leds.getByName("LED 1"));
cp2.Connect(ComponentModel.leds.getByName("LED 2"));
//Inputok bekötése
ip1.Connect(cp1.getInPorts()[0]);
ip2.Connect(cp2.getInPorts()[1]);
try {
//Set the values of InPorts
ComponentModel.leds.ShowLEDs();
ip1.On();
ComponentModel.leds.ShowLEDs();
ip2.On();
ComponentModel.leds.ShowLEDs();
// cp1.Reset();
// cp2.Reset();
ip2.Off();
ComponentModel.leds.ShowLEDs();
ip1.On();
ComponentModel.leds.ShowLEDs();
ip1.Off();
ComponentModel.leds.ShowLEDs();
ip2.Off();
ComponentModel.leds.ShowLEDs();
ip2.On();
ComponentModel.leds.ShowLEDs();
} catch (Exception e) {
System.out.println(e.getClass());
} finally {
System.out.println("Vege");
}
}
}