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.participatorybudget.service;
35
36 import java.util.ArrayList;
37 import java.util.List;
38
39 import javax.inject.Inject;
40
41 import org.apache.commons.lang.StringUtils;
42
43 import fr.paris.lutece.plugins.document.business.Document;
44 import fr.paris.lutece.plugins.document.business.DocumentHome;
45 import fr.paris.lutece.plugins.extend.business.extender.history.ResourceExtenderHistory;
46 import fr.paris.lutece.plugins.extend.business.extender.history.ResourceExtenderHistoryFilter;
47 import fr.paris.lutece.plugins.extend.modules.favorite.service.extender.FavoriteResourceExtender;
48 import fr.paris.lutece.plugins.extend.modules.follow.service.extender.FollowResourceExtender;
49 import fr.paris.lutece.plugins.extend.modules.rating.service.RatingAddOnService;
50 import fr.paris.lutece.plugins.extend.service.extender.history.IResourceExtenderHistoryService;
51 import fr.paris.lutece.portal.service.security.LuteceUser;
52
53 public class MyFavouritesProjects
54 {
55
56 @Inject
57 private IResourceExtenderHistoryService _resourceExtenderHistoryService;
58
59 public static final String BEAN_NAME = "participatorybudget.myFavouritesProjects";
60
61 public List<Document> getFavouritesProjects( LuteceUser user )
62 {
63
64 List<ResourceExtenderHistory> listResourceHistory = getFavorisListResourceExtender( user );
65 List<Document> listProjects = new ArrayList<Document>( listResourceHistory.size( ) );
66
67 for ( ResourceExtenderHistory history : listResourceHistory )
68 {
69 if ( StringUtils.isNumeric( history.getIdExtendableResource( ) ) )
70 {
71 int nIdDocument = Integer.parseInt( history.getIdExtendableResource( ) );
72 Document document = DocumentHome.findByPrimaryKeyWithoutBinaries( nIdDocument );
73 listProjects.add( document );
74 }
75 }
76
77 return listProjects;
78 }
79
80 public List<ResourceExtenderHistory> getFavorisListResourceExtender( LuteceUser user )
81 {
82
83 List<ResourceExtenderHistory> listResourceHistory = new ArrayList<ResourceExtenderHistory>( );
84 ResourceExtenderHistoryFilter filter = new ResourceExtenderHistoryFilter( );
85 filter.setExtenderType( FavoriteResourceExtender.RESOURCE_EXTENDER );
86 filter.setExtendableResourceType( RatingAddOnService.PROPERTY_RESOURCE_TYPE );
87 filter.setUserGuid( user.getName( ) );
88
89 listResourceHistory = _resourceExtenderHistoryService.findByFilter( filter );
90
91 return listResourceHistory;
92 }
93
94 public List<Document> getFollowersProjects( LuteceUser user )
95 {
96
97 List<ResourceExtenderHistory> listResourceHistory = getFollowerListResourceExtender( user );
98 List<Document> listProjects = new ArrayList<Document>( listResourceHistory.size( ) );
99
100 for ( ResourceExtenderHistory history : listResourceHistory )
101 {
102 if ( StringUtils.isNumeric( history.getIdExtendableResource( ) ) )
103 {
104 int nIdDocument = Integer.parseInt( history.getIdExtendableResource( ) );
105 Document document = DocumentHome.findByPrimaryKeyWithoutBinaries( nIdDocument );
106 listProjects.add( document );
107 }
108 }
109
110 return listProjects;
111 }
112
113 public List<ResourceExtenderHistory> getFollowerListResourceExtender( LuteceUser user )
114 {
115
116 List<ResourceExtenderHistory> listResourceHistory = new ArrayList<ResourceExtenderHistory>( );
117 ResourceExtenderHistoryFilter filter = new ResourceExtenderHistoryFilter( );
118 filter.setExtenderType( FollowResourceExtender.RESOURCE_EXTENDER );
119 filter.setExtendableResourceType( RatingAddOnService.PROPERTY_RESOURCE_TYPE );
120 filter.setUserGuid( user.getName( ) );
121
122 listResourceHistory = _resourceExtenderHistoryService.findByFilter( filter );
123
124 return listResourceHistory;
125 }
126
127 }