1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.waarp.openr66.context.task;
21
22 import org.waarp.common.command.exception.CommandAbstractException;
23 import org.waarp.common.logging.WaarpLogger;
24 import org.waarp.common.logging.WaarpLoggerFactory;
25 import org.waarp.openr66.context.ErrorCode;
26 import org.waarp.openr66.context.R66Result;
27 import org.waarp.openr66.context.R66Session;
28 import org.waarp.openr66.protocol.exception.OpenR66ProtocolSystemException;
29
30
31
32
33
34 public class DeleteTask extends AbstractTask {
35
36
37
38 private static final WaarpLogger logger =
39 WaarpLoggerFactory.getLogger(DeleteTask.class);
40
41
42
43
44
45
46
47 public DeleteTask(final String argRule, final int delay,
48 final String argTransfer, final R66Session session) {
49 super(TaskType.DELETE, delay, argRule, argTransfer, session);
50 }
51
52 @Override
53 public final void run() {
54 logger.info("Delete file from session {}", session);
55 try {
56 if (!session.getFile().delete()) {
57 logger.warn("CANNOT Delete file {} from session {}",
58 session.getFile().getFile(), session);
59 session.getRunner().setErrorExecutionStatus(ErrorCode.Warning);
60 futureCompletion.setSuccess();
61 return;
62 }
63 } catch (final CommandAbstractException e1) {
64 logger.info("CANNOT Delete file from session {}", session, e1);
65 final R66Result result =
66 new R66Result(session, false, ErrorCode.FileNotFound,
67 session.getRunner());
68 futureCompletion.setResult(result);
69 futureCompletion.setFailure(new OpenR66ProtocolSystemException(e1));
70 return;
71 }
72 futureCompletion.setSuccess();
73 }
74
75 }