1 /*
2 LoaderGenerator - tool for generated xml, sql and doml file needed for Octopus.
3 Copyright (C) 2003 Together
4 This library is free software; you can redistribute it and/or
5 modify it under the terms of the GNU Lesser General Public
6 License as published by the Free Software Foundation; either
7 version 2.1 of the License, or (at your option) any later version.
8 This library is distributed in the hope that it will be useful,
9 but WITHOUT ANY WARRANTY; without even the implied warranty of
10 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 Lesser General Public License for more details.
12 You should have received a copy of the GNU Lesser General Public
13 License along with this library; if not, write to the Free Software
14 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
15 */
16
17 package org.webdocwf.util.loader.task;
18
19 import org.apache.tools.ant.BuildException;
20 import org.apache.tools.ant.Task;
21
22 import org.webdocwf.util.loader.LoaderException;
23 import org.webdocwf.util.loader.generator.LoaderGenerator;
24
25 /***
26 * LoaderGenerator Task class extends jakarta-ant Task class and uses to start
27 * LoaderGenerator application as a jakarta-ant task in build.xml file.
28 *
29 * <p><br>
30 * sourceType, defines the type of the source database. Default value is 'msql'.<br>
31 * targetType, defines the type of the target database. Default value is 'msql'.<br>
32 * sourceDriverName, defines the driver of defined source database.<br>
33 * targetDriverName, defines the driver of defined target database.<br>
34 * sourceDataBase, defines the place where you're put the source database tables.<br>
35 * targetDataBase, defines the place where you're put the target database tables.<br>
36 * valueMode, defines the difference from overwrite and update attribute. If the valueMode<br>
37 * has value 'copy', attribute has value 'Overwrite', or if the valueMode has value 'sync', attribute<br>
38 * has value 'Update'. Default value of valueMode is 'copy'.<br>
39 * generatorOutput, is optional. That represent the directory, where the Octopus place created files.<br>
40 * If this argument don't exists, Octopus place created files in to current directory!<br>
41 * sourceUser, defines the user of the source database.<br>
42 * sourcePassword, defines the user password for the source database.<br>
43 * targetUser, defines the user of the target database.<br>
44 * targetPassword, defines the user password for the target database.<br>
45 * domlUrl, defines the place where the doml file is placed.<br>
46 * outputMode, defines which document you wont to generate. If the generateDoc has value<br>
47 * all, application generates xml, sql and doml files as ouput files. If the generateDoc has value<br>
48 * doml, application generates only the doml file, and if generateDoc has the value wdoml, application<br>
49 * generates xml and sql files.<br>
50 * packageName, defines the package name for the generated doml file.<br>
51 * generateDropTableStmt, defines if you want to generate only Sql statement for DROP TABLE.<br>
52 * <br></p>
53 *
54 * @author Radoslav Dutina
55 * @version 1.0
56 */
57 public class LoadGeneratorTask extends Task {
58
59 protected String sourceType = null;
60 protected String targetType = null;
61 protected String sourceDriverName = null;
62 protected String targetDriverName = null;
63 protected String sourceDataBase = null;
64 protected String targetDataBase = null;
65 protected String valueMode = null;
66 protected String generatorOutput = null;
67 protected String sourceUser = null;
68 protected String sourcePassword = null;
69 protected String targetUser = null;
70 protected String targetPassword = null;
71 protected String domlUrl = null;
72 protected String packageName = null;
73 protected String octopusHome = null;
74 //for generate Sql only
75 protected String generateDropTableStmt = null;
76 protected String generateDropIntegrityStmt = null;
77 protected String generateCreateTableStmt = null;
78 protected String generateCreatePKStmt = null;
79 protected String generateCreateFKStmt = null;
80 protected String generateCreateIndexStmt = null;
81 protected String generateXml = null;
82 protected String generateDoml = null;
83 protected String fullMode = null;
84 protected String includeTableList = null;
85 protected String confJarStructure = null;
86 protected String logMode = null;
87 protected String logDirName = null;
88 protected String logFileName = null;
89 protected String restoreMode = "false";
90 //for generate sql for all vendors
91 protected String generateSqlForAllVendors = null;
92
93 /***
94 * Construct object LoadGeneratorTask.
95 */
96 public LoadGeneratorTask() {
97 }
98
99 /***
100 *
101 * @throws org.apache.tools.ant.BuildException
102 */
103 public void execute() throws org.apache.tools.ant.BuildException {
104 if (sourceDataBase == null) {
105 throw new BuildException("sourceDataBase attribute must be set!");
106 }
107 if (targetDataBase == null) {
108 throw new BuildException("targetDataBase directory attribute must be set!");
109 }
110
111 if (sourceType == null) {
112 throw new BuildException("sourceType directory attribute must be set!");
113 }
114
115 if (targetType == null) {
116 throw new BuildException("targetType directory attribute must be set!");
117 }
118
119 try {
120 if (octopusHome != null)
121 System.setProperty("OCTOPUS_HOME", octopusHome);
122
123 LoaderGenerator generator = new LoaderGenerator(sourceType, sourceDataBase, valueMode, generatorOutput, sourceDriverName, targetDriverName, targetDataBase, targetType, sourceUser, sourcePassword, targetUser, targetPassword, domlUrl, packageName, generateDropTableStmt, generateDropIntegrityStmt, generateCreateTableStmt, generateCreatePKStmt, generateCreateFKStmt, generateCreateIndexStmt, generateSqlForAllVendors, generateXml, generateDoml, fullMode, restoreMode, includeTableList, confJarStructure, logMode, logDirName, logFileName)/package-summary.html">LoaderGenerator generator = new LoaderGenerator(sourceType, sourceDataBase, valueMode, generatorOutput, sourceDriverName, targetDriverName, targetDataBase, targetType, sourceUser, sourcePassword, targetUser, targetPassword, domlUrl, packageName, generateDropTableStmt, generateDropIntegrityStmt, generateCreateTableStmt, generateCreatePKStmt, generateCreateFKStmt, generateCreateIndexStmt, generateSqlForAllVendors, generateXml, generateDoml, fullMode, restoreMode, includeTableList, confJarStructure, logMode, logDirName, logFileName);
124 try {
125 generator.generate();
126
127 } catch (Exception e) {
128 //e.printStackTrace();
129 LoaderException le = new LoaderException("Exception:", e);
130 throw le;
131 }
132
133 } catch (Exception e) {
134 throw new BuildException(e);
135 }
136 }
137
138 /***
139 * This method sets the value of includeTableList parameter.
140 * @param includeTableList is the value of parameter.
141 */
142 public void setIncludeTableList(String includeTableList) {
143 this.includeTableList = includeTableList;
144 }
145
146 /***
147 * This method sets the value of generateDropIntegrityStmt parameter.
148 * @param generateDropIntegrityStmt is the value of parameter.
149 */
150 public void setGenerateDropIntegrityStmt(String generateDropIntegrityStmt) {
151 this.generateDropIntegrityStmt = generateDropIntegrityStmt;
152 }
153
154 /***
155 * This method sets the value of octopusHome parameter.
156 * @param octopusHome is the value of parameter.
157 */
158 public void setOctopusHome(String octopusHome) {
159 this.octopusHome = octopusHome;
160 }
161
162 /***
163 * This method sets the value of sourceType parameter.
164 * @param sourceType is the value of parameter.
165 */
166 public void setSourceType(String sourceType) {
167 this.sourceType = sourceType;
168 }
169
170 /***
171 * This method sets the value of targetType parameter.
172 * @param targetType is the value of parameter.
173 */
174 public void setTargetType(String targetType) {
175 this.targetType = targetType;
176 }
177
178 /***
179 * This method read the value of sourceDriverName parameter.
180 * @param sourceDriverName is the value of parameter.
181 */
182 public void setSourceDriverName(String sourceDriverName) {
183 this.sourceDriverName = sourceDriverName;
184 }
185
186 /***
187 * This method read the value of targetDriverName parameter.
188 * @param targetDriverName is the value of parameter.
189 */
190 public void setTargetDriverName(String targetDriverName) {
191 this.targetDriverName = targetDriverName;
192 }
193
194 /***
195 * This method read the value of sourceDataBase parameter.
196 * @param sourceDataBase is the value of parameter.
197 */
198 public void setSourceDataBase(String sourceDataBase) {
199 this.sourceDataBase = sourceDataBase;
200 }
201
202 /***
203 ** This method read the value of targetDataBase parameter.
204 * @param targetDataBase is the value of parameter.
205 */
206 public void setTargetDataBase(String targetDataBase) {
207 this.targetDataBase = targetDataBase;
208 }
209
210 /***
211 * This method read the value of valueMode parameter.
212 * @param valueMode is the value of parameter.
213 */
214 public void setValueMode(String valueMode) {
215 this.valueMode = valueMode;
216 }
217
218 /***
219 * This method read the value of generatorOutput parameter.
220 * @param generatorOutput is the value of parameter.
221 */
222 public void setGeneratorOutput(String generatorOutput) {
223 this.generatorOutput = generatorOutput;
224 }
225
226 /***
227 * This method read the value of sourceUser parameter.
228 * @param sourceUser is the value of parameter.
229 */
230 public void setSourceUser(String sourceUser) {
231 this.sourceUser = sourceUser;
232 }
233
234 /***
235 * This method read the value of sourcePassword parameter.
236 * @param sourcePassword is the value of parameter.
237 */
238 public void setSourcePassword(String sourcePassword) {
239 this.sourcePassword = sourcePassword;
240 }
241
242 /***
243 * This method read the value of targetUser parameter.
244 * @param targetUser is the value of parameter.
245 */
246 public void setTargetUser(String targetUser) {
247 this.targetUser = targetUser;
248 }
249
250 /***
251 * This method read the value of targetPassword parameter.
252 * @param targetPassword is the value of parameter.
253 */
254 public void setTargetPassword(String targetPassword) {
255 this.targetPassword = targetPassword;
256 }
257
258 /***
259 * This method read the value of domlPath parameter.
260 * @param domlUrl is the value of parameter.
261 */
262 public void setDomlUrl(String domlUrl) {
263 this.domlUrl = domlUrl;
264 }
265
266 /***
267 * This method read the value of packageName parameter.
268 * @param packageName is the value of parameter.
269 */
270 public void setPackageName(String packageName) {
271 this.packageName = packageName;
272 }
273
274 /***
275 * This method set value of generateDropTableStmt parameter
276 * @param generateDropTableStmt is value of parameter
277 */
278 public void setGenerateDropTableStmt(String generateDropTableStmt) {
279 this.generateDropTableStmt = generateDropTableStmt;
280 }
281
282 /***
283 * This method set value of generateCreateTableStmt parameter
284 * @param generateCreateTableStmt is value of parameter
285 */
286 public void setGenerateCreateTableStmt(String generateCreateTableStmt) {
287 this.generateCreateTableStmt = generateCreateTableStmt;
288 }
289
290 /***
291 * This method set value of generateCreatePKStmt parameter
292 * @param generateCreatePKStmt is value of parameter
293 */
294 public void setGenerateCreatePKStmt(String generateCreatePKStmt) {
295 this.generateCreatePKStmt = generateCreatePKStmt;
296 }
297
298 /***
299 * This method set value of generateCreateFKStmt parameter
300 * @param generateCreateFKStmt is value of parameter
301 */
302 public void setGenerateCreateFKStmt(String generateCreateFKStmt) {
303 this.generateCreateFKStmt = generateCreateFKStmt;
304 }
305
306 /***
307 * This method set value of generateCreateIndexStmt parameter
308 * @param generateCreateIndexStmt is value of parameter
309 */
310 public void setGenerateCreateIndexStmt(String generateCreateIndexStmt) {
311 this.generateCreateIndexStmt = generateCreateIndexStmt;
312 }
313
314 /***
315 * This method set value of generateXml parameter
316 * @param generateXml is value of parameter
317 */
318 public void setGenerateXml(String generateXml) {
319 this.generateXml = generateXml;
320 }
321
322 /***
323 * This method sets the value of generateDoml parameter.
324 * @param generateDoml is the value of parameter.
325 */
326 public void setGenerateDoml(String generateDoml) {
327 this.generateDoml = generateDoml;
328 }
329
330 /***
331 * This method set value of fullMode parameter
332 * @param fullMode is value of parameter
333 */
334 public void setFullMode(String fullMode) {
335 this.fullMode = fullMode;
336 }
337
338 // /***
339 // * This method set value of confJarStructure parameter
340 // * @param confFileStructure is value of parameter
341 // */
342 // public void setConfFileStructure(String confFileStructure) {
343 // this.confJarStructure = confFileStructure;
344 // }
345
346 /***
347 * This method set value of logMode parameter
348 * @param logMode is value of parameter
349 */
350 public void setLogMode(String logMode) {
351 this.logMode = logMode;
352 }
353 /***
354 * This method set value of logDirName parameter
355 * @param logDirName is value of parameter
356 */
357 public void setLogDirName(String logDirName) {
358 this.logDirName = logDirName;
359 }
360 /***
361 * This method set value of logFileName parameter
362 * @param logFileName is value of parameter
363 */
364 public void setLogFileName(String logFileName) {
365 this.logFileName = logFileName;
366 }
367
368 /***
369 * This method set value for generateSqlForAllVendors
370 * @param generateSqlForAllVendors
371 */
372 public void setGenerateSqlForAllVendors(String generateSqlForAllVendors) {
373 this.generateSqlForAllVendors = generateSqlForAllVendors;
374 }
375
376
377
378 /***
379 * This method set value of confJarStructure parameter
380 * @param confJarStructure is value of parameter
381 */
382 public void setConfJarStructure(String confJarStructure) {
383 this.confJarStructure = confJarStructure;
384 }
385
386
387
388 }
This page was automatically generated by Maven