Package de.netseeker.ejoe.examples.remoting

Source Code of de.netseeker.ejoe.examples.remoting.AddressClient

/*********************************************************************
* AddressClient.java
* created on 17.03.2005 by netseeker
* $Source: /cvsroot/ejoe/EJOE/examples/de/netseeker/ejoe/examples/remoting/AddressClient.java,v $
* $Date: 2007/03/28 08:18:26 $
* $Revision: 1.6 $
*********************************************************************/
package de.netseeker.ejoe.examples.remoting;

import java.io.IOException;

import com.thoughtworks.xstream.XStream;

import de.netseeker.ejoe.EJClient;
import de.netseeker.ejoe.EJConstants;
import de.netseeker.ejoe.request.RemotingRequest;

/**
* Simple example showing how to implement a basic address management client using remote reflection with EJOE.
*
* @author netseeker
*/
public class AddressClient
{

    public static void main( String[] args )
    {
        EJClient client = new EJClient( "localhost", EJConstants.EJOE_PORT );
        client.enablePersistentConnection( true );

        try
        {
            // create an address object for Jimmy Who
            Address address = new Address();
            address.setStreetNum( 20 );
            address.setStreetName( "Peachtree Avenue" );
            address.setCity( "Atlanta" );
            address.setState( "GA" );
            address.setZip( 39892 );           

            //create a RemotingRequest to invoke the remote AddressBook
            RemotingRequest request = new RemotingRequest( AddressBook.class.getName(), "addEntry", new Object[] {
                    "Jimmy Who", address } );
            //add Jimmys address
            System.out.println("adding Jimmys address...");
            client.execute( request );

            // create an address object for Jane Who
            address.setStreetNum( 21 );
            address.setStreetName( "Peachtree Avenue" );
            address.setCity( "Atlanta" );
            address.setState( "GA" );
            address.setZip( 39892 );

            //add Janes address
            request.setArgs( new Object[] { "Jane", "Who", address } );
            System.out.println("adding Janes address...");
            client.execute( request );

            // now query both addresses
            request.setMethod( "getAddressFromName" );
           
            request.setArgs( new Object[] { "Jimmy Who" } );
            System.out.println("querying Jimmys address...");
            Address adrJimmy = (Address) client.execute( request );           
            System.out.println("Jimmys address: ");
            XStream xstream = new XStream();
            System.out.println( xstream.toXML( adrJimmy ));
           
            System.out.println("");
           
            request.setArgs( new Object[] { "Jane Who" } );
            System.out.println("querying Janes address...");
            Address adrJane = (Address) client.execute( request );
            System.out.println("Janes address: ");
            System.out.println( xstream.toXML( adrJane ));
        }
        catch ( IOException e )
        {
            e.printStackTrace();
        }   
    }
}
TOP

Related Classes of de.netseeker.ejoe.examples.remoting.AddressClient

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.