X-Git-Url: http://www2.svjatoslav.eu/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Feu%2Fsvjatoslav%2Fmeviz%2Fencoder%2FEncodingTask.java;h=896ce15e242edae8578547c013981c8ef2bb7df3;hb=1b742640af99284aae1cd10c259254137316ba7c;hp=b5dbe08140431951ec7dccf07b91b4d2bc02f2a8;hpb=6cda75011fa4346a3cc2c7c7790eb1f1b12cd3fe;p=meviz.git diff --git a/src/main/java/eu/svjatoslav/meviz/encoder/EncodingTask.java b/src/main/java/eu/svjatoslav/meviz/encoder/EncodingTask.java index b5dbe08..896ce15 100755 --- a/src/main/java/eu/svjatoslav/meviz/encoder/EncodingTask.java +++ b/src/main/java/eu/svjatoslav/meviz/encoder/EncodingTask.java @@ -9,88 +9,85 @@ package eu.svjatoslav.meviz.encoder; -import java.io.File; - import eu.svjatoslav.meviz.encoder.converters.AbstractConverter; -public class EncodingTask { - - /** - * Source file to encode - */ - private final File source; - - /** - * Target file. - */ - private final File target; - - private final AbstractConverter converter; - - private boolean useTerminal; - - private final String targetFormat; - - public EncodingTask(final File source, final File target, final AbstractConverter converter, - final String targetFormat) { - - this.source = source; - this.target = target; - this.converter = converter; - this.targetFormat = targetFormat; - } - - /** - * @return the useTerminal - */ - public boolean doUseTerminal() { - return useTerminal; - } - - public String encodeApostrophes(final String input) { - final StringBuffer result = new StringBuffer(); - - for (final char c : input.toCharArray()) { - if (c == '\'') { - result.append("'\\''"); - continue; - } - result.append(c); - } - - return result.toString(); - } - - public void execute(final EncodingOptions encodingOptions) { - try { - String command = getCommand(encodingOptions); - - if (doUseTerminal()) - command = "xterm -e '" + encodeApostrophes(command) + "'"; - - System.out.println("Executing command: " + command); - - final Runtime runtime = Runtime.getRuntime(); - final Process process = runtime.exec(new String[] { "/bin/bash", "-c", command }); - - process.waitFor(); - - } catch (final Exception e) { - System.out.println(e.toString()); - e.printStackTrace(); - } - - } +import java.io.File; - public String getCommand(final EncodingOptions encodingOptions) { - return converter.getCommand(source, target, encodingOptions, targetFormat); - } +public class EncodingTask { - /** - * @param useTerminal - * the useTerminal to set - */ - public void setUseTerminal(final boolean useTerminal) { - this.useTerminal = useTerminal; - } + /** + * Source file to encode + */ + private final File source; + + /** + * Target file. + */ + private final File target; + + private final AbstractConverter converter; + private final String targetFormat; + private boolean useTerminal; + + public EncodingTask(final File source, final File target, final AbstractConverter converter, + final String targetFormat) { + + this.source = source; + this.target = target; + this.converter = converter; + this.targetFormat = targetFormat; + } + + /** + * @return the useTerminal + */ + public boolean doUseTerminal() { + return useTerminal; + } + + public String encodeApostrophes(final String input) { + final StringBuilder result = new StringBuilder(); + + for (final char c : input.toCharArray()) { + if (c == '\'') { + result.append("'\\''"); + continue; + } + result.append(c); + } + + return result.toString(); + } + + public void execute(final EncodingOptions encodingOptions) { + try { + String command = getCommand(encodingOptions); + + if (doUseTerminal()) + command = "xterm -e '" + encodeApostrophes(command) + "'"; + + System.out.println("Executing command: " + command); + + final Runtime runtime = Runtime.getRuntime(); + final Process process = runtime.exec(new String[]{"/bin/bash", "-c", command}); + + process.waitFor(); + + } catch (final Exception e) { + System.out.println(e.toString()); + e.printStackTrace(); + } + + } + + public String getCommand(final EncodingOptions encodingOptions) { + return converter.getCommand(source, target, encodingOptions, targetFormat); + } + + /** + * @param useTerminal the useTerminal to set + */ + public void setUseTerminal(final boolean useTerminal) { + this.useTerminal = useTerminal; + } }