- } catch (Exception e) {
- Instance.syserr(new Exception("Cannot create a reader of type: "
- + defaultType + " (Not compiled in?)", e));
- }
-
- return null;
- }
-
- /**
- * The default {@link ReaderType} used when calling
- * {@link BasicReader#getReader()}.
- *
- * @return the default type
- */
- public static ReaderType getDefaultReaderType() {
- return defaultType;
- }
-
- /**
- * The default {@link ReaderType} used when calling
- * {@link BasicReader#getReader()}.
- *
- * @param defaultType
- * the new default type
- */
- public static void setDefaultReaderType(ReaderType defaultType) {
- BasicReader.defaultType = defaultType;
- }
-
- /**
- * Change the default {@link Library} to open with the {@link BasicReader}s.
- *
- * @param lib
- * the new {@link Library}
- */
- public static void setDefaultLibrary(Library lib) {
- BasicReader.defaultLibrary = lib;
- }
-
- /**
- * Return an {@link URL} from this {@link String}, be it a file path or an
- * actual {@link URL}.
- *
- * @param sourceString
- * the source
- *
- * @return the corresponding {@link URL}
- *
- * @throws MalformedURLException
- * if this is neither a file nor a conventional {@link URL}
- */
- public static URL getUrl(String sourceString) throws MalformedURLException {
- if (sourceString == null || sourceString.isEmpty()) {
- throw new MalformedURLException("Empty url");
+ if (!ok) {
+ throw new IOException("Cannot find a program to start the file");
+ }
+ } else {
+ Instance.getInstance().getTraceHandler().trace("starting external program");
+ proc = Runtime.getRuntime().exec(
+ new String[] { program, target.getAbsolutePath() });