package org.jacorb.demo.value; import java.io.*; import org.omg.CORBA.*; public class Client { public static void main( String args[] ) { if( args.length != 1 ) { System.out.println("Usage: java org.jacorb.demo.value.idl.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 ); 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(); ValueServer s = ValueServerHelper.narrow( obj ); // invoke operations and print the results boxedLong p1 = new boxedLong (774); boxedLong p2 = new boxedLong (774); System.out.println ("Passing two integers: " + s.receive_long (p1, p2)); System.out.println ("Passing one integer twice: " + s.receive_long (p1, p1)); System.out.println ("Passing two strings: " + s.receive_string ("hello", "hello")); System.out.println ("Passing null: " + s.receive_string ("hello", null)); Node n1 = new NodeImpl (1); Node n2 = new NodeImpl (2); Node n3 = new NodeImpl (3); Node n4 = new NodeImpl (4); n1.next = n2; n2.next = n3; n3.next = n4; n4.next = n1; System.out.println ("Passing a list structure: " + s.receive_list (n1)); s.shutdown(); } catch( Exception ex ) { System.err.println( ex ); } } }