Package org.apache.ftpserver.ftplet

Examples of org.apache.ftpserver.ftplet.FileObject


   
    /**
     * Get the current directory.
     */
    public FileObject getCurrentDirectory() {
        FileObject fileObj = null;
        if(currDir.equals("/")) {
            fileObj = new NativeFileObject("/", new File(rootDir), user);
        }
        else {
            File file = new File(rootDir, currDir.substring(1));
View Full Code Here


    public void testSingleFile() {
        assertEquals("Size=13;Modify=20050202030400.000;Type=file; short\r\n", formater.format(TEST_FILE));
    }

    public void testSingleDir() {
        FileObject dir = new MockFileObject() {
            public boolean isDirectory() {
                return true;
            }

            public boolean isFile() {
View Full Code Here

            // OK
        }
    }

    public void testFullName() {
        FileObject fileObject = createFileObject(FILE2_PATH, USER);
        assertEquals("/dir1/file2", fileObject.getFullName());

        fileObject = createFileObject("/dir1/", USER);
        assertEquals("/dir1", fileObject.getFullName());

        fileObject = createFileObject("/dir1", USER);
        assertEquals("/dir1", fileObject.getFullName());
    }
View Full Code Here

        fileObject = createFileObject("/dir1", USER);
        assertEquals("/dir1", fileObject.getFullName());
    }

    public void testShortName() {
        FileObject fileObject = createFileObject("/dir1/file2", USER);
        assertEquals("file2", fileObject.getShortName());

        fileObject = createFileObject("/dir1/", USER);
        assertEquals("dir1", fileObject.getShortName());

        fileObject = createFileObject("/dir1", USER);
        assertEquals("dir1", fileObject.getShortName());
    }
View Full Code Here

        fileObject = createFileObject("/dir1", USER);
        assertEquals("dir1", fileObject.getShortName());
    }

    public void testListFilesInOrder() {
        FileObject root = createFileObject("/", USER);

        FileObject[] files = root.listFiles();
        assertEquals(3, files.length);
        assertEquals("dir1", files[0].getShortName());
        assertEquals("file1", files[1].getShortName());
        assertEquals("file3", files[2].getShortName());
    }
View Full Code Here

        // parse argument
        ListArgument parsedArg = ListArgumentParser
                .parse(request.getArgument());

        FileObject file = null;
        try {
            file = session.getFileSystemView().getFileObject(
                    parsedArg.getFile());
            if (file != null && file.doesExist()) {
                FileFormater formater = new MLSTFileFormater((String[]) session
                        .getAttribute("MLST.types"));
                session.write(FtpReplyUtil.translate(session, request, context,
                        FtpReply.REPLY_250_REQUESTED_FILE_ACTION_OKAY, "MLST",
                        formater.format(file)));
View Full Code Here

                    "DELE", null));
            return;
        }

        // get file object
        FileObject file = null;

        try {
            file = session.getFileSystemView().getFileObject(fileName);
        } catch (Exception ex) {
            LOG.debug("Could not get file " + fileName, ex);
        }
        if (file == null) {
            session.write(FtpReplyUtil.translate(session, request, context,
                    FtpReply.REPLY_550_REQUESTED_ACTION_NOT_TAKEN,
                    "DELE.invalid", fileName));
            return;
        }

        // check file
        fileName = file.getFullName();

        if (!file.hasDeletePermission()) {
            session.write(FtpReplyUtil.translate(session, request, context,
                    FtpReply.REPLY_450_REQUESTED_FILE_ACTION_NOT_TAKEN,
                    "DELE.permission", fileName));
            return;
        }

        // now delete
        if (file.delete()) {
            session.write(FtpReplyUtil.translate(session, request, context,
                    FtpReply.REPLY_250_REQUESTED_FILE_ACTION_OKAY, "DELE",
                    fileName));

            // log message
View Full Code Here

    /**
     * Get the current directory.
     */
    public FileObject getCurrentDirectory() {
        FileObject fileObj = null;
        if (currDir.equals("/")) {
            fileObj = new NativeFileObject("/", new File(rootDir), user);
        } else {
            File file = new File(rootDir, currDir.substring(1));
            fileObj = new NativeFileObject(currDir, file, user);
View Full Code Here

    public void testSingleFile() {
        assertEquals(TEST_FILE_FORMAT, formater.format(TEST_FILE));
    }

    public void testSingleDir() {
        FileObject dir = new MockFileObject() {
            public int getLinkCount() {
                return 3;
            }

            public boolean isDirectory() {
View Full Code Here

                    return;
                }
            }

            // get filenames
            FileObject file = null;
            try {
                file = session.getFileSystemView().getFileObject(fileName);
            } catch (Exception e) {
                LOG.debug("File system threw exception", e);
            }
            if (file == null) {
                session.write(FtpReplyUtil.translate(session, request, context,
                        FtpReply.REPLY_550_REQUESTED_ACTION_NOT_TAKEN,
                        "APPE.invalid", fileName));
                return;
            }
            fileName = file.getFullName();

            // check file existance
            if (file.doesExist() && !file.isFile()) {
                session.write(FtpReplyUtil.translate(session, request, context,
                        FtpReply.REPLY_550_REQUESTED_ACTION_NOT_TAKEN,
                        "APPE.invalid", fileName));
                return;
            }

            // check permission
            if (!file.hasWritePermission()) {
                session.write(FtpReplyUtil.translate(session, request, context,
                        FtpReply.REPLY_550_REQUESTED_ACTION_NOT_TAKEN,
                        "APPE.permission", fileName));
                return;
            }

            // get data connection
            session.write(FtpReplyUtil.translate(session, request, context,
                    FtpReply.REPLY_150_FILE_STATUS_OKAY, "APPE", fileName));

            DataConnection dataConnection;
            try {
                dataConnection = session.getDataConnection().openConnection();
            } catch (Exception e) {
                LOG.debug("Exception when getting data input stream", e);
                session.write(FtpReplyUtil.translate(session, request, context,
                        FtpReply.REPLY_425_CANT_OPEN_DATA_CONNECTION, "APPE",
                        fileName));
                return;
            }

            // get data from client
            boolean failure = false;
            OutputStream os = null;
            try {

                // find offset
                long offset = 0L;
                if (file.doesExist()) {
                    offset = file.getSize();
                }

                // open streams
                os = file.createOutputStream(offset);

                // transfer data
                long transSz = dataConnection.transferFromClient(os);

                // log message
View Full Code Here

TOP

Related Classes of org.apache.ftpserver.ftplet.FileObject

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.