summaryrefslogtreecommitdiff
path: root/TAO/examples/Simulator/DOVEBrowser/PushConsumerFactory.java
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/examples/Simulator/DOVEBrowser/PushConsumerFactory.java')
-rw-r--r--TAO/examples/Simulator/DOVEBrowser/PushConsumerFactory.java351
1 files changed, 0 insertions, 351 deletions
diff --git a/TAO/examples/Simulator/DOVEBrowser/PushConsumerFactory.java b/TAO/examples/Simulator/DOVEBrowser/PushConsumerFactory.java
deleted file mode 100644
index f3632cd43fa..00000000000
--- a/TAO/examples/Simulator/DOVEBrowser/PushConsumerFactory.java
+++ /dev/null
@@ -1,351 +0,0 @@
-// $Id$
-//
-// ============================================================================
-//
-// = FILENAME
-// PushConsumerFactory.java
-//
-// = AUTHOR
-// Michael Kircher (mk1@cs.wustl.edu)
-//
-// = DESCRIPTION
-// This is the administor/factory for a PushConsumer.
-//
-// ============================================================================
-
-
-
-
-public class PushConsumerFactory {
-
- private org.omg.CORBA.ORB orb_;
- private org.omg.CORBA.BOA boa_;
- private org.omg.CORBA.Object naming_service_object_;
-
- private DataHandler dataHandler_;
- private Navigation navigation_;
- private Weapons weapons_;
-
- private String[] ec_names_ = null;
- private int ec_names_count_ = 0;
-
- private String[] ss_names_ = null;
- private int ss_names_count_ = 0;
-
- private boolean use_queueing_ = false;
-
- public PushConsumerFactory (DataHandler dataHandler,
- String nameServiceIOR,
- String nameServicePort,
- String[] args,
- boolean use_queueing,
- java.applet.Applet applet)
- {
- try
- {
- use_queueing_ = use_queueing;
- dataHandler_ = dataHandler;
-
- // if the DOVE Browser is running as an Applet
- if (applet != null) {
- orb_ = org.omg.CORBA.ORB.init (applet, null);
- }
- else { // not running as an Applet, but as an normal Application
- orb_ = org.omg.CORBA.ORB.init ();
- }
- boa_ = orb_.BOA_init ();
-
- // Get the Naming Service initial reference
-
- // Name Service Lookup cannot be used when running as an Applet
- if (nameServiceIOR == null && applet != null) {
- System.out.println (" Name Service Lookup cannot be used when running as an Applet! Quit!");
- System.exit (1);
- }
-
- if (nameServiceIOR == null) { // only used when running via "java" or "vbj"
- System.out.println ("Using the lookup protocol!");
- NS_Resolve ns_resolve_ = new NS_Resolve (nameServicePort);
- naming_service_object_ = ns_resolve_.resolve_name_service (orb_);
- }
- else {
- System.out.println ("Using the following IOR: " + nameServiceIOR);
- naming_service_object_ = orb_.string_to_object (nameServiceIOR);
- }
-
- // Walk through args and count EC and Scheduling Service names.
- int arg_index = 0;
- while (args.length > arg_index)
- {
- // Count an event service name
- if ((args[arg_index].equals ("-ORBeventservicename")) &&
- (args.length > arg_index + 1))
- {
- System.out.println ("switch [" + args[arg_index] + "]");
- System.out.println ("value [" + args[arg_index + 1] + "]");
- arg_index += 2;
- ++ec_names_count_;
- }
- // Count a scheduling service name
- else if ((args[arg_index].equals ("-ORBscheduleservicename")) &&
- (args.length > arg_index + 1))
- {
- System.out.println ("switch [" + args[arg_index] + "]");
- System.out.println ("value [" + args[arg_index + 1] + "]");
- arg_index += 2;
- ++ss_names_count_;
- }
- else if (args[arg_index].equals ("-dualECdemo"))
- {
- System.out.println ("switch [" + args[arg_index] + "]");
- ++arg_index;
- ec_names_count_ += 2;
- ss_names_count_ += 2;
- }
- else if ((args[arg_index].equals ("-dualECdemo1")) ||
- (args[arg_index].equals ("-dualECdemo2")))
- {
- System.out.println ("switch [" + args[arg_index] + "]");
- ++arg_index;
- ++ec_names_count_;
- ++ss_names_count_;
- }
- // Skip over anything else
- else
- {
- arg_index ++;
- }
- }
-
- // Allocate arrays for the event and schedule service names (if any)
- if (ec_names_count_ > 0)
- {
- ec_names_ = new String [ec_names_count_];
- }
- if (ss_names_count_ > 0)
- {
- ss_names_ = new String [ss_names_count_];
- }
-
- // Then traverse the args again to allocate and fill in a list
- // of EC and Scheduling Service names.
- arg_index = 0;
- ec_names_count_ = 0;
- ss_names_count_ = 0;
- while (args.length > arg_index)
- {
- // Set an event service name.
- if ((args[arg_index].equals ("-ORBeventservicename")) &&
- (args.length > arg_index + 1))
- {
- ec_names_[ec_names_count_] = args[arg_index + 1];
- ++ec_names_count_;
- arg_index += 2;
- }
- // Set a schedule service name.
- else if ((args[arg_index].equals ("-ORBscheduleservicename")) &&
- (args.length > arg_index + 1))
- {
- ss_names_[ss_names_count_] = args[arg_index + 1];
- ++ss_names_count_;
- arg_index += 2;
- }
- else if (args[arg_index].equals ("-dualECdemo"))
- {
- ss_names_[ss_names_count_] = "DUAL_SCHED_HI";
- ss_names_[ss_names_count_ + 1] = "DUAL_SCHED_LO";
- ec_names_[ec_names_count_] = "DUAL_EC_HI";
- ec_names_[ec_names_count_ + 1] = "DUAL_EC_LO";
- ++arg_index;
- ec_names_count_ += 2;
- ss_names_count_ += 2;
- }
- else if (args[arg_index].equals ("-dualECdemo1"))
- {
- ss_names_[ss_names_count_] = "DUAL_SCHED_HI";
- ec_names_[ec_names_count_] = "DUAL_EC_HI";
- ++arg_index;
- ++ec_names_count_;
- ++ss_names_count_;
- }
- else if (args[arg_index].equals ("-dualECdemo2"))
- {
- ss_names_[ss_names_count_] = "DUAL_SCHED_LO";
- ec_names_[ec_names_count_] = "DUAL_EC_LO";
- ++arg_index;
- ++ec_names_count_;
- ++ss_names_count_;
- }
- // Skip over anything else.
- else
- {
- arg_index ++;
- }
- }
-
- // If names for event or scheduling services have not been provided
- // already, provide the default names used by the service executables.
- if (ec_names_count_ == 0)
- {
- ec_names_count_ = 1;
- ec_names_ = new String [1];
- ec_names_ [0] = "EventService";
- }
- if (ss_names_count_ == 0)
- {
- ss_names_count_ = 1;
- ss_names_ = new String [1];
- ss_names_ [0] = "ScheduleService";
- }
- }
- catch(org.omg.CORBA.SystemException e) {
- System.err.println ("PushConsumerFactory constructor: ORB and Name Service initialization");
- System.err.println(e);
- }
-
- }
-
- public class Object_is_null_exception extends Exception
- {
- Object_is_null_exception (String s)
- {
- super (s);
- }
- }
-
- public void run ()
- {
- try
- {
-
- // Get the Naming Context to allow resolving the EventService and
- // ScheduleService
- CosNaming.NamingContext naming_context_ =
- CosNaming.NamingContextHelper.narrow (naming_service_object_);
-
- if (naming_context_ == null)
- {
- System.err.println ("The Naming Context is null");
- System.exit (1);
- }
- System.out.println ("Reference to the Naming Service is ok.");
-
- // Create Consumers connected to the EventService
- int ss_number = 0;
- RtecScheduler.Scheduler scheduler_ = null;
- for (int ec_number = 0; ec_number < ec_names_count_; ++ec_number)
- {
- // Get a reference for the next Scheduling Service if there is one.
- // Invariant: we will always execute this code at least once.
- if (ss_number < ss_names_count_)
- {
- CosNaming.NameComponent[] ss_name_components_ = new CosNaming.NameComponent[1];
- ss_name_components_[0] = new CosNaming.NameComponent (ss_names_[ss_number],"");
- org.omg.CORBA.Object scheduler_object_ = naming_context_.resolve (ss_name_components_);
-
- if (scheduler_object_ == null)
- {
- throw new Object_is_null_exception(ss_names_[ss_number] +
- " Object is null");
- }
-
- scheduler_ = RtecScheduler.SchedulerHelper.narrow (scheduler_object_);
-
- if (scheduler_ == null)
- {
- throw new Object_is_null_exception(ss_names_[ss_number] +
- " narrowed ref is null");
- }
-
- System.out.println ("Reference to " +
- ss_names_[ss_number] + " is ok.");
-
- ++ss_number;
- }
-
- // Get a reference for the next Event Service
-
- CosNaming.NameComponent[] ec_name_components_ = new CosNaming.NameComponent[1];
- ec_name_components_[0] = new CosNaming.NameComponent (ec_names_[ec_number],"");
- org.omg.CORBA.Object event_channel_object_ = naming_context_.resolve (ec_name_components_);
-
- if (event_channel_object_ == null)
- {
- throw new Object_is_null_exception(ec_names_[ec_number] +
- " Object is null");
- }
-
- RtecEventChannelAdmin.EventChannel event_channel_ =
- RtecEventChannelAdmin.EventChannelHelper.narrow (event_channel_object_);
-
- if (event_channel_ == null)
- {
- throw new Object_is_null_exception(ec_names_[ec_number] +
- " narrowed ref is null");
- }
-
- System.out.println ("Reference to " +
- ec_names_[ec_number] + " is ok.");
-
- // Start the consumer
- System.out.println ("Instantiating the Push Consumer for " +
- ec_names_[ec_number] + ": demo_consumer_" +
- ec_number + ".");
-
- PushConsumer pushConsumer_ = new PushConsumer (orb_,
- dataHandler_,
- use_queueing_);
- System.out.println ("Initializing the Push Consumer for " +
- ec_names_[ec_number] + ": demo_consumer_" +
- ec_number + ".");
-
- pushConsumer_.open_consumer (event_channel_, scheduler_,
- "demo_consumer_" + ec_number);
-
- boa_.obj_is_ready (pushConsumer_);
-
- }
-
-
- // Tell the CORBA environment that we are ready
-
- System.out.println ("boa.obj_is_ready succeeded");
-
- boa_.impl_is_ready ();
- }
- catch (CosNaming.NamingContextPackage.CannotProceed e)
- {
- System.err.println ("CosNaming.NamingContextPackage.CannotProceed");
- System.err.println (e);
- }
- catch (CosNaming.NamingContextPackage.InvalidName e)
- {
- System.err.println ("CosNaming.NamingContextPackage.InvalidName");
- System.err.println (e);
- }
- catch (CosNaming.NamingContextPackage.NotFound e)
- {
- System.err.println ("CosNaming.NamingContextPackage.NotFound");
- System.err.println (e);
-
- }
- catch (Object_is_null_exception e)
- {
- System.err.println (e);
- }
- catch(org.omg.CORBA.SystemException e)
- {
- System.err.println ("PushConsumerFactory.run: Failure");
- System.err.println(e);
- }
- }
-
-
-} // public class PushConsumerFactory
-
-
-
-
-
-
-