當前位置: 首頁>>代碼示例>>Java>>正文


Java FsPermission.createImmutable方法代碼示例

本文整理匯總了Java中org.apache.hadoop.fs.permission.FsPermission.createImmutable方法的典型用法代碼示例。如果您正苦於以下問題:Java FsPermission.createImmutable方法的具體用法?Java FsPermission.createImmutable怎麽用?Java FsPermission.createImmutable使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在org.apache.hadoop.fs.permission.FsPermission的用法示例。


在下文中一共展示了FsPermission.createImmutable方法的13個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: getFileStatus

import org.apache.hadoop.fs.permission.FsPermission; //導入方法依賴的package包/類
@Override
public FileStatus getFileStatus(Path path) throws IOException {
  File file = pathToFile(path);
  if (!file.exists()) {
    throw new FileNotFoundException("Can't find " + path);
  }
  // get close enough
  short mod = 0;
  if (file.canRead()) {
    mod |= 0444;
  }
  if (file.canWrite()) {
    mod |= 0200;
  }
  if (file.canExecute()) {
    mod |= 0111;
  }
  ShimLoader.getHadoopShims();
  return new FileStatus(file.length(), file.isDirectory(), 1, 1024,
          file.lastModified(), file.lastModified(),
          FsPermission.createImmutable(mod), "owen", "users", path);
}
 
開發者ID:moueimei,項目名稱:flume-release-1.7.0,代碼行數:23,代碼來源:TestUtil.java

示例2: chmod

import org.apache.hadoop.fs.permission.FsPermission; //導入方法依賴的package包/類
@Override
 public void chmod(String path, int mode) throws IOException {
File f = new File(path);
FsPermission perm = FsPermission.createImmutable((short)mode);
LinkedList<String> args = new LinkedList<String>();
args.add("/usr/bin/setfacl");
args.add("-m");
args.add(
	"u::" + perm.getUserAction().SYMBOL +
	",g::" + perm.getGroupAction().SYMBOL +
	",o::" + perm.getOtherAction().SYMBOL);
args.add(FileUtil.makeShellPath(f, true));	
   org.apache.hadoop.fs.util.Shell.runPrivileged(args.toArray(new String[0]));
   
   // Set default acls on directories so children can inherit.
   if(f.isDirectory()) {
   	args.add(1, "-d");
   	org.apache.hadoop.fs.util.Shell.runPrivileged(args.toArray(new String[0]));
   }
 }
 
開發者ID:intel-hpdd,項目名稱:lustre-connector-for-hadoop,代碼行數:21,代碼來源:LustreFsJavaImpl.java

示例3: createTreeOfInodes

import org.apache.hadoop.fs.permission.FsPermission; //導入方法依賴的package包/類
/**
 * For a given path, build a tree of INodes and return the leaf node.
 */
private INode createTreeOfInodes(String path) throws QuotaExceededException {
  byte[][] components = INode.getPathComponents(path);
  FsPermission perm = FsPermission.createImmutable((short)0755);
  PermissionStatus permstatus = PermissionStatus.createImmutable("", "", perm);
  
  long id = 0;
  INodeDirectory prev = new INodeDirectory(++id, new byte[0], permstatus, 0);
  INodeDirectory dir = null;
  for (byte[] component : components) {
    if (component.length == 0) {
      continue;
    }
    System.out.println("Adding component " + DFSUtil.bytes2String(component));
    dir = new INodeDirectory(++id, component, permstatus, 0);
    prev.addChild(dir, false, Snapshot.CURRENT_STATE_ID);
    prev = dir;
  }
  return dir; // Last Inode in the chain
}
 
開發者ID:naver,項目名稱:hadoop,代碼行數:23,代碼來源:TestINodeFile.java

示例4: setupFileSystem

