001    /**
002     *
003     * Copyright 2003-2004 The Apache Software Foundation
004     *
005     *  Licensed under the Apache License, Version 2.0 (the "License");
006     *  you may not use this file except in compliance with the License.
007     *  You may obtain a copy of the License at
008     *
009     *     http://www.apache.org/licenses/LICENSE-2.0
010     *
011     *  Unless required by applicable law or agreed to in writing, software
012     *  distributed under the License is distributed on an "AS IS" BASIS,
013     *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014     *  See the License for the specific language governing permissions and
015     *  limitations under the License.
016     */
017    
018    package org.acme;
019    
020    import javax.naming.Context;
021    import javax.naming.InitialContext;
022    import javax.rmi.PortableRemoteObject;
023    
024    /**
025     * Run this app client from the command line and pass in a question as an argument.
026     *
027     * @version $Rev: 411947 $ $Date: 2006-06-05 16:26:17 -0700 (Mon, 05 Jun 2006) $
028     */
029    public class MagicGBallClient {
030        public static void main(String[] args) throws Exception{
031            if (args.length < 1){
032                System.err.println("Please ask a question");
033                System.exit(-1);
034            }
035    
036            MagicGBallClient magicGBallClient = new MagicGBallClient();
037            for (int i = 0; i < args.length; i++) {
038                magicGBallClient.ask(args[i]);
039            }
040        }
041    
042            public void ask(String question) throws Exception {
043            Context ctx = new InitialContext();
044            Object o = ctx.lookup("java:comp/env/mGball");
045            MagicGBallHome ejbHome = (MagicGBallHome) PortableRemoteObject.narrow(o, MagicGBallHome.class);
046            MagicGBall mGball = ejbHome.create();
047            String answer = mGball.ask(question);
048    
049            System.out.println(answer);
050            }
051    
052    }