package cadena.mediumsp;

public class MediumSPScenario{
	public static void main(String[] args) throws Exception {
		org.omg.Components.CCMHome ccmhome;
		// Init the ORB.
		System.out.println("Initializing the ORB...");
		// Init the OpenCCM Components Runtime.
		org.omg.CORBA.ORB corbaorb = org.objectweb.ccm.Components.Runtime.init(args);

		// Obtain the Name Service.
		System.out.println("Obtaining the Name Service...");
		org.omg.CORBA.Object corbaobj = corbaorb.resolve_initial_references("NameService");
		org.omg.CosNaming.NamingContext namingContext = org.omg.CosNaming.NamingContextHelper.narrow(corbaobj);

		// Obtain the component servers.
		System.out.println("Obtaining Component Servers...");
		org.omg.CosNaming.NameComponent[] nameComponent = new org.omg.CosNaming.NameComponent[1];
		nameComponent[0] = new org.omg.CosNaming.NameComponent("ComponentServer1","");
		corbaobj = namingContext.resolve(nameComponent);
		org.objectweb.ccm.Deployment.Server componentserver1_server =
		org.objectweb.ccm.Deployment.ServerHelper.narrow(corbaobj);
		nameComponent[0].id = "ComponentServer2";
		corbaobj = namingContext.resolve(nameComponent);
		org.objectweb.ccm.Deployment.Server componentserver2_server = 
		org.objectweb.ccm.Deployment.ServerHelper.narrow(corbaobj);

		// Obtain the container homes.
		org.omg.Components.Deployment.ComponentServer componentserver1_cs = 
		componentserver1_server.provide_component_server();
		org.omg.Components.Deployment.ComponentServer componentserver2_cs = 
		componentserver2_server.provide_component_server();

		//Install archives.
		System.out.println("Installing archives...");
		org.omg.Components.Deployment.ComponentInstallation componentserver1_inst = 
		componentserver1_server.provide_install();
		org.omg.Components.Deployment.ComponentInstallation componentserver2_inst = 
		componentserver2_server.provide_install();
		componentserver1_inst.install("mediumsp", "./archives/mediumsp.jar");
		componentserver2_inst.install("mediumsp", "./archives/mediumsp.jar");
		componentserver1_inst.install("openccm_plugins", "./OpenCCM_Plugins.jar");
		componentserver2_inst.install("openccm_plugins", "./OpenCCM_Plugins.jar");

		org.omg.Components.Deployment.Container componentserver1_cont =
			componentserver1_cs.create_container(new org.omg.Components.ConfigValue[0]);

		org.omg.Components.Deployment.Container componentserver2_cont =
			componentserver2_cs.create_container(new org.omg.Components.ConfigValue[0]);

		System.out.println("Instantiating homes, components...");
		ccmhome = componentserver1_cont.install_home("mediumsp", "cadena.common.EventChannelHomeImpl.create_home",
 		new org.omg.Components.ConfigValue[0]);
		cadena.common.EventChannelHome eventchannelComponentServer1Home = cadena.common.EventChannelHomeHelper.narrow(ccmhome);
		cadena.common.EventChannel eventchannel = eventchannelComponentServer1Home.create();
		ccmhome = componentserver2_cont.install_home("mediumsp", "cadena.common.BMDeviceHomeImpl.create_home",
 		new org.omg.Components.ConfigValue[0]);
		cadena.common.BMDeviceHome bmdeviceComponentServer2Home = cadena.common.BMDeviceHomeHelper.narrow(ccmhome);
		cadena.common.BMDevice gps = bmdeviceComponentServer2Home.create();
		cadena.common.BMDevice ins = bmdeviceComponentServer2Home.create();
		cadena.common.BMDevice adc = bmdeviceComponentServer2Home.create();
		cadena.common.BMDevice radar1 = bmdeviceComponentServer2Home.create();
		cadena.common.BMDevice tracksensor1 = bmdeviceComponentServer2Home.create();
		cadena.common.BMDevice tracksensor2 = bmdeviceComponentServer2Home.create();
		cadena.common.BMDevice tracksensor3 = bmdeviceComponentServer2Home.create();
		cadena.common.BMDevice tracksensor4 = bmdeviceComponentServer2Home.create();
		cadena.common.BMDevice radar2 = bmdeviceComponentServer2Home.create();
		ccmhome = componentserver2_cont.install_home("mediumsp", "cadena.mediumsp.FourCorrelatorHomeImpl.create_home",
 		new org.omg.Components.ConfigValue[0]);
		cadena.mediumsp.FourCorrelatorHome fourcorrelatorComponentServer2Home = cadena.mediumsp.FourCorrelatorHomeHelper.narrow(ccmhome);
		cadena.mediumsp.FourCorrelator toairframefourdataavailable = fourcorrelatorComponentServer2Home.create();
		ccmhome = componentserver2_cont.install_home("mediumsp", "cadena.mediumsp.BMLazyActive1HomeImpl.create_home",
 		new org.omg.Components.ConfigValue[0]);
		cadena.mediumsp.BMLazyActive1Home bmlazyactive1ComponentServer2Home = cadena.mediumsp.BMLazyActive1HomeHelper.narrow(ccmhome);
		cadena.mediumsp.BMLazyActive1 airframe = bmlazyactive1ComponentServer2Home.create();
		ccmhome = componentserver2_cont.install_home("mediumsp", "cadena.common.BMDisplayHomeImpl.create_home",
 		new org.omg.Components.ConfigValue[0]);
		cadena.common.BMDisplayHome bmdisplayComponentServer2Home = cadena.common.BMDisplayHomeHelper.narrow(ccmhome);
		cadena.common.BMDisplay navdisplay = bmdisplayComponentServer2Home.create();
		ccmhome = componentserver2_cont.install_home("mediumsp", "cadena.mediumsp.ThreeCorrelatorHomeImpl.create_home",
 		new org.omg.Components.ConfigValue[0]);
		cadena.mediumsp.ThreeCorrelatorHome threecorrelatorComponentServer2Home = cadena.mediumsp.ThreeCorrelatorHomeHelper.narrow(ccmhome);
		cadena.mediumsp.ThreeCorrelator totrack1threedataavailable = threecorrelatorComponentServer2Home.create();
		ccmhome = componentserver2_cont.install_home("mediumsp", "cadena.mediumsp.BMOpenED1HomeImpl.create_home",
 		new org.omg.Components.ConfigValue[0]);
		cadena.mediumsp.BMOpenED1Home bmopened1ComponentServer2Home = cadena.mediumsp.BMOpenED1HomeHelper.narrow(ccmhome);
		cadena.mediumsp.BMOpenED1 track1 = bmopened1ComponentServer2Home.create();
		ccmhome = componentserver2_cont.install_home("mediumsp", "cadena.mediumsp.TwoCorrelatorHomeImpl.create_home",
 		new org.omg.Components.ConfigValue[0]);
		cadena.mediumsp.TwoCorrelatorHome twocorrelatorComponentServer2Home = cadena.mediumsp.TwoCorrelatorHomeHelper.narrow(ccmhome);
		cadena.mediumsp.TwoCorrelator totrack2twodataavailable = twocorrelatorComponentServer2Home.create();
		ccmhome = componentserver2_cont.install_home("mediumsp", "cadena.mediumsp.BMOpenED2HomeImpl.create_home",
 		new org.omg.Components.ConfigValue[0]);
		cadena.mediumsp.BMOpenED2Home bmopened2ComponentServer2Home = cadena.mediumsp.BMOpenED2HomeHelper.narrow(ccmhome);
		cadena.mediumsp.BMOpenED2 track2 = bmopened2ComponentServer2Home.create();
		ccmhome = componentserver2_cont.install_home("mediumsp", "cadena.common.BMOpenEDHomeImpl.create_home",
 		new org.omg.Components.ConfigValue[0]);
		cadena.common.BMOpenEDHome bmopenedComponentServer2Home = cadena.common.BMOpenEDHomeHelper.narrow(ccmhome);
		cadena.common.BMOpenED track3 = bmopenedComponentServer2Home.create();
		cadena.common.BMOpenED track4 = bmopenedComponentServer2Home.create();
		cadena.common.BMOpenED track6 = bmopenedComponentServer2Home.create();
		cadena.mediumsp.TwoCorrelator totrack5twodataavailable = twocorrelatorComponentServer2Home.create();
		ccmhome = componentserver2_cont.install_home("mediumsp", "cadena.mediumsp.BMClosedED1HomeImpl.create_home",
 		new org.omg.Components.ConfigValue[0]);
		cadena.mediumsp.BMClosedED1Home bmcloseded1ComponentServer2Home = cadena.mediumsp.BMClosedED1HomeHelper.narrow(ccmhome);
		cadena.mediumsp.BMClosedED1 track5 = bmcloseded1ComponentServer2Home.create();
		cadena.mediumsp.BMClosedED1 track7 = bmcloseded1ComponentServer2Home.create();
		cadena.mediumsp.BMClosedED1 track8 = bmcloseded1ComponentServer2Home.create();
		ccmhome = componentserver2_cont.install_home("mediumsp", "cadena.common.BMClosedEDHomeImpl.create_home",
 		new org.omg.Components.ConfigValue[0]);
		cadena.common.BMClosedEDHome bmclosededComponentServer2Home = cadena.common.BMClosedEDHomeHelper.narrow(ccmhome);
		cadena.common.BMClosedED track9 = bmclosededComponentServer2Home.create();
		cadena.mediumsp.BMClosedED1 track10 = bmcloseded1ComponentServer2Home.create();
		ccmhome = componentserver2_cont.install_home("mediumsp", "cadena.mediumsp.TwelveCorrelatorHomeImpl.create_home",
 		new org.omg.Components.ConfigValue[0]);
		cadena.mediumsp.TwelveCorrelatorHome twelvecorrelatorComponentServer2Home = cadena.mediumsp.TwelveCorrelatorHomeHelper.narrow(ccmhome);
		cadena.mediumsp.TwelveCorrelator totacticalsteeringtwelvedataavailable = twelvecorrelatorComponentServer2Home.create();
		ccmhome = componentserver2_cont.install_home("mediumsp", "cadena.mediumsp.BMOpenED3HomeImpl.create_home",
 		new org.omg.Components.ConfigValue[0]);
		cadena.mediumsp.BMOpenED3Home bmopened3ComponentServer2Home = cadena.mediumsp.BMOpenED3HomeHelper.narrow(ccmhome);
		cadena.mediumsp.BMOpenED3 tacticalsteering = bmopened3ComponentServer2Home.create();
		cadena.common.BMDisplay hud = bmdisplayComponentServer2Home.create();
		cadena.common.BMDisplay tacticaldisplay1 = bmdisplayComponentServer2Home.create();
		cadena.common.BMDisplay tacticaldisplay2 = bmdisplayComponentServer2Home.create();
		ccmhome = componentserver2_cont.install_home("mediumsp", "cadena.mediumsp.BMPushDataSource1HomeImpl.create_home",
 		new org.omg.Components.ConfigValue[0]);
		cadena.mediumsp.BMPushDataSource1Home bmpushdatasource1ComponentServer2Home = cadena.mediumsp.BMPushDataSource1HomeHelper.narrow(ccmhome);
		cadena.mediumsp.BMPushDataSource1 earthmodel = bmpushdatasource1ComponentServer2Home.create();
		ccmhome = componentserver2_cont.install_home("mediumsp", "cadena.common.BMModeSourceHomeImpl.create_home",
 		new org.omg.Components.ConfigValue[0]);
		cadena.common.BMModeSourceHome bmmodesourceComponentServer2Home = cadena.common.BMModeSourceHomeHelper.narrow(ccmhome);
		cadena.common.BMModeSource pilotcontrol = bmmodesourceComponentServer2Home.create();
		ccmhome = componentserver2_cont.install_home("mediumsp", "cadena.common.BMPassiveHomeImpl.create_home",
 		new org.omg.Components.ConfigValue[0]);
		cadena.common.BMPassiveHome bmpassiveComponentServer2Home = cadena.common.BMPassiveHomeHelper.narrow(ccmhome);
		cadena.common.BMPassive waypoint1 = bmpassiveComponentServer2Home.create();
		cadena.common.BMPassive waypoint2 = bmpassiveComponentServer2Home.create();
		cadena.common.BMPassive waypoint3 = bmpassiveComponentServer2Home.create();
		cadena.common.BMPassive waypoint4 = bmpassiveComponentServer2Home.create();
		cadena.common.BMPassive waypoint5 = bmpassiveComponentServer2Home.create();
		cadena.common.BMPassive waypoint6 = bmpassiveComponentServer2Home.create();
		cadena.common.BMPassive waypoint7 = bmpassiveComponentServer2Home.create();
		cadena.common.BMPassive waypoint8 = bmpassiveComponentServer2Home.create();
		cadena.common.BMPassive waypoint9 = bmpassiveComponentServer2Home.create();
		cadena.common.BMPassive waypoint10 = bmpassiveComponentServer2Home.create();
		cadena.mediumsp.ThreeCorrelator toleg1threedataavailable = threecorrelatorComponentServer2Home.create();
		ccmhome = componentserver2_cont.install_home("mediumsp", "cadena.mediumsp.BMLazyActive2HomeImpl.create_home",
 		new org.omg.Components.ConfigValue[0]);
		cadena.mediumsp.BMLazyActive2Home bmlazyactive2ComponentServer2Home = cadena.mediumsp.BMLazyActive2HomeHelper.narrow(ccmhome);
		cadena.mediumsp.BMLazyActive2 leg1 = bmlazyactive2ComponentServer2Home.create();
		cadena.mediumsp.ThreeCorrelator toleg2threedataavailable = threecorrelatorComponentServer2Home.create();
		cadena.mediumsp.BMLazyActive2 leg2 = bmlazyactive2ComponentServer2Home.create();
		cadena.mediumsp.ThreeCorrelator toleg3threedataavailable = threecorrelatorComponentServer2Home.create();
		cadena.mediumsp.BMLazyActive2 leg3 = bmlazyactive2ComponentServer2Home.create();
		cadena.mediumsp.ThreeCorrelator toleg4threedataavailable = threecorrelatorComponentServer2Home.create();
		cadena.mediumsp.BMLazyActive2 leg4 = bmlazyactive2ComponentServer2Home.create();
		cadena.mediumsp.TwoCorrelator toleg5twodataavailable = twocorrelatorComponentServer2Home.create();
		ccmhome = componentserver2_cont.install_home("mediumsp", "cadena.mediumsp.BMLazyActive3HomeImpl.create_home",
 		new org.omg.Components.ConfigValue[0]);
		cadena.mediumsp.BMLazyActive3Home bmlazyactive3ComponentServer2Home = cadena.mediumsp.BMLazyActive3HomeHelper.narrow(ccmhome);
		cadena.mediumsp.BMLazyActive3 leg5 = bmlazyactive3ComponentServer2Home.create();
		ccmhome = componentserver2_cont.install_home("mediumsp", "cadena.common.BMModalHomeImpl.create_home",
 		new org.omg.Components.ConfigValue[0]);
		cadena.common.BMModalHome bmmodalComponentServer2Home = cadena.common.BMModalHomeHelper.narrow(ccmhome);
		//cadena.common.BMModal navsteering = bmmodalComponentServer2Home.create();
		cadena.common.BMModal navsteering = bmmodalComponentServer2Home._new(cadena.common.OnOffMode.enabled);
		//cadena.common.BMModal waypointsteering = bmmodalComponentServer2Home.create();
		cadena.common.BMModal waypointsteering = bmmodalComponentServer2Home._new(cadena.common.OnOffMode.disabled);
		ccmhome = componentserver2_cont.install_home("mediumsp", "cadena.mediumsp.BMOpenED4HomeImpl.create_home",
 		new org.omg.Components.ConfigValue[0]);
		cadena.mediumsp.BMOpenED4Home bmopened4ComponentServer2Home = cadena.mediumsp.BMOpenED4HomeHelper.narrow(ccmhome);
		cadena.mediumsp.BMOpenED4 route = bmopened4ComponentServer2Home.create();
		ccmhome = componentserver2_cont.install_home("mediumsp", "cadena.mediumsp.BMOpenED5HomeImpl.create_home",
 		new org.omg.Components.ConfigValue[0]);
		cadena.mediumsp.BMOpenED5Home bmopened5ComponentServer2Home = cadena.mediumsp.BMOpenED5HomeHelper.narrow(ccmhome);
		cadena.mediumsp.BMOpenED5 flightplan = bmopened5ComponentServer2Home.create();
		cadena.common.BMDisplay flightplandisplay = bmdisplayComponentServer2Home.create();
		cadena.common.BMDisplay navdisplay2 = bmdisplayComponentServer2Home.create();
		cadena.common.BMClosedED groundpoints = bmclosededComponentServer2Home.create();
		cadena.common.BMOpenED pilotprefs = bmopenedComponentServer2Home.create();

		System.out.println("Interconnecting components...");
		eventchannel.subscribe_timeOut20(radar2.get_consumer_timeOut());
		eventchannel.subscribe_timeOut1(pilotcontrol.get_consumer_timeOut());
		eventchannel.subscribe_timeOut20(radar1.get_consumer_timeOut());
		eventchannel.subscribe_timeOut20(ins.get_consumer_timeOut());
		eventchannel.subscribe_timeOut20(gps.get_consumer_timeOut());
		eventchannel.subscribe_timeOut1(earthmodel.get_consumer_timeOut());
		eventchannel.subscribe_timeOut20(tracksensor3.get_consumer_timeOut());
		eventchannel.subscribe_timeOut20(tracksensor2.get_consumer_timeOut());
		eventchannel.subscribe_timeOut20(tracksensor1.get_consumer_timeOut());
		eventchannel.subscribe_timeOut20(adc.get_consumer_timeOut());
		eventchannel.subscribe_timeOut20(tracksensor4.get_consumer_timeOut());
		airframe.connect_dataIn1(gps.provide_dataOut());
		gps.subscribe_outDataAvailable(toairframefourdataavailable.get_consumer_inDataAvailable1());
		ins.subscribe_outDataAvailable(toairframefourdataavailable.get_consumer_inDataAvailable2());
		airframe.connect_dataIn2(ins.provide_dataOut());
		adc.subscribe_outDataAvailable(toairframefourdataavailable.get_consumer_inDataAvailable3());
		airframe.connect_dataIn3(adc.provide_dataOut());
		airframe.connect_dataIn4(radar1.provide_dataOut());
		radar1.subscribe_outDataAvailable(toairframefourdataavailable.get_consumer_inDataAvailable4());
		tracksensor1.subscribe_outDataAvailable(track3.get_consumer_inDataAvailable());
		track7.connect_dataIn1(tracksensor1.provide_dataOut());
		tracksensor1.subscribe_outDataAvailable(totrack2twodataavailable.get_consumer_inDataAvailable1());
		track2.connect_dataIn1(tracksensor1.provide_dataOut());
		track3.connect_dataIn(tracksensor1.provide_dataOut());
		track1.connect_dataIn1(tracksensor1.provide_dataOut());
		tracksensor1.subscribe_outDataAvailable(totrack1threedataavailable.get_consumer_inDataAvailable1());
		track2.connect_dataIn2(tracksensor2.provide_dataOut());
		tracksensor2.subscribe_outDataAvailable(totrack2twodataavailable.get_consumer_inDataAvailable2());
		track7.connect_dataIn2(tracksensor2.provide_dataOut());
		tracksensor2.subscribe_outDataAvailable(totrack1threedataavailable.get_consumer_inDataAvailable2());
		track4.connect_dataIn(tracksensor2.provide_dataOut());
		tracksensor2.subscribe_outDataAvailable(track4.get_consumer_inDataAvailable());
		track1.connect_dataIn2(tracksensor2.provide_dataOut());
		tracksensor3.subscribe_outDataAvailable(totrack1threedataavailable.get_consumer_inDataAvailable3());
		track10.connect_dataIn1(tracksensor3.provide_dataOut());
		track8.connect_dataIn1(tracksensor3.provide_dataOut());
		track5.connect_dataIn1(tracksensor3.provide_dataOut());
		tracksensor3.subscribe_outDataAvailable(totrack5twodataavailable.get_consumer_inDataAvailable1());
		track1.connect_dataIn3(tracksensor3.provide_dataOut());
		tracksensor4.subscribe_outDataAvailable(totrack5twodataavailable.get_consumer_inDataAvailable2());
		track10.connect_dataIn2(tracksensor4.provide_dataOut());
		track9.connect_dataIn(tracksensor4.provide_dataOut());
		track8.connect_dataIn2(tracksensor4.provide_dataOut());
		tracksensor4.subscribe_outDataAvailable(track9.get_consumer_inDataAvailable());
		track6.connect_dataIn(tracksensor4.provide_dataOut());
		tracksensor4.subscribe_outDataAvailable(track6.get_consumer_inDataAvailable());
		track5.connect_dataIn2(tracksensor4.provide_dataOut());
		radar2.subscribe_outDataAvailable(totacticalsteeringtwelvedataavailable.get_consumer_inDataAvailable11());
		tacticalsteering.connect_dataIn11(radar2.provide_dataOut());
		toairframefourdataavailable.subscribe_outDataAvailable(airframe.get_consumer_inDataAvailable());
		airframe.subscribe_outDataAvailable(totacticalsteeringtwelvedataavailable.get_consumer_inDataAvailable12());
		navdisplay.connect_dataIn(airframe.provide_dataOut());
		airframe.subscribe_outDataAvailable(navdisplay.get_consumer_inDataAvailable());
		tacticalsteering.connect_dataIn12(airframe.provide_dataOut());
		totrack1threedataavailable.subscribe_outDataAvailable(track1.get_consumer_inDataAvailable());
		track1.subscribe_outDataAvailable(totacticalsteeringtwelvedataavailable.get_consumer_inDataAvailable1());
		tacticalsteering.connect_dataIn1(track1.provide_dataOut());
		totrack2twodataavailable.subscribe_outDataAvailable(track2.get_consumer_inDataAvailable());
		totrack2twodataavailable.subscribe_outDataAvailable(track7.get_consumer_inDataAvailable());
		tacticalsteering.connect_dataIn2(track2.provide_dataOut());
		track2.subscribe_outDataAvailable(totacticalsteeringtwelvedataavailable.get_consumer_inDataAvailable2());
		tacticalsteering.connect_dataIn3(track3.provide_dataOut());
		track3.subscribe_outDataAvailable(totacticalsteeringtwelvedataavailable.get_consumer_inDataAvailable3());
		track4.subscribe_outDataAvailable(totacticalsteeringtwelvedataavailable.get_consumer_inDataAvailable4());
		tacticalsteering.connect_dataIn4(track4.provide_dataOut());
		tacticalsteering.connect_dataIn6(track6.provide_dataOut());
		track6.subscribe_outDataAvailable(totacticalsteeringtwelvedataavailable.get_consumer_inDataAvailable6());
		totrack5twodataavailable.subscribe_outDataAvailable(track5.get_consumer_inDataAvailable());
		totrack5twodataavailable.subscribe_outDataAvailable(track10.get_consumer_inDataAvailable());
		totrack5twodataavailable.subscribe_outDataAvailable(track8.get_consumer_inDataAvailable());
		tacticalsteering.connect_dataIn5(track5.provide_dataOut());
		track5.subscribe_outDataAvailable(totacticalsteeringtwelvedataavailable.get_consumer_inDataAvailable5());
		track7.subscribe_outDataAvailable(totacticalsteeringtwelvedataavailable.get_consumer_inDataAvailable7());
		tacticalsteering.connect_dataIn7(track7.provide_dataOut());
		track8.subscribe_outDataAvailable(totacticalsteeringtwelvedataavailable.get_consumer_inDataAvailable8());
		tacticalsteering.connect_dataIn8(track8.provide_dataOut());
		tacticalsteering.connect_dataIn9(track9.provide_dataOut());
		track9.subscribe_outDataAvailable(totacticalsteeringtwelvedataavailable.get_consumer_inDataAvailable9());
		track10.subscribe_outDataAvailable(totacticalsteeringtwelvedataavailable.get_consumer_inDataAvailable10());
		tacticalsteering.connect_dataIn10(track10.provide_dataOut());
		totacticalsteeringtwelvedataavailable.subscribe_outDataAvailable(tacticalsteering.get_consumer_inDataAvailable());
		tacticalsteering.subscribe_outDataAvailable(tacticaldisplay2.get_consumer_inDataAvailable());
		tacticalsteering.subscribe_outDataAvailable(hud.get_consumer_inDataAvailable());
		tacticaldisplay2.connect_dataIn(tacticalsteering.provide_dataOut());
		tacticaldisplay1.connect_dataIn(tacticalsteering.provide_dataOut());
		hud.connect_dataIn(tacticalsteering.provide_dataOut());
		tacticalsteering.subscribe_outDataAvailable(tacticaldisplay1.get_consumer_inDataAvailable());
		earthmodel.connect_dataWriteOut1(waypoint1.provide_dataWriteIn());
		waypoint1.subscribe_outDataAvailable(toleg1threedataavailable.get_consumer_inDataAvailable1());
		leg1.connect_dataIn1(waypoint1.provide_dataOut());
		leg1.connect_dataIn2(waypoint2.provide_dataOut());
		earthmodel.connect_dataWriteOut2(waypoint2.provide_dataWriteIn());
		waypoint2.subscribe_outDataAvailable(toleg1threedataavailable.get_consumer_inDataAvailable2());
		waypoint3.subscribe_outDataAvailable(toleg2threedataavailable.get_consumer_inDataAvailable1());
		earthmodel.connect_dataWriteOut3(waypoint3.provide_dataWriteIn());
		waypoint3.subscribe_outDataAvailable(toleg1threedataavailable.get_consumer_inDataAvailable3());
		leg2.connect_dataIn1(waypoint3.provide_dataOut());
		leg1.connect_dataIn3(waypoint3.provide_dataOut());
		leg2.connect_dataIn2(waypoint4.provide_dataOut());
		earthmodel.connect_dataWriteOut4(waypoint4.provide_dataWriteIn());
		waypoint4.subscribe_outDataAvailable(toleg2threedataavailable.get_consumer_inDataAvailable2());
		earthmodel.connect_dataWriteOut5(waypoint5.provide_dataWriteIn());
		leg3.connect_dataIn1(waypoint5.provide_dataOut());
		waypoint5.subscribe_outDataAvailable(toleg2threedataavailable.get_consumer_inDataAvailable3());
		leg2.connect_dataIn3(waypoint5.provide_dataOut());
		waypoint5.subscribe_outDataAvailable(toleg3threedataavailable.get_consumer_inDataAvailable1());
		earthmodel.connect_dataWriteOut6(waypoint6.provide_dataWriteIn());
		waypoint6.subscribe_outDataAvailable(toleg3threedataavailable.get_consumer_inDataAvailable2());
		leg3.connect_dataIn2(waypoint6.provide_dataOut());
		earthmodel.connect_dataWriteOut7(waypoint7.provide_dataWriteIn());
		waypoint7.subscribe_outDataAvailable(toleg4threedataavailable.get_consumer_inDataAvailable1());
		waypoint7.subscribe_outDataAvailable(toleg3threedataavailable.get_consumer_inDataAvailable3());
		leg3.connect_dataIn3(waypoint7.provide_dataOut());
		leg4.connect_dataIn1(waypoint7.provide_dataOut());
		leg4.connect_dataIn2(waypoint8.provide_dataOut());
		earthmodel.connect_dataWriteOut8(waypoint8.provide_dataWriteIn());
		waypoint8.subscribe_outDataAvailable(toleg4threedataavailable.get_consumer_inDataAvailable2());
		waypoint9.subscribe_outDataAvailable(toleg4threedataavailable.get_consumer_inDataAvailable3());
		waypoint9.subscribe_outDataAvailable(toleg5twodataavailable.get_consumer_inDataAvailable1());
		earthmodel.connect_dataWriteOut9(waypoint9.provide_dataWriteIn());
		leg5.connect_dataIn1(waypoint9.provide_dataOut());
		leg4.connect_dataIn3(waypoint9.provide_dataOut());
		earthmodel.connect_dataWriteOut10(waypoint10.provide_dataWriteIn());
		waypoint10.subscribe_outDataAvailable(toleg5twodataavailable.get_consumer_inDataAvailable2());
		leg5.connect_dataIn2(waypoint10.provide_dataOut());
		toleg1threedataavailable.subscribe_outDataAvailable(leg1.get_consumer_inDataAvailable());
		route.connect_dataIn1(leg1.provide_dataOut());
		leg1.subscribe_outDataAvailable(route.get_consumer_inDataAvailable1());
		toleg2threedataavailable.subscribe_outDataAvailable(leg2.get_consumer_inDataAvailable());
		leg2.subscribe_outDataAvailable(route.get_consumer_inDataAvailable2());
		route.connect_dataIn2(leg2.provide_dataOut());
		toleg3threedataavailable.subscribe_outDataAvailable(leg4.get_consumer_inDataAvailable());
		toleg3threedataavailable.subscribe_outDataAvailable(leg3.get_consumer_inDataAvailable());
		leg3.subscribe_outDataAvailable(route.get_consumer_inDataAvailable3());
		route.connect_dataIn3(leg3.provide_dataOut());
		route.connect_dataIn4(leg4.provide_dataOut());
		leg4.subscribe_outDataAvailable(route.get_consumer_inDataAvailable4());
		toleg5twodataavailable.subscribe_outDataAvailable(leg5.get_consumer_inDataAvailable());
		route.connect_dataIn5(leg5.provide_dataOut());
		leg5.subscribe_outDataAvailable(route.get_consumer_inDataAvailable5());
		navdisplay2.connect_dataIn(navsteering.provide_dataOut());
		pilotcontrol.connect_modeToggle1(navsteering.provide_modeChange());
		navsteering.subscribe_outDataAvailable(navdisplay2.get_consumer_inDataAvailable());
		waypointsteering.subscribe_outDataAvailable(flightplandisplay.get_consumer_inDataAvailable());
		flightplandisplay.connect_dataIn(waypointsteering.provide_dataOut());
		pilotcontrol.connect_modeToggle2(waypointsteering.provide_modeChange());
		flightplan.connect_dataIn1(route.provide_dataOut());
		route.subscribe_outDataAvailable(groundpoints.get_consumer_inDataAvailable());
		groundpoints.connect_dataIn(route.provide_dataOut());
		route.subscribe_outDataAvailable(flightplan.get_consumer_inDataAvailable());
		waypointsteering.connect_dataIn(flightplan.provide_dataOut());
		flightplan.subscribe_outDataAvailable(waypointsteering.get_consumer_inDataAvailable());
		navsteering.connect_dataIn(groundpoints.provide_dataOut());
		groundpoints.subscribe_outDataAvailable(navsteering.get_consumer_inDataAvailable());
		flightplan.connect_dataIn2(pilotprefs.provide_dataOut());

		System.out.println("Components configuration completion...");
		eventchannel.configuration_complete();
		gps.configuration_complete();
		ins.configuration_complete();
		adc.configuration_complete();
		radar1.configuration_complete();
		tracksensor1.configuration_complete();
		tracksensor2.configuration_complete();
		tracksensor3.configuration_complete();
		tracksensor4.configuration_complete();
		radar2.configuration_complete();
		toairframefourdataavailable.configuration_complete();
		airframe.configuration_complete();
		navdisplay.configuration_complete();
		totrack1threedataavailable.configuration_complete();
		track1.configuration_complete();
		totrack2twodataavailable.configuration_complete();
		track2.configuration_complete();
		track3.configuration_complete();
		track4.configuration_complete();
		track6.configuration_complete();
		totrack5twodataavailable.configuration_complete();
		track5.configuration_complete();
		track7.configuration_complete();
		track8.configuration_complete();
		track9.configuration_complete();
		track10.configuration_complete();
		totacticalsteeringtwelvedataavailable.configuration_complete();
		tacticalsteering.configuration_complete();
		hud.configuration_complete();
		tacticaldisplay1.configuration_complete();
		tacticaldisplay2.configuration_complete();
		earthmodel.configuration_complete();
		pilotcontrol.configuration_complete();
		waypoint1.configuration_complete();
		waypoint2.configuration_complete();
		waypoint3.configuration_complete();
		waypoint4.configuration_complete();
		waypoint5.configuration_complete();
		waypoint6.configuration_complete();
		waypoint7.configuration_complete();
		waypoint8.configuration_complete();
		waypoint9.configuration_complete();
		waypoint10.configuration_complete();
		toleg1threedataavailable.configuration_complete();
		leg1.configuration_complete();
		toleg2threedataavailable.configuration_complete();
		leg2.configuration_complete();
		toleg3threedataavailable.configuration_complete();
		leg3.configuration_complete();
		toleg4threedataavailable.configuration_complete();
		leg4.configuration_complete();
		toleg5twodataavailable.configuration_complete();
		leg5.configuration_complete();
		navsteering.configuration_complete();
		waypointsteering.configuration_complete();
		route.configuration_complete();
		flightplan.configuration_complete();
		flightplandisplay.configuration_complete();
		navdisplay2.configuration_complete();
		groundpoints.configuration_complete();
		pilotprefs.configuration_complete();
		System.exit(0);
	}
}


syntax highlighted by Code2HTML, v. 0.9.1