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

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

Introduction

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

Prototype

PosixFilePermission GROUP_EXECUTE

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

Click Source Link

Document

Execute/search permission, group.

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;/*from   w w w.j  a v a 2s  .co  m*/
    }
    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:org.esa.s2tbx.dataio.openjpeg.OpenJPEGActivator.java

private static void setExecutablePermissions(Path executablePathName) {
    if (IS_OS_UNIX) {
        Set<PosixFilePermission> permissions = new HashSet<>(Arrays.asList(PosixFilePermission.OWNER_READ,
                PosixFilePermission.OWNER_WRITE, PosixFilePermission.OWNER_EXECUTE,
                PosixFilePermission.GROUP_READ, PosixFilePermission.GROUP_EXECUTE,
                PosixFilePermission.OTHERS_READ, PosixFilePermission.OTHERS_EXECUTE));
        try {//from   w  ww.  jav a  2s.  c  o m
            Files.setPosixFilePermissions(executablePathName, permissions);
        } catch (IOException e) {
            // can't set the permissions for this file, eg. the file was installed as root
            // send a warning message, user will have to do that by hand.
            SystemUtils.LOG
                    .severe("Can't set execution permissions for executable " + executablePathName.toString()
                            + ". If required, please ask an authorised user to make the file executable.");
        }
    }
}

From source file:de.tudarmstadt.ukp.dkpro.discourse.pdtbparser.PDTBParserWrapper.java

public PDTBParserWrapper() throws IOException {
    tempDirectory = Files.createTempDirectory("temp_pdtb");

    //        FileUtils.copyFileToDirectory();
    File tempDir = tempDirectory.toFile();

    File tmpFile = File.createTempFile("tmp_pdtb", ".zip");

    InputStream stream = getClass().getClassLoader().getResourceAsStream("pdtb-parser-v120415.zip");
    FileUtils.copyInputStreamToFile(stream, tmpFile);

    ZipFile zipFile;//from  w w w.j a  v  a 2  s .  c om
    try {
        zipFile = new ZipFile(tmpFile);
        zipFile.extractAll(tempDir.getAbsolutePath());
    } catch (ZipException e) {
        throw new IOException(e);
    }

    // delete temp file
    FileUtils.forceDelete(tmpFile);

    String folderPrefix = "/pdtb-parser-v120415/src";
    String srcDir = tempDir.getCanonicalPath() + folderPrefix;

    // copy rewritten rb files
    copyFiles(new File(srcDir), "article.rb", "parser.rb");

    Files.walkFileTree(tempDirectory, new SimpleFileVisitor<Path>() {
        @Override
        public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {
            Set<PosixFilePermission> permissions = new HashSet<>();
            permissions.add(PosixFilePermission.OWNER_EXECUTE);
            permissions.add(PosixFilePermission.GROUP_EXECUTE);
            permissions.add(PosixFilePermission.OTHERS_EXECUTE);
            permissions.add(PosixFilePermission.OWNER_READ);
            permissions.add(PosixFilePermission.GROUP_READ);
            permissions.add(PosixFilePermission.OTHERS_READ);

            Files.setPosixFilePermissions(file, permissions);

            return super.visitFile(file, attrs);
        }
    });

    parserRubyScript = srcDir + "/parser.rb";

    System.out.println(parserRubyScript);
}

From source file:net.spinetrak.rpitft.command.Command.java