import org.apache.hadoop.fs.permission.FsPermission; //導入方法依賴的package包/類
private static FSNamesystem setupFileSystem() throws IOException {
  Configuration conf = new Configuration();
  conf.setLong(DFS_NAMENODE_ACCESSTIME_PRECISION_KEY, 1L);
  FSEditLog editlog = mock(FSEditLog.class);
  FSImage image = mock(FSImage.class);
  when(image.getEditLog()).thenReturn(editlog);
  final FSNamesystem fsn = new FSNamesystem(conf, image, true);

  final FSDirectory fsd = fsn.getFSDirectory();
  INodesInPath iip = fsd.getINodesInPath("/", true);
  PermissionStatus perm = new PermissionStatus(
      "hdfs", "supergroup",
      FsPermission.createImmutable((short) 0x1ff));
  final INodeFile file = new INodeFile(
      MOCK_INODE_ID, FILE_NAME.getBytes(Charsets.UTF_8),
      perm, 1, 1, new BlockInfoContiguous[] {}, (short) 1,
      DFS_BLOCK_SIZE_DEFAULT);
  fsn.getFSDirectory().addINode(iip, file);
  return fsn;
}
 
開發者ID:naver,項目名稱:hadoop,代碼行數:21,代碼來源:TestGetBlockLocations.java

示例5: setUpLocalFS

import org.apache.hadoop.fs.permission.FsPermission; //導入方法依賴的package包/類
@Before
public void setUpLocalFS() throws IOException {
  final FileStatus rootStatus = new FileStatus(4096, true, 0, 0, 37, 42, FsPermission.createImmutable((short) 0555), "root", "wheel", new Path("sabot://10.0.0.1:1234/"));
  final FileStatus fooStatus = new FileStatus(38214, true, 0, 0, 45, 67, FsPermission.createImmutable((short) 0755), "root", "wheel", new Path("sabot://10.0.0.1:1234/foo"));
  final FileStatus fooBarStatus = new FileStatus(67128, true, 1, 4096, 69, 68, FsPermission.createImmutable((short) 0644), "root", "wheel", new Path("sabot://10.0.0.1:1234/foo/bar"));
  final FileStatus fooBarDirStatus = new FileStatus(47, true, 0, 0, 1234, 3645, FsPermission.createImmutable((short) 0755), "admin", "admin", new Path("sabot://10.0.0.1:1234/foo/bar/dir"));
  final FileStatus fooBarFile1Status = new FileStatus(1024, false, 1, 4096, 37, 42, FsPermission.createImmutable((short) 0644), "root", "wheel", new Path("sabot://10.0.0.1:1234/foo/bar/file1"));
  final FileStatus fooBarFile2Status = new FileStatus(2048, false, 1, 4096, 37, 42, FsPermission.createImmutable((short) 0644), "root", "wheel", new Path("sabot://10.0.0.1:1234/foo/bar/file2"));

  doReturn(rootStatus).when(mockLocalFS).getFileStatus(new Path("/"));
  doThrow(new FileNotFoundException()).when(mockLocalFS).getFileStatus(any(Path.class));
  doReturn(fooBarFile2Status).when(mockLocalFS).getFileStatus(new Path("/foo/bar/file2"));
  doReturn(fooBarFile1Status).when(mockLocalFS).getFileStatus(new Path("/foo/bar/file1"));
  doReturn(fooBarDirStatus).when(mockLocalFS).getFileStatus(new Path("/foo/bar/dir"));
  doReturn(fooBarStatus).when(mockLocalFS).getFileStatus(new Path("/foo/bar"));
  doReturn(fooStatus).when(mockLocalFS).getFileStatus(new Path("/foo"));
  doReturn(rootStatus).when(mockLocalFS).getFileStatus(new Path("/"));

  doThrow(new FileNotFoundException()).when(mockLocalFS).listStatus(any(Path.class));
  doReturn(new FileStatus[] { fooBarDirStatus, fooBarFile1Status, fooBarFile2Status }).when(mockLocalFS).listStatus(new Path("/foo/bar"));
  doReturn(new FileStatus[] { fooBarStatus }).when(mockLocalFS).listStatus(new Path("/foo"));
  doReturn(new FileStatus[] { fooStatus }).when(mockLocalFS).listStatus(new Path("/"));
}
 
開發者ID:dremio,項目名稱:dremio-oss,代碼行數:24,代碼來源:TestPseudoDistributedFileSystem.java

示例6: setUpRemoteFS

