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.blog.web.insertservice;
35
36 import java.util.ArrayList;
37 import java.util.List;
38
39 import javax.servlet.http.HttpServletRequest;
40
41 import org.apache.commons.collections4.CollectionUtils;
42
43 import fr.paris.lutece.plugins.blog.business.Blog;
44 import fr.paris.lutece.plugins.blog.business.insertservice.BlogLinkPOJO;
45 import fr.paris.lutece.plugins.blog.service.BlogService;
46 import fr.paris.lutece.plugins.blog.utils.BlogUtils;
47 import fr.paris.lutece.util.url.UrlItem;
48
49 public class BlogResourceInsertServiceJspBean extends AbstractBlogInsertServiceJspBean
50 {
51 private static final long serialVersionUID = 6107987688167050292L;
52
53
54 private static final String PARAMETER_SELECTED_DOCUMENT_ID = "selected_document_id";
55
56
57 private static final String DOCUMENT_RESOURCE_SERVLET_URL = "servlet/plugins/blogs/file";
58
59
60 private static final String CONSTANT_BLOG_RESOURCE_INSERT_SERVICE = "blog_resource_insert_service";
61 private static final String CONSTANT_ID_FILE = "id_file";
62
63
64
65
66 @Override
67 public String getInsertServiceSelectorUI( HttpServletRequest request )
68 {
69 setInsertServiceType( CONSTANT_BLOG_RESOURCE_INSERT_SERVICE );
70 return super.getInsertServiceSelectorUI( request );
71 }
72
73
74
75
76 @Override
77 public String doSearchBlogLink( HttpServletRequest request )
78 {
79 List<Integer> blogIdsList = getBlogIdsWithFilter( request );
80
81 List<Blog> blogResultList = new ArrayList<>( );
82
83 for ( Integer blogId : blogIdsList )
84 {
85 Blog blog = BlogService.getInstance( ).loadBlog( blogId );
86
87 if ( blog != null && CollectionUtils.isNotEmpty( blog.getDocContent( ) ) )
88 {
89 blogResultList.add( blog );
90 }
91 }
92 setBlogList( blogResultList );
93
94
95 return getInsertServiceSelectorUI( request );
96 }
97
98
99
100
101 @Override
102 public String doInsertBlogLink( HttpServletRequest request )
103 {
104 String strInput = request.getParameter( PARAMETER_INPUT );
105
106
107 BlogLinkPOJO blogLinkContent = getSelectedBlogData( request );
108
109
110 String strSelectedDocumentId = request.getParameter( PARAMETER_SELECTED_DOCUMENT_ID );
111 int documentId = Integer.parseInt( strSelectedDocumentId );
112
113
114 String strBlogLink = buildBlogResourceLink( documentId, blogLinkContent.getBlogLinkText( ), blogLinkContent.getBlogLinkTitle( ),
115 blogLinkContent.getBlogLinkTargetedWindow( ) );
116
117
118 return insertUrlWithoutEscape( request, strInput, strBlogLink );
119 }
120
121
122
123
124 @Override
125 protected BlogLinkPOJO getSelectedBlogData( HttpServletRequest request )
126 {
127
128 String blogLinkText = request.getParameter( PARAMETER_LINK_TEXT );
129
130
131 String blogLinkTitle = request.getParameter( PARAMETER_LINK_TITLE );
132
133
134 String targetedWindow = BlogUtils.CONSTANT_LINK_TARGET_NEW_WINDOW;
135
136 return new BlogLinkPOJO( blogLinkText, blogLinkTitle, targetedWindow, null );
137 }
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152 private String buildBlogResourceLink( int blogResourceId, String customlinkText, String customLinkTitle, String targetedWindow )
153 {
154
155 UrlItem url = new UrlItem( DOCUMENT_RESOURCE_SERVLET_URL );
156 url.addParameter( CONSTANT_ID_FILE, blogResourceId );
157
158 return BlogUtils.buildCustomBlogLink( url.getUrl( ), customlinkText, customLinkTitle, targetedWindow );
159 }
160
161
162
163
164 @Override
165 protected String buildBlogLink( Blog blog, String customlinkText, String customLinkTitle, String targetedWindow )
166 {
167 return null;
168 }
169 }