Skip to content

Commit 715463a

Browse files
committed
Extend rule to cover vehicle_docks_available
1 parent a2661e5 commit 715463a

File tree

5 files changed

+20
-15
lines changed

5 files changed

+20
-15
lines changed

src/main/java/org/entur/gbfs/validation/validator/rules/VehicleTypeIdsInVehicleTypesAvailableExistsInVehicleTypes.java renamed to src/main/java/org/entur/gbfs/validation/validator/rules/NoInvalidReferenceToVehicleTypesInStationStatus.java

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -28,25 +28,30 @@
2828
import java.util.Map;
2929

3030
/**
31-
* Available vehicle types in station_status must exist in the system's vehicle_types file
31+
* References to vehicle types in station_status must exist in the system's vehicle_types file
3232
*/
33-
public class VehicleTypeIdsInVehicleTypesAvailableExistsInVehicleTypes implements CustomRuleSchemaPatcher {
33+
public class NoInvalidReferenceToVehicleTypesInStationStatus implements CustomRuleSchemaPatcher {
3434

35-
public static final String VEHICLE_TYPE_ID_SCHEMA_PATH = "$.properties.data.properties.stations.items.properties.vehicle_types_available.items.properties.vehicle_type_id";
35+
public static final String VEHICLE_TYPES_AVAILABLE_VEHICLE_TYPE_ID_SCHEMA_PATH = "$.properties.data.properties.stations.items.properties.vehicle_types_available.items.properties.vehicle_type_id";
36+
public static final String VEHICLE_DOCKS_AVAILABLE_VEHICLE_TYPE_IDS_SCHEMA_PATH = "$.properties.data.properties.stations.items.properties.vehicle_docks_available.items.properties.vehicle_type_ids.items";
3637

3738
/**
38-
* Adds an enum to the vehicle_type_id schema of vehicle_types_available with the vehilce type ids from vehicle_types.json
39+
* Adds an enum to the vehicle_type_id schema of vehicle_types_available and vehicle_docks_available with the vehilce type ids from vehicle_types.json
3940
*/
4041
@Override
4142
public DocumentContext addRule(DocumentContext rawSchemaDocumentContext, Map<String, JSONObject> feeds) {
4243
JSONObject vehicleTypesFeed = feeds.get("vehicle_types");
43-
JSONObject vehicleTypeIdSchema = rawSchemaDocumentContext.read(VEHICLE_TYPE_ID_SCHEMA_PATH);
44+
JSONObject vehicleTypesAvailableVehicleTypeIdSchema = rawSchemaDocumentContext.read(VEHICLE_TYPES_AVAILABLE_VEHICLE_TYPE_ID_SCHEMA_PATH);
45+
JSONObject vehicleDocksAvailableVehiecleTypeIdSchema = rawSchemaDocumentContext.read(VEHICLE_DOCKS_AVAILABLE_VEHICLE_TYPE_IDS_SCHEMA_PATH);
4446

4547
if (vehicleTypesFeed != null) {
4648
JSONArray vehicleTypeIds = JsonPath.parse(vehicleTypesFeed).read("$.data.vehicle_types[*].vehicle_type_id");
47-
vehicleTypeIdSchema.put("enum", vehicleTypeIds);
49+
vehicleTypesAvailableVehicleTypeIdSchema.put("enum", vehicleTypeIds);
50+
vehicleDocksAvailableVehiecleTypeIdSchema.put("enum", vehicleTypeIds);
4851
}
4952

50-
return rawSchemaDocumentContext.set(VEHICLE_TYPE_ID_SCHEMA_PATH, vehicleTypeIdSchema);
53+
return rawSchemaDocumentContext
54+
.set(VEHICLE_TYPES_AVAILABLE_VEHICLE_TYPE_ID_SCHEMA_PATH, vehicleTypesAvailableVehicleTypeIdSchema)
55+
.set(VEHICLE_DOCKS_AVAILABLE_VEHICLE_TYPE_IDS_SCHEMA_PATH, vehicleDocksAvailableVehiecleTypeIdSchema);
5156
}
5257
}

src/main/java/org/entur/gbfs/validation/validator/versions/Version21.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
import org.entur.gbfs.validation.validator.rules.CurrentRangeMetersIsRequiredInVehicleStatusForMotorizedVehicles;
2222
import org.entur.gbfs.validation.validator.rules.CustomRuleSchemaPatcher;
2323
import org.entur.gbfs.validation.validator.rules.VehicleTypeIdRequiredInVehicleStatusWhenVehicleTypesExist;
24-
import org.entur.gbfs.validation.validator.rules.VehicleTypeIdsInVehicleTypesAvailableExistsInVehicleTypes;
24+
import org.entur.gbfs.validation.validator.rules.NoInvalidReferenceToVehicleTypesInStationStatus;
2525
import org.entur.gbfs.validation.validator.rules.VehicleTypesAvailableRequiredWhenVehicleTypesExist;
2626

2727
import java.util.Arrays;
@@ -49,7 +49,7 @@ public class Version21 extends AbstractVersion {
4949

5050
private static final Map<String, List<CustomRuleSchemaPatcher>> customRules = Map.of(
5151
"station_status", List.of(
52-
new VehicleTypeIdsInVehicleTypesAvailableExistsInVehicleTypes(),
52+
new NoInvalidReferenceToVehicleTypesInStationStatus(),
5353
new VehicleTypesAvailableRequiredWhenVehicleTypesExist()
5454
),
5555
"free_bike_status", List.of(

src/main/java/org/entur/gbfs/validation/validator/versions/Version22.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
import org.entur.gbfs.validation.validator.rules.CurrentRangeMetersIsRequiredInVehicleStatusForMotorizedVehicles;
2222
import org.entur.gbfs.validation.validator.rules.CustomRuleSchemaPatcher;
2323
import org.entur.gbfs.validation.validator.rules.VehicleTypeIdRequiredInVehicleStatusWhenVehicleTypesExist;
24-
import org.entur.gbfs.validation.validator.rules.VehicleTypeIdsInVehicleTypesAvailableExistsInVehicleTypes;
24+
import org.entur.gbfs.validation.validator.rules.NoInvalidReferenceToVehicleTypesInStationStatus;
2525
import org.entur.gbfs.validation.validator.rules.VehicleTypesAvailableRequiredWhenVehicleTypesExist;
2626

2727
import java.util.Arrays;
@@ -49,7 +49,7 @@ public class Version22 extends AbstractVersion {
4949

5050
private static final Map<String, List<CustomRuleSchemaPatcher>> customRules = Map.of(
5151
"station_status", List.of(
52-
new VehicleTypeIdsInVehicleTypesAvailableExistsInVehicleTypes(),
52+
new NoInvalidReferenceToVehicleTypesInStationStatus(),
5353
new VehicleTypesAvailableRequiredWhenVehicleTypesExist()
5454
),
5555
"free_bike_status", List.of(

src/main/java/org/entur/gbfs/validation/validator/versions/Version23.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
import org.entur.gbfs.validation.validator.rules.CustomRuleSchemaPatcher;
2323
import org.entur.gbfs.validation.validator.rules.VehicleTypeDefaultPricingPlanIdExistsInSystemPricingPlans;
2424
import org.entur.gbfs.validation.validator.rules.VehicleTypeIdRequiredInVehicleStatusWhenVehicleTypesExist;
25-
import org.entur.gbfs.validation.validator.rules.VehicleTypeIdsInVehicleTypesAvailableExistsInVehicleTypes;
25+
import org.entur.gbfs.validation.validator.rules.NoInvalidReferenceToVehicleTypesInStationStatus;
2626
import org.entur.gbfs.validation.validator.rules.VehicleTypesAvailableRequiredWhenVehicleTypesExist;
2727

2828
import java.util.Arrays;
@@ -53,7 +53,7 @@ public class Version23 extends AbstractVersion {
5353
new VehicleTypeDefaultPricingPlanIdExistsInSystemPricingPlans()
5454
),
5555
"station_status", List.of(
56-
new VehicleTypeIdsInVehicleTypesAvailableExistsInVehicleTypes(),
56+
new NoInvalidReferenceToVehicleTypesInStationStatus(),
5757
new VehicleTypesAvailableRequiredWhenVehicleTypesExist()
5858
),
5959
"free_bike_status", List.of(

src/main/java/org/entur/gbfs/validation/validator/versions/Version30_RC.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
import org.entur.gbfs.validation.validator.rules.CustomRuleSchemaPatcher;
2323
import org.entur.gbfs.validation.validator.rules.VehicleTypeDefaultPricingPlanIdExistsInSystemPricingPlans;
2424
import org.entur.gbfs.validation.validator.rules.VehicleTypeIdRequiredInVehicleStatusWhenVehicleTypesExist;
25-
import org.entur.gbfs.validation.validator.rules.VehicleTypeIdsInVehicleTypesAvailableExistsInVehicleTypes;
25+
import org.entur.gbfs.validation.validator.rules.NoInvalidReferenceToVehicleTypesInStationStatus;
2626
import org.entur.gbfs.validation.validator.rules.VehicleTypesAvailableRequiredWhenVehicleTypesExist;
2727

2828
import java.util.Arrays;
@@ -52,7 +52,7 @@ public class Version30_RC extends AbstractVersion {
5252
new VehicleTypeDefaultPricingPlanIdExistsInSystemPricingPlans()
5353
),
5454
"station_status", List.of(
55-
new VehicleTypeIdsInVehicleTypesAvailableExistsInVehicleTypes(),
55+
new NoInvalidReferenceToVehicleTypesInStationStatus(),
5656
new VehicleTypesAvailableRequiredWhenVehicleTypesExist()
5757
),
5858
"vehicle_status", List.of(

0 commit comments

Comments
 (0)