Example usage for org.apache.commons.io FilenameUtils separatorsToUnix

List of usage examples for org.apache.commons.io FilenameUtils separatorsToUnix

Introduction

In this page you can find the example usage for org.apache.commons.io FilenameUtils separatorsToUnix.

Prototype

public static String separatorsToUnix(String path) 

Source Link

Document

Converts all separators to the Unix separator of forward slash.

Usage

From source file:dynamicrefactoring.util.io.FileManager.java

/**
 * Copia un directorio empaquetado en el plugin en un directorio del sistema
 * de ficheros./*  ww w . j  av a 2s  .c  o m*/
 * 
 * @param bundleDir ruta del directorio en el bundle
 * @param fileSystemDir ruta del directorio del sistema
 * @throws IOException si ocurre algun problema al acceder a las rutas
 */
public static void copyBundleDirToFileSystem(String bundleDir, String fileSystemDir) throws IOException {
    final Bundle bundle = Platform.getBundle(RefactoringPlugin.BUNDLE_NAME);
    final Enumeration<?> entries = bundle.findEntries(FilenameUtils.separatorsToUnix(bundleDir), "*", true);
    final List<?> lista = Collections.list(entries);
    for (Object entrada : lista) {
        URL entry = (URL) entrada;
        File fichero = new File(entry.getFile());
        if (!entry.toString().endsWith("/")) {
            FileUtils.copyURLToFile(entry, new File(fileSystemDir + entry.getFile()));

        }
    }
}

From source file:com.searchcode.app.jobs.IndexSvnRepoJob.java

/**
 * Indexes all the documents in the path provided. Will also remove anything from the index if not on disk
 * Generally this is a slow update used only for the inital clone of a repository
 * NB this can be used for updates but it will be much slower as it needs to to walk the contents of the disk
 *//* w  ww  . ja v a  2 s .c o m*/
public void indexDocsByPath(Path path, String repoName, String repoLocations, String repoRemoteLocation,
        boolean existingRepo) {
    SearchcodeLib scl = Singleton.getSearchCodeLib(); // Should have data object by this point
    List<String> fileLocations = new ArrayList<>();
    Queue<CodeIndexDocument> codeIndexDocumentQueue = Singleton.getCodeIndexQueue();

    // Convert once outside the main loop
    String fileRepoLocations = FilenameUtils.separatorsToUnix(repoLocations);
    boolean lowMemory = this.LOWMEMORY;

    try {
        Files.walkFileTree(path, new SimpleFileVisitor<Path>() {
            @Override
            public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {

                while (CodeIndexer.shouldPauseAdding()) {
                    Singleton.getLogger().info("Pausing parser.");
                    try {
                        Thread.sleep(SLEEPTIME);
                    } catch (InterruptedException ex) {
                    }
                }

                // Convert Path file to unix style that way everything is easier to reason about
                String fileParent = FilenameUtils.separatorsToUnix(file.getParent().toString());
                String fileToString = FilenameUtils.separatorsToUnix(file.toString());
                String fileName = file.getFileName().toString();
                String md5Hash = Values.EMPTYSTRING;

                if (fileParent.endsWith("/.svn") || fileParent.contains("/.svn/")) {
                    return FileVisitResult.CONTINUE;
                }

                List<String> codeLines;
                try {
                    codeLines = Helpers.readFileLines(fileToString, MAXFILELINEDEPTH);
                } catch (IOException ex) {
                    return FileVisitResult.CONTINUE;
                }

                try {
                    FileInputStream fis = new FileInputStream(new File(fileToString));
                    md5Hash = org.apache.commons.codec.digest.DigestUtils.md5Hex(fis);
                    fis.close();
                } catch (IOException ex) {
                    Singleton.getLogger().warning("Unable to generate MD5 for " + fileToString);
                }

                // is the file minified?
                if (scl.isMinified(codeLines)) {
                    Singleton.getLogger().info("Appears to be minified will not index  " + fileToString);
                    return FileVisitResult.CONTINUE;
                }

                String languageName = scl.languageGuesser(fileName, codeLines);
                String fileLocation = fileToString.replace(fileRepoLocations, Values.EMPTYSTRING)
                        .replace(fileName, Values.EMPTYSTRING);
                String fileLocationFilename = fileToString.replace(fileRepoLocations, Values.EMPTYSTRING);
                String repoLocationRepoNameLocationFilename = fileToString;

                String newString = getBlameFilePath(fileLocationFilename);
                String codeOwner = getInfoExternal(codeLines.size(), repoName, fileRepoLocations, newString)
                        .getName();

                // If low memory don't add to the queue, just index it directly
                if (lowMemory) {
                    CodeIndexer.indexDocument(new CodeIndexDocument(repoLocationRepoNameLocationFilename,
                            repoName, fileName, fileLocation, fileLocationFilename, md5Hash, languageName,
                            codeLines.size(), StringUtils.join(codeLines, " "), repoRemoteLocation, codeOwner));
                } else {
                    Singleton.incrementCodeIndexLinesCount(codeLines.size());
                    codeIndexDocumentQueue.add(new CodeIndexDocument(repoLocationRepoNameLocationFilename,
                            repoName, fileName, fileLocation, fileLocationFilename, md5Hash, languageName,
                            codeLines.size(), StringUtils.join(codeLines, " "), repoRemoteLocation, codeOwner));
                }

                fileLocations.add(fileLocationFilename);
                return FileVisitResult.CONTINUE;
            }
        });
    } catch (IOException ex) {
        Singleton.getLogger().warning("ERROR - caught a " + ex.getClass() + " in " + this.getClass()
                + "\n with message: " + ex.getMessage());
    }

    if (existingRepo) {
        CodeSearcher cs = new CodeSearcher();
        List<String> indexLocations = cs.getRepoDocuments(repoName);

        for (String file : indexLocations) {
            if (!fileLocations.contains(file)) {
                Singleton.getLogger().info("Missing from disk, removing from index " + file);
                try {
                    CodeIndexer.deleteByFileLocationFilename(file);
                } catch (IOException ex) {
                    Singleton.getLogger().warning("ERROR - caught a " + ex.getClass() + " in " + this.getClass()
                            + "\n with message: " + ex.getMessage());
                }
            }
        }
    }
}

