193102446a7b7c3d17888064b4e2e4e5cb534e6d0chrismair/*
293102446a7b7c3d17888064b4e2e4e5cb534e6d0chrismair * Copyright 2007 the original author or authors.
393102446a7b7c3d17888064b4e2e4e5cb534e6d0chrismair *
493102446a7b7c3d17888064b4e2e4e5cb534e6d0chrismair * Licensed under the Apache License, Version 2.0 (the "License");
593102446a7b7c3d17888064b4e2e4e5cb534e6d0chrismair * you may not use this file except in compliance with the License.
693102446a7b7c3d17888064b4e2e4e5cb534e6d0chrismair * You may obtain a copy of the License at
793102446a7b7c3d17888064b4e2e4e5cb534e6d0chrismair *
893102446a7b7c3d17888064b4e2e4e5cb534e6d0chrismair *      http://www.apache.org/licenses/LICENSE-2.0
993102446a7b7c3d17888064b4e2e4e5cb534e6d0chrismair *
1093102446a7b7c3d17888064b4e2e4e5cb534e6d0chrismair * Unless required by applicable law or agreed to in writing, software
1193102446a7b7c3d17888064b4e2e4e5cb534e6d0chrismair * distributed under the License is distributed on an "AS IS" BASIS,
1293102446a7b7c3d17888064b4e2e4e5cb534e6d0chrismair * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1393102446a7b7c3d17888064b4e2e4e5cb534e6d0chrismair * See the License for the specific language governing permissions and
1493102446a7b7c3d17888064b4e2e4e5cb534e6d0chrismair * limitations under the License.
1593102446a7b7c3d17888064b4e2e4e5cb534e6d0chrismair */
1693102446a7b7c3d17888064b4e2e4e5cb534e6d0chrismairpackage org.mockftpserver.stub.example;
1793102446a7b7c3d17888064b4e2e4e5cb534e6d0chrismair
18848932d9e7c6953b3c345c9aa6b0b6c3cfe20d79chrismairimport org.apache.commons.net.ftp.FTPClient;
19848932d9e7c6953b3c345c9aa6b0b6c3cfe20d79chrismair
2093102446a7b7c3d17888064b4e2e4e5cb534e6d0chrismairimport java.io.IOException;
2193102446a7b7c3d17888064b4e2e4e5cb534e6d0chrismairimport java.net.SocketException;
2293102446a7b7c3d17888064b4e2e4e5cb534e6d0chrismair
2393102446a7b7c3d17888064b4e2e4e5cb534e6d0chrismair/**
2493102446a7b7c3d17888064b4e2e4e5cb534e6d0chrismair * Simple FTP client code example.
2593102446a7b7c3d17888064b4e2e4e5cb534e6d0chrismair *
264ca3386623ce60063f27955ad1b2b1b6cbba8b09chrismair * @version $Revision$ - $Date$
2793102446a7b7c3d17888064b4e2e4e5cb534e6d0chrismair *
2893102446a7b7c3d17888064b4e2e4e5cb534e6d0chrismair * @author Chris Mair
2993102446a7b7c3d17888064b4e2e4e5cb534e6d0chrismair */
3093102446a7b7c3d17888064b4e2e4e5cb534e6d0chrismairpublic class FtpWorkingDirectory {
3193102446a7b7c3d17888064b4e2e4e5cb534e6d0chrismair
3293102446a7b7c3d17888064b4e2e4e5cb534e6d0chrismair    private String server;
3313d2f24c354c2b2b19d2dc5531b88d642a82a2ccchrismair    private int port;
3493102446a7b7c3d17888064b4e2e4e5cb534e6d0chrismair
3593102446a7b7c3d17888064b4e2e4e5cb534e6d0chrismair    /**
3693102446a7b7c3d17888064b4e2e4e5cb534e6d0chrismair     * Return the current working directory for the FTP account on the server
3793102446a7b7c3d17888064b4e2e4e5cb534e6d0chrismair     * @return the current working directory
3893102446a7b7c3d17888064b4e2e4e5cb534e6d0chrismair     * @throws SocketException
3993102446a7b7c3d17888064b4e2e4e5cb534e6d0chrismair     * @throws IOException
4093102446a7b7c3d17888064b4e2e4e5cb534e6d0chrismair     */
4193102446a7b7c3d17888064b4e2e4e5cb534e6d0chrismair    public String getWorkingDirectory() throws SocketException, IOException {
4293102446a7b7c3d17888064b4e2e4e5cb534e6d0chrismair        FTPClient ftpClient = new FTPClient();
4313d2f24c354c2b2b19d2dc5531b88d642a82a2ccchrismair        ftpClient.connect(server, port);
4493102446a7b7c3d17888064b4e2e4e5cb534e6d0chrismair        return ftpClient.printWorkingDirectory();
4593102446a7b7c3d17888064b4e2e4e5cb534e6d0chrismair    }
4693102446a7b7c3d17888064b4e2e4e5cb534e6d0chrismair
4793102446a7b7c3d17888064b4e2e4e5cb534e6d0chrismair    /**
4893102446a7b7c3d17888064b4e2e4e5cb534e6d0chrismair     * Set the hostname of the FTP server
4993102446a7b7c3d17888064b4e2e4e5cb534e6d0chrismair     * @param server - the hostname of the FTP server
5093102446a7b7c3d17888064b4e2e4e5cb534e6d0chrismair     */
5193102446a7b7c3d17888064b4e2e4e5cb534e6d0chrismair    public void setServer(String server) {
5293102446a7b7c3d17888064b4e2e4e5cb534e6d0chrismair        this.server = server;
5393102446a7b7c3d17888064b4e2e4e5cb534e6d0chrismair    }
5493102446a7b7c3d17888064b4e2e4e5cb534e6d0chrismair
5513d2f24c354c2b2b19d2dc5531b88d642a82a2ccchrismair    /**
5613d2f24c354c2b2b19d2dc5531b88d642a82a2ccchrismair     * Set the port number for the FTP server
5713d2f24c354c2b2b19d2dc5531b88d642a82a2ccchrismair     * @param port - the port number
5813d2f24c354c2b2b19d2dc5531b88d642a82a2ccchrismair     */
5913d2f24c354c2b2b19d2dc5531b88d642a82a2ccchrismair    public void setPort(int port) {
6013d2f24c354c2b2b19d2dc5531b88d642a82a2ccchrismair        this.port = port;
6113d2f24c354c2b2b19d2dc5531b88d642a82a2ccchrismair    }
6213d2f24c354c2b2b19d2dc5531b88d642a82a2ccchrismair
6393102446a7b7c3d17888064b4e2e4e5cb534e6d0chrismair}
64