]> gitweb.fperrin.net Git - GpsPrune.git/blobdiff - tim/prune/ExternalTools.java
Moved source into separate src directory due to popular request
[GpsPrune.git] / tim / prune / ExternalTools.java
diff --git a/tim/prune/ExternalTools.java b/tim/prune/ExternalTools.java
deleted file mode 100644 (file)
index 8cd1aef..0000000
+++ /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;
-               }
-       }
-}