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