Example usage for org.apache.commons.io.filefilter AndFileFilter AndFileFilter

List of usage examples for org.apache.commons.io.filefilter AndFileFilter AndFileFilter

Introduction

In this page you can find the example usage for org.apache.commons.io.filefilter AndFileFilter AndFileFilter.

Prototype

public AndFileFilter(IOFileFilter filter1, IOFileFilter filter2) 

Source Link

Document

Constructs a new file filter that ANDs the result of two other filters.

Usage

From source file:com.edduarte.protbox.Protbox.java

public static void main(String... args) {

    // activate debug / verbose mode
    if (args.length != 0) {
        List<String> argsList = Arrays.asList(args);
        if (argsList.contains("-v")) {
            Constants.verbose = true;//  w ww  . ja v  a  2  s.  co  m
        }
    }

    // use System's look and feel
    try {
        UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
    } catch (Exception ex) {
        // If the System's look and feel is not obtainable, continue execution with JRE look and feel
    }

    // check this is a single instance
    try {
        new ServerSocket(1882);
    } catch (IOException ex) {
        JOptionPane.showMessageDialog(null,
                "Another instance of Protbox is already running.\n" + "Please close the other instance first.",
                "Protbox already running", JOptionPane.ERROR_MESSAGE);
        System.exit(1);
    }

    // check if System Tray is supported by this operative system
    if (!SystemTray.isSupported()) {
        JOptionPane.showMessageDialog(null,
                "Your operative system does not support system tray functionality.\n"
                        + "Please try running Protbox on another operative system.",
                "System tray not supported", JOptionPane.ERROR_MESSAGE);
        System.exit(1);
    }

    // add PKCS11 providers
    FileFilter fileFilter = new AndFileFilter(new WildcardFileFilter(Lists.newArrayList("*.config")),
            HiddenFileFilter.VISIBLE);

    File[] providersConfigFiles = new File(Constants.PROVIDERS_DIR).listFiles(fileFilter);

    if (providersConfigFiles != null) {
        for (File f : providersConfigFiles) {
            try {
                List<String> lines = FileUtils.readLines(f);
                String aliasLine = lines.stream().filter(line -> line.contains("alias")).findFirst().get();
                lines.remove(aliasLine);
                String alias = aliasLine.split("=")[1].trim();

                StringBuilder sb = new StringBuilder();
                for (String s : lines) {
                    sb.append(s);
                    sb.append("\n");
                }

                Provider p = new SunPKCS11(new ReaderInputStream(new StringReader(sb.toString())));
                Security.addProvider(p);

                pkcs11Providers.put(p.getName(), alias);

            } catch (IOException | ProviderException ex) {
                if (ex.getMessage().equals("Initialization failed")) {
                    ex.printStackTrace();

                    String s = "The following error occurred:\n" + ex.getCause().getMessage()
                            + "\n\nIn addition, make sure you have "
                            + "an available smart card reader connected before opening the application.";
                    JTextArea textArea = new JTextArea(s);
                    textArea.setColumns(60);
                    textArea.setLineWrap(true);
                    textArea.setWrapStyleWord(true);
                    textArea.setSize(textArea.getPreferredSize().width, 1);

                    JOptionPane.showMessageDialog(null, textArea, "Error loading PKCS11 provider",
                            JOptionPane.ERROR_MESSAGE);
                    System.exit(1);
                } else {
                    ex.printStackTrace();
                    JOptionPane.showMessageDialog(null,
                            "Error while setting up PKCS11 provider from configuration file " + f.getName()
                                    + ".\n" + ex.getMessage(),
                            "Error loading PKCS11 provider", JOptionPane.ERROR_MESSAGE);
                }
            }
        }
    }

    // adds a shutdown hook to save instantiated directories into files when the application is being closed
    Runtime.getRuntime().addShutdownHook(new Thread(Protbox::exit));

    // get system tray and run tray applet
    tray = SystemTray.getSystemTray();
    SwingUtilities.invokeLater(() -> {

        if (Constants.verbose) {
            logger.info("Starting application");
        }

        //Start a new TrayApplet object
        trayApplet = TrayApplet.getInstance();
    });

    // prompts the user to choose which provider to use
    ProviderListWindow.showWindow(Protbox.pkcs11Providers.keySet(), providerName -> {

        // loads eID token
        eIDTokenLoadingWindow.showPrompt(providerName, (returnedUser, returnedCertificateData) -> {
            user = returnedUser;
            certificateData = returnedCertificateData;

            // gets a password to use on the saved registry files (for loading and saving)
            final AtomicReference<Consumer<SecretKey>> consumerHolder = new AtomicReference<>(null);
            consumerHolder.set(password -> {
                registriesPasswordKey = password;
                try {
                    // if there are serialized files, load them if they can be decoded by this user's private key
                    final List<SavedRegistry> serializedDirectories = new ArrayList<>();
                    if (Constants.verbose) {
                        logger.info("Reading serialized registry files...");
                    }

                    File[] registryFileList = new File(Constants.REGISTRIES_DIR).listFiles();
                    if (registryFileList != null) {
                        for (File f : registryFileList) {
                            if (f.isFile()) {
                                byte[] data = FileUtils.readFileToByteArray(f);
                                try {
                                    Cipher cipher = Cipher.getInstance("AES");
                                    cipher.init(Cipher.DECRYPT_MODE, registriesPasswordKey);
                                    byte[] registryDecryptedData = cipher.doFinal(data);
                                    serializedDirectories.add(new SavedRegistry(f, registryDecryptedData));
                                } catch (GeneralSecurityException ex) {
                                    if (Constants.verbose) {
                                        logger.info("Inserted Password does not correspond to " + f.getName());
                                    }
                                }
                            }
                        }
                    }

                    // if there were no serialized directories, show NewDirectory window to configure the first folder
                    if (serializedDirectories.isEmpty() || registryFileList == null) {
                        if (Constants.verbose) {
                            logger.info("No registry files were found: running app as first time!");
                        }
                        NewRegistryWindow.start(true);

                    } else { // there were serialized directories
                        loadRegistry(serializedDirectories);
                        trayApplet.repaint();
                        showTrayApplet();
                    }

                } catch (AWTException | IOException | GeneralSecurityException | ReflectiveOperationException
                        | ProtboxException ex) {

                    JOptionPane.showMessageDialog(null,
                            "The inserted password was invalid! Please try another one!", "Invalid password!",
                            JOptionPane.ERROR_MESSAGE);
                    insertPassword(consumerHolder.get());
                }
            });
            insertPassword(consumerHolder.get());
        });
    });
}

