diff --git a/CHANGELOG.md b/CHANGELOG.md
index 41ea7b028b..e001e15eb9 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -63,6 +63,7 @@ RELEASING:
- update maven repository for dependencies ([#1536](https://github.com/GIScience/openrouteservice/pull/1536))
- spring-boot-starter-parent to v3.1.6 ([#1630](https://github.com/GIScience/openrouteservice/issues/1630))
- fix IN1-JAVA-ORGMOZILLA-1314295 ([#1627](https://github.com/GIScience/openrouteservice/issues/1627))
+- move APIEnums into API module ([#1634](https://github.com/GIScience/openrouteservice/issues/1634))
### Deprecated
- JSON configuration and related classes ([#1506](https://github.com/GIScience/openrouteservice/pull/1506))
diff --git a/ors-engine/src/main/java/org/heigit/ors/routing/APIEnums.java b/ors-api/src/main/java/org/heigit/ors/api/APIEnums.java
similarity index 99%
rename from ors-engine/src/main/java/org/heigit/ors/routing/APIEnums.java
rename to ors-api/src/main/java/org/heigit/ors/api/APIEnums.java
index 1b92c63900..f292eac6e6 100644
--- a/ors-engine/src/main/java/org/heigit/ors/routing/APIEnums.java
+++ b/ors-api/src/main/java/org/heigit/ors/api/APIEnums.java
@@ -13,13 +13,14 @@
* if not, see .
*/
-package org.heigit.ors.routing;
+package org.heigit.ors.api;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonValue;
import io.swagger.v3.oas.annotations.media.Schema;
import org.heigit.ors.exceptions.ParameterValueException;
+import org.heigit.ors.routing.GenericErrorCodes;
public class APIEnums {
diff --git a/ors-api/src/main/java/org/heigit/ors/api/controllers/ExportAPI.java b/ors-api/src/main/java/org/heigit/ors/api/controllers/ExportAPI.java
index 36224eb9b2..6d722ebc4b 100644
--- a/ors-api/src/main/java/org/heigit/ors/api/controllers/ExportAPI.java
+++ b/ors-api/src/main/java/org/heigit/ors/api/controllers/ExportAPI.java
@@ -33,7 +33,7 @@
import org.heigit.ors.exceptions.*;
import org.heigit.ors.export.ExportErrorCodes;
import org.heigit.ors.export.ExportResult;
-import org.heigit.ors.routing.APIEnums;
+import org.heigit.ors.api.APIEnums;
import org.springframework.http.ResponseEntity;
import org.springframework.http.converter.HttpMessageConversionException;
import org.springframework.http.converter.HttpMessageNotReadableException;
diff --git a/ors-api/src/main/java/org/heigit/ors/api/controllers/IsochronesAPI.java b/ors-api/src/main/java/org/heigit/ors/api/controllers/IsochronesAPI.java
index bad0b04218..17846d9d01 100644
--- a/ors-api/src/main/java/org/heigit/ors/api/controllers/IsochronesAPI.java
+++ b/ors-api/src/main/java/org/heigit/ors/api/controllers/IsochronesAPI.java
@@ -37,7 +37,7 @@
import org.heigit.ors.exceptions.*;
import org.heigit.ors.isochrones.IsochroneMapCollection;
import org.heigit.ors.isochrones.IsochronesErrorCodes;
-import org.heigit.ors.routing.APIEnums;
+import org.heigit.ors.api.APIEnums;
import org.springframework.core.convert.ConversionFailedException;
import org.springframework.http.ResponseEntity;
import org.springframework.http.converter.HttpMessageConversionException;
diff --git a/ors-api/src/main/java/org/heigit/ors/api/controllers/MatrixAPI.java b/ors-api/src/main/java/org/heigit/ors/api/controllers/MatrixAPI.java
index f3946f5f5c..b957fc43cc 100644
--- a/ors-api/src/main/java/org/heigit/ors/api/controllers/MatrixAPI.java
+++ b/ors-api/src/main/java/org/heigit/ors/api/controllers/MatrixAPI.java
@@ -37,7 +37,7 @@
import org.heigit.ors.exceptions.*;
import org.heigit.ors.matrix.MatrixErrorCodes;
import org.heigit.ors.matrix.MatrixResult;
-import org.heigit.ors.routing.APIEnums;
+import org.heigit.ors.api.APIEnums;
import org.springframework.core.convert.ConversionFailedException;
import org.springframework.http.ResponseEntity;
import org.springframework.http.converter.HttpMessageConversionException;
diff --git a/ors-api/src/main/java/org/heigit/ors/api/controllers/RoutingAPI.java b/ors-api/src/main/java/org/heigit/ors/api/controllers/RoutingAPI.java
index 279bdecd8d..6747db0aac 100644
--- a/ors-api/src/main/java/org/heigit/ors/api/controllers/RoutingAPI.java
+++ b/ors-api/src/main/java/org/heigit/ors/api/controllers/RoutingAPI.java
@@ -36,7 +36,7 @@
import org.heigit.ors.api.services.RoutingService;
import org.heigit.ors.api.util.AppConfigMigration;
import org.heigit.ors.exceptions.*;
-import org.heigit.ors.routing.APIEnums;
+import org.heigit.ors.api.APIEnums;
import org.heigit.ors.routing.RouteResult;
import org.heigit.ors.routing.RoutingErrorCodes;
import org.locationtech.jts.geom.Coordinate;
diff --git a/ors-api/src/main/java/org/heigit/ors/api/controllers/SnappingAPI.java b/ors-api/src/main/java/org/heigit/ors/api/controllers/SnappingAPI.java
index f848a96c17..fd86f4ed73 100644
--- a/ors-api/src/main/java/org/heigit/ors/api/controllers/SnappingAPI.java
+++ b/ors-api/src/main/java/org/heigit/ors/api/controllers/SnappingAPI.java
@@ -35,7 +35,7 @@
import org.heigit.ors.api.services.SnappingService;
import org.heigit.ors.api.util.AppConfigMigration;
import org.heigit.ors.exceptions.*;
-import org.heigit.ors.routing.APIEnums;
+import org.heigit.ors.api.APIEnums;
import org.heigit.ors.snapping.SnappingErrorCodes;
import org.heigit.ors.snapping.SnappingResult;
import org.springframework.core.convert.ConversionFailedException;
diff --git a/ors-api/src/main/java/org/heigit/ors/api/converters/APIRequestProfileConverter.java b/ors-api/src/main/java/org/heigit/ors/api/converters/APIRequestProfileConverter.java
index 2a213aaba0..f9fc583c0a 100644
--- a/ors-api/src/main/java/org/heigit/ors/api/converters/APIRequestProfileConverter.java
+++ b/ors-api/src/main/java/org/heigit/ors/api/converters/APIRequestProfileConverter.java
@@ -15,7 +15,7 @@
package org.heigit.ors.api.converters;
-import org.heigit.ors.routing.APIEnums;
+import org.heigit.ors.api.APIEnums;
import org.springframework.core.convert.converter.Converter;
public class APIRequestProfileConverter implements Converter {
diff --git a/ors-api/src/main/java/org/heigit/ors/api/requests/common/APIRequest.java b/ors-api/src/main/java/org/heigit/ors/api/requests/common/APIRequest.java
index ae9947693b..91b251f3d0 100644
--- a/ors-api/src/main/java/org/heigit/ors/api/requests/common/APIRequest.java
+++ b/ors-api/src/main/java/org/heigit/ors/api/requests/common/APIRequest.java
@@ -3,7 +3,7 @@
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.v3.oas.annotations.media.Schema;
-import org.heigit.ors.routing.APIEnums;
+import org.heigit.ors.api.APIEnums;
public class APIRequest {
public static final String PARAM_ID = "id";
diff --git a/ors-api/src/main/java/org/heigit/ors/api/requests/common/RequestOptions.java b/ors-api/src/main/java/org/heigit/ors/api/requests/common/RequestOptions.java
index 1973f0b493..60505ffc80 100644
--- a/ors-api/src/main/java/org/heigit/ors/api/requests/common/RequestOptions.java
+++ b/ors-api/src/main/java/org/heigit/ors/api/requests/common/RequestOptions.java
@@ -23,7 +23,7 @@
import io.swagger.v3.oas.annotations.media.Schema;
import org.heigit.ors.api.requests.matrix.MatrixRequest;
import org.heigit.ors.api.requests.routing.RequestProfileParams;
-import org.heigit.ors.routing.APIEnums;
+import org.heigit.ors.api.APIEnums;
import org.heigit.ors.routing.RouteRequestParameterNames;
import org.json.simple.JSONObject;
diff --git a/ors-api/src/main/java/org/heigit/ors/api/requests/export/ExportRequest.java b/ors-api/src/main/java/org/heigit/ors/api/requests/export/ExportRequest.java
index 399a9c5c37..c3f56274bb 100644
--- a/ors-api/src/main/java/org/heigit/ors/api/requests/export/ExportRequest.java
+++ b/ors-api/src/main/java/org/heigit/ors/api/requests/export/ExportRequest.java
@@ -6,7 +6,7 @@
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import org.heigit.ors.api.requests.common.APIRequest;
-import org.heigit.ors.routing.APIEnums;
+import org.heigit.ors.api.APIEnums;
import java.util.List;
diff --git a/ors-api/src/main/java/org/heigit/ors/api/requests/isochrones/IsochronesRequest.java b/ors-api/src/main/java/org/heigit/ors/api/requests/isochrones/IsochronesRequest.java
index 908b0f7449..6c71344b78 100644
--- a/ors-api/src/main/java/org/heigit/ors/api/requests/isochrones/IsochronesRequest.java
+++ b/ors-api/src/main/java/org/heigit/ors/api/requests/isochrones/IsochronesRequest.java
@@ -28,7 +28,7 @@
import org.heigit.ors.isochrones.IsochroneMapCollection;
import org.heigit.ors.isochrones.IsochroneRequest;
import org.heigit.ors.isochrones.IsochronesErrorCodes;
-import org.heigit.ors.routing.APIEnums;
+import org.heigit.ors.api.APIEnums;
import org.heigit.ors.routing.RoutingProfileType;
import java.time.LocalDateTime;
diff --git a/ors-api/src/main/java/org/heigit/ors/api/requests/matrix/MatrixRequest.java b/ors-api/src/main/java/org/heigit/ors/api/requests/matrix/MatrixRequest.java
index cb00853384..040168f3ee 100644
--- a/ors-api/src/main/java/org/heigit/ors/api/requests/matrix/MatrixRequest.java
+++ b/ors-api/src/main/java/org/heigit/ors/api/requests/matrix/MatrixRequest.java
@@ -26,7 +26,7 @@
import org.heigit.ors.api.requests.common.APIRequest;
import org.heigit.ors.exceptions.ParameterValueException;
import org.heigit.ors.matrix.MatrixErrorCodes;
-import org.heigit.ors.routing.APIEnums;
+import org.heigit.ors.api.APIEnums;
import java.util.ArrayList;
import java.util.HashSet;
diff --git a/ors-api/src/main/java/org/heigit/ors/api/requests/routing/RequestProfileParamsRestrictions.java b/ors-api/src/main/java/org/heigit/ors/api/requests/routing/RequestProfileParamsRestrictions.java
index c1ae283224..1dfe3c2038 100644
--- a/ors-api/src/main/java/org/heigit/ors/api/requests/routing/RequestProfileParamsRestrictions.java
+++ b/ors-api/src/main/java/org/heigit/ors/api/requests/routing/RequestProfileParamsRestrictions.java
@@ -21,7 +21,7 @@
import io.swagger.v3.oas.annotations.extensions.Extension;
import io.swagger.v3.oas.annotations.extensions.ExtensionProperty;
import io.swagger.v3.oas.annotations.media.Schema;
-import org.heigit.ors.routing.APIEnums;
+import org.heigit.ors.api.APIEnums;
import java.util.ArrayList;
import java.util.List;
diff --git a/ors-api/src/main/java/org/heigit/ors/api/requests/routing/RouteRequest.java b/ors-api/src/main/java/org/heigit/ors/api/requests/routing/RouteRequest.java
index 0504b1664e..bb56002dc5 100644
--- a/ors-api/src/main/java/org/heigit/ors/api/requests/routing/RouteRequest.java
+++ b/ors-api/src/main/java/org/heigit/ors/api/requests/routing/RouteRequest.java
@@ -21,7 +21,7 @@
import io.swagger.v3.oas.annotations.media.Schema;
import org.heigit.ors.api.requests.common.APIRequest;
import org.heigit.ors.exceptions.ParameterValueException;
-import org.heigit.ors.routing.APIEnums;
+import org.heigit.ors.api.APIEnums;
import org.heigit.ors.routing.RouteRequestParameterNames;
import org.heigit.ors.routing.RoutingErrorCodes;
import org.heigit.ors.routing.RoutingProfileType;
diff --git a/ors-api/src/main/java/org/heigit/ors/api/requests/snapping/SnappingApiRequest.java b/ors-api/src/main/java/org/heigit/ors/api/requests/snapping/SnappingApiRequest.java
index b5cf88acf9..f4fbafdb43 100644
--- a/ors-api/src/main/java/org/heigit/ors/api/requests/snapping/SnappingApiRequest.java
+++ b/ors-api/src/main/java/org/heigit/ors/api/requests/snapping/SnappingApiRequest.java
@@ -5,7 +5,7 @@
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import org.heigit.ors.api.requests.common.APIRequest;
-import org.heigit.ors.routing.APIEnums;
+import org.heigit.ors.api.APIEnums;
import java.util.List;
diff --git a/ors-api/src/main/java/org/heigit/ors/api/responses/common/boundingbox/BoundingBoxFactory.java b/ors-api/src/main/java/org/heigit/ors/api/responses/common/boundingbox/BoundingBoxFactory.java
index 1433916ab2..29c64c0f6b 100644
--- a/ors-api/src/main/java/org/heigit/ors/api/responses/common/boundingbox/BoundingBoxFactory.java
+++ b/ors-api/src/main/java/org/heigit/ors/api/responses/common/boundingbox/BoundingBoxFactory.java
@@ -22,7 +22,7 @@
import org.heigit.ors.api.responses.routing.json.JSON3DBoundingBox;
import org.heigit.ors.api.responses.routing.json.JSONBoundingBox;
import org.heigit.ors.exceptions.ParameterValueException;
-import org.heigit.ors.routing.APIEnums;
+import org.heigit.ors.api.APIEnums;
import org.heigit.ors.routing.RoutingErrorCodes;
public class BoundingBoxFactory {
diff --git a/ors-api/src/main/java/org/heigit/ors/api/responses/routing/gpx/GPXExtensions.java b/ors-api/src/main/java/org/heigit/ors/api/responses/routing/gpx/GPXExtensions.java
index f704f8e4f2..57c0b2240c 100644
--- a/ors-api/src/main/java/org/heigit/ors/api/responses/routing/gpx/GPXExtensions.java
+++ b/ors-api/src/main/java/org/heigit/ors/api/responses/routing/gpx/GPXExtensions.java
@@ -19,7 +19,7 @@
import jakarta.xml.bind.annotation.XmlElement;
import org.heigit.ors.api.requests.routing.RouteRequest;
import org.heigit.ors.api.util.AppInfo;
-import org.heigit.ors.routing.APIEnums;
+import org.heigit.ors.api.APIEnums;
public class GPXExtensions {
@XmlElement(name = "attribution")
diff --git a/ors-api/src/main/java/org/heigit/ors/api/responses/routing/json/JSONSegment.java b/ors-api/src/main/java/org/heigit/ors/api/responses/routing/json/JSONSegment.java
index c5ae73ed19..8f86df2774 100644
--- a/ors-api/src/main/java/org/heigit/ors/api/responses/routing/json/JSONSegment.java
+++ b/ors-api/src/main/java/org/heigit/ors/api/responses/routing/json/JSONSegment.java
@@ -21,7 +21,7 @@
import io.swagger.v3.oas.annotations.extensions.ExtensionProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import org.heigit.ors.api.requests.routing.RouteRequest;
-import org.heigit.ors.routing.APIEnums;
+import org.heigit.ors.api.APIEnums;
import org.heigit.ors.routing.RouteSegment;
import org.heigit.ors.routing.RouteStep;
import org.heigit.ors.util.FormatUtility;
diff --git a/ors-api/src/main/java/org/heigit/ors/api/services/ApiService.java b/ors-api/src/main/java/org/heigit/ors/api/services/ApiService.java
index 3c6d38d6e0..e448a36327 100644
--- a/ors-api/src/main/java/org/heigit/ors/api/services/ApiService.java
+++ b/ors-api/src/main/java/org/heigit/ors/api/services/ApiService.java
@@ -1,5 +1,6 @@
package org.heigit.ors.api.services;
+import org.heigit.ors.api.APIEnums;
import org.heigit.ors.api.EndpointsProperties;
import org.heigit.ors.api.requests.common.APIRequest;
import org.heigit.ors.api.requests.common.RequestOptions;
@@ -326,7 +327,7 @@ private WheelchairParameters convertWheelchairParamRestrictions(RequestProfilePa
if (restrictions.hasTrackType())
params.setTrackType(WheelchairTypesEncoder.getTrackType(restrictions.getTrackType()));
if (restrictions.hasSmoothnessType())
- params.setSmoothnessType(WheelchairTypesEncoder.getSmoothnessType(restrictions.getSmoothnessType()));
+ params.setSmoothnessType(WheelchairTypesEncoder.getSmoothnessType(restrictions.getSmoothnessType().toString()));
if (restrictions.hasMaxSlopedKerb())
params.setMaximumSlopedKerb(restrictions.getMaxSlopedKerb());
if (restrictions.hasMaxIncline())
diff --git a/ors-api/src/main/java/org/heigit/ors/api/services/IsochronesService.java b/ors-api/src/main/java/org/heigit/ors/api/services/IsochronesService.java
index a231912f5b..0472c74637 100644
--- a/ors-api/src/main/java/org/heigit/ors/api/services/IsochronesService.java
+++ b/ors-api/src/main/java/org/heigit/ors/api/services/IsochronesService.java
@@ -15,7 +15,7 @@
import org.heigit.ors.fastisochrones.partitioning.FastIsochroneFactory;
import org.heigit.ors.isochrones.*;
import org.heigit.ors.isochrones.statistics.StatisticsProviderConfiguration;
-import org.heigit.ors.routing.APIEnums;
+import org.heigit.ors.api.APIEnums;
import org.heigit.ors.routing.RouteSearchParameters;
import org.heigit.ors.routing.RoutingProfileManager;
import org.heigit.ors.routing.RoutingProfileType;
diff --git a/ors-api/src/main/java/org/heigit/ors/api/services/MatrixService.java b/ors-api/src/main/java/org/heigit/ors/api/services/MatrixService.java
index 08deb69bdf..30eed34472 100644
--- a/ors-api/src/main/java/org/heigit/ors/api/services/MatrixService.java
+++ b/ors-api/src/main/java/org/heigit/ors/api/services/MatrixService.java
@@ -11,7 +11,7 @@
import org.heigit.ors.matrix.MatrixMetricsType;
import org.heigit.ors.matrix.MatrixResult;
import org.heigit.ors.matrix.MatrixSearchParameters;
-import org.heigit.ors.routing.APIEnums;
+import org.heigit.ors.api.APIEnums;
import org.heigit.ors.routing.RoutingErrorCodes;
import org.heigit.ors.routing.RoutingProfileManager;
import org.heigit.ors.routing.RoutingProfileType;
diff --git a/ors-api/src/main/java/org/heigit/ors/api/services/RoutingService.java b/ors-api/src/main/java/org/heigit/ors/api/services/RoutingService.java
index 8422443c19..68b07e97c1 100644
--- a/ors-api/src/main/java/org/heigit/ors/api/services/RoutingService.java
+++ b/ors-api/src/main/java/org/heigit/ors/api/services/RoutingService.java
@@ -1,5 +1,6 @@
package org.heigit.ors.api.services;
+import org.heigit.ors.api.APIEnums;
import org.heigit.ors.api.EndpointsProperties;
import org.heigit.ors.api.requests.routing.RouteRequest;
import org.heigit.ors.api.requests.routing.RouteRequestRoundTripOptions;
diff --git a/ors-api/src/test/java/org/heigit/ors/api/converters/APIMatrixRequestProfileConverterTest.java b/ors-api/src/test/java/org/heigit/ors/api/converters/APIMatrixRequestProfileConverterTest.java
index c767bc2c00..15b8c05d1c 100644
--- a/ors-api/src/test/java/org/heigit/ors/api/converters/APIMatrixRequestProfileConverterTest.java
+++ b/ors-api/src/test/java/org/heigit/ors/api/converters/APIMatrixRequestProfileConverterTest.java
@@ -1,6 +1,6 @@
package org.heigit.ors.api.converters;
-import org.heigit.ors.routing.APIEnums;
+import org.heigit.ors.api.APIEnums;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
diff --git a/ors-api/src/test/java/org/heigit/ors/api/requests/isochrones/IsochronesRequestTest.java b/ors-api/src/test/java/org/heigit/ors/api/requests/isochrones/IsochronesRequestTest.java
index 4047e52c18..20ddc31f77 100644
--- a/ors-api/src/test/java/org/heigit/ors/api/requests/isochrones/IsochronesRequestTest.java
+++ b/ors-api/src/test/java/org/heigit/ors/api/requests/isochrones/IsochronesRequestTest.java
@@ -2,7 +2,7 @@
import org.heigit.ors.api.requests.routing.RouteRequestOptions;
import org.heigit.ors.exceptions.ParameterValueException;
-import org.heigit.ors.routing.APIEnums;
+import org.heigit.ors.api.APIEnums;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
diff --git a/ors-api/src/test/java/org/heigit/ors/api/requests/matrix/MatrixRequestTest.java b/ors-api/src/test/java/org/heigit/ors/api/requests/matrix/MatrixRequestTest.java
index e5e45fdb60..8b583bfad0 100644
--- a/ors-api/src/test/java/org/heigit/ors/api/requests/matrix/MatrixRequestTest.java
+++ b/ors-api/src/test/java/org/heigit/ors/api/requests/matrix/MatrixRequestTest.java
@@ -3,7 +3,7 @@
import org.heigit.ors.api.EndpointsProperties;
import org.heigit.ors.api.util.HelperFunctions;
import org.heigit.ors.exceptions.ParameterValueException;
-import org.heigit.ors.routing.APIEnums;
+import org.heigit.ors.api.APIEnums;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
diff --git a/ors-api/src/test/java/org/heigit/ors/api/requests/routing/APIEnumsTest.java b/ors-api/src/test/java/org/heigit/ors/api/requests/routing/APIEnumsTest.java
index 6cec201ed3..e18b87c0a2 100644
--- a/ors-api/src/test/java/org/heigit/ors/api/requests/routing/APIEnumsTest.java
+++ b/ors-api/src/test/java/org/heigit/ors/api/requests/routing/APIEnumsTest.java
@@ -1,7 +1,7 @@
package org.heigit.ors.api.requests.routing;
import org.heigit.ors.exceptions.ParameterValueException;
-import org.heigit.ors.routing.APIEnums;
+import org.heigit.ors.api.APIEnums;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.MethodSource;
diff --git a/ors-api/src/test/java/org/heigit/ors/api/requests/routing/RouteRequestTest.java b/ors-api/src/test/java/org/heigit/ors/api/requests/routing/RouteRequestTest.java
index 24bda767ba..a372607811 100644
--- a/ors-api/src/test/java/org/heigit/ors/api/requests/routing/RouteRequestTest.java
+++ b/ors-api/src/test/java/org/heigit/ors/api/requests/routing/RouteRequestTest.java
@@ -16,7 +16,7 @@
package org.heigit.ors.api.requests.routing;
import org.heigit.ors.exceptions.ParameterValueException;
-import org.heigit.ors.routing.APIEnums;
+import org.heigit.ors.api.APIEnums;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.locationtech.jts.geom.Coordinate;
diff --git a/ors-api/src/test/java/org/heigit/ors/api/responses/matrix/json/JSONBasedIndividualMatrixResponseTest.java b/ors-api/src/test/java/org/heigit/ors/api/responses/matrix/json/JSONBasedIndividualMatrixResponseTest.java
index db4cbbbced..6136419176 100644
--- a/ors-api/src/test/java/org/heigit/ors/api/responses/matrix/json/JSONBasedIndividualMatrixResponseTest.java
+++ b/ors-api/src/test/java/org/heigit/ors/api/responses/matrix/json/JSONBasedIndividualMatrixResponseTest.java
@@ -5,7 +5,7 @@
import org.heigit.ors.matrix.MatrixMetricsType;
import org.heigit.ors.matrix.MatrixResult;
import org.heigit.ors.matrix.ResolvedLocation;
-import org.heigit.ors.routing.APIEnums;
+import org.heigit.ors.api.APIEnums;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.locationtech.jts.geom.Coordinate;
diff --git a/ors-api/src/test/java/org/heigit/ors/api/responses/matrix/json/JSONIndividualMatrixResponseTest.java b/ors-api/src/test/java/org/heigit/ors/api/responses/matrix/json/JSONIndividualMatrixResponseTest.java
index 59fa523817..d124ed39e8 100644
--- a/ors-api/src/test/java/org/heigit/ors/api/responses/matrix/json/JSONIndividualMatrixResponseTest.java
+++ b/ors-api/src/test/java/org/heigit/ors/api/responses/matrix/json/JSONIndividualMatrixResponseTest.java
@@ -7,7 +7,7 @@
import org.heigit.ors.matrix.MatrixMetricsType;
import org.heigit.ors.matrix.MatrixResult;
import org.heigit.ors.matrix.ResolvedLocation;
-import org.heigit.ors.routing.APIEnums;
+import org.heigit.ors.api.APIEnums;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.locationtech.jts.geom.Coordinate;
diff --git a/ors-api/src/test/java/org/heigit/ors/api/responses/matrix/json/JSONMatrixResponseTest.java b/ors-api/src/test/java/org/heigit/ors/api/responses/matrix/json/JSONMatrixResponseTest.java
index dca76b3740..c06dbf59ba 100644
--- a/ors-api/src/test/java/org/heigit/ors/api/responses/matrix/json/JSONMatrixResponseTest.java
+++ b/ors-api/src/test/java/org/heigit/ors/api/responses/matrix/json/JSONMatrixResponseTest.java
@@ -9,7 +9,7 @@
import org.heigit.ors.matrix.MatrixMetricsType;
import org.heigit.ors.matrix.MatrixResult;
import org.heigit.ors.matrix.ResolvedLocation;
-import org.heigit.ors.routing.APIEnums;
+import org.heigit.ors.api.APIEnums;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.locationtech.jts.geom.Coordinate;
diff --git a/ors-api/src/test/java/org/heigit/ors/api/responses/routing/boundingbox/BoundingBoxFactoryTest.java b/ors-api/src/test/java/org/heigit/ors/api/responses/routing/boundingbox/BoundingBoxFactoryTest.java
index edaa72d7c5..18d9578409 100644
--- a/ors-api/src/test/java/org/heigit/ors/api/responses/routing/boundingbox/BoundingBoxFactoryTest.java
+++ b/ors-api/src/test/java/org/heigit/ors/api/responses/routing/boundingbox/BoundingBoxFactoryTest.java
@@ -7,7 +7,7 @@
import org.heigit.ors.api.responses.routing.gpx.GPXBounds;
import org.heigit.ors.api.responses.routing.json.JSON3DBoundingBox;
import org.heigit.ors.api.responses.routing.json.JSONBoundingBox;
-import org.heigit.ors.routing.APIEnums;
+import org.heigit.ors.api.APIEnums;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertTrue;
diff --git a/ors-api/src/test/java/org/heigit/ors/api/services/APIServiceTest.java b/ors-api/src/test/java/org/heigit/ors/api/services/APIServiceTest.java
index d0c568ae8c..4d659e801a 100644
--- a/ors-api/src/test/java/org/heigit/ors/api/services/APIServiceTest.java
+++ b/ors-api/src/test/java/org/heigit/ors/api/services/APIServiceTest.java
@@ -7,7 +7,7 @@
import org.heigit.ors.exceptions.ParameterValueException;
import org.heigit.ors.exceptions.StatusCodeException;
import org.heigit.ors.exceptions.UnknownParameterValueException;
-import org.heigit.ors.routing.APIEnums;
+import org.heigit.ors.api.APIEnums;
import org.heigit.ors.routing.parameters.ProfileParameters;
import org.heigit.ors.routing.parameters.VehicleParameters;
import org.heigit.ors.routing.pathprocessors.BordersExtractor;
diff --git a/ors-api/src/test/java/org/heigit/ors/api/services/IsochronesServiceTest.java b/ors-api/src/test/java/org/heigit/ors/api/services/IsochronesServiceTest.java
index b4ef9f9639..3b5e220f76 100644
--- a/ors-api/src/test/java/org/heigit/ors/api/services/IsochronesServiceTest.java
+++ b/ors-api/src/test/java/org/heigit/ors/api/services/IsochronesServiceTest.java
@@ -1,5 +1,6 @@
package org.heigit.ors.api.services;
+import org.heigit.ors.api.APIEnums;
import org.heigit.ors.api.EndpointsProperties;
import org.heigit.ors.api.requests.isochrones.IsochronesRequest;
import org.heigit.ors.api.requests.isochrones.IsochronesRequestEnums;
diff --git a/ors-api/src/test/java/org/heigit/ors/api/services/MatrixServiceTest.java b/ors-api/src/test/java/org/heigit/ors/api/services/MatrixServiceTest.java
index 6377e173a1..15e680fe03 100644
--- a/ors-api/src/test/java/org/heigit/ors/api/services/MatrixServiceTest.java
+++ b/ors-api/src/test/java/org/heigit/ors/api/services/MatrixServiceTest.java
@@ -9,7 +9,7 @@
import org.heigit.ors.exceptions.StatusCodeException;
import org.heigit.ors.matrix.MatrixMetricsType;
import org.heigit.ors.matrix.MatrixRequest;
-import org.heigit.ors.routing.APIEnums;
+import org.heigit.ors.api.APIEnums;
import org.heigit.ors.routing.RoutingProfileType;
import org.heigit.ors.routing.WeightingMethod;
import org.junit.jupiter.api.BeforeEach;
diff --git a/ors-api/src/test/java/org/heigit/ors/api/services/RoutingServiceTest.java b/ors-api/src/test/java/org/heigit/ors/api/services/RoutingServiceTest.java
index 969c9de991..5d7be54525 100644
--- a/ors-api/src/test/java/org/heigit/ors/api/services/RoutingServiceTest.java
+++ b/ors-api/src/test/java/org/heigit/ors/api/services/RoutingServiceTest.java
@@ -15,6 +15,7 @@
package org.heigit.ors.api.services;
+import org.heigit.ors.api.APIEnums;
import org.heigit.ors.api.EndpointsProperties;
import org.heigit.ors.api.requests.routing.*;
import org.heigit.ors.common.DistanceUnit;
@@ -233,7 +234,7 @@ void TestWheelchairParameters() throws Exception {
RoutingRequest routingRequest = routingService.convertRouteRequest(request);
WheelchairParameters params = (WheelchairParameters) routingRequest.getSearchParameters().getProfileParameters();
- assertEquals(WheelchairTypesEncoder.getSmoothnessType(APIEnums.SmoothnessTypes.SMOOTHNESS_GOOD), params.getSmoothnessType());
+ assertEquals(WheelchairTypesEncoder.getSmoothnessType(APIEnums.SmoothnessTypes.SMOOTHNESS_GOOD.toString()), params.getSmoothnessType());
assertEquals(3.0f, params.getMaximumIncline(), 0);
assertEquals(1.0f, params.getMaximumSlopedKerb(), 0);
assertEquals(2.0f, params.getMinimumWidth(), 0);
diff --git a/ors-api/src/test/java/org/heigit/ors/api/util/SystemMessageTest.java b/ors-api/src/test/java/org/heigit/ors/api/util/SystemMessageTest.java
index 9568a90e0b..823573fc15 100644
--- a/ors-api/src/test/java/org/heigit/ors/api/util/SystemMessageTest.java
+++ b/ors-api/src/test/java/org/heigit/ors/api/util/SystemMessageTest.java
@@ -5,7 +5,7 @@
import org.heigit.ors.api.requests.matrix.MatrixRequest;
import org.heigit.ors.api.requests.routing.RouteRequest;
import org.heigit.ors.exceptions.ParameterValueException;
-import org.heigit.ors.routing.APIEnums;
+import org.heigit.ors.api.APIEnums;
import org.heigit.ors.routing.RoutingRequest;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
diff --git a/ors-api/src/test/java/org/heigit/ors/api/util/TestProvider.java b/ors-api/src/test/java/org/heigit/ors/api/util/TestProvider.java
index 067ac39c44..caba3a3ec1 100644
--- a/ors-api/src/test/java/org/heigit/ors/api/util/TestProvider.java
+++ b/ors-api/src/test/java/org/heigit/ors/api/util/TestProvider.java
@@ -1,6 +1,6 @@
package org.heigit.ors.api.util;
-import org.heigit.ors.routing.APIEnums;
+import org.heigit.ors.api.APIEnums;
import org.junit.jupiter.params.provider.Arguments;
import java.util.stream.Stream;
diff --git a/ors-engine/src/main/java/org/heigit/ors/routing/graphhopper/extensions/WheelchairTypesEncoder.java b/ors-engine/src/main/java/org/heigit/ors/routing/graphhopper/extensions/WheelchairTypesEncoder.java
index 4d53189576..888a680900 100644
--- a/ors-engine/src/main/java/org/heigit/ors/routing/graphhopper/extensions/WheelchairTypesEncoder.java
+++ b/ors-engine/src/main/java/org/heigit/ors/routing/graphhopper/extensions/WheelchairTypesEncoder.java
@@ -13,7 +13,8 @@
*/
package org.heigit.ors.routing.graphhopper.extensions;
-import org.heigit.ors.routing.APIEnums;
+import org.heigit.ors.exceptions.ParameterValueException;
+import org.heigit.ors.routing.GenericErrorCodes;
import java.util.HashMap;
import java.util.Map;
@@ -154,15 +155,19 @@ public static int getSurfaceType(String value) {
public static int getEncodedType(WheelchairAttributes.Attribute attribute, String value) throws Exception {
return switch (attribute) {
- case SMOOTHNESS -> getSmoothnessType(APIEnums.SmoothnessTypes.forValue(value));
+ case SMOOTHNESS -> { int smoothness = getSmoothnessType(value);
+ if (smoothness==-1)
+ throw new ParameterValueException(GenericErrorCodes.INVALID_PARAMETER_VALUE, "surface_type", value);
+ yield smoothness;
+ }
case SURFACE -> getSurfaceType(value);
case TRACK -> getTrackType(value);
default -> throw new Exception("Attribute is not a recognised encoded type");
};
}
- public static int getSmoothnessType(APIEnums.SmoothnessTypes smoothnessType) {
- return SMOOTHNESS_MAP.getOrDefault(smoothnessType.toString(), -1);
+ public static int getSmoothnessType(String value) {
+ return SMOOTHNESS_MAP.getOrDefault(value.toLowerCase(), -1);
}
public static int getTrackType(String value) {
diff --git a/ors-engine/src/test/java/org/heigit/ors/routing/RouteResultBuilderTest.java b/ors-engine/src/test/java/org/heigit/ors/routing/RouteResultBuilderTest.java
index 369b03147d..b28213d35a 100644
--- a/ors-engine/src/test/java/org/heigit/ors/routing/RouteResultBuilderTest.java
+++ b/ors-engine/src/test/java/org/heigit/ors/routing/RouteResultBuilderTest.java
@@ -20,21 +20,21 @@
class RouteResultBuilderTest {
private RoutingRequest request1;
private RoutingRequest request2;
+ private static final String OSM_ID = "osmid"; // TODO: find a better solution than a hardcoded string
-
- public RouteResultBuilderTest() throws Exception {
+ public RouteResultBuilderTest() {
init();
}
@BeforeEach
- void init() throws Exception {
+ void init() {
Coordinate[] coordinates = new Coordinate[2];
coordinates[0] = new Coordinate(12.3, 45.6);
coordinates[1] = new Coordinate(23.4, 56.7);
request1 = new RoutingRequest();
request1.setCoordinates(coordinates);
request1.setAttributes(new String[]{"detourfactor"});
- request1.setExtraInfo(RouteExtraInfoFlag.getFromString("osmid"));
+ request1.setExtraInfo(RouteExtraInfoFlag.getFromString(OSM_ID));
request1.setIncludeManeuvers(true);
coordinates = new Coordinate[2];
@@ -105,7 +105,7 @@ void TestCreateMergedRouteResultFromBestPaths1() throws Exception {
List responseList = new ArrayList<>();
List extrasList = new ArrayList<>();
RouteResultBuilder builder = new RouteResultBuilder();
- extrasList.add(new RouteExtraInfo(APIEnums.ExtraInfo.OSM_ID.toString()));
+ extrasList.add(new RouteExtraInfo("osmid"));
responseList.add(constructResponse(request1));
//noinspection unchecked
RouteResult result = builder.createMergedRouteResultFromBestPaths(responseList, request1, new List[]{extrasList});
@@ -126,7 +126,7 @@ void TestCreateMergedRouteResultFromBestPaths1() throws Exception {
assertEquals(10, result.getSegments().get(0).getSteps().get(1).getType(), "Single response should return valid RouteResult (segments[0].steps[1].type = 10)");
assertEquals(0, result.getSegments().get(0).getSteps().get(1).getManeuver().getBearingAfter(), "Single response should return valid RouteResult (segments[0].steps[1].maneuver.bearingAfter = 0)");
assertEquals(1, result.getExtraInfo().size(), "Single response should return valid RouteResult (extrainfo.size = 1)");
- assertEquals(APIEnums.ExtraInfo.OSM_ID.toString(), result.getExtraInfo().get(0).getName(), "Single response should return valid RouteResult (extrainfo[0].name = 'osmid)");
+ assertEquals(OSM_ID, result.getExtraInfo().get(0).getName(), "Single response should return valid RouteResult (extrainfo[0].name = 'osmid)");
assertEquals(2, result.getWayPointsIndices().size(), "Single response should return valid RouteResult (waypointindices.size = 2)");
}
@@ -136,7 +136,7 @@ void TestCreateMergedRouteResultFromBestPaths2() throws Exception {
List responseList = new ArrayList<>();
List extrasList = new ArrayList<>();
RouteResultBuilder builder = new RouteResultBuilder();
- extrasList.add(new RouteExtraInfo(APIEnums.ExtraInfo.OSM_ID.toString()));
+ extrasList.add(new RouteExtraInfo(OSM_ID));
responseList.add(constructResponse(request1));
responseList.add(constructResponse(request2));
//noinspection unchecked
@@ -168,7 +168,7 @@ void TestCreateMergedRouteResultFromBestPaths2() throws Exception {
assertEquals(10, result.getSegments().get(1).getSteps().get(1).getType(), "Two responses should return merged RouteResult (segments[1].steps[1].type = 10)");
assertEquals(0, result.getSegments().get(1).getSteps().get(1).getManeuver().getBearingAfter(), "Two responses should return merged RouteResult (segments[1].steps[1].maneuver.bearingAfter = 0)");
assertEquals(1, result.getExtraInfo().size(), "Two responses should return merged RouteResult (extrainfo.size = 1)");
- assertEquals(APIEnums.ExtraInfo.OSM_ID.toString(), result.getExtraInfo().get(0).getName(), "Two responses should return merged RouteResult (extrainfo[0].name = 'osmid)");
+ assertEquals(OSM_ID, result.getExtraInfo().get(0).getName(), "Two responses should return merged RouteResult (extrainfo[0].name = 'osmid)");
assertEquals(3, result.getWayPointsIndices().size(), "Two responses should return merged RouteResult (waypointindices.size = 3)");
}
@@ -178,7 +178,7 @@ void TestCreateMergedRouteResultFromBestPaths3() throws Exception {
List responseList = new ArrayList<>();
List extrasList = new ArrayList<>();
RouteResultBuilder builder = new RouteResultBuilder();
- extrasList.add(new RouteExtraInfo(APIEnums.ExtraInfo.OSM_ID.toString()));
+ extrasList.add(new RouteExtraInfo(OSM_ID));
List skipSegments = new ArrayList<>();
skipSegments.add(1);
request1.setSkipSegments(skipSegments);