diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml index d9e8ff2a..5f38ef7f 100644 --- a/.github/workflows/push.yml +++ b/.github/workflows/push.yml @@ -3,6 +3,8 @@ on: push: branches: - main + - update_netex_1_16_jakarta + - upgrade-netex-java-model-3 pull_request: branches: - main @@ -27,7 +29,7 @@ jobs: wget https://raw.githubusercontent.com/entur/ror-maven-settings/master/.m2/settings_release_maven_central.xml -O .github/workflows/settings.xml - uses: actions/setup-java@v4 with: - java-version: 17 + java-version: 21 distribution: liberica - name: Cache Maven dependencies uses: actions/cache@v4 @@ -69,4 +71,13 @@ jobs: secrets: inherit with: push_to_repo: true - snapshot: false \ No newline at end of file + snapshot: false + publish-snapshot: + if: github.repository_owner == 'entur' && github.event_name == 'push' && (github.ref == 'refs/heads/update_netex_1_16_jakarta' || github.ref == 'refs/heads/upgrade-netex-java-model-3') + needs: [maven-package] + name: Publish snapshot to maven central + uses: entur/gha-maven-central/.github/workflows/maven-publish.yml@v1 + secrets: inherit + with: + push_to_repo: true + snapshot: true \ No newline at end of file diff --git a/pom.xml b/pom.xml index f13ce46b..0f2cfc6b 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ org.entur netex-validator-java - 11.0.26-SNAPSHOT + 13.0.0-SNAPSHOT netex-validator-java Library for validating NeTEx datasets against the Nordic NeTEx Profile. @@ -53,10 +53,10 @@ UTF-8 - 17 + 21 - 2.0.15.2 - 3.1.73 + 3.0.0-SNAPSHOT + 5.0.0-SNAPSHOT 12.9 33.0 2.6 @@ -97,8 +97,8 @@ - 17 - 17 + 21 + 21 @@ -481,6 +481,16 @@ Open Source Geospatial Foundation Repository https://repo.osgeo.org/repository/release/ + + maven-snapshots + https://central.sonatype.com/repository/maven-snapshots + + false + + + true + + @@ -531,7 +541,7 @@ - 17 + 21 diff --git a/src/main/java/org/entur/netex/validation/validator/id/ReferenceToValidEntityTypeValidator.java b/src/main/java/org/entur/netex/validation/validator/id/ReferenceToValidEntityTypeValidator.java index 9a122735..24519e7d 100644 --- a/src/main/java/org/entur/netex/validation/validator/id/ReferenceToValidEntityTypeValidator.java +++ b/src/main/java/org/entur/netex/validation/validator/id/ReferenceToValidEntityTypeValidator.java @@ -139,6 +139,10 @@ private Map> getAllowedSubstitutions() { vehicleScheduleJourneyRefSubstitutions.add("DeadRun"); substitutions.put("VehicleJourneyRef", vehicleScheduleJourneyRefSubstitutions); + Set datedVehicleJourneyRefSubstitutions = new HashSet<>(); + datedVehicleJourneyRefSubstitutions.add("DatedServiceJourney"); + substitutions.put("DatedVehicleJourneyRef", datedVehicleJourneyRefSubstitutions); + Set serviceJourneyPatternRefSubstitutions = new HashSet<>(); serviceJourneyPatternRefSubstitutions.add("ServiceJourneyPattern"); substitutions.put("JourneyPatternRef", serviceJourneyPatternRefSubstitutions); diff --git a/src/main/java/org/entur/netex/validation/validator/jaxb/JAXBValidationContext.java b/src/main/java/org/entur/netex/validation/validator/jaxb/JAXBValidationContext.java index 345d2cf4..5947faf1 100644 --- a/src/main/java/org/entur/netex/validation/validator/jaxb/JAXBValidationContext.java +++ b/src/main/java/org/entur/netex/validation/validator/jaxb/JAXBValidationContext.java @@ -332,8 +332,7 @@ public Collection serviceCalendarFrames() { */ @Nullable public TransportModeAndSubMode transportModeAndSubMode(ServiceJourney serviceJourney) { - AllVehicleModesOfTransportEnumeration transportMode = - serviceJourney.getTransportMode(); + AllPublicTransportModesEnumeration transportMode = serviceJourney.getTransportMode(); TransportSubmodeStructure subModeStructure = serviceJourney.getTransportSubmode(); diff --git a/src/main/java/org/entur/netex/validation/validator/jaxb/SiteFrameStopPlaceRepository.java b/src/main/java/org/entur/netex/validation/validator/jaxb/SiteFrameStopPlaceRepository.java index 12111efa..d64e0ee0 100644 --- a/src/main/java/org/entur/netex/validation/validator/jaxb/SiteFrameStopPlaceRepository.java +++ b/src/main/java/org/entur/netex/validation/validator/jaxb/SiteFrameStopPlaceRepository.java @@ -2,6 +2,7 @@ import javax.annotation.Nullable; import org.entur.netex.index.api.NetexEntitiesIndex; +import org.entur.netex.validation.validator.model.MultilingualStringValue; import org.entur.netex.validation.validator.model.QuayCoordinates; import org.entur.netex.validation.validator.model.QuayId; import org.entur.netex.validation.validator.model.StopPlaceId; @@ -69,10 +70,8 @@ public String getStopPlaceNameForQuayId(QuayId quayId) { if (stopPlaceId == null) { return null; } - return netexEntitiesIndex - .getStopPlaceIndex() - .getLatestVersion(stopPlaceId) - .getName() - .getValue(); + return MultilingualStringValue.of( + netexEntitiesIndex.getStopPlaceIndex().getLatestVersion(stopPlaceId).getName() + ); } } diff --git a/src/main/java/org/entur/netex/validation/validator/jaxb/support/DatedServiceJourneyUtils.java b/src/main/java/org/entur/netex/validation/validator/jaxb/support/DatedServiceJourneyUtils.java index c6b35122..fcd96d74 100644 --- a/src/main/java/org/entur/netex/validation/validator/jaxb/support/DatedServiceJourneyUtils.java +++ b/src/main/java/org/entur/netex/validation/validator/jaxb/support/DatedServiceJourneyUtils.java @@ -3,8 +3,7 @@ import jakarta.xml.bind.JAXBElement; import javax.annotation.Nullable; import org.rutebanken.netex.model.DatedServiceJourney; -import org.rutebanken.netex.model.DatedServiceJourneyRefStructure; -import org.rutebanken.netex.model.VersionOfObjectRefStructure; +import org.rutebanken.netex.model.VehicleJourneyRefStructure; public class DatedServiceJourneyUtils { @@ -17,13 +16,15 @@ private DatedServiceJourneyUtils() {} public static String originalDatedServiceJourneyRef( DatedServiceJourney datedServiceJourney ) { + if (datedServiceJourney.getReplacedJourneys() == null) { + return null; + } return datedServiceJourney - .getJourneyRef() + .getReplacedJourneys() + .getDatedVehicleJourneyRefOrNormalDatedVehicleJourneyRef() .stream() .map(JAXBElement::getValue) - .filter(DatedServiceJourneyRefStructure.class::isInstance) - .map(DatedServiceJourneyRefStructure.class::cast) - .map(VersionOfObjectRefStructure::getRef) + .map(VehicleJourneyRefStructure::getRef) .findFirst() .orElse(null); } diff --git a/src/main/java/org/entur/netex/validation/validator/model/MultilingualStringValue.java b/src/main/java/org/entur/netex/validation/validator/model/MultilingualStringValue.java new file mode 100644 index 00000000..8446f954 --- /dev/null +++ b/src/main/java/org/entur/netex/validation/validator/model/MultilingualStringValue.java @@ -0,0 +1,35 @@ +package org.entur.netex.validation.validator.model; + +import java.io.Serializable; +import java.util.List; +import javax.annotation.Nullable; +import org.rutebanken.netex.model.MultilingualString; + +/** + * Helper for extracting string values from NeTEx MultilingualString. + * In NeTEx 2.0 (netex-java-model 3.x), MultilingualString uses a mixed content model + * where text is stored in getContent() as a List of Serializable objects, + * replacing the previous getValue() method. + */ +public final class MultilingualStringValue { + + private MultilingualStringValue() {} + + @Nullable + public static String of(@Nullable MultilingualString multilingualString) { + if (multilingualString == null) { + return null; + } + List content = multilingualString.getContent(); + if (content == null || content.isEmpty()) { + return null; + } + StringBuilder sb = new StringBuilder(); + for (Serializable item : content) { + if (item instanceof String s) { + sb.append(s); + } + } + return sb.isEmpty() ? null : sb.toString(); + } +} diff --git a/src/main/java/org/entur/netex/validation/validator/model/SimpleLine.java b/src/main/java/org/entur/netex/validation/validator/model/SimpleLine.java index b538640e..9e3f4b2b 100644 --- a/src/main/java/org/entur/netex/validation/validator/model/SimpleLine.java +++ b/src/main/java/org/entur/netex/validation/validator/model/SimpleLine.java @@ -5,7 +5,6 @@ import org.entur.netex.validation.exception.NetexValidationException; import org.rutebanken.netex.model.FlexibleLine; import org.rutebanken.netex.model.Line; -import org.rutebanken.netex.model.MultilingualString; /** * Light-way representation of a NeTEx Line. @@ -21,7 +20,7 @@ public record SimpleLine(String lineId, String lineName, String fileName) { public static SimpleLine of(Line line, String fileName) { return new SimpleLine( line.getId(), - Optional.ofNullable(line.getName()).map(MultilingualString::getValue).orElse(null), + Optional.ofNullable(line.getName()).map(MultilingualStringValue::of).orElse(null), fileName ); } @@ -31,7 +30,7 @@ public static SimpleLine of(FlexibleLine flexibleLine, String fileName) { flexibleLine.getId(), Optional .ofNullable(flexibleLine.getName()) - .map(MultilingualString::getValue) + .map(MultilingualStringValue::of) .orElse(null), fileName ); diff --git a/src/main/java/org/entur/netex/validation/validator/model/TransportModeAndSubMode.java b/src/main/java/org/entur/netex/validation/validator/model/TransportModeAndSubMode.java index e510e5c8..b5233a0f 100644 --- a/src/main/java/org/entur/netex/validation/validator/model/TransportModeAndSubMode.java +++ b/src/main/java/org/entur/netex/validation/validator/model/TransportModeAndSubMode.java @@ -2,7 +2,7 @@ import java.util.Objects; import javax.annotation.Nullable; -import org.rutebanken.netex.model.AllVehicleModesOfTransportEnumeration; +import org.rutebanken.netex.model.AllPublicTransportModesEnumeration; import org.rutebanken.netex.model.StopPlace; import org.rutebanken.netex.model.TransportSubmodeStructure; @@ -10,7 +10,7 @@ * A pair of mode and sub-mode. */ public record TransportModeAndSubMode( - AllVehicleModesOfTransportEnumeration mode, + AllPublicTransportModesEnumeration mode, TransportSubMode subMode ) { public TransportModeAndSubMode { @@ -25,7 +25,7 @@ public record TransportModeAndSubMode( */ @Nullable public static TransportModeAndSubMode of(StopPlace stopPlace) { - AllVehicleModesOfTransportEnumeration transportMode = stopPlace.getTransportMode(); + AllPublicTransportModesEnumeration transportMode = stopPlace.getTransportMode(); if (transportMode == null) { return null; } @@ -42,7 +42,7 @@ public static TransportModeAndSubMode of(StopPlace stopPlace) { */ @Nullable public static TransportModeAndSubMode of( - AllVehicleModesOfTransportEnumeration transportMode, + AllPublicTransportModesEnumeration transportMode, TransportSubmodeStructure submodeStructure ) { if (transportMode == null) { diff --git a/src/main/java/org/entur/netex/validation/validator/model/TransportSubMode.java b/src/main/java/org/entur/netex/validation/validator/model/TransportSubMode.java index a72af12a..a1d11c95 100644 --- a/src/main/java/org/entur/netex/validation/validator/model/TransportSubMode.java +++ b/src/main/java/org/entur/netex/validation/validator/model/TransportSubMode.java @@ -3,7 +3,7 @@ import java.util.Objects; import java.util.Optional; import org.entur.netex.validation.exception.NetexValidationException; -import org.rutebanken.netex.model.AllVehicleModesOfTransportEnumeration; +import org.rutebanken.netex.model.AllPublicTransportModesEnumeration; import org.rutebanken.netex.model.StopPlace; import org.rutebanken.netex.model.TransportSubmodeStructure; @@ -64,7 +64,7 @@ public static Optional of(StopPlace stopPlace) { } public static Optional of( - AllVehicleModesOfTransportEnumeration transportMode, + AllPublicTransportModesEnumeration transportMode, TransportSubmodeStructure subModeStructure ) { if (transportMode == null || subModeStructure == null) { diff --git a/src/main/java/org/entur/netex/validation/validator/xpath/tree/DefaultTimetableFrameValidationTreeFactory.java b/src/main/java/org/entur/netex/validation/validator/xpath/tree/DefaultTimetableFrameValidationTreeFactory.java index 4c27774f..caf5912a 100644 --- a/src/main/java/org/entur/netex/validation/validator/xpath/tree/DefaultTimetableFrameValidationTreeFactory.java +++ b/src/main/java/org/entur/netex/validation/validator/xpath/tree/DefaultTimetableFrameValidationTreeFactory.java @@ -230,7 +230,7 @@ public ValidationTreeBuilder builder() { ) .withRuleForLineFile( new ValidateNotExist( - "vehicleJourneys/DatedServiceJourney/DatedServiceJourneyRef[@ref = preceding-sibling::DatedServiceJourneyRef/@ref]", + "vehicleJourneys/DatedServiceJourney/replacedJourneys/DatedVehicleJourneyRef[@ref = preceding-sibling::DatedVehicleJourneyRef/@ref]", CODE_DATED_SERVICE_JOURNEY_5, "DatedServiceJourney multiple references to the same DatedServiceJourney", "Multiple references from a DatedServiceJourney to the same DatedServiceJourney", diff --git a/src/main/java/org/entur/netex/validation/xml/NetexSchemaRepository.java b/src/main/java/org/entur/netex/validation/xml/NetexSchemaRepository.java index d2a998c0..4689fbcb 100644 --- a/src/main/java/org/entur/netex/validation/xml/NetexSchemaRepository.java +++ b/src/main/java/org/entur/netex/validation/xml/NetexSchemaRepository.java @@ -82,6 +82,8 @@ public static NeTExValidator.NetexVersion detectNetexSchemaVersion(byte[] conten return NeTExValidator.NetexVersion.v1_14; case "1.15": return NeTExValidator.NetexVersion.v1_15; + case "1.16": + return NeTExValidator.NetexVersion.v1_16; default: } } diff --git a/src/test/java/org/entur/netex/validation/validator/id/ReferenceToValidEntityTypeValidatorTest.java b/src/test/java/org/entur/netex/validation/validator/id/ReferenceToValidEntityTypeValidatorTest.java index ac764e6b..5722197a 100644 --- a/src/test/java/org/entur/netex/validation/validator/id/ReferenceToValidEntityTypeValidatorTest.java +++ b/src/test/java/org/entur/netex/validation/validator/id/ReferenceToValidEntityTypeValidatorTest.java @@ -104,4 +104,31 @@ void testValidReferenceType() { ); Assertions.assertTrue(validationIssues.isEmpty()); } + + @Test + void testDatedVehicleJourneyRefReferencingDatedServiceJourney() { + IdVersion idVersion = new IdVersion( + "XXX:DatedServiceJourney:1", + null, + "DatedVehicleJourneyRef", + null, + null, + 0, + 0 + ); + List localRefs = List.of(idVersion); + XPathValidationContext xPathValidationContext = new XPathValidationContext( + null, + null, + TEST_CODESPACE, + null, + Set.of(), + localRefs, + validationReport.getValidationReportId() + ); + List validationIssues = referenceToValidEntityTypeValidator.validate( + xPathValidationContext + ); + Assertions.assertTrue(validationIssues.isEmpty()); + } } diff --git a/src/test/java/org/entur/netex/validation/validator/jaxb/JAXBValidationContextTest.java b/src/test/java/org/entur/netex/validation/validator/jaxb/JAXBValidationContextTest.java index 28379da9..274f6e5b 100644 --- a/src/test/java/org/entur/netex/validation/validator/jaxb/JAXBValidationContextTest.java +++ b/src/test/java/org/entur/netex/validation/validator/jaxb/JAXBValidationContextTest.java @@ -16,7 +16,7 @@ import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; -import org.rutebanken.netex.model.AllVehicleModesOfTransportEnumeration; +import org.rutebanken.netex.model.AllPublicTransportModesEnumeration; import org.rutebanken.netex.model.BusSubmodeEnumeration; import org.rutebanken.netex.model.JourneyPattern; import org.rutebanken.netex.model.JourneyPatternRefStructure; @@ -42,7 +42,7 @@ class JAXBValidationContextTest { void setUp() { Line line = new Line() .withId("TST:Line:1") - .withTransportMode(AllVehicleModesOfTransportEnumeration.BUS) + .withTransportMode(AllPublicTransportModesEnumeration.BUS) .withTransportSubmode( new TransportSubmodeStructure().withBusSubmode(BusSubmodeEnumeration.LOCAL_BUS) ); @@ -140,10 +140,7 @@ void transportModeAndSubModeDefinedOnLineFromJourneyPattern() { journeyPattern ); assertNotNull(transportModeAndSubMode); - assertEquals( - AllVehicleModesOfTransportEnumeration.BUS, - transportModeAndSubMode.mode() - ); + assertEquals(AllPublicTransportModesEnumeration.BUS, transportModeAndSubMode.mode()); assertEquals( new TransportSubMode(BusSubmodeEnumeration.LOCAL_BUS.value()), transportModeAndSubMode.subMode() @@ -166,10 +163,7 @@ void transportModeAndSubModeDefinedOnLineFromServiceJourney() { serviceJourney ); assertNotNull(transportModeAndSubMode); - assertEquals( - AllVehicleModesOfTransportEnumeration.BUS, - transportModeAndSubMode.mode() - ); + assertEquals(AllPublicTransportModesEnumeration.BUS, transportModeAndSubMode.mode()); assertEquals( new TransportSubMode(BusSubmodeEnumeration.LOCAL_BUS.value()), transportModeAndSubMode.subMode() @@ -178,7 +172,7 @@ void transportModeAndSubModeDefinedOnLineFromServiceJourney() { @Test void transportModeAndSubModeDefinedOnServiceJourneyFromServiceJourney() { - serviceJourney.withTransportMode(AllVehicleModesOfTransportEnumeration.RAIL); + serviceJourney.withTransportMode(AllPublicTransportModesEnumeration.RAIL); serviceJourney.withTransportSubmode( new TransportSubmodeStructure().withRailSubmode(RailSubmodeEnumeration.LOCAL) ); @@ -197,10 +191,7 @@ void transportModeAndSubModeDefinedOnServiceJourneyFromServiceJourney() { serviceJourney ); assertNotNull(transportModeAndSubMode); - assertEquals( - AllVehicleModesOfTransportEnumeration.RAIL, - transportModeAndSubMode.mode() - ); + assertEquals(AllPublicTransportModesEnumeration.RAIL, transportModeAndSubMode.mode()); assertEquals( new TransportSubMode(RailSubmodeEnumeration.LOCAL.value()), transportModeAndSubMode.subMode() diff --git a/src/test/java/org/entur/netex/validation/validator/jaxb/SiteFrameStopPlaceRepositoryTest.java b/src/test/java/org/entur/netex/validation/validator/jaxb/SiteFrameStopPlaceRepositoryTest.java index d5c3c9b7..0768950c 100644 --- a/src/test/java/org/entur/netex/validation/validator/jaxb/SiteFrameStopPlaceRepositoryTest.java +++ b/src/test/java/org/entur/netex/validation/validator/jaxb/SiteFrameStopPlaceRepositoryTest.java @@ -13,7 +13,7 @@ import org.entur.netex.validation.validator.model.TransportModeAndSubMode; import org.entur.netex.validation.validator.model.TransportSubMode; import org.junit.jupiter.api.Test; -import org.rutebanken.netex.model.AllVehicleModesOfTransportEnumeration; +import org.rutebanken.netex.model.AllPublicTransportModesEnumeration; import org.rutebanken.netex.model.BusSubmodeEnumeration; import org.rutebanken.netex.model.LocationStructure; import org.rutebanken.netex.model.MultilingualString; @@ -28,8 +28,8 @@ class SiteFrameStopPlaceRepositoryTest { private static final int QUAY_LATITUDE = 1; private static final int QUAY_LONGITUDE = 2; private static final String STOP_PLACE_NAME = "STOP_PLACE_NAME"; - private static final AllVehicleModesOfTransportEnumeration STOP_PLACE_TRANSPORT_MODE = - AllVehicleModesOfTransportEnumeration.BUS; + private static final AllPublicTransportModesEnumeration STOP_PLACE_TRANSPORT_MODE = + AllPublicTransportModesEnumeration.BUS; private static final BusSubmodeEnumeration STOP_PLACE_TRANSPORT_SUBMODE = BusSubmodeEnumeration.LOCAL_BUS; @@ -121,7 +121,7 @@ void testGetCoordinatesForNonExistingQuayId() { void testGetStopPlaceNameForQuayId() { NetexEntitiesIndex netexEntitiesIndex = new NetexEntitiesIndexImpl(); StopPlace stopPlace = new StopPlace(); - stopPlace.setName(new MultilingualString().withValue(STOP_PLACE_NAME)); + stopPlace.setName(new MultilingualString().withContent(STOP_PLACE_NAME)); netexEntitiesIndex.getStopPlaceIndex().put(STOP_PLACE_ID, List.of(stopPlace)); Quay quay = new Quay(); netexEntitiesIndex.getQuayIndex().put(QUAY_ID, List.of(quay)); diff --git a/src/test/java/org/entur/netex/validation/validator/model/TransportModeAndSubModeTest.java b/src/test/java/org/entur/netex/validation/validator/model/TransportModeAndSubModeTest.java index 8eb6de6c..2fdf244e 100644 --- a/src/test/java/org/entur/netex/validation/validator/model/TransportModeAndSubModeTest.java +++ b/src/test/java/org/entur/netex/validation/validator/model/TransportModeAndSubModeTest.java @@ -3,7 +3,7 @@ import static org.junit.jupiter.api.Assertions.*; import org.junit.jupiter.api.Test; -import org.rutebanken.netex.model.AllVehicleModesOfTransportEnumeration; +import org.rutebanken.netex.model.AllPublicTransportModesEnumeration; import org.rutebanken.netex.model.BusSubmodeEnumeration; import org.rutebanken.netex.model.RailSubmodeEnumeration; import org.rutebanken.netex.model.StopPlace; @@ -23,7 +23,7 @@ void testMissingTransportModeAndSubModeFromStopPlace() { @Test void testMissingTransportSubModeFromStopPlace() { StopPlace stopPlace = new StopPlace(); - stopPlace.withTransportMode(AllVehicleModesOfTransportEnumeration.RAIL); + stopPlace.withTransportMode(AllPublicTransportModesEnumeration.RAIL); TransportModeAndSubMode transportModeAndSubMode = TransportModeAndSubMode.of( stopPlace ); @@ -35,16 +35,13 @@ void testMissingTransportSubModeFromStopPlace() { void testCreateTransportModeAndSubModeFromStopPlace() { StopPlace stopPlace = new StopPlace(); stopPlace - .withTransportMode(AllVehicleModesOfTransportEnumeration.RAIL) + .withTransportMode(AllPublicTransportModesEnumeration.RAIL) .withRailSubmode(RailSubmodeEnumeration.LOCAL); TransportModeAndSubMode transportModeAndSubMode = TransportModeAndSubMode.of( stopPlace ); assertNotNull(transportModeAndSubMode); - assertEquals( - AllVehicleModesOfTransportEnumeration.RAIL, - transportModeAndSubMode.mode() - ); + assertEquals(AllPublicTransportModesEnumeration.RAIL, transportModeAndSubMode.mode()); assertEquals( new TransportSubMode(RailSubmodeEnumeration.LOCAL.value()), transportModeAndSubMode.subMode() @@ -56,7 +53,7 @@ void testCreateTransportModeAndSubModeFromStructure() { TransportSubmodeStructure submode = new TransportSubmodeStructure() .withBusSubmode(BusSubmodeEnumeration.LOCAL_BUS); TransportModeAndSubMode transportModeAndSubMode = TransportModeAndSubMode.of( - AllVehicleModesOfTransportEnumeration.BUS, + AllPublicTransportModesEnumeration.BUS, submode ); assertNotNull(transportModeAndSubMode); @@ -74,7 +71,7 @@ void testUnknownTransportSubModeForMode() { TransportSubmodeStructure submode = new TransportSubmodeStructure() .withBusSubmode(BusSubmodeEnumeration.LOCAL_BUS); TransportModeAndSubMode transportModeAndSubMode = TransportModeAndSubMode.of( - AllVehicleModesOfTransportEnumeration.RAIL, + AllPublicTransportModesEnumeration.RAIL, submode ); assertNotNull(transportModeAndSubMode); diff --git a/src/test/java/org/entur/netex/validation/validator/model/TransportSubModeTest.java b/src/test/java/org/entur/netex/validation/validator/model/TransportSubModeTest.java index c7c0e35a..7a66b3bf 100644 --- a/src/test/java/org/entur/netex/validation/validator/model/TransportSubModeTest.java +++ b/src/test/java/org/entur/netex/validation/validator/model/TransportSubModeTest.java @@ -4,7 +4,7 @@ import java.util.Optional; import org.junit.jupiter.api.Test; -import org.rutebanken.netex.model.AllVehicleModesOfTransportEnumeration; +import org.rutebanken.netex.model.AllPublicTransportModesEnumeration; import org.rutebanken.netex.model.RailSubmodeEnumeration; import org.rutebanken.netex.model.SelfDriveSubmodeEnumeration; import org.rutebanken.netex.model.StopPlace; @@ -28,7 +28,7 @@ void testMissingTransportModeAndSubModeOnStopPlace() { @Test void testMissingTransportSubModeOnStopPlace() { StopPlace stopPlace = new StopPlace(); - stopPlace.withTransportMode(AllVehicleModesOfTransportEnumeration.RAIL); + stopPlace.withTransportMode(AllPublicTransportModesEnumeration.RAIL); Optional transportSubMode = TransportSubMode.of(stopPlace); assertFalse(transportSubMode.isPresent()); } @@ -37,7 +37,7 @@ void testMissingTransportSubModeOnStopPlace() { void testTransportModeAndSubModeOnStopPlace() { StopPlace stopPlace = new StopPlace(); stopPlace - .withTransportMode(AllVehicleModesOfTransportEnumeration.RAIL) + .withTransportMode(AllPublicTransportModesEnumeration.RAIL) .withRailSubmode(RailSubmodeEnumeration.LOCAL); Optional transportSubMode = TransportSubMode.of(stopPlace); assertTrue(transportSubMode.isPresent()); @@ -53,7 +53,7 @@ void testMissingTransportModeAndSubModeFromStructure() { @Test void testMissingTransportSubModeFromStructure() { Optional transportSubMode = TransportSubMode.of( - AllVehicleModesOfTransportEnumeration.RAIL, + AllPublicTransportModesEnumeration.RAIL, null ); assertFalse(transportSubMode.isPresent()); @@ -62,7 +62,7 @@ void testMissingTransportSubModeFromStructure() { @Test void testUnknownTransportSubMode() { Optional transportSubMode = TransportSubMode.of( - AllVehicleModesOfTransportEnumeration.RAIL, + AllPublicTransportModesEnumeration.RAIL, new TransportSubmodeStructure() .withSelfDriveSubmode(SelfDriveSubmodeEnumeration.ALL_VEHICLES) ); @@ -72,7 +72,7 @@ void testUnknownTransportSubMode() { @Test void testTransportModeAndSubModeFromStructure() { Optional transportSubMode = TransportSubMode.of( - AllVehicleModesOfTransportEnumeration.RAIL, + AllPublicTransportModesEnumeration.RAIL, new TransportSubmodeStructure().withRailSubmode(RailSubmodeEnumeration.LOCAL) ); assertTrue(transportSubMode.isPresent()); diff --git a/src/test/resources/test-multiple-references-to-same-dsj.zip b/src/test/resources/test-multiple-references-to-same-dsj.zip index 39a14f99..ff7e7789 100644 Binary files a/src/test/resources/test-multiple-references-to-same-dsj.zip and b/src/test/resources/test-multiple-references-to-same-dsj.zip differ