Example usage for org.apache.commons.io.comparator NameFileComparator NAME_COMPARATOR

List of usage examples for org.apache.commons.io.comparator NameFileComparator NAME_COMPARATOR

Introduction

In this page you can find the example usage for org.apache.commons.io.comparator NameFileComparator NAME_COMPARATOR.

Prototype

Comparator NAME_COMPARATOR

To view the source code for org.apache.commons.io.comparator NameFileComparator NAME_COMPARATOR.

Click Source Link

Document

Case-sensitive name comparator instance (see IOCase#SENSITIVE )

Usage

From source file:com.thoughtworks.go.util.FileDigester.java

public static String md5DigestOfFolderContent(File directory) throws IOException {
    File[] files = directory.listFiles();
    Arrays.sort(files, NameFileComparator.NAME_COMPARATOR);
    StringBuilder md5 = new StringBuilder();
    for (File file : files) {
        if (file.isDirectory())
            md5.append(md5DigestOfFolderContent(file));
        else/*  ww  w  .j a v  a2  s.  c  om*/
            md5.append(file.getName() + md5DigestOfFile(file));
    }
    return md5DigestOfStream(new ByteArrayInputStream(md5.toString().getBytes(CharEncoding.UTF_8)));
}

From source file:azkaban.utils.FileIOUtilsTest.java

private boolean areDirsEqualUtil(File file1, File file2, boolean isRoot, boolean ignoreRoot)
        throws IOException {
    if (!file1.getName().equals(file2.getName())) {
        if (!isRoot && ignoreRoot)
            return false;
    }//from  ww w  . j av  a  2 s  .  c  o m
    if (file1.isDirectory() && file2.isDirectory()) {
        if (file1.listFiles().length != file2.listFiles().length) {
            return false;
        }
        File[] fileList1 = file1.listFiles(), fileList2 = file2.listFiles();
        Arrays.sort(fileList1, NameFileComparator.NAME_COMPARATOR);
        Arrays.sort(fileList2, NameFileComparator.NAME_COMPARATOR);

        for (int i = 0; i < fileList1.length; i++) {
            if (!areDirsEqualUtil(fileList1[i], fileList2[i], false, ignoreRoot)) {
                return false;
            }
        }
        return true;
    } else if (file1.isFile() && file2.isFile()) {
        return file1.getName().equals(file2.getName()) && FileUtils.contentEquals(file1, file2);
    } else
        return false;
}

From source file:com.soebes.maven.plugins.iterator.AbstractIteratorMojo.java

protected Comparator<File> convertSortOrder() {
    Comparator<File> result = NameFileComparator.NAME_COMPARATOR;
    if (getSortOrder().equalsIgnoreCase("NAME_INSENSITIVE_COMPARATOR")) {
        result = NameFileComparator.NAME_INSENSITIVE_COMPARATOR;
    } else if (getSortOrder().equalsIgnoreCase("NAME_INSENSITIVE_REVERSE")) {
        result = NameFileComparator.NAME_INSENSITIVE_REVERSE;
    } else if (getSortOrder().equalsIgnoreCase("NAME_REVERSE")) {
        result = NameFileComparator.NAME_REVERSE;
    } else if (getSortOrder().equalsIgnoreCase("NAME_SYSTEM_COMPARATOR")) {
        result = NameFileComparator.NAME_SYSTEM_COMPARATOR;
    } else if (getSortOrder().equalsIgnoreCase("NAME_SYSTEM_REVERSE")) {
        result = NameFileComparator.NAME_SYSTEM_REVERSE;
    }//from  w ww .j  a va 2s  .  c om
    return result;
}

From source file:de.jwi.jfm.Folder.java

public void sort(int mode) {
    Comparator<File> c = null;

    switch (mode) {
    case SORT_NAME_UP:
        c = NameFileComparator.NAME_COMPARATOR;
        break;//from  ww w  . j a v a  2s  .c o m
    case SORT_NAME_DOWN:
        c = NameFileComparator.NAME_REVERSE;
        break;
    case SORT_SIZE_UP:
        c = SizeFileComparator.SIZE_COMPARATOR;
        break;
    case SORT_SIZE_DOWN:
        c = SizeFileComparator.SIZE_REVERSE;
        break;
    case SORT_DATE_UP:
        c = LastModifiedFileComparator.LASTMODIFIED_COMPARATOR;
        break;
    case SORT_DATE_DOWN:
        c = LastModifiedFileComparator.LASTMODIFIED_REVERSE;
        break;
    }

    Arrays.sort(children, c);
}

From source file:fr.gael.dhus.service.SystemService.java

public void cleanDumpDatabase(int keepno) {
    File[] dumps = new File(cfgManager.getDatabaseConfiguration().getDumpPath())
            .listFiles(new FilenameFilter() {
                @Override//  w  w w.  j a va  2 s  .co m
                public boolean accept(File path, String name) {
                    if (name.startsWith("dump-"))
                        return true;
                    return false;
                }
            });
    if ((dumps != null) && (dumps.length > keepno)) {
        Arrays.sort(dumps, NameFileComparator.NAME_COMPARATOR);
        int last = dumps.length - keepno;
        for (int index = 0; index < last; index++) {
            File dir = dumps[index];
            try {
                Date date = new Date(Long.parseLong(dir.getName().replaceAll("dump-(.*)", "$1")));
                logger.info("Cleaned dump of " + date);
                FileUtils.deleteDirectory(dir);
            } catch (IOException e) {
                logger.warn("Cannot delete directory " + dir.getPath() + " (" + e.getMessage() + ")");
            }
        }
    }
}

From source file:org.astrojournal.generator.absgen.Importer.java

/**
 * Imports the report data stored in multiple files.
 * /*from w  w w.j a v a2  s  .c o  m*/
 * @param files
 *            An array of files to parse (either CSV or TSV file, separated
 *            by TAB delimiter).
 * @return a list of Report objects
 */
public List<Report> importReports(File[] files) {
    Arrays.sort(files, NameFileComparator.NAME_COMPARATOR);
    List<Report> reports = new ArrayList<Report>();
    for (File file : files) {
        reports.addAll(importReports(file));
    }
    return reports;
}

From source file:org.astrojournal.generator.minigen.MiniLatexExporterByConst.java

@Override
public void writeLatexMain(Writer writer, LatexHeader latexHeader, LatexFooter latexFooter,
        BasicStatistics basicStatistics) throws Exception {
    // write the Latex Header
    writer.write(latexHeader.getHeader());

    // write the Latex Body
    // parse each file in the latex folder
    File[] files = new File(filesLocation + File.separator + reportFolder).listFiles(new LaTeXFilter());
    if (files == null) {
        throw new Exception("Folder " + filesLocation + File.separator + reportFolder + " not found");
    }//from   ww  w.ja v  a 2s.  c o m
    // sort the constellations when we parse the files
    Arrays.sort(files, NameFileComparator.NAME_COMPARATOR);

    String currConst = "", filename = "";
    // If this pathname does not denote a directory, then listFiles()
    // returns null.
    for (File file : files) {
        filename = file.getName();
        if (file.isFile()) {
            if (!currConst.equals(filename.substring(filename.indexOf("_") + 1, filename.indexOf(".")))) {
                currConst = filename.substring(filename.indexOf("_") + 1, filename.indexOf("."));
                writer.write("\\section{" + currConst + "}\n");
            }
            // include the file removing the extension .tex
            writer.write("\\input{" + reportFolder + "/" + filename.replaceFirst("[.][^.]+$", "") + "}\n");
            // writerByConst.write("\\clearpage \n");
        }
    }

    // write the Latex Footer
    writer.write(latexFooter.getFooter());
}

From source file:org.joget.apps.app.controller.ConsoleWebController.java

@SuppressWarnings("unchecked")
@RequestMapping("/json/console/monitor/logs/list")
public void consoleMonitorLogsJson(HttpServletResponse response, Writer writer,
        @RequestParam(value = "sort", required = false) String sort,
        @RequestParam(value = "desc", required = false) Boolean desc,
        @RequestParam(value = "start", required = false) Integer start,
        @RequestParam(value = "rows", required = false) Integer rows) throws JSONException, IOException {
    if (HostManager.isVirtualHostEnabled()) {
        response.sendError(HttpServletResponse.SC_FORBIDDEN);
        return;/*  w  w  w .  ja  va  2s. c  o  m*/
    }
    JSONObject jsonObject = new JSONObject();
    File[] files = LogUtil.tomcatLogFiles();
    Collection<File> fileList = new ArrayList<File>();

    if (files != null && files.length > 0) {
        for (File file : files) {
            if (file.isFile()) {
                String lowercaseFN = file.getName().toLowerCase();
                Date lastModified = new Date(file.lastModified());
                Date current = new Date();

                if ("catalina.out".equals(lowercaseFN) || (lowercaseFN.indexOf(".log") > 0
                        && !lowercaseFN.startsWith("admin") && !lowercaseFN.startsWith("host-manager")
                        && !lowercaseFN.startsWith("manager"))
                        && (lastModified.getTime() > (current.getTime() - (5 * 1000 * 60 * 60 * 24)))
                        && file.length() > 0) {
                    fileList.add(file);
                }
            }
        }
    }
    files = fileList.toArray(new File[0]);

    Arrays.sort(files, NameFileComparator.NAME_COMPARATOR);

    for (File file : files) {
        @SuppressWarnings("rawtypes")
        Map data = new HashMap();
        data.put("filename", file.getName());
        data.put("filesize", file.length());
        data.put("date", TimeZoneUtil.convertToTimeZone(new Date(file.lastModified()), null,
                AppUtil.getAppDateFormat()));

        jsonObject.accumulate("data", data);
    }

    jsonObject.accumulate("total", fileList.size());
    jsonObject.accumulate("start", start);
    jsonObject.accumulate("sort", sort);
    jsonObject.accumulate("desc", desc);
    jsonObject.write(writer);
}

From source file:org.mitre.mpf.mvc.controller.ServerMediaController.java

@RequestMapping(value = { "/server/get-all-files-filtered" }, method = RequestMethod.POST)
@ResponseBody//from  w  w  w.j  a  va  2s  .  com
public ServerMediaFilteredListing getAllFilesFiltered(
        @RequestParam(value = "fullPath", required = true) String fullPath,
        @RequestParam(value = "draw", required = false) int draw,
        @RequestParam(value = "start", required = false) int start,
        @RequestParam(value = "length", required = false) int length,
        @RequestParam(value = "search", required = false) String search,
        @RequestParam(value = "sort", required = false) String sort) {
    log.debug("Params fullPath:{} draw:{} start:{},length:{},search:{} ", fullPath, draw, start, length, search,
            sort);

    File dir = new File(fullPath);
    if (!dir.isDirectory() && fullPath.startsWith(propertiesUtil.getServerMediaTreeRoot()))
        return null;//security check

    File[] files = dir.listFiles(File::isFile);

    //sort it by filename modified date (most current first)
    if (sort != null && sort == "lastModified") {
        Arrays.sort(files, LastModifiedFileComparator.LASTMODIFIED_REVERSE);
    } else {
        Arrays.sort(files, NameFileComparator.NAME_INSENSITIVE_COMPARATOR
                // Then make capital letters come before lowercase
                .thenComparing(NameFileComparator.NAME_COMPARATOR));
    }

    //handle search
    if (search != null && search.length() > 0) {
        List<File> search_results = new ArrayList<File>();
        for (int i = 0; i < files.length; i++) {
            File file = files[i];
            if (files[i].getName().toLowerCase().contains(search.toLowerCase())) {
                search_results.add(file);
            }
        }
        files = new File[search_results.size()];
        files = search_results.toArray(files);
    }

    //filter by approved list of content type
    List<File> contentFiltered = new ArrayList<File>();
    for (int i = 0; i < files.length; i++) {
        File file = files[i];
        if (ioUtils.isApprovedFile(file)) {
            contentFiltered.add(file);
        }
    }
    files = new File[contentFiltered.size()];
    files = contentFiltered.toArray(files);

    int records_total = files.length;
    int records_filtered = records_total;// Total records, after filtering (i.e. the total number of records after filtering has been applied - not just the number of records being returned for this page of data).

    //handle paging
    int end = start + length;
    end = (end > files.length) ? files.length : end;
    start = (start <= end) ? start : end;
    File[] filtered = Arrays.copyOfRange(files, start, end);

    List<ServerMediaFile> mediaFiles = new ArrayList<>();
    //build output
    for (int i = 0; i < filtered.length; i++) {
        File file = filtered[i];
        if (ioUtils.isApprovedFile(file)) {
            mediaFiles.add(new ServerMediaFile(file, ioUtils.getMimeType(file.getAbsolutePath())));
        }
    }

    return new ServerMediaFilteredListing(draw, records_filtered, records_total, mediaFiles);
}

From source file:retrieval.testvector.generator.TestVectorReading.java

/**
 * Read test vector for a client (central server)
 * @param directory Directory//  w w  w. j av a  2s .  com
 * @return Test vector central server list
 * @throws TestsVectorsNotFoundServerException Cannot read tests vectors
 */
public static TestVectorListClient readClient(String directory, ConfigClient config)
        throws TestsVectorsNotFoundServerException {

    logger.debug("readClient:" + directory);
    TestVectorListClient lists = new TestVectorListClient();
    File f = new File(directory);
    if (!f.exists()) {
        throw new TestsVectorsNotFoundServerException();
    }

    //read only xml files
    File[] fs = f.listFiles(new XMLFileFilter());
    Arrays.sort(fs, NameFileComparator.NAME_COMPARATOR);
    logger.debug("readClient: read...");

    for (int i = 0; i < fs.length && i < config.getNumberOfTV(); i++) {

        try {

            List<String> key = new ArrayList<String>();
            List<String> val = new ArrayList<String>();
            List<String> pos = new ArrayList<String>();
            String storeName = fillTestVector(fs[i], key, val, pos);

            logger.debug("readClient: [" + i + "]" + storeName);

            TestVectorClient tv = new TestVectorClient(storeName, key, val, pos);
            lists.add(tv);

        } catch (Exception e) {
            throw new TestsVectorsNotFoundServerException(e.toString());
        }
        lists.sort();
    }
    return lists;

}