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.suggest.service;
35
36 import fr.paris.lutece.plugins.suggest.business.CommentSubmit;
37 import fr.paris.lutece.plugins.suggest.business.CommentSubmitHome;
38 import fr.paris.lutece.plugins.suggest.business.SubmitFilter;
39 import fr.paris.lutece.plugins.suggest.utils.SuggestUtils;
40 import fr.paris.lutece.portal.service.plugin.Plugin;
41 import fr.paris.lutece.portal.service.spring.SpringContextService;
42
43 import java.util.List;
44
45 public class CommentSubmitService implements ICommentSubmitService
46 {
47 public static final String BEAN_SERVICE = "suggest.commentSubmitService";
48 private static ICommentSubmitService _singleton;
49
50
51
52
53 @Override
54 public void create( CommentSubmit commentSubmit, Plugin plugin )
55 {
56 commentSubmit.setDateModify( commentSubmit.getDateComment( ) );
57 CommentSubmitHome.create( commentSubmit, plugin );
58
59 if ( commentSubmit.getIdParent( ) != SuggestUtils.CONSTANT_ID_NULL )
60 {
61
62 CommentSubmitHome.updateDateModify( commentSubmit.getDateComment( ), commentSubmit.getIdParent( ), plugin );
63 }
64 }
65
66
67
68
69 @Override
70 public void update( CommentSubmit commentSubmit, Plugin plugin )
71 {
72 CommentSubmitHome.update( commentSubmit, plugin );
73 }
74
75
76
77
78 @Override
79 public void remove( int nIdCommentSubmit, Plugin plugin )
80 {
81
82 CommentSubmitHome.removeByIdParent( nIdCommentSubmit, plugin );
83
84 CommentSubmitHome.remove( nIdCommentSubmit, plugin );
85 }
86
87
88
89
90
91
92
93 @Override
94 public CommentSubmit findByPrimaryKey( int nKey, Plugin plugin )
95 {
96 return CommentSubmitHome.findByPrimaryKey( nKey, plugin );
97 }
98
99
100
101
102 @Override
103 public List<CommentSubmit> getCommentSubmitList( SubmitFilter filter, Plugin plugin )
104 {
105 if ( !filter.containsSortBy( ) )
106 {
107
108 SuggestUtils.initCommentFilterBySort( filter, SuggestUtils.CONSTANT_ID_NULL );
109 }
110
111
112 filter.setIdParent( SubmitFilter.ID_PARENT_NULL );
113
114 List<CommentSubmit> commentSubmitList = CommentSubmitHome.getCommentSubmitList( filter, null, plugin );
115
116 if ( commentSubmitList != null )
117 {
118 SubmitFilter subCommentFilter;
119
120 for ( CommentSubmit c : commentSubmitList )
121 {
122 subCommentFilter = new SubmitFilter( );
123
124 subCommentFilter.setIdParent( c.getIdCommentSubmit( ) );
125 subCommentFilter.setIdCommentSubmitState( filter.getIdCommentSubmitState( ) );
126 subCommentFilter.getSortBy( ).add( SubmitFilter.SORT_BY_DATE_RESPONSE_DESC );
127 c.setComments( CommentSubmitHome.getCommentSubmitList( subCommentFilter, null, plugin ) );
128 }
129 }
130
131 filter.setIdParent( SuggestUtils.CONSTANT_ID_NULL );
132
133 return commentSubmitList;
134 }
135
136
137
138
139 @Override
140 public List<CommentSubmit> getCommentSubmitList( SubmitFilter filter, Integer nLimitParentNumber, Plugin plugin )
141 {
142 if ( ( nLimitParentNumber == null ) || ( nLimitParentNumber == SuggestUtils.CONSTANT_ID_NULL ) )
143 {
144
145 return getCommentSubmitList( filter, plugin );
146 }
147
148 if ( !filter.containsSortBy( ) )
149 {
150
151 SuggestUtils.initCommentFilterBySort( filter, SuggestUtils.CONSTANT_ID_NULL );
152 }
153
154
155 filter.setIdParent( SubmitFilter.ID_PARENT_NULL );
156
157 return CommentSubmitHome.getCommentSubmitList( filter, nLimitParentNumber, plugin );
158 }
159
160
161
162
163 @Override
164 public int getCountCommentSubmit( SubmitFilter filter, Plugin plugin )
165 {
166 return CommentSubmitHome.getCountCommentSubmit( filter, plugin );
167 }
168
169
170
171
172
173
174 public static ICommentSubmitService getService( )
175 {
176 if ( _singleton == null )
177 {
178 _singleton = SpringContextService.getBean( BEAN_SERVICE );
179 }
180
181 return _singleton;
182 }
183 }