Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 28f78a7

Browse filesBrowse files
Merge pull request #82 from PhilippSalvisberg/73_filter
#73 - Filter successful and disabled tests
2 parents c73fca4 + 4f27db1 commit 28f78a7
Copy full SHA for 28f78a7

File tree

6 files changed

+85
-1
lines changed
Filter options

6 files changed

+85
-1
lines changed

‎sqldev/src/main/java/org/utplsql/sqldev/model/preference/PreferenceModel.xtend

Copy file name to clipboardExpand all lines: sqldev/src/main/java/org/utplsql/sqldev/model/preference/PreferenceModel.xtend
+18Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,8 @@ class PreferenceModel extends HashStructureAdapter {
4646
static final String KEY_SHOW_INFO_COUNTER = "showInfoCounter"
4747
static final String KEY_SHOW_WARNING_INDICATOR = "showWarningIndicator"
4848
static final String KEY_SHOW_INFO_INDICATOR = "showInfoIndicator"
49+
static final String KEY_SHOW_SUCCESSFUL_TESTS = "showSuccessfulTests"
50+
static final String KEY_SHOW_DISABLED_TESTS = "showDisabledTests"
4951
static final String KEY_SHOW_TEST_DESCRIPTION = "showTestDescription"
5052
static final String KEY_SYNC_DETAIL_TAB = "syncDetailTab"
5153
static final String KEY_TEST_PACKAGE_PREFIX = "testPackagePrefix"
@@ -166,6 +168,22 @@ class PreferenceModel extends HashStructureAdapter {
166168
def setShowInfoIndicator(boolean showInfoIndicator) {
167169
getHashStructure.putBoolean(PreferenceModel.KEY_SHOW_INFO_INDICATOR, showInfoIndicator)
168170
}
171+
172+
def isShowSuccessfulTests() {
173+
return getHashStructure.getBoolean(PreferenceModel.KEY_SHOW_SUCCESSFUL_TESTS, true)
174+
}
175+
176+
def setShowSuccessfulTests(boolean showSuccessfulTests) {
177+
getHashStructure.putBoolean(PreferenceModel.KEY_SHOW_SUCCESSFUL_TESTS, showSuccessfulTests)
178+
}
179+
180+
def isShowDisabledTests() {
181+
return getHashStructure.getBoolean(PreferenceModel.KEY_SHOW_DISABLED_TESTS, true)
182+
}
183+
184+
def setShowDisabledTests(boolean showDisabledTests) {
185+
getHashStructure.putBoolean(PreferenceModel.KEY_SHOW_DISABLED_TESTS, showDisabledTests)
186+
}
169187

170188
def isShowTestDescription() {
171189
return getHashStructure.getBoolean(PreferenceModel.KEY_SHOW_TEST_DESCRIPTION, false)

‎sqldev/src/main/java/org/utplsql/sqldev/ui/preference/PreferencePanel.xtend

Copy file name to clipboardExpand all lines: sqldev/src/main/java/org/utplsql/sqldev/ui/preference/PreferencePanel.xtend
+12Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,8 @@ class PreferencePanel extends DefaultTraversablePanel {
5555
val JCheckBox showInfoCounterCheckBox = new JCheckBox
5656
val JCheckBox showWarningIndicatorCheckBox = new JCheckBox
5757
val JCheckBox showInfoIndicatorCheckBox = new JCheckBox
58+
val JCheckBox showSuccessfulTestsCheckBox = new JCheckBox
59+
val JCheckBox showDisabledTestsCheckBox = new JCheckBox
5860
val JCheckBox showTestDescriptionCheckBox = new JCheckBox
5961
val JCheckBox syncDetailTabCheckBox = new JCheckBox
6062
val JPanel generateTestPanel = new JPanel();
@@ -134,6 +136,12 @@ class PreferencePanel extends DefaultTraversablePanel {
134136
rrTab.add(
135137
runTab.field.label.withText(UtplsqlResources.getString("PREF_SHOW_INFO_INDICATOR_LABEL")).component(
136138
showInfoIndicatorCheckBox))
139+
rrTab.add(
140+
runTab.field.label.withText(UtplsqlResources.getString("PREF_SHOW_SUCCESSFUL_TESTS_LABEL")).component(
141+
showSuccessfulTestsCheckBox))
142+
rrTab.add(
143+
runTab.field.label.withText(UtplsqlResources.getString("PREF_SHOW_DISABLED_TESTS_LABEL")).component(
144+
showDisabledTestsCheckBox))
137145
rrTab.add(
138146
runTab.field.label.withText(UtplsqlResources.getString("PREF_SHOW_TEST_DESCRIPTION_LABEL")).component(
139147
showTestDescriptionCheckBox))
@@ -348,6 +356,8 @@ class PreferencePanel extends DefaultTraversablePanel {
348356
showInfoCounterCheckBox.selected = info.showInfoCounter
349357
showWarningIndicatorCheckBox.selected = info.showWarningIndicator
350358
showInfoIndicatorCheckBox.selected = info.showInfoIndicator
359+
showSuccessfulTestsCheckBox.selected = info.showSuccessfulTests
360+
showDisabledTestsCheckBox.selected = info.showDisabledTests
351361
showTestDescriptionCheckBox.selected = info.showTestDescription
352362
syncDetailTabCheckBox.selected = info.syncDetailTab
353363
testPackagePrefixTextField.text = info.testPackagePrefix
@@ -383,6 +393,8 @@ class PreferencePanel extends DefaultTraversablePanel {
383393
info.showInfoCounter = showInfoCounterCheckBox.selected
384394
info.showWarningIndicator = showWarningIndicatorCheckBox.selected
385395
info.showInfoIndicator = showInfoIndicatorCheckBox.selected
396+
info.showSuccessfulTests = showSuccessfulTestsCheckBox.selected
397+
info.showDisabledTests = showDisabledTestsCheckBox.selected
386398
info.showTestDescription = showTestDescriptionCheckBox.selected
387399
info.syncDetailTab = syncDetailTabCheckBox.selected
388400
info.testPackagePrefix = testPackagePrefixTextField.text

‎sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend

Copy file name to clipboardExpand all lines: sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend
+49-1Lines changed: 49 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ import javax.swing.JSplitPane
4545
import javax.swing.JTabbedPane
4646
import javax.swing.JTable
4747
import javax.swing.RepaintManager
48+
import javax.swing.RowFilter
4849
import javax.swing.SwingConstants
4950
import javax.swing.Timer
5051
import javax.swing.UIManager
@@ -55,6 +56,7 @@ import javax.swing.event.ListSelectionEvent
5556
import javax.swing.event.ListSelectionListener
5657
import javax.swing.plaf.basic.BasicProgressBarUI
5758
import javax.swing.table.DefaultTableCellRenderer
59+
import javax.swing.table.TableRowSorter
5860
import oracle.dbtools.raptor.controls.grid.DefaultDrillLink
5961
import oracle.dbtools.raptor.utils.Connections
6062
import oracle.ide.config.Preferences
@@ -105,6 +107,8 @@ class RunnerPanel implements ActionListener, MouseListener, HyperlinkListener {
105107
JCheckBoxMenuItem showTestDescriptionCheckBoxMenuItem
106108
JCheckBoxMenuItem showWarningIndicatorCheckBoxMenuItem
107109
JCheckBoxMenuItem showInfoIndicatorCheckBoxMenuItem
110+
JCheckBoxMenuItem showSuccessfulTestsCheckBoxMenuItem
111+
JCheckBoxMenuItem showDisabledTestsCheckBoxMenuItem
108112
JCheckBoxMenuItem syncDetailTabCheckBoxMenuItem
109113
RunnerTextField testOwnerTextField
110114
RunnerTextField testPackageTextField
@@ -220,6 +224,30 @@ class RunnerPanel implements ActionListener, MouseListener, HyperlinkListener {
220224
col.preferredWidth = 0
221225
}
222226
}
227+
228+
private def applyFilter(boolean showSuccessfulTests, boolean showDisabledTests) {
229+
val sorter = testOverviewTable.rowSorter as TableRowSorter<TestOverviewTableModel>
230+
val filter = new RowFilter<TestOverviewTableModel, Integer>() {
231+
override include(Entry<? extends TestOverviewTableModel, ? extends Integer> entry) {
232+
val test = entry.model.getTest(entry.identifier)
233+
val counter = test.counter
234+
if (counter !== null) {
235+
if (counter.success > 0) {
236+
if (!showSuccessfulTests) {
237+
return false
238+
}
239+
}
240+
if (counter.disabled > 0) {
241+
if (!showDisabledTests) {
242+
return false
243+
}
244+
}
245+
}
246+
return true
247+
}
248+
}
249+
sorter.rowFilter = filter
250+
}
223251

224252
private def openSelectedTest() {
225253
val rowIndex = testOverviewTable.selectedRow
@@ -338,6 +366,9 @@ class RunnerPanel implements ActionListener, MouseListener, HyperlinkListener {
338366
fixCheckBoxMenuItem(showWarningIndicatorCheckBoxMenuItem)
339367
showInfoIndicatorCheckBoxMenuItem.selected = preferences.showInfoIndicator
340368
applyShowInfoIndicator(showInfoIndicatorCheckBoxMenuItem.selected)
369+
showSuccessfulTestsCheckBoxMenuItem.selected = preferences.showSuccessfulTests
370+
showDisabledTestsCheckBoxMenuItem.selected = preferences.showDisabledTests
371+
applyFilter(showSuccessfulTestsCheckBoxMenuItem.selected, showDisabledTestsCheckBoxMenuItem.selected)
341372
fixCheckBoxMenuItem(showInfoIndicatorCheckBoxMenuItem)
342373
syncDetailTabCheckBoxMenuItem.selected = preferences.syncDetailTab
343374
fixCheckBoxMenuItem(syncDetailTabCheckBoxMenuItem)
@@ -380,10 +411,13 @@ class RunnerPanel implements ActionListener, MouseListener, HyperlinkListener {
380411
testOverviewTableModel.fireTableDataChanged
381412
} else {
382413
if (testOverviewTableModel.rowCount > row) {
383-
val positionOfCurrentTest = testOverviewTable.getCellRect(row, 0, true);
414+
val positionOfCurrentTest = testOverviewTable.getCellRect(testOverviewTable.convertRowIndexToView(row), 0, true);
384415
testOverviewTable.scrollRectToVisible = positionOfCurrentTest
385416
testOverviewTableModel.fireTableRowsUpdated(row, row)
386417
Thread.sleep(5) // reduce flickering
418+
if (!showSuccessfulTestsCheckBoxMenuItem.selected || !showDisabledTestsCheckBoxMenuItem.selected) {
419+
applyFilter(showSuccessfulTestsCheckBoxMenuItem.selected, showDisabledTestsCheckBoxMenuItem.selected)
420+
}
387421
testOverviewTable.scrollRectToVisible = positionOfCurrentTest
388422
}
389423
}
@@ -485,6 +519,12 @@ class RunnerPanel implements ActionListener, MouseListener, HyperlinkListener {
485519
} else if (e.source == showInfoCounterCheckBoxMenuItem) {
486520
applyShowInfoCounter(showInfoCounterCheckBoxMenuItem.selected)
487521
fixCheckBoxMenuItem(showInfoCounterCheckBoxMenuItem)
522+
} else if (e.source == showSuccessfulTestsCheckBoxMenuItem) {
523+
applyFilter(showSuccessfulTestsCheckBoxMenuItem.selected, showDisabledTestsCheckBoxMenuItem.selected)
524+
fixCheckBoxMenuItem(showSuccessfulTestsCheckBoxMenuItem)
525+
} else if (e.source == showDisabledTestsCheckBoxMenuItem) {
526+
applyFilter(showSuccessfulTestsCheckBoxMenuItem.selected, showDisabledTestsCheckBoxMenuItem.selected)
527+
fixCheckBoxMenuItem(showDisabledTestsCheckBoxMenuItem)
488528
} else if (e.source == showTestDescriptionCheckBoxMenuItem) {
489529
applyShowTestDescription(showTestDescriptionCheckBoxMenuItem.selected)
490530
fixCheckBoxMenuItem(showTestDescriptionCheckBoxMenuItem)
@@ -943,6 +983,13 @@ class RunnerPanel implements ActionListener, MouseListener, HyperlinkListener {
943983
testOverviewRunWorksheetMenuItem.addActionListener(this)
944984
testOverviewPopupMenu.add(testOverviewRunWorksheetMenuItem)
945985
testOverviewPopupMenu.add(new JSeparator)
986+
showSuccessfulTestsCheckBoxMenuItem = new JCheckBoxMenuItem(UtplsqlResources.getString("PREF_SHOW_SUCCESSFUL_TESTS_LABEL").replace("?",""), true)
987+
showSuccessfulTestsCheckBoxMenuItem.addActionListener(this)
988+
testOverviewPopupMenu.add(showSuccessfulTestsCheckBoxMenuItem)
989+
showDisabledTestsCheckBoxMenuItem = new JCheckBoxMenuItem(UtplsqlResources.getString("PREF_SHOW_DISABLED_TESTS_LABEL").replace("?",""), true)
990+
showDisabledTestsCheckBoxMenuItem.addActionListener(this)
991+
testOverviewPopupMenu.add(showDisabledTestsCheckBoxMenuItem)
992+
testOverviewPopupMenu.add(new JSeparator)
946993
showTestDescriptionCheckBoxMenuItem = new JCheckBoxMenuItem(UtplsqlResources.getString("PREF_SHOW_TEST_DESCRIPTION_LABEL").replace("?",""), true)
947994
showTestDescriptionCheckBoxMenuItem.addActionListener(this)
948995
testOverviewPopupMenu.add(showTestDescriptionCheckBoxMenuItem)
@@ -956,6 +1003,7 @@ class RunnerPanel implements ActionListener, MouseListener, HyperlinkListener {
9561003
syncDetailTabCheckBoxMenuItem.addActionListener(this)
9571004
testOverviewPopupMenu.add(syncDetailTabCheckBoxMenuItem)
9581005
testOverviewTable.componentPopupMenu = testOverviewPopupMenu
1006+
testOverviewTable.tableHeader.componentPopupMenu = testOverviewPopupMenu
9591007

9601008
// Test tabbed pane (Test Properties)
9611009
val testInfoPanel = new ScrollablePanel

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

Copy file name to clipboardExpand all lines: sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties
+2Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,8 @@ PREF_SHOW_WARNINGS_COUNTER_LABEL=Show warnings counter?
4141
PREF_SHOW_INFO_COUNTER_LABEL=Show info counter?
4242
PREF_SHOW_WARNING_INDICATOR_LABEL=Show warning indicator?
4343
PREF_SHOW_INFO_INDICATOR_LABEL=Show info indicator?
44+
PREF_SHOW_SUCCESSFUL_TESTS_LABEL=Show successful tests?
45+
PREF_SHOW_DISABLED_TESTS_LABEL=Show disabled tests?
4446
PREF_SHOW_TEST_DESCRIPTION_LABEL=Show description (if present)?
4547
PREF_SYNC_DETAIL_TAB_LABEL=Synchronize detail tab based on test status?
4648
PREF_TEST_PACKAGE_PREFIX_LABEL=Test package prefix

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

Copy file name to clipboardExpand all lines: sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources_de.properties
+2Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ PREF_SHOW_WARNINGS_COUNTER_LABEL=Warnungen-Z
1818
PREF_SHOW_INFO_COUNTER_LABEL=Info-Zähler anzeigen?
1919
PREF_SHOW_WARNING_INDICATOR_LABEL=Warnung-Indikator anzeigen?
2020
PREF_SHOW_INFO_INDICATOR_LABEL=Info-Indikator anzeigen?
21+
PREF_SHOW_SUCCESSFUL_TESTS_LABEL=Erfolgreiche Tests anzeigen?
22+
PREF_SHOW_DISABLED_TESTS_LABEL=Deaktivierte Tests anzeigen?
2123
PREF_SHOW_TEST_DESCRIPTION_LABEL=Beschreibung anzeigen (falls vorhanden)?
2224
PREF_SYNC_DETAIL_TAB_LABEL=Detailansicht basierend auf dem Teststatus synchronisieren?
2325
PREF_TEST_PACKAGE_PREFIX_LABEL=Test Package Präfix

‎sqldev/src/test/java/org/utplsql/sqldev/test/preference/PreferenceModelTest.xtend

Copy file name to clipboardExpand all lines: sqldev/src/test/java/org/utplsql/sqldev/test/preference/PreferenceModelTest.xtend
+2Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,8 @@ class PreferenceModelTest {
3737
Assert.assertFalse(model.showInfoCounter)
3838
Assert.assertFalse(model.showWarningIndicator)
3939
Assert.assertFalse(model.showInfoIndicator)
40+
Assert.assertTrue(model.showSuccessfulTests)
41+
Assert.assertTrue(model.showDisabledTests)
4042
Assert.assertFalse(model.isShowTestDescription)
4143
Assert.assertTrue(model.syncDetailTab)
4244
Assert.assertEquals("test_", model.testPackagePrefix)

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.