Example usage for org.apache.commons.vfs2 FileObject getName

List of usage examples for org.apache.commons.vfs2 FileObject getName

Introduction

In this page you can find the example usage for org.apache.commons.vfs2 FileObject getName.

Prototype

FileName getName();

Source Link

Document

Returns the name of this file.

Usage

From source file:pl.otros.vfs.browser.ParentFileObject.java

public ParentFileObject(FileObject parent) {
    super(parent);
    fileName = new FileNameWrapper(parent.getName()) {
        @Override// www  . j ava  2  s  . c  o  m
        public String getBaseName() {
            return PARENT_NAME;
        }
    };
}

From source file:pl.otros.vfs.browser.preview.PreviewListener.java

private void makePreview(final FileObject fileObjectToPreview) {
    if (worker != null) {
        worker.cancel(false);/*from   ww w.  j a va  2 s.  com*/
    }
    worker = new SwingWorker<PreviewStatus, PreviewStatus>() {
        private int previewLimit = 20 * 1024;
        private String name = fileObjectToPreview.getName().getBaseName();

        @Override
        protected PreviewStatus doInBackground() throws Exception {
            publish(new PreviewStatus(State.NOT_STARTED, 0, 1, KB, name, EMPTY_BYTE_ARRAY));
            for (int i = 0; i < 5; i++) {
                Thread.sleep(100);
                if (isCancelled()) {
                    return new PreviewStatus(State.CANCELLED, 0, previewLimit / 1024, KB, name,
                            EMPTY_BYTE_ARRAY);
                }
            }
            ByteArrayOutputStream outputStreamRef = null;
            try {
                try (ByteArrayOutputStream outputStream = new ByteArrayOutputStream(previewLimit);
                        InputStream inputStream = fileObjectToPreview.getContent().getInputStream()) {
                    outputStreamRef = outputStream;
                    byte[] buff = new byte[512];
                    int read;
                    int max = inputStream.available();
                    max = max == 0 ? previewLimit : Math.min(max, previewLimit);
                    while ((read = inputStream.read(buff)) > 0 && outputStream.size() < previewLimit) {
                        if (isCancelled()) {
                            return new PreviewStatus(State.CANCELLED, 0, max / 1024, KB, name,
                                    EMPTY_BYTE_ARRAY);
                        }
                        outputStream.write(buff, 0, read);
                        publish(new PreviewStatus(State.LOADING, outputStream.size() / 1024, max / 1024, KB,
                                name, outputStream.toByteArray()));
                    }
                }
            } catch (Exception e) {
                LOGGER.error("Exception when downloading preview", e);
                return new PreviewStatus(State.ERROR, outputStreamRef.size() / 1024,
                        outputStreamRef.size() / 1024, KB, name, outputStreamRef.toByteArray());
            }

            return new PreviewStatus(State.FINISHED, outputStreamRef.size() / 1024,
                    outputStreamRef.size() / 1024, KB, name, outputStreamRef.toByteArray());
        }

        @Override
        protected void done() {
            try {
                if (!isCancelled()) {
                    PreviewStatus previewStatus = get();
                    previewComponent.setPreviewStatus(previewStatus);
                }
            } catch (Exception e) {
                LOGGER.error("Exception when getting result of preview downloading", e);
            }
        }

        @Override
        protected void process(List<PreviewStatus> chunks) {
            PreviewStatus previewStatus = chunks.get(chunks.size() - 1);
            previewComponent.setPreviewStatus(previewStatus);
        }
    };
    executor.execute(worker);

}

From source file:pl.otros.vfs.browser.table.FileObjectComparator.java

@Override
public int compare(FileObject o1, FileObject o2) {
    if (o1 != null && o2 != null) {
        try {//  w  w w.j  a  v a2  s . co  m
            return fileNameWithTypeComparator.compare(new FileNameWithType(o1.getName(), o1.getType()),
                    new FileNameWithType(o2.getName(), o2.getType()));
        } catch (FileSystemException e) {
            return 0;
        }
    }
    return 0;
}

From source file:pl.otros.vfs.browser.table.VfsTableModel.java

