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.insertmap.web;
35
36 import fr.paris.lutece.portal.service.admin.AdminUserService;
37 import fr.paris.lutece.portal.service.template.AppTemplateService;
38 import fr.paris.lutece.portal.service.util.AppPathService;
39 import fr.paris.lutece.portal.web.insert.InsertServiceJspBean;
40 import fr.paris.lutece.portal.web.insert.InsertServiceSelectionBean;
41 import fr.paris.lutece.util.html.HtmlTemplate;
42
43 import java.util.HashMap;
44 import java.util.Locale;
45 import java.util.Map;
46
47 import javax.servlet.http.HttpServletRequest;
48
49
50
51
52
53 public final class InsertMapJspBean extends InsertServiceJspBean implements InsertServiceSelectionBean
54 {
55 private static final long serialVersionUID = 8529163405839151344L;
56 private static final String TEMPLATE_SELECTOR_PAGE = "admin/plugins/insertmap/insertmap_selector.html";
57 private static final String PARAMETER_INPUT = "input";
58 private static final String BASE_URL = "baseUrl";
59 private static final String WIDTH = "width";
60 private static final String ZOOM = "zoom";
61 private static final String HEIDHT = "height";
62 private static final String ADDRESS = "address";
63 private static final String LAT = "lat";
64 private static final String LNG = "lng";
65 private static final int ROUND = 10000;
66 private String input;
67
68 private void init( HttpServletRequest request )
69 {
70 input = request.getParameter( PARAMETER_INPUT );
71 }
72
73
74
75
76
77
78
79 public String getInsertServiceSelectorUI( HttpServletRequest request )
80 {
81 init( request );
82
83 Map<String, Object> model = new HashMap<String, Object>( );
84 String strBaseUrl = AppPathService.getBaseUrl( request );
85 model.put( BASE_URL, strBaseUrl );
86 model.put( PARAMETER_INPUT, input );
87
88 Locale locale = AdminUserService.getLocale( request );
89 HtmlTemplate template = AppTemplateService.getTemplate( TEMPLATE_SELECTOR_PAGE, locale, model );
90
91 return template.getHtml( );
92 }
93
94 public String doInsertLink( HttpServletRequest request )
95 {
96 String strTemplateName = request.getParameter( "mapName" );
97
98 if ( strTemplateName == null )
99 {
100 strTemplateName = "osm";
101 }
102
103
104 String strInput = request.getParameter( PARAMETER_INPUT );
105
106 Map<String, Object> model = new HashMap<String, Object>( );
107 String strBaseUrl = AppPathService.getBaseUrl( request );
108 model.put( BASE_URL, strBaseUrl );
109 model.put( ADDRESS, request.getParameter( ADDRESS ) );
110 model.put( WIDTH, request.getParameter( WIDTH ) );
111 model.put( ZOOM, request.getParameter( ZOOM ) );
112 model.put( HEIDHT, request.getParameter( HEIDHT ) );
113 model.put( ADDRESS, request.getParameter( ADDRESS ) );
114
115 String strLat = request.getParameter( LAT );
116 float lat = (float) Math.round( Float.parseFloat( strLat ) * ROUND ) / ROUND;
117 strLat = Float.toString( lat ).replaceAll( ",", "." );
118 model.put( LAT, strLat );
119
120 String strLng = request.getParameter( LNG );
121 float lng = (float) Math.round( Float.parseFloat( strLng ) * ROUND ) / ROUND;
122 strLng = Float.toString( lng ).replaceAll( ",", "." );
123 model.put( LNG, strLng );
124
125 Locale locale = AdminUserService.getLocale( request );
126 String strTemplateAddress = "admin/plugins/insertmap/insertmap_" + strTemplateName + "_default.html";
127 HtmlTemplate template = AppTemplateService.getTemplate( strTemplateAddress, locale, model );
128
129 return insertUrlWithoutEscape( request, strInput, template.getHtml( ) );
130 }
131 }