From source file:com.shazam.fork.reporter.FileManager.java

public List<File> getIndividualSummaries() {
    FileFilter fileFilter = new AndFileFilter(new PrefixFileFilter(FORK), new SuffixFileFilter(JSON));

    return asList(inputDirectory.listFiles(fileFilter));
}

From source file:com.discursive.jccook.io.FilterExample.java

public void start() {
    File rootDir = new File(".");
    FilenameFilter fileFilter = new SuffixFileFilter(".xml");
    String[] xmlFiles = rootDir.list(fileFilter);
    System.out.println("*** XML Files");
    System.out.println(ArrayUtils.toString(xmlFiles));

    rootDir = new File("./test");

    IOFileFilter htmlFilter = new OrFileFilter(new SuffixFileFilter("htm"), new SuffixFileFilter("html"));
    IOFileFilter notDirectory = new NotFileFilter(DirectoryFileFilter.INSTANCE);
    fileFilter = new AndFileFilter(htmlFilter, notDirectory);

    String[] htmlFiles = rootDir.list(fileFilter);
    System.out.println("*** HTML Files");
    System.out.println(ArrayUtils.toString(htmlFiles));
}

From source file:com.shazam.fork.summary.JsonLogCatRetriever.java

@Override
public List<LogCatMessage> retrieveLogCat(String poolName, String serial, TestIdentifier testIdentifier) {
    String filenamePrefix = createLogCatFilenamePrefix(poolName, serial, testIdentifier);
    final PrefixFileFilter prefixFileFilter = new PrefixFileFilter(filenamePrefix);
    SuffixFileFilter suffixFileFilter = new SuffixFileFilter(LogCatFilenameFactory.JSON);
    final AndFileFilter filter = new AndFileFilter(prefixFileFilter, suffixFileFilter);
    File[] files = output.listFiles((FileFilter) filter);
    if (files.length == 0) {
        return new ArrayList<>();
    }/*from  w  w w  .ja v a  2  s .c  o  m*/
    File logcatJsonFile = files[0];

    try {
        FileReader fileReader = new FileReader(logcatJsonFile);
        return gson.fromJson(fileReader, new TypeToken<List<LogCatMessage>>() {
        }.getType());
    } catch (FileNotFoundException e) {
        throw new RuntimeException(e);
    }
}

