@Test public void getFileStatus() throws IOException { String file = PathUtils.concatPath(mLocalUfsRoot, getUniqueFileName()); mLocalUfs.create(file).close(); UfsFileStatus s = mLocalUfs.getFileStatus(file); assertFalse(s.isDirectory()); assertTrue(s.isFile()); }
@Override public UfsFileStatus getFileStatus(String path) throws IOException { String tpath = stripPath(path); File file = new File(tpath); try { PosixFileAttributes attr = Files.readAttributes(Paths.get(file.getPath()), PosixFileAttributes.class); if (attr.isDirectory()) { throw new IOException(String.format("path %s is not a file", path)); } String contentHash = UnderFileSystemUtils.approximateContentHash(file.length(), file.lastModified()); return new UfsFileStatus(path, contentHash, file.length(), file.lastModified(), attr.owner().getName(), attr.group().getName(), FileUtils.translatePosixPermissionToMode(attr.permissions()), mUfsConf.getBytes(PropertyKey.USER_BLOCK_SIZE_BYTES_DEFAULT)); } catch (FileSystemException e) { throw new FileNotFoundException(e.getMessage()); } }
LocalUnderFileSystem extends ConsistentUnderFileSystem implements AtomicFileOutputStreamCallback { @Override public UfsFileStatus getFileStatus(String path) throws IOException { String tpath = stripPath(path); File file = new File(tpath); try { PosixFileAttributes attr = Files.readAttributes(Paths.get(file.getPath()), PosixFileAttributes.class); if (attr.isDirectory()) { throw new IOException(String.format("path %s is not a file", path)); } String contentHash = UnderFileSystemUtils.approximateContentHash(file.length(), file.lastModified()); return new UfsFileStatus(path, contentHash, file.length(), file.lastModified(), attr.owner().getName(), attr.group().getName(), FileUtils.translatePosixPermissionToMode(attr.permissions()), mUfsConf.getBytes(PropertyKey.USER_BLOCK_SIZE_BYTES_DEFAULT)); } catch (FileSystemException e) { throw new FileNotFoundException(e.getMessage()); } } }
LocalUnderFileSystem extends ConsistentUnderFileSystem implements AtomicFileOutputStreamCallback { @Override public UfsFileStatus getFileStatus(String path) throws IOException { String tpath = stripPath(path); File file = new File(tpath); try { PosixFileAttributes attr = Files.readAttributes(Paths.get(file.getPath()), PosixFileAttributes.class); if (attr.isDirectory()) { throw new IOException(String.format("path %s is not a file", path)); } String contentHash = UnderFileSystemUtils.approximateContentHash(file.length(), file.lastModified()); return new UfsFileStatus(path, contentHash, file.length(), file.lastModified(), attr.owner().getName(), attr.group().getName(), FileUtils.translatePosixPermissionToMode(attr.permissions()), mUfsConf.getBytes(PropertyKey.USER_BLOCK_SIZE_BYTES_DEFAULT)); } catch (FileSystemException e) { throw new FileNotFoundException(e.getMessage()); } } LocalUnderFileSystem(AlluxioURI uri, UnderFileSystemConfiguration ufsConf); }
LocalUnderFileSystem extends ConsistentUnderFileSystem implements AtomicFileOutputStreamCallback { @Override public UfsFileStatus getFileStatus(String path) throws IOException { String tpath = stripPath(path); File file = new File(tpath); try { PosixFileAttributes attr = Files.readAttributes(Paths.get(file.getPath()), PosixFileAttributes.class); if (attr.isDirectory()) { throw new IOException(String.format("path %s is not a file", path)); } String contentHash = UnderFileSystemUtils.approximateContentHash(file.length(), file.lastModified()); return new UfsFileStatus(path, contentHash, file.length(), file.lastModified(), attr.owner().getName(), attr.group().getName(), FileUtils.translatePosixPermissionToMode(attr.permissions()), mUfsConf.getBytes(PropertyKey.USER_BLOCK_SIZE_BYTES_DEFAULT)); } catch (FileSystemException e) { throw new FileNotFoundException(e.getMessage()); } } LocalUnderFileSystem(AlluxioURI uri, UnderFileSystemConfiguration ufsConf); @Override String getUnderFSType(); @Override void cleanup(); @Override void close(); @Override OutputStream create(String path, CreateOptions options); @Override OutputStream createDirect(String path, CreateOptions options); @Override boolean deleteDirectory(String path, DeleteOptions options); @Override boolean deleteFile(String path); @Override boolean exists(String path); @Override long getBlockSizeByte(String path); @Override UfsDirectoryStatus getDirectoryStatus(String path); @Override List<String> getFileLocations(String path); @Override List<String> getFileLocations(String path, FileLocationOptions options); @Override UfsFileStatus getFileStatus(String path); @Override long getSpace(String path, SpaceType type); @Override UfsStatus getStatus(String path); @Override boolean isDirectory(String path); @Override boolean isFile(String path); @Override UfsStatus[] listStatus(String path); @Override boolean mkdirs(String path, MkdirsOptions options); @Override InputStream open(String path, OpenOptions options); @Override boolean renameDirectory(String src, String dst); @Override boolean renameFile(String src, String dst); @Override void setOwner(String path, String user, String group); @Override void setMode(String path, short mode); @Override void connectFromMaster(String hostname); @Override void connectFromWorker(String hostname); @Override boolean supportsFlush(); }
LocalUnderFileSystem extends ConsistentUnderFileSystem implements AtomicFileOutputStreamCallback { @Override public UfsFileStatus getFileStatus(String path) throws IOException { String tpath = stripPath(path); File file = new File(tpath); try { PosixFileAttributes attr = Files.readAttributes(Paths.get(file.getPath()), PosixFileAttributes.class); if (attr.isDirectory()) { throw new IOException(String.format("path %s is not a file", path)); } String contentHash = UnderFileSystemUtils.approximateContentHash(file.length(), file.lastModified()); return new UfsFileStatus(path, contentHash, file.length(), file.lastModified(), attr.owner().getName(), attr.group().getName(), FileUtils.translatePosixPermissionToMode(attr.permissions()), mUfsConf.getBytes(PropertyKey.USER_BLOCK_SIZE_BYTES_DEFAULT)); } catch (FileSystemException e) { throw new FileNotFoundException(e.getMessage()); } } LocalUnderFileSystem(AlluxioURI uri, UnderFileSystemConfiguration ufsConf); @Override String getUnderFSType(); @Override void cleanup(); @Override void close(); @Override OutputStream create(String path, CreateOptions options); @Override OutputStream createDirect(String path, CreateOptions options); @Override boolean deleteDirectory(String path, DeleteOptions options); @Override boolean deleteFile(String path); @Override boolean exists(String path); @Override long getBlockSizeByte(String path); @Override UfsDirectoryStatus getDirectoryStatus(String path); @Override List<String> getFileLocations(String path); @Override List<String> getFileLocations(String path, FileLocationOptions options); @Override UfsFileStatus getFileStatus(String path); @Override long getSpace(String path, SpaceType type); @Override UfsStatus getStatus(String path); @Override boolean isDirectory(String path); @Override boolean isFile(String path); @Override UfsStatus[] listStatus(String path); @Override boolean mkdirs(String path, MkdirsOptions options); @Override InputStream open(String path, OpenOptions options); @Override boolean renameDirectory(String src, String dst); @Override boolean renameFile(String src, String dst); @Override void setOwner(String path, String user, String group); @Override void setMode(String path, short mode); @Override void connectFromMaster(String hostname); @Override void connectFromWorker(String hostname); @Override boolean supportsFlush();  }