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.extend.modules.comment.service.extender;
35
36 import fr.paris.lutece.plugins.extend.business.extender.ResourceExtenderDTO;
37 import fr.paris.lutece.plugins.extend.modules.comment.business.config.CommentExtenderConfig;
38 import fr.paris.lutece.plugins.extend.modules.comment.service.CommentService;
39 import fr.paris.lutece.plugins.extend.modules.comment.service.ICommentService;
40 import fr.paris.lutece.plugins.extend.modules.comment.util.constants.CommentConstants;
41 import fr.paris.lutece.plugins.extend.service.extender.AbstractResourceExtender;
42 import fr.paris.lutece.plugins.extend.service.extender.config.IResourceExtenderConfigService;
43
44 import javax.inject.Inject;
45 import javax.inject.Named;
46 import javax.servlet.http.HttpServletRequest;
47
48 import org.apache.commons.lang3.StringUtils;
49
50
51
52
53
54
55 public class CommentResourceExtender extends AbstractResourceExtender
56 {
57
58 public static final String EXTENDER_TYPE_COMMENT = "comment";
59 private static final String EXTENDABLE_RESOURCE_TYPE_COMMENT = "comment";
60
61 @Inject
62 @Named( CommentConstants.BEAN_CONFIG_SERVICE )
63 private IResourceExtenderConfigService _configService;
64 @Inject
65 @Named( CommentService.BEAN_SERVICE )
66 private ICommentService _commentService;
67
68
69
70
71 @Override
72 public boolean isInvoked( String strExtenderType )
73 {
74 if ( StringUtils.isNotBlank( strExtenderType ) )
75 {
76 return getKey( ).equals( strExtenderType );
77 }
78
79 return false;
80 }
81
82
83
84
85 @Override
86 public String getContent( String strIdExtendableResource, String strExtendableResourceType, String strParameters, HttpServletRequest request )
87 {
88 if ( StringUtils.equals( EXTENDABLE_RESOURCE_TYPE_COMMENT, strExtendableResourceType ) )
89 {
90 return StringUtils.EMPTY;
91 }
92 return getResourceExtenderComponent( ).getPageAddOn( strIdExtendableResource, strExtendableResourceType, strParameters, request );
93 }
94
95
96
97
98 @Override
99 public void doCreateResourceAddOn( ResourceExtenderDTO extender )
100 {
101 CommentExtenderConfignd/modules/comment/business/config/CommentExtenderConfig.html#CommentExtenderConfig">CommentExtenderConfig config = new CommentExtenderConfig( );
102
103
104 CommentExtenderConfig defaultConfig = _configService.find( -1 );
105 if ( defaultConfig != null )
106 {
107 config = defaultConfig;
108 }
109 else
110 {
111 config.setModerated( false );
112 }
113 config.setIdExtender( extender.getIdExtender( ) );
114 _configService.create( config );
115 }
116
117
118
119
120 @Override
121 public void doDeleteResourceAddOn( ResourceExtenderDTO extender )
122 {
123 if ( extender.getIdExtender( ) > 0 )
124 {
125 _configService.remove( extender.getIdExtender( ) );
126 }
127 _commentService.removeByResource( extender.getIdExtendableResource( ), extender.getExtendableResourceType( ) );
128 }
129 }