Skip to content

Commit

Permalink
refactoring of controller classes
Browse files Browse the repository at this point in the history
moving extraction of parameters to a later stage (e.g. InputProcessor)
removing/updating several old Javadoc comments
  • Loading branch information
FabiKo117 committed Jan 22, 2019
1 parent 324a45f commit 5a8fba0
Show file tree
Hide file tree
Showing 11 changed files with 331 additions and 1,512 deletions.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;

/** Controller containing the GET and POST requests, which enter through "/users". */
/** Controller containing the GET and POST servletRequests, which enter through "/users". */
@Api(tags = "users")
@RestController
@RequestMapping("/users")
Expand All @@ -25,65 +25,33 @@ public class UsersController {
/**
* Gives the count of OSM users.
*
* <p>
* The parameters are described in the
* {@link org.heigit.bigspatialdata.ohsome.ohsomeapi.controller.dataaggregation.CountController#count(String, String, String, String[], String[], String[], String[], String[], String, HttpServletRequest)
* count} method.
*
* @return {@link org.heigit.bigspatialdata.ohsome.ohsomeapi.output.dataaggregationresponse
* Response}
*/
@ApiOperation(value = "Count of OSM users", nickname = "usersCount")
@RequestMapping(value = "/count", method = {RequestMethod.GET, RequestMethod.POST},
produces = "application/json")
public Response count(@ApiParam(hidden = true) @RequestParam(defaultValue = "") String[] types,
@ApiParam(hidden = true) @RequestParam(defaultValue = "") String[] keys,
@ApiParam(hidden = true) @RequestParam(defaultValue = "") String[] values,
@ApiParam(hidden = true) @RequestParam(defaultValue = "") String[] userids,
@ApiParam(hidden = true) @RequestParam(defaultValue = "") String[] time,
@ApiParam(hidden = true) HttpServletRequest request) throws Exception {
return UsersRequestExecutor.executeCount(
new RequestParameters(request.getMethod(), false, false, request.getParameter("bboxes"),
request.getParameter("bcircles"), request.getParameter("bpolys"), types, keys, values,
userids, time, request.getParameter("format"), request.getParameter("showMetadata")));
public Response count(HttpServletRequest servletRequest) throws Exception {
return UsersRequestExecutor.executeCount(servletRequest, false);
}

/**
* Gives the count of OSM users grouped by the OSM type.
*
* <p>
* The parameters are described in the
* {@link org.heigit.bigspatialdata.ohsome.ohsomeapi.controller.dataaggregation.CountController#count(String, String, String, String[], String[], String[], String[], String[], String, HttpServletRequest)
* count} method.
*
* @return {@link org.heigit.bigspatialdata.ohsome.ohsomeapi.output.dataaggregationresponse.Response
* Response}
*/
@ApiOperation(value = "Count of OSM users grouped by the type",
nickname = "usersCountGroupByType")
@RequestMapping(value = "/count/groupBy/type", method = {RequestMethod.GET, RequestMethod.POST},
produces = "application/json")
public Response countGroupByType(
@ApiParam(hidden = true) @RequestParam(defaultValue = "") String[] types,
@ApiParam(hidden = true) @RequestParam(defaultValue = "") String[] keys,
@ApiParam(hidden = true) @RequestParam(defaultValue = "") String[] values,
@ApiParam(hidden = true) @RequestParam(defaultValue = "") String[] userids,
@ApiParam(hidden = true) @RequestParam(defaultValue = "") String[] time,
@ApiParam(hidden = true) HttpServletRequest request) throws Exception {
return UsersRequestExecutor.executeCountGroupByType(
new RequestParameters(request.getMethod(), false, false, request.getParameter("bboxes"),
request.getParameter("bcircles"), request.getParameter("bpolys"), types, keys, values,
userids, time, request.getParameter("format"), request.getParameter("showMetadata")));
public Response countGroupByType(HttpServletRequest servletRequest) throws Exception {
return UsersRequestExecutor.executeCountGroupByType(servletRequest, false);
}

/**
* Gives the count of OSM users grouped by the tag.
*
* <p>
* The parameters are described in the
* {@link org.heigit.bigspatialdata.ohsome.ohsomeapi.controller.dataaggregation.CountController#count(String, String, String, String[], String[], String[], String[], String[], String, HttpServletRequest)
* count} method.
*
* @return {@link org.heigit.bigspatialdata.ohsome.ohsomeapi.output.dataaggregationresponse.Response
* Response}
*/
Expand All @@ -96,32 +64,17 @@ public Response countGroupByType(
defaultValue = "", paramType = "query", dataType = "string", required = false)})
@RequestMapping(value = "count/groupBy/tag", method = {RequestMethod.GET, RequestMethod.POST},
produces = "application/json")
public Response countGroupByTag(
@ApiParam(hidden = true) @RequestParam(defaultValue = "") String[] types,
@ApiParam(hidden = true) @RequestParam(defaultValue = "") String[] keys,
@ApiParam(hidden = true) @RequestParam(defaultValue = "") String[] values,
@ApiParam(hidden = true) @RequestParam(defaultValue = "") String[] userids,
@ApiParam(hidden = true) @RequestParam(defaultValue = "") String[] time,
@ApiParam(hidden = true) HttpServletRequest request,
public Response countGroupByTag(HttpServletRequest servletRequest,
@RequestParam(value = "groupByKey", defaultValue = "", required = false) String[] groupByKey,
@RequestParam(value = "groupByValues", defaultValue = "",
required = false) String[] groupByValues)
throws Exception {
return UsersRequestExecutor.executeCountGroupByTag(
new RequestParameters(request.getMethod(), false, false, request.getParameter("bboxes"),
request.getParameter("bcircles"), request.getParameter("bpolys"), types, keys, values,
userids, time, request.getParameter("format"), request.getParameter("showMetadata")),
groupByKey, groupByValues);
return UsersRequestExecutor.executeCountGroupByTag(servletRequest, false);
}

/**
* Gives the count of OSM users grouped by the key.
*
* <p>
* The parameters are described in the
* {@link org.heigit.bigspatialdata.ohsome.ohsomeapi.controller.dataaggregation.CountController#count(String, String, String, String[], String[], String[], String[], String[], String, HttpServletRequest)
* count} method.
*
* @return {@link org.heigit.bigspatialdata.ohsome.ohsomeapi.output.dataaggregationresponse.Response
* Response}
*/
Expand All @@ -132,87 +85,44 @@ public Response countGroupByTag(
dataType = "string", required = true)})
@RequestMapping(value = "count/groupBy/key", method = {RequestMethod.GET, RequestMethod.POST},
produces = "application/json")
public Response countGroupByKey(
@ApiParam(hidden = true) @RequestParam(defaultValue = "") String[] types,
@ApiParam(hidden = true) @RequestParam(defaultValue = "") String[] keys,
@ApiParam(hidden = true) @RequestParam(defaultValue = "") String[] values,
@ApiParam(hidden = true) @RequestParam(defaultValue = "") String[] userids,
@ApiParam(hidden = true) @RequestParam(defaultValue = "") String[] time,
@ApiParam(hidden = true) HttpServletRequest request,
public Response countGroupByKey(HttpServletRequest servletRequest,
@RequestParam(value = "groupByKeys", defaultValue = "", required = false) String[] groupByKey)
throws Exception {
return UsersRequestExecutor.executeCountGroupByKey(
new RequestParameters(request.getMethod(), false, false, request.getParameter("bboxes"),
request.getParameter("bcircles"), request.getParameter("bpolys"), types, keys, values,
userids, time, request.getParameter("format"), request.getParameter("showMetadata")),
groupByKey);
return UsersRequestExecutor.executeCountGroupByKey(servletRequest, false);
}

/**
* Gives the density of OSM users (number of users divided by the total area in
* square-kilometers).
*
* <p>
* The parameters are described in the
* {@link org.heigit.bigspatialdata.ohsome.ohsomeapi.controller.dataaggregation.CountController#count(String, String, String, String[], String[], String[], String[], String[], String, HttpServletRequest)
* count} method.
*
* @return {@link org.heigit.bigspatialdata.ohsome.ohsomeapi.output.dataaggregationresponse
* Response}
*/
@ApiOperation(value = "Density of OSM users (number of users divided "
+ "by the total area in square-kilometers)", nickname = "usersCountDensity")
@RequestMapping(value = "/count/density", method = {RequestMethod.GET, RequestMethod.POST},
produces = "application/json")
public Response countDensity(
@ApiParam(hidden = true) @RequestParam(defaultValue = "") String[] types,
@ApiParam(hidden = true) @RequestParam(defaultValue = "") String[] keys,
@ApiParam(hidden = true) @RequestParam(defaultValue = "") String[] values,
@ApiParam(hidden = true) @RequestParam(defaultValue = "") String[] userids,
@ApiParam(hidden = true) @RequestParam(defaultValue = "") String[] time,
@ApiParam(hidden = true) HttpServletRequest request) throws Exception {
return UsersRequestExecutor.executeCount(
new RequestParameters(request.getMethod(), false, true, request.getParameter("bboxes"),
request.getParameter("bcircles"), request.getParameter("bpolys"), types, keys, values,
userids, time, request.getParameter("format"), request.getParameter("showMetadata")));
public Response countDensity(HttpServletRequest servletRequest) throws Exception {
return UsersRequestExecutor.executeCount(servletRequest, true);
}

/**
* Gives the density of OSM users grouped by the OSM type.
*
* <p>
* The parameters are described in the
* {@link org.heigit.bigspatialdata.ohsome.ohsomeapi.controller.dataaggregation.CountController#count(String, String, String, String[], String[], String[], String[], String[], String, HttpServletRequest)
* count} method.
*
* @return {@link org.heigit.bigspatialdata.ohsome.ohsomeapi.output.dataaggregationresponse.Response
* Response}
*/
@ApiOperation(value = "Density of OSM users grouped by the type",
nickname = "usersCountDensityGroupByType")
@RequestMapping(value = "/count/density/groupBy/type",
method = {RequestMethod.GET, RequestMethod.POST}, produces = "application/json")
public Response countDensityGroupByType(
@ApiParam(hidden = true) @RequestParam(defaultValue = "") String[] types,
@ApiParam(hidden = true) @RequestParam(defaultValue = "") String[] keys,
@ApiParam(hidden = true) @RequestParam(defaultValue = "") String[] values,
@ApiParam(hidden = true) @RequestParam(defaultValue = "") String[] userids,
@ApiParam(hidden = true) @RequestParam(defaultValue = "") String[] time,
@ApiParam(hidden = true) HttpServletRequest request) throws Exception {
return UsersRequestExecutor.executeCountGroupByType(
new RequestParameters(request.getMethod(), false, true, request.getParameter("bboxes"),
request.getParameter("bcircles"), request.getParameter("bpolys"), types, keys, values,
userids, time, request.getParameter("format"), request.getParameter("showMetadata")));
public Response countDensityGroupByType(HttpServletRequest servletRequest) throws Exception {
return UsersRequestExecutor.executeCountGroupByType(servletRequest, true);
}

/**
* Gives the density of OSM users grouped by the tag.
*
* <p>
* The parameters are described in the
* {@link org.heigit.bigspatialdata.ohsome.ohsomeapi.controller.dataaggregation.CountController#count(String, String, String, String[], String[], String[], String[], String[], String, HttpServletRequest)
* count} method.
*
* @return {@link org.heigit.bigspatialdata.ohsome.ohsomeapi.output.dataaggregationresponse.Response
* Response}
*/
Expand All @@ -226,21 +136,11 @@ public Response countDensityGroupByType(
defaultValue = "", paramType = "query", dataType = "string", required = false)})
@RequestMapping(value = "/count/density/groupBy/tag",
method = {RequestMethod.GET, RequestMethod.POST}, produces = "application/json")
public Response countDensityGroupByTag(
@ApiParam(hidden = true) @RequestParam(defaultValue = "") String[] types,
@ApiParam(hidden = true) @RequestParam(defaultValue = "") String[] keys,
@ApiParam(hidden = true) @RequestParam(defaultValue = "") String[] values,
@ApiParam(hidden = true) @RequestParam(defaultValue = "") String[] userids,
@ApiParam(hidden = true) @RequestParam(defaultValue = "") String[] time,
@ApiParam(hidden = true) HttpServletRequest request,
public Response countDensityGroupByTag(HttpServletRequest servletRequest,
@RequestParam(value = "groupByKey", defaultValue = "", required = false) String[] groupByKey,
@RequestParam(value = "groupByValues", defaultValue = "",
required = false) String[] groupByValues)
throws Exception {
return UsersRequestExecutor.executeCountGroupByTag(
new RequestParameters(request.getMethod(), false, true, request.getParameter("bboxes"),
request.getParameter("bcircles"), request.getParameter("bpolys"), types, keys, values,
userids, time, request.getParameter("format"), request.getParameter("showMetadata")),
groupByKey, groupByValues);
return UsersRequestExecutor.executeCountGroupByTag(servletRequest, false);
}
}
Loading

0 comments on commit 5a8fba0

Please sign in to comment.