package cadena;
public class Scenario{
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("OCP_P1","");
corbaobj = namingContext.resolve(nameComponent);
org.objectweb.ccm.Deployment.Server ocp_p1_server =
org.objectweb.ccm.Deployment.ServerHelper.narrow(corbaobj);
nameComponent[0].id = "OCP_P2";
corbaobj = namingContext.resolve(nameComponent);
org.objectweb.ccm.Deployment.Server ocp_p2_server =
org.objectweb.ccm.Deployment.ServerHelper.narrow(corbaobj);
// Obtain the container homes.
org.omg.Components.Deployment.ComponentServer ocp_p1_cs =
ocp_p1_server.provide_component_server();
org.omg.Components.Deployment.ComponentServer ocp_p2_cs =
ocp_p2_server.provide_component_server();
//Install archives.
System.out.println("Installing archives...");
org.omg.Components.Deployment.ComponentInstallation ocp_p1_inst =
ocp_p1_server.provide_install();
ocp_p1_inst.install("multiratemp", "./archives/multiratemp.jar");
ocp_p1_inst.install("openccm_plugins", "./OpenCCM_Plugins.jar");
org.omg.Components.Deployment.ComponentInstallation ocp_p2_inst =
ocp_p2_server.provide_install();
ocp_p2_inst.install("multiratemp", "./archives/multiratemp.jar");
ocp_p2_inst.install("openccm_plugins", "./OpenCCM_Plugins.jar");
org.omg.Components.Deployment.Container ocp_p1_cont =
ocp_p1_cs.create_container(new org.omg.Components.ConfigValue[0]);
org.omg.Components.Deployment.Container ocp_p2_cont =
ocp_p2_cs.create_container(new org.omg.Components.ConfigValue[0]);
System.out.println("Instantiating homes, components...");
ccmhome = ocp_p1_cont.install_home("multiratemp", "cadena.common.EventChannelHomeImpl.create_home",
new org.omg.Components.ConfigValue[0]);
cadena.common.EventChannelHome eventchannelOCP_P1Home = cadena.common.EventChannelHomeHelper.narrow(ccmhome);
cadena.common.EventChannel eventchannel = eventchannelOCP_P1Home.create();
ccmhome = ocp_p1_cont.install_home("multiratemp", "cadena.common.BMPushDataSourceHomeImpl.create_home",
new org.omg.Components.ConfigValue[0]);
cadena.common.BMPushDataSourceHome bmpushdatasourceOCP_P1Home = cadena.common.BMPushDataSourceHomeHelper.narrow(ccmhome);
cadena.common.BMPushDataSource pilotcontrol = bmpushdatasourceOCP_P1Home.create();
ccmhome = ocp_p1_cont.install_home("multiratemp", "cadena.basicmp.BMOpenED1HomeImpl.create_home",
new org.omg.Components.ConfigValue[0]);
cadena.basicmp.BMOpenED1Home bmopened1OCP_P1Home = cadena.basicmp.BMOpenED1HomeHelper.narrow(ccmhome);
cadena.basicmp.BMOpenED1 waypointproxy = bmopened1OCP_P1Home.create();
ccmhome = ocp_p2_cont.install_home("multiratemp", "cadena.common.BMOpenEDHomeImpl.create_home",
new org.omg.Components.ConfigValue[0]);
cadena.common.BMOpenEDHome bmopenedOCP_P2Home = cadena.common.BMOpenEDHomeHelper.narrow(ccmhome);
cadena.common.BMOpenED waypoint = bmopenedOCP_P2Home.create();
ccmhome = ocp_p1_cont.install_home("multiratemp", "cadena.common.BMDisplayHomeImpl.create_home",
new org.omg.Components.ConfigValue[0]);
cadena.common.BMDisplayHome bmdisplayOCP_P1Home = cadena.common.BMDisplayHomeHelper.narrow(ccmhome);
cadena.common.BMDisplay flt_plan_display = bmdisplayOCP_P1Home.create();
ccmhome = ocp_p2_cont.install_home("multiratemp", "cadena.common.BMDeviceHomeImpl.create_home",
new org.omg.Components.ConfigValue[0]);
cadena.common.BMDeviceHome bmdeviceOCP_P2Home = cadena.common.BMDeviceHomeHelper.narrow(ccmhome);
cadena.common.BMDevice sensor_coordinator = bmdeviceOCP_P2Home.create();
ccmhome = ocp_p2_cont.install_home("multiratemp", "ultiratemp.BMTRANSLATORHomeImpl.create_home",
new org.omg.Components.ConfigValue[0]);
ultiratemp.BMTRANSLATORHome bmtranslatorOCP_P2Home = ultiratemp.BMTRANSLATORHomeHelper.narrow(ccmhome);
ultiratemp.BMTRANSLATOR translator = bmtranslatorOCP_P2Home.create();
cadena.common.BMDevice radar = bmdeviceOCP_P2Home.create();
ccmhome = ocp_p2_cont.install_home("multiratemp", "cadena.common.BMDisplayHomeImpl.create_home",
new org.omg.Components.ConfigValue[0]);
cadena.common.BMDisplayHome bmdisplayOCP_P2Home = cadena.common.BMDisplayHomeHelper.narrow(ccmhome);
cadena.common.BMDisplay radar_display = bmdisplayOCP_P2Home.create();
System.out.println("set instance names...");
eventchannel.name("EventChannel");
pilotcontrol.name("PilotControl");
waypointproxy.name("WayPointProxy");
waypoint.name("WayPoint");
flt_plan_display.name("FLT_PLAN_DISPLAY");
sensor_coordinator.name("SENSOR_COORDINATOR");
translator.name("Translator");
radar.name("RADAR");
radar_display.name("RADAR_DISPLAY");
System.out.println("Interconnecting components...");
eventchannel.subscribe_timeOut1(pilotcontrol.get_consumer_timeOut());
eventchannel.subscribe_timeOut5(sensor_coordinator.get_consumer_timeOut());
waypointproxy.subscribe_outDataAvailable(flt_plan_display.get_consumer_inDataAvailable());
flt_plan_display.connect_dataIn(waypointproxy.provide_dataOut());
waypoint.connect_dataWriteOut(waypointproxy.provide_dataWriteIn2());
pilotcontrol.connect_dataWriteOut(waypointproxy.provide_dataWriteIn1());
sensor_coordinator.subscribe_outDataAvailable(translator.get_consumer_inDataAvailable());
translator.subscribe_timeOut(radar.get_consumer_timeOut());
radar_display.connect_dataIn(radar.provide_dataOut());
radar.subscribe_outDataAvailable(radar_display.get_consumer_inDataAvailable());
System.out.println("Create gateways...");
edu.ksu.cis.EventChannelAdmin.Dependency OCP_P2_OCP_P1_dependency[] =
new edu.ksu.cis.EventChannelAdmin.Dependency[1];
OCP_P2_OCP_P1_dependency[0] =
new edu.ksu.cis.EventChannelAdmin.Dependency();
OCP_P2_OCP_P1_dependency[0].header =
new edu.ksu.cis.EventComm.EventHeader(2, 0);
edu.ksu.cis.EventChannelAdmin.ConsumerQOS OCP_P2_OCP_P1_cqos =
new edu.ksu.cis.EventChannelAdmin.ConsumerQOS(OCP_P2_OCP_P1_dependency);
ocp_p2_cs.create_gateway("OCP_P2.EventChannel", "OCP_P1.EventChannel", OCP_P2_OCP_P1_cqos);
System.out.println("Components configuration completion...");
eventchannel.configuration_complete();
pilotcontrol.configuration_complete();
waypointproxy.configuration_complete();
waypoint.configuration_complete();
flt_plan_display.configuration_complete();
sensor_coordinator.configuration_complete();
translator.configuration_complete();
radar.configuration_complete();
radar_display.configuration_complete();
System.exit(0);
}
}
syntax highlighted by Code2HTML, v. 0.9.1