153295844df24dff0a1f59e1104795e640b54c2efchrismair/* 253295844df24dff0a1f59e1104795e640b54c2efchrismair * Copyright 2007 the original author or authors. 353295844df24dff0a1f59e1104795e640b54c2efchrismair * 453295844df24dff0a1f59e1104795e640b54c2efchrismair * Licensed under the Apache License, Version 2.0 (the "License"); 553295844df24dff0a1f59e1104795e640b54c2efchrismair * you may not use this file except in compliance with the License. 653295844df24dff0a1f59e1104795e640b54c2efchrismair * You may obtain a copy of the License at 753295844df24dff0a1f59e1104795e640b54c2efchrismair * 853295844df24dff0a1f59e1104795e640b54c2efchrismair * http://www.apache.org/licenses/LICENSE-2.0 953295844df24dff0a1f59e1104795e640b54c2efchrismair * 1053295844df24dff0a1f59e1104795e640b54c2efchrismair * Unless required by applicable law or agreed to in writing, software 1153295844df24dff0a1f59e1104795e640b54c2efchrismair * distributed under the License is distributed on an "AS IS" BASIS, 1253295844df24dff0a1f59e1104795e640b54c2efchrismair * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1353295844df24dff0a1f59e1104795e640b54c2efchrismair * See the License for the specific language governing permissions and 1453295844df24dff0a1f59e1104795e640b54c2efchrismair * limitations under the License. 1553295844df24dff0a1f59e1104795e640b54c2efchrismair */ 1653295844df24dff0a1f59e1104795e640b54c2efchrismairpackage org.mockftpserver.stub.command; 1753295844df24dff0a1f59e1104795e640b54c2efchrismair 1853295844df24dff0a1f59e1104795e640b54c2efchrismairimport org.mockftpserver.core.command.Command; 1953295844df24dff0a1f59e1104795e640b54c2efchrismairimport org.mockftpserver.core.command.CommandHandler; 2053295844df24dff0a1f59e1104795e640b54c2efchrismairimport org.mockftpserver.core.command.InvocationRecord; 2153295844df24dff0a1f59e1104795e640b54c2efchrismairimport org.mockftpserver.core.command.ReplyCodes; 2253295844df24dff0a1f59e1104795e640b54c2efchrismairimport org.mockftpserver.core.session.Session; 2353295844df24dff0a1f59e1104795e640b54c2efchrismair 2453295844df24dff0a1f59e1104795e640b54c2efchrismair/** 2553295844df24dff0a1f59e1104795e640b54c2efchrismair * CommandHandler for the MKD (Make Directory) command. Send back a reply code of 257. 2653295844df24dff0a1f59e1104795e640b54c2efchrismair * <p> 2753295844df24dff0a1f59e1104795e640b54c2efchrismair * Each invocation record stored by this CommandHandler includes the following data element key/values: 2853295844df24dff0a1f59e1104795e640b54c2efchrismair * <ul> 2953295844df24dff0a1f59e1104795e640b54c2efchrismair * <li>{@link #PATHNAME_KEY} ("pathname") - the pathname of the directory submitted on the invocation (the first command parameter) 3053295844df24dff0a1f59e1104795e640b54c2efchrismair * </ul> 3153295844df24dff0a1f59e1104795e640b54c2efchrismair * 3253295844df24dff0a1f59e1104795e640b54c2efchrismair * @version $Revision$ - $Date$ 3353295844df24dff0a1f59e1104795e640b54c2efchrismair * 3453295844df24dff0a1f59e1104795e640b54c2efchrismair * @author Chris Mair 3553295844df24dff0a1f59e1104795e640b54c2efchrismair */ 3653295844df24dff0a1f59e1104795e640b54c2efchrismairpublic final class MkdCommandHandler extends AbstractStubCommandHandler implements CommandHandler { 3753295844df24dff0a1f59e1104795e640b54c2efchrismair 3853295844df24dff0a1f59e1104795e640b54c2efchrismair public static final String PATHNAME_KEY = "pathname"; 3953295844df24dff0a1f59e1104795e640b54c2efchrismair 4053295844df24dff0a1f59e1104795e640b54c2efchrismair /** 4153295844df24dff0a1f59e1104795e640b54c2efchrismair * Constructor. Initialize the replyCode. 4253295844df24dff0a1f59e1104795e640b54c2efchrismair */ 4353295844df24dff0a1f59e1104795e640b54c2efchrismair public MkdCommandHandler() { 4453295844df24dff0a1f59e1104795e640b54c2efchrismair setReplyCode(ReplyCodes.MKD_OK); 4553295844df24dff0a1f59e1104795e640b54c2efchrismair } 4653295844df24dff0a1f59e1104795e640b54c2efchrismair 4753295844df24dff0a1f59e1104795e640b54c2efchrismair /** 4853295844df24dff0a1f59e1104795e640b54c2efchrismair * @see org.mockftpserver.core.command.CommandHandler#handleCommand(Command, Session, InvocationRecord) 4953295844df24dff0a1f59e1104795e640b54c2efchrismair */ 5053295844df24dff0a1f59e1104795e640b54c2efchrismair public void handleCommand(Command command, Session session, InvocationRecord invocationRecord) { 5153295844df24dff0a1f59e1104795e640b54c2efchrismair String pathname = command.getRequiredString(0); 5253295844df24dff0a1f59e1104795e640b54c2efchrismair invocationRecord.set(PATHNAME_KEY, pathname); 5353295844df24dff0a1f59e1104795e640b54c2efchrismair sendReply(session, pathname); 5453295844df24dff0a1f59e1104795e640b54c2efchrismair } 5553295844df24dff0a1f59e1104795e640b54c2efchrismair 5653295844df24dff0a1f59e1104795e640b54c2efchrismair} 57