package org.jacorb.demo.ami;
import java.io.*;
import org.omg.CORBA.*;
import org.omg.PortableServer.*;
public class Client
{
public static void main( String args[] )
{
if( args.length != 1 )
{
System.out.println("Usage: java demo.ami.Client <ior_file>");
System.exit( 1 );
}
try
{
File f = new File( args[ 0 ] );
//check if file exists
if( ! f.exists() )
{
System.out.println("File " + args[0] +
" does not exist.");
System.exit( -1 );
}
//check if args[0] points to a directory
if( f.isDirectory() )
{
System.out.println("File " + args[0] +
" is a directory.");
System.exit( -1 );
}
// initialize the ORB.
ORB orb = ORB.init( args, null );
POA poa =
POAHelper.narrow (orb.resolve_initial_references ("RootPOA"));
poa.the_POAManager().activate();
BufferedReader br =
new BufferedReader( new FileReader( f ));
// get object reference from command-line argument file
org.omg.CORBA.Object obj =
orb.string_to_object( br.readLine() );
br.close();
AsyncServer s = AsyncServerHelper.narrow( obj );
AMI_AsyncServerHandler h =
new AMI_AsyncServerHandlerImpl()._this(orb);
System.out.println ("* sending async...");
((_AsyncServerStub)s).sendc_op2 (h, 2);
System.out.println ("* ...done. Waiting for reply...");
try
{
Thread.currentThread().sleep ( 10000 );
}
catch (InterruptedException ex)
{
}
((_AsyncServerStub)s).shutdown ();
}
catch( Exception ex )
{
System.err.println( ex );
}
}
}