@Override
public Object getValueAt(int rowIndex, int columnIndex) {
    FileObject fileObject = fileObjects[rowIndex];
    boolean isFile = false;
    try {/*from ww w.  j a  v  a  2s .  co m*/
        isFile = FileType.FILE.equals(fileObject.getType());
    } catch (FileSystemException e1) {
        LOGGER.warn("Can't check file type " + fileObject.getName().getBaseName(), e1);
    }
    if (columnIndex == COLUMN_NAME) {
        try {
            return new FileNameWithType(fileObject.getName(), fileObject.getType());
        } catch (FileSystemException e) {
            return new FileNameWithType(fileObject.getName(), null);
        }
    } else if (columnIndex == COLUMN_TYPE) {
        try {
            return fileObject.getType().getName();
        } catch (FileSystemException e) {
            LOGGER.warn("Can't get file type " + fileObject.getName().getBaseName(), e);
            return "?";
        }
    } else if (columnIndex == COLUMN_SIZE) {
        try {
            long size = -1;
            if (isFile) {
                size = fileObject.getContent().getSize();
            }
            return new FileSize(size);
        } catch (FileSystemException e) {
            LOGGER.warn("Can't get size " + fileObject.getName().getBaseName(), e);
            return new FileSize(-1);
        }
    } else if (columnIndex == COLUMN_LAST_MOD_DATE) {
        try {

            long lastModifiedTime = 0;
            if (!VFSUtils.isHttpProtocol(fileObject)) {
                lastModifiedTime = fileObject.getContent().getLastModifiedTime();
            }
            return new Date(lastModifiedTime);
        } catch (FileSystemException e) {
            LOGGER.warn("Can't get last mod date " + fileObject.getName().getBaseName(), e);
            return null;
        }
    }
    return "?";
}

From source file:pl.otros.vfs.browser.table.VfsTableModelHiddenFileRowFilter.java

protected boolean checkIfInclude(FileObject fileObject) {
    if (!showHidden) {
        try {/*from   ww w. ja v a 2s .  c  om*/
            if (fileObject.getName().getBaseName().startsWith(".") || fileObject.isHidden()) {
                return false;
            }
        } catch (FileSystemException e) {

        }
    }
    return true;
}

From source file:pl.otros.vfs.browser.table.VfsTableModelHiddenFileRowFilterTest.java

@Test(dataProvider = "candidateFiles")
public void testCheckIfInclude(String path, boolean hiddenAttribute, boolean showHidden, boolean expected)
        throws Exception {
    //given//from   ww  w .  j  av  a2 s  . com
    VfsTableModelHiddenFileRowFilter rowFilter = new VfsTableModelHiddenFileRowFilter(showHidden);
    FileObject fileObject = mock(FileObject.class);
    FileName fileName = mock(FileName.class);
    when(fileObject.getName()).thenReturn(fileName);
    when(fileName.getBaseName()).thenReturn(path);
    when(fileObject.isHidden()).thenReturn(hiddenAttribute);

    //when
    boolean result = rowFilter.checkIfInclude(fileObject);

    //then
    Assert.assertEquals(result, expected,
            String.format("Result for file \"%s\" with hidden attribute %s and showHidden checked %s should "
                    + "be %s, was %s", path, hiddenAttribute, showHidden, result, expected));

}

From source file:pl.otros.vfs.browser.table.VfsTableModelShowParentRowFilter.java

@Override
public boolean include(Entry<? extends VfsTableModel, ? extends Integer> entry) {
    Integer identifier = entry.getIdentifier();
    FileObject fileObject = entry.getModel().get(identifier);
    return ParentFileObject.PARENT_NAME.equals(fileObject.getName().getBaseName());
}

From source file:pl.otros.vfs.browser.util.VFSUtils.java

public static boolean pointToItself(FileObject fileObject) throws FileSystemException {
    if (!fileObject.getURL().getProtocol().equalsIgnoreCase("file")
            && FileType.FILE.equals(fileObject.getType())) {
        LOGGER.debug("Checking if {} is pointing to itself", fileObject.getName().getFriendlyURI());
        FileObject[] children = VFSUtils.getChildren(fileObject);
        LOGGER.debug("Children number of {} is {}", fileObject.getName().getFriendlyURI(), children.length);
        if (children.length == 1) {
            FileObject child = children[0];
            if (child.getContent().getSize() != child.getContent().getSize()) {
                return false;
            }//from   ww w.j  a v  a  2s  .  c o m
            if (child.getName().getBaseName().equals(fileObject.getName().getBaseName())) {
                return true;
            }
        }
    }
    return false;
}

From source file:pl.otros.vfs.browser.util.VFSUtils.java

public static FileObject[] getChildren(FileObject fileObject) throws FileSystemException {
    FileObject[] result;/*from w w  w  .  j  ava 2 s  .c  om*/
    if (isHttpProtocol(fileObject)) {
        result = extractHttpFileObjectChildren(fileObject);
    } else if (isLocalFileSystem(fileObject) && isArchive(fileObject)) {
        String extension = fileObject.getName().getExtension();
        result = VFSUtils.resolveFileObject(extension + ":" + fileObject.getURL().toString() + "!/")
                .getChildren();
    } else {
        result = fileObject.getChildren();
    }
    return result;
}

From source file:pl.otros.vfs.browser.util.VFSUtils.java

public static boolean isArchive(FileObject fileObject) {
    return isArchive(fileObject.getName());
}