From source file:com.ariht.maven.plugins.config.generator.ConfigGeneratorImpl.java

private void logOutputPath() {
    final String outputPathMessage = "Config generation to: "
            + FilenameUtils.separatorsToUnix(configGeneratorParameters.getOutputBasePath());
    if (configGeneratorParameters.isLogOutput()) {
        log.info(outputPathMessage);//from w  w w . j  av  a  2 s .  co  m
    } else if (log.isDebugEnabled()) {
        log.debug(outputPathMessage);
    }
}

From source file:hudson.gridmaven.MavenModuleSetBuild.java

private static String normalizePath(String relPath) {
    relPath = StringUtils.trimToEmpty(relPath);
    if (StringUtils.isEmpty(relPath)) {
        LOGGER.config("No need to normalize an empty path.");
    } else {/*w ww.j  a v  a2s .com*/
        if (FilenameUtils.indexOfLastSeparator(relPath) == -1) {
            LOGGER.config("No need to normalize " + relPath);
        } else {
            String tmp = FilenameUtils.normalize(relPath);
            if (tmp == null) {
                LOGGER.config(
                        "Path " + relPath + " can not be normalized (parent dir is unknown). Keeping as is.");
            } else {
                LOGGER.config("Normalized path " + relPath + " to " + tmp);
                relPath = tmp;
            }
            relPath = FilenameUtils.separatorsToUnix(relPath);
        }
    }
    LOGGER.fine("Returning path " + relPath);
    return relPath;
}

From source file:com.redhat.plugin.eap6.AbstractEAP6Mojo.java

protected void addResourceDir(final File resDir) {
    if (addResourceFolder && resDir != null && resDir.exists()) {
        final Resource res = new Resource();
        final Path pathResourceDir = Paths.get(resDir.toURI());
        final Path pathProject = Paths.get(project.getBasedir().toURI());
        final Path pathRelativeDir = pathProject.relativize(pathResourceDir);
        final String stringRelativeDir = FilenameUtils.separatorsToUnix(pathRelativeDir.toString());
        res.setDirectory(stringRelativeDir);
        getLog().info("Adding dir <" + resDir.getPath() + "> as relative path <" + stringRelativeDir
                + "> to project-resources");
        if (project != null) {
            project.addResource(res);/*from   www  . j a  v  a2s.co  m*/
        } else {
            getLog().warn("No project available, adding of resource-dir skipped");
        }
    }
}

From source file:com.searchcode.app.jobs.IndexGitRepoJob.java

/**
 * Indexes all the documents in the path provided. Will also remove anything from the index if not on disk
 * Generally this is a slow update used only for the inital clone of a repository
 * NB this can be used for updates but it will be much slower as it needs to to walk the contents of the disk
 *///from   ww  w. j  av  a2  s . co  m
