117f899cea435aaf91624af2a93bc24bcfcd5fc2dchrismair/*
217f899cea435aaf91624af2a93bc24bcfcd5fc2dchrismair * Copyright 2007 the original author or authors.
317f899cea435aaf91624af2a93bc24bcfcd5fc2dchrismair *
417f899cea435aaf91624af2a93bc24bcfcd5fc2dchrismair * Licensed under the Apache License, Version 2.0 (the "License");
517f899cea435aaf91624af2a93bc24bcfcd5fc2dchrismair * you may not use this file except in compliance with the License.
617f899cea435aaf91624af2a93bc24bcfcd5fc2dchrismair * You may obtain a copy of the License at
717f899cea435aaf91624af2a93bc24bcfcd5fc2dchrismair *
817f899cea435aaf91624af2a93bc24bcfcd5fc2dchrismair *      http://www.apache.org/licenses/LICENSE-2.0
917f899cea435aaf91624af2a93bc24bcfcd5fc2dchrismair *
1017f899cea435aaf91624af2a93bc24bcfcd5fc2dchrismair * Unless required by applicable law or agreed to in writing, software
1117f899cea435aaf91624af2a93bc24bcfcd5fc2dchrismair * distributed under the License is distributed on an "AS IS" BASIS,
1217f899cea435aaf91624af2a93bc24bcfcd5fc2dchrismair * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1317f899cea435aaf91624af2a93bc24bcfcd5fc2dchrismair * See the License for the specific language governing permissions and
1417f899cea435aaf91624af2a93bc24bcfcd5fc2dchrismair * limitations under the License.
1517f899cea435aaf91624af2a93bc24bcfcd5fc2dchrismair */
1617f899cea435aaf91624af2a93bc24bcfcd5fc2dchrismairpackage org.mockftpserver.stub.example;
1717f899cea435aaf91624af2a93bc24bcfcd5fc2dchrismair
1817f899cea435aaf91624af2a93bc24bcfcd5fc2dchrismairimport java.io.IOException;
1917f899cea435aaf91624af2a93bc24bcfcd5fc2dchrismairimport java.net.SocketException;
2017f899cea435aaf91624af2a93bc24bcfcd5fc2dchrismair
2117f899cea435aaf91624af2a93bc24bcfcd5fc2dchrismairimport org.apache.commons.net.ftp.FTPClient;
2217f899cea435aaf91624af2a93bc24bcfcd5fc2dchrismair
2317f899cea435aaf91624af2a93bc24bcfcd5fc2dchrismair/**
2417f899cea435aaf91624af2a93bc24bcfcd5fc2dchrismair * Simple FTP client code example.
2517f899cea435aaf91624af2a93bc24bcfcd5fc2dchrismair *
2617f899cea435aaf91624af2a93bc24bcfcd5fc2dchrismair * @version $Revision$ - $Date$
2717f899cea435aaf91624af2a93bc24bcfcd5fc2dchrismair *
2817f899cea435aaf91624af2a93bc24bcfcd5fc2dchrismair * @author Chris Mair
2917f899cea435aaf91624af2a93bc24bcfcd5fc2dchrismair */
3017f899cea435aaf91624af2a93bc24bcfcd5fc2dchrismairpublic class FtpWorkingDirectory {
3117f899cea435aaf91624af2a93bc24bcfcd5fc2dchrismair
3217f899cea435aaf91624af2a93bc24bcfcd5fc2dchrismair    private String server;
3317f899cea435aaf91624af2a93bc24bcfcd5fc2dchrismair    private int port;
3417f899cea435aaf91624af2a93bc24bcfcd5fc2dchrismair
3517f899cea435aaf91624af2a93bc24bcfcd5fc2dchrismair    /**
3617f899cea435aaf91624af2a93bc24bcfcd5fc2dchrismair     * Return the current working directory for the FTP account on the server
3717f899cea435aaf91624af2a93bc24bcfcd5fc2dchrismair     * @return the current working directory
3817f899cea435aaf91624af2a93bc24bcfcd5fc2dchrismair     * @throws SocketException
3917f899cea435aaf91624af2a93bc24bcfcd5fc2dchrismair     * @throws IOException
4017f899cea435aaf91624af2a93bc24bcfcd5fc2dchrismair     */
4117f899cea435aaf91624af2a93bc24bcfcd5fc2dchrismair    public String getWorkingDirectory() throws SocketException, IOException {
4217f899cea435aaf91624af2a93bc24bcfcd5fc2dchrismair        FTPClient ftpClient = new FTPClient();
4317f899cea435aaf91624af2a93bc24bcfcd5fc2dchrismair        ftpClient.connect(server, port);
4417f899cea435aaf91624af2a93bc24bcfcd5fc2dchrismair        return ftpClient.printWorkingDirectory();
4517f899cea435aaf91624af2a93bc24bcfcd5fc2dchrismair    }
4617f899cea435aaf91624af2a93bc24bcfcd5fc2dchrismair
4717f899cea435aaf91624af2a93bc24bcfcd5fc2dchrismair    /**
4817f899cea435aaf91624af2a93bc24bcfcd5fc2dchrismair     * Set the hostname of the FTP server
4917f899cea435aaf91624af2a93bc24bcfcd5fc2dchrismair     * @param server - the hostname of the FTP server
5017f899cea435aaf91624af2a93bc24bcfcd5fc2dchrismair     */
5117f899cea435aaf91624af2a93bc24bcfcd5fc2dchrismair    public void setServer(String server) {
5217f899cea435aaf91624af2a93bc24bcfcd5fc2dchrismair        this.server = server;
5317f899cea435aaf91624af2a93bc24bcfcd5fc2dchrismair    }
5417f899cea435aaf91624af2a93bc24bcfcd5fc2dchrismair
5517f899cea435aaf91624af2a93bc24bcfcd5fc2dchrismair    /**
5617f899cea435aaf91624af2a93bc24bcfcd5fc2dchrismair     * Set the port number for the FTP server
5717f899cea435aaf91624af2a93bc24bcfcd5fc2dchrismair     * @param port - the port number
5817f899cea435aaf91624af2a93bc24bcfcd5fc2dchrismair     */
5917f899cea435aaf91624af2a93bc24bcfcd5fc2dchrismair    public void setPort(int port) {
6017f899cea435aaf91624af2a93bc24bcfcd5fc2dchrismair        this.port = port;
6117f899cea435aaf91624af2a93bc24bcfcd5fc2dchrismair    }
6217f899cea435aaf91624af2a93bc24bcfcd5fc2dchrismair
6317f899cea435aaf91624af2a93bc24bcfcd5fc2dchrismair}
64