1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 package openr66.context.task;
22
23 import goldengate.common.logging.GgInternalLogger;
24 import goldengate.common.logging.GgInternalLoggerFactory;
25
26 import java.io.File;
27
28 import openr66.context.R66Session;
29 import openr66.protocol.exception.OpenR66ProtocolSystemException;
30 import openr66.protocol.utils.FileUtils;
31
32
33
34
35
36
37 public class CopyTask extends AbstractTask {
38
39
40
41 private static final GgInternalLogger logger = GgInternalLoggerFactory
42 .getLogger(CopyTask.class);
43
44
45
46
47
48
49
50 public CopyTask(String argRule, int delay, String argTransfer,
51 R66Session session) {
52 super(TaskType.COPY, delay, argRule, argTransfer, session);
53 }
54
55
56
57
58
59
60 @Override
61 public void run() {
62 logger.info("Copy with " + argRule + ":" + argTransfer + " and {}",
63 session);
64 File from = session.getFile().getTrueFile();
65 File to = new File(argRule + session.getFile().getBasename());
66 try {
67 FileUtils.copy(from, to, false, false);
68 } catch (OpenR66ProtocolSystemException e1) {
69 logger.error("Copy with " + argRule + ":" + argTransfer + " and " +
70 session, e1);
71 futureCompletion.setFailure(new OpenR66ProtocolSystemException(e1));
72 return;
73 }
74 futureCompletion.setSuccess();
75 }
76
77 }