diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 6d778625..61e55985 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -14,7 +14,7 @@ jobs: fetch-depth: 0 - uses: actions/setup-java@v6.0.1 with: - java-version: 17.0.13 + java-version: 21 distribution: liberica - name: Cache Maven dependencies uses: actions/cache@v6.1.0 diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml index 7e57f8f1..7b1f16f8 100644 --- a/.github/workflows/push.yml +++ b/.github/workflows/push.yml @@ -5,8 +5,6 @@ on: - master - 3.x env: - JFROG_USER: ${{ secrets.ARTIFACTORY_AUTH_USER }} - JFROG_PASS: ${{ secrets.ARTIFACTORY_AUTH_TOKEN }} SONATYPE_GPG_KEY_BASE64: ${{ secrets.SONATYPE_GPG_KEY_BASE64 }} SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }} SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }} @@ -25,7 +23,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@v6.0.1 with: - java-version: 17.0.13 + java-version: 21 distribution: liberica - name: Cache Maven dependencies uses: actions/cache@v6.1.0 @@ -103,4 +101,4 @@ jobs: git config user.email "41898282+github-actions[bot]@users.noreply.github.com" git tag -a "${tag}" -m "Release ${tag}" "${sha}" git push origin "${tag}" - echo "Tagged ${tag} at ${sha}" >> "$GITHUB_STEP_SUMMARY" \ No newline at end of file + echo "Tagged ${tag} at ${sha}" >> "$GITHUB_STEP_SUMMARY" diff --git a/CLAUDE.md b/CLAUDE.md index 73489f0b..9fead781 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -15,13 +15,13 @@ Java library for parsing NeTEx (Network Timetable Exchange) XML files into a que - **Format code (prettier)**: `mvn prettier:write` - **Full build with formatting check (CI)**: `mvn verify -P prettierCheck` -Requires Java 17+. Uses JUnit 5 and AssertJ for tests. +Requires Java 21+. Uses JUnit 5 and AssertJ for tests. ## Architecture ### Parsing Pipeline -1. **`NetexParser`** (entry point, `org.entur.netex`) — accepts a ZIP path or `InputStream`, uses JAXB to unmarshal NeTEx XML into `PublicationDeliveryStructure` objects from the `netex-java-model` dependency. +1. **`NetexParser`** (entry point, `org.entur.netex`) — accepts a ZIP path or `InputStream`, uses JAXB to unmarshal NeTEx XML into `PublicationDeliveryStructure` objects from the `netex2-java-model` dependency. 2. **`NetexDocumentParser`** — routes each NeTEx frame type to its specialized parser. Handles recursive `CompositeFrame` nesting. 3. **Frame parsers** (`org.entur.netex.loader.parser`) — one per frame type (`ServiceFrameParser`, `TimeTableFrameParser`, `SiteFrameParser`, `ServiceCalendarFrameParser`, `ResourceFrameParser`, `FareFrameParser`, `VehicleScheduleFrameParser`). Each extends the abstract `NetexParser` which enforces a two-step pattern: `parse(T node)` then `setResultOnIndex(NetexEntitiesIndex)`. @@ -33,7 +33,7 @@ Requires Java 17+. Uses JUnit 5 and AssertJ for tests. ### Key Dependency -`org.entur:netex-java-model` provides all JAXB-generated NeTEx model classes (`org.rutebanken.netex.model.*`). +`org.entur:netex2-java-model` provides all JAXB-generated NeTEx model classes (`org.entur.netex2.model.*`). ## Adding Support for New NeTEx Entities diff --git a/pom.xml b/pom.xml index c2659576..466b8ee2 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ org.entur netex-parser-java - 4.0.19-SNAPSHOT + 5.0.0-SNAPSHOT netex-java-parser Library for parsing NeTEx files and looking up entities in an index. @@ -50,9 +50,9 @@ UTF-8 - 17 + 21 - 2.0.16.2 + 3.0.0 32.1.3-jre 1.6.13 @@ -92,8 +92,8 @@ org.entur - netex-java-model - ${netex-java-model.version} + netex2-java-model + ${netex2-java-model.version} com.google.guava @@ -343,7 +343,7 @@ - 17 + 21 diff --git a/src/main/java/org/entur/netex/NetexParser.java b/src/main/java/org/entur/netex/NetexParser.java index 5941cf5f..31dc7c11 100644 --- a/src/main/java/org/entur/netex/NetexParser.java +++ b/src/main/java/org/entur/netex/NetexParser.java @@ -11,7 +11,7 @@ import org.entur.netex.index.impl.NetexEntitiesIndexImpl; import org.entur.netex.loader.NetexXmlParser; import org.entur.netex.loader.parser.NetexDocumentParser; -import org.rutebanken.netex.model.PublicationDeliveryStructure; +import org.entur.netex2.model.PublicationDeliveryStructure; /** * Main entry point to the library. Used to parse a NeTEx publication diff --git a/src/main/java/org/entur/netex/index/api/NetexEntitiesIndex.java b/src/main/java/org/entur/netex/index/api/NetexEntitiesIndex.java index 373b73b4..66972a2e 100644 --- a/src/main/java/org/entur/netex/index/api/NetexEntitiesIndex.java +++ b/src/main/java/org/entur/netex/index/api/NetexEntitiesIndex.java @@ -4,48 +4,48 @@ import java.time.LocalDateTime; import java.util.Collection; import java.util.Map; -import org.rutebanken.netex.model.Authority; -import org.rutebanken.netex.model.Block; -import org.rutebanken.netex.model.Branding; -import org.rutebanken.netex.model.CompositeFrame; -import org.rutebanken.netex.model.DatedServiceJourney; -import org.rutebanken.netex.model.DayType; -import org.rutebanken.netex.model.DayTypeAssignment; -import org.rutebanken.netex.model.DeadRun; -import org.rutebanken.netex.model.DestinationDisplay; -import org.rutebanken.netex.model.FareZone; -import org.rutebanken.netex.model.FlexibleLine; -import org.rutebanken.netex.model.FlexibleStopPlace; -import org.rutebanken.netex.model.GroupOfLines; -import org.rutebanken.netex.model.GroupOfStopPlaces; -import org.rutebanken.netex.model.GroupOfTariffZones; -import org.rutebanken.netex.model.JourneyPattern; -import org.rutebanken.netex.model.Line; -import org.rutebanken.netex.model.Network; -import org.rutebanken.netex.model.Notice; -import org.rutebanken.netex.model.NoticeAssignment; -import org.rutebanken.netex.model.OperatingDay; -import org.rutebanken.netex.model.OperatingPeriod; -import org.rutebanken.netex.model.Operator; -import org.rutebanken.netex.model.Parking; -import org.rutebanken.netex.model.PassengerStopAssignment; -import org.rutebanken.netex.model.Quay; -import org.rutebanken.netex.model.ResourceFrame; -import org.rutebanken.netex.model.Route; -import org.rutebanken.netex.model.RoutePoint; -import org.rutebanken.netex.model.ScheduledStopPoint; -import org.rutebanken.netex.model.ServiceCalendarFrame; -import org.rutebanken.netex.model.ServiceFrame; -import org.rutebanken.netex.model.ServiceJourney; -import org.rutebanken.netex.model.ServiceJourneyInterchange; -import org.rutebanken.netex.model.ServiceJourneyPattern; -import org.rutebanken.netex.model.ServiceLink; -import org.rutebanken.netex.model.SiteFrame; -import org.rutebanken.netex.model.StopPlace; -import org.rutebanken.netex.model.TariffZone; -import org.rutebanken.netex.model.TimetableFrame; -import org.rutebanken.netex.model.TopographicPlace; -import org.rutebanken.netex.model.VehicleScheduleFrame; +import org.entur.netex2.model.Authority; +import org.entur.netex2.model.Block; +import org.entur.netex2.model.Branding; +import org.entur.netex2.model.CompositeFrame; +import org.entur.netex2.model.DatedServiceJourney; +import org.entur.netex2.model.DayType; +import org.entur.netex2.model.DayTypeAssignment; +import org.entur.netex2.model.DeadRun; +import org.entur.netex2.model.DestinationDisplay; +import org.entur.netex2.model.FareZone; +import org.entur.netex2.model.FlexibleLine; +import org.entur.netex2.model.FlexibleStopPlace; +import org.entur.netex2.model.GroupOfLines; +import org.entur.netex2.model.GroupOfStopPlaces; +import org.entur.netex2.model.GroupOfTariffZones; +import org.entur.netex2.model.JourneyPattern; +import org.entur.netex2.model.Line; +import org.entur.netex2.model.Network; +import org.entur.netex2.model.Notice; +import org.entur.netex2.model.NoticeAssignment; +import org.entur.netex2.model.OperatingDay; +import org.entur.netex2.model.OperatingPeriod; +import org.entur.netex2.model.Operator; +import org.entur.netex2.model.Parking; +import org.entur.netex2.model.PassengerStopAssignment; +import org.entur.netex2.model.Quay; +import org.entur.netex2.model.ResourceFrame; +import org.entur.netex2.model.Route; +import org.entur.netex2.model.RoutePoint; +import org.entur.netex2.model.ScheduledStopPoint; +import org.entur.netex2.model.ServiceCalendarFrame; +import org.entur.netex2.model.ServiceFrame; +import org.entur.netex2.model.ServiceJourney; +import org.entur.netex2.model.ServiceJourneyInterchange; +import org.entur.netex2.model.ServiceJourneyPattern; +import org.entur.netex2.model.ServiceLink; +import org.entur.netex2.model.SiteFrame; +import org.entur.netex2.model.StopPlace; +import org.entur.netex2.model.TariffZone; +import org.entur.netex2.model.TimetableFrame; +import org.entur.netex2.model.TopographicPlace; +import org.entur.netex2.model.VehicleScheduleFrame; /** * Entrypoint to the NeTEx entities index diff --git a/src/main/java/org/entur/netex/index/api/NetexEntityIndex.java b/src/main/java/org/entur/netex/index/api/NetexEntityIndex.java index c81a9baa..ce81564b 100644 --- a/src/main/java/org/entur/netex/index/api/NetexEntityIndex.java +++ b/src/main/java/org/entur/netex/index/api/NetexEntityIndex.java @@ -1,7 +1,7 @@ package org.entur.netex.index.api; import java.util.Collection; -import org.rutebanken.netex.model.EntityStructure; +import org.entur.netex2.model.EntityStructure; /** * A simple index of NeTEx entities of a specific type diff --git a/src/main/java/org/entur/netex/index/api/VersionedNetexEntityIndex.java b/src/main/java/org/entur/netex/index/api/VersionedNetexEntityIndex.java index 41b3e1c7..50e4e851 100644 --- a/src/main/java/org/entur/netex/index/api/VersionedNetexEntityIndex.java +++ b/src/main/java/org/entur/netex/index/api/VersionedNetexEntityIndex.java @@ -2,7 +2,7 @@ import java.util.Collection; import java.util.Map; -import org.rutebanken.netex.model.EntityStructure; +import org.entur.netex2.model.EntityStructure; /** * An index of versioned NeTEx entities diff --git a/src/main/java/org/entur/netex/index/impl/NetexEntitiesIndexImpl.java b/src/main/java/org/entur/netex/index/impl/NetexEntitiesIndexImpl.java index 3718d5a5..dfff3e82 100644 --- a/src/main/java/org/entur/netex/index/impl/NetexEntitiesIndexImpl.java +++ b/src/main/java/org/entur/netex/index/impl/NetexEntitiesIndexImpl.java @@ -11,48 +11,48 @@ import org.entur.netex.index.api.NetexEntitiesIndex; import org.entur.netex.index.api.NetexEntityIndex; import org.entur.netex.index.api.VersionedNetexEntityIndex; -import org.rutebanken.netex.model.Authority; -import org.rutebanken.netex.model.Block; -import org.rutebanken.netex.model.Branding; -import org.rutebanken.netex.model.CompositeFrame; -import org.rutebanken.netex.model.DatedServiceJourney; -import org.rutebanken.netex.model.DayType; -import org.rutebanken.netex.model.DayTypeAssignment; -import org.rutebanken.netex.model.DeadRun; -import org.rutebanken.netex.model.DestinationDisplay; -import org.rutebanken.netex.model.FareZone; -import org.rutebanken.netex.model.FlexibleLine; -import org.rutebanken.netex.model.FlexibleStopPlace; -import org.rutebanken.netex.model.GroupOfLines; -import org.rutebanken.netex.model.GroupOfStopPlaces; -import org.rutebanken.netex.model.GroupOfTariffZones; -import org.rutebanken.netex.model.JourneyPattern; -import org.rutebanken.netex.model.Line; -import org.rutebanken.netex.model.Network; -import org.rutebanken.netex.model.Notice; -import org.rutebanken.netex.model.NoticeAssignment; -import org.rutebanken.netex.model.OperatingDay; -import org.rutebanken.netex.model.OperatingPeriod; -import org.rutebanken.netex.model.Operator; -import org.rutebanken.netex.model.Parking; -import org.rutebanken.netex.model.PassengerStopAssignment; -import org.rutebanken.netex.model.Quay; -import org.rutebanken.netex.model.ResourceFrame; -import org.rutebanken.netex.model.Route; -import org.rutebanken.netex.model.RoutePoint; -import org.rutebanken.netex.model.ScheduledStopPoint; -import org.rutebanken.netex.model.ServiceCalendarFrame; -import org.rutebanken.netex.model.ServiceFrame; -import org.rutebanken.netex.model.ServiceJourney; -import org.rutebanken.netex.model.ServiceJourneyInterchange; -import org.rutebanken.netex.model.ServiceJourneyPattern; -import org.rutebanken.netex.model.ServiceLink; -import org.rutebanken.netex.model.SiteFrame; -import org.rutebanken.netex.model.StopPlace; -import org.rutebanken.netex.model.TariffZone; -import org.rutebanken.netex.model.TimetableFrame; -import org.rutebanken.netex.model.TopographicPlace; -import org.rutebanken.netex.model.VehicleScheduleFrame; +import org.entur.netex2.model.Authority; +import org.entur.netex2.model.Block; +import org.entur.netex2.model.Branding; +import org.entur.netex2.model.CompositeFrame; +import org.entur.netex2.model.DatedServiceJourney; +import org.entur.netex2.model.DayType; +import org.entur.netex2.model.DayTypeAssignment; +import org.entur.netex2.model.DeadRun; +import org.entur.netex2.model.DestinationDisplay; +import org.entur.netex2.model.FareZone; +import org.entur.netex2.model.FlexibleLine; +import org.entur.netex2.model.FlexibleStopPlace; +import org.entur.netex2.model.GroupOfLines; +import org.entur.netex2.model.GroupOfStopPlaces; +import org.entur.netex2.model.GroupOfTariffZones; +import org.entur.netex2.model.JourneyPattern; +import org.entur.netex2.model.Line; +import org.entur.netex2.model.Network; +import org.entur.netex2.model.Notice; +import org.entur.netex2.model.NoticeAssignment; +import org.entur.netex2.model.OperatingDay; +import org.entur.netex2.model.OperatingPeriod; +import org.entur.netex2.model.Operator; +import org.entur.netex2.model.Parking; +import org.entur.netex2.model.PassengerStopAssignment; +import org.entur.netex2.model.Quay; +import org.entur.netex2.model.ResourceFrame; +import org.entur.netex2.model.Route; +import org.entur.netex2.model.RoutePoint; +import org.entur.netex2.model.ScheduledStopPoint; +import org.entur.netex2.model.ServiceCalendarFrame; +import org.entur.netex2.model.ServiceFrame; +import org.entur.netex2.model.ServiceJourney; +import org.entur.netex2.model.ServiceJourneyInterchange; +import org.entur.netex2.model.ServiceJourneyPattern; +import org.entur.netex2.model.ServiceLink; +import org.entur.netex2.model.SiteFrame; +import org.entur.netex2.model.StopPlace; +import org.entur.netex2.model.TariffZone; +import org.entur.netex2.model.TimetableFrame; +import org.entur.netex2.model.TopographicPlace; +import org.entur.netex2.model.VehicleScheduleFrame; /** * diff --git a/src/main/java/org/entur/netex/index/impl/NetexEntityMapByIdImpl.java b/src/main/java/org/entur/netex/index/impl/NetexEntityMapByIdImpl.java index 4cfd219b..b3453ba2 100644 --- a/src/main/java/org/entur/netex/index/impl/NetexEntityMapByIdImpl.java +++ b/src/main/java/org/entur/netex/index/impl/NetexEntityMapByIdImpl.java @@ -4,7 +4,7 @@ import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import org.entur.netex.index.api.NetexEntityIndex; -import org.rutebanken.netex.model.EntityStructure; +import org.entur.netex2.model.EntityStructure; public class NetexEntityMapByIdImpl implements NetexEntityIndex { diff --git a/src/main/java/org/entur/netex/index/impl/VersionedNetexEntityIndexImpl.java b/src/main/java/org/entur/netex/index/impl/VersionedNetexEntityIndexImpl.java index 32087a6f..669a076e 100644 --- a/src/main/java/org/entur/netex/index/impl/VersionedNetexEntityIndexImpl.java +++ b/src/main/java/org/entur/netex/index/impl/VersionedNetexEntityIndexImpl.java @@ -12,8 +12,8 @@ import java.util.concurrent.ConcurrentHashMap; import java.util.stream.Collectors; import org.entur.netex.index.api.VersionedNetexEntityIndex; -import org.rutebanken.netex.model.EntityInVersionStructure; -import org.rutebanken.netex.model.EntityStructure; +import org.entur.netex2.model.EntityInVersionStructure; +import org.entur.netex2.model.EntityStructure; public class VersionedNetexEntityIndexImpl implements VersionedNetexEntityIndex { diff --git a/src/main/java/org/entur/netex/loader/NetexXmlParser.java b/src/main/java/org/entur/netex/loader/NetexXmlParser.java index 5495dcbb..017b2519 100644 --- a/src/main/java/org/entur/netex/loader/NetexXmlParser.java +++ b/src/main/java/org/entur/netex/loader/NetexXmlParser.java @@ -6,7 +6,7 @@ import jakarta.xml.bind.Unmarshaller; import java.io.InputStream; import javax.xml.stream.XMLStreamReader; -import org.rutebanken.netex.model.PublicationDeliveryStructure; +import org.entur.netex2.model.PublicationDeliveryStructure; /** Simple wrapper to perform typesafe xml parsing and simple error handling. */ public class NetexXmlParser { diff --git a/src/main/java/org/entur/netex/loader/parser/FareFrameParser.java b/src/main/java/org/entur/netex/loader/parser/FareFrameParser.java index 318408d3..f7d27ab0 100644 --- a/src/main/java/org/entur/netex/loader/parser/FareFrameParser.java +++ b/src/main/java/org/entur/netex/loader/parser/FareFrameParser.java @@ -3,8 +3,8 @@ import java.util.ArrayList; import java.util.Collection; import org.entur.netex.index.api.NetexEntitiesIndex; -import org.rutebanken.netex.model.FareFrame_VersionFrameStructure; -import org.rutebanken.netex.model.FareZone; +import org.entur.netex2.model.FareFrame_VersionFrameStructure; +import org.entur.netex2.model.FareZone; public class FareFrameParser extends NetexParser { diff --git a/src/main/java/org/entur/netex/loader/parser/NetexDocumentParser.java b/src/main/java/org/entur/netex/loader/parser/NetexDocumentParser.java index 812eafdc..9a1c0caa 100644 --- a/src/main/java/org/entur/netex/loader/parser/NetexDocumentParser.java +++ b/src/main/java/org/entur/netex/loader/parser/NetexDocumentParser.java @@ -4,18 +4,18 @@ import java.util.Collection; import java.util.List; import org.entur.netex.index.api.NetexEntitiesIndex; -import org.rutebanken.netex.model.Common_VersionFrameStructure; -import org.rutebanken.netex.model.CompositeFrame; -import org.rutebanken.netex.model.FareFrame; -import org.rutebanken.netex.model.GeneralFrame; -import org.rutebanken.netex.model.InfrastructureFrame; -import org.rutebanken.netex.model.PublicationDeliveryStructure; -import org.rutebanken.netex.model.ResourceFrame; -import org.rutebanken.netex.model.ServiceCalendarFrame; -import org.rutebanken.netex.model.ServiceFrame; -import org.rutebanken.netex.model.SiteFrame; -import org.rutebanken.netex.model.TimetableFrame; -import org.rutebanken.netex.model.VehicleScheduleFrame; +import org.entur.netex2.model.Common_VersionFrameStructure; +import org.entur.netex2.model.CompositeFrame; +import org.entur.netex2.model.FareFrame; +import org.entur.netex2.model.GeneralFrame; +import org.entur.netex2.model.InfrastructureFrame; +import org.entur.netex2.model.PublicationDeliveryStructure; +import org.entur.netex2.model.ResourceFrame; +import org.entur.netex2.model.ServiceCalendarFrame; +import org.entur.netex2.model.ServiceFrame; +import org.entur.netex2.model.SiteFrame; +import org.entur.netex2.model.TimetableFrame; +import org.entur.netex2.model.VehicleScheduleFrame; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/src/main/java/org/entur/netex/loader/parser/NetexParser.java b/src/main/java/org/entur/netex/loader/parser/NetexParser.java index 00b2f801..9bf7a945 100644 --- a/src/main/java/org/entur/netex/loader/parser/NetexParser.java +++ b/src/main/java/org/entur/netex/loader/parser/NetexParser.java @@ -2,7 +2,7 @@ import java.util.Collection; import org.entur.netex.index.api.NetexEntitiesIndex; -import org.rutebanken.netex.model.VersionFrame_VersionStructure; +import org.entur.netex2.model.VersionFrame_VersionStructure; import org.slf4j.Logger; /** diff --git a/src/main/java/org/entur/netex/loader/parser/NoticeParser.java b/src/main/java/org/entur/netex/loader/parser/NoticeParser.java index 3b598219..5c80dbb4 100644 --- a/src/main/java/org/entur/netex/loader/parser/NoticeParser.java +++ b/src/main/java/org/entur/netex/loader/parser/NoticeParser.java @@ -4,11 +4,11 @@ import java.util.ArrayList; import java.util.Collection; import org.entur.netex.index.api.NetexEntitiesIndex; -import org.rutebanken.netex.model.DataManagedObjectStructure; -import org.rutebanken.netex.model.Notice; -import org.rutebanken.netex.model.NoticeAssignment; -import org.rutebanken.netex.model.NoticeAssignmentsInFrame_RelStructure; -import org.rutebanken.netex.model.NoticesInFrame_RelStructure; +import org.entur.netex2.model.DataManagedObjectStructure; +import org.entur.netex2.model.Notice; +import org.entur.netex2.model.NoticeAssignment; +import org.entur.netex2.model.NoticeAssignmentsInFrame_RelStructure; +import org.entur.netex2.model.NoticesInFrame_RelStructure; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -33,7 +33,7 @@ void parseNotices(NoticesInFrame_RelStructure notices) { void parseNoticeAssignments(NoticeAssignmentsInFrame_RelStructure na) { if (na == null) return; - for (JAXBElement it : na.getNoticeAssignment_()) { + for (JAXBElement it : na.getNoticeAssignment()) { NoticeAssignment noticeAssignment = (NoticeAssignment) it.getValue(); boolean error = false; diff --git a/src/main/java/org/entur/netex/loader/parser/ResourceFrameParser.java b/src/main/java/org/entur/netex/loader/parser/ResourceFrameParser.java index 51686f04..87f328f1 100644 --- a/src/main/java/org/entur/netex/loader/parser/ResourceFrameParser.java +++ b/src/main/java/org/entur/netex/loader/parser/ResourceFrameParser.java @@ -4,13 +4,13 @@ import java.util.ArrayList; import java.util.Collection; import org.entur.netex.index.api.NetexEntitiesIndex; -import org.rutebanken.netex.model.Authority; -import org.rutebanken.netex.model.Branding; -import org.rutebanken.netex.model.Operator; -import org.rutebanken.netex.model.Organisation_VersionStructure; -import org.rutebanken.netex.model.OrganisationsInFrame_RelStructure; -import org.rutebanken.netex.model.ResourceFrame_VersionFrameStructure; -import org.rutebanken.netex.model.TypesOfValueInFrame_RelStructure; +import org.entur.netex2.model.Authority; +import org.entur.netex2.model.Branding; +import org.entur.netex2.model.Operator; +import org.entur.netex2.model.Organisation_VersionStructure; +import org.entur.netex2.model.OrganisationsInFrame_RelStructure; +import org.entur.netex2.model.ResourceFrame_VersionFrameStructure; +import org.entur.netex2.model.TypesOfValueInFrame_RelStructure; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -66,7 +66,7 @@ void setResultOnIndex(NetexEntitiesIndex netexIndex) { private void parseOrganisations(OrganisationsInFrame_RelStructure elements) { if (elements != null) { - for (JAXBElement e : elements.getOrganisation_()) { + for (JAXBElement e : elements.getOrganisation()) { parseOrganisation((Organisation_VersionStructure) e.getValue()); } } diff --git a/src/main/java/org/entur/netex/loader/parser/ServiceCalendarFrameParser.java b/src/main/java/org/entur/netex/loader/parser/ServiceCalendarFrameParser.java index 64c88fc6..04ebf0d7 100644 --- a/src/main/java/org/entur/netex/loader/parser/ServiceCalendarFrameParser.java +++ b/src/main/java/org/entur/netex/loader/parser/ServiceCalendarFrameParser.java @@ -7,7 +7,7 @@ import java.util.Collection; import java.util.List; import org.entur.netex.index.api.NetexEntitiesIndex; -import org.rutebanken.netex.model.*; +import org.entur.netex2.model.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -67,14 +67,14 @@ private void parseServiceCalendar(ServiceCalendar serviceCalendar) { //List> private void parseDayTypes(DayTypesInFrame_RelStructure element) { if (element == null) return; - for (JAXBElement dt : element.getDayType_()) { + for (JAXBElement dt : element.getDayType()) { parseDayType(dt); } } private void parseDayTypes(DayTypes_RelStructure dayTypes) { if (dayTypes == null) return; - for (JAXBElement dt : dayTypes.getDayTypeRefOrDayType_()) { + for (JAXBElement dt : dayTypes.getDayTypeRefOrDayType()) { parseDayType(dt); } } diff --git a/src/main/java/org/entur/netex/loader/parser/ServiceFrameParser.java b/src/main/java/org/entur/netex/loader/parser/ServiceFrameParser.java index ac1ddbf0..d89c7e12 100644 --- a/src/main/java/org/entur/netex/loader/parser/ServiceFrameParser.java +++ b/src/main/java/org/entur/netex/loader/parser/ServiceFrameParser.java @@ -9,31 +9,31 @@ import java.util.Map; import org.entur.netex.index.api.NetexEntitiesIndex; import org.entur.netex.index.api.NetexEntityIndex; -import org.rutebanken.netex.model.DestinationDisplay; -import org.rutebanken.netex.model.DestinationDisplaysInFrame_RelStructure; -import org.rutebanken.netex.model.FlexibleLine; -import org.rutebanken.netex.model.FlexibleStopAssignment; -import org.rutebanken.netex.model.FlexibleStopPlace; -import org.rutebanken.netex.model.GroupOfLines; -import org.rutebanken.netex.model.GroupsOfLinesInFrame_RelStructure; -import org.rutebanken.netex.model.JourneyPattern; -import org.rutebanken.netex.model.JourneyPatternsInFrame_RelStructure; -import org.rutebanken.netex.model.Line; -import org.rutebanken.netex.model.LinesInFrame_RelStructure; -import org.rutebanken.netex.model.Network; -import org.rutebanken.netex.model.NetworksInFrame_RelStructure; -import org.rutebanken.netex.model.PassengerStopAssignment; -import org.rutebanken.netex.model.Route; -import org.rutebanken.netex.model.RoutePoint; -import org.rutebanken.netex.model.RoutePointsInFrame_RelStructure; -import org.rutebanken.netex.model.RoutesInFrame_RelStructure; -import org.rutebanken.netex.model.ScheduledStopPoint; -import org.rutebanken.netex.model.ScheduledStopPointsInFrame_RelStructure; -import org.rutebanken.netex.model.ServiceJourneyPattern; -import org.rutebanken.netex.model.ServiceLink; -import org.rutebanken.netex.model.ServiceLinksInFrame_RelStructure; -import org.rutebanken.netex.model.Service_VersionFrameStructure; -import org.rutebanken.netex.model.StopAssignmentsInFrame_RelStructure; +import org.entur.netex2.model.DestinationDisplay; +import org.entur.netex2.model.DestinationDisplaysInFrame_RelStructure; +import org.entur.netex2.model.FlexibleLine; +import org.entur.netex2.model.FlexibleStopAssignment; +import org.entur.netex2.model.FlexibleStopPlace; +import org.entur.netex2.model.GroupOfLines; +import org.entur.netex2.model.GroupsOfLinesInFrame_RelStructure; +import org.entur.netex2.model.JourneyPattern; +import org.entur.netex2.model.JourneyPatternsInFrame_RelStructure; +import org.entur.netex2.model.Line; +import org.entur.netex2.model.LinesInFrame_RelStructure; +import org.entur.netex2.model.Network; +import org.entur.netex2.model.NetworksInFrame_RelStructure; +import org.entur.netex2.model.PassengerStopAssignment; +import org.entur.netex2.model.Route; +import org.entur.netex2.model.RoutePoint; +import org.entur.netex2.model.RoutePointsInFrame_RelStructure; +import org.entur.netex2.model.RoutesInFrame_RelStructure; +import org.entur.netex2.model.ScheduledStopPoint; +import org.entur.netex2.model.ScheduledStopPointsInFrame_RelStructure; +import org.entur.netex2.model.ServiceJourneyPattern; +import org.entur.netex2.model.ServiceLink; +import org.entur.netex2.model.ServiceLinksInFrame_RelStructure; +import org.entur.netex2.model.Service_VersionFrameStructure; +import org.entur.netex2.model.StopAssignmentsInFrame_RelStructure; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -238,7 +238,7 @@ private void parseStopAssignments( private void parseRoutes(RoutesInFrame_RelStructure routes) { if (routes == null) return; - for (JAXBElement element : routes.getRoute_()) { + for (JAXBElement element : routes.getRoute()) { if (element.getValue() instanceof Route route) { this.routes.add(route); } @@ -283,7 +283,7 @@ private void parseGroupOfLines( private void parseLines(LinesInFrame_RelStructure lines) { if (lines == null) return; - for (JAXBElement element : lines.getLine_()) { + for (JAXBElement element : lines.getLine()) { if (element.getValue() instanceof Line) { this.lines.add((Line) element.getValue()); } else if (element.getValue() instanceof FlexibleLine) { @@ -299,7 +299,7 @@ private void parseJourneyPatterns( ) { if (journeyPatterns == null) return; - for (JAXBElement pattern : journeyPatterns.getJourneyPattern_OrJourneyPatternView()) { + for (JAXBElement pattern : journeyPatterns.getJourneyPattern()) { if (pattern.getValue() instanceof JourneyPattern) { this.journeyPatterns.add((JourneyPattern) pattern.getValue()); } else if (pattern.getValue() instanceof ServiceJourneyPattern) { diff --git a/src/main/java/org/entur/netex/loader/parser/SiteFrameParser.java b/src/main/java/org/entur/netex/loader/parser/SiteFrameParser.java index 897b9654..b4b3b9f8 100644 --- a/src/main/java/org/entur/netex/loader/parser/SiteFrameParser.java +++ b/src/main/java/org/entur/netex/loader/parser/SiteFrameParser.java @@ -10,7 +10,7 @@ import java.util.Map; import org.entur.netex.index.api.NetexEntitiesIndex; import org.entur.netex.support.NetexVersionHelper; -import org.rutebanken.netex.model.*; +import org.entur.netex2.model.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -46,7 +46,7 @@ class SiteFrameParser extends NetexParser { @Override public void parse(Site_VersionFrameStructure frame) { if (frame.getStopPlaces() != null) { - parseStopPlaces(frame.getStopPlaces().getStopPlace_()); + parseStopPlaces(frame.getStopPlaces().getStopPlace()); } if (frame.getGroupsOfStopPlaces() != null) { @@ -134,11 +134,8 @@ private void parseGroupsOfStopPlaces( groupsOfStopPlaces.addAll(groupsOfStopPlacesList); } - private void parseStopPlaces( - List> stopPlaceList - ) { - for (JAXBElement jaxbStopPlace : stopPlaceList) { - StopPlace stopPlace = (StopPlace) jaxbStopPlace.getValue(); + private void parseStopPlaces(List stopPlaceList) { + for (StopPlace stopPlace : stopPlaceList) { stopPlaces.add(stopPlace); if (!isMultiModalStopPlace(stopPlace)) { parseQuays(stopPlace.getQuays(), stopPlace.getId()); @@ -162,10 +159,14 @@ private void parseTopographicPlaces( topographicPlaces.addAll(topographicPlaceList); } - private void parseParkings(Collection parkingList) { - for (Parking parking : parkingList) { - parkings.add(parking); - parkingsByStopPlaceId.put(parking.getParentSiteRef().getRef(), parking); + private void parseParkings( + List> parkingList + ) { + for (JAXBElement jaxbParking : parkingList) { + if (jaxbParking.getValue() instanceof Parking parking) { + parkings.add(parking); + parkingsByStopPlaceId.put(parking.getParentSiteRef().getRef(), parking); + } } } diff --git a/src/main/java/org/entur/netex/loader/parser/TimeTableFrameParser.java b/src/main/java/org/entur/netex/loader/parser/TimeTableFrameParser.java index 16b52b3f..94059640 100644 --- a/src/main/java/org/entur/netex/loader/parser/TimeTableFrameParser.java +++ b/src/main/java/org/entur/netex/loader/parser/TimeTableFrameParser.java @@ -5,15 +5,16 @@ import java.util.ArrayList; import java.util.List; import org.entur.netex.index.api.NetexEntitiesIndex; -import org.rutebanken.netex.model.DatedServiceJourney; -import org.rutebanken.netex.model.DeadRun; -import org.rutebanken.netex.model.Interchange_VersionStructure; -import org.rutebanken.netex.model.JourneyInterchangesInFrame_RelStructure; -import org.rutebanken.netex.model.Journey_VersionStructure; -import org.rutebanken.netex.model.JourneysInFrame_RelStructure; -import org.rutebanken.netex.model.ServiceJourney; -import org.rutebanken.netex.model.ServiceJourneyInterchange; -import org.rutebanken.netex.model.Timetable_VersionFrameStructure; +import org.entur.netex2.model.DatedServiceJourney; +import org.entur.netex2.model.DeadRun; +import org.entur.netex2.model.Interchange_VersionStructure; +import org.entur.netex2.model.JourneyInterchangesInFrame_RelStructure; +import org.entur.netex2.model.Journey_VersionStructure; +import org.entur.netex2.model.JourneysInFrame_RelStructure; +import org.entur.netex2.model.ServiceJourney; +import org.entur.netex2.model.ServiceJourneyInterchange; +import org.entur.netex2.model.ServiceJourneyRefStructure; +import org.entur.netex2.model.Timetable_VersionFrameStructure; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -116,10 +117,16 @@ private void parseJourneys(JourneysInFrame_RelStructure element) { serviceJourneys.add(serviceJourney); } else if (it instanceof DatedServiceJourney datedServiceJourney) { datedServiceJourneys.add(datedServiceJourney); - datedServiceJourneyByServiceJourneyId.put( - datedServiceJourney.getJourneyRef().getValue().getRef(), - datedServiceJourney - ); + var journeyRef = datedServiceJourney.getJourneyRef(); + if ( + journeyRef != null && + journeyRef.getValue() instanceof ServiceJourneyRefStructure + ) { + datedServiceJourneyByServiceJourneyId.put( + journeyRef.getValue().getRef(), + datedServiceJourney + ); + } } else if (it instanceof DeadRun deadRun) { deadRuns.add(deadRun); } else { diff --git a/src/main/java/org/entur/netex/loader/parser/VehicleScheduleFrameParser.java b/src/main/java/org/entur/netex/loader/parser/VehicleScheduleFrameParser.java index 683a3329..e6af9ec9 100644 --- a/src/main/java/org/entur/netex/loader/parser/VehicleScheduleFrameParser.java +++ b/src/main/java/org/entur/netex/loader/parser/VehicleScheduleFrameParser.java @@ -3,11 +3,11 @@ import java.util.ArrayList; import java.util.Collection; import org.entur.netex.index.api.NetexEntitiesIndex; -import org.rutebanken.netex.model.Block; -import org.rutebanken.netex.model.Block_VersionStructure; -import org.rutebanken.netex.model.BlocksInFrame_RelStructure; -import org.rutebanken.netex.model.DataManagedObjectStructure; -import org.rutebanken.netex.model.VehicleSchedule_VersionFrameStructure; +import org.entur.netex2.model.Block; +import org.entur.netex2.model.Block_VersionStructure; +import org.entur.netex2.model.BlocksInFrame_RelStructure; +import org.entur.netex2.model.DataManagedObjectStructure; +import org.entur.netex2.model.VehicleSchedule_VersionFrameStructure; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/src/main/java/org/entur/netex/support/MultilingualStringHelper.java b/src/main/java/org/entur/netex/support/MultilingualStringHelper.java new file mode 100644 index 00000000..adbad138 --- /dev/null +++ b/src/main/java/org/entur/netex/support/MultilingualStringHelper.java @@ -0,0 +1,32 @@ +package org.entur.netex.support; + +import java.io.Serializable; +import java.util.List; +import org.entur.netex2.model.MultilingualString; + +/** + * Helper for extracting string values from {@link MultilingualString}. + * In netex2-java-model, MultilingualString uses a mixed content model + * where the text is stored in {@code getContent()} as a list of serializable objects. + */ +public final class MultilingualStringHelper { + + private MultilingualStringHelper() {} + + public static String getStringValue(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/support/NetexVersionHelper.java b/src/main/java/org/entur/netex/support/NetexVersionHelper.java index c0960d23..a861e781 100644 --- a/src/main/java/org/entur/netex/support/NetexVersionHelper.java +++ b/src/main/java/org/entur/netex/support/NetexVersionHelper.java @@ -4,7 +4,7 @@ import java.util.Collection; import java.util.Comparator; -import org.rutebanken.netex.model.EntityInVersionStructure; +import org.entur.netex2.model.EntityInVersionStructure; /** * Utility class to help working with versioned NeTEx element. diff --git a/src/test/java/org/entur/netex/TestDeadRuns.java b/src/test/java/org/entur/netex/TestDeadRuns.java index 09f6ca0a..d9d7f08c 100644 --- a/src/test/java/org/entur/netex/TestDeadRuns.java +++ b/src/test/java/org/entur/netex/TestDeadRuns.java @@ -2,10 +2,10 @@ import java.util.Collection; import org.entur.netex.index.api.NetexEntitiesIndex; +import org.entur.netex2.model.DeadRun; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; -import org.rutebanken.netex.model.DeadRun; class TestDeadRuns { diff --git a/src/test/java/org/entur/netex/TestDelfiLineExport.java b/src/test/java/org/entur/netex/TestDelfiLineExport.java index 99e2f5f2..b79f6e71 100644 --- a/src/test/java/org/entur/netex/TestDelfiLineExport.java +++ b/src/test/java/org/entur/netex/TestDelfiLineExport.java @@ -2,13 +2,13 @@ import java.util.Collection; import org.entur.netex.index.api.NetexEntitiesIndex; +import org.entur.netex2.model.DatedServiceJourney; +import org.entur.netex2.model.ServiceJourney; +import org.entur.netex2.model.ServiceJourneyInterchange; +import org.entur.netex2.model.ServiceJourneyPattern; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; -import org.rutebanken.netex.model.DatedServiceJourney; -import org.rutebanken.netex.model.ServiceJourney; -import org.rutebanken.netex.model.ServiceJourneyInterchange; -import org.rutebanken.netex.model.ServiceJourneyPattern; class TestDelfiLineExport { diff --git a/src/test/java/org/entur/netex/TestGroupOfTariffZones.java b/src/test/java/org/entur/netex/TestGroupOfTariffZones.java index 9535a863..e1ff62f0 100644 --- a/src/test/java/org/entur/netex/TestGroupOfTariffZones.java +++ b/src/test/java/org/entur/netex/TestGroupOfTariffZones.java @@ -4,10 +4,10 @@ import java.nio.file.Files; import java.util.Collection; import org.entur.netex.index.api.NetexEntitiesIndex; +import org.entur.netex2.model.GroupOfTariffZones; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; -import org.rutebanken.netex.model.GroupOfTariffZones; class TestGroupOfTariffZones { diff --git a/src/test/java/org/entur/netex/TestLineExport.java b/src/test/java/org/entur/netex/TestLineExport.java index da074f22..363e6498 100644 --- a/src/test/java/org/entur/netex/TestLineExport.java +++ b/src/test/java/org/entur/netex/TestLineExport.java @@ -2,11 +2,11 @@ import java.util.Collection; import org.entur.netex.index.api.NetexEntitiesIndex; +import org.entur.netex2.model.DatedServiceJourney; +import org.entur.netex2.model.ServiceJourneyInterchange; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; -import org.rutebanken.netex.model.DatedServiceJourney; -import org.rutebanken.netex.model.ServiceJourneyInterchange; class TestLineExport { diff --git a/src/test/java/org/entur/netex/TestMovedQuay.java b/src/test/java/org/entur/netex/TestMovedQuay.java index 4fd9654e..8a1ebbf5 100644 --- a/src/test/java/org/entur/netex/TestMovedQuay.java +++ b/src/test/java/org/entur/netex/TestMovedQuay.java @@ -4,10 +4,10 @@ import java.nio.file.Files; import java.util.Collection; import org.entur.netex.index.api.NetexEntitiesIndex; +import org.entur.netex2.model.StopPlace; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; -import org.rutebanken.netex.model.StopPlace; class TestMovedQuay { diff --git a/src/test/java/org/entur/netex/TestMultipleVersionsStopPlaces.java b/src/test/java/org/entur/netex/TestMultipleVersionsStopPlaces.java index 6b818463..7c594599 100644 --- a/src/test/java/org/entur/netex/TestMultipleVersionsStopPlaces.java +++ b/src/test/java/org/entur/netex/TestMultipleVersionsStopPlaces.java @@ -5,10 +5,10 @@ import java.util.Collection; import java.util.Map; import org.entur.netex.index.api.NetexEntitiesIndex; +import org.entur.netex2.model.StopPlace; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; -import org.rutebanken.netex.model.StopPlace; class TestMultipleVersionsStopPlaces { diff --git a/src/test/java/org/entur/netex/TestReferenceDataExport.java b/src/test/java/org/entur/netex/TestReferenceDataExport.java index 2436245a..d9db7990 100644 --- a/src/test/java/org/entur/netex/TestReferenceDataExport.java +++ b/src/test/java/org/entur/netex/TestReferenceDataExport.java @@ -1,10 +1,10 @@ package org.entur.netex; import org.entur.netex.index.api.NetexEntitiesIndex; +import org.entur.netex2.model.RoutePoint; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; -import org.rutebanken.netex.model.RoutePoint; class TestReferenceDataExport { diff --git a/src/test/java/org/entur/netex/TestStopPlacesExport.java b/src/test/java/org/entur/netex/TestStopPlacesExport.java index 800adc4f..906e572c 100644 --- a/src/test/java/org/entur/netex/TestStopPlacesExport.java +++ b/src/test/java/org/entur/netex/TestStopPlacesExport.java @@ -1,20 +1,22 @@ package org.entur.netex; +import static org.entur.netex.support.MultilingualStringHelper.getStringValue; + import java.time.LocalDateTime; import java.util.Collection; import org.entur.netex.index.api.NetexEntitiesIndex; +import org.entur.netex2.model.FareZone; +import org.entur.netex2.model.GroupOfStopPlaces; +import org.entur.netex2.model.Parking; +import org.entur.netex2.model.PassengerStopAssignment; +import org.entur.netex2.model.Quay; +import org.entur.netex2.model.ScheduledStopPoint; +import org.entur.netex2.model.StopPlace; +import org.entur.netex2.model.TariffZone; +import org.entur.netex2.model.TopographicPlace; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; -import org.rutebanken.netex.model.FareZone; -import org.rutebanken.netex.model.GroupOfStopPlaces; -import org.rutebanken.netex.model.Parking; -import org.rutebanken.netex.model.PassengerStopAssignment; -import org.rutebanken.netex.model.Quay; -import org.rutebanken.netex.model.ScheduledStopPoint; -import org.rutebanken.netex.model.StopPlace; -import org.rutebanken.netex.model.TariffZone; -import org.rutebanken.netex.model.TopographicPlace; class TestStopPlacesExport { @@ -44,7 +46,7 @@ void testGetStopPlace() { StopPlace stopPlace = index .getStopPlaceIndex() .getLatestVersion("NSR:StopPlace:337"); - Assertions.assertEquals("Oslo S", stopPlace.getName().getValue()); + Assertions.assertEquals("Oslo S", getStringValue(stopPlace.getName())); Assertions.assertEquals( "NSR:StopPlace:59872", stopPlace.getParentSiteRef().getRef() @@ -70,7 +72,10 @@ void testGetGroupOfStopPlaces() { GroupOfStopPlaces groupOfStopPlaces = index .getGroupOfStopPlacesIndex() .get("NSR:GroupOfStopPlaces:1"); - Assertions.assertEquals("Oslo", groupOfStopPlaces.getName().getValue()); + Assertions.assertEquals( + "Oslo", + getStringValue(groupOfStopPlaces.getName()) + ); } @Test @@ -78,7 +83,7 @@ void testGetTariffZone() { TariffZone tariffZone = index .getTariffZoneIndex() .getLatestVersion("MOR:TariffZone:108"); - Assertions.assertEquals("Standal", tariffZone.getName().getValue()); + Assertions.assertEquals("Standal", getStringValue(tariffZone.getName())); } @Test @@ -88,7 +93,7 @@ void testGetTopographicPlace() { .getLatestVersion("KVE:TopographicPlace:50"); Assertions.assertEquals( "Trøndelag", - topographicPlace.getDescriptor().getName().getValue() + getStringValue(topographicPlace.getDescriptor().getName()) ); Assertions.assertEquals( "no", @@ -99,7 +104,7 @@ void testGetTopographicPlace() { @Test void testGetParking() { Parking parking = index.getParkingIndex().getLatestVersion("NSR:Parking:1"); - Assertions.assertEquals("Drammen", parking.getName().getValue()); + Assertions.assertEquals("Drammen", getStringValue(parking.getName())); } @Test @@ -107,7 +112,10 @@ void testGetScheduledStopPoint() { ScheduledStopPoint scheduledStopPoint = index .getScheduledStopPointIndex() .getLatestVersion("NSR:ScheduledStopPoint:S5"); - Assertions.assertEquals("Gudå", scheduledStopPoint.getName().getValue()); + Assertions.assertEquals( + "Gudå", + getStringValue(scheduledStopPoint.getName()) + ); } @Test @@ -127,7 +135,7 @@ void testGetFareZone() { FareZone fareZone = index .getFareZoneIndex() .getLatestVersion("AKT:FareZone:27"); - Assertions.assertEquals("Kviteseid", fareZone.getName().getValue()); + Assertions.assertEquals("Kviteseid", getStringValue(fareZone.getName())); } @Test diff --git a/src/test/java/org/entur/netex/TestUpdateStopPlaces.java b/src/test/java/org/entur/netex/TestUpdateStopPlaces.java index 646307d5..b8b45c1e 100644 --- a/src/test/java/org/entur/netex/TestUpdateStopPlaces.java +++ b/src/test/java/org/entur/netex/TestUpdateStopPlaces.java @@ -5,10 +5,10 @@ import java.nio.file.Files; import java.util.Collection; import org.entur.netex.index.api.NetexEntitiesIndex; +import org.entur.netex2.model.StopPlace; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; -import org.rutebanken.netex.model.StopPlace; class TestUpdateStopPlaces { diff --git a/src/test/java/org/entur/netex/VehicleScheduleFrameTest.java b/src/test/java/org/entur/netex/VehicleScheduleFrameTest.java index 2ec0b96a..7d3aaa57 100644 --- a/src/test/java/org/entur/netex/VehicleScheduleFrameTest.java +++ b/src/test/java/org/entur/netex/VehicleScheduleFrameTest.java @@ -5,13 +5,13 @@ import java.util.Collection; import java.util.List; import org.entur.netex.index.api.NetexEntitiesIndex; +import org.entur.netex2.model.Block; +import org.entur.netex2.model.DayTypeRefStructure; +import org.entur.netex2.model.JourneyRefs_RelStructure; +import org.entur.netex2.model.VehicleScheduleFrame; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; -import org.rutebanken.netex.model.Block; -import org.rutebanken.netex.model.DayTypeRefStructure; -import org.rutebanken.netex.model.JourneyRefs_RelStructure; -import org.rutebanken.netex.model.VehicleScheduleFrame; class VehicleScheduleFrameTest { diff --git a/src/test/java/org/entur/netex/loader/parser/ServiceCalendarFrameParserTest.java b/src/test/java/org/entur/netex/loader/parser/ServiceCalendarFrameParserTest.java index 435eb7ef..ce214783 100644 --- a/src/test/java/org/entur/netex/loader/parser/ServiceCalendarFrameParserTest.java +++ b/src/test/java/org/entur/netex/loader/parser/ServiceCalendarFrameParserTest.java @@ -3,14 +3,15 @@ import static org.junit.jupiter.api.Assertions.assertEquals; import jakarta.xml.bind.JAXBElement; +import java.time.LocalDate; import java.time.LocalDateTime; import java.util.List; import javax.annotation.Nonnull; import javax.xml.namespace.QName; import org.entur.netex.index.impl.NetexEntitiesIndexImpl; +import org.entur.netex2.model.*; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; -import org.rutebanken.netex.model.*; class ServiceCalendarFrameParserTest { @@ -109,10 +110,12 @@ void testParseOperatingDaysInServiceCalendarFrame() { .withServiceCalendar( new ServiceCalendar() .withId("ServiceCalendarId1") - .withOperatingDays(mockOperatingDaysRelStructure("1", january1st)) + .withOperatingDays( + mockOperatingDaysRelStructure("1", january1st.toLocalDate()) + ) ) .withOperatingDays( - mockOperatingDaysInFrameRelStructure("2", january2nd) + mockOperatingDaysInFrameRelStructure("2", january2nd.toLocalDate()) ) ); parser.setResultOnIndex(index); @@ -121,7 +124,7 @@ void testParseOperatingDaysInServiceCalendarFrame() { private OperatingDays_RelStructure mockOperatingDaysRelStructure( String id, - LocalDateTime date + LocalDate date ) { return new OperatingDays_RelStructure() .withId(id) @@ -132,7 +135,7 @@ private OperatingDays_RelStructure mockOperatingDaysRelStructure( private OperatingDaysInFrame_RelStructure mockOperatingDaysInFrameRelStructure( String id, - LocalDateTime date + LocalDate date ) { return new OperatingDaysInFrame_RelStructure() .withId(id) diff --git a/src/test/java/org/entur/netex/support/NetexVersionHelperTest.java b/src/test/java/org/entur/netex/support/NetexVersionHelperTest.java index bcb3c607..6cc1856d 100644 --- a/src/test/java/org/entur/netex/support/NetexVersionHelperTest.java +++ b/src/test/java/org/entur/netex/support/NetexVersionHelperTest.java @@ -2,9 +2,9 @@ import java.util.ArrayList; import java.util.Collection; +import org.entur.netex2.model.EntityInVersionStructure; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; -import org.rutebanken.netex.model.EntityInVersionStructure; class NetexVersionHelperTest {