KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > webdocwf > util > loader > wizard > OctopusGeneratorPanel


1     package org.webdocwf.util.loader.wizard;
2
3     import java.awt.Dimension JavaDoc;
4 import java.awt.Toolkit JavaDoc;
5 import java.awt.event.ActionEvent JavaDoc;
6 import java.awt.event.ActionListener JavaDoc;
7 import java.io.BufferedWriter JavaDoc;
8 import java.io.File JavaDoc;
9 import java.io.FileWriter JavaDoc;
10 import java.io.Writer JavaDoc;
11 import java.util.HashMap JavaDoc;
12
13 import javax.swing.AbstractAction JavaDoc;
14 import javax.swing.BorderFactory JavaDoc;
15 import javax.swing.Box JavaDoc;
16 import javax.swing.BoxLayout JavaDoc;
17 import javax.swing.ImageIcon JavaDoc;
18 import javax.swing.JButton JavaDoc;
19 import javax.swing.JCheckBox JavaDoc;
20 import javax.swing.JComboBox JavaDoc;
21 import javax.swing.JComponent JavaDoc;
22 import javax.swing.JFileChooser JavaDoc;
23 import javax.swing.JLabel JavaDoc;
24 import javax.swing.JPanel JavaDoc;
25 import javax.swing.JRadioButton JavaDoc;
26 import javax.swing.JScrollPane JavaDoc;
27 import javax.swing.JSplitPane JavaDoc;
28 import javax.swing.JTabbedPane JavaDoc;
29 import javax.swing.JTextArea JavaDoc;
30 import javax.swing.JTextField JavaDoc;
31 import javax.swing.KeyStroke JavaDoc;
32 import javax.swing.ScrollPaneConstants JavaDoc;
33 import javax.swing.SwingConstants JavaDoc;
34 import javax.swing.border.Border JavaDoc;
35 import javax.swing.border.EtchedBorder JavaDoc;
36
37     public class OctopusGeneratorPanel extends JPanel JavaDoc {
38
39         private static final String JavaDoc SOURCE_TYPE = "Source database type",
40             TARGET_TYPE = "Target database type",
41             SOURCE_DATABASE = "Source database URL",
42             TARGET_DATABASE = "Target database URL",
43             SOURCE_USER = "Source database user",
44             SOURCE_PASSWORD = "Source database password",
45             TARGET_USER = "Target database user",
46             TARGET_PASSWORD = "Target database password",
47             VALUE_MODE = "Value mode",
48             GENERATOR_OUTPUT = "Generator output directory",
49             DOML_PATH = "Doml URL( when use Doml as input )",
50             PACKAGE_NAME = "Package name",
51             SOURCE_DRIVER_NAME = "Source database driver name",
52             TARGET_DRIVER_NAME = "Target database driver name",
53             ADDITIONAL_PATHS = "Additional classpath",
54             DROP_TABLE = "Drop Tables",
55             CREATE_TABLE = "Create Tables",
56             CREATE_PRIMARY_KEYS = "Create Primary Keys",
57             DROP_FOREIGN_KEYS = "Drop Foreign Keys",
58             CREATE_FOREIGN_KEYS = "Create Foreign Keys",
59             CREATE_INDEXES = "Create Indexes",
60             CREATE_SQL_FOR_ALL_VENDORS = "Create SQL Statements for All Vendors",
61             GENERATE_DOML = "Generate Doml file",
62             GENERATE_XML = "Generate Xml files",
63             GENERATE_SQL = "Generate Sql files",
64             OPTIMIZED_MODE = "Optimized mode for all tables",
65             FULL_MODE = "Full mode for all tables",
66             INCLUDE_TABLE_LIST = "Include Table List (e.g. table1;table2)",
67             PATH_TO_CONF_IN_JAR = "Path to conf files in jar",
68             LOG_MODE = "Log mode",
69             LOG_FILE_NAME ="Log file name",
70             LOG_FILE_DIRECTORY = "Log file directory";
71
72         //dimensions
73
public static Dimension JavaDoc bigButton = new Dimension JavaDoc(140, 25);
74         public static Dimension JavaDoc toolBarButton = new Dimension JavaDoc(30, 30);
75         public static Dimension JavaDoc smallComponent = new Dimension JavaDoc(150, 20);
76         public static Dimension JavaDoc bigComponent = new Dimension JavaDoc(400, 20);
77         public static Dimension JavaDoc bigPlusButton = new Dimension JavaDoc(380, 20);
78         public static Dimension JavaDoc veryBigComponent = new Dimension JavaDoc(650, 20);
79         public static Dimension JavaDoc veryBigPlusButton = new Dimension JavaDoc(630, 20);
80         public static Dimension JavaDoc panelComponenet = new Dimension JavaDoc(720, 40);
81
82         JSplitPane JavaDoc main;
83
84         Border JavaDoc loweredBorder = BorderFactory.createEtchedBorder(EtchedBorder.LOWERED);
85         Border JavaDoc raisedBorder = BorderFactory.createEtchedBorder(EtchedBorder.RAISED);
86         Border JavaDoc bevelBorder = BorderFactory.createLoweredBevelBorder();
87
88         private JCheckBox JavaDoc sqlFiles,
89             xmlFiles,
90             domlFile,
91             createTables,
92             createPK,
93             createFK,
94             createIn,
95             dropTables,
96             createSQLForAll,
97             dropFK;
98         private JRadioButton JavaDoc optimizedMode, fullMode;
99         private JTextField JavaDoc packageField, generatorOutput, addPaths;
100 // private OctopusProjectFrame parent;
101
private OctopusGeneratorData initData;
102         private HashMap JavaDoc fields;
103         private JTextArea JavaDoc traceArea;
104
105         public OctopusGeneratorPanel() {
106             // super("TDT Generator Application", true, true, true, true);
107
// setFrameIcon( new ImageIcon(getClass().getClassLoader().getResource("org/webdocwf/util/loader/"+
108
// "wizard/images/Enhydra16.gif")));
109

110 // this.parent = parent;
111
fields = new HashMap JavaDoc();
112             //generatorOptions
113
// JPanel generatorOptionsUp = new JPanel();
114
// JPanel generatorOptionsDown = new JPanel();
115

116             //generator input data
117
JTabbedPane JavaDoc octopusGeneratorData = new JTabbedPane JavaDoc();
118             JPanel JavaDoc commonPanel = new JPanel JavaDoc();
119             JPanel JavaDoc advancedPanel = new JPanel JavaDoc();
120             JPanel JavaDoc outputOptions = new JPanel JavaDoc();
121             octopusGeneratorData.addTab("JDBC", commonPanel);
122             octopusGeneratorData.addTab("Output options", outputOptions);
123             octopusGeneratorData.addTab("Advanced", advancedPanel);
124
125             //generatotOptionsUp panel
126
// generatorOptionsUp.setLayout(new BoxLayout(generatorOptionsUp, BoxLayout.Y_AXIS));
127
// generatorOptionsUp.setBorder(BorderFactory.createEtchedBorder(EtchedBorder.LOWERED));
128
// JButton help = createOctopusButton("Help", bigButton);
129
// help.setAction(new OctopusHelpAction());
130
// generatorOptionsUp.add(help);
131

132             //generatotOptionsDown panel
133
// generatorOptionsDown.setLayout(new BoxLayout(generatorOptionsDown, BoxLayout.Y_AXIS));
134
// generatorOptionsDown.setBorder(BorderFactory.createEtchedBorder(EtchedBorder.LOWERED));
135
// JButton start = createOctopusButton("Start", bigButton);
136
// start.setAction(new StartOctopusGenerator());
137
// JButton stop = createOctopusButton("Stop", bigButton);
138
// stop.setAction(new StopOctopusGenerator());
139
// JButton save = createOctopusButton("Save", bigButton);
140
// save.setAction(new SaveProjectAction());
141
// generatorOptionsDown.add(Box.createRigidArea(new Dimension(0, 5)));
142
// generatorOptionsDown.add(start);
143
// generatorOptionsDown.add(Box.createRigidArea(new Dimension(0, 5)));
144
// generatorOptionsDown.add(stop);
145
// generatorOptionsDown.add(Box.createRigidArea(new Dimension(0, 5)));
146
// generatorOptionsDown.add(save);
147
// generatorOptionsDown.add(Box.createRigidArea(new Dimension(0, 15)));
148
// generatorOptionsDown.add(help);
149

150             //generatorOptions
151
// JSplitPane generatorOptions = new JSplitPane(JSplitPane.VERTICAL_SPLIT, true,
152
// generatorOptionsUp, generatorOptionsDown);
153
// generatorOptions.setOneTouchExpandable(true);
154
// generatorOptions.setDividerLocation(560);
155

156             // JSplitPane generatorInputData = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, true,
157
// generatorOptions, octopusGeneratorData);
158
// JSplitPane generatorInputData =
159
// new JSplitPane(
160
// JSplitPane.HORIZONTAL_SPLIT,
161
// true,
162
// new JPanel(),
163
// octopusGeneratorData);
164

165             //advanced panel
166
JPanel JavaDoc pathToConfPanel = new JPanel JavaDoc();
167             pathToConfPanel.setLayout(new BoxLayout JavaDoc(pathToConfPanel, BoxLayout.X_AXIS));
168             pathToConfPanel.setBorder(setTitleOfBorder("Advanced Options", loweredBorder));
169             JLabel JavaDoc strPathToConf = OctopusProjectFrame.createOctopusLabel(PATH_TO_CONF_IN_JAR, smallComponent);
170             JTextField JavaDoc pathToConf = OctopusProjectFrame.createOctopusTextField(PATH_TO_CONF_IN_JAR, veryBigComponent);
171             pathToConfPanel.add(strPathToConf);
172             pathToConfPanel.add(pathToConf);
173
174             JPanel JavaDoc mainPathToConfPanel = new JPanel JavaDoc();
175             mainPathToConfPanel.setLayout(new BoxLayout JavaDoc(mainPathToConfPanel, BoxLayout.X_AXIS));
176             mainPathToConfPanel.add(pathToConfPanel);
177             mainPathToConfPanel.add(Box.createHorizontalGlue());
178
179             advancedPanel.setLayout(new BoxLayout JavaDoc(advancedPanel, BoxLayout.Y_AXIS));
180             advancedPanel.add(Box.createRigidArea(new Dimension JavaDoc(0, 15)));
181             advancedPanel.add(mainPathToConfPanel);
182
183             //sourcePanel
184
JPanel JavaDoc sourcePanel = new JPanel JavaDoc();
185             sourcePanel.setLayout(new BoxLayout JavaDoc(sourcePanel, BoxLayout.Y_AXIS));
186             //sourceType
187
JLabel JavaDoc strSourceType = OctopusProjectFrame.createOctopusLabel(SOURCE_TYPE, bigComponent);
188             JComboBox JavaDoc sourceType = OctopusProjectFrame.createOctopusCombobox(SOURCE_TYPE, bigComponent);
189             //sourceUrl
190
JLabel JavaDoc strSourceUrl = OctopusProjectFrame.createOctopusLabel(SOURCE_DATABASE, bigComponent);
191             JTextField JavaDoc sourceUrl = OctopusProjectFrame.createOctopusTextField(SOURCE_DATABASE, bigComponent);
192             //sourceDriverName
193
JLabel JavaDoc strSourceDriverName = OctopusProjectFrame.createOctopusLabel(SOURCE_DRIVER_NAME, bigComponent);
194             JComboBox JavaDoc sourceDriverName = OctopusProjectFrame.createOctopusCombobox(SOURCE_DRIVER_NAME, bigComponent);
195             //sourceUser
196
JLabel JavaDoc strSourceUser = OctopusProjectFrame.createOctopusLabel(SOURCE_USER, bigComponent);
197             JTextField JavaDoc sourceUser = OctopusProjectFrame.createOctopusTextField(SOURCE_USER, bigComponent);
198             //sourcePassword
199
JLabel JavaDoc strSourcePassword = OctopusProjectFrame.createOctopusLabel(SOURCE_PASSWORD, bigComponent);
200             JTextField JavaDoc sourcePassword = OctopusProjectFrame.createOctopusTextField(SOURCE_PASSWORD, bigComponent);
201             //doml
202
JLabel JavaDoc strDomlUrl = OctopusProjectFrame.createOctopusLabel(DOML_PATH, bigComponent);
203             JTextField JavaDoc domlUrl = OctopusProjectFrame.createOctopusTextField(DOML_PATH, bigPlusButton);
204             JButton JavaDoc domlButton = OctopusProjectFrame.createOctopusButton("doml url button", new Dimension JavaDoc(20, 20));
205             domlButton.setAction(new BrowseAction_DOML());
206
207             ImageIcon JavaDoc icon =
208                 new ImageIcon JavaDoc(
209                     getClass().getClassLoader().getResource(
210                         "org/webdocwf/util/loader/" + "wizard/images/database.gif"));
211             JLabel JavaDoc sourceLabel = new JLabel JavaDoc("JDBC Source Database", icon, SwingConstants.RIGHT);
212
213             sourcePanel.add(createJDBCRow(sourceLabel, null));
214             sourcePanel.add(Box.createRigidArea(new Dimension JavaDoc(0, 10)));
215             sourcePanel.add(createJDBCRow(strSourceType, null));
216             sourcePanel.add(createJDBCRow(sourceType, null));
217             sourcePanel.add(createJDBCRow(strSourceUrl, null));
218             sourcePanel.add(createJDBCRow(sourceUrl, null));
219             sourcePanel.add(createJDBCRow(strDomlUrl, null));
220             sourcePanel.add(createJDBCRow(domlUrl, domlButton));
221             sourcePanel.add(createJDBCRow(strSourceDriverName, null));
222             sourcePanel.add(createJDBCRow(sourceDriverName, null));
223             sourcePanel.add(createJDBCRow(strSourceUser, null));
224             sourcePanel.add(createJDBCRow(sourceUser, null));
225             sourcePanel.add(createJDBCRow(strSourcePassword, null));
226             sourcePanel.add(createJDBCRow(sourcePassword, null));
227
228             sourcePanel.setBorder(setTitleOfBorder("", bevelBorder));
229
230             //targetPanel
231
JPanel JavaDoc targetPanel = new JPanel JavaDoc();
232             targetPanel.setLayout(new BoxLayout JavaDoc(targetPanel, BoxLayout.Y_AXIS));
233             //targetType
234
JLabel JavaDoc strTargetType = OctopusProjectFrame.createOctopusLabel(TARGET_TYPE, bigComponent);
235             JComboBox JavaDoc targetType = OctopusProjectFrame.createOctopusCombobox(TARGET_TYPE, bigComponent);
236             //targetUrl
237
JLabel JavaDoc strTargetUrl =OctopusProjectFrame.createOctopusLabel(TARGET_DATABASE, bigComponent);
238             JTextField JavaDoc targetUrl = OctopusProjectFrame.createOctopusTextField(TARGET_DATABASE, bigComponent);
239             //targetDriverName
240
JLabel JavaDoc strTargetDriverName = OctopusProjectFrame.createOctopusLabel(TARGET_DRIVER_NAME, bigComponent);
241             JComboBox JavaDoc targetDriverName = OctopusProjectFrame.createOctopusCombobox(TARGET_DRIVER_NAME, bigComponent);
242             //targetUser
243
JLabel JavaDoc strTargetUser = OctopusProjectFrame.createOctopusLabel(TARGET_USER, bigComponent);
244             JTextField JavaDoc targetUser = OctopusProjectFrame.createOctopusTextField(TARGET_USER, bigComponent);
245             //targetPassword
246
JLabel JavaDoc strTargetPassword = OctopusProjectFrame.createOctopusLabel(TARGET_PASSWORD, bigComponent);
247             JTextField JavaDoc targetPassword = OctopusProjectFrame.createOctopusTextField(TARGET_PASSWORD, bigComponent);
248
249             JLabel JavaDoc strTargetDoml = OctopusProjectFrame.createOctopusLabel("Doml URL", bigComponent);
250             String JavaDoc msg = "Doml file will be placed in output directory";
251             JTextField JavaDoc targetDoml = OctopusProjectFrame.createOctopusTextField("Doml URL target", bigComponent);
252             targetDoml.setText(msg);
253             targetDoml.setEditable(false);
254
255             ImageIcon JavaDoc icon2 =
256                 new ImageIcon JavaDoc(
257                     getClass().getClassLoader().getResource(
258                         "org/webdocwf/util/loader/" + "wizard/images/database2.gif"));
259             JLabel JavaDoc targetLabel = new JLabel JavaDoc("JDBC Target Database", icon2, SwingConstants.RIGHT);
260
261             targetPanel.add(createJDBCRow(targetLabel, null));
262             targetPanel.add(Box.createRigidArea(new Dimension JavaDoc(0, 10)));
263             targetPanel.add(createJDBCRow(strTargetType, null));
264             targetPanel.add(createJDBCRow(targetType, null));
265             targetPanel.add(createJDBCRow(strTargetUrl, null));
266             targetPanel.add(createJDBCRow(targetUrl, null));
267             targetPanel.add(createJDBCRow(strTargetDoml, null));
268             targetPanel.add(createJDBCRow(targetDoml, null));
269             targetPanel.add(createJDBCRow(strTargetDriverName, null));
270             targetPanel.add(createJDBCRow(targetDriverName, null));
271             targetPanel.add(createJDBCRow(strTargetUser, null));
272             targetPanel.add(createJDBCRow(targetUser, null));
273             targetPanel.add(createJDBCRow(strTargetPassword, null));
274             targetPanel.add(createJDBCRow(targetPassword, null));
275
276             targetPanel.setBorder(setTitleOfBorder("", bevelBorder));
277
278             JPanel JavaDoc JDBCPanel = new JPanel JavaDoc();
279             JDBCPanel.setLayout(new BoxLayout JavaDoc(JDBCPanel, BoxLayout.X_AXIS));
280             JDBCPanel.add(sourcePanel);
281             JDBCPanel.add(targetPanel);
282
283             JPanel JavaDoc JDBCMainPanel = new JPanel JavaDoc();
284             JDBCMainPanel.setLayout(new BoxLayout JavaDoc(JDBCMainPanel, BoxLayout.X_AXIS));
285             JDBCMainPanel.add(JDBCPanel);
286             JDBCMainPanel.add(Box.createHorizontalGlue());
287
288             //value mode panel
289
JPanel JavaDoc valuModePanel = new JPanel JavaDoc();
290             valuModePanel.setLayout(new BoxLayout JavaDoc(valuModePanel, BoxLayout.X_AXIS));
291             valuModePanel.setBorder(setTitleOfBorder("Value mode", loweredBorder));
292             JLabel JavaDoc strValueMode = OctopusProjectFrame.createOctopusLabel(VALUE_MODE, smallComponent);
293             JComboBox JavaDoc valueMode = OctopusProjectFrame.createOctopusCombobox(VALUE_MODE, veryBigComponent);
294             valuModePanel.add(strValueMode);
295             valuModePanel.add(valueMode);
296
297             JPanel JavaDoc mainValueModePanel = new JPanel JavaDoc();
298             mainValueModePanel.setLayout(new BoxLayout JavaDoc(mainValueModePanel, BoxLayout.X_AXIS));
299             mainValueModePanel.add(valuModePanel);
300             mainValueModePanel.add(Box.createHorizontalGlue());
301
302             //generatorOutput panel
303
JPanel JavaDoc generatorOutputPanel = new JPanel JavaDoc();
304             generatorOutputPanel.setLayout(new BoxLayout JavaDoc(generatorOutputPanel, BoxLayout.X_AXIS));
305             JPanel JavaDoc generatorOutputInnerPanel = new JPanel JavaDoc();
306             JButton JavaDoc browseGeneratorOutput = OctopusProjectFrame.createOctopusButton("O", new Dimension JavaDoc(20, 20));
307             browseGeneratorOutput.setAction(new BrowseAction_GO());
308
309             generatorOutputInnerPanel.setLayout(
310                 new BoxLayout JavaDoc(generatorOutputInnerPanel, BoxLayout.X_AXIS));
311             generatorOutputInnerPanel.setBorder(
312                 setTitleOfBorder("Generator Output", loweredBorder));
313             JLabel JavaDoc strGeneratorOutput = OctopusProjectFrame.createOctopusLabel(GENERATOR_OUTPUT, smallComponent);
314             generatorOutput = OctopusProjectFrame.createOctopusTextField(GENERATOR_OUTPUT, veryBigPlusButton);
315             generatorOutputInnerPanel.add(strGeneratorOutput);
316             generatorOutputInnerPanel.add(generatorOutput);
317             generatorOutputInnerPanel.add(browseGeneratorOutput);
318
319             generatorOutputPanel.add(generatorOutputInnerPanel);
320             generatorOutputPanel.add(Box.createHorizontalGlue());
321
322             //includetablelist panel
323
JPanel JavaDoc includeTableListPanel = new JPanel JavaDoc();
324             includeTableListPanel.setLayout(new BoxLayout JavaDoc(includeTableListPanel, BoxLayout.X_AXIS));
325             JPanel JavaDoc includeTableListInnerPanel = new JPanel JavaDoc();
326             includeTableListInnerPanel.setLayout(
327                 new BoxLayout JavaDoc(includeTableListInnerPanel, BoxLayout.X_AXIS));
328             includeTableListInnerPanel.setBorder(setTitleOfBorder("Tables List", loweredBorder));
329             JLabel JavaDoc strIncludeTableList = OctopusProjectFrame.createOctopusLabel(INCLUDE_TABLE_LIST, smallComponent);
330             JTextField JavaDoc includeTableList =
331             OctopusProjectFrame.createOctopusTextField(INCLUDE_TABLE_LIST, veryBigComponent);
332             includeTableListInnerPanel.add(strIncludeTableList);
333             includeTableListInnerPanel.add(includeTableList);
334
335             includeTableListPanel.add(includeTableListInnerPanel);
336             includeTableListPanel.add(Box.createHorizontalGlue());
337
338             //additinal classpaths panel
339
JPanel JavaDoc addPathsPanel = new JPanel JavaDoc();
340             addPathsPanel.setLayout(new BoxLayout JavaDoc(addPathsPanel, BoxLayout.X_AXIS));
341             JPanel JavaDoc addPathsInnerPanel = new JPanel JavaDoc();
342             JButton JavaDoc browseAdditionalClass = OctopusProjectFrame.createOctopusButton("O", new Dimension JavaDoc(20, 20));
343             browseAdditionalClass.setAction(new BrowseAction_AC());
344             addPathsInnerPanel.setLayout(new BoxLayout JavaDoc(addPathsInnerPanel, BoxLayout.X_AXIS));
345             addPathsInnerPanel.setBorder(setTitleOfBorder("Add new drivers", loweredBorder));
346             JLabel JavaDoc strAddPaths = OctopusProjectFrame.createOctopusLabel(ADDITIONAL_PATHS, smallComponent);
347             addPaths = OctopusProjectFrame.createOctopusTextField(ADDITIONAL_PATHS, veryBigPlusButton);
348             addPathsInnerPanel.add(strAddPaths);
349             addPathsInnerPanel.add(addPaths);
350             addPathsInnerPanel.add(browseAdditionalClass);
351
352             addPathsPanel.add(addPathsInnerPanel);
353             addPathsPanel.add(Box.createHorizontalGlue());
354
355             JPanel JavaDoc commonOptionsPanel = new JPanel JavaDoc();
356             JPanel JavaDoc commonOptionsMainPanel = new JPanel JavaDoc();
357             commonOptionsPanel.setLayout(new BoxLayout JavaDoc(commonOptionsPanel, BoxLayout.Y_AXIS));
358             commonOptionsMainPanel.setLayout(
359                 new BoxLayout JavaDoc(commonOptionsMainPanel, BoxLayout.X_AXIS));
360             commonOptionsPanel.add(mainValueModePanel);
361             commonOptionsPanel.add(generatorOutputPanel);
362             commonOptionsPanel.add(includeTableListPanel);
363             commonOptionsPanel.add(addPathsPanel);
364
365             commonOptionsMainPanel.add(commonOptionsPanel);
366             commonOptionsMainPanel.add(Box.createHorizontalGlue());
367
368             commonPanel.setLayout(new BoxLayout JavaDoc(commonPanel, BoxLayout.Y_AXIS));
369             commonPanel.add(JDBCMainPanel);
370             commonPanel.add(commonOptionsMainPanel);
371             commonPanel.add(Box.createVerticalGlue());
372
373             JPanel JavaDoc outputMode = new JPanel JavaDoc();
374             outputMode.setLayout(new BoxLayout JavaDoc(outputMode, BoxLayout.X_AXIS));
375             outputMode.setBorder(setTitleOfBorder("Output Mode", loweredBorder));
376             sqlFiles = new JCheckBox JavaDoc(GENERATE_SQL);
377             sqlFiles.setSelected(true);
378             xmlFiles = new JCheckBox JavaDoc(GENERATE_XML);
379             xmlFiles.setSelected(true);
380             domlFile = new JCheckBox JavaDoc(GENERATE_DOML);
381             outputMode.add(sqlFiles);
382             outputMode.add(xmlFiles);
383             outputMode.add(domlFile);
384
385             sqlFiles.addActionListener(new ActionListener JavaDoc() {
386                 public void actionPerformed(ActionEvent JavaDoc e) {
387                     if (sqlFiles.isSelected()) {
388                         createTables.setEnabled(true);
389                         createTables.setSelected(true);
390                         dropTables.setEnabled(true);
391                         dropTables.setSelected(true);
392                         createPK.setEnabled(true);
393                         createPK.setSelected(true);
394                         createFK.setEnabled(true);
395                         createFK.setSelected(true);
396                         dropFK.setEnabled(true);
397                         dropFK.setSelected(true);
398                         createIn.setEnabled(true);
399                         createIn.setSelected(true);
400                         createSQLForAll.setEnabled(true);
401                         createSQLForAll.setSelected(false);
402                     } else {
403                         createTables.setSelected(false);
404                         createTables.setEnabled(false);
405                         dropTables.setEnabled(false);
406                         dropTables.setSelected(false);
407                         createPK.setEnabled(false);
408                         createPK.setSelected(false);
409                         createFK.setEnabled(false);
410                         createFK.setSelected(false);
411                         dropFK.setEnabled(false);
412                         dropFK.setSelected(false);
413                         createIn.setEnabled(false);
414                         createIn.setSelected(false);
415                         createSQLForAll.setEnabled(false);
416                         createSQLForAll.setSelected(false);
417                     }
418                 }
419             });
420
421             xmlFiles.addActionListener(new ActionListener JavaDoc() {
422                 public void actionPerformed(ActionEvent JavaDoc e) {
423                     if (xmlFiles.isSelected()) {
424                         optimizedMode.setEnabled(true);
425                         optimizedMode.setSelected(false);
426                         fullMode.setEnabled(true);
427                         fullMode.setSelected(true);
428                     } else {
429                         optimizedMode.setEnabled(false);
430                         optimizedMode.setSelected(false);
431                         fullMode.setEnabled(false);
432                         fullMode.setSelected(false);
433                     }
434                 }
435             });
436
437             domlFile.addActionListener(new ActionListener JavaDoc() {
438                 public void actionPerformed(ActionEvent JavaDoc e) {
439                     if (domlFile.isSelected()) {
440                         packageField.setEditable(true);
441                         packageField.setText("");
442                     } else {
443                         packageField.setText("");
444                         packageField.setEditable(false);
445
446                     }
447                 }
448             });
449
450             JPanel JavaDoc mainOutputMode = new JPanel JavaDoc();
451             mainOutputMode.setLayout(new BoxLayout JavaDoc(mainOutputMode, BoxLayout.X_AXIS));
452             mainOutputMode.add(outputMode);
453             mainOutputMode.add(Box.createHorizontalGlue());
454
455             createTables = new JCheckBox JavaDoc(CREATE_TABLE);
456             createTables.setSelected(true);
457             createPK = new JCheckBox JavaDoc(CREATE_PRIMARY_KEYS);
458             createPK.setSelected(true);
459             createFK = new JCheckBox JavaDoc(CREATE_FOREIGN_KEYS);
460             createFK.setSelected(true);
461             createIn = new JCheckBox JavaDoc(CREATE_INDEXES);
462             createIn.setSelected(true);
463             dropTables = new JCheckBox JavaDoc(DROP_TABLE);
464             dropTables.setSelected(true);
465             dropFK = new JCheckBox JavaDoc(DROP_FOREIGN_KEYS);
466             dropFK.setSelected(true);
467             createSQLForAll = new JCheckBox JavaDoc(CREATE_SQL_FOR_ALL_VENDORS);
468
469             JPanel JavaDoc sqlOptionsPanel1 = new JPanel JavaDoc();
470             sqlOptionsPanel1.setLayout(new BoxLayout JavaDoc(sqlOptionsPanel1, BoxLayout.Y_AXIS));
471             sqlOptionsPanel1.add(dropTables);
472             sqlOptionsPanel1.add(createTables);
473             sqlOptionsPanel1.add(createPK);
474
475             JPanel JavaDoc sqlOptionsPanel2 = new JPanel JavaDoc();
476             sqlOptionsPanel2.setLayout(new BoxLayout JavaDoc(sqlOptionsPanel2, BoxLayout.Y_AXIS));
477             sqlOptionsPanel2.add(dropFK);
478             sqlOptionsPanel2.add(createFK);
479             sqlOptionsPanel2.add(createIn);
480
481             JPanel JavaDoc sqlOptionsPanel3 = new JPanel JavaDoc();
482             sqlOptionsPanel3.setLayout(new BoxLayout JavaDoc(sqlOptionsPanel3, BoxLayout.Y_AXIS));
483             sqlOptionsPanel3.add(createSQLForAll);
484
485             JPanel JavaDoc sqlOptionsPanel = new JPanel JavaDoc();
486             sqlOptionsPanel.setLayout(new BoxLayout JavaDoc(sqlOptionsPanel, BoxLayout.X_AXIS));
487             sqlOptionsPanel.setBorder(setTitleOfBorder("SQL Options", loweredBorder));
488             sqlOptionsPanel.add(sqlOptionsPanel1);
489             sqlOptionsPanel.add(sqlOptionsPanel2);
490             sqlOptionsPanel.add(sqlOptionsPanel3);
491
492             JPanel JavaDoc mainSqlOptionsPanel = new JPanel JavaDoc();
493             mainSqlOptionsPanel.setLayout(new BoxLayout JavaDoc(mainSqlOptionsPanel, BoxLayout.X_AXIS));
494             mainSqlOptionsPanel.add(sqlOptionsPanel);
495             mainSqlOptionsPanel.add(Box.createHorizontalGlue());
496
497             JPanel JavaDoc xmlOptionsPanel = new JPanel JavaDoc();
498             xmlOptionsPanel.setLayout(new BoxLayout JavaDoc(xmlOptionsPanel, BoxLayout.X_AXIS));
499             optimizedMode = new JRadioButton JavaDoc(OPTIMIZED_MODE);
500             fullMode = new JRadioButton JavaDoc(FULL_MODE);
501 // fullMode.setSelected(true);
502

503             optimizedMode.addActionListener(new ActionListener JavaDoc() {
504                 public void actionPerformed(ActionEvent JavaDoc e) {
505                     if (optimizedMode.isSelected()) {
506                         fullMode.setSelected(false);
507                     } else {
508                         fullMode.setSelected(true);
509                     }
510                 }
511             });
512
513             fullMode.addActionListener(new ActionListener JavaDoc() {
514                 public void actionPerformed(ActionEvent JavaDoc e) {
515                     if (fullMode.isSelected()) {
516                         optimizedMode.setSelected(false);
517                     } else {
518                         optimizedMode.setSelected(true);
519                     }
520                 }
521             });
522
523             xmlOptionsPanel.setBorder(setTitleOfBorder("XML Options", loweredBorder));
524             xmlOptionsPanel.add(optimizedMode);
525             xmlOptionsPanel.add(fullMode);
526
527             JPanel JavaDoc mainXmlOptionsPanel = new JPanel JavaDoc();
528             mainXmlOptionsPanel.setLayout(new BoxLayout JavaDoc(mainXmlOptionsPanel, BoxLayout.X_AXIS));
529             mainXmlOptionsPanel.add(xmlOptionsPanel);
530             mainXmlOptionsPanel.add(Box.createHorizontalGlue());
531
532             JPanel JavaDoc packagePanel = new JPanel JavaDoc();
533             packagePanel.setLayout(new BoxLayout JavaDoc(packagePanel, BoxLayout.X_AXIS));
534             packagePanel.setBorder(setTitleOfBorder("Package name for doml file", loweredBorder));
535             packageField = OctopusProjectFrame.createOctopusTextField(PACKAGE_NAME, veryBigComponent);
536             packageField.setEditable(false);
537             JLabel JavaDoc strPackageField = OctopusProjectFrame.createOctopusLabel(PACKAGE_NAME, smallComponent);
538             packagePanel.add(strPackageField);
539             packagePanel.add(packageField);
540
541             JPanel JavaDoc mainPackagePanel = new JPanel JavaDoc();
542             mainPackagePanel.setLayout(new BoxLayout JavaDoc(mainPackagePanel, BoxLayout.X_AXIS));
543             mainPackagePanel.add(packagePanel);
544             mainPackagePanel.add(Box.createHorizontalGlue());
545             
546             
547           &nbs