List of usage examples for org.apache.commons.io FilenameUtils isExtension
public static boolean isExtension(String filename, Collection<String> extensions)
From source file:com.opendoorlogistics.studio.scripts.list.ScriptsPanel.java
@Override public void onDirectoryChanged(File directory) { // set new directory this.directory = directory; PreferencesManager.getSingleton().setDirectory(PrefKey.SCRIPTS_DIR, directory); // check to see if watcher is pointing at wrong one if (watcher != null && watcher.getDirectory().equals(directory) == false) { shutdownDirectoryWatcher();/*from ww w.j av a2 s . com*/ } ScriptNode selected = scriptsTree.getSelectedValue(); if (isOkDirectory()) { scriptsTree.setEnabled(true); final File[] files = directory.listFiles(new FileFilter() { @Override public boolean accept(File pathname) { return pathname.isFile() && FilenameUtils.isExtension(pathname.getAbsolutePath(), ScriptConstants.FILE_EXT); } }); scriptsTree.setFiles(files); // reselect if (selected != null) { scriptsTree.setSelected(selected); } // init watcher if (watcher == null) { watcher = WatchSingleDirectory.launch(directory, new SwingFriendlyDirectoryChangedListener(this)); } } else { shutdownDirectoryWatcher(); // set list to empty scriptsTree.setFiles(new File[] {}); scriptsTree.setEnabled(false); } updateAppearance(); }
From source file:fr.certu.chouette.gui.command.ImportCommand.java
/** * @param session/* w w w . j av a 2 s . c o m*/ * @param save * @param savedIds * @param manager * @param importTask * @param format * @param inputFile * @param suffixes * @param values * @param importHolder * @param validationHolder * @throws ChouetteException */ private int importZipEntries(EntityManager session, boolean save, List<Long> savedIds, INeptuneManager<NeptuneIdentifiedObject> manager, ImportTask importTask, String format, String inputFile, List<String> suffixes, List<ParameterValue> values, ReportHolder importHolder, ReportHolder validationHolder) throws ChouetteException { SimpleParameterValue inputFileParam = new SimpleParameterValue("inputFile"); values.add(inputFileParam); ReportHolder zipHolder = new ReportHolder(); if (format.equalsIgnoreCase("neptune")) { SharedImportedData sharedData = new SharedImportedData(); UnsharedImportedData unsharedData = new UnsharedImportedData(); SimpleParameterValue sharedDataParam = new SimpleParameterValue("sharedImportedData"); sharedDataParam.setObjectValue(sharedData); values.add(sharedDataParam); SimpleParameterValue unsharedDataParam = new SimpleParameterValue("unsharedImportedData"); unsharedDataParam.setObjectValue(unsharedData); values.add(unsharedDataParam); } // unzip files , import and save contents ZipFile zip = null; File temp = null; File tempRep = new File(FileUtils.getTempDirectory(), "massImport" + importTask.getId()); if (!tempRep.exists()) tempRep.mkdirs(); File zipFile = new File(inputFile); ReportItem zipReportItem = new ExchangeReportItem(ExchangeReportItem.KEY.ZIP_FILE, Report.STATE.OK, zipFile.getName()); try { Charset encoding = FileTool.getZipCharset(inputFile); if (encoding == null) { ReportItem fileErrorItem = new ExchangeReportItem(ExchangeReportItem.KEY.ZIP_ERROR, Report.STATE.ERROR, "unknown encoding"); zipReportItem.addItem(fileErrorItem); importHolder.getReport().addItem(zipReportItem); saveImportReports(session, importTask, importHolder.getReport(), validationHolder.getReport()); return 1; } zip = new ZipFile(inputFile, encoding); zipHolder.setReport(zipReportItem); for (Enumeration<? extends ZipEntry> entries = zip.entries(); entries.hasMoreElements();) { ZipEntry entry = entries.nextElement(); if (entry.isDirectory()) { File dir = new File(tempRep, entry.getName()); dir.mkdirs(); continue; } if (!FilenameUtils.isExtension(entry.getName().toLowerCase(), suffixes)) { ReportItem fileReportItem = new ExchangeReportItem(ExchangeReportItem.KEY.FILE_IGNORED, Report.STATE.OK, FilenameUtils.getName(entry.getName())); zipReportItem.addItem(fileReportItem); log.info("entry " + entry.getName() + " ignored, unknown extension"); continue; } InputStream stream = null; try { stream = zip.getInputStream(entry); } catch (IOException e) { ReportItem fileReportItem = new ExchangeReportItem(ExchangeReportItem.KEY.FILE_ERROR, Report.STATE.WARNING, FilenameUtils.getName(entry.getName())); zipReportItem.addItem(fileReportItem); log.error("entry " + entry.getName() + " cannot read", e); continue; } byte[] bytes = new byte[4096]; int len = stream.read(bytes); temp = new File(tempRep.getAbsolutePath() + "/" + entry.getName()); FileOutputStream fos = new FileOutputStream(temp); while (len > 0) { fos.write(bytes, 0, len); len = stream.read(bytes); } fos.close(); // import log.info("import file " + entry.getName()); inputFileParam.setFilepathValue(temp.getAbsolutePath()); List<NeptuneIdentifiedObject> beans = manager.doImport(null, format, values, zipHolder, validationHolder); if (beans != null && !beans.isEmpty()) { // save if (save) { saveBeans(manager, beans, savedIds, importHolder.getReport()); } else { for (NeptuneIdentifiedObject bean : beans) { GuiReportItem item = new GuiReportItem(GuiReportItem.KEY.NO_SAVE, Report.STATE.OK, bean.getName()); importHolder.getReport().addItem(item); } } } temp.delete(); } try { zip.close(); } catch (IOException e) { log.info("cannot close zip file"); } importHolder.getReport().addItem(zipReportItem); } catch (IOException e) { log.error("IO error", e); ReportItem fileErrorItem = new ExchangeReportItem(ExchangeReportItem.KEY.ZIP_ERROR, Report.STATE.ERROR, e.getLocalizedMessage()); zipReportItem.addItem(fileErrorItem); importHolder.getReport().addItem(zipReportItem); saveImportReports(session, importTask, importHolder.getReport(), validationHolder.getReport()); return 1; } catch (IllegalArgumentException e) { log.error("Format error", e); ReportItem fileErrorItem = new ExchangeReportItem(ExchangeReportItem.KEY.ZIP_ERROR, Report.STATE.ERROR, e.getLocalizedMessage()); zipReportItem.addItem(fileErrorItem); importHolder.getReport().addItem(zipReportItem); saveImportReports(session, importTask, importHolder.getReport(), validationHolder.getReport()); return 1; } finally { try { FileUtils.deleteDirectory(tempRep); } catch (IOException e) { log.warn("temporary directory " + tempRep.getAbsolutePath() + " could not be deleted"); } } return 0; }
From source file:edu.ku.brc.specify.config.init.TaxonLoadSetupPanel.java
@Override public void aboutToLeave() { if (preloadChk.isSelected()) { TaxonFileDesc tfd = (TaxonFileDesc) fileCBX.getSelectedItem(); if (tfd != null && FilenameUtils.isExtension(tfd.getFileName().toLowerCase(), XLS)) { File txFile = getFileForTaxon(tfd.getFileName(), false); if (txFile == null || !txFile.exists()) { File userDataFile = new File(UIRegistry.getAppDataDir() + File.separator + tfd.getFileName()); if (!userDataFile.exists()) { doDownloadTaxonFile(tfd.getFileName(), userDataFile, tfd.getSize()); }/* w w w . ja v a 2 s . com*/ } } } }
From source file:ca.on.oicr.pde.workflows.GATK3WorkflowTest.java
private void validateWorkflow(AbstractWorkflowDataModel w) { //check for null string for (AbstractJob j : w.getWorkflow().getJobs()) { String c = Joiner.on(" ").useForNull("null").join(j.getCommand().getArguments()); //check for null string Assert.assertFalse(c.contains("null"), "Warning: command contains \"null\":\n" + c + "\n"); // check for missing spaces Assert.assertFalse(c.matches("(.*)[^ ]--(.*)")); }//from w w w .j av a2 s .c om //verify bai is located in the correct provision directory Map<String, String> bamFileDirectories = new HashMap<>(); for (SqwFile f : w.getFiles().values()) { if (FilenameUtils.isExtension(f.getProvisionedPath(), "bam")) { bamFileDirectories.put(FilenameUtils.removeExtension(f.getSourcePath()), FilenameUtils.getPath(f.getProvisionedPath())); } } for (SqwFile f : w.getFiles().values()) { //FIXME: bai.getProvisionedPath != bai.getOutputPath ... // at least with seqware 1.1.0, setting output path changes where the output file will be stored, // but the commonly used get provisioned path will return the incorrect path to the file if (FilenameUtils.isExtension(f.getProvisionedPath(), "bai")) { //check bai is in the same provision directory its corresponding bam is in Assert.assertEquals(FilenameUtils.getPath(f.getOutputPath()), bamFileDirectories.get(FilenameUtils.removeExtension(f.getSourcePath()))); } } //check number of parent nodes Set<VariantCaller> vc = new HashSet<>(); for (String s : StringUtils.split(w.getConfigs().get("variant_caller"), ",")) { vc.add(VariantCaller.valueOf(StringUtils.upperCase(s))); } int parallelism = Math.max(1, StringUtils.split(w.getConfigs().get("chr_sizes"), ",").length); int expectedParentNodeCount = parallelism * (vc.contains(HAPLOTYPE_CALLER) ? 1 : 0) + parallelism * (vc.contains(UNIFIED_GENOTYPER) ? 2 : 0); //ug indels and ug snvs int actualParentNodeCount = 0; for (AbstractJob j : w.getWorkflow().getJobs()) { if (j.getParents().isEmpty()) { actualParentNodeCount++; } } Assert.assertEquals(actualParentNodeCount, expectedParentNodeCount); //view output files for (AbstractJob j : w.getWorkflow().getJobs()) { for (SqwFile f : j.getFiles()) { if (f.isOutput()) { System.out.println(f.getProvisionedPath()); } } } }
From source file:com.frostwire.android.gui.Librarian.java
/** * Given a folder path it'll return all the files contained within it and it's subfolders * as a flat set of Files./*from w w w. jav a 2s .c o m*/ * <p> * Non-recursive implementation, up to 20% faster in tests than recursive implementation. :) * * @param folder * @param extensions If you only need certain files filtered by their extensions, use this string array (without the "."). or set to null if you want all files. e.g. ["txt","jpg"] if you only want text files and jpegs. * @return The set of files. * @author gubatron */ private static Collection<File> getAllFolderFiles(File folder, String[] extensions) { Set<File> results = new HashSet<>(); Stack<File> subFolders = new Stack<>(); File currentFolder = folder; while (currentFolder != null && currentFolder.isDirectory() && currentFolder.canRead()) { File[] fs = null; try { fs = currentFolder.listFiles(); } catch (SecurityException e) { } if (fs != null && fs.length > 0) { for (File f : fs) { if (!f.isDirectory()) { if (extensions == null || FilenameUtils.isExtension(f.getName(), extensions)) { results.add(f); } } else { subFolders.push(f); } } } if (!subFolders.isEmpty()) { currentFolder = subFolders.pop(); } else { currentFolder = null; } } return results; }
From source file:com.app.model.m3.M3UpgradModel.java
public void saveas() { File[] f = zio.ToolsFile.fileChoice(SwingUtilities.getRoot(Ressource.mainView.getWindow()), null, new ArrayList(Arrays.asList(extension))); if (f != null) { if (f.length > 0) { filePath = f[0].getAbsolutePath(); if (!FilenameUtils.isExtension(filePath, extension)) { filePath += extension[0]; }/*from www .j a v a 2 s . co m*/ setChanged(); notifyObservers("title"); save(filePath); } } }
From source file:com.iyonger.apm.web.controller.PerfTestController.java
/** * Show the given log for the perf test having the given id. * * @param id test id/*from w w w . j a v a2 s.c o m*/ * @param path path in the log folder * @param response response */ @RequestMapping(value = "/{id}/show_log/**") public void showLog(@PathVariable("id") long id, @RemainedPath String path, HttpServletResponse response) { getOneWithPermissionCheck(getCurrentUser(), id, false); File targetFile = perfTestService.getLogFile(id, path); response.reset(); response.setContentType("text/plain"); response.setCharacterEncoding("UTF-8"); FileInputStream fileInputStream = null; try { fileInputStream = new FileInputStream(targetFile); ServletOutputStream outputStream = response.getOutputStream(); if (FilenameUtils.isExtension(targetFile.getName(), "zip")) { // Limit log view to 1MB outputStream.println(" Only the last 1MB of a log shows.\n"); outputStream .println("==========================================================================\n\n"); LogCompressUtils.decompress(fileInputStream, outputStream, 1 * 1024 * 1204); } else { IOUtils.copy(fileInputStream, outputStream); } } catch (Exception e) { CoreLogger.LOGGER.error("Error while processing log. {}", targetFile, e); } finally { IOUtils.closeQuietly(fileInputStream); } }
From source file:edu.ku.brc.specify.config.init.TaxonLoadSetupPanel.java
/** * Checks all the textfields to see if they have text * @return true of all fields have text/* ww w . j a v a 2s . c o m*/ */ public boolean isUIValid() { if (preloadChk.isSelected() && otherBrw.isEnabled() && !otherTF.isFocusOwner()) { String filePath = otherTF.getText(); if (!filePath.isEmpty() && FilenameUtils.isExtension(filePath.toLowerCase(), XLS)) { File f = new File(filePath); return f.exists(); } return StringUtils.isEmpty(otherTF.getText()); } return true; }
From source file:fr.certu.chouette.gui.command.Command.java
/** * import command : ( -fileFormat utilis si l'extension du fichier n'est pas reprsentative du format) * -c import -o line -format XXX -inputFile YYYY [-fileFormat TTT] -importId ZZZ ... * @param manager/*from ww w .j a v a2 s. co m*/ * @param parameters * @return */ private int executeImport(INeptuneManager<NeptuneIdentifiedObject> manager, Map<String, List<String>> parameters) { parameters.put("reportforsave", Arrays.asList(new String[] { "true" })); // parameters.put("validate",Arrays.asList(new String[]{"true"})); // force validation if possible GuiReport saveReport = new GuiReport("SAVE", Report.STATE.OK); Report importReport = null; List<Report> reports = new ArrayList<Report>(); // check if import exists and accept unzip before call String format = getSimpleString(parameters, "format"); String inputFile = getSimpleString(parameters, "inputfile"); // String fileFormat = getSimpleString(parameters,"fileformat",""); Long importId = Long.valueOf(getSimpleString(parameters, "importid")); if (!importDao.exists(importId)) { // error import not found logger.error("import not found " + importId); return 1; } GuiImport guiImport = importDao.get(importId); logger.info("Export data for export id " + importId); logger.info(" type : " + guiImport.getType()); logger.info(" options : " + guiImport.getOptions()); Referential referential = referentialDao.get(guiImport.getReferentialId()); logger.info("Referential " + guiImport.getReferentialId()); logger.info(" name : " + referential.getName()); logger.info(" slug : " + referential.getSlug()); logger.info(" projection type : " + referential.getProjectionType()); String projectionType = null; if (referential.getProjectionType() != null && !referential.getProjectionType().isEmpty()) { logger.info(" projection type for export: " + referential.getProjectionType()); projectionType = referential.getProjectionType(); parameters.put("srid", Arrays.asList(new String[] { projectionType })); } // set projection for import (inactive if not set) geographicService.switchProjection(projectionType); int beanCount = 0; boolean zipped = (inputFile.toLowerCase().endsWith(".zip")); try { List<FormatDescription> formats = manager.getImportFormats(null); FormatDescription description = null; for (FormatDescription formatDescription : formats) { if (formatDescription.getName().equalsIgnoreCase(format)) { description = formatDescription; break; } } if (description == null) { throw new IllegalArgumentException("format " + format + " unavailable"); } List<String> suffixes = new ArrayList<String>(); for (ParameterDescription desc : description.getParameterDescriptions()) { if (desc.getName().equalsIgnoreCase("inputfile")) { suffixes = desc.getAllowedExtensions(); break; } } List<ParameterValue> values = populateParameters(description, parameters, "inputfile", "fileformat"); if (zipped && description.isUnzipAllowed()) { SimpleParameterValue inputFileParam = new SimpleParameterValue("inputFile"); values.add(inputFileParam); // unzip files , import and save contents ZipFile zip = null; File temp = null; File tempRep = new File(FileUtils.getTempDirectory(), "massImport" + importId); if (!tempRep.exists()) tempRep.mkdirs(); try { zip = new ZipFile(inputFile); for (Enumeration<? extends ZipEntry> entries = zip.entries(); entries.hasMoreElements();) { ZipEntry entry = entries.nextElement(); if (entry.isDirectory()) { File dir = new File(tempRep, entry.getName()); dir.mkdirs(); continue; } if (!FilenameUtils.isExtension(entry.getName().toLowerCase(), suffixes)) { logger.error("entry " + entry.getName() + " ignored, unknown extension"); continue; } InputStream stream = null; try { stream = zip.getInputStream(entry); } catch (IOException e) { logger.error("entry " + entry.getName() + " cannot read"); continue; } byte[] bytes = new byte[4096]; int len = stream.read(bytes); temp = new File(tempRep, entry.getName()); FileOutputStream fos = new FileOutputStream(temp); while (len > 0) { fos.write(bytes, 0, len); len = stream.read(bytes); } fos.close(); // import if (verbose) System.out.println("import file " + entry.getName()); logger.info("import file " + entry.getName()); inputFileParam.setFilepathValue(temp.getAbsolutePath()); ReportHolder holder = new ReportHolder(); List<NeptuneIdentifiedObject> beans = manager.doImport(null, format, values, holder); if (holder.getReport() != null) { if (importReport == null) { importReport = holder.getReport(); reports.add(importReport); } else { importReport.addAll(holder.getReport().getItems()); } } // save if (beans != null && !beans.isEmpty()) { for (NeptuneIdentifiedObject bean : beans) { if (verbose) { System.out.println("save " + bean.getName() + " (" + bean.getObjectId() + ")"); } logger.info("save " + bean.getName() + " (" + bean.getObjectId() + ")"); // check all stopareas if (bean instanceof Line) { Line line = (Line) bean; checkProjection(line); } } try { manager.saveAll(null, beans, true, true); for (NeptuneIdentifiedObject bean : beans) { GuiReportItem item = new GuiReportItem("SAVE_OK", Report.STATE.OK, bean.getName()); importReport.addItem(item); beanCount++; } } catch (Exception e) { logger.error("fail to save data :" + e.getMessage(), e); for (NeptuneIdentifiedObject bean : beans) { GuiReportItem item = new GuiReportItem("SAVE_ERROR", Report.STATE.ERROR, bean.getName(), filter_chars(e.getMessage())); importReport.addItem(item); } } } temp.delete(); } try { zip.close(); } catch (IOException e) { logger.info("cannot close zip file"); } } catch (IOException e) { //reports.add(saveReport); System.out.println("import failed " + e.getMessage()); logger.error("import failed " + e.getMessage(), e); saveImportReports(importId, format, reports); return 1; } finally { try { FileUtils.deleteDirectory(tempRep); } catch (IOException e) { logger.warn("temporary directory " + tempRep.getAbsolutePath() + " could not be deleted"); } } } else { SimpleParameterValue inputFileParam = new SimpleParameterValue("inputFile"); inputFileParam.setFilepathValue(inputFile); values.add(inputFileParam); // if (!fileFormat.isEmpty()) // { // SimpleParameterValue fileFormatParam = new SimpleParameterValue("fileFormat"); // fileFormatParam.setStringValue(fileFormat); // values.add(fileFormatParam); // } // surround with try catch ReportHolder holder = new ReportHolder(); List<NeptuneIdentifiedObject> beans = manager.doImport(null, format, values, holder); if (holder.getReport() != null) { importReport = holder.getReport(); reports.add(holder.getReport()); } logger.info("imported Lines " + beans.size()); for (NeptuneIdentifiedObject bean : beans) { if (bean instanceof Line) { Line line = (Line) bean; checkProjection(line); } List<NeptuneIdentifiedObject> oneBean = new ArrayList<NeptuneIdentifiedObject>(); oneBean.add(bean); try { logger.info("save Line " + bean.getName()); manager.saveAll(null, oneBean, true, true); GuiReportItem item = new GuiReportItem("SAVE_OK", Report.STATE.OK, bean.getName()); saveReport.addItem(item); beanCount++; } catch (Exception e) { logger.error("save failed " + e.getMessage(), e); GuiReportItem item = new GuiReportItem("SAVE_ERROR", Report.STATE.ERROR, bean.getName(), e.getMessage()); saveReport.addItem(item); } } } } catch (Exception e) { // fill report with error if (saveReport.getItems() != null && !saveReport.getItems().isEmpty()) reports.add(saveReport); String msg = e.getMessage(); if (msg == null) msg = e.getClass().getName(); System.out.println("import failed " + msg); logger.error("import failed " + msg, e); GuiReport errorReport = new GuiReport("IMPORT_ERROR", Report.STATE.ERROR); GuiReportItem item = new GuiReportItem("EXCEPTION", Report.STATE.ERROR, msg); errorReport.addItem(item); reports.add(errorReport); saveImportReports(importId, format, reports); return 1; } if (saveReport.getItems() != null && !saveReport.getItems().isEmpty()) reports.add(saveReport); saveImportReports(importId, format, reports); return (beanCount == 0 ? 1 : 0); }
From source file:it.isislab.dmason.util.SystemManagement.Master.thrower.DMasonMaster.java
private void loadSimulation() { jComboBoxChooseSimulation.removeAllItems(); //These are hardcoded simulations jComboBoxChooseSimulation//from w w w.j av a 2 s . co m .addItem(new SimComboEntry("Flockers", "it.isislab.dmason.sim.app.DFlockers.DFlockers")); jComboBoxChooseSimulation .addItem(new SimComboEntry("Particles", "it.isislab.dmason.sim.app.DParticles.DParticles")); jComboBoxChooseSimulation .addItem(new SimComboEntry("Ants Foraging", "it.isislab.dmason.sim.app.DAntsForage.DAntsForage")); jComboBoxChooseSimulation .addItem(new SimComboEntry("Flockers Thin", "it.isislab.dmason.sim.app.DFlockersThin.DFlockers")); jComboBoxChooseSimulation.addItem( new SimComboEntry("Particles Thin", "it.isislab.dmason.sim.app.DParticlesThin.DParticles")); jComboBoxChooseSimulation.addItem( new SimComboEntry("Ants Foraging Thin", "it.isislab.dmason.sim.app.DAntsForageThin.DAntsForage")); //jComboBoxChooseSimulation.addItem(new SimComboEntry("Breadth First Search", "it.isislab.dmason.sim.app.DBreadthFirstSearch.Vertexes")); jComboBoxChooseSimulation .addItem(new SimComboEntry("Persons", "it.isislab.dmason.sim.app.DPersonsScom.DPersons")); // Then loads jar simulation from SIMULATION_DIR File folder = new File(FTP_HOME + dirSeparator + SIMULATION_DIR); File[] listOfFiles = folder.listFiles(); if (folder != null) for (File file : listOfFiles) { if (file.isFile() && FilenameUtils.isExtension(file.getName(), "jar")) jComboBoxChooseSimulation.addItem(new SimComboEntry(file.getName(), file.getName())); } }