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.ctv.service;
35
36 import static fr.paris.lutece.plugins.ctv.constants.CtvConstants.ETAPE_CHANTIER;
37 import static fr.paris.lutece.plugins.ctv.constants.CtvConstants.MAX_FILE_SIZE;
38 import static fr.paris.lutece.plugins.ctv.constants.CtvConstants.PARAMETER_ADD;
39 import static fr.paris.lutece.plugins.ctv.constants.CtvConstants.TYPES_CHANTIER_LISTE;
40
41 import java.util.Date;
42 import java.util.Map;
43
44 import javax.servlet.http.HttpServletRequest;
45
46 import org.apache.commons.beanutils.ConvertUtils;
47 import org.apache.commons.fileupload.FileItem;
48
49 import fr.paris.lutece.plugins.ctv.bo.ChantierOccupation;
50 import fr.paris.lutece.plugins.ctv.business.IChantierService;
51 import fr.paris.lutece.plugins.ctv.business.IReferentielsService;
52 import fr.paris.lutece.plugins.ctv.constant.Document;
53 import fr.paris.lutece.plugins.ctv.converter.CustomDateConverter;
54 import fr.paris.lutece.plugins.ctv.handler.CtvUploadDemandeDocumentHandler;
55 import fr.paris.lutece.plugins.gismap.business.AddressParam;
56 import fr.paris.lutece.plugins.gismap.business.AddressParamHome;
57 import fr.paris.lutece.portal.service.spring.SpringContextService;
58 import fr.paris.lutece.util.bean.BeanUtil;
59
60 public class ChantierControllerService implements IChantierControllerService
61 {
62
63 private static final CtvUploadDemandeDocumentHandler ctvDemandeUploadHandler = SpringContextService
64 .getBean( CtvUploadDemandeDocumentHandler.CTV_DEMANDE_UPLOAD_HANDLER );
65
66 private static final IChantierService chantierService = SpringContextService.getBean( "chantierService" );
67
68 private static final IFormulaire formulaireService = FormulaireDemandeOccupationServiceImpl.getInstance( );
69
70 private static final IChantierControllerService chantierControllerService = new ChantierControllerService( );
71
72 private static final IReferentielsService referentielsService = SpringContextService.getBean( "referentielsService" );
73
74 private ChantierControllerService( )
75 {
76 }
77
78 public static IChantierControllerService getInstance( )
79 {
80 return chantierControllerService;
81 }
82
83 @Override
84 public void initModel( Map<String, Object> model )
85 {
86 AddressParam addressParam = AddressParamHome.getAddressParameters( );
87 addressParam.setListType( "ADR" );
88 model.put( PARAMETER_ADD, addressParam );
89 model.put( CtvUploadDemandeDocumentHandler.CTV_DEMANDE_UPLOAD_HANDLER, ctvDemandeUploadHandler );
90 model.put( TYPES_CHANTIER_LISTE, referentielsService.getNatureTravauxOccupation( ) );
91 model.put( MAX_FILE_SIZE, ctvDemandeUploadHandler.getMaxFileSize( ) );
92 }
93
94 @Override
95 public void alimenterModel( HttpServletRequest request, Map<String, Object> model )
96 {
97 formulaireService.alimentationModel( request, model );
98 formulaireService.sauvegardeEtape( request, model, ETAPE_CHANTIER );
99 }
100
101 @Override
102 public void registerConverters( )
103 {
104 ConvertUtils.register( new CustomDateConverter( ), Date.class );
105 }
106
107 @Override
108 public void updateFromRequest( HttpServletRequest request )
109 {
110 ChantierOccupation chantier = new ChantierOccupation( );
111 BeanUtil.populate( chantier, request );
112 int numDemandeur = formulaireService.getNumDemande( request );
113 chantierService.updateChantier( numDemandeur, chantier );
114 ctvDemandeUploadHandler.storeFilesOnDisk( request, Document.JUSTIFICATIFS_URBANISME );
115 }
116
117 @Override
118 public FileItem getFileItemFromRequest( HttpServletRequest request )
119 {
120 return formulaireService.getFileItemFromRequest( request );
121 }
122
123 }