Skip to content

Commit a9ed4c2

Browse files
authored
tweak default swagger filter parameters (#116)
* update changelog for this branch * tweak swagger default parameters * slightly reduce size of default swagger bounding box
1 parent 07dd416 commit a9ed4c2

File tree

7 files changed

+59
-10
lines changed

7 files changed

+59
-10
lines changed

CHANGELOG.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,20 @@ Changelog
55

66
### Bug Fixes
77

8-
* update all tests using the filter parameter instead of deprecated types, keys, values ([#98])
98
* fix some invalid filters in the default swagger examples ([#111])
109

1110
### Performance and Code Quality
1211

1312
* improve performance of ratio requests ([#114])
1413

14+
### Other Changes
15+
16+
* update all tests using the filter parameter instead of deprecated types, keys, values ([#98])
17+
* update some default parameter values in swagger UI to slightly more sensible examples ([#113])
18+
1519
[#98]: https://github.com/GIScience/ohsome-api/issues/98
1620
[#111]: https://github.com/GIScience/ohsome-api/issues/111
21+
[#113]: https://github.com/GIScience/ohsome-api/issues/113
1722
[#114]: https://github.com/GIScience/ohsome-api/pull/114
1823

1924

src/main/lombok/org/heigit/ohsome/ohsomeapi/config/SwaggerConfig.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -201,7 +201,7 @@ private List<Parameter> defineGlobalOperationParams(boolean isDataExtraction,
201201
globalOperationParams
202202
.add(new ParameterBuilder().name("filter").description(ParameterDescriptions.FILTER)
203203
.modelRef(new ModelRef(string)).parameterType(query)
204-
.defaultValue(DefaultSwaggerParameters.TYPE_FILTER).required(false).build());
204+
.defaultValue(DefaultSwaggerParameters.GENERIC_FILTER).required(false).build());
205205
globalOperationParams.add(new ParameterBuilder().name("timeout")
206206
.description(ParameterDescriptions.TIMEOUT).modelRef(new ModelRef(string))
207207
.parameterType(query).defaultValue("").required(false).build());

src/main/lombok/org/heigit/ohsome/ohsomeapi/controller/DefaultSwaggerParameters.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,14 @@
33
/** Holds the default values for the parameters to run test-requests in Swagger. */
44
public class DefaultSwaggerParameters {
55

6-
public static final String BBOX = "8.625,49.3711,8.7334,49.4397";
6+
public static final String BBOX = "8.67,49.39,8.71,49.42";
77
public static final String HIGHWAY_KEY = "highway";
88
public static final String BUILDING_KEY = "building";
9-
public static final String TYPE_FILTER = "type:way";
10-
public static final String HIGHWAY_FILTER = "highway=residential";
11-
public static final String BUILDING_FILTER = "building=*";
9+
public static final String GENERIC_FILTER = "type:way and natural=*";
10+
public static final String HIGHWAY_FILTER = "type:way and highway=residential";
11+
public static final String HIGHWAY_FILTER2 = "type:way and highway=*";
12+
public static final String BUILDING_FILTER = "geometry:polygon and building=*";
13+
public static final String BUILDING_FILTER2 = "geometry:polygon and building=house";
1214
public static final String HOUSENUMBER_FILTER = "type:node and \"addr:housenumber\"=*";
1315
public static final String TIME = "2014-01-01/2017-01-01/P1Y";
1416

src/main/lombok/org/heigit/ohsome/ohsomeapi/controller/dataaggregation/AreaController.java

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,9 @@ public Response area(HttpServletRequest servletRequest, HttpServletResponse serv
6262
*/
6363
@ApiOperation(value = "Area of OSM elements grouped by the type", nickname = "areaGroupByType",
6464
response = GroupByResponse.class)
65+
@ApiImplicitParam(name = "filter", value = ParameterDescriptions.FILTER,
66+
defaultValue = DefaultSwaggerParameters.BUILDING_FILTER, paramType = "query",
67+
dataType = "string", required = false)
6568
@RequestMapping(value = "/groupBy/type", method = {RequestMethod.GET, RequestMethod.POST},
6669
produces = {"application/json", "text/csv"})
6770
public Response areaGroupByType(HttpServletRequest servletRequest,
@@ -203,6 +206,9 @@ public Response areaDensity(HttpServletRequest servletRequest,
203206
*/
204207
@ApiOperation(value = "Density of OSM elements grouped by the type",
205208
nickname = "areaDensityGroupByType", response = GroupByResponse.class)
209+
@ApiImplicitParam(name = "filter", value = ParameterDescriptions.FILTER,
210+
defaultValue = DefaultSwaggerParameters.BUILDING_FILTER, paramType = "query",
211+
dataType = "string", required = false)
206212
@RequestMapping(value = "/density/groupBy/type", method = {RequestMethod.GET, RequestMethod.POST},
207213
produces = {"application/json", "text/csv"})
208214
public Response areaDensityGroupByType(HttpServletRequest servletRequest,
@@ -307,8 +313,11 @@ public Response areaDensityGroupByTag(HttpServletRequest servletRequest,
307313
defaultValue = "", paramType = "query", dataType = "string", required = false),
308314
@ApiImplicitParam(name = "values2", value = ParameterDescriptions.DEPRECATED_USE_FILTER2,
309315
defaultValue = "", paramType = "query", dataType = "string", required = false),
316+
@ApiImplicitParam(name = "filter", value = ParameterDescriptions.FILTER,
317+
defaultValue = DefaultSwaggerParameters.BUILDING_FILTER, paramType = "query",
318+
dataType = "string", required = false),
310319
@ApiImplicitParam(name = "filter2", value = ParameterDescriptions.FILTER,
311-
defaultValue = "type:relation and " + DefaultSwaggerParameters.BUILDING_FILTER,
320+
defaultValue = DefaultSwaggerParameters.BUILDING_FILTER2,
312321
paramType = "query", dataType = "string", required = false)})
313322
@RequestMapping(value = "/ratio", method = {RequestMethod.GET, RequestMethod.POST},
314323
produces = {"application/json", "text/csv"})
@@ -338,8 +347,11 @@ public Response areaRatio(HttpServletRequest servletRequest, HttpServletResponse
338347
defaultValue = "", paramType = "query", dataType = "string", required = false),
339348
@ApiImplicitParam(name = "values2", value = ParameterDescriptions.DEPRECATED_USE_FILTER2,
340349
defaultValue = "", paramType = "query", dataType = "string", required = false),
341-
@ApiImplicitParam(name = "filter2", value = ParameterDescriptions.FILTER,
350+
@ApiImplicitParam(name = "filter", value = ParameterDescriptions.FILTER,
342351
defaultValue = DefaultSwaggerParameters.BUILDING_FILTER, paramType = "query",
352+
dataType = "string", required = false),
353+
@ApiImplicitParam(name = "filter2", value = ParameterDescriptions.FILTER,
354+
defaultValue = DefaultSwaggerParameters.BUILDING_FILTER2, paramType = "query",
343355
dataType = "string", required = false)})
344356
@RequestMapping(value = "/ratio/groupBy/boundary",
345357
method = {RequestMethod.GET, RequestMethod.POST}, produces = {"application/json", "text/csv"})

src/main/lombok/org/heigit/ohsome/ohsomeapi/controller/dataaggregation/CountController.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,9 @@ public Response count(HttpServletRequest servletRequest, HttpServletResponse ser
6262
*/
6363
@ApiOperation(value = "Count of OSM elements grouped by the type", nickname = "countGroupByType",
6464
response = GroupByResponse.class)
65+
@ApiImplicitParam(name = "filter", value = ParameterDescriptions.FILTER,
66+
defaultValue = DefaultSwaggerParameters.BUILDING_FILTER, paramType = "query",
67+
dataType = "string", required = false)
6568
@RequestMapping(value = "/groupBy/type", method = {RequestMethod.GET, RequestMethod.POST},
6669
produces = {"application/json", "text/csv"})
6770
public Response countGroupByType(HttpServletRequest servletRequest,
@@ -203,6 +206,9 @@ public Response countDensity(HttpServletRequest servletRequest,
203206
*/
204207
@ApiOperation(value = "Density of OSM elements grouped by the type",
205208
nickname = "countDensityGroupByType", response = GroupByResponse.class)
209+
@ApiImplicitParam(name = "filter", value = ParameterDescriptions.FILTER,
210+
defaultValue = DefaultSwaggerParameters.BUILDING_FILTER, paramType = "query",
211+
dataType = "string", required = false)
206212
@RequestMapping(value = "density/groupBy/type", method = {RequestMethod.GET, RequestMethod.POST},
207213
produces = {"application/json", "text/csv"})
208214
public Response countDensityGroupByType(HttpServletRequest servletRequest,
@@ -306,6 +312,9 @@ public Response countDensityGroupByTag(HttpServletRequest servletRequest,
306312
defaultValue = "", paramType = "query", dataType = "string", required = false),
307313
@ApiImplicitParam(name = "values2", value = ParameterDescriptions.DEPRECATED_USE_FILTER2,
308314
defaultValue = "", paramType = "query", dataType = "string", required = false),
315+
@ApiImplicitParam(name = "filter", value = ParameterDescriptions.FILTER,
316+
defaultValue = DefaultSwaggerParameters.BUILDING_FILTER, paramType = "query",
317+
dataType = "string", required = false),
309318
@ApiImplicitParam(name = "filter2", value = ParameterDescriptions.FILTER,
310319
defaultValue = DefaultSwaggerParameters.HOUSENUMBER_FILTER, paramType = "query",
311320
dataType = "string", required = false)})
@@ -337,6 +346,9 @@ public Response countRatio(HttpServletRequest servletRequest, HttpServletRespons
337346
defaultValue = "", paramType = "query", dataType = "string", required = false),
338347
@ApiImplicitParam(name = "values2", value = ParameterDescriptions.DEPRECATED_USE_FILTER2,
339348
defaultValue = "", paramType = "query", dataType = "string", required = false),
349+
@ApiImplicitParam(name = "filter", value = ParameterDescriptions.FILTER,
350+
defaultValue = DefaultSwaggerParameters.BUILDING_FILTER, paramType = "query",
351+
dataType = "string", required = false),
340352
@ApiImplicitParam(name = "filter2", value = ParameterDescriptions.FILTER,
341353
defaultValue = DefaultSwaggerParameters.HOUSENUMBER_FILTER, paramType = "query",
342354
dataType = "string", required = false)})

src/main/lombok/org/heigit/ohsome/ohsomeapi/controller/dataaggregation/LengthController.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -305,6 +305,9 @@ public Response lengthDensityGroupByTag(HttpServletRequest servletRequest,
305305
defaultValue = "", paramType = "query", dataType = "string", required = false),
306306
@ApiImplicitParam(name = "values2", value = ParameterDescriptions.DEPRECATED_USE_FILTER2,
307307
defaultValue = "", paramType = "query", dataType = "string", required = false),
308+
@ApiImplicitParam(name = "filter", value = ParameterDescriptions.FILTER,
309+
defaultValue = DefaultSwaggerParameters.HIGHWAY_FILTER2, paramType = "query",
310+
dataType = "string", required = false),
308311
@ApiImplicitParam(name = "filter2", value = ParameterDescriptions.FILTER,
309312
defaultValue = DefaultSwaggerParameters.HIGHWAY_FILTER, paramType = "query",
310313
dataType = "string", required = false)})
@@ -336,6 +339,9 @@ public Response lengthRatio(HttpServletRequest servletRequest,
336339
defaultValue = "", paramType = "query", dataType = "string", required = false),
337340
@ApiImplicitParam(name = "values2", value = ParameterDescriptions.DEPRECATED_USE_FILTER2,
338341
defaultValue = "", paramType = "query", dataType = "string", required = false),
342+
@ApiImplicitParam(name = "filter", value = ParameterDescriptions.FILTER,
343+
defaultValue = DefaultSwaggerParameters.HIGHWAY_FILTER2, paramType = "query",
344+
dataType = "string", required = false),
339345
@ApiImplicitParam(name = "filter2", value = ParameterDescriptions.FILTER,
340346
defaultValue = DefaultSwaggerParameters.HIGHWAY_FILTER, paramType = "query",
341347
dataType = "string", required = false)})

src/main/lombok/org/heigit/ohsome/ohsomeapi/controller/dataaggregation/PerimeterController.java

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,9 @@ public Response perimeter(HttpServletRequest servletRequest, HttpServletResponse
6262
*/
6363
@ApiOperation(value = "Perimeter of OSM elements grouped by the type",
6464
nickname = "perimeterGroupByType", response = GroupByResponse.class)
65+
@ApiImplicitParam(name = "filter", value = ParameterDescriptions.FILTER,
66+
defaultValue = DefaultSwaggerParameters.BUILDING_FILTER, paramType = "query",
67+
dataType = "string", required = false)
6568
@RequestMapping(value = "/groupBy/type", method = {RequestMethod.GET, RequestMethod.POST},
6669
produces = {"application/json", "text/csv"})
6770
public Response perimeterGroupByType(HttpServletRequest servletRequest,
@@ -203,6 +206,9 @@ public Response perimeterDensity(HttpServletRequest servletRequest,
203206
*/
204207
@ApiOperation(value = "Density of OSM elements grouped by the type",
205208
nickname = "perimeterDensityGroupByType", response = GroupByResponse.class)
209+
@ApiImplicitParam(name = "filter", value = ParameterDescriptions.FILTER,
210+
defaultValue = DefaultSwaggerParameters.BUILDING_FILTER, paramType = "query",
211+
dataType = "string", required = false)
206212
@RequestMapping(value = "density/groupBy/type", method = {RequestMethod.GET, RequestMethod.POST},
207213
produces = {"application/json", "text/csv"})
208214
public Response perimeterDensityGroupByType(HttpServletRequest servletRequest,
@@ -304,8 +310,11 @@ public Response perimeterDensityGroupByTag(HttpServletRequest servletRequest,
304310
defaultValue = "", paramType = "query", dataType = "string", required = false),
305311
@ApiImplicitParam(name = "values2", value = ParameterDescriptions.DEPRECATED_USE_FILTER2,
306312
defaultValue = "", paramType = "query", dataType = "string", required = false),
313+
@ApiImplicitParam(name = "filter", value = ParameterDescriptions.FILTER,
314+
defaultValue = DefaultSwaggerParameters.BUILDING_FILTER, paramType = "query",
315+
dataType = "string", required = false),
307316
@ApiImplicitParam(name = "filter2", value = ParameterDescriptions.FILTER,
308-
defaultValue = DefaultSwaggerParameters.TYPE_FILTER, paramType = "query",
317+
defaultValue = DefaultSwaggerParameters.BUILDING_FILTER2, paramType = "query",
309318
dataType = "string", required = false)})
310319
@RequestMapping(value = "/ratio", method = {RequestMethod.GET, RequestMethod.POST},
311320
produces = {"application/json", "text/csv"})
@@ -335,8 +344,11 @@ public Response perimeterRatio(HttpServletRequest servletRequest,
335344
defaultValue = "", paramType = "query", dataType = "string", required = false),
336345
@ApiImplicitParam(name = "values2", value = ParameterDescriptions.DEPRECATED_USE_FILTER2,
337346
defaultValue = "", paramType = "query", dataType = "string", required = false),
347+
@ApiImplicitParam(name = "filter", value = ParameterDescriptions.FILTER,
348+
defaultValue = DefaultSwaggerParameters.BUILDING_FILTER, paramType = "query",
349+
dataType = "string", required = false),
338350
@ApiImplicitParam(name = "filter2", value = ParameterDescriptions.FILTER,
339-
defaultValue = DefaultSwaggerParameters.TYPE_FILTER, paramType = "query",
351+
defaultValue = DefaultSwaggerParameters.BUILDING_FILTER2, paramType = "query",
340352
dataType = "string", required = false)})
341353
@RequestMapping(value = "/ratio/groupBy/boundary",
342354
method = {RequestMethod.GET, RequestMethod.POST}, produces = {"application/json", "text/csv"})

0 commit comments

Comments
 (0)