Source code: com/jabberwookie/tests/ComponentConnect.java
1 /*
2 * ComponentConnect.java
3 *
4 * Created on June 16, 2003, 4:50 PM
5 * Copyright (c) 2003, Sean M. Meiners, sean@jabberwookie.com
6 * All rights reserved.
7 *
8 * Redistribution and use in source and binary forms, with or without
9 * modification, are permitted provided that the following conditions are met:
10 *
11 * * Redistributions of source code must retain the above copyright notice,
12 * this list of conditions and the following disclaimer.
13 * * Redistributions in binary form must reproduce the above copyright notice,
14 * this list of conditions and the following disclaimer in the documentation
15 * and/or other materials provided with the distribution.
16 * * Neither the name of JabberWookie nor the names of its contributors may be used
17 * to endorse or promote products derived from this software without specific
18 * prior written permission.
19 *
20 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
21 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
22 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
23 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
24 * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
25 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
26 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
27 * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
28 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
29 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30 */
31
32 package com.jabberwookie.tests;
33
34 import java.net.Socket;
35 import java.io.IOException;
36
37 import com.jabberwookie.Component2Server;
38 import com.jabberwookie.IQListener;
39 import com.jabberwookie.MessageListener;
40 import com.jabberwookie.PresenceListener;
41 import com.jabberwookie.UnrecognizedChunkListener;
42
43 import com.jabberwookie.ns.jabber.IQ;
44 import com.jabberwookie.ns.jabber.Chunk;
45 import com.jabberwookie.ns.jabber.Message;
46 import com.jabberwookie.ns.jabber.Presence;
47
48 /**
49 * Just attempts to connect to a Jabber server as a component.
50 * just run 'java -cp JabberWookie.jar com.jabberwookie.tests.ComponentConnect'
51 * to see the command-line help.
52 * @author smeiners
53 */
54 public class ComponentConnect
55 implements IQListener, PresenceListener, MessageListener, UnrecognizedChunkListener
56 {
57
58 public static void main(String args[])
59 throws Exception
60 {
61 if( args.length < 5 )
62 System.out.println("Usage: <server name/ip> <server port> <domain> <timeout> <secret>");
63 else
64 new ComponentConnect(args[0], Integer.parseInt(args[1]), args[2], Integer.parseInt(args[3]), args[4]);
65 }
66
67 /** Creates a new instance of ComponentConnect */
68 public ComponentConnect (String server, int port, String host, int timeout, String secret)
69 throws IOException
70 {
71 Socket s = new Socket (server, port);
72 Component2Server c2s = new Component2Server( s.getInputStream(), s.getOutputStream(), secret );
73 c2s.setAllListeners(this);
74 c2s.setUnrecogizedChunkListener(this);
75 System.out.println("Opened = " + c2s.open( host, timeout ) );
76 }
77
78 public void incomingIQ (IQ iq)
79 {
80 System.out.println("IQ:"+iq);
81 }
82
83 public void incomingMessage (Message message)
84 {
85 System.out.println("Message:"+message);
86 }
87
88 public void incomingPresence (Presence presence)
89 {
90 System.out.println("Presence:"+presence);
91 }
92
93 public void incomingChunk (Chunk chunk)
94 {
95 System.out.println("Unrecognized:"+chunk);
96 }
97
98 }