30da36b43badce010e8d0261f1801872c4c65477
[jFCPlib.git] / test / main / java / net / pterodactylus / fcp / FcpConnectionTest.java
1 /*
2  * jFCPlib - FcpConnectionTest.java -
3  * Copyright © 2008 David Roden
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation; either version 2 of the License, or
8  * (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program; if not, write to the Free Software
17  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18  */
19
20 package net.pterodactylus.fcp;
21
22 import java.io.IOException;
23 import java.io.InputStream;
24
25
26 /**
27  * TODO
28  * @author David ‘Bombe’ Roden <bombe@freenetproject.org>
29  */
30 public class FcpConnectionTest extends FcpAdapter {
31
32         public static void main(String[] commandLine) throws IllegalStateException, IOException {
33                 new FcpConnectionTest();
34         }
35
36         private FcpConnectionTest() throws IllegalStateException, IOException {
37                 FcpConnection fcpConnection = new FcpConnection("wing");
38                 fcpConnection.addFcpListener(this);
39                 fcpConnection.connect();
40                 ClientHello clientHello = new ClientHello("bug-test");
41                 fcpConnection.sendMessage(clientHello);
42                 ClientGet clientGet = new ClientGet("KSK@gpl.txt", "test");
43                 fcpConnection.sendMessage(clientGet);
44         }
45
46         /**
47          * {@inheritDoc}
48          */
49         @Override
50         public void receivedAllData(FcpConnection fcpConnection, AllData allData) {
51                 System.out.println("AllData");
52                 InputStream payloadInputStream = allData.getPayloadInputStream();
53                 int r = 0;
54                 byte[] buffer = new byte[1024];
55                 try {
56                         while ((r = payloadInputStream.read(buffer)) != -1) {
57                                 for (int i = 0; i < r; i++) {
58                                         System.out.print((char) buffer[i]);
59                                 }
60                         }
61                 } catch (IOException e) {
62                         // TODO Auto-generated catch block
63                 }
64                 fcpConnection.close();
65         }
66
67 }