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 import openr66.context.R66Session;
26 import openr66.context.task.exception.OpenR66RunnerErrorException;
27
28
29
30
31
32
33
34
35
36
37 public enum TaskType {
38 LOG, MOVE, MOVERENAME, COPY, COPYRENAME, EXEC, EXECMOVE, LINKRENAME, TRANSFER,
39 VALIDFILEPATH, DELETE, TAR, ZIP, EXECOUTPUT, RESCHEDULE, EXECJAVA;
40
41 public int type;
42
43 public String name;
44
45
46
47 private static final GgInternalLogger logger = GgInternalLoggerFactory
48 .getLogger(TaskType.class);
49
50 private TaskType() {
51 type = ordinal();
52 name = name();
53 }
54
55
56
57
58
59
60
61
62
63
64 public static AbstractTask getTaskFromId(TaskType type, String argRule,
65 int delay, R66Session session)
66 throws OpenR66RunnerErrorException {
67 switch (type) {
68 case LOG:
69 return new LogTask(argRule, delay, session.getRunner()
70 .getFileInformation(), session);
71 case MOVE:
72 return new MoveTask(argRule, delay, session.getRunner()
73 .getFileInformation(), session);
74 case MOVERENAME:
75 return new MoveRenameTask(argRule, delay, session.getRunner()
76 .getFileInformation(), session);
77 case COPY:
78 return new CopyTask(argRule, delay, session.getRunner()
79 .getFileInformation(), session);
80 case COPYRENAME:
81 return new CopyRenameTask(argRule, delay, session.getRunner()
82 .getFileInformation(), session);
83 case EXEC:
84 return new ExecTask(argRule, delay, session.getRunner()
85 .getFileInformation(), session);
86 case EXECMOVE:
87 return new ExecMoveTask(argRule, delay, session.getRunner()
88 .getFileInformation(), session);
89 case LINKRENAME:
90 return new LinkRenameTask(argRule, delay, session.getRunner()
91 .getFileInformation(), session);
92 case TRANSFER:
93 return new TransferTask(argRule, delay, session.getRunner()
94 .getFileInformation(), session);
95 case VALIDFILEPATH:
96 return new ValidFilePathTask(argRule, delay, session.getRunner()
97 .getFileInformation(), session);
98 case DELETE:
99 return new DeleteTask(argRule, delay, session.getRunner()
100 .getFileInformation(), session);
101 case TAR:
102 return new TarTask(argRule, delay, session.getRunner()
103 .getFileInformation(), session);
104 case ZIP:
105 return new ZipTask(argRule, delay, session.getRunner()
106 .getFileInformation(), session);
107 case EXECOUTPUT:
108 return new ExecOutputTask(argRule, delay, session.getRunner().
109 getFileInformation(), session);
110 case RESCHEDULE:
111 return new RescheduleTransferTask(argRule, delay, session.getRunner().
112 getFileInformation(), session);
113 case EXECJAVA:
114 return new ExecJavaTask(argRule, delay, session.getRunner().
115 getFileInformation(), session);
116 default:
117 logger.error("name unknown: " + type.name);
118 throw new OpenR66RunnerErrorException("Unvalid Task: " +
119 type.name);
120 }
121 }
122
123
124
125
126
127
128
129
130
131
132 public static AbstractTask getTaskFromId(String name, String argRule,
133 int delay, R66Session session) throws OpenR66RunnerErrorException {
134 TaskType type;
135 try {
136 type = valueOf(name);
137 } catch (NullPointerException e) {
138 logger.error("name empty " + name);
139 throw new OpenR66RunnerErrorException("Unvalid Task: " + name);
140 } catch (IllegalArgumentException e) {
141 logger.error("name unknown: " + name);
142 throw new OpenR66RunnerErrorException("Unvalid Task: " + name);
143 }
144 return getTaskFromId(type, argRule, delay, session);
145 }
146 }