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.announce.business;
35
36 import java.util.List;
37
38 import fr.paris.lutece.plugins.announce.service.AnnounceCacheService;
39 import fr.paris.lutece.plugins.announce.service.AnnouncePlugin;
40 import fr.paris.lutece.plugins.genericattributes.business.Entry;
41 import fr.paris.lutece.plugins.genericattributes.business.EntryFilter;
42 import fr.paris.lutece.plugins.genericattributes.business.EntryHome;
43 import fr.paris.lutece.portal.service.plugin.Plugin;
44 import fr.paris.lutece.portal.service.plugin.PluginService;
45 import fr.paris.lutece.portal.service.spring.SpringContextService;
46 import fr.paris.lutece.portal.service.util.AppException;
47 import fr.paris.lutece.util.ReferenceList;
48
49
50
51
52 public final class CategoryHome
53 {
54
55 private static ICategoryDAO _dao = SpringContextService.getBean( "announce.categoryDAO" );
56 private static Plugin _plugin = PluginService.getPlugin( AnnouncePlugin.PLUGIN_NAME );
57
58
59 private CategoryHome( )
60 {
61 }
62
63
64
65
66
67
68
69 public static void create( Category category )
70 {
71 _dao.insert( category, _plugin );
72 }
73
74
75
76
77
78
79
80
81 public static Category../../../../../../fr/paris/lutece/plugins/announce/business/Category.html#Category">Category update( Category category )
82 {
83 _dao.store( category, _plugin );
84 AnnounceCacheService.getService( ).putInCache( AnnounceCacheService.getCategoryCacheKey( category.getId( ) ), category );
85
86 return category;
87 }
88
89
90
91
92
93
94
95 public static void remove( Category category )
96 {
97 List<Entry> listEntry;
98 EntryFilter filter = new EntryFilter( );
99 filter.setIdResource( category.getId( ) );
100 filter.setResourceType( Category.RESOURCE_TYPE );
101 filter.setFieldDependNull( EntryFilter.FILTER_TRUE );
102 filter.setEntryParentNull( EntryFilter.FILTER_TRUE );
103 listEntry = EntryHome.getEntryList( filter );
104
105 try
106 {
107
108 for ( Entry entry : listEntry )
109 {
110 EntryHome.remove( entry.getIdEntry( ) );
111 }
112
113 }
114 catch( Exception e )
115 {
116 throw new AppException( e.getMessage( ), e );
117 }
118
119 AnnounceSearchFilterHome.deleteByIdCategory( category.getId( ) );
120 _dao.delete( category, _plugin );
121 AnnounceCacheService.getService( ).removeKey( AnnounceCacheService.getCategoryCacheKey( category.getId( ) ) );
122 }
123
124
125
126
127
128
129
130
131
132
133
134
135 public static Category findByPrimaryKey( int nKey )
136 {
137 Category./../../../../fr/paris/lutece/plugins/announce/business/Category.html#Category">Category category = (Category) AnnounceCacheService.getService( ).getFromCache( AnnounceCacheService.getCategoryCacheKey( nKey ) );
138
139 if ( category == null )
140 {
141 category = _dao.load( nKey, _plugin );
142
143 if ( category != null )
144 {
145 AnnounceCacheService.getService( ).putInCache( AnnounceCacheService.getCategoryCacheKey( category.getId( ) ), category );
146 }
147 }
148
149 return category;
150 }
151
152
153
154
155
156
157 public static List<Category> findAll( )
158 {
159 return _dao.selectAll( _plugin );
160 }
161
162
163
164
165
166
167
168
169 public static List<Category> findCategoriesForSector( Sector sector )
170 {
171 return _dao.selectCategoriesForSector( sector, _plugin );
172 }
173
174
175
176
177
178
179 public static ReferenceList findCategoriesReferenceList( )
180 {
181 return _dao.selectCategoriesReferenceList( _plugin );
182 }
183
184
185
186
187
188
189
190
191 public static int countEntriesForCategory( Category category )
192 {
193 return _dao.countEntriesForCategory( category, _plugin );
194 }
195
196
197
198
199
200
201
202
203 public static int countPublishedAnnouncesForCategory( Category category )
204 {
205 return _dao.countPublishedAnnouncesForCategory( category, _plugin );
206 }
207
208
209
210
211
212
213
214
215
216
217 public static void copy( Category category )
218 {
219 List<Entry> listEntry;
220 EntryFilter filter = new EntryFilter( );
221 filter.setIdResource( category.getId( ) );
222 filter.setResourceType( Category.RESOURCE_TYPE );
223 filter.setFieldDependNull( EntryFilter.FILTER_TRUE );
224 filter.setEntryParentNull( EntryFilter.FILTER_TRUE );
225 listEntry = EntryHome.getEntryList( filter );
226
227 Categoryns/announce/business/Category.html#Category">Category cat = new Category( );
228 cat.setId( _dao.copyCategory( category, _plugin ) );
229
230 try
231 {
232
233 for ( Entry entry : listEntry )
234 {
235 entry = EntryHome.findByPrimaryKey( entry.getIdEntry( ) );
236 entry.setIdResource( cat.getId( ) );
237 entry.setResourceType( Category.RESOURCE_TYPE );
238 EntryHome.copy( entry );
239 }
240
241 }
242 catch( Exception e )
243 {
244 throw new AppException( e.getMessage( ), e );
245 }
246
247 }
248 }