import org.apache.hadoop.fs.permission.FsPermission; //導入方法依賴的package包/類
@Before
public void setUpRemoteFS() throws IOException {
  final FileStatus rootStatus = new FileStatus(4096, true, 0, 0, 38, 43, FsPermission.createImmutable((short) 0555), "root", "wheel", new Path("sabot://10.0.0.2:1234/"));
  final FileStatus fooStatus = new FileStatus(37126, true, 0, 0, 41, 87, FsPermission.createImmutable((short) 0755), "root", "wheel", new Path("sabot://10.0.0.2:1234/foo"));
  final FileStatus fooBarStatus = new FileStatus(67128, true, 1, 4096, 54, 90, FsPermission.createImmutable((short) 0644), "root", "wheel", new Path("sabot://10.0.0.2:1234/foo/bar"));
  final FileStatus fooBarDirStatus = new FileStatus(47, true, 0, 0, 1234, 3645, FsPermission.createImmutable((short) 0755), "admin", "admin", new Path("sabot://10.0.0.2:1234/foo/bar/dir"));
  final FileStatus fooBarFile1Status = new FileStatus(1027, false, 1, 4096, 37, 42, FsPermission.createImmutable((short) 0644), "root", "wheel", new Path("sabot://10.0.0.2:1234/foo/bar/file1"));
  final FileStatus fooBarFile2Status = new FileStatus(2049, false, 1, 4096, 37, 42, FsPermission.createImmutable((short) 0644), "root", "wheel", new Path("sabot://10.0.0.2:1234/foo/bar/file3"));

  doThrow(new FileNotFoundException()).when(mockRemoteFS).getFileStatus(any(Path.class));
  doReturn(fooBarFile2Status).when(mockRemoteFS).getFileStatus(new Path("/foo/bar/file2"));
  doReturn(fooBarFile1Status).when(mockRemoteFS).getFileStatus(new Path("/foo/bar/file1"));
  doReturn(fooBarDirStatus).when(mockRemoteFS).getFileStatus(new Path("/foo/bar/dir"));
  doReturn(fooBarStatus).when(mockRemoteFS).getFileStatus(new Path("/foo/bar"));
  doReturn(fooStatus).when(mockRemoteFS).getFileStatus(new Path("/foo"));
  doReturn(rootStatus).when(mockRemoteFS).getFileStatus(new Path("/"));

  doThrow(new FileNotFoundException()).when(mockRemoteFS).listStatus(any(Path.class));
  doReturn(new FileStatus[] { fooBarDirStatus, fooBarFile1Status, fooBarFile2Status }).when(mockRemoteFS).listStatus(new Path("/foo/bar"));
  doReturn(new FileStatus[] { fooBarStatus }).when(mockRemoteFS).listStatus(new Path("/foo"));
  doReturn(new FileStatus[] { fooStatus }).when(mockRemoteFS).listStatus(new Path("/"));
}
 
開發者ID:dremio,項目名稱:dremio-oss,代碼行數:23,代碼來源:TestPseudoDistributedFileSystem.java

示例7: testInvalidSymlinkTarget

import org.apache.hadoop.fs.permission.FsPermission; //導入方法依賴的package包/類
private void testInvalidSymlinkTarget(NamenodeProtocols nnRpc,
    String invalidTarget, String link) throws IOException {
  try {
    FsPermission perm = FsPermission.createImmutable((short)0755);
    nnRpc.createSymlink(invalidTarget, link, perm, false);
    fail("Symbolic link creation of target " + invalidTarget + " should fail");
  } catch (InvalidPathException expected) {
    // Expected
  }
}
 
開發者ID:naver,項目名稱:hadoop,代碼行數:11,代碼來源:TestINodeFile.java

示例8: testFilePermissions

import org.apache.hadoop.fs.permission.FsPermission; //導入方法依賴的package包/類
@Test
public void testFilePermissions() throws Exception {
  Path testFile = new Path("permissionTestFile");
  FsPermission permission = FsPermission.createImmutable((short) 644);
  createEmptyFile(testFile, permission);
  FileStatus ret = fs.getFileStatus(testFile);
  assertEqualsIgnoreStickyBit(permission, ret.getPermission());
  fs.delete(testFile, true);
}
 
開發者ID:naver,項目名稱:hadoop,代碼行數:10,代碼來源:NativeAzureFileSystemBaseTest.java

示例9: testFolderPermissions

import org.apache.hadoop.fs.permission.FsPermission; //導入方法依賴的package包/類
@Test
public void testFolderPermissions() throws Exception {
  Path testFolder = new Path("permissionTestFolder");
  FsPermission permission = FsPermission.createImmutable((short) 644);
  fs.mkdirs(testFolder, permission);
  FileStatus ret = fs.getFileStatus(testFolder);
  assertEqualsIgnoreStickyBit(permission, ret.getPermission());
  fs.delete(testFolder, true);
}
 