From source file:com.qwazr.QwazrConfiguration.java

private static FileFilter buildEtcFileFilter(String etc) {
    if (StringUtils.isEmpty(etc))
        return FileFileFilter.FILE;
    String[] array = StringUtils.split(etc, ',');
    if (array == null || array.length == 0)
        return FileFileFilter.FILE;
    return new AndFileFilter(FileFileFilter.FILE, new WildcardFileFilter(array));
}

From source file:fr.fastconnect.factory.tibco.bw.codereview.BWProjectBuilder.java

private void addSources(ProjectDefinition project) {
    final File basedir = project.getBaseDir();

    logger.debug(basedir.getAbsolutePath());

    // TODO: ignore child modules folders more properly
    IOFileFilter custom = new IOFileFilter() {
        @Override/*from  w  ww  .  j a  va 2  s .c om*/
        public boolean accept(File file) {
            return file.isDirectory() && !(new File(file, "pom.xml").exists())
                    || file.getAbsolutePath().equals(basedir.getAbsolutePath());
        }

        @Override
        public boolean accept(File dir, String name) {
            return false;
        }
    };

    Collection<File> files = FileUtils.listFiles(basedir, new SuffixFileFilter(".process"),
            new AndFileFilter(new NotFileFilter(new PrefixFileFilter("target")), custom));

    project.addSources(files.toArray(new File[0]));
}

From source file:com.qwazr.QwazrConfiguration.java

private static FileFilter buildEtcFileFilter(Collection<String> etcs) {
    if (etcs == null || etcs.isEmpty())
        return FileFileFilter.FILE;
    return new AndFileFilter(FileFileFilter.FILE,
            new WildcardFileFilter(etcs.toArray(new String[etcs.size()])));
}

From source file:net.sf.jvifm.control.RenameCommand.java

private List<String> filterWildCard(final String wildcardPath) {
    final List<String> result = new ArrayList<String>();
    if (wildcardPath == null || wildcardPath.trim().equals(""))
        return null;

    Display.getDefault().syncExec(new Runnable() {
        public void run() {

            File dir = new File(wildcardPath).getParentFile();
            if (dir == null)
                dir = new File(Main.fileManager.getActivePanel().getPwd());

            String wildcardName = new File(wildcardPath).getName();

            FilenameFilter filenameFilter = new AndFileFilter(new NotFileFilter(new PrefixFileFilter(".")),
                    new WildcardFilter2(wildcardName));
            File[] subFiles = dir.listFiles(filenameFilter);
            for (int i = 0; i < subFiles.length; i++) {
                result.add(subFiles[i].getAbsolutePath());
            }//from  w  w w  .  j  a  v  a  2  s.c o m
        }
    });
    return result;

}

From source file:com.shazam.fork.system.io.FileManager.java

