1 /*
2 * This file is part of Waarp Project (named also Waarp or GG).
3 *
4 * Copyright (c) 2019, Waarp SAS, and individual contributors by the @author
5 * tags. See the COPYRIGHT.txt in the distribution for a full listing of
6 * individual contributors.
7 *
8 * All Waarp Project is free software: you can redistribute it and/or
9 * modify it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation, either version 3 of the License, or (at your
11 * option) any later version.
12 *
13 * Waarp is distributed in the hope that it will be useful, but WITHOUT ANY
14 * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15 * A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License along with
18 * Waarp . If not, see <http://www.gnu.org/licenses/>.
19 */
20 package org.waarp.gateway.ftp.exec;
21
22 import org.waarp.common.logging.WaarpLogger;
23 import org.waarp.common.logging.WaarpLoggerFactory;
24
25 /**
26 *
27 */
28 public class LogJavaTask implements GatewayRunnable {
29 /**
30 * Internal Logger
31 */
32 private static final WaarpLogger logger =
33 WaarpLoggerFactory.getLogger(LogJavaTask.class);
34
35 boolean waitForValidation;
36 boolean useLocalExec;
37 int delay;
38 String[] args;
39
40 /**
41 *
42 */
43 public LogJavaTask() {
44 // nothing
45 }
46
47 @Override
48 public void run() {
49 final StringBuilder builder = new StringBuilder();
50 for (final String arg : args) {
51 builder.append(arg).append(' ');
52 }
53 switch (delay) {
54 case 1:
55 logger.debug("{}", builder);
56 break;
57 case 2:
58 logger.info("{}", builder);
59 break;
60 case 4:
61 logger.error("{}", builder);
62 break;
63 default:
64 logger.warn("{}", builder);
65 break;
66 }
67 }
68
69 @Override
70 public final void setArgs(final boolean waitForValidation,
71 final boolean useLocalExec, final int delay,
72 final String[] args) {
73 this.waitForValidation = waitForValidation;
74 this.useLocalExec = useLocalExec;
75 this.delay = delay;
76 this.args = args;
77 }
78
79 @Override
80 public final int getFinalStatus() {
81 return 0;
82 }
83
84 }