KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > coldcore > coloradoftp > command > impl > ftp > RntoCommand


1 /**
2  * Command RNTO.
3  * See FTP spec for details on the command.
4  */

5 package com.coldcore.coloradoftp.command.impl.ftp;
6
7 import com.coldcore.coloradoftp.command.Reply;
8 import com.coldcore.coloradoftp.command.impl.AbstractCommand;
9 import com.coldcore.coloradoftp.factory.ObjectFactory;
10 import com.coldcore.coloradoftp.factory.ObjectName;
11 import com.coldcore.coloradoftp.filesystem.FileSystem;
12 import com.coldcore.coloradoftp.session.Session;
13 import org.apache.log4j.Logger;
14
15 public class RntoCommand extends AbstractCommand {
16
17   private static Logger log = Logger.getLogger(RntoCommand.class);
18
19
20   public Reply execute() {
21     Reply reply = getReply();
22     if (!testLogin()) return reply;
23
24     Session session = controlConnection.getSession();
25     session.removeAttribute("rnto.path");
26
27     String JavaDoc rnto = getParameter();
28     if (rnto.equals("")) {
29       reply.setCode("501");
30       reply.setText("Send path name.");
31       return reply;
32     }
33
34     String JavaDoc rnfr = (String JavaDoc) session.getAttribute("rnfr.path");
35     session.removeAttribute("rnfr.path");
36
37     if (rnfr == null) {
38       reply.setCode("503");
39       reply.setText("Send RNFR first.");
40       return reply;
41     }
42
43     FileSystem fileSystem = (FileSystem) ObjectFactory.getObject(ObjectName.FILESYSTEM);
44     fileSystem.renamePath(rnfr, rnto, session);
45
46     reply.setCode("250");
47     reply.setText("Path renamed.");
48     return reply;
49   }
50 }
51
Popular Tags