From: Jan P. <jp...@us...> - 2007-10-06 13:11:25
|
Update of /cvsroot/e-p-i-c/org.epic.perleditor/src/org/epic/core/util In directory sc8-pr-cvs17:/tmp/cvs-serv7812/src/org/epic/core/util Modified Files: Tag: stable ProcessExecutor.java PerlExecutor.java ScriptExecutor.java Log Message: Fixed bug [ 1803739 ] Source formatting wrong with utf8 characters. Index: ScriptExecutor.java =================================================================== RCS file: /cvsroot/e-p-i-c/org.epic.perleditor/src/org/epic/core/util/ScriptExecutor.java,v retrieving revision 1.3.2.2 retrieving revision 1.3.2.3 diff -u -d -r1.3.2.2 -r1.3.2.3 --- ScriptExecutor.java 6 Apr 2007 15:06:54 -0000 1.3.2.2 +++ ScriptExecutor.java 6 Oct 2007 13:11:21 -0000 1.3.2.3 @@ -73,7 +73,8 @@ { File workingDir = getWorkingDir(); - PerlExecutor executor = new PerlExecutor(ignoresBrokenPipe()); + PerlExecutor executor = new PerlExecutor( + getCharsetName(), ignoresBrokenPipe()); try { List cmdArgs = new ArrayList(1); @@ -104,6 +105,17 @@ } /** + * @return name of a supported + * {@link java.nio.charset.Charset </code>charset<code>} + * which should be used to encode/decode communication with + * the Perl interpreter, or null to use platform default + */ + protected String getCharsetName() + { + return null; + } + + /** * @return the name of the script that will be executed */ protected abstract String getExecutable(); Index: ProcessExecutor.java =================================================================== RCS file: /cvsroot/e-p-i-c/org.epic.perleditor/src/org/epic/core/util/ProcessExecutor.java,v retrieving revision 1.2 retrieving revision 1.2.2.1 diff -u -d -r1.2 -r1.2.2.1 --- ProcessExecutor.java 25 Jun 2006 19:38:04 -0000 1.2 +++ ProcessExecutor.java 6 Oct 2007 13:11:21 -0000 1.2.2.1 @@ -41,7 +41,7 @@ */ public ProcessExecutor(String charsetName) { - this.charsetName = null; + this.charsetName = charsetName; this.stdout = new StringReaderThread(":ProcessExecutor:stdout"); this.stderr = new StringReaderThread(":ProcessExecutor:stderr"); } Index: PerlExecutor.java =================================================================== RCS file: /cvsroot/e-p-i-c/org.epic.perleditor/src/org/epic/core/util/PerlExecutor.java,v retrieving revision 1.3 retrieving revision 1.3.2.1 diff -u -d -r1.3 -r1.3.2.1 --- PerlExecutor.java 25 Jun 2006 16:17:24 -0000 1.3 +++ PerlExecutor.java 6 Oct 2007 13:11:21 -0000 1.3.2.1 @@ -48,7 +48,22 @@ */ public PerlExecutor(boolean ignoreBrokenPipe) { - executor = new ProcessExecutor(); // TODO: charset? + this(null, ignoreBrokenPipe); + } + + /** + * This constructor is for PerlValidator's use, other clients should + * have no need to use it. + * + * @param charsetName + * The name of a supported + * {@link java.nio.charset.Charset </code>charset<code>} + * @param ignoreBrokenPipe + * see {@link ProcessExecutor#ignoreBrokenPipe} + */ + public PerlExecutor(String charsetName, boolean ignoreBrokenPipe) + { + executor = new ProcessExecutor(charsetName); if (ignoreBrokenPipe) executor.ignoreBrokenPipe(); } |