From 6872650389c074d2a941d8192dfa348a216b4848 Mon Sep 17 00:00:00 2001 From: Matthew Jason Benson Date: Mon, 25 Jun 2007 18:55:18 +0000 Subject: [PATCH] refactoring to ease extension git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@550573 13f79535-47bb-0310-9956-ffa450edef68 --- .../org/apache/tools/ant/taskdefs/Java.java | 22 ++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/src/main/org/apache/tools/ant/taskdefs/Java.java b/src/main/org/apache/tools/ant/taskdefs/Java.java index d99ff76d5..2dfa82988 100644 --- a/src/main/org/apache/tools/ant/taskdefs/Java.java +++ b/src/main/org/apache/tools/ant/taskdefs/Java.java @@ -101,6 +101,7 @@ public class Java extends Task { int err = -1; try { + checkConfiguration(); err = executeJava(); if (err != 0) { if (failOnError) { @@ -128,6 +129,14 @@ public class Java extends Task { * @throws BuildException if required parameters are missing. */ public int executeJava() throws BuildException { + return executeJava(getCommandLine()); + } + + /** + * Check configuration. + * @throws BuildException if required parameters are missing. + */ + protected void checkConfiguration() throws BuildException { String classname = getCommandLine().getClassname(); if (classname == null && getCommandLine().getJar() == null) { throw new BuildException("Classname must not be null."); @@ -188,17 +197,24 @@ public class Java extends Task { Project.MSG_VERBOSE); } setupRedirector(); + } + + /** + * Execute the specified CommandlineJava. + * @param commandLine CommandLineJava instance. + */ + protected int executeJava(CommandlineJava commandLine) { try { if (fork) { if (!spawn) { - return fork(getCommandLine().getCommandline()); + return fork(commandLine.getCommandline()); } else { - spawn(getCommandLine().getCommandline()); + spawn(commandLine.getCommandline()); return 0; } } else { try { - run(getCommandLine()); + run(commandLine); return 0; } catch (ExitException ex) { return ex.getStatus();