]> git.argeo.org Git - gpl/argeo-slc.git/blob - runtime/org.argeo.slc.core/src/main/java/org/argeo/slc/core/execution/tasks/Echo.java
Modular distributions
[gpl/argeo-slc.git] / runtime / org.argeo.slc.core / src / main / java / org / argeo / slc / core / execution / tasks / Echo.java
1 package org.argeo.slc.core.execution.tasks;
2
3 import java.io.File;
4 import java.io.IOException;
5
6 import org.apache.commons.io.FileUtils;
7 import org.apache.commons.logging.Log;
8 import org.apache.commons.logging.LogFactory;
9 import org.argeo.slc.SlcException;
10 import org.springframework.core.io.Resource;
11
12 public class Echo implements Runnable {
13 private final static Log defaultLog = LogFactory.getLog(Echo.class);
14 private Resource writeTo = null;
15
16 private Log log;
17 private String message;
18
19 public void run() {
20 log().info(message);
21
22 if (writeTo != null) {
23 try {
24 File file = writeTo.getFile();
25 if (log().isDebugEnabled())
26 log().debug("Write to " + file);
27 FileUtils.writeStringToFile(file, message);
28 } catch (IOException e) {
29 throw new SlcException("Could not write to " + writeTo, e);
30 }
31 }
32 }
33
34 private Log log() {
35 return log != null ? log : defaultLog;
36 }
37
38 public void setMessage(String message) {
39 this.message = message;
40 }
41
42 public void setWriteTo(Resource writeTo) {
43 this.writeTo = writeTo;
44 }
45
46 }