use of org.rutebanken.netex.model.ObjectFactory in project tiamat by entur.
the class PublicationDeliveryExporter method createPublicationDelivery.
@SuppressWarnings("unchecked")
public PublicationDeliveryStructure createPublicationDelivery(org.rutebanken.netex.model.SiteFrame siteFrame) {
PublicationDeliveryStructure publicationDeliveryStructure = createPublicationDelivery();
publicationDeliveryStructure.withDataObjects(new PublicationDeliveryStructure.DataObjects().withCompositeFrameOrCommonFrame(new ObjectFactory().createSiteFrame(siteFrame)));
logger.info("Returning publication delivery {} with site frame", publicationDeliveryStructure);
return publicationDeliveryStructure;
}
use of org.rutebanken.netex.model.ObjectFactory in project tiamat by entur.
the class PublicationDeliveryExporter method createPublicationDelivery.
@SuppressWarnings("unchecked")
public PublicationDeliveryStructure createPublicationDelivery(org.rutebanken.netex.model.SiteFrame siteFrame, org.rutebanken.netex.model.FareFrame fareFrame) {
PublicationDeliveryStructure publicationDeliveryStructure = createPublicationDelivery();
publicationDeliveryStructure.withDataObjects(new PublicationDeliveryStructure.DataObjects().withCompositeFrameOrCommonFrame(new ObjectFactory().createSiteFrame(siteFrame)).withCompositeFrameOrCommonFrame(new ObjectFactory().createFareFrame(fareFrame)));
logger.info("Returning publication delivery {} with site frame and fare frame", publicationDeliveryStructure);
return publicationDeliveryStructure;
}
use of org.rutebanken.netex.model.ObjectFactory in project tiamat by entur.
the class StreamingPublicationDelivery method prepareTariffZones.
private void prepareTariffZones(ExportParams exportParams, Set<Long> stopPlacePrimaryIds, AtomicInteger mappedTariffZonesCount, SiteFrame netexSiteFrame, EntitiesEvictor evicter) {
Iterator<org.rutebanken.tiamat.model.TariffZone> tariffZoneIterator;
if (exportParams.getTariffZoneExportMode() == null || exportParams.getTariffZoneExportMode().equals(ExportParams.ExportMode.ALL)) {
logger.info("Preparing to scroll all tariff zones, regardless of version");
tariffZoneIterator = tariffZoneRepository.scrollTariffZones(exportParams);
} else if (exportParams.getTariffZoneExportMode().equals(ExportParams.ExportMode.RELEVANT)) {
logger.info("Preparing to scroll relevant tariff zones from stop place ids");
tariffZoneIterator = tariffZoneRepository.scrollTariffZones(stopPlacePrimaryIds);
} else {
logger.info("Tariff zone export mode is {}. Will not export tariff zones", exportParams.getTariffZoneExportMode());
tariffZoneIterator = Collections.emptyIterator();
}
List<JAXBElement<? extends Zone_VersionStructure>> netexTariffZones = new ArrayList<>();
while (tariffZoneIterator.hasNext()) {
final TariffZone tariffZone = netexMapper.mapToNetexModel(tariffZoneIterator.next());
final JAXBElement<TariffZone> tariffZoneJAXBElement = new ObjectFactory().createTariffZone(tariffZone);
netexTariffZones.add(tariffZoneJAXBElement);
mappedTariffZonesCount.incrementAndGet();
}
if (!netexTariffZones.isEmpty()) {
var tariffZonesInFrameRelStructure = new TariffZonesInFrame_RelStructure();
setField(TariffZonesInFrame_RelStructure.class, "tariffZone", tariffZonesInFrameRelStructure, netexTariffZones);
netexSiteFrame.setTariffZones(tariffZonesInFrameRelStructure);
} else {
logger.info("No tariff zones to export");
netexSiteFrame.setTariffZones(null);
}
}
use of org.rutebanken.netex.model.ObjectFactory in project tiamat by entur.
the class StreamingPublicationDelivery method createPassengerStopAssignment.
private JAXBElement<? extends StopAssignment_VersionStructure> createPassengerStopAssignment(String netexId, long version, String scheduledStopPointNetexId, int passengerStopAssignmentOrder, LocalDateTime validFrom, LocalDateTime validTo, boolean isQuay) {
var passengerStopAssignmentId = netexIdHelper.extractIdPostfix(scheduledStopPointNetexId);
var idPrefix = netexIdHelper.extractIdPrefix(scheduledStopPointNetexId);
final PassengerStopAssignment passengerStopAssignment = new PassengerStopAssignment();
passengerStopAssignment.withId(idPrefix + ":PassengerStopAssignment:P" + passengerStopAssignmentId);
passengerStopAssignment.withVersion(String.valueOf(version));
passengerStopAssignment.withOrder(BigInteger.valueOf(passengerStopAssignmentOrder));
ValidBetween validBetween = new ValidBetween().withFromDate(validFrom).withToDate(validTo);
passengerStopAssignment.withValidBetween(validBetween);
if (isQuay) {
passengerStopAssignment.withQuayRef(new QuayRefStructure().withRef(netexId).withVersion(String.valueOf(version)));
} else {
passengerStopAssignment.withStopPlaceRef(new StopPlaceRefStructure().withRef(netexId).withVersion(String.valueOf(version)));
}
final JAXBElement<ScheduledStopPointRefStructure> scheduledStopPointRef = new ObjectFactory().createScheduledStopPointRef(new ScheduledStopPointRefStructure().withRef(scheduledStopPointNetexId).withVersionRef(String.valueOf(version)));
passengerStopAssignment.withScheduledStopPointRef(scheduledStopPointRef);
return new ObjectFactory().createPassengerStopAssignment(passengerStopAssignment);
}
use of org.rutebanken.netex.model.ObjectFactory in project tiamat by entur.
the class FareZoneImportTest method publicationDeliveryWithFareZoneAndStopPlaceMergeZonesImportTypeMatch.
@Test
public void publicationDeliveryWithFareZoneAndStopPlaceMergeZonesImportTypeMatch() throws Exception {
SimplePoint_VersionStructure point = new SimplePoint_VersionStructure().withLocation(new LocationStructure().withLatitude(new BigDecimal("9.6")).withLongitude(new BigDecimal("76")));
List<JAXBElement<? extends Zone_VersionStructure>> tariffZones1 = new ArrayList<>();
FareZone fareZone1 = new FareZone().withName(new MultilingualString().withValue("V02")).withVersion("1").withId("RUT:FareZone:01");
tariffZones1.add(new ObjectFactory().createFareZone(fareZone1));
StopPlace stopPlace = new StopPlace().withId("RUT:StopPlace:321").withName(new MultilingualString().withValue("name")).withCentroid(point).withVersion("1").withStopPlaceType(StopTypeEnumeration.ONSTREET_BUS).withTariffZones(new TariffZoneRefs_RelStructure().withTariffZoneRef(new TariffZoneRef().withVersion(fareZone1.getVersion()).withRef(fareZone1.getId())));
SiteFrame siteFrame = publicationDeliveryTestHelper.siteFrame().withTariffZones(new TariffZonesInFrame_RelStructure().withTariffZone(tariffZones1)).withStopPlaces(new StopPlacesInFrame_RelStructure().withStopPlace(stopPlace));
PublicationDeliveryStructure publicationDeliveryStructure = publicationDeliveryTestHelper.publicationDelivery(siteFrame);
ImportParams importParams = new ImportParams();
importParams.importType = ImportType.INITIAL;
// First
publicationDeliveryTestHelper.postAndReturnPublicationDelivery(publicationDeliveryStructure, importParams);
List<JAXBElement<? extends Zone_VersionStructure>> tariffZones2 = new ArrayList<>();
FareZone fareZone2 = new FareZone().withName(new MultilingualString().withValue("X09")).withVersion("1").withId("BRA:FareZone:02");
tariffZones2.add(new ObjectFactory().createFareZone(fareZone2));
stopPlace.withId("BRA:Stopplace:3").withTariffZones(new TariffZoneRefs_RelStructure().withTariffZoneRef(new TariffZoneRef().withVersion(fareZone2.getVersion()).withRef(fareZone2.getId())));
SiteFrame siteFrame2 = publicationDeliveryTestHelper.siteFrame().withTariffZones(new TariffZonesInFrame_RelStructure().withTariffZone(tariffZones2)).withStopPlaces(new StopPlacesInFrame_RelStructure().withStopPlace(stopPlace));
PublicationDeliveryStructure publicationDeliveryStructure2 = publicationDeliveryTestHelper.publicationDelivery(siteFrame2);
// Second import should match and merge farezones
importParams.importType = ImportType.MATCH;
PublicationDeliveryStructure response = publicationDeliveryTestHelper.postAndReturnPublicationDelivery(publicationDeliveryStructure2, importParams);
List<JAXBElement<? extends Zone_VersionStructure>> actualZones = publicationDeliveryTestHelper.findSiteFrame(response).getTariffZones().getTariffZone();
assertThat(actualZones).isNotEmpty();
assertThat(actualZones).hasSize(2);
}
Aggregations