public void indexDocsByPath(Path path, String repoName, String repoLocations, String repoRemoteLocation,
        boolean existingRepo) {
    SearchcodeLib scl = Singleton.getSearchCodeLib(); // Should have data object by this point
    List<String> fileLocations = new ArrayList<>();
    Queue<CodeIndexDocument> codeIndexDocumentQueue = Singleton.getCodeIndexQueue();

    // Convert once outside the main loop
    String fileRepoLocations = FilenameUtils.separatorsToUnix(repoLocations);
    boolean lowMemory = this.LOWMEMORY;
    boolean useSystemGit = this.USESYSTEMGIT;

    try {
        Files.walkFileTree(path, new SimpleFileVisitor<Path>() {
            @Override
            public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {

                while (CodeIndexer.shouldPauseAdding()) {
                    Singleton.getLogger().info("Pausing parser.");
                    try {
                        Thread.sleep(SLEEPTIME);
                    } catch (InterruptedException ex) {
                    }
                }

                // Convert Path file to unix style that way everything is easier to reason about
                String fileParent = FilenameUtils.separatorsToUnix(file.getParent().toString());
                String fileToString = FilenameUtils.separatorsToUnix(file.toString());
                String fileName = file.getFileName().toString();
                String md5Hash = Values.EMPTYSTRING;

                if (fileParent.endsWith("/.git") || fileParent.contains("/.git/")) {
                    return FileVisitResult.CONTINUE;
                }

                List<String> codeLines;
                try {
                    codeLines = Helpers.readFileLines(fileToString, MAXFILELINEDEPTH);
                } catch (IOException ex) {
                    return FileVisitResult.CONTINUE;
                }

                try {
                    FileInputStream fis = new FileInputStream(new File(fileToString));
                    md5Hash = org.apache.commons.codec.digest.DigestUtils.md5Hex(fis);
                    fis.close();
                } catch (IOException ex) {
                    Singleton.getLogger().warning("Unable to generate MD5 for " + fileToString);
                }

                // is the file minified?
                if (scl.isMinified(codeLines)) {
                    Singleton.getLogger().info("Appears to be minified will not index  " + fileToString);
                    return FileVisitResult.CONTINUE;
                }

                String languageName = scl.languageGuesser(fileName, codeLines);
                String fileLocation = fileToString.replace(fileRepoLocations, Values.EMPTYSTRING)
                        .replace(fileName, Values.EMPTYSTRING);
                String fileLocationFilename = fileToString.replace(fileRepoLocations, Values.EMPTYSTRING);
                String repoLocationRepoNameLocationFilename = fileToString;

                String newString = getBlameFilePath(fileLocationFilename);
                List<CodeOwner> owners;
                if (useSystemGit) {
                    owners = getBlameInfoExternal(codeLines.size(), repoName, fileRepoLocations, newString);
                } else {
                    owners = getBlameInfo(codeLines.size(), repoName, fileRepoLocations, newString);
                }

                String codeOwner = scl.codeOwner(owners);

                // If low memory don't add to the queue, just index it directly
                if (lowMemory) {
                    CodeIndexer.indexDocument(new CodeIndexDocument(repoLocationRepoNameLocationFilename,
                            repoName, fileName, fileLocation, fileLocationFilename, md5Hash, languageName,
                            codeLines.size(), StringUtils.join(codeLines, " "), repoRemoteLocation, codeOwner));
                } else {
                    Singleton.incrementCodeIndexLinesCount(codeLines.size());
                    codeIndexDocumentQueue.add(new CodeIndexDocument(repoLocationRepoNameLocationFilename,
                            repoName, fileName, fileLocation, fileLocationFilename, md5Hash, languageName,
                            codeLines.size(), StringUtils.join(codeLines, " "), repoRemoteLocation, codeOwner));
                }

                fileLocations.add(fileLocationFilename);
                return FileVisitResult.CONTINUE;
            }
        });
    } catch (IOException ex) {
        Singleton.getLogger().warning("ERROR - caught a " + ex.getClass() + " in " + this.getClass()
                + "\n with message: " + ex.getMessage());
    }

    if (existingRepo) {
        CodeSearcher cs = new CodeSearcher();
        List<String> indexLocations = cs.getRepoDocuments(repoName);

        for (String file : indexLocations) {
            if (!fileLocations.contains(file)) {
                Singleton.getLogger().info("Missing from disk, removing from index " + file);
                try {
                    CodeIndexer.deleteByFileLocationFilename(file);
                } catch (IOException ex) {
                    Singleton.getLogger().warning("ERROR - caught a " + ex.getClass() + " in " + this.getClass()
                            + "\n with message: " + ex.getMessage());
                }
            }
        }
    }
}

From source file:is.iclt.jcorpald.CorpaldView.java

private void openFolder() {
    try {//from   ww  w.j a v a 2  s  .c om
        String str = FilenameUtils.separatorsToUnix(model.getFileName());
        str = str.substring(0, str.lastIndexOf("/"));
        Desktop.getDesktop().open(new File(str));
    } catch (Exception e) {
        e.printStackTrace();
    }

}

From source file:MSUmpire.DIA.DIAPack.java

public String GetiProphExtPepxml(String tag) {
    return FilenameUtils.separatorsToUnix(FilenameUtils.getFullPath(Filename)
            + FilenameUtils.getBaseName(Filename) + "_" + tag + ".iproph.pep.xml");
}

From source file:MSUmpire.DIA.DIAPack.java

public String GetQ1Pepxml() {
    return FilenameUtils.separatorsToUnix(FilenameUtils.getFullPath(Filename) + "interact-"
            + FilenameUtils.getBaseName(GetQ1Name()) + ".pep.xml");
}

From source file:com.iyonger.apm.web.repository.FileEntryRepository.java

String[] getPathFragment(String path) {
    String basePath = FilenameUtils.getPath(path);
    return StringUtils.split(FilenameUtils.separatorsToUnix(basePath), "/");

}