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.service;
35
36 import fr.paris.lutece.plugins.extend.business.extender.ResourceExtenderDTO;
37 import fr.paris.lutece.plugins.extend.business.extender.ResourceExtenderDTOFilter;
38 import fr.paris.lutece.plugins.extend.service.extender.IResourceExtenderService;
39 import fr.paris.lutece.plugins.extend.service.extender.ResourceExtenderService;
40 import fr.paris.lutece.plugins.extend.service.extender.history.IResourceExtenderHistoryService;
41 import fr.paris.lutece.plugins.extend.service.extender.history.ResourceExtenderHistoryService;
42 import fr.paris.lutece.portal.service.resource.IExtendableResourceRemovalListener;
43 import fr.paris.lutece.portal.service.spring.SpringContextService;
44
45 import java.util.List;
46 import java.util.Map;
47
48
49
50
51 public class ExtendableResourceRemovalListener implements IExtendableResourceRemovalListener
52 {
53 private IResourceExtenderService _resourceExtenderService;
54 private IResourceExtenderHistoryService _resourceExtenderHistoryService;
55
56
57
58
59 @Override
60 public void doRemoveResourceExtentions( String strExtendableResourceType, String strIdExtendableResource )
61 {
62 IResourceExtenderService resourceExtenderService = getResourceExtenderService( );
63 IResourceExtenderHistoryService resourceExtenderHistoryService = getResourceExtenderHistoryService( );
64 ResourceExtenderDTOFilterxtender/ResourceExtenderDTOFilter.html#ResourceExtenderDTOFilter">ResourceExtenderDTOFilter filter = new ResourceExtenderDTOFilter( );
65 filter.setFilterExtendableResourceType( strExtendableResourceType );
66 filter.setFilterIdExtendableResource( strIdExtendableResource );
67
68
69 List<ResourceExtenderDTO> listResourceExtender = resourceExtenderService.findByFilter( filter );
70
71 if ( ( listResourceExtender != null ) && ( listResourceExtender.size( ) > 0 ) )
72 {
73 for ( ResourceExtenderDTO extender : listResourceExtender )
74 {
75 resourceExtenderService.doDeleteResourceAddOn( extender );
76 resourceExtenderService.remove( extender.getIdExtender( ) );
77 resourceExtenderHistoryService.removeByResource( extender.getExtenderType( ), strIdExtendableResource, strExtendableResourceType );
78 }
79 }
80
81 ResourceExtenderDTOss/extender/ResourceExtenderDTO.html#ResourceExtenderDTO">ResourceExtenderDTO extender = new ResourceExtenderDTO( );
82 extender.setExtendableResourceType( strExtendableResourceType );
83 extender.setIdExtendableResource( strIdExtendableResource );
84 extender.setIdExtender( 0 );
85
86
87 Map<String, Boolean> mapExtenderTypes = resourceExtenderService.getExtenderTypesInstalled( strIdExtendableResource, strExtendableResourceType,
88 ExtendPlugin.getPlugin( ) );
89
90 for ( String strExtenderType : mapExtenderTypes.keySet( ) )
91 {
92 extender.setExtenderType( strExtenderType );
93 resourceExtenderService.doDeleteResourceAddOn( extender );
94 resourceExtenderHistoryService.removeByResource( strExtenderType, strIdExtendableResource, strExtendableResourceType );
95 }
96 }
97
98
99
100
101
102
103 private IResourceExtenderService getResourceExtenderService( )
104 {
105 if ( _resourceExtenderService == null )
106 {
107 synchronized( this )
108 {
109
110 if ( _resourceExtenderService == null )
111 {
112 _resourceExtenderService = SpringContextService.getBean( ResourceExtenderService.BEAN_SERVICE );
113 }
114 }
115 }
116
117 return _resourceExtenderService;
118 }
119
120
121
122
123
124
125 private IResourceExtenderHistoryService getResourceExtenderHistoryService( )
126 {
127 if ( _resourceExtenderHistoryService == null )
128 {
129 synchronized( this )
130 {
131
132 if ( _resourceExtenderHistoryService == null )
133 {
134 _resourceExtenderHistoryService = SpringContextService.getBean( ResourceExtenderHistoryService.BEAN_SERVICE );
135 }
136 }
137 }
138
139 return _resourceExtenderHistoryService;
140 }
141 }