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.directory.modules.gismap.web.rs;
35
36 import fr.paris.lutece.plugins.directory.modules.gismap.business.DirectoryGismapSourceQuery;
37 import fr.paris.lutece.plugins.directory.modules.gismap.business.RecordsResource;
38
39 import javax.ws.rs.Consumes;
40 import javax.ws.rs.GET;
41 import javax.ws.rs.POST;
42 import javax.ws.rs.Path;
43 import javax.ws.rs.Produces;
44 import javax.ws.rs.QueryParam;
45 import javax.ws.rs.core.MediaType;
46
47 import org.apache.commons.lang.StringUtils;
48
49
50 @Path( "/rest/directory-gismap/" )
51 public class RecordsResourceRest
52 {
53
54 @GET
55 @Path( "listRecord" )
56 @Produces({"application/javascript"})
57 public String getListRecordFieldGetMehod(
58 @QueryParam( "idGeolocationEntry" ) String strIdGeolocationEntry,
59 @QueryParam( "idDirectory" ) String strIdDirectory,
60 @QueryParam( "listIdRecord" ) String strListIdRecord,
61 @QueryParam( "geoJsonIndex" ) String strGeoJsonIndex,
62 @QueryParam( "callback" ) String strCallback
63 )
64 {
65 DirectoryGismapSourceQuery query = new DirectoryGismapSourceQuery( );
66 if (StringUtils.isNotEmpty( strIdGeolocationEntry ) )
67 {
68 Integer idGeolocationEntry = Integer.parseInt( strIdGeolocationEntry );
69 query.setIdGeolocationEntry( idGeolocationEntry );
70 }
71
72 if (StringUtils.isNotEmpty( strIdDirectory ) )
73 {
74 Integer idDirectory = Integer.parseInt( strIdDirectory );
75 query.setIdDirectory(idDirectory);
76 }
77 query.setListIdRecord(strListIdRecord);
78
79 if (StringUtils.isNotEmpty( strGeoJsonIndex ) )
80 {
81 Integer idDirectory = Integer.parseInt( strGeoJsonIndex );
82 query.setGeoJsonIndex( idDirectory );
83 }
84
85 String strResponse = RecordsResource.treatListRecordWS( query );
86
87 return strCallback + "(" + strResponse + ")";
88 }
89
90
91 @POST
92 @Path( "listRecord/post" )
93 @Produces({"application/javascript"})
94 @Consumes( MediaType.APPLICATION_JSON)
95 public String getListRecordFieldPostMethod( DirectoryGismapSourceQuery query, @QueryParam( "callback" ) String strCallback)
96 {
97 String strResponse = RecordsResource.treatListRecordWS( query );
98
99 return strCallback +"(" + strResponse + ");";
100 }
101
102 }