100dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair/*
200dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair * Copyright 2007 the original author or authors.
300dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair *
400dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair * Licensed under the Apache License, Version 2.0 (the "License");
500dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair * you may not use this file except in compliance with the License.
600dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair * You may obtain a copy of the License at
700dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair *
800dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair *      http://www.apache.org/licenses/LICENSE-2.0
900dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair *
1000dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair * Unless required by applicable law or agreed to in writing, software
1100dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair * distributed under the License is distributed on an "AS IS" BASIS,
1200dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1300dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair * See the License for the specific language governing permissions and
1400dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair * limitations under the License.
1500dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair */
1600dc7bdcf1df9e86789d963984dfc6912a8854c6chrismairpackage org.mockftpserver.stub.example;
1700dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair
1800dc7bdcf1df9e86789d963984dfc6912a8854c6chrismairimport org.apache.commons.net.ftp.FTPClient;
1900dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair
2000dc7bdcf1df9e86789d963984dfc6912a8854c6chrismairimport java.io.IOException;
2100dc7bdcf1df9e86789d963984dfc6912a8854c6chrismairimport java.net.SocketException;
2200dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair
2300dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair/**
2400dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair * Simple FTP client code example.
2500dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair *
2600dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair * @version $Revision$ - $Date$
2700dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair *
2800dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair * @author Chris Mair
2900dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair */
3000dc7bdcf1df9e86789d963984dfc6912a8854c6chrismairpublic class FtpWorkingDirectory {
3100dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair
3200dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair    private String server;
3300dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair    private int port;
3400dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair
3500dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair    /**
3600dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair     * Return the current working directory for the FTP account on the server
3700dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair     * @return the current working directory
3800dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair     * @throws SocketException
3900dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair     * @throws IOException
4000dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair     */
4100dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair    public String getWorkingDirectory() throws SocketException, IOException {
4200dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair        FTPClient ftpClient = new FTPClient();
4300dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair        ftpClient.connect(server, port);
4400dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair        return ftpClient.printWorkingDirectory();
4500dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair    }
4600dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair
4700dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair    /**
4800dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair     * Set the hostname of the FTP server
4900dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair     * @param server - the hostname of the FTP server
5000dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair     */
5100dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair    public void setServer(String server) {
5200dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair        this.server = server;
5300dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair    }
5400dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair
5500dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair    /**
5600dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair     * Set the port number for the FTP server
5700dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair     * @param port - the port number
5800dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair     */
5900dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair    public void setPort(int port) {
6000dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair        this.port = port;
6100dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair    }
6200dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair
6300dc7bdcf1df9e86789d963984dfc6912a8854c6chrismair}
64