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.panel.initializer.querypart;
35
36 import java.util.ArrayList;
37 import java.util.List;
38
39 import org.apache.commons.collections.CollectionUtils;
40 import org.apache.commons.lang3.StringUtils;
41
42 import fr.paris.lutece.plugins.directory.modules.multiview.business.record.filter.RecordFilterQueryConstants;
43
44
45
46
47 public final class RecordPanelInitializerQueryBuilder
48 {
49
50
51
52 private RecordPanelInitializerQueryBuilder( )
53 {
54
55 }
56
57
58
59
60
61
62
63
64 public static List<String> buildPanelInitializerSelectQueryParts( List<IRecordPanelInitializerQueryPart> listRecordPanelInitializerQueryPart )
65 {
66 List<String> listPanelInitializerSelectQueryParts = new ArrayList<>( );
67
68 if ( !CollectionUtils.isEmpty( listRecordPanelInitializerQueryPart ) )
69 {
70 for ( IRecordPanelInitializerQueryPart recordPanelInitializerQueryPart : listRecordPanelInitializerQueryPart )
71 {
72 String strRecordPanelInitializerSelectQueryPart = recordPanelInitializerQueryPart.getRecordPanelInitializerSelectQuery( );
73 if ( StringUtils.isNotBlank( strRecordPanelInitializerSelectQueryPart ) )
74 {
75 listPanelInitializerSelectQueryParts.add( strRecordPanelInitializerSelectQueryPart );
76 }
77 }
78 }
79
80 return listPanelInitializerSelectQueryParts;
81 }
82
83
84
85
86
87
88
89
90 public static List<String> buildPanelInitializerFromQueryParts( List<IRecordPanelInitializerQueryPart> listRecordPanelInitializerQueryPart )
91 {
92 List<String> listPanelInitializerFromQueryParts = new ArrayList<>( );
93
94 if ( !CollectionUtils.isEmpty( listRecordPanelInitializerQueryPart ) )
95 {
96 for ( IRecordPanelInitializerQueryPart recordPanelInitializerQueryPart : listRecordPanelInitializerQueryPart )
97 {
98 String strRecordPanelInitializerFromQueryPart = recordPanelInitializerQueryPart.getRecordPanelInitializerFromQuery( );
99 if ( StringUtils.isNotBlank( strRecordPanelInitializerFromQueryPart ) )
100 {
101 listPanelInitializerFromQueryParts.add( strRecordPanelInitializerFromQueryPart );
102 }
103 }
104 }
105
106 return listPanelInitializerFromQueryParts;
107 }
108
109
110
111
112
113
114
115
116
117 public static void buildRecordPanelInitializerJoinQueryParts( StringBuilder stringBuilderJoinQueryPart,
118 List<IRecordPanelInitializerQueryPart> listRecordPanelInitializerQueryPart )
119 {
120 for ( IRecordPanelInitializerQueryPart recordPanelInitializerQueryPart : listRecordPanelInitializerQueryPart )
121 {
122 List<String> listRecordPanelInitializerJoinQueries = recordPanelInitializerQueryPart.getRecordPanelInitializerJoinQueries( );
123 if ( listRecordPanelInitializerJoinQueries != null && !listRecordPanelInitializerJoinQueries.isEmpty( ) )
124 {
125 for ( String strRecordPanelInitializerJoinQuery : listRecordPanelInitializerJoinQueries )
126 {
127 if ( StringUtils.isNotBlank( strRecordPanelInitializerJoinQuery ) )
128 {
129 stringBuilderJoinQueryPart.append( strRecordPanelInitializerJoinQuery );
130 stringBuilderJoinQueryPart.append( RecordFilterQueryConstants.SPACE_SEPARATOR );
131 }
132 }
133 }
134 }
135 }
136 }