Author: echatellier Date: 2012-03-02 11:37:40 +0100 (Fri, 02 Mar 2012) New Revision: 3625 Url: http://forge.codelutin.com/repositories/revision/isis-fish/3625 Log: Don't check for file collision in simulations directory (huge time to check) Modified: trunk/src/main/java/fr/ifremer/isisfish/IsisFish.java Modified: trunk/src/main/java/fr/ifremer/isisfish/IsisFish.java =================================================================== --- trunk/src/main/java/fr/ifremer/isisfish/IsisFish.java 2012-03-02 10:11:22 UTC (rev 3624) +++ trunk/src/main/java/fr/ifremer/isisfish/IsisFish.java 2012-03-02 10:37:40 UTC (rev 3625) @@ -5,7 +5,7 @@ * $Id$ * $HeadURL$ * %% - * Copyright (C) 2005 - 2011 Ifremer, CodeLutin, Chatellier Eric + * Copyright (C) 2005 - 2012 Ifremer, CodeLutin, Chatellier Eric * %% * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as @@ -33,10 +33,10 @@ import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.io.File; -import java.io.FileFilter; import java.io.IOException; import java.io.InputStream; import java.text.SimpleDateFormat; +import java.util.Collection; import java.util.List; import javax.imageio.ImageIO; @@ -47,6 +47,8 @@ import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; +import org.apache.commons.io.FileUtils; +import org.apache.commons.io.filefilter.AbstractFileFilter; import org.apache.commons.lang.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -538,13 +540,23 @@ */ protected static void checkDuplicatedFiles() { + long before = System.currentTimeMillis(); + // get official file list - List<File> offFiles = FileUtil.getFilteredElements(IsisFish.config.getDatabaseDirectory(), new FileFilter() { - @Override - public boolean accept(File pathname) { - return pathname.getName().endsWith(".java"); - } - }, true); + Collection<File> offFiles = FileUtils.listFiles(IsisFish.config.getDatabaseDirectory(), + new AbstractFileFilter() { + @Override + public boolean accept(File dir, String name) { + return name.endsWith(".java"); + } + }, + new AbstractFileFilter() { + @Override + public boolean accept(File dir, String name) { + // exclude simulations directory (can take huge time) + return !name.equals(SimulationStorage.SIMULATION_PATH); + } + }); // compare it with community repo for (File offFile : offFiles) { @@ -558,6 +570,11 @@ comFile.renameTo(newFile); } } + + if (log.isDebugEnabled()) { + long after = System.currentTimeMillis(); + log.debug("Check corrumpted file in " + (after - before) + " ms"); + } } /**