File tree Expand file tree Collapse file tree 3 files changed +50
-3
lines changed
main/java/org/utplsql/sqldev
test/java/org/utplsql/sqldev/test Expand file tree Collapse file tree 3 files changed +50
-3
lines changed Original file line number Diff line number Diff line change 15
15
*/
16
16
package org.utplsql.sqldev.model
17
17
18
+ import java.util.List
19
+
18
20
// converted to Xtend based on Java code on https://www.geeksforgeeks.org/longest-common-prefix-using-binary-search/
19
21
class PrefixTools {
20
22
def static int findMinLength (String [] arr , int n ) {
@@ -61,4 +63,22 @@ class PrefixTools {
61
63
}
62
64
return prefix
63
65
}
66
+
67
+ def static String commonPrefix (List<String > list ) {
68
+ if (list. size == = 0 ) {
69
+ return " "
70
+ } else if (list. size == = 1 ) {
71
+ val pos = list. get(0 ). lastIndexOf(" ." );
72
+ if (pos > 0 ) {
73
+ return list. get(0 ). substring(0 , pos + 1 )
74
+ } else {
75
+ return " "
76
+ }
77
+ } else {
78
+ var String [] testArray = newArrayOfSize(list. size)
79
+ var prefix = commonPrefix(list. toArray(testArray), list. size)
80
+ return prefix
81
+ }
82
+ }
83
+
64
84
}
Original file line number Diff line number Diff line change 18
18
import java.util.LinkedHashMap
19
19
import javax.swing.Icon
20
20
import javax.swing.table.DefaultTableModel
21
+ import org.utplsql.sqldev.model.PrefixTools
21
22
import org.utplsql.sqldev.model.runner.Test
22
23
import org.utplsql.sqldev.resources.UtplsqlResources
23
- import org.utplsql.sqldev.model.PrefixTools
24
24
25
25
class TestOverviewTableModel extends DefaultTableModel {
26
26
LinkedHashMap<String , Test > tests
@@ -61,8 +61,7 @@ class TestOverviewTableModel extends DefaultTableModel {
61
61
return null
62
62
}
63
63
if (commonPrefix == = null ) {
64
- var String [] testArray = newArrayOfSize(tests. keySet. size)
65
- commonPrefix = PrefixTools . commonPrefix(tests. keySet. toArray(testArray), tests. keySet. size)
64
+ commonPrefix = PrefixTools . commonPrefix(tests. keySet. toList)
66
65
}
67
66
switch (col) {
68
67
case 0 : {
Original file line number Diff line number Diff line change
1
+ package org.utplsql.sqldev.test
2
+
3
+ import org.junit.Assert
4
+ import org.junit.Test
5
+ import org.utplsql.sqldev.model.PrefixTools
6
+
7
+ class PrefixToolsTest {
8
+ @Test
9
+ def void two () {
10
+ val actual = PrefixTools . commonPrefix(#[" junit.test.a" , " junit.test.b" ])
11
+ val expected = " junit.test."
12
+ Assert . assertEquals(expected, actual)
13
+ }
14
+
15
+ @Test
16
+ def void oneWithDot () {
17
+ val actual = PrefixTools . commonPrefix(#[" junit.test.a" ])
18
+ val expected = " junit.test."
19
+ Assert . assertEquals(expected, actual)
20
+ }
21
+
22
+ @Test
23
+ def void oneWithoutDot () {
24
+ val actual = PrefixTools . commonPrefix(#[" junit-test-a" ])
25
+ val expected = " "
26
+ Assert . assertEquals(expected, actual)
27
+ }
28
+ }
You can’t perform that action at this time.
0 commit comments