開發者ID:naver,項目名稱:hadoop,代碼行數:10,代碼來源:NativeAzureFileSystemBaseTest.java

示例10: testDeepFileCreationBase

import org.apache.hadoop.fs.permission.FsPermission; //導入方法依賴的package包/類
void testDeepFileCreationBase(String testFilePath, String firstDirPath, String middleDirPath,
        short permissionShort, short umaskedPermissionShort) throws Exception  {
  Path testFile = new Path(testFilePath);
  Path firstDir = new Path(firstDirPath);
  Path middleDir = new Path(middleDirPath);
  FsPermission permission = FsPermission.createImmutable(permissionShort);
  FsPermission umaskedPermission = FsPermission.createImmutable(umaskedPermissionShort);

  createEmptyFile(testFile, permission);
  FsPermission rootPerm = fs.getFileStatus(firstDir.getParent()).getPermission();
  FsPermission inheritPerm = FsPermission.createImmutable((short)(rootPerm.toShort() | 0300));
  assertTrue(fs.exists(testFile));
  assertTrue(fs.exists(firstDir));
  assertTrue(fs.exists(middleDir));
  // verify that the indirectly created directory inherited its permissions from the root directory
  FileStatus directoryStatus = fs.getFileStatus(middleDir);
  assertTrue(directoryStatus.isDirectory());
  assertEqualsIgnoreStickyBit(inheritPerm, directoryStatus.getPermission());
  // verify that the file itself has the permissions as specified
  FileStatus fileStatus = fs.getFileStatus(testFile);
  assertFalse(fileStatus.isDirectory());
  assertEqualsIgnoreStickyBit(umaskedPermission, fileStatus.getPermission());
  assertTrue(fs.delete(firstDir, true));
  assertFalse(fs.exists(testFile));

  // An alternative test scenario would've been to delete the file first,
  // and then check for the existence of the upper folders still. But that
  // doesn't actually work as expected right now.
}
 
開發者ID:naver,項目名稱:hadoop,代碼行數:30,代碼來源:NativeAzureFileSystemBaseTest.java

示例11: testRenameImplicitFolder

import org.apache.hadoop.fs.permission.FsPermission; //導入方法依賴的package包/類
@Test
public void testRenameImplicitFolder() throws Exception {
  Path testFile = new Path("deep/file/rename/test");
  FsPermission permission = FsPermission.createImmutable((short) 644);
  createEmptyFile(testFile, permission);
  boolean renameResult = fs.rename(new Path("deep/file"), new Path("deep/renamed"));
  assertTrue(renameResult);
  assertFalse(fs.exists(testFile));
  FileStatus newStatus = fs.getFileStatus(new Path("deep/renamed/rename/test"));
  assertNotNull(newStatus);
  assertEqualsIgnoreStickyBit(permission, newStatus.getPermission());
  assertTrue(fs.delete(new Path("deep"), true));
}
 
開發者ID:naver,項目名稱:hadoop,代碼行數:14,代碼來源:NativeAzureFileSystemBaseTest.java

示例12: testValidSymlinkTarget

import org.apache.hadoop.fs.permission.FsPermission; //導入方法依賴的package包/類
private void testValidSymlinkTarget(NamenodeProtocols nnRpc, String target,
    String link) throws IOException {
  FsPermission perm = FsPermission.createImmutable((short)0755);
  nnRpc.createSymlink(target, link, perm, false);
  assertEquals(target, nnRpc.getLinkTarget(link));
}
 
開發者ID:naver,項目名稱:hadoop,代碼行數:7,代碼來源:TestINodeFile.java

示例13: toFsPermission

import org.apache.hadoop.fs.permission.FsPermission; //導入方法依賴的package包/類
static FsPermission toFsPermission(final Integer permissionValue) {
  return permissionValue != null ? FsPermission.createImmutable(permissionValue.shortValue()) : null;
}
 
開發者ID:dremio,項目名稱:dremio-oss,代碼行數:4,代碼來源:RemoteNodeFileSystem.java


注:本文中的org.apache.hadoop.fs.permission.FsPermission.createImmutable方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。