List of usage examples for org.apache.commons.io.filefilter AndFileFilter AndFileFilter
public AndFileFilter(IOFileFilter filter1, IOFileFilter filter2)
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."); } } }