Tag | Date | Blame | Line | Source |
---|---|---|---|---|
latest | Wed Jan 06 18:37:15 JST 2016 | 42eb77 | 403 | /** |
latest | Wed Jan 06 18:37:15 JST 2016 | 42eb77 | 404 | * Try to start an non-existing application where the exception is caught/processed |
latest | Wed Jan 06 18:37:15 JST 2016 | 42eb77 | 405 | * by the result handler. The watchdog in notified to avoid waiting for the |
latest | Wed Jan 06 18:37:15 JST 2016 | 42eb77 | 406 | * process infinitely. |
COMMONS_EXEC_1_1_RC1 | Tue Jun 01 06:33:22 JST 2010 | 616599 | 407 | * |
latest | Wed Jan 06 18:37:15 JST 2016 | 42eb77 | 408 | * @see EXEC-71 |
sandbox | Fri Nov 30 08:24:30 JST 2007 | b9993b | 409 | */ |
1.3-RC1 | Fri Jan 10 02:54:51 JST 2014 | 2b1e18 | 410 | @Test |
latest | Wed Jan 06 18:37:15 JST 2016 | 42eb77 | 411 | public void testExecuteAsyncNonExistingApplicationWithWatchdog() throws Exception { |
1.2-RC1 | Sat Dec 28 23:20:34 JST 2013 | c1410e | 412 | final CommandLine cl = new CommandLine(nonExistingTestScript); |
latest | Wed Jan 06 18:37:15 JST 2016 | 42eb77 | 413 | final DefaultExecuteResultHandler resultHandler = new DefaultExecuteResultHandler() { |
latest | Wed Jan 06 18:37:15 JST 2016 | 42eb77 | 414 | @Override |
latest | Wed Jan 06 18:37:15 JST 2016 | 42eb77 | 415 | public void onProcessFailed(ExecuteException e) { |
latest | Wed Jan 06 18:37:15 JST 2016 | 42eb77 | 416 | System.out.println("Process did not stop gracefully, had exception '" + e.getMessage() + "' while executing process"); |
latest | Wed Jan 06 18:37:15 JST 2016 | 42eb77 | 417 | super.onProcessFailed(e); |
latest | Wed Jan 06 18:37:15 JST 2016 | 42eb77 | 418 | } |
latest | Wed Jan 06 18:37:15 JST 2016 | 42eb77 | 419 | }; |
latest | Wed Jan 06 18:37:15 JST 2016 | 42eb77 | 420 | final DefaultExecutor executor = new DefaultExecutor(); |
latest | Wed Jan 06 18:37:15 JST 2016 | 42eb77 | 421 | executor.setWatchdog(new ExecuteWatchdog(ExecuteWatchdog.INFINITE_TIMEOUT)); |
latest | Wed Jan 06 18:37:15 JST 2016 | 42eb77 | 422 | |
latest | Wed Jan 06 18:37:15 JST 2016 | 42eb77 | 423 | executor.execute(cl, resultHandler); |
latest | Wed Jan 06 18:37:15 JST 2016 | 42eb77 | 424 | resultHandler.waitFor(); |
latest | Wed Jan 06 18:37:15 JST 2016 | 42eb77 | 425 | |
latest | Wed Jan 06 18:37:15 JST 2016 | 42eb77 | 426 | assertTrue(executor.isFailure(resultHandler.getExitValue())); |
latest | Wed Jan 06 18:37:15 JST 2016 | 42eb77 | 427 | assertNotNull(resultHandler.getException()); |
latest | Wed Jan 06 18:37:15 JST 2016 | 42eb77 | 428 | assertFalse(executor.getWatchdog().isWatching()); |
latest | Wed Jan 06 18:37:15 JST 2016 | 42eb77 | 429 | assertFalse(executor.getWatchdog().killedProcess()); |
latest | Wed Jan 06 18:37:15 JST 2016 | 42eb77 | 430 | executor.getWatchdog().destroyProcess(); |
sandbox | Fri Nov 30 08:24:30 JST 2007 | b9993b | 431 | } |
Tag | Date | Blame | Line | Source |
---|---|---|---|---|
1.2-RC1 | Sat Dec 28 23:20:34 JST 2013 | c1410e | 72 | final StringBuffer argBuf = new StringBuffer(); |
EXEC_1_0_0_RC1 | Sat Jul 19 04:39:05 JST 2008 | dcbad9 | 74 | if (argStr == null || argStr.length() == 0) { |
EXEC_1_0_0_RC1 | Sat Jul 19 04:39:05 JST 2008 | dcbad9 | 78 | if (vars == null || vars.size() == 0) { |
EXEC_1_0_0_RC1 | Sat Jul 19 04:39:05 JST 2008 | dcbad9 | 79 | return argBuf.append(argStr); |
EXEC_1_0_0_RC1 | Sat Jul 19 05:25:50 JST 2008 | 963a84 | 188 | return arg.replace(SLASH_CHAR, File.separatorChar).replace( |
Tag | Date | Blame | Line | Source |
---|---|---|---|---|
1.2-RC1 | Mon Feb 21 16:30:50 JST 2011 | c266aa | 195 | { |
sandbox | Mon Jul 10 05:32:36 JST 2006 | 13fdc8 | 198 | int exitValue = Executor.INVALID_EXITVALUE; |
1.2-RC1 | Sat Dec 28 23:35:41 JST 2013 | 7fc828 | 204 | } catch (final Exception e) { |
sandbox | Mon Jul 10 05:32:36 JST 2006 | 13fdc8 | 205 | handler.onProcessFailed(new ExecuteException("Execution failed", exitValue, e)); |
sandbox | Mon Jul 10 05:32:36 JST 2006 | 13fdc8 | 207 | } |
Tag | Date | Blame | Line | Source |
---|---|---|---|---|
sandbox | Fri Aug 05 21:21:46 JST 2005 | 94b6fa | 83 | public ExecuteWatchdog(final long timeout) { |
sandbox | Tue Dec 04 21:11:05 JST 2007 | e90575 | 84 | this.killedProcess = false; |
sandbox | Tue Dec 04 21:11:05 JST 2007 | e90575 | 85 | this.watch = false; |
1.2-RC1 | Sat Dec 28 23:18:57 JST 2013 | 01bfe9 | 86 | this.hasWatchdog = timeout != INFINITE_TIMEOUT; |
1.2-RC1 | Wed Nov 30 16:57:29 JST 2011 | 5166ed | 87 | this.processStarted = false; |
1.2-RC1 | Sat Dec 28 23:35:41 JST 2013 | 7fc828 | 88 | if (this.hasWatchdog) { |
COMMONS_EXEC_1_1_RC1 | Tue Jun 01 06:33:22 JST 2010 | 616599 | 93 | this.watchdog = null; |
sandbox | Fri Aug 05 21:21:46 JST 2005 | 94b6fa | 95 | } |
1.2-RC1 | Sat Dec 28 23:35:41 JST 2013 | 7fc828 | 141 | if (hasWatchdog) { |
sandbox | Fri Aug 05 21:21:46 JST 2005 | 94b6fa | 144 | watch = false; |
sandbox | Fri Aug 05 21:21:46 JST 2005 | 94b6fa | 145 | process = null; |
sandbox | Fri Aug 05 21:21:46 JST 2005 | 94b6fa | 146 | } |
1.2-RC1 | Wed Nov 30 16:57:29 JST 2011 | 5166ed | 152 | ensureStarted(); |
COMMONS_EXEC_1_1_RC1 | Tue Jun 01 06:33:22 JST 2010 | 616599 | 153 | this.timeoutOccured(null); |
sandbox | Tue Dec 04 21:11:05 JST 2007 | e90575 | 154 | this.stop(); |
sandbox | Tue Dec 04 21:11:05 JST 2007 | e90575 | 155 | } |
1.2-RC1 | Sat Dec 28 23:35:41 JST 2013 | 7fc828 | 165 | if (process != null) { |
sandbox | Fri Aug 05 21:21:46 JST 2005 | 94b6fa | 175 | } |
sandbox | Fri Aug 05 21:21:46 JST 2005 | 94b6fa | 180 | cleanUp(); |
sandbox | Fri Aug 05 21:21:46 JST 2005 | 94b6fa | 181 | } |
sandbox | Fri Aug 05 21:21:46 JST 2005 | 94b6fa | 182 | } |
1.2-RC1 | Wed Nov 30 16:57:29 JST 2011 | 5166ed | 208 | ensureStarted(); |
sandbox | Fri Aug 05 21:21:46 JST 2005 | 94b6fa | 209 | return watch; |
sandbox | Fri Aug 05 21:21:46 JST 2005 | 94b6fa | 219 | return killedProcess; |
sandbox | Tue Dec 04 21:11:05 JST 2007 | e90575 | 226 | watch = false; |
sandbox | Tue Dec 04 21:11:05 JST 2007 | e90575 | 227 | process = null; |
1.2-RC1 | Wed Nov 30 16:57:29 JST 2011 | 5166ed | 228 | } |
1.2-RC1 | Wed Nov 30 16:57:29 JST 2011 | 5166ed | 231 | processStarted = false; |
1.2-RC1 | Wed Nov 30 16:57:29 JST 2011 | 5166ed | 232 | } |
1.2-RC1 | Wed Nov 30 16:57:29 JST 2011 | 5166ed | 247 | } |
Tag | Date | Blame | Line | Source |
---|---|---|---|---|
sandbox | Fri Aug 19 13:07:50 JST 2005 | 1ef5f9 | 35 | public abstract class CommandLauncherImpl implements CommandLauncher { |
sandbox | Tue Apr 22 05:32:43 JST 2008 | 223467 | 50 | return exitValue != 0; |
Tag | Date | Blame | Line | Source |
---|---|---|---|---|
sandbox | Sun Jan 07 00:42:23 JST 2007 | d4c6f1 | 39 | public class DefaultProcessingEnvironment { |
Tag | Date | Blame | Line | Source |
---|---|---|---|---|
sandbox | Fri Nov 30 08:20:34 JST 2007 | a9c1a6 | 84 | public DefaultExecutor() { |
sandbox | Fri Nov 30 08:20:34 JST 2007 | a9c1a6 | 85 | this.streamHandler = new PumpStreamHandler(); |
sandbox | Fri Nov 30 08:20:34 JST 2007 | a9c1a6 | 86 | this.launcher = CommandLauncherFactory.createVMLauncher(); |
sandbox | Fri Nov 30 08:20:34 JST 2007 | a9c1a6 | 87 | this.exitValues = new int[0]; |
COMMONS_EXEC_1_1_RC1 | Fri Aug 13 20:08:38 JST 2010 | 189459 | 88 | this.workingDirectory = new File("."); |
1.2-RC1 | Tue Oct 11 06:33:07 JST 2011 | 6e795c | 89 | this.exceptionCaught = null; |
sandbox | Fri Nov 30 08:20:34 JST 2007 | a9c1a6 | 90 | } |
sandbox | Thu May 25 05:29:38 JST 2006 | 33fe5d | 103 | this.streamHandler = streamHandler; |
sandbox | Thu May 25 05:29:38 JST 2006 | 33fe5d | 104 | } |
sandbox | Thu May 25 05:29:38 JST 2006 | 33fe5d | 110 | return watchdog; |
sandbox | Thu Mar 15 20:56:12 JST 2007 | 45264b | 117 | this.watchdog = watchDog; |
sandbox | Thu May 25 05:29:38 JST 2006 | 33fe5d | 118 | } |
sandbox | Mon Jul 10 05:32:36 JST 2006 | 13fdc8 | 162 | if (workingDirectory != null && !workingDirectory.exists()) { |
sandbox | Mon Jul 10 05:32:36 JST 2006 | 13fdc8 | 176 | execute(command, null, handler); |
sandbox | Thu May 25 05:29:38 JST 2006 | 33fe5d | 177 | } |
sandbox | Mon Jul 10 05:32:36 JST 2006 | 13fdc8 | 186 | if (workingDirectory != null && !workingDirectory.exists()) { |
1.2-RC1 | Wed Nov 30 16:57:29 JST 2011 | 5166ed | 190 | if (watchdog != null) { |
1.2-RC1 | Wed Nov 30 16:57:29 JST 2011 | 5166ed | 191 | watchdog.setProcessNotStarted(); |
1.2-RC1 | Sat Dec 28 23:20:34 JST 2013 | c1410e | 194 | final Runnable runnable = new Runnable() |
1.2-RC1 | Mon Feb 21 16:30:50 JST 2011 | c266aa | 210 | this.executorThread = createThread(runnable, "Exec Default Executor"); |
COMMONS_EXEC_1_1_RC1 | Sun Aug 15 04:31:45 JST 2010 | e33d95 | 211 | getExecutorThread().start(); |
COMMONS_EXEC_1_1_RC1 | Sun Aug 15 04:31:45 JST 2010 | e33d95 | 212 | } |
1.2-RC1 | Sat Dec 28 23:35:41 JST 2013 | 7fc828 | 228 | if (this.exitValues == null) { |
1.2-RC1 | Sat Dec 28 23:35:41 JST 2013 | 7fc828 | 231 | else if (this.exitValues.length == 0) { |
sandbox | Tue Apr 22 05:32:43 JST 2008 | 223467 | 232 | return this.launcher.isFailure(exitValue); |
1.2-RC1 | Mon Feb 21 16:30:50 JST 2011 | c266aa | 253 | return new Thread(runnable, name); |
sandbox | Thu Apr 24 05:42:39 JST 2008 | 5e9951 | 272 | if (this.launcher == null) { |
sandbox | Fri Nov 30 08:20:34 JST 2007 | a9c1a6 | 276 | if (dir != null && !dir.exists()) { |
COMMONS_EXEC_1_1_RC1 | Sun Aug 15 04:31:45 JST 2010 | e33d95 | 288 | return executorThread; |
Tag | Date | Blame | Line | Source |
---|---|---|---|---|
1.3-RC1 | Sat Jan 11 01:11:40 JST 2014 | c01912 | 41 | PROCESSING_ENVIRONMENT_IMPLEMENTATION = new DefaultProcessingEnvironment(); |
1.3-RC1 | Sat Jan 11 01:11:40 JST 2014 | c01912 | 43 | } |
EXEC_1_0_0_RC1 | Mon Nov 17 08:07:06 JST 2008 | 765387 | 60 | if (environment == null) { |
sandbox | Sun Jan 29 08:15:24 JST 2006 | 0d1dbf | 61 | return null; |
Tag | Date | Blame | Line | Source |
---|---|---|---|---|
1.2-RC1 | Tue Oct 11 06:33:07 JST 2011 | 6e795c | 57 | private IOException caught = null; |
COMMONS_EXEC_1_1_RC1 | Fri Aug 13 03:08:25 JST 2010 | 527529 | 63 | this(System.out, System.err); |
sandbox | Fri Aug 05 21:21:46 JST 2005 | 94b6fa | 64 | } |
sandbox | Fri Aug 05 21:21:46 JST 2005 | 94b6fa | 82 | this(out, err, null); |
sandbox | Fri Aug 05 21:21:46 JST 2005 | 94b6fa | 83 | } |
1.2-RC1 | Tue Oct 11 06:33:07 JST 2011 | 6e795c | 92 | public PumpStreamHandler(final OutputStream out, final OutputStream err, final InputStream input) { |
COMMONS_EXEC_1_1_RC1 | Fri Aug 13 03:08:25 JST 2010 | 527529 | 93 | this.out = out; |
COMMONS_EXEC_1_1_RC1 | Fri Aug 13 03:08:25 JST 2010 | 527529 | 94 | this.err = err; |
COMMONS_EXEC_1_1_RC1 | Fri Aug 13 03:08:25 JST 2010 | 527529 | 95 | this.input = input; |
sandbox | Fri Aug 05 21:21:46 JST 2005 | 94b6fa | 96 | } |
Tag | Date | Blame | Line | Source |
---|---|---|---|---|
sandbox | Sun Jan 29 09:15:04 JST 2006 | 801c0e | 68 | super(message + " (Exit value: " + exitValue + ". Caused by " + cause + ")"); |
sandbox | Fri Aug 05 21:21:46 JST 2005 | 94b6fa | 69 | this.cause = cause; // Two-argument version requires JDK 1.4 or later |
sandbox | Sun Jan 29 09:15:04 JST 2006 | 801c0e | 70 | this.exitValue = exitValue; |
sandbox | Fri Aug 05 21:21:46 JST 2005 | 94b6fa | 71 | } |
1.3-RC1 | Fri Jan 10 23:35:24 JST 2014 | 658a54 | 86 | return exitValue; |
Tag | Date | Blame | Line | Source |
---|---|---|---|---|
sandbox | Fri Sep 23 23:09:14 JST 2005 | 245019 | 42 | if (OS.isFamilyOpenVms()) { |
sandbox | Fri Sep 23 23:09:14 JST 2005 | 245019 | 45 | launcher = new Java13CommandLauncher(); |
sandbox | Fri Aug 05 21:21:46 JST 2005 | 94b6fa | 48 | return launcher; |
Tag | Date | Blame | Line | Source |
---|---|---|---|---|
1.3-RC1 | Sat Jan 11 20:49:27 JST 2014 | 594812 | 42 | private final Vector |
1.2-RC1 | Sat Dec 28 23:20:34 JST 2013 | c1410e | 112 | public CommandLine(final File executable) { |
sandbox | Sat Apr 12 01:37:11 JST 2008 | 7aa110 | 113 | this.isFile=true; |
1.3-RC1 | Thu Jul 24 20:52:06 JST 2014 | 0bf316 | 114 | this.executable=toCleanExecutable(executable.getAbsolutePath()); |
sandbox | Mon Jul 10 05:32:36 JST 2006 | 13fdc8 | 115 | } |
EXEC_1_0_0_RC1 | Sat Jul 19 05:40:44 JST 2008 | b95e06 | 150 | return StringUtils.fixFileSeparatorChar(expandArgument(executable)); |
1.2-RC1 | Sat Dec 28 23:20:34 JST 2013 | c1410e | 264 | final String[] result = new String[arguments.size()]; |
1.2-RC1 | Sat Dec 28 23:35:41 JST 2013 | 7fc828 | 266 | for (int i=0; i |
COMMONS_EXEC_1_1_RC1 | Wed Sep 22 04:11:01 JST 2010 | 351ae2 | 272 | return result; |
sandbox | Sat Dec 08 01:38:27 JST 2007 | 29abee | 279 | return substitutionMap; |
EXEC_1_0_0_RC1 | Sat Jul 19 05:23:35 JST 2008 | 43d166 | 298 | final String[] result = new String[arguments.size() + 1]; |
EXEC_1_0_0_RC1 | Sat Jul 19 05:23:35 JST 2008 | 43d166 | 299 | result[0] = this.getExecutable(); |
EXEC_1_0_0_RC1 | Sat Jul 19 05:23:35 JST 2008 | 43d166 | 300 | System.arraycopy(getArguments(), 0, result, 1, result.length-1); |
EXEC_1_0_0_RC1 | Sat Jul 19 05:23:35 JST 2008 | 43d166 | 301 | return result; |
1.2-RC1 | Sat Dec 28 23:20:34 JST 2013 | c1410e | 325 | final StringBuffer stringBuffer = StringUtils.stringSubstitution(argument, this.getSubstitutionMap(), true); |
sandbox | Sat Dec 08 01:38:27 JST 2007 | 29abee | 326 | return stringBuffer.toString(); |
1.3-RC1 | Thu Jul 24 20:52:06 JST 2014 | 0bf316 | 412 | if (dirtyExecutable == null) { |
1.3-RC1 | Thu Jul 24 20:52:06 JST 2014 | 0bf316 | 414 | } else if (dirtyExecutable.trim().length() == 0) { |
1.3-RC1 | Thu Jul 24 20:52:06 JST 2014 | 0bf316 | 417 | return StringUtils.fixFileSeparatorChar(dirtyExecutable); |
Tag | Date | Blame | Line | Source |
---|---|---|---|---|
COMMONS_EXEC_1_1_RC1 | Tue Sep 21 04:19:18 JST 2010 | 024ea3 | 44 | public DefaultExecuteResultHandler() { |
COMMONS_EXEC_1_1_RC1 | Tue Sep 21 04:19:18 JST 2010 | 024ea3 | 45 | this.hasResult = false; |
COMMONS_EXEC_1_1_RC1 | Tue Sep 21 04:19:18 JST 2010 | 024ea3 | 46 | this.exitValue = Executor.INVALID_EXITVALUE; |
COMMONS_EXEC_1_1_RC1 | Tue Sep 21 04:19:18 JST 2010 | 024ea3 | 47 | } |
COMMONS_EXEC_1_1_RC1 | Tue Sep 21 04:19:18 JST 2010 | 024ea3 | 62 | this.exitValue = e.getExitValue(); |
sandbox | Thu May 25 05:29:38 JST 2006 | 33fe5d | 63 | this.exception = e; |
COMMONS_EXEC_1_1_RC1 | Fri Jun 04 17:53:38 JST 2010 | bc7ca7 | 64 | this.hasResult = true; |
sandbox | Thu May 25 05:29:38 JST 2006 | 33fe5d | 65 | } |
1.2-RC1 | Sat Dec 28 23:35:41 JST 2013 | 7fc828 | 75 | if (!hasResult) { |
sandbox | Thu May 25 05:29:38 JST 2006 | 33fe5d | 79 | return exception; |
1.2-RC1 | Sat Dec 28 23:35:41 JST 2013 | 7fc828 | 90 | if (!hasResult) { |
sandbox | Thu May 25 05:29:38 JST 2006 | 33fe5d | 94 | return exitValue; |
COMMONS_EXEC_1_1_RC1 | Fri Jun 04 17:53:38 JST 2010 | bc7ca7 | 103 | return hasResult; |
COMMONS_EXEC_1_1_RC1 | Tue Sep 21 04:19:18 JST 2010 | 024ea3 | 120 | while (!hasResult()) { |
COMMONS_EXEC_1_1_RC1 | Fri Aug 13 01:18:02 JST 2010 | 5e11af | 121 | Thread.sleep(SLEEP_TIME_MS); |
COMMONS_EXEC_1_1_RC1 | Tue Sep 21 04:19:18 JST 2010 | 024ea3 | 123 | } |
Tag | Date | Blame | Line | Source |
---|---|---|---|---|
sandbox | Fri Dec 07 07:32:34 JST 2007 | a9f0f5 | 39 | public Java13CommandLauncher() { |
1.3-RC1 | Fri Jan 10 01:22:43 JST 2014 | 434ab3 | 40 | } |
1.3-RC1 | Fri Jan 10 01:22:43 JST 2014 | 434ab3 | 59 | final String[] envVars = EnvironmentUtils.toStrings(env); |
Tag | Date | Blame | Line | Source |
---|---|---|---|---|
sandbox | Fri Aug 05 21:21:46 JST 2005 | 94b6fa | 51 | private static final String OS_NAME = System.getProperty("os.name") |
sandbox | Fri Aug 05 21:21:46 JST 2005 | 94b6fa | 52 | .toLowerCase(Locale.US); |
sandbox | Fri Aug 05 21:21:46 JST 2005 | 94b6fa | 54 | private static final String OS_ARCH = System.getProperty("os.arch") |
sandbox | Fri Aug 05 21:21:46 JST 2005 | 94b6fa | 55 | .toLowerCase(Locale.US); |
sandbox | Fri Aug 05 21:21:46 JST 2005 | 94b6fa | 57 | private static final String OS_VERSION = System.getProperty("os.version") |
sandbox | Fri Aug 05 21:21:46 JST 2005 | 94b6fa | 58 | .toLowerCase(Locale.US); |
sandbox | Fri Aug 05 21:21:46 JST 2005 | 94b6fa | 60 | private static final String PATH_SEP = System.getProperty("path.separator"); |
sandbox | Fri Aug 05 21:21:46 JST 2005 | 94b6fa | 89 | return isOs(family, null, null, null); |
sandbox | Fri Aug 05 21:21:46 JST 2005 | 94b6fa | 113 | return isFamily(FAMILY_UNIX); |
sandbox | Fri Aug 05 21:21:46 JST 2005 | 94b6fa | 117 | return isFamily(FAMILY_WINDOWS); |
sandbox | Fri Aug 05 21:21:46 JST 2005 | 94b6fa | 133 | return isFamily(FAMILY_OPENVMS); |
sandbox | Fri Aug 05 21:21:46 JST 2005 | 94b6fa | 187 | boolean retValue = false; |
sandbox | Fri Aug 05 21:21:46 JST 2005 | 94b6fa | 189 | if (family != null || name != null || arch != null || version != null) { |
sandbox | Fri Aug 05 21:21:46 JST 2005 | 94b6fa | 191 | boolean isFamily = true; |
sandbox | Fri Aug 05 21:21:46 JST 2005 | 94b6fa | 192 | boolean isName = true; |
sandbox | Fri Aug 05 21:21:46 JST 2005 | 94b6fa | 193 | boolean isArch = true; |
sandbox | Fri Aug 05 21:21:46 JST 2005 | 94b6fa | 194 | boolean isVersion = true; |
sandbox | Fri Aug 05 21:21:46 JST 2005 | 94b6fa | 196 | if (family != null) { |
sandbox | Fri Aug 05 21:21:46 JST 2005 | 94b6fa | 197 | if (family.equals(FAMILY_WINDOWS)) { |
sandbox | Fri Aug 05 21:21:46 JST 2005 | 94b6fa | 198 | isFamily = OS_NAME.indexOf(FAMILY_WINDOWS) > -1; |
sandbox | Fri Aug 05 21:21:46 JST 2005 | 94b6fa | 199 | } else if (family.equals(FAMILY_OS_2)) { |
sandbox | Fri Aug 05 21:21:46 JST 2005 | 94b6fa | 201 | } else if (family.equals(FAMILY_NETWARE)) { |
sandbox | Fri Aug 05 21:21:46 JST 2005 | 94b6fa | 203 | } else if (family.equals(FAMILY_DOS)) { |
sandbox | Fri Aug 05 21:21:46 JST 2005 | 94b6fa | 206 | } else if (family.equals(FAMILY_MAC)) { |
sandbox | Fri Aug 05 21:21:46 JST 2005 | 94b6fa | 207 | isFamily = OS_NAME.indexOf(FAMILY_MAC) > -1; |
sandbox | Fri Aug 05 21:21:46 JST 2005 | 94b6fa | 208 | } else if (family.equals(FAMILY_TANDEM)) { |
sandbox | Fri Aug 05 21:21:46 JST 2005 | 94b6fa | 210 | } else if (family.equals(FAMILY_UNIX)) { |
sandbox | Fri Aug 05 21:21:46 JST 2005 | 94b6fa | 211 | isFamily = PATH_SEP.equals(":") |
sandbox | Fri Aug 05 21:21:46 JST 2005 | 94b6fa | 212 | && !isFamily(FAMILY_OPENVMS) |
sandbox | Fri Aug 05 21:21:46 JST 2005 | 94b6fa | 213 | && (!isFamily(FAMILY_MAC) || OS_NAME.endsWith("x")); |
sandbox | Fri Aug 05 21:21:46 JST 2005 | 94b6fa | 214 | } else if (family.equals(FAMILY_WIN9X)) { |
sandbox | Fri Aug 05 21:21:46 JST 2005 | 94b6fa | 220 | } else if (family.equals(FAMILY_Z_OS)) { |
sandbox | Fri Aug 05 21:21:46 JST 2005 | 94b6fa | 223 | } else if (family.equals(FAMILY_OS_400)) { |
sandbox | Fri Aug 05 21:21:46 JST 2005 | 94b6fa | 225 | } else if (family.equals(FAMILY_OPENVMS)) { |
sandbox | Fri Aug 05 21:21:46 JST 2005 | 94b6fa | 226 | isFamily = OS_NAME.indexOf(FAMILY_OPENVMS) > -1; |
sandbox | Fri Aug 05 21:21:46 JST 2005 | 94b6fa | 233 | if (name != null) { |
sandbox | Fri Aug 05 21:21:46 JST 2005 | 94b6fa | 236 | if (arch != null) { |
sandbox | Fri Aug 05 21:21:46 JST 2005 | 94b6fa | 239 | if (version != null) { |
sandbox | Fri Aug 05 21:21:46 JST 2005 | 94b6fa | 242 | retValue = isFamily && isName && isArch && isVersion; |
sandbox | Fri Aug 05 21:21:46 JST 2005 | 94b6fa | 244 | return retValue; |