/**
 * @author Daniel O'Neill 01330128
 *
 * 
 */
import java.io.*;
import java.util.Vector;
import java.util.Iterator;
import java.rmi.RemoteException;
import java.sql.*;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.encoding.XMLType;
//import org.apache.axis.utils.Options;

import javax.xml.rpc.ParameterMode;

public class BandBClient {
        
        public static void main(String args[]) throws Exception {
            Vector hello = new Vector(20,5);
                Vector list = new Vector(20,5);
                
                BufferedReader in = new BufferedReader(new 
InputStreamReader(System.in));
            System.out.println("Welcome to something or other:\n\n");
                int charlie=0;
            while(charlie!=-1){
                    System.out.println("This is a list of the B&B's in that 
area:\n");
                    list = getList();
                    for(Iterator i = list.iterator();i.hasNext() ;){
                        String one =(String)i.next();
                        if (one!=null){
                                System.out.println(one+"\n");
                        }else{
                                System.out.println("There are no B&B's at this 
time. We
apologise for the inconvenience...");
                                System.exit(0);
                        }
                    }
                    int num = 0;
                    System.out.println("Please enter the number(i.e. 1 or 2) of 
the
B&B you wish you book:");
                    num = Integer.parseInt(in.readLine());
                    boolean beta = checknum(num);
                    if(beta ==true){
                        System.out.println("Please enter a date:");
                            String dan = in.readLine();
                            System.out.println("These are the rooms available 
on that date
in this B&B");
                            
                            String endpoint = getService(num);
                                String method ="getRooms";
                                Service  service = new Service();
                            Call     call    = (Call) service.createCall();
                            call.setTargetEndpointAddress( new 
java.net.URL(endpoint) );
                            call.setOperationName( method );
                            call.addParameter( "op1", XMLType.SOAP_VECTOR, 
ParameterMode.IN );
                            call.setReturnType( XMLType.SOAP_VECTOR );
                            try {
                                        hello = (Vector) call.invoke( new 
Object [] {dan});// This does
all the work!
                                } catch (RemoteException e) {
                                        // This is used instead of the huge 
exception you get....
                                        // I only changed this after debugging
                                        System.out.println("Sorry this service 
is not available at the
moment... We're sorry for the inconvenience!");
                                }
                            for(Iterator i = hello.iterator();i.hasNext() ;){
                                String hello2 =(String)i.next();
                                if (hello2!=null){
                                        System.out.println(hello2);
                                }else
                                        System.out.println("This B&B has no 
available rooms on those dates");
                            }
                            
                            System.out.println("If you want to book one of 
these rooms on
this date please enter the number now. If you wish to go back to the
main menu please type \"c\" and hit return.");
                            String delta = in.readLine();
                            if (delta=="c"){
                                charlie = 1;
                            }
                            else if (delta =="-1"){
                                charlie = -1;
                            }
                            else{
                                System.out.println("Please enter your name:");
                                String name = in.readLine();
                                System.out.println("Please enter your 
address:");
                                String address = in.readLine();
                                System.out.println("And lastly please enter the 
number of
people(altogether) that are going to arrive(e.g. 1 or 2 or 3):");
                                String numPeeps = in.readLine();
                                String paid = "no";
                                String endpoint2 = getService(num);
                                        String method2 ="bookRoom";
                                        Service  service2 = new Service();
                                    Call     call2    = (Call) 
service2.createCall();
                                    call2.setTargetEndpointAddress( new 
java.net.URL(endpoint2) );
                                    call2.setOperationName( method2 );
                                    call2.addParameter( "op1", 
XMLType.SOAP_STRING, ParameterMode.IN );
                                    call2.addParameter( "op2", 
XMLType.SOAP_STRING, ParameterMode.IN );
                                    call2.addParameter( "op3", 
XMLType.SOAP_STRING, ParameterMode.IN );
                                    call2.addParameter( "op4", 
XMLType.SOAP_STRING, ParameterMode.IN );
                                    call2.addParameter( "op5", 
XMLType.SOAP_STRING, ParameterMode.IN );
                                    call2.addParameter( "op6", 
XMLType.SOAP_STRING, ParameterMode.IN );
                                    try {
                                                call2.invoke( new Object [] 
{delta,dan,name,address,numPeeps,paid});
                                        }catch (RemoteException e1) {
                                                // TODO Auto-generated catch 
block
                                                e1.printStackTrace();
                                                System.out.println("That did't 
work for some reason....");
                                                System.exit(0);
                                        }
                                        System.out.println("Do you want to see 
some of the other services
that are in the area?");
                                        BufferedReader st = new 
BufferedReader(new InputStreamReader(System.in));
                                        String maybe = st.readLine();
                                        if (maybe.equals("yes") || 
maybe.equals("y")){
                                                Vector foxtrot = new 
Vector(20,5);
                                                foxtrot = getLocalServices();
                                                for(Iterator i = 
foxtrot.iterator();i.hasNext() ;){
                                                String hello2 =(String)i.next();
                                                if (hello2!=null){
                                                        
System.out.println(hello2);
                                                }else{
                                                        
System.out.println("There are no local services... Go away now... ");
                                                        System.exit(0);
                                                }
                                            }
                                                System.out.println("Which one 
do you want to look at?(i.e. 1 or 2)");
                                                String geography = 
in.readLine();
                                                
                                        }else {
                                                System.out.println("Here is 
what you booked:");
                                                System.out.println("You booked 
"+getName(num)+" for the
"+delta+" for "+numPeeps+" people.");
                                                charlie = -1; 
                                        }
                            }
                    }
                    else{
                        System.out.println("I'm sorry that number wasn't on the 
list....");
                    }
            }
        }
--------------------------------------------------------------
Sorry its so big buts its the first code example I came to? It might
not be right but it works. I've left a number of non-important(to this
question) methods out. If anyone wants to correct the code go ahead?

Thanks

Reply via email to