public File[] getFiles(FileType fileType, Pool pool, Device device, TestIdentifier testIdentifier) {
    FileFilter fileFilter = new AndFileFilter(new PrefixFileFilter(testIdentifier.toString()),
            new SuffixFileFilter(fileType.getSuffix()));

    File deviceDirectory = get(output.getAbsolutePath(), fileType.getDirectory(), pool.getName(),
            device.getSafeSerial()).toFile();
    return deviceDirectory.listFiles(fileFilter);
}

From source file:com.simpligility.maven.provisioner.MavenRepositoryHelper.java

public void deployToRemote(String targetUrl, String username, String password) {
    // Using commons-io, if performance or so is a problem it might be worth looking at the Java 8 streams API
    // e.g. http://blog.jooq.org/2014/01/24/java-8-friday-goodies-the-new-new-io-apis/
    // not yet though..
    Collection<File> subDirectories = FileUtils.listFilesAndDirs(repositoryPath,
            (IOFileFilter) DirectoryFileFilter.DIRECTORY, TrueFileFilter.INSTANCE);
    Collection<File> leafDirectories = new ArrayList<File>();
    for (File subDirectory : subDirectories) {
        if (isLeafVersionDirectory(subDirectory)) {

            leafDirectories.add(subDirectory);
        }//from  w ww.  j  a  v  a  2 s  .  co  m
    }
    for (File leafDirectory : leafDirectories) {
        String leafAbsolutePath = leafDirectory.getAbsoluteFile().toString();
        int repoAbsolutePathLength = repositoryPath.getAbsoluteFile().toString().length();
        String leafRepoPath = leafAbsolutePath.substring(repoAbsolutePathLength + 1, leafAbsolutePath.length());

        Gav gav = GavUtil.getGavFromRepositoryPath(leafRepoPath);

        // only interested in files using the artifactId-version* pattern
        // don't bother with .sha1 files
        IOFileFilter fileFilter = new AndFileFilter(
                new WildcardFileFilter(gav.getArtifactId() + "-" + gav.getVersion() + "*"),
                new NotFileFilter(new SuffixFileFilter("sha1")));
        Collection<File> artifacts = FileUtils.listFiles(leafDirectory, fileFilter, null);

        Authentication auth = new AuthenticationBuilder().addUsername(username).addPassword(password).build();

        RemoteRepository distRepo = new RemoteRepository.Builder("repositoryIdentifier", "default", targetUrl)
                .setAuthentication(auth).build();

        DeployRequest deployRequest = new DeployRequest();
        deployRequest.setRepository(distRepo);
        for (File file : artifacts) {
            String extension;
            if (file.getName().endsWith("tar.gz")) {
                extension = "tar.gz";
            } else {
                extension = FilenameUtils.getExtension(file.getName());
            }

            String baseFileName = gav.getFilenameStart() + "." + extension;
            String fileName = file.getName();
            String g = gav.getGroupdId();
            String a = gav.getArtifactId();
            String v = gav.getVersion();

            Artifact artifact = null;
            if (gav.getPomFilename().equals(fileName)) {
                artifact = new DefaultArtifact(g, a, "pom", v);
            } else if (gav.getJarFilename().equals(fileName)) {
                artifact = new DefaultArtifact(g, a, "jar", v);
            } else if (gav.getSourceFilename().equals(fileName)) {
                artifact = new DefaultArtifact(g, a, "sources", "jar", v);
            } else if (gav.getJavadocFilename().equals(fileName)) {
                artifact = new DefaultArtifact(g, a, "javadoc", "jar", v);
            } else if (baseFileName.equals(fileName)) {
                artifact = new DefaultArtifact(g, a, extension, v);
            } else {
                String classifier = file.getName().substring(gav.getFilenameStart().length() + 1,
                        file.getName().length() - ("." + extension).length());
                artifact = new DefaultArtifact(g, a, classifier, extension, v);
            }

            if (artifact != null) {
                artifact = artifact.setFile(file);
                deployRequest.addArtifact(artifact);
            }

        }

        try {
            system.deploy(session, deployRequest);
        } catch (Exception e) {
            logger.info("Deployment failed with " + e.getMessage() + ", artifact might be deployed already.");
        }
    }
}