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 }