// Sample5/App.java //########################################################## // App Implementation using an Aclass interface AvlassIf //########################################################## // public class App { public App(boolean localFlag) { String serverClassName = "Aclass"; String serverClassNameCI = "AclassCI"; String address = "127.0.0.1"; int port = 6789; Class theClass = null; Object theObject = null; if(localFlag) // local implemenation { try { theClass = Class.forName(serverClassName); theObject = theClass.newInstance(); } catch(Exception ex) {System.out.println("Class Not Found : " + ex.getMessage());}; } else // distributed implementation { try { theClass = Class.forName(serverClassNameCI); theObject = theClass.newInstance(); } catch(Exception ex) {System.out.println("Class Not Found : " + ex.getMessage());}; // request the remote instance try { //((cam.netapp.CIinterface)theObject).setVerboseFlag(true); ((cam.netapp.CIinterface)theObject).createServerInstance(address,port); } catch(Exception e){System.out.println(e);}; } // // Cast the object to type AclassIf // A = (AclassIf)theObject; } public int doCalculation(int D) { return A.addTwo(D); // Call an Aclass method } //#### DATA MEMBERS #### AclassIf A; public static void main(String argv[]) { App S1 = new App(true); System.out.println(" Local Results "); int result = S1.doCalculation(5); System.out.println("The result of the calculation = " + result+ " (and should = 7)"); System.out.println(" "); System.out.println(" Distributed Results "); App S2 = new App(false); result = S2.doCalculation(5); System.out.println("The result of the calculation = " + result+ " (and should = 7)"); } }