13
13
import net .sf .jsqlparser .statement .imprt .Import ;
14
14
import net .sf .jsqlparser .statement .piped .FromQuery ;
15
15
16
+ import java .util .ArrayList ;
17
+
16
18
@ SuppressWarnings ({"PMD.UncommentedEmptyMethodBody" })
17
19
public class FromItemVisitorAdapter <T > implements FromItemVisitor <T > {
18
20
19
21
@ Override
20
22
public <S > T visit (Table table , S context ) {
21
-
22
23
return null ;
23
24
}
24
25
25
26
@ Override
26
27
public <S > T visit (ParenthesedSelect select , S context ) {
27
-
28
- return null ;
28
+ return select .getPlainSelect ().getFromItem ().accept (this , context );
29
29
}
30
30
31
31
@ Override
32
32
public <S > T visit (LateralSubSelect lateralSubSelect , S context ) {
33
-
34
- return null ;
33
+ return lateralSubSelect .getPlainSelect ().getFromItem ().accept (this , context );
35
34
}
36
35
37
36
@ Override
@@ -42,31 +41,30 @@ public <S> T visit(TableFunction tableFunction, S context) {
42
41
43
42
@ Override
44
43
public <S > T visit (ParenthesedFromItem fromItem , S context ) {
45
-
46
- return null ;
44
+ return fromItem .getFromItem ().accept (this , context );
47
45
}
48
46
49
47
@ Override
50
48
public <S > T visit (Values values , S context ) {
51
-
52
49
return null ;
53
50
}
54
51
55
52
@ Override
56
53
public <S > T visit (PlainSelect plainSelect , S context ) {
57
-
58
- return null ;
54
+ return plainSelect .getFromItem ().accept (this , context );
59
55
}
60
56
61
57
@ Override
62
58
public <S > T visit (SetOperationList setOperationList , S context ) {
63
-
64
- return null ;
59
+ ArrayList <T > results = new ArrayList <>();
60
+ for (Select select : setOperationList .getSelects ()) {
61
+ results .add (select .accept (this , context ));
62
+ }
63
+ return results .isEmpty () ? null : results .get (0 );
65
64
}
66
65
67
66
@ Override
68
67
public <S > T visit (TableStatement tableStatement , S context ) {
69
-
70
68
return null ;
71
69
}
72
70
@@ -77,7 +75,6 @@ public <S> T visit(Import imprt, S context) {
77
75
}
78
76
79
77
public <S > T visit (FromQuery fromQuery , S context ) {
80
-
81
- return null ;
78
+ return fromQuery .getFromItem ().accept (this , context );
82
79
}
83
80
}
0 commit comments