1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 package fr.paris.lutece.plugins.directory.modules.multiview.business.record.column.querypart;
35
36 import java.util.ArrayList;
37 import java.util.List;
38
39 import org.apache.commons.lang3.StringUtils;
40
41 import fr.paris.lutece.plugins.directory.modules.multiview.business.record.filter.RecordFilterQueryConstants;
42
43
44
45
46 public final class RecordColumnQueryBuilder
47 {
48
49
50
51 private RecordColumnQueryBuilder( )
52 {
53
54 }
55
56
57
58
59
60
61
62
63 public static List<String> buildRecordColumnSelectQueryPart( List<IRecordColumnQueryPart> listRecordColumnQueryPart )
64 {
65 List<String> listSelectQueryParts = new ArrayList<>( );
66
67 if ( listRecordColumnQueryPart != null && !listRecordColumnQueryPart.isEmpty( ) )
68 {
69 for ( IRecordColumnQueryPart recordColumnQueryPart : listRecordColumnQueryPart )
70 {
71 String strRecordColumnSelectQueryPart = recordColumnQueryPart.getRecordColumnSelectQuery( );
72 if ( StringUtils.isNotBlank( strRecordColumnSelectQueryPart ) )
73 {
74 listSelectQueryParts.add( strRecordColumnSelectQueryPart );
75 }
76 }
77 }
78
79 return listSelectQueryParts;
80 }
81
82
83
84
85
86
87
88
89 public static List<String> buildRecordColumnFromQueryParts( List<IRecordColumnQueryPart> listRecordColumnQueryPart )
90 {
91 List<String> listRecordColumnFromQueryParts = new ArrayList<>( );
92
93 if ( listRecordColumnQueryPart != null && !listRecordColumnQueryPart.isEmpty( ) )
94 {
95 for ( IRecordColumnQueryPart recordColumnQueryPart : listRecordColumnQueryPart )
96 {
97 String strRecordColumnFromQuery = recordColumnQueryPart.getRecordColumnFromQuery( );
98 if ( StringUtils.isNotBlank( strRecordColumnFromQuery ) )
99 {
100 listRecordColumnFromQueryParts.add( strRecordColumnFromQuery );
101 }
102 }
103 }
104
105 return listRecordColumnFromQueryParts;
106 }
107
108
109
110
111
112
113
114
115
116 public static void buildRecordColumnJoinQueryParts( StringBuilder stringBuilderJoinQueryPart, List<IRecordColumnQueryPart> listRecordColumnQueryPart )
117 {
118 for ( IRecordColumnQueryPart recordColumnQueryPart : listRecordColumnQueryPart )
119 {
120 List<String> listRecordColumnJoinQueries = recordColumnQueryPart.getRecordColumnJoinQueries( );
121 if ( listRecordColumnJoinQueries != null && !listRecordColumnJoinQueries.isEmpty( ) )
122 {
123 for ( String strRecordColumnJoinQuery : listRecordColumnJoinQueries )
124 {
125 if ( StringUtils.isNotBlank( strRecordColumnJoinQuery ) )
126 {
127 stringBuilderJoinQueryPart.append( strRecordColumnJoinQuery );
128 stringBuilderJoinQueryPart.append( RecordFilterQueryConstants.SPACE_SEPARATOR );
129 }
130 }
131 }
132 }
133 }
134 }