// EDS CORBA 2.6 Xuepeng Deng 28/02/07 // JDK1.4.2 with JacORB 2.2 // bank\ManagerImpl.java // servant implementation package bank; import java.io.*; import org.omg.CORBA.ORB; import java.lang.Math; import javax.naming.*; import java.rmi.*; import java.util.Hashtable; import org.omg.PortableServer.*; import org.omg.CosNaming.*; public class ManagerImpl extends ManagerPOA { //This is from the variable mapping from bank.idl(typedef sequence AccountList;); //MANAGER NEEDS A HASH TABLE !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! private HashTable accountList; private Account bankAccount; private ORB orb; //Need this for createing interface: Account; public ManagerImpl(ORB orb) { this.orb = orb; }; //This is the method to return a array of all accounts. public String[] findAllAccounts() { //YOU NEED TO CONVERT THE HASHTABLE TO A STRING ARRAY!!!!!!!!!!! //JUST CREATING AN ARRAY WITH SOME VALUES!!!!!!!1111 String[] a = new String[2]; a[0] = "String 1"; a[1] = "String 2"; //CALLING THE SIZE METHOD OF YOUR HASHTABLE NUMBER WILL GET BIGGER THE MORE ACCOUNTS THAT ARE ADDED System.out.println("Size" + accountList.size()); return a; } //This is the method to create a new account. public Account createAccount(String name, int balance) { AccountImpl newAccount = new AccountImpl(name,balance); Account obj = newAccount._this(orb); // Creat a hashtable to store the info, also in BankClient.java to look up in the context for the table and the name try { //ADD TO HASHTABLE accountsList.put(name,newAccount); } catch (Exception e) { System.out.println("Error while looking up account:"); //e.printStackTrace(); } //obj.setAccountName(name); //obj.setBalance(balance); return obj; } //Retrun a specific account object; public Account findAccount(String name){ Account a = new Account() return a; } }