X-Git-Url: http://gitweb.fperrin.net/?a=blobdiff_plain;f=tim%2Fprune%2FExternalTools.java;fp=tim%2Fprune%2FExternalTools.java;h=0000000000000000000000000000000000000000;hb=ce6f2161b8596f7018d6a76bff79bc9e571f35fd;hp=8cd1aef178f44c80674af5923a7a4937ec9e4466;hpb=2d8cb72e84d5cc1089ce77baf1e34ea3ea2f8465;p=GpsPrune.git diff --git a/tim/prune/ExternalTools.java b/tim/prune/ExternalTools.java deleted file mode 100644 index 8cd1aef..0000000 --- a/tim/prune/ExternalTools.java +++ /dev/null @@ -1,92 +0,0 @@ -package tim.prune; - -import java.io.IOException; - -import tim.prune.config.Config; - - -/** - * Class to manage interfaces to external tools, like exiftool - */ -public abstract class ExternalTools -{ - /** Constant for Exiftool */ - public static final int TOOL_EXIFTOOL = 0; - /** Constant for Gpsbabel */ - public static final int TOOL_GPSBABEL = 1; - /** Constant for Gnuplot */ - public static final int TOOL_GNUPLOT = 2; - /** Constant for Xerces xml library */ - public static final int TOOL_XERCES = 3; - /** Config keys in order that the tools are defined above */ - private static final String[] CONFIG_KEYS = {Config.KEY_EXIFTOOL_PATH, Config.KEY_GPSBABEL_PATH, Config.KEY_GNUPLOT_PATH}; - /** Verification flags for the tools in the order defined above */ - private static final String[] VERIFY_FLAGS = {"-v", "-V", "-V"}; - - - /** - * Check if the selected tool is installed - * @param inToolNum number of tool, from constants - * @return true if selected tool is installed - */ - public static boolean isToolInstalled(int inToolNum) - { - switch (inToolNum) { - case TOOL_EXIFTOOL: - case TOOL_GPSBABEL: - case TOOL_GNUPLOT: - String toolPath = Config.getConfigString(CONFIG_KEYS[inToolNum]); - if (toolPath != null && toolPath.length() > 0) { - return check(toolPath + " " + VERIFY_FLAGS[inToolNum]); - } - break; - case TOOL_XERCES: - try { - return Class.forName("org.apache.xerces.parsers.SAXParser").getClassLoader() != null; - } - catch (ClassNotFoundException e) { - // System.err.println(e.getClass().getName() + " : " + e.getMessage()); - } - break; - } - // Not found - return false; - } - - /** - * Check if the selected tool is installed using the given path - * @param inToolNum number of tool, from constants - * @param inPath selected path to use instead of configured one - * @return true if selected tool is installed - */ - public static boolean isToolInstalled(int inToolNum, String inPath) - { - if (inPath == null || inPath.equals("")) {return false;} - switch (inToolNum) { - case TOOL_EXIFTOOL: - case TOOL_GPSBABEL: - case TOOL_GNUPLOT: - return check(inPath + " " + VERIFY_FLAGS[inToolNum]); - } - // Not found - return false; - } - - /** - * Attempt to call the specified command - * @return true if found, false otherwise - */ - private static boolean check(String inCommand) - { - try - { - Runtime.getRuntime().exec(inCommand); - return true; - } - catch (IOException ioe) - { - // exception thrown, command not found - return false; - } - } -}