import java.awt.*; import java.awt.event.*; import java.awt.Graphics; import javax.swing.*; import org.omg.CosNaming.*; import org.omg.CORBA.*; public class vpclient { public static void main(String[] args) { try { ORB myorb = ORB.init(args,null); org.omg.CORBA.Object objref = myorb.resolve_initial_references("NameService"); // connect with naming service (registry) NamingContext ncref = NamingContextHelper.narrow(objref); NameComponent[] path1 = { new NameComponent("student1","Object") }; NameComponent[] path2 = { new NameComponent("student2","Object") }; NameComponent[] path3 = { new NameComponent("student3","Object") }; NameComponent[] path4 = { new NameComponent("printer","Object") }; NameComponent[] path5 = { new NameComponent("tuitionadj","Object") }; studentvisitee s1, s2, s3; s1 = studentvisiteeHelper.narrow(ncref.resolve(path1)); s2 = studentvisiteeHelper.narrow(ncref.resolve(path2)); s3 = studentvisiteeHelper.narrow(ncref.resolve(path3)); s1.name("ethan"); s2.name("jerry"); s3.name("bruce"); s1.next(s2); s2.next(s3); s3.next(null); System.out.println(s2.f()); System.out.println(s2.next().f()); studentvisitor pv; pv = printvisitorHelper.narrow(ncref.resolve(path4)); s1.accept(pv); studentvisitor ta; ta = tuitionadjustorHelper.narrow(ncref.resolve(path5)); s1.tuition(1000); s2.tuition(1000); s3.tuition(1500); s1.accept(ta); System.out.println("New tuitions: "); System.out.println(s1.tuition()); System.out.println(s2.tuition()); System.out.println(s3.tuition()); } catch (Exception e) {e.printStackTrace();} } // main }