Skip to content

Commit 9c17467

Browse files
extended preferences for #10 and #11
1 parent fecb834 commit 9c17467

File tree

4 files changed

+90
-3
lines changed

4 files changed

+90
-3
lines changed

sqldev/src/main/java/org/utplsql/sqldev/PreferencePanel.xtend

Lines changed: 67 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,9 @@ import oracle.ide.panels.TraversalException
2727
import oracle.javatools.ui.layout.FieldLayoutBuilder
2828
import org.utplsql.sqldev.model.preference.PreferenceModel
2929
import org.utplsql.sqldev.resources.UtplsqlResources
30+
import javax.swing.JButton
31+
import java.awt.event.ActionEvent
32+
import java.awt.event.ActionListener
3033

3134
class PreferencePanel extends DefaultTraversablePanel {
3235
val JPanel runTestPanel = new JPanel();
@@ -43,12 +46,23 @@ class PreferencePanel extends DefaultTraversablePanel {
4346
val SpinnerNumberModel numberOfTestsPerUnitModel = new SpinnerNumberModel(1, 1, 10, 1);
4447
val JSpinner numberOfTestsPerUnitSpinner = new JSpinner(numberOfTestsPerUnitModel);
4548
val JCheckBox checkGenerateUtplsqlTestCheckBox = new JCheckBox
49+
val JCheckBox generateCommentsCheckBox = new JCheckBox
50+
val JCheckBox disableTestsCheckBox = new JCheckBox
51+
val JTextField suitePathTextField = new JTextField
52+
val SpinnerNumberModel indentSpacesModel = new SpinnerNumberModel(1, 1, 8, 1);
53+
val JSpinner indentSpacesSpinner = new JSpinner(indentSpacesModel);
54+
val JPanel oddgenPanel = new JPanel();
55+
val JTextField rootFolderInOddgenViewTextField = new JTextField
56+
val JCheckBox generateFilesCheckBox = new JCheckBox
57+
val JTextField outputDirectoryTextField = new JTextField
58+
val JButton outputDirectoryBrowse = new JButton();
4659

4760
new() {
4861
layoutControls()
4962
}
5063

5164
def private layoutControls() {
65+
// run test group
5266
runTestPanel.border = BorderFactory.createTitledBorder(UtplsqlResources.getString("MENU_RUN_TEST_LABEL"))
5367
val FieldLayoutBuilder b1 = new FieldLayoutBuilder(runTestPanel)
5468
b1.alignLabelsLeft = true
@@ -67,6 +81,7 @@ class PreferencePanel extends DefaultTraversablePanel {
6781
b1.add(
6882
b1.field.label.withText(UtplsqlResources.getString("PREF_CHECK_RUN_UTPLSQL_TEST_LABEL")).component(
6983
checkRunUtplsqlTestCheckBox))
84+
// generate test group
7085
generateTestPanel.border = BorderFactory.createTitledBorder(UtplsqlResources.getString("MENU_GENERATE_TEST_LABEL"))
7186
val FieldLayoutBuilder b2 = new FieldLayoutBuilder(generateTestPanel)
7287
b2.alignLabelsLeft = true
@@ -83,16 +98,53 @@ class PreferencePanel extends DefaultTraversablePanel {
8398
b2.field.label.withText(UtplsqlResources.getString("PREF_TEST_UNIT_SUFFIX_LABEL")).component(
8499
testUnitSuffixTextField))
85100
b2.add(
86-
b2.field.label.withText(UtplsqlResources.getString("PREF_NUMBER_OF_TESTS_PER_UNIT")).component(
101+
b2.field.label.withText(UtplsqlResources.getString("PREF_NUMBER_OF_TESTS_PER_UNIT_LABEL")).component(
87102
numberOfTestsPerUnitSpinner))
103+
b2.add(
104+
b2.field.label.withText(UtplsqlResources.getString("PREF_GENERATE_COMMENTS_LABEL")).component(
105+
generateCommentsCheckBox))
106+
b2.add(
107+
b2.field.label.withText(UtplsqlResources.getString("PREF_DISABLE_TESTS_LABEL")).component(
108+
disableTestsCheckBox))
109+
b2.add(
110+
b2.field.label.withText(UtplsqlResources.getString("PREF_SUITE_PATH_LABEL")).component(
111+
suitePathTextField))
112+
b2.add(
113+
b2.field.label.withText(UtplsqlResources.getString("PREF_INDENT_SPACES_LABEL")).component(
114+
indentSpacesSpinner))
88115
b2.add(
89116
b2.field.label.withText(UtplsqlResources.getString("PREF_CHECK_GENERATE_UTPLSQL_TEST_LABEL")).component(
90117
checkGenerateUtplsqlTestCheckBox))
118+
// oddgen group
119+
oddgenPanel.border = BorderFactory.createTitledBorder("oddgen")
120+
val FieldLayoutBuilder b3 = new FieldLayoutBuilder(oddgenPanel)
121+
b3.alignLabelsLeft = true
122+
b3.stretchComponentsWithNoButton = true
123+
b3.add(
124+
b3.field.label.withText(UtplsqlResources.getString("PREF_ROOT_FOLDER_IN_ODDGEN_VIEW_LABEL")).component(
125+
rootFolderInOddgenViewTextField))
126+
b3.add(
127+
b3.field.label.withText(UtplsqlResources.getString("PREF_GENERATE_FILES_LABEL")).component(
128+
generateFilesCheckBox))
129+
b3.add(
130+
b3.field.label.withText(UtplsqlResources.getString("PREF_OUTPUT_DIRECTORY_LABEL")).component(
131+
outputDirectoryTextField).button(outputDirectoryBrowse).withText("Bro&wse"))
132+
133+
// putting everything together
91134
val FieldLayoutBuilder builder = new FieldLayoutBuilder(this)
92135
builder.alignLabelsLeft = true
93136
builder.addVerticalField("", runTestPanel)
94137
builder.addVerticalField("", generateTestPanel)
138+
builder.addVerticalField("", oddgenPanel)
95139
builder.addVerticalSpring
140+
141+
// register action listener for directory chooser
142+
outputDirectoryBrowse.addActionListener(new ActionListener() {
143+
override actionPerformed(ActionEvent event) {
144+
DirectoryChooser.choose(null, UtplsqlResources.getString("PREF_OUTPUT_DIRECTORY_LABEL"),
145+
outputDirectoryTextField)
146+
}
147+
})
96148
}
97149

98150
override onEntry(TraversableContext traversableContext) {
@@ -108,6 +160,13 @@ class PreferencePanel extends DefaultTraversablePanel {
108160
testUnitSuffixTextField.text = info.testUnitSuffix
109161
numberOfTestsPerUnitSpinner.value = info.numberOfTestsPerUnit
110162
checkGenerateUtplsqlTestCheckBox.selected = info.checkGenerateUtplsqlTest
163+
generateCommentsCheckBox.selected = info.generateComments
164+
disableTestsCheckBox.selected = info.disableTests
165+
suitePathTextField.text = info.suitePath
166+
indentSpacesSpinner.value = info.indentSpaces
167+
rootFolderInOddgenViewTextField.text = info.rootFolderInOddgenView
168+
generateFilesCheckBox.selected = info.generateFiles
169+
outputDirectoryTextField.text = info.outputDirectory
111170
super.onEntry(traversableContext)
112171
}
113172

@@ -124,6 +183,13 @@ class PreferencePanel extends DefaultTraversablePanel {
124183
info.testUnitSuffix = testUnitSuffixTextField.text
125184
info.numberOfTestsPerUnit = numberOfTestsPerUnitSpinner.value as Integer
126185
info.checkGenerateUtplsqlTest = checkGenerateUtplsqlTestCheckBox.selected
186+
info.generateComments = generateCommentsCheckBox.selected
187+
info.disableTests = disableTestsCheckBox.selected
188+
info.suitePath = suitePathTextField.text
189+
info.indentSpaces = indentSpacesSpinner.value as Integer
190+
info.rootFolderInOddgenView = rootFolderInOddgenViewTextField.text
191+
info.generateFiles = generateFilesCheckBox.selected
192+
info.outputDirectory = outputDirectoryTextField.text
127193
super.onExit(traversableContext)
128194
}
129195

sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,15 @@ PREF_TEST_PACKAGE_PREFIX_LABEL=Test package prefix
1717
PREF_TEST_PACKAGE_SUFFIX_LABEL=Test package suffix
1818
PREF_TEST_UNIT_PREFIX_LABEL=Test unit prefix
1919
PREF_TEST_UNIT_SUFFIX_LABEL=Test unit suffix
20-
PREF_NUMBER_OF_TESTS_PER_UNIT=Number of tests to generate per unit
20+
PREF_NUMBER_OF_TESTS_PER_UNIT_LABEL=Number of tests to generate per unit
21+
PREF_GENERATE_COMMENTS_LABEL=Generate comments?
22+
PREF_DISABLE_TESTS_LABEL=Disable tests?
23+
PREF_SUITE_PATH_LABEL=Suite Path
24+
PREF_INDENT_SPACES_LABEL=Indent Spaces
2125
PREF_CHECK_GENERATE_UTPLSQL_TEST_LABEL=Check availability of "Generate utPLSQL test" menu option?
26+
PREF_ROOT_FOLDER_IN_ODDGEN_VIEW_LABEL=Root folder in Generators view
27+
PREF_GENERATE_FILES_LABEL=Generate files?
28+
PREF_OUTPUT_DIRECTORY_LABEL=Output directory
2229
MENU_RUN_TEST_LABEL=Run utPLSQL test
2330
MENU_GENERATE_TEST_LABEL=Generate utPLSQL test
2431
WORKSHEET_TITLE=utPLSQL

sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources_de.properties

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,15 @@ PREF_TEST_PACKAGE_PREFIX_LABEL=Test Package Pr
1111
PREF_TEST_PACKAGE_SUFFIX_LABEL=Test Package Suffix
1212
PREF_TEST_UNIT_PREFIX_LABEL=Test Unit Präfix
1313
PREF_TEST_UNIT_SUFFIX_LABEL=Test Unit Suffix
14-
PREF_NUMBER_OF_TESTS_PER_UNIT=Anzahl zu generierende Tests pro Unit
14+
PREF_NUMBER_OF_TESTS_PER_UNIT_LABEL=Anzahl zu generierende Tests pro Unit
15+
PREF_GENERATE_COMMENTS_LABEL=Kommentare generieren?
16+
PREF_DISABLE_TESTS_LABEL=Tests deaktivieren?
17+
PREF_SUITE_PATH_LABEL=Suite Path
18+
PREF_INDENT_SPACES_LABEL=Einrückungsleerzeichen
1519
PREF_CHECK_GENERATE_UTPLSQL_TEST_LABEL=Verfügbarkeit der Menüoption "utPLSQL Test generieren" prüfen?
20+
PREF_ROOT_FOLDER_IN_ODDGEN_VIEW_LABEL=Hauptverzeichnis in Generatoren Ansicht
21+
PREF_GENERATE_FILES_LABEL=Dateien generieren?
22+
PREF_OUTPUT_DIRECTORY_LABEL=Ausgabeverzeichnis
1623
MENU_RUN_TEST_LABEL=utPLSQL Test ausführen
1724
MENU_GENERATE_TEST_LABEL=utPLSQL Test generieren
1825
WORKSHEET_TITLE=utPLSQL

sqldev/src/test/java/org/utplsql/sqldev/tests/PreferenceModelTest.xtend

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,5 +34,12 @@ class PreferenceModelTest {
3434
Assert.assertEquals("", model.testUnitPrefix)
3535
Assert.assertEquals("", model.testUnitSuffix)
3636
Assert.assertFalse(model.checkGenerateUtplsqlTest)
37+
Assert.assertTrue(model.generateComments)
38+
Assert.assertFalse(model.disableTests)
39+
Assert.assertEquals("alltests", model.suitePath)
40+
Assert.assertEquals(3, model.indentSpaces)
41+
Assert.assertTrue(model.generateFiles)
42+
Assert.assertEquals(PreferenceModel.DEFAULT_OUTPUT_DIRECTORY, model.outputDirectory)
43+
Assert.assertEquals("utPLSQL", model.rootFolderInOddgenView)
3744
}
3845
}

0 commit comments

Comments
 (0)