Example usage for java.nio.file.attribute PosixFilePermission OTHERS_WRITE

List of usage examples for java.nio.file.attribute PosixFilePermission OTHERS_WRITE

Introduction

In this page you can find the example usage for java.nio.file.attribute PosixFilePermission OTHERS_WRITE.

Prototype

PosixFilePermission OTHERS_WRITE

To view the source code for java.nio.file.attribute PosixFilePermission OTHERS_WRITE.

Click Source Link

Document

Write permission, others.

Usage

From source file:Helper.Helper.java

public static Set<PosixFilePermission> intToSetPosix(int chmod) {
    Set<PosixFilePermission> perms = new HashSet<PosixFilePermission>();
    int other = chmod % 10, group = (chmod / 10) % 10, owner = (chmod / 100) % 10;

    if (owner >= 4) {
        perms.add(PosixFilePermission.OWNER_READ);
        owner -= 4;/*ww w  .  ja  va2 s. com*/
    }
    if (owner >= 2) {
        perms.add(PosixFilePermission.OWNER_WRITE);
        owner -= 2;
    }
    if (owner >= 1) {
        perms.add(PosixFilePermission.OWNER_EXECUTE);
        owner -= 1;
    }

    if (group >= 4) {
        perms.add(PosixFilePermission.GROUP_READ);
        group -= 4;
    }
    if (group >= 2) {
        perms.add(PosixFilePermission.GROUP_WRITE);
        group -= 2;
    }
    if (group >= 1) {
        perms.add(PosixFilePermission.GROUP_EXECUTE);
        group -= 1;
    }

    if (other >= 4) {
        perms.add(PosixFilePermission.OTHERS_READ);
        other -= 4;
    }
    if (other >= 2) {
        perms.add(PosixFilePermission.OTHERS_WRITE);
        other -= 2;
    }
    if (other >= 1) {
        perms.add(PosixFilePermission.OTHERS_EXECUTE);
        other -= 1;
    }

    return perms;
}

From source file:net.krotscheck.util.ResourceUtilTest.java

/**
 * Assert that we can read a resource as a string.
 *
 * @throws Exception Should not be thrown.
 */// ww  w. j av a  2 s.c  om
@Test
public void testGetResourceAsString() throws Exception {
    String name = "/valid-resource-file.txt";
    String content = ResourceUtil.getResourceAsString(name);

    Assert.assertEquals("valid resource content", content);

    String invalidName = "/invalid-resource-file.txt";
    String invalidContent = ResourceUtil.getResourceAsString(invalidName);

    Assert.assertEquals("", invalidContent);

    // Make the file write only
    File resource = ResourceUtil.getFileForResource(name);
    Set<PosixFilePermission> oldPerms = Files.getPosixFilePermissions(resource.toPath());
    Set<PosixFilePermission> perms = new HashSet<>();
    perms.add(PosixFilePermission.OWNER_WRITE);
    perms.add(PosixFilePermission.OWNER_EXECUTE);
    perms.add(PosixFilePermission.GROUP_WRITE);
    perms.add(PosixFilePermission.GROUP_EXECUTE);
    perms.add(PosixFilePermission.OTHERS_WRITE);
    perms.add(PosixFilePermission.OTHERS_EXECUTE);

    // Write only...
    Files.setPosixFilePermissions(resource.toPath(), perms);
    String writeOnlyName = "/valid-resource-file.txt";
    String writeOnlyContent = ResourceUtil.getResourceAsString(writeOnlyName);
    Assert.assertEquals("", writeOnlyContent);

    Files.setPosixFilePermissions(resource.toPath(), oldPerms);

}

From source file:org.everit.osgi.dev.maven.util.FileManager.java

private static void setPermissionsOnFile(final File file, final ZipArchiveEntry entry) throws IOException {
    if (entry.getPlatform() == ZipArchiveEntry.PLATFORM_FAT) {
        return;// w  w w  . j  a  v  a  2s. c o m
    }
    int unixPermissions = entry.getUnixMode();

    Set<PosixFilePermission> perms = new HashSet<>();

    if ((unixPermissions & OWNER_EXECUTE_BITMASK) > 0) {
        perms.add(PosixFilePermission.OWNER_EXECUTE);
    }

    if ((unixPermissions & GROUP_EXECUTE_BITMASK) > 0) {
        perms.add(PosixFilePermission.GROUP_EXECUTE);
    }

    if ((unixPermissions & OTHERS_EXECUTE_BITMASK) > 0) {
        perms.add(PosixFilePermission.OTHERS_EXECUTE);
    }

    if ((unixPermissions & OWNER_READ_BITMASK) > 0) {
        perms.add(PosixFilePermission.OWNER_READ);
    }

    if ((unixPermissions & GROUP_READ_BITMASK) > 0) {
        perms.add(PosixFilePermission.GROUP_READ);
    }

    if ((unixPermissions & OTHERS_READ_BITMASK) > 0) {
        perms.add(PosixFilePermission.OTHERS_READ);
    }

    if ((unixPermissions & OWNER_WRITE_BITMASK) > 0) {
        perms.add(PosixFilePermission.OWNER_WRITE);
    }

    if ((unixPermissions & GROUP_WRITE_BITMASK) > 0) {
        perms.add(PosixFilePermission.GROUP_WRITE);
    }

    if ((unixPermissions & OTHERS_WRITE_BITMASK) > 0) {
        perms.add(PosixFilePermission.OTHERS_WRITE);
    }

    Path path = file.toPath();
    if (path.getFileSystem().supportedFileAttributeViews().contains("posix")) {
        Files.setPosixFilePermissions(path, perms);
    } else {
        setPermissionsOnFileInNonPosixSystem(file, perms);
    }
}

From source file:org.kitodo.command.CommandTest.java

private static void setFileExecuteable(File file) throws IOException {
    Set<PosixFilePermission> perms = new HashSet<>();

    perms.add(PosixFilePermission.OWNER_READ);
    perms.add(PosixFilePermission.OWNER_WRITE);
    perms.add(PosixFilePermission.OWNER_EXECUTE);

    perms.add(PosixFilePermission.OTHERS_READ);
    perms.add(PosixFilePermission.OTHERS_WRITE);
    perms.add(PosixFilePermission.OTHERS_EXECUTE);

    perms.add(PosixFilePermission.GROUP_READ);
    perms.add(PosixFilePermission.GROUP_WRITE);
    perms.add(PosixFilePermission.GROUP_EXECUTE);

    Files.setPosixFilePermissions(file.toPath(), perms);
}

From source file:net.krotscheck.util.ResourceUtilTest.java

/**
 * Assert that we can read a resource as a stream.
 *
 * @throws Exception Should not be thrown.
 *///www . j  av a 2s .c  o m
@Test
public void testGetResourceAsStream() throws Exception {
    String name = "/valid-resource-file.txt";
    InputStream stream = ResourceUtil.getResourceAsStream(name);
    Assert.assertTrue(stream.available() > 0);

    String invalidName = "/invalid-resource-file.txt";
    InputStream invalidContent = ResourceUtil.getResourceAsStream(invalidName);

    Assert.assertTrue(invalidContent instanceof NullInputStream);
    Assert.assertTrue(invalidContent.available() == 0);

    // Make the file write only
    File resource = ResourceUtil.getFileForResource(name);
    Set<PosixFilePermission> oldPerms = Files.getPosixFilePermissions(resource.toPath());
    Set<PosixFilePermission> perms = new HashSet<>();
    perms.add(PosixFilePermission.OWNER_WRITE);
    perms.add(PosixFilePermission.OWNER_EXECUTE);
    perms.add(PosixFilePermission.GROUP_WRITE);
    perms.add(PosixFilePermission.GROUP_EXECUTE);
    perms.add(PosixFilePermission.OTHERS_WRITE);
    perms.add(PosixFilePermission.OTHERS_EXECUTE);

    // Write only...
    Files.setPosixFilePermissions(resource.toPath(), perms);
    String writeOnlyName = "/valid-resource-file.txt";
    InputStream writeOnlyContent = ResourceUtil.getResourceAsStream(writeOnlyName);
    Assert.assertTrue(writeOnlyContent instanceof NullInputStream);
    Assert.assertTrue(writeOnlyContent.available() == 0);

    Files.setPosixFilePermissions(resource.toPath(), oldPerms);
}

From source file:org.assertj.examples.PathAssertionsExamples.java

@Test
public void path_rwx_assertion() throws Exception {
    assumeTrue(SystemUtils.IS_OS_UNIX);/*  w w  w  .  j ava 2s  . c  o m*/

    // Create a file and set permissions to be readable by all.
    write(rwxFile, "rwx file".getBytes());

    // using PosixFilePermission to set file permissions 777
    Set<PosixFilePermission> perms = new HashSet<PosixFilePermission>();
    // add owners permission
    perms.add(PosixFilePermission.OWNER_READ);
    perms.add(PosixFilePermission.OWNER_WRITE);
    perms.add(PosixFilePermission.OWNER_EXECUTE);
    // add group permissions
    perms.add(PosixFilePermission.GROUP_READ);
    perms.add(PosixFilePermission.GROUP_WRITE);
    perms.add(PosixFilePermission.GROUP_EXECUTE);
    // add others permissions
    perms.add(PosixFilePermission.OTHERS_READ);
    perms.add(PosixFilePermission.OTHERS_WRITE);
    perms.add(PosixFilePermission.OTHERS_EXECUTE);

    Files.setPosixFilePermissions(rwxFile, perms);

    final Path symlinkToRwxFile = FileSystems.getDefault().getPath("symlink-to-rwxFile");
    if (!Files.exists(symlinkToRwxFile)) {
        createSymbolicLink(symlinkToRwxFile, rwxFile);
    }

    // The following assertions succeed:
    assertThat(rwxFile).isReadable().isWritable().isExecutable();

    assertThat(symlinkToRwxFile).isReadable().isWritable().isExecutable();
}

From source file:org.kitodo.command.CommandTest.java

private static void setFileNotExecuteable(File file) throws IOException {
    Set<PosixFilePermission> perms = new HashSet<>();

    perms.add(PosixFilePermission.OWNER_READ);
    perms.add(PosixFilePermission.OWNER_WRITE);

    perms.add(PosixFilePermission.OTHERS_READ);
    perms.add(PosixFilePermission.OTHERS_WRITE);

    perms.add(PosixFilePermission.GROUP_READ);
    perms.add(PosixFilePermission.GROUP_WRITE);

    Files.setPosixFilePermissions(file.toPath(), perms);
}

From source file:org.everit.osgi.dev.maven.util.FileManager.java

private static void setPermissionsOnFileInNonPosixSystem(final File file,
        final Set<PosixFilePermission> perms) {

    if (perms.contains(PosixFilePermission.OWNER_EXECUTE)) {
        file.setExecutable(true, !perms.contains(PosixFilePermission.OTHERS_EXECUTE));
    }//w  w  w .  ja  v  a2s  . c  o  m

    if (perms.contains(PosixFilePermission.OWNER_READ)) {
        file.setReadable(true, !perms.contains(PosixFilePermission.OTHERS_READ));
    }

    if (perms.contains(PosixFilePermission.OWNER_WRITE)) {
        file.setWritable(true, !perms.contains(PosixFilePermission.OTHERS_WRITE));
    }

}

From source file:org.verwandlung.voj.judger.core.Preprocessor.java

/**
 * ???./*  ww w.  j a  va  2 s . c  o m*/
 * Linux, ?UID=1536?, ?Others???.
 * @param workDirectory 
 */
private void setWorkDirectoryPermission(File workDirectory) throws IOException {
    if (!System.getProperty("os.name").contains("Windows")) {
        Set<PosixFilePermission> permissions = new HashSet<>();

        permissions.add(PosixFilePermission.OWNER_READ);
        permissions.add(PosixFilePermission.OWNER_WRITE);
        permissions.add(PosixFilePermission.OWNER_EXECUTE);

        permissions.add(PosixFilePermission.GROUP_READ);
        permissions.add(PosixFilePermission.GROUP_WRITE);
        permissions.add(PosixFilePermission.GROUP_EXECUTE);

        permissions.add(PosixFilePermission.OTHERS_READ);
        permissions.add(PosixFilePermission.OTHERS_WRITE);
        permissions.add(PosixFilePermission.OTHERS_EXECUTE);
        Files.setPosixFilePermissions(workDirectory.toPath(), permissions);
    }
}

From source file:com.streamsets.datacollector.el.TestRuntimeEL.java

@Test
public void testLoadResource() throws Exception {
    Path fooFile = Paths.get(resourcesDir.getPath(), "foo.txt");
    try {//from  w w  w.  j a  v  a 2s  .c  o m
        Files.write(fooFile, "Hello".getBytes(StandardCharsets.UTF_8));
        RuntimeEL.loadRuntimeConfiguration(runtimeInfo);
        Assert.assertNull(RuntimeEL.loadResource("bar.txt", false));
        Assert.assertNull(RuntimeEL.loadResource("bar.txt", true));
        Assert.assertEquals("Hello", RuntimeEL.loadResource("foo.txt", false));
        try {
            RuntimeEL.loadResource("foo.txt", true);
            Assert.fail();
        } catch (IllegalArgumentException ex) {
            //nop
        } catch (Exception ex) {
            Assert.fail();
        }
        Files.setPosixFilePermissions(fooFile,
                ImmutableSet.of(PosixFilePermission.OWNER_READ, PosixFilePermission.OWNER_WRITE));
        Assert.assertEquals("Hello", RuntimeEL.loadResource("foo.txt", true));

        try {
            Files.setPosixFilePermissions(fooFile, ImmutableSet.of(PosixFilePermission.OTHERS_READ));
            Assert.assertEquals("Hello", RuntimeEL.loadResource("foo.txt", true));
            Assert.fail();
        } catch (IllegalArgumentException ex) {
            //NOP
        }

        try {
            Files.setPosixFilePermissions(fooFile, ImmutableSet.of(PosixFilePermission.OTHERS_WRITE));
            Assert.assertEquals("Hello", RuntimeEL.loadResource("foo.txt", true));
            Assert.fail();
        } catch (IllegalArgumentException ex) {
            //NOP
        }
    } finally {
        Files.setPosixFilePermissions(fooFile,
                ImmutableSet.of(PosixFilePermission.OWNER_READ, PosixFilePermission.OWNER_WRITE));
    }
}