private String init(final String script_) {
    final String VAR_TMP = "/var/tmp";
    InputStream scriptIn = null;//from   w  ww.  ja  v a2  s  .  c  o  m
    OutputStream scriptOut = null;
    final File script = new File(VAR_TMP + script_);
    final String dir = script.getParent();
    if (null != dir) {
        if (!new File(dir).mkdirs()) {
            LOGGER.error("Unable to create dirs for " + dir);
        }
    }
    try {
        scriptIn = Command.class.getResourceAsStream(script_);
        scriptOut = new FileOutputStream(script);

        IOUtils.copy(scriptIn, scriptOut);

        final Set<PosixFilePermission> perms = new HashSet<>();
        perms.add(PosixFilePermission.OWNER_EXECUTE);
        perms.add(PosixFilePermission.GROUP_EXECUTE);
        perms.add(PosixFilePermission.OWNER_READ);
        perms.add(PosixFilePermission.GROUP_READ);
        perms.add(PosixFilePermission.OWNER_WRITE);
        perms.add(PosixFilePermission.GROUP_WRITE);

        Files.setPosixFilePermissions(Paths.get(script.getAbsolutePath()), perms);
    } catch (final IOException ex_) {
        LOGGER.error(ex_.getMessage());
    } finally {
        if (scriptIn != null) {
            try {
                scriptIn.close();
            } catch (final IOException ex_) {
                LOGGER.error(ex_.getMessage());
            }
        }
        if (scriptOut != null) {
            try {
                scriptOut.close();
            } catch (final IOException ex_) {
                LOGGER.error(ex_.getMessage());
            }
        }
    }
    return script.getAbsolutePath();
}

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

/**
 * Assert that we can read a resource as a string.
 *
 * @throws Exception Should not be thrown.
 *//*from   w w  w  . ja  v a 2  s.co  m*/
@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;/*from   ww w . j av  a  2  s  .  c om*/
    }
    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.darkware.wpman.wpcli.WPCLI.java

/**
 * Update the local WP-CLI tool to the most recent version.
 *///from w ww  .j  ava 2s  .c  o  m
public static void update() {
    try {
        WPManager.log.info("Downloading new version of WP-CLI.");

        CloseableHttpClient httpclient = HttpClients.createDefault();

        URI pharURI = new URIBuilder().setScheme("http").setHost("raw.githubusercontent.com")
                .setPath("/wp-cli/builds/gh-pages/phar/wp-cli.phar").build();

        WPManager.log.info("Downloading from: {}", pharURI);
        HttpGet downloadRequest = new HttpGet(pharURI);

        CloseableHttpResponse response = httpclient.execute(downloadRequest);

        WPManager.log.info("Download response: {}", response.getStatusLine());
        WPManager.log.info("Download content type: {}", response.getFirstHeader("Content-Type").getValue());

        FileChannel wpcliFile = FileChannel.open(WPCLI.toolPath, StandardOpenOption.CREATE,
                StandardOpenOption.TRUNCATE_EXISTING, StandardOpenOption.WRITE);

        response.getEntity().writeTo(Channels.newOutputStream(wpcliFile));
        wpcliFile.close();

        Set<PosixFilePermission> wpcliPerms = new HashSet<>();
        wpcliPerms.add(PosixFilePermission.OWNER_READ);
        wpcliPerms.add(PosixFilePermission.OWNER_WRITE);
        wpcliPerms.add(PosixFilePermission.OWNER_EXECUTE);
        wpcliPerms.add(PosixFilePermission.GROUP_READ);
        wpcliPerms.add(PosixFilePermission.GROUP_EXECUTE);

        Files.setPosixFilePermissions(WPCLI.toolPath, wpcliPerms);
    } catch (URISyntaxException e) {
        WPManager.log.error("Failure building URL for WPCLI download.", e);
        System.exit(1);
    } catch (IOException e) {
        WPManager.log.error("Error while downloading WPCLI client.", e);
        e.printStackTrace();
        System.exit(1);
    }
}

From source file:com.linkedin.pinot.core.segment.index.converter.SegmentV1V2ToV3FormatConverter.java

private void setDirectoryPermissions(File v3Directory) throws IOException {
    EnumSet<PosixFilePermission> permissions = EnumSet.of(PosixFilePermission.OWNER_READ,
            PosixFilePermission.OWNER_WRITE, PosixFilePermission.OWNER_EXECUTE, PosixFilePermission.GROUP_READ,
            PosixFilePermission.GROUP_WRITE, PosixFilePermission.GROUP_EXECUTE, PosixFilePermission.OTHERS_READ,
            PosixFilePermission.OTHERS_EXECUTE);

    Files.setPosixFilePermissions(v3Directory.toPath(), permissions);
}

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.
 *//*from www  .  j  ava2 s .  co 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);
}