1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 package com.mindtree.techworks.insight.download.ftpbrowse.test;
26
27 import java.awt.Dimension;
28 import java.awt.HeadlessException;
29 import java.awt.Rectangle;
30 import java.awt.event.WindowAdapter;
31 import java.awt.event.WindowEvent;
32 import java.io.File;
33 import java.io.FileOutputStream;
34 import java.io.IOException;
35 import java.net.InetAddress;
36 import java.net.MalformedURLException;
37 import java.net.PasswordAuthentication;
38 import java.net.SocketException;
39 import java.net.URL;
40 import java.net.UnknownHostException;
41 import java.util.logging.LogManager;
42 import java.util.logging.Logger;
43
44 import javax.swing.JFileChooser;
45 import javax.swing.JFrame;
46
47 import org.apache.commons.net.ftp.FTPClient;
48 import org.apache.commons.net.ftp.FTPReply;
49
50 import com.mindtree.techworks.insight.download.ftpbrowse.FTPBrowseException;
51 import com.mindtree.techworks.insight.download.ftpbrowse.FTPFileFile;
52 import com.mindtree.techworks.insight.download.ftpbrowse.FTPRemoteFileSystemView;
53 import com.mindtree.techworks.insight.gui.widgets.InsightRemoteFileChooser;
54
55
56
57
58
59
60
61
62
63
64 public class FileChooserTestFrame extends JFrame {
65
66
67
68
69 private static final long serialVersionUID = 7240401258426606510L;
70
71
72
73
74 private static final Logger logger = Logger.getLogger(FileChooserTestFrame.class.getName());
75
76
77
78
79
80 public FileChooserTestFrame() throws HeadlessException,
81 MalformedURLException {
82
83 super();
84
85 addWindowListener(new WindowAdapter() {
86 public void windowClosing(WindowEvent aEvent) {
87 System.exit(0);
88 }
89 });
90 Dimension dim = getToolkit().getScreenSize();
91 Rectangle abounds = getBounds();
92 setLocation((dim.width - abounds.width) / 2,
93 (dim.height - abounds.height) / 2);
94 setVisible(true);
95
96 URL url = new URL("ftp://cendantstp/");
97
98 char[] password = "spnr".toCharArray();
99 PasswordAuthentication passwordAuthentication = new PasswordAuthentication("spnr", password);
100
101
102 FTPRemoteFileSystemView remoteFileSystemView = new FTPRemoteFileSystemView(
103 url, passwordAuthentication);
104
105 JFileChooser fileChooser = new InsightRemoteFileChooser(remoteFileSystemView);
106 fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
107 fileChooser.setMultiSelectionEnabled(true);
108
109 File[] selectedFiles = null;
110 if (fileChooser.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) {
111 selectedFiles = fileChooser.getSelectedFiles();
112 for (int i = 0; i < selectedFiles.length; i++ ) {
113 if (selectedFiles[i] instanceof FTPFileFile) {
114 FTPFileFile ftpFile = (FTPFileFile) selectedFiles[i];
115 logger.fine(ftpFile.getName());
116 logger.fine(ftpFile.getPath());
117 } else {
118 logger.fine(selectedFiles[i].toString());
119 logger.fine(selectedFiles[i].getAbsolutePath());
120 }
121 }
122 }
123 remoteFileSystemView.disconnect();
124 try {
125 if (null != selectedFiles) {
126 FTPClient ftpClient = new FTPClient();
127 InetAddress inetAddress = InetAddress.getByName(url.getHost());
128 ftpClient.connect(inetAddress);
129 if (!FTPReply.isPositiveCompletion(ftpClient.getReplyCode())) {
130 throw new FTPBrowseException(ftpClient.getReplyString());
131 }
132 if (null != passwordAuthentication) {
133 ftpClient.login(passwordAuthentication.getUserName(),
134 new StringBuffer().append(
135 passwordAuthentication.getPassword())
136 .toString());
137 }
138
139 for (int i = 0; i < selectedFiles.length; i++ ) {
140 FTPFileFile file = (FTPFileFile)selectedFiles[i];
141 logger.fine(file.getPath());
142 FileOutputStream fos = new FileOutputStream(new File("d:/junk/ftp/test.txt" ));
143 logger.fine("" + ftpClient.retrieveFile(file.getPath().replaceAll("\\\\","/"), fos));
144 fos.close();
145 }
146 }
147 } catch (UnknownHostException e) {
148 e.printStackTrace();
149 } catch (SocketException e) {
150 e.printStackTrace();
151 } catch (IOException e) {
152 e.printStackTrace();
153 }
154
155 System.exit(0);
156 }
157
158
159
160
161
162 public static void main(String[] args) {
163
164
165
166 LogManager logManager = LogManager.getLogManager();
167 try {
168 logManager
169 .readConfiguration(FileChooserTestFrame.class.getClassLoader()
170 .getResourceAsStream("com/mindtree/logging/download/ftpbrowse/test/logging.properties"));
171 } catch (SecurityException e1) {
172
173 e1.printStackTrace();
174 } catch (IOException e1) {
175
176 e1.printStackTrace();
177 }
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210 try {
211 FileChooserTestFrame fileChooserTestFrame = new FileChooserTestFrame();
212 fileChooserTestFrame.getHeight();
213 } catch (HeadlessException e) {
214
215 e.printStackTrace();
216 } catch (MalformedURLException e) {
217
218 e.printStackTrace();
219 }
220 }
221 }