// Path: src/main/java/org/grapheco/elfinder/controller/executor/CommandExecutionContext.java
// public interface CommandExecutionContext
// {
// 	FsServiceFactory getFsServiceFactory();
// 
// 	HttpServletRequest getRequest();
// 
// 	HttpServletResponse getResponse();
// 
// 	ServletContext getServletContext();
// }
// 
// Path: src/main/java/org/grapheco/elfinder/controller/executor/CommandExecutor.java
// public interface CommandExecutor
// {
// 	void execute(CommandExecutionContext commandExecutionContext)
// 			throws Exception;
// }
// 
// Path: src/main/java/org/grapheco/elfinder/controller/executor/CommandExecutorFactory.java
// public interface CommandExecutorFactory
// {
// 	CommandExecutor get(String commandName);
// }
// 
// Path: src/main/java/org/grapheco/elfinder/service/FsServiceFactory.java
// public interface FsServiceFactory
// {
// 	/**
// 	 * sometimes a FsService should be constructed dynamically according to
// 	 * current web request. e.g users may own separated file spaces in a net
// 	 * disk service platform, in this case, getFileService() get user principal
// 	 * from current request and offers him/her different file view.
// 	 * 
// 	 * @param request
// 	 *            The current HttpServletRequest.
// 	 * @param servletContext
// 	 *            The servlet context.
// 	 * @return The {@link FsService} for the current request.
// 	 */
// 	FsService getFileService(HttpServletRequest request,
// 			ServletContext servletContext);
// 
// }


import org.grapheco.elfinder.controller.executor.CommandExecutionContext;
import org.grapheco.elfinder.controller.executor.CommandExecutor;
import org.grapheco.elfinder.controller.executor.CommandExecutorFactory;
import org.grapheco.elfinder.service.FsServiceFactory;
import org.apache.commons.fileupload.FileItemIterator;
import org.apache.commons.fileupload.FileItemStream;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.apache.commons.fileupload.util.Streams;
import org.apache.log4j.Logger;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import javax.annotation.Resource;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
package org.grapheco.elfinder.controller;



@Controller
@RequestMapping("connector")
public class ConnectorController {
    Logger _logger = Logger.getLogger(this.getClass());
    @Resource(name = "commandExecutorFactory")
    private CommandExecutorFactory _commandExecutorFactory;

    @Resource(name = "fsServiceFactory")
// Path: src/main/java/org/grapheco/elfinder/controller/executor/CommandExecutionContext.java
// public interface CommandExecutionContext
// {
// 	FsServiceFactory getFsServiceFactory();
// 
// 	HttpServletRequest getRequest();
// 
// 	HttpServletResponse getResponse();
// 
// 	ServletContext getServletContext();
// }
// 
// Path: src/main/java/org/grapheco/elfinder/controller/executor/CommandExecutor.java
// public interface CommandExecutor
// {
// 	void execute(CommandExecutionContext commandExecutionContext)
// 			throws Exception;
// }
// 
// Path: src/main/java/org/grapheco/elfinder/controller/executor/CommandExecutorFactory.java
// public interface CommandExecutorFactory
// {
// 	CommandExecutor get(String commandName);
// }
// 
// Path: src/main/java/org/grapheco/elfinder/service/FsServiceFactory.java
// public interface FsServiceFactory
// {
// 	/**
// 	 * sometimes a FsService should be constructed dynamically according to
// 	 * current web request. e.g users may own separated file spaces in a net
// 	 * disk service platform, in this case, getFileService() get user principal
// 	 * from current request and offers him/her different file view.
// 	 * 
// 	 * @param request
// 	 *            The current HttpServletRequest.
// 	 * @param servletContext
// 	 *            The servlet context.
// 	 * @return The {@link FsService} for the current request.
// 	 */
// 	FsService getFileService(HttpServletRequest request,
// 			ServletContext servletContext);
// 
// }


// Path: src/main/java/org/grapheco/elfinder/controller/ConnectorController.java
import org.grapheco.elfinder.controller.executor.CommandExecutionContext;
import org.grapheco.elfinder.controller.executor.CommandExecutor;
import org.grapheco.elfinder.controller.executor.CommandExecutorFactory;
import org.grapheco.elfinder.service.FsServiceFactory;
import org.apache.commons.fileupload.FileItemIterator;
import org.apache.commons.fileupload.FileItemStream;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.apache.commons.fileupload.util.Streams;
import org.apache.log4j.Logger;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import javax.annotation.Resource;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

package org.grapheco.elfinder.controller;



@Controller
@RequestMapping("connector")
public class ConnectorController {
    Logger _logger = Logger.getLogger(this.getClass());
    @Resource(name = "commandExecutorFactory")
    private CommandExecutorFactory _commandExecutorFactory;

    @Resource(name = "fsServiceFactory")
    private FsServiceFactory _fsServiceFactory;