/* * This file was generated by openASN.1 - an open source ASN.1 toolkit for java * * openASN.1 is Copyright (C) 2007 Clayton Hoss, Marc Weyland * * openASN.1 is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as * published by the Free Software Foundation, either version 3 of * the License, or (at your option) any later version. * * openASN.1 is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with openASN.1. If not, see . * */ package org.uic.barcode.ticket.api.test.testtickets; import org.uic.barcode.asn1.datatypesimpl.SequenceOfStringUTF8; import org.uic.barcode.asn1.datatypesimpl.SequenceOfUnrestrictedLong; import org.uic.barcode.ticket.api.asn.omv3.CardReferenceType; import org.uic.barcode.ticket.api.asn.omv3.ControlData; import org.uic.barcode.ticket.api.asn.omv3.CustomerStatusType; import org.uic.barcode.ticket.api.asn.omv3.DocumentData; import org.uic.barcode.ticket.api.asn.omv3.ExtensionData; import org.uic.barcode.ticket.api.asn.omv3.IncludedOpenTicketType; import org.uic.barcode.ticket.api.asn.omv3.IssuingData; import org.uic.barcode.ticket.api.asn.omv3.LinkMode; import org.uic.barcode.ticket.api.asn.omv3.OpenTicketData; import org.uic.barcode.ticket.api.asn.omv3.PassengerType; import org.uic.barcode.ticket.api.asn.omv3.RegionalValidityType; import org.uic.barcode.ticket.api.asn.omv3.RegisteredLuggageType; import org.uic.barcode.ticket.api.asn.omv3.RouteSectionType; import org.uic.barcode.ticket.api.asn.omv3.SequenceOfCardReferenceType; import org.uic.barcode.ticket.api.asn.omv3.SequenceOfCustomerStatusType; import org.uic.barcode.ticket.api.asn.omv3.SequenceOfDocumentData; import org.uic.barcode.ticket.api.asn.omv3.SequenceOfExtensionData; import org.uic.barcode.ticket.api.asn.omv3.SequenceOfIncludedOpenTicketType; import org.uic.barcode.ticket.api.asn.omv3.SequenceOfRegionalValidityType; import org.uic.barcode.ticket.api.asn.omv3.SequenceOfRegisteredLuggageType; import org.uic.barcode.ticket.api.asn.omv3.SequenceOfTariffType; import org.uic.barcode.ticket.api.asn.omv3.SequenceOfTicketLinkType; import org.uic.barcode.ticket.api.asn.omv3.SequenceOfTravelerType; import org.uic.barcode.ticket.api.asn.omv3.SequenceOfVatDetail; import org.uic.barcode.ticket.api.asn.omv3.StationPassageData; import org.uic.barcode.ticket.api.asn.omv3.TariffType; import org.uic.barcode.ticket.api.asn.omv3.TicketDetailData; import org.uic.barcode.ticket.api.asn.omv3.TicketLinkType; import org.uic.barcode.ticket.api.asn.omv3.TicketType; import org.uic.barcode.ticket.api.asn.omv3.TokenType; import org.uic.barcode.ticket.api.asn.omv3.TravelClassType; import org.uic.barcode.ticket.api.asn.omv3.TravelerData; import org.uic.barcode.ticket.api.asn.omv3.TravelerType; import org.uic.barcode.ticket.api.asn.omv3.UicRailTicketData; import org.uic.barcode.ticket.api.asn.omv3.VatDetailType; import org.uic.barcode.ticket.api.asn.omv3.ZoneType; import org.uic.barcode.ticket.api.asn.omv3.LuggageRestrictionType; public class OpenLuggageRestrictionTestTicketV3 { public static UicRailTicketData getUicTestTicket() { UicRailTicketData ticket = new UicRailTicketData(); populateTicket(ticket); return ticket; } /* value UicRailTicketData ::= { issuingDetail { issuingYear 2018, issuingDay 1, issuingTime 600, specimen TRUE, securePaperTicket FALSE, activated TRUE, currency "EUR", currencyFract 2, issuerPNR "issuerTestPNR", issuedOnLine 12 }, travelerDetail { traveler { { firstName "John", secondName "Dow", idCard "12345", ticketHolder TRUE, status { { customerStatusDescr "senior" } } } }, groupName "myGroup" }, transportDocument { { token { tokenProviderIA5 "VDV", token '82DA'H }, ticket openTicket : { returnIncluded FALSE, stationCodeTable stationUIC, validFromDay 0, validUntilDay 0, classCode first, vatDetail { { country 80, percentage 70, amount 10, vatId "IUDGTE" } }, infoText "openTicketInfo", includedAddOns { { productOwnerNum 1080, stationCodeTable stationUIC, validRegion { zones : { stationCodeTable stationUIC, zoneId { 100 } } }, validFromDay 0, validFromTime 1000, validUntilDay 1, validUntilTime 1000, classCode second, tariffs { { numberOfPassengers 2, passengerType adult, restrictedToCountryOfResidence FALSE, restrictedToRouteSection { stationCodeTable stationUIC, fromStationNum 8000001, toStationNum 8010000 } } }, infoText "included ticket" } }, luggage { maxHandLuggagePieces 2, maxNonHandLuggagePieces 1, registeredLuggage { { registrationId "IODHUV", maxWeight 20, maxSize 100 }, { registrationId "XXDHUV", maxWeight 21, maxSize 101 } } } } }, { ticket stationPassage : { productName "passage", stationCodeTable stationUIC, stationNameUTF8 { "Amsterdam" }, validFromDay 0, validUntilDay 0, numberOfDaysValid 123 } } }, controlDetail { identificationByCardReference { { trailingCardIdNum 100 } }, identificationByIdCard FALSE, identificationByPassportId FALSE, passportValidationRequired FALSE, onlineValidationRequired FALSE, ageCheckRequired FALSE, reductionCardCheckRequired FALSE, infoText "cd", includedTickets { { referenceIA5 "UED12435867", issuerName "OEBB", issuerPNR "PNR", productOwnerIA5 "test", ticketType pass, linkMode onlyValidInCombination } } }, extension { { extensionId "1", extensionData '82DA'H }, { extensionId "2", extensionData '83DA'H } } } */ public static String getEncodingHex() { return "7804404004B14374F3E7D72F2A9979F4A13A90086280B4001044A6F686" + "E03446F770562C99B46B01106E797769DFC81DB5E51DC9BDD5C00940" + "75A2560282DA1000000101E0101C4F11804281A4D5891EA450E6F706" + "56E5469636B6574496E666F0140AD06021B8090020080B23E8013E81" + "00B10008143D09003D1C8787B4B731B63AB232B2103A34B1B5B2BA28" + "202706933E248AB58998DC1AC588922AD62864120220103B830B9B9B" + "0B3B28084A0B6B9BA32B93230B696F017B4C0200805900026364015B" + "85D58B118B268CDAB86CDC113D1509080E84EA409D32F3E850201620" + "505B402C80A0F680"; } private static void populateTicket(UicRailTicketData ticket) { ticket.setControlDetail(new ControlData()); populate(ticket.getControlDetail()); ticket.setIssuingDetail(new IssuingData()); populateIssuingData(ticket.getIssuingDetail()); TravelerData td = new TravelerData(); populateTravelerData(td); ticket.setTravelerDetail(td); SequenceOfDocumentData ds = new SequenceOfDocumentData(); //OpenTicket DocumentData do1 = new DocumentData(); addOpenTicketData(do1); ds.add(do1); //StationPassage DocumentData do2 = new DocumentData(); addStationPassage(do2); ds.add(do2); ticket.setTransportDocument(ds); SequenceOfExtensionData ed = new SequenceOfExtensionData(); populateExtensionSequence(ed); ticket.setExtension(ed); } private static void addStationPassage(DocumentData dd) { TicketDetailData tdd = new TicketDetailData(); StationPassageData sp = new StationPassageData(); sp.setProductName("passage"); sp.setValidFromDay(0L); sp.setNumberOfDaysValid(123L); SequenceOfStringUTF8 ss = new SequenceOfStringUTF8(); ss.add("Amsterdam"); sp.setStationNameUTF8(ss); tdd.setStationPassage(sp); dd.setTicket(tdd); } /* * * returnIncluded FALSE ,classCode first ,vatDetail { { country 80 ,percentage 70 ,amount 10 ,vatId "IUDGTE" } } ,infoText "openTicketInfo" */ private static void addOpenTicketData(DocumentData dd) { TokenType to = new TokenType(); to.setTokenProviderIA5("VDV"); byte[] ba = { (byte) 0x82, (byte) 0xDA }; to.setToken(ba); dd.setToken(to); TicketDetailData tdd = new TicketDetailData(); OpenTicketData otd = new OpenTicketData(); otd.setInfoText("openTicketInfo"); otd.setClassCode(TravelClassType.first); otd.setReturnIncluded(false); otd.setIncludedAddOns(new SequenceOfIncludedOpenTicketType()); otd.getIncludedAddOns().add(getIncludedOpenTicket()); otd.setVatDetails(new SequenceOfVatDetail()); otd.getVatDetails().add(getVatDetail()); otd.setLuggage(getLuggage()); tdd.setOpenTicket(otd); dd.setTicket(tdd); } private static LuggageRestrictionType getLuggage() { LuggageRestrictionType l = new LuggageRestrictionType(); l.setMaxHandLuggagePieces(2L); l.setMaxNonHandLuggagePieces(1L); l.setRegisteredLuggage(getRegisteredLuggage()); return l; } private static SequenceOfRegisteredLuggageType getRegisteredLuggage() { SequenceOfRegisteredLuggageType sl = new SequenceOfRegisteredLuggageType(); sl.add(getRegisteredLuggage1()); sl.add(getRegisteredLuggage2()); return sl; } private static RegisteredLuggageType getRegisteredLuggage1() { RegisteredLuggageType rl = new RegisteredLuggageType(); rl.setMaxSize(100L); rl.setMaxWeight(20L); rl.setRegistrationId("IODHUV"); return rl; } private static RegisteredLuggageType getRegisteredLuggage2() { RegisteredLuggageType rl = new RegisteredLuggageType(); rl.setMaxSize(101L); rl.setMaxWeight(21L); rl.setRegistrationId("XXDHUV"); return rl; } private static VatDetailType getVatDetail() { VatDetailType v = new VatDetailType(); v.setAmount(10L); v.setCountry(80L); v.setPercentage(70L); v.setVatId("IUDGTE"); return v; } /* { productOwnerNum 1080 ,validRegion { zones : { zoneId { 100 } } } ,validFromDay 0 ,validFromTime 1000 ,validUntilDay 1 ,validUntilTime 1000 ,classCode second ,tariffs { { numberOfPassengers 2 ,passengerType adult ,restrictedToCountryOfResidence FALSE ,restrictedToRouteSection { fromStationNum 8000001 , toStationNum 8010000 } } } ,infoText "included ticket" } */ private static IncludedOpenTicketType getIncludedOpenTicket() { IncludedOpenTicketType t = new IncludedOpenTicketType(); t.setClassCode(TravelClassType.second); t.setInfoText("included ticket"); t.setProductOwnerNum(1080L); t.setValidRegion(new SequenceOfRegionalValidityType()); t.getValidRegion().add(getZone()); t.setValidFromDay(0L); t.setValidFromTime(1000L); t.setValidUntilDay(1L); t.setValidUntilTime(1000L); t.setTariffs(new SequenceOfTariffType()); t.getTariffs().add(getTariff()); return t; } private static RegionalValidityType getZone() { RegionalValidityType r = new RegionalValidityType(); ZoneType z = new ZoneType(); z.setZoneId(new SequenceOfUnrestrictedLong()); z.getZoneId().add(100L); r.setZones(z); return r; } private static void populateTravelerData(TravelerData td) { td.setGroupName("myGroup"); SequenceOfTravelerType trs = new SequenceOfTravelerType(); TravelerType tr = new TravelerType(); tr.setIdCard("12345"); tr.setFirstName("John"); tr.setSecondName("Dow"); tr.setTicketHolder(true); SequenceOfCustomerStatusType ts = new SequenceOfCustomerStatusType(); CustomerStatusType cst = new CustomerStatusType(); cst.setCustomerStatusDescr("senior"); ts.add(cst); tr.setStatus(ts); trs.add(tr); td.setTraveler(trs); } /* */ private static void populateIssuingData(IssuingData issuingDetail) { issuingDetail.setIssuingYear(2018L); issuingDetail.setIssuingDay(1L); issuingDetail.setIssuingTime(600L); issuingDetail.setIssuerPNR("issuerTestPNR"); issuingDetail.setSpecimen(true); issuingDetail.setSecurePaperTicket(false); issuingDetail.setActivated(true); issuingDetail.setIssuedOnLine(12L); } private static void populateExtensionSequence(SequenceOfExtensionData ed) { ExtensionData ed1 = new ExtensionData(); ed1.setExtensionId("1"); byte[] ba1 = { (byte) 0x82, (byte) 0xDA }; ed1.setExtensionData(ba1); ExtensionData ed2 = new ExtensionData(); ed2.setExtensionId("2"); byte[] ba2 = { (byte) 0x83, (byte) 0xDA }; ed2.setExtensionData(ba2); ed.add(ed1); ed.add(ed2); } private static void populate(ControlData controlDetail) { controlDetail.infoText = "cd"; controlDetail.setAgeCheckRequired(false); controlDetail.setIdentificationByIdCard(false); controlDetail.setIdentificationByPassportId(false); controlDetail.setOnlineValidationRequired(false); controlDetail.setPassportValidationRequired(false); controlDetail.setReductionCardCheckRequired(false); controlDetail.setIdentificationByCardReference(new SequenceOfCardReferenceType()); controlDetail.getIdentificationByCardReference().add(populateCardRefrence()); SequenceOfTicketLinkType sit = new SequenceOfTicketLinkType(); populateLinkedTickets(sit); controlDetail.setIncludedTickets(sit); } /* * */ private static void populateLinkedTickets(SequenceOfTicketLinkType sequenceOfTicketLinkType) { TicketLinkType tlt = new TicketLinkType(); tlt.productOwnerIA5="test"; tlt.setTicketType(TicketType.pass); tlt.setIssuerPNR("PNR"); tlt.setReferenceIA5("UED12435867"); tlt.setLinkMode(LinkMode.onlyValidInCombination); tlt.setIssuerName("OEBB"); sequenceOfTicketLinkType.add(tlt); } /* { trailingCardIdNum 100 } */ private static CardReferenceType populateCardRefrence() { CardReferenceType cr = new CardReferenceType(); cr.setTrailingCardIdNum(100L); return cr; } private static TariffType getTariff() { TariffType t = new TariffType(); t.setNumberOfPassengers(2L); t.setPassengerType(PassengerType.adult); t.setRestrictedToRouteSection(getRouteSection()); t.setRestrictedToCountryOfResidence(false); return t; } private static RouteSectionType getRouteSection() { RouteSectionType r = new RouteSectionType(); r.setFromStationNum(8000001L); r.setToStationNum(8010000L); return r; } }