├── .gitignore ├── LICENSE ├── Project_Default.xml ├── README.md ├── pom.xml └── src ├── main └── java │ └── jlg │ └── jade │ ├── asterix │ ├── ACASResolutionAdvisoryDataItem.java │ ├── AsterixCategory.java │ ├── AsterixDataBlock.java │ ├── AsterixDataSourceIdentifierData.java │ ├── AsterixDecoder.java │ ├── AsterixItem.java │ ├── AsterixItemLength.java │ ├── AsterixMessageTypeData.java │ ├── AsterixRecord.java │ ├── AsterixTimeData.java │ ├── Cat062AsterixAgingDataField.java │ ├── DecodingNotImplemented.java │ ├── DefaultReservedFieldFactory.java │ ├── FixedLengthAsterixData.java │ ├── FspecAsterixData.java │ ├── RepeatableAsterixData.java │ ├── ReservedAsterixField.java │ ├── ReservedFieldFactory.java │ ├── StandardAsterixRecord.java │ ├── VariableLengthAsterixData.java │ ├── cat004 │ │ ├── Cat004Item000.java │ │ ├── Cat004Item010.java │ │ ├── Cat004Item015.java │ │ ├── Cat004Item020.java │ │ ├── Cat004Item030.java │ │ ├── Cat004Item035.java │ │ ├── Cat004Item040.java │ │ ├── Cat004Item045.java │ │ ├── Cat004Item060.java │ │ ├── Cat004Item074.java │ │ ├── Cat004Item075.java │ │ ├── Cat004Item076.java │ │ ├── Cat004Item110.java │ │ ├── Cat004Item170.java │ │ ├── Cat004Item171.java │ │ ├── Cat004MessageType.java │ │ ├── Cat004Record.java │ │ ├── item070 │ │ │ ├── Cat004Item070.java │ │ │ ├── Cat004Item070Subfield1.java │ │ │ ├── Cat004Item070Subfield2.java │ │ │ ├── Cat004Item070Subfield3.java │ │ │ ├── Cat004Item070Subfield4.java │ │ │ ├── Cat004Item070Subfield5.java │ │ │ └── Cat004Item070Subfield6.java │ │ ├── item100 │ │ │ ├── Cat004Item100.java │ │ │ ├── Cat004Item100RimcaDesignatorData.java │ │ │ ├── Cat004Item100Subfield1.java │ │ │ ├── Cat004Item100Subfield2.java │ │ │ ├── Cat004Item100Subfield3.java │ │ │ ├── Cat004Item100Subfield4.java │ │ │ ├── Cat004Item100Subfield5.java │ │ │ └── Cat004Item100Subfield6.java │ │ ├── item120 │ │ │ ├── Cat004Item120.java │ │ │ ├── Cat004Item120Subfield1.java │ │ │ ├── Cat004Item120Subfield2.java │ │ │ ├── Cat004Item120Subfield3.java │ │ │ └── Cat004Item120Subfield4.java │ │ └── item170_171 │ │ │ ├── Cat004AircraftCharacteristicsBase.java │ │ │ ├── Cat004AircraftCharacteristicsSubfield1.java │ │ │ ├── Cat004AircraftCharacteristicsSubfield10.java │ │ │ ├── Cat004AircraftCharacteristicsSubfield2.java │ │ │ ├── Cat004AircraftCharacteristicsSubfield3.java │ │ │ ├── Cat004AircraftCharacteristicsSubfield4.java │ │ │ ├── Cat004AircraftCharacteristicsSubfield5.java │ │ │ ├── Cat004AircraftCharacteristicsSubfield6.java │ │ │ ├── Cat004AircraftCharacteristicsSubfield7.java │ │ │ ├── Cat004AircraftCharacteristicsSubfield8.java │ │ │ └── Cat004AircraftCharacteristicsSubfield9.java │ ├── cat034 │ │ ├── Cat034Item000.java │ │ ├── Cat034Item000MessageType.java │ │ ├── Cat034Item010.java │ │ ├── Cat034Item020.java │ │ ├── Cat034Item030.java │ │ ├── Cat034Item041.java │ │ ├── Cat034Item070.java │ │ ├── Cat034Item090.java │ │ ├── Cat034Item100.java │ │ ├── Cat034Item110.java │ │ ├── Cat034Item120.java │ │ ├── Cat034Record.java │ │ ├── item050 │ │ │ ├── Cat034Item050.java │ │ │ ├── Cat034Item050Subfield1.java │ │ │ ├── Cat034Item050Subfield4.java │ │ │ ├── Cat034Item050Subfield5.java │ │ │ └── Cat034Item050Subfield6.java │ │ └── item060 │ │ │ ├── Cat034Item060.java │ │ │ ├── Cat034Item060Subfield1.java │ │ │ ├── Cat034Item060Subfield4.java │ │ │ ├── Cat034Item060Subfield5.java │ │ │ └── Cat034Item060Subfield6.java │ ├── cat048 │ │ ├── Cat048Item010.java │ │ ├── Cat048Item020.java │ │ ├── Cat048Item030.java │ │ ├── Cat048Item040.java │ │ ├── Cat048Item042.java │ │ ├── Cat048Item050.java │ │ ├── Cat048Item055.java │ │ ├── Cat048Item060.java │ │ ├── Cat048Item065.java │ │ ├── Cat048Item070.java │ │ ├── Cat048Item080.java │ │ ├── Cat048Item090.java │ │ ├── Cat048Item100.java │ │ ├── Cat048Item110.java │ │ ├── Cat048Item140.java │ │ ├── Cat048Item161.java │ │ ├── Cat048Item170.java │ │ ├── Cat048Item200.java │ │ ├── Cat048Item210.java │ │ ├── Cat048Item220.java │ │ ├── Cat048Item230.java │ │ ├── Cat048Item240.java │ │ ├── Cat048Item250.java │ │ ├── Cat048Item260.java │ │ ├── Cat048Item260BitSetIndexes.java │ │ ├── Cat048Record.java │ │ ├── Cat084Item050.java │ │ ├── item120 │ │ │ ├── Cat048Item120.java │ │ │ ├── Cat048Item120Subfield1.java │ │ │ └── Cat048Item120Subfield2.java │ │ └── item130 │ │ │ ├── Cat048Item130.java │ │ │ ├── Cat048Item130Subfield1.java │ │ │ ├── Cat048Item130Subfield2.java │ │ │ ├── Cat048Item130Subfield3.java │ │ │ ├── Cat048Item130Subfield4.java │ │ │ ├── Cat048Item130Subfield5.java │ │ │ ├── Cat048Item130Subfield6.java │ │ │ └── Cat048Item130Subfield7.java │ ├── cat062 │ │ ├── Cat062Item010.java │ │ ├── Cat062Item015.java │ │ ├── Cat062Item040.java │ │ ├── Cat062Item060.java │ │ ├── Cat062Item070.java │ │ ├── Cat062Item080.java │ │ ├── Cat062Item100.java │ │ ├── Cat062Item105.java │ │ ├── Cat062Item120.java │ │ ├── Cat062Item130.java │ │ ├── Cat062Item135.java │ │ ├── Cat062Item136.java │ │ ├── Cat062Item185.java │ │ ├── Cat062Item210.java │ │ ├── Cat062Item220.java │ │ ├── Cat062Item245.java │ │ ├── Cat062Item270.java │ │ ├── Cat062Item295.java │ │ ├── Cat062Item300.java │ │ ├── Cat062Item510.java │ │ ├── Cat062Record.java │ │ ├── Cat062UAP.java │ │ ├── item110 │ │ │ ├── Cat062Item110.java │ │ │ ├── Cat062Item110Subfield1.java │ │ │ ├── Cat062Item110Subfield2.java │ │ │ ├── Cat062Item110Subfield3.java │ │ │ ├── Cat062Item110Subfield4.java │ │ │ ├── Cat062Item110Subfield5.java │ │ │ ├── Cat062Item110Subfield6.java │ │ │ └── Cat062Item110Subfield7.java │ │ ├── item200 │ │ │ ├── Cat062Item200.java │ │ │ ├── ModeOfMovementLongAcceleration.java │ │ │ ├── ModeOfMovementTransversalAcceleration.java │ │ │ └── ModeOfMovementVerticalRate.java │ │ ├── item290 │ │ │ ├── Cat062Item290.java │ │ │ └── Cat062Item290Subfield5.java │ │ ├── item340 │ │ │ ├── Cat062Item340.java │ │ │ ├── Cat062Item340Subfield1.java │ │ │ ├── Cat062Item340Subfield2.java │ │ │ ├── Cat062Item340Subfield3.java │ │ │ ├── Cat062Item340Subfield4.java │ │ │ ├── Cat062Item340Subfield5.java │ │ │ └── Cat062Item340Subfield6.java │ │ ├── item380 │ │ │ ├── Cat062Item380.java │ │ │ ├── Cat062Item380Subfield1.java │ │ │ ├── Cat062Item380Subfield10.java │ │ │ ├── Cat062Item380Subfield11.java │ │ │ ├── Cat062Item380Subfield12.java │ │ │ ├── Cat062Item380Subfield13.java │ │ │ ├── Cat062Item380Subfield14.java │ │ │ ├── Cat062Item380Subfield15.java │ │ │ ├── Cat062Item380Subfield16.java │ │ │ ├── Cat062Item380Subfield17.java │ │ │ ├── Cat062Item380Subfield18.java │ │ │ ├── Cat062Item380Subfield19.java │ │ │ ├── Cat062Item380Subfield2.java │ │ │ ├── Cat062Item380Subfield20.java │ │ │ ├── Cat062Item380Subfield21.java │ │ │ ├── Cat062Item380Subfield22.java │ │ │ ├── Cat062Item380Subfield23.java │ │ │ ├── Cat062Item380Subfield24.java │ │ │ ├── Cat062Item380Subfield25.java │ │ │ ├── Cat062Item380Subfield26.java │ │ │ ├── Cat062Item380Subfield27.java │ │ │ ├── Cat062Item380Subfield28.java │ │ │ ├── Cat062Item380Subfield3.java │ │ │ ├── Cat062Item380Subfield4.java │ │ │ ├── Cat062Item380Subfield5.java │ │ │ ├── Cat062Item380Subfield6.java │ │ │ ├── Cat062Item380Subfield7.java │ │ │ ├── Cat062Item380Subfield8.java │ │ │ └── Cat062Item380Subfield9.java │ │ ├── item390 │ │ │ ├── Cat062Item390.java │ │ │ ├── Cat062Item390Subfield1.java │ │ │ ├── Cat062Item390Subfield10.java │ │ │ ├── Cat062Item390Subfield11.java │ │ │ ├── Cat062Item390Subfield12.java │ │ │ ├── Cat062Item390Subfield13.java │ │ │ ├── Cat062Item390Subfield14.java │ │ │ ├── Cat062Item390Subfield15.java │ │ │ ├── Cat062Item390Subfield16.java │ │ │ ├── Cat062Item390Subfield17.java │ │ │ ├── Cat062Item390Subfield18.java │ │ │ ├── Cat062Item390Subfield2.java │ │ │ ├── Cat062Item390Subfield3.java │ │ │ ├── Cat062Item390Subfield4.java │ │ │ ├── Cat062Item390Subfield5.java │ │ │ ├── Cat062Item390Subfield6.java │ │ │ ├── Cat062Item390Subfield7.java │ │ │ ├── Cat062Item390Subfield8.java │ │ │ └── Cat062Item390Subfield9.java │ │ └── item500 │ │ │ ├── Cat062Item500.java │ │ │ ├── Cat062Item500Subfield1.java │ │ │ ├── Cat062Item500Subfield2.java │ │ │ ├── Cat062Item500Subfield3.java │ │ │ ├── Cat062Item500Subfield4.java │ │ │ ├── Cat062Item500Subfield5.java │ │ │ ├── Cat062Item500Subfield6.java │ │ │ ├── Cat062Item500Subfield7.java │ │ │ └── Cat062Item500Subfield8.java │ ├── cat065 │ │ ├── Cat065Item000.java │ │ ├── Cat065Item010.java │ │ ├── Cat065Item015.java │ │ ├── Cat065Item020.java │ │ ├── Cat065Item030.java │ │ ├── Cat065Item040.java │ │ ├── Cat065Item050.java │ │ └── Cat065Record.java │ ├── cat150 │ │ ├── Cat150Correlation.java │ │ ├── Cat150Item010.java │ │ ├── Cat150Item020.java │ │ ├── Cat150Item030.java │ │ ├── Cat150Item030MessageType.java │ │ ├── Cat150Item040.java │ │ ├── Cat150Item050.java │ │ ├── Cat150Item060.java │ │ ├── Cat150Item070.java │ │ ├── Cat150Item080.java │ │ ├── Cat150Item090.java │ │ ├── Cat150Item100.java │ │ ├── Cat150Item110.java │ │ ├── Cat150Item110RvsmStatus.java │ │ ├── Cat150Item120.java │ │ ├── Cat150Item130.java │ │ ├── Cat150Item140.java │ │ ├── Cat150Item150.java │ │ ├── Cat150Item151.java │ │ ├── Cat150Item160.java │ │ ├── Cat150Item170.java │ │ ├── Cat150Item171.java │ │ ├── Cat150Item180.java │ │ ├── Cat150Item190.java │ │ ├── Cat150Item200.java │ │ ├── Cat150Item210.java │ │ ├── Cat150Item220.java │ │ ├── Cat150Item230.java │ │ ├── Cat150Item240.java │ │ ├── Cat150Item250.java │ │ ├── Cat150Item251.java │ │ ├── Cat150Record.java │ │ ├── Cat150RoutePointCoordinate.java │ │ ├── Cat150RoutePointDescription.java │ │ ├── Cat150RoutePointFlightLevel.java │ │ ├── Cat150RoutePointFlightLevelData.java │ │ ├── Cat150RoutePointGeoPosition.java │ │ └── Cat150RoutePointTime.java │ └── counters │ │ ├── AsterixDecodingReport.java │ │ ├── AsterixItemCounter.java │ │ ├── Cat004ItemCounter.java │ │ ├── Cat034ItemCounter.java │ │ ├── Cat048ItemCounter.java │ │ ├── Cat062ItemCounter.java │ │ ├── Cat065ItemCounter.java │ │ ├── Cat150ItemCounter.java │ │ └── DefaultDecodingReport.java │ ├── common │ ├── AsterixDecodingException.java │ ├── AsterixEncodingException.java │ ├── AsterixException.java │ ├── BitValueDecoder.java │ ├── BitWriter.java │ ├── Constants.java │ ├── DebugMessageSource.java │ ├── Decodable.java │ ├── Encodable.java │ ├── IA5Decoder.java │ ├── Loggable.java │ ├── ModeACode.java │ ├── ModeCCode.java │ ├── NumericBitSet.java │ ├── TwoComplementDecoder.java │ └── UnsignedNumericDecoder.java │ └── example │ ├── DatagramConvertor.java │ ├── FileReader.java │ ├── JadeApplication.java │ ├── RawQueue.java │ └── UdpReader.java └── test ├── java └── jlg │ └── jade │ └── test │ ├── asterix │ ├── AsterixDataBlockTest.java │ ├── AsterixDecoderTest.java │ ├── AsterixRecordTest.java │ ├── ReservedFieldTest.java │ ├── cat004 │ │ ├── Cat004DecodingTest.java │ │ ├── Cat004Item000Test.java │ │ ├── Cat004Item010Test.java │ │ ├── Cat004Item015Test.java │ │ ├── Cat004Item020Test.java │ │ ├── Cat004Item030Test.java │ │ ├── Cat004Item035Test.java │ │ ├── Cat004Item040Test.java │ │ ├── Cat004Item045Test.java │ │ ├── Cat004Item060Test.java │ │ ├── Cat004Item074Test.java │ │ ├── Cat004Item075Test.java │ │ ├── Cat004Item076Test.java │ │ ├── Cat004Item110Test.java │ │ ├── item070 │ │ │ ├── Cat004Item070Subfield1Test.java │ │ │ ├── Cat004Item070Subfield2Test.java │ │ │ ├── Cat004Item070Subfield3Test.java │ │ │ ├── Cat004Item070Subfield4Test.java │ │ │ ├── Cat004Item070Subfield5Test.java │ │ │ ├── Cat004Item070Subfield6Test.java │ │ │ └── Cat004Item070Test.java │ │ ├── item100 │ │ │ ├── Cat004Item100Subfield1Test.java │ │ │ ├── Cat004Item100Subfield2Test.java │ │ │ ├── Cat004Item100Subfield3Test.java │ │ │ ├── Cat004Item100Subfield4Test.java │ │ │ ├── Cat004Item100Subfield5Test.java │ │ │ ├── Cat004Item100Subfield6Test.java │ │ │ └── Cat004Item100Test.java │ │ ├── item120 │ │ │ ├── Cat004Item120Subfield1Test.java │ │ │ ├── Cat004Item120Subfield2Test.java │ │ │ ├── Cat004Item120Subfield3Test.java │ │ │ ├── Cat004Item120Subfield4Test.java │ │ │ └── Cat004Item120Test.java │ │ └── item170_171 │ │ │ ├── Cat004AircraftCharacteristicsSubfield10Test.java │ │ │ ├── Cat004AircraftCharacteristicsSubfield1Test.java │ │ │ ├── Cat004AircraftCharacteristicsSubfield2Test.java │ │ │ ├── Cat004AircraftCharacteristicsSubfield3Test.java │ │ │ ├── Cat004AircraftCharacteristicsSubfield4Test.java │ │ │ ├── Cat004AircraftCharacteristicsSubfield5Test.java │ │ │ ├── Cat004AircraftCharacteristicsSubfield6Test.java │ │ │ ├── Cat004AircraftCharacteristicsSubfield7Test.java │ │ │ ├── Cat004AircraftCharacteristicsSubfield8Test.java │ │ │ ├── Cat004AircraftCharacteristicsSubfield9Test.java │ │ │ └── Cat004AircraftCharacteristicsTest.java │ ├── cat034 │ │ ├── Cat034Item000Test.java │ │ ├── Cat034Item010Test.java │ │ ├── Cat034Item020Test.java │ │ ├── Cat034Item030Test.java │ │ ├── Cat034Item041Test.java │ │ ├── Cat034Item070Test.java │ │ ├── Cat034Item090Test.java │ │ ├── Cat034Item100Test.java │ │ ├── Cat034Item110Test.java │ │ ├── Cat034Item120Test.java │ │ ├── Cat034RecordTest.java │ │ ├── item050 │ │ │ ├── Cat034Item050Subfield1Test.java │ │ │ ├── Cat034Item050Subfield4Test.java │ │ │ ├── Cat034Item050Subfield5Test.java │ │ │ ├── Cat034Item050Subfield6Test.java │ │ │ └── Cat034Item050Test.java │ │ └── item060 │ │ │ ├── Cat034Item060Subfield1Test.java │ │ │ ├── Cat034Item060Subfield4Test.java │ │ │ ├── Cat034Item060Subfield5Test.java │ │ │ ├── Cat034Item060Subfield6Test.java │ │ │ └── Cat034Item060Test.java │ ├── cat048 │ │ ├── Cat048Item010Test.java │ │ ├── Cat048Item020Test.java │ │ ├── Cat048Item030Test.java │ │ ├── Cat048Item040Test.java │ │ ├── Cat048Item042Test.java │ │ ├── Cat048Item050Test.java │ │ ├── Cat048Item055Test.java │ │ ├── Cat048Item060Test.java │ │ ├── Cat048Item065Test.java │ │ ├── Cat048Item070Test.java │ │ ├── Cat048Item080Test.java │ │ ├── Cat048Item090Test.java │ │ ├── Cat048Item100Test.java │ │ ├── Cat048Item110Test.java │ │ ├── Cat048Item140Test.java │ │ ├── Cat048Item161Test.java │ │ ├── Cat048Item170Test.java │ │ ├── Cat048Item200Test.java │ │ ├── Cat048Item210Test.java │ │ ├── Cat048Item220Test.java │ │ ├── Cat048Item230Test.java │ │ ├── Cat048Item240Test.java │ │ ├── Cat048Item250Test.java │ │ ├── Cat048Item260Test.java │ │ ├── Cat048RecordTest.java │ │ ├── Cat084Item050Test.java │ │ ├── item120 │ │ │ ├── Cat048Item120Subfield1Test.java │ │ │ ├── Cat048Item120Subfield2Test.java │ │ │ └── Cat048Item120Test.java │ │ └── item130 │ │ │ ├── Cat048Item130Subfield1Test.java │ │ │ ├── Cat048Item130Subfield2Test.java │ │ │ ├── Cat048Item130Subfield3Test.java │ │ │ ├── Cat048Item130Subfield4Test.java │ │ │ ├── Cat048Item130Subfield5Test.java │ │ │ ├── Cat048Item130Subfield6Test.java │ │ │ ├── Cat048Item130Subfield7Test.java │ │ │ └── Cat048Item130Test.java │ ├── cat062 │ │ ├── Cat062Item010Test.java │ │ ├── Cat062Item015Test.java │ │ ├── Cat062Item040Test.java │ │ ├── Cat062Item060Test.java │ │ ├── Cat062Item070Test.java │ │ ├── Cat062Item080Test.java │ │ ├── Cat062Item100Test.java │ │ ├── Cat062Item105Test.java │ │ ├── Cat062Item120Test.java │ │ ├── Cat062Item130Test.java │ │ ├── Cat062Item135Test.java │ │ ├── Cat062Item136Test.java │ │ ├── Cat062Item185Test.java │ │ ├── Cat062Item200Test.java │ │ ├── Cat062Item210Test.java │ │ ├── Cat062Item220Test.java │ │ ├── Cat062Item245Test.java │ │ ├── Cat062Item270Test.java │ │ ├── Cat062Item295Test.java │ │ ├── Cat062Item300Test.java │ │ ├── Cat062Item510Test.java │ │ ├── Cat062LargeSampleTest.java │ │ ├── Cat062OneByteAsterixAgingDataTest.java │ │ ├── Cat062RecordSampleOneTest.java │ │ ├── Cat062RecordSampleTwoTest.java │ │ ├── item110 │ │ │ ├── Cat062Item110Subfield1Test.java │ │ │ ├── Cat062Item110Subfield2Test.java │ │ │ ├── Cat062Item110Subfield3Test.java │ │ │ ├── Cat062Item110Subfield4Test.java │ │ │ ├── Cat062Item110Subfield5Test.java │ │ │ ├── Cat062Item110Subfield6Test.java │ │ │ ├── Cat062Item110Subfield7Test.java │ │ │ └── Cat062Item110Test.java │ │ ├── item290 │ │ │ ├── Cat062Item290Subfield5Test.java │ │ │ └── Cat062Item290Test.java │ │ ├── item340 │ │ │ ├── Cat062Item340Subfield1Test.java │ │ │ ├── Cat062Item340Subfield2Test.java │ │ │ ├── Cat062Item340Subfield3Test.java │ │ │ ├── Cat062Item340Subfield4Test.java │ │ │ ├── Cat062Item340Subfield5Test.java │ │ │ ├── Cat062Item340Subfield6Test.java │ │ │ └── Cat062Item340Test.java │ │ ├── item380 │ │ │ ├── Cat062Item380Subfield10Test.java │ │ │ ├── Cat062Item380Subfield11Test.java │ │ │ ├── Cat062Item380Subfield12Test.java │ │ │ ├── Cat062Item380Subfield13Test.java │ │ │ ├── Cat062Item380Subfield14Test.java │ │ │ ├── Cat062Item380Subfield15Test.java │ │ │ ├── Cat062Item380Subfield16Test.java │ │ │ ├── Cat062Item380Subfield17Test.java │ │ │ ├── Cat062Item380Subfield18Test.java │ │ │ ├── Cat062Item380Subfield19Test.java │ │ │ ├── Cat062Item380Subfield20Test.java │ │ │ ├── Cat062Item380Subfield21Test.java │ │ │ ├── Cat062Item380Subfield22Test.java │ │ │ ├── Cat062Item380Subfield23Test.java │ │ │ ├── Cat062Item380Subfield24Test.java │ │ │ ├── Cat062Item380Subfield25Test.java │ │ │ ├── Cat062Item380Subfield26Test.java │ │ │ ├── Cat062Item380Subfield27Test.java │ │ │ ├── Cat062Item380Subfield28Test.java │ │ │ ├── Cat062Item380Subfield2Test.java │ │ │ ├── Cat062Item380Subfield3Test.java │ │ │ ├── Cat062Item380Subfield4Test.java │ │ │ ├── Cat062Item380Subfield5Test.java │ │ │ ├── Cat062Item380Subfield6Test.java │ │ │ ├── Cat062Item380Subfield7Test.java │ │ │ ├── Cat062Item380Subfield8Test.java │ │ │ ├── Cat062Item380Subfield9Test.java │ │ │ ├── Cat062Item380Test.java │ │ │ └── Item380Subfield1Test.java │ │ ├── item390 │ │ │ ├── Cat062Item390Subfield10Test.java │ │ │ ├── Cat062Item390Subfield11Test.java │ │ │ ├── Cat062Item390Subfield12Test.java │ │ │ ├── Cat062Item390Subfield13Test.java │ │ │ ├── Cat062Item390Subfield14Test.java │ │ │ ├── Cat062Item390Subfield15Test.java │ │ │ ├── Cat062Item390Subfield16Test.java │ │ │ ├── Cat062Item390Subfield17Test.java │ │ │ ├── Cat062Item390Subfield18Test.java │ │ │ ├── Cat062Item390Subfield1Test.java │ │ │ ├── Cat062Item390Subfield2Test.java │ │ │ ├── Cat062Item390Subfield3Test.java │ │ │ ├── Cat062Item390Subfield4Test.java │ │ │ ├── Cat062Item390Subfield5Test.java │ │ │ ├── Cat062Item390Subfield6Test.java │ │ │ ├── Cat062Item390Subfield7Test.java │ │ │ ├── Cat062Item390Subfield8Test.java │ │ │ ├── Cat062Item390Subfield9Test.java │ │ │ └── Cat062Item390Test.java │ │ └── item500 │ │ │ ├── Cat062Item500Subfield1Test.java │ │ │ ├── Cat062Item500Subfield2Test.java │ │ │ ├── Cat062Item500Subfield3Test.java │ │ │ ├── Cat062Item500Subfield4Test.java │ │ │ ├── Cat062Item500Subfield5Test.java │ │ │ ├── Cat062Item500Subfield6Test.java │ │ │ ├── Cat062Item500Subfield7Test.java │ │ │ ├── Cat062Item500Subfield8Test.java │ │ │ └── Cat062Item500Test.java │ ├── cat065 │ │ ├── Cat065Item000Test.java │ │ ├── Cat065Item010Test.java │ │ ├── Cat065Item015Test.java │ │ ├── Cat065Item020Test.java │ │ ├── Cat065Item030Test.java │ │ ├── Cat065Item040Test.java │ │ ├── Cat065Item050Test.java │ │ └── Cat065RecordTest.java │ ├── cat150 │ │ ├── Cat150Item010Test.java │ │ ├── Cat150Item020Test.java │ │ ├── Cat150Item030Test.java │ │ ├── Cat150Item040Test.java │ │ ├── Cat150Item050Test.java │ │ ├── Cat150Item060Test.java │ │ ├── Cat150Item070Test.java │ │ ├── Cat150Item080Test.java │ │ ├── Cat150Item090Test.java │ │ ├── Cat150Item100Test.java │ │ ├── Cat150Item110Test.java │ │ ├── Cat150Item120Test.java │ │ ├── Cat150Item130Test.java │ │ ├── Cat150Item140Test.java │ │ ├── Cat150Item150Test.java │ │ ├── Cat150Item151Test.java │ │ ├── Cat150Item160Test.java │ │ ├── Cat150Item170Test.java │ │ ├── Cat150Item171Test.java │ │ ├── Cat150Item180Test.java │ │ ├── Cat150Item190Test.java │ │ ├── Cat150Item200Test.java │ │ ├── Cat150Item210Test.java │ │ ├── Cat150Item220Test.java │ │ ├── Cat150Item230Test.java │ │ ├── Cat150Item240Test.java │ │ ├── Cat150Item250Test.java │ │ ├── Cat150Item251Test.java │ │ └── Cat150RecordTest.java │ └── counters │ │ ├── Cat034ItemCounterTest.java │ │ └── Cat048ItemCounterTest.java │ └── utils │ ├── MandatoryCat004Item100RimcaDataTests.java │ ├── MandatoryFixedLengthAsterixTests.java │ ├── MandatoryFspecAsterixTests.java │ ├── MandatoryRepeatableAsterixTests.java │ └── TestHelper.java └── resources ├── NATS_CAT048_119bytes_TCAS.ff ├── final_frame_062_065_large_packet_30min.ff ├── final_frame_062_30min.ff ├── final_frame_062_one_packet_sample2.FF └── final_frame_cat062_one_packet.ff /.gitignore: -------------------------------------------------------------------------------- 1 | *.class 2 | 3 | # Mobile Tools for Java (J2ME) 4 | .mtj.tmp/ 5 | 6 | # Package Files # 7 | *.jar 8 | *.war 9 | *.ear 10 | 11 | # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml 12 | hs_err_pid* 13 | 14 | # Eclipse 15 | .classpath 16 | .project 17 | .settings/ 18 | 19 | # Intellij 20 | .idea/ 21 | *.iml 22 | *.iws 23 | 24 | # Mac 25 | .DS_Store 26 | 27 | # Maven 28 | log/ 29 | logs/ 30 | target/ 31 | classes/ 32 | pom.xml.tag 33 | pom.xml.releaseBackup 34 | pom.xml.versionsBackup 35 | pom.xml.next 36 | release.properties 37 | dependency-reduced-pom.xml 38 | buildNumber.properties 39 | .mvn/timing.properties 40 | 41 | *.log 42 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/AsterixCategory.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Created by dan-geabunea on 4/19/2016. 3 | * This code is the property of JLG Consulting. Please 4 | * check the license terms for this product to see under what 5 | * conditions you can use or modify this source code. 6 | */ 7 | 8 | package jlg.jade.asterix; 9 | 10 | public enum AsterixCategory { 11 | CAT_004(4), 12 | CAT_034(34), 13 | CAT_048(48), 14 | CAT_062(62), 15 | CAT_065(65), 16 | CAT_150(150); 17 | 18 | private final int value; 19 | 20 | AsterixCategory(int value){ 21 | this.value = value; 22 | } 23 | 24 | public int getValue() { 25 | return value; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/AsterixItemLength.java: -------------------------------------------------------------------------------- 1 | package jlg.jade.asterix;/* 2 | * Created by dan-geabunea on 4/18/2016. 3 | * This code is the property of JLG Consulting. Please 4 | * check the license terms for this product to see under what 5 | * conditions you can use or modify this source code. 6 | */ 7 | 8 | public enum AsterixItemLength { 9 | VARIABLE(-1), 10 | ONE_BYTE(1), 11 | TWO_BYTES(2), 12 | THREE_BYTES(3), 13 | FOUR_BYTES(4), 14 | FIVE_BYTES(5), 15 | SIX_BYTES(6), 16 | SEVEN_BYTES(7), 17 | EIGHT_BYTES(8), 18 | NINE_BYTES(9), 19 | TEN_BYTES(10), 20 | ELEVEN_BYTES(11), 21 | TWELVE_BYTES(12); 22 | 23 | private final int value; 24 | 25 | AsterixItemLength(int value) { 26 | this.value = value; 27 | } 28 | 29 | public int getValue() { 30 | return value; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/DecodingNotImplemented.java: -------------------------------------------------------------------------------- 1 | package jlg.jade.asterix; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Target; 5 | 6 | @Target(ElementType.METHOD) 7 | public @interface DecodingNotImplemented { 8 | String reason(); 9 | 10 | } 11 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/DefaultReservedFieldFactory.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Created by dan-geabunea on 5/17/2016. 3 | * This code is the property of JLG Consulting. Please 4 | * check the license terms for this product to see under what 5 | * conditions you can use or modify this source code. 6 | */ 7 | package jlg.jade.asterix; 8 | 9 | public class DefaultReservedFieldFactory implements ReservedFieldFactory{ 10 | 11 | @Override 12 | public ReservedAsterixField createSpField() { 13 | return new ReservedAsterixField(); 14 | } 15 | 16 | @Override 17 | public ReservedAsterixField createReField() { 18 | return new ReservedAsterixField(); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/ReservedFieldFactory.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Created by dan-geabunea on 5/17/2016. 3 | * This code is the property of JLG Consulting. Please 4 | * check the license terms for this product to see under what 5 | * conditions you can use or modify this source code. 6 | */ 7 | 8 | package jlg.jade.asterix; 9 | 10 | public interface ReservedFieldFactory { 11 | ReservedAsterixField createSpField(); 12 | 13 | ReservedAsterixField createReField(); 14 | } 15 | 16 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat004/Cat004Item000.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Created by dan-geabunea on 5/30/2016. 3 | * This code is the property of JLG Consulting. Please 4 | * check the license terms for this product to see under what 5 | * conditions you can use or modify this source code. 6 | */ 7 | package jlg.jade.asterix.cat004; 8 | 9 | import jlg.jade.asterix.AsterixMessageTypeData; 10 | 11 | /** 12 | * Cat 004 - Item 000 - Message Type 13 | */ 14 | public class Cat004Item000 extends AsterixMessageTypeData { 15 | @Override 16 | protected String setDisplayName() { 17 | return "Cat004Item000 - Message Type"; 18 | } 19 | 20 | @Override 21 | protected boolean validate() { 22 | if (this.getMessageType() >= 1 && this.getMessageType() <= 19) { 23 | return true; 24 | } 25 | appendWarningMessage("Item is not valid. The message type should be between 1 and 19. Actual value: " + this 26 | .getMessageType()); 27 | return false; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat004/Cat004Item010.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Created by dan-geabunea on 5/30/2016. 3 | * This code is the property of JLG Consulting. Please 4 | * check the license terms for this product to see under what 5 | * conditions you can use or modify this source code. 6 | */ 7 | package jlg.jade.asterix.cat004; 8 | 9 | import jlg.jade.asterix.AsterixDataSourceIdentifierData; 10 | 11 | /** 12 | * Cat 004 Item 010 - Data Source Identifier 13 | */ 14 | public class Cat004Item010 extends AsterixDataSourceIdentifierData { 15 | @Override 16 | protected String setDisplayName() { 17 | return "Cat004Item010 - Data Source Identifier"; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat004/Cat004Item015.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Created by dan-geabunea on 5/30/2016. 3 | * This code is the property of JLG Consulting. Please 4 | * check the license terms for this product to see under what 5 | * conditions you can use or modify this source code. 6 | */ 7 | package jlg.jade.asterix.cat004; 8 | 9 | import jlg.jade.asterix.AsterixItemLength; 10 | import jlg.jade.asterix.DecodingNotImplemented; 11 | import jlg.jade.asterix.RepeatableAsterixData; 12 | 13 | /** 14 | * Cat 004 - Item 015 - SDPS Identifier 15 | */ 16 | public class Cat004Item015 extends RepeatableAsterixData{ 17 | @Override 18 | protected int setRepeatableBlockSizeInBytes() { 19 | return AsterixItemLength.TWO_BYTES.getValue(); 20 | } 21 | 22 | @Override 23 | @DecodingNotImplemented(reason = "Item not needed yet") 24 | protected void decodeFromByteArray(byte[] input, int offset) { 25 | appendNotImplementedMsg(); 26 | } 27 | 28 | @Override 29 | protected String setDisplayName() { 30 | return "Cat004Item015 - SDPS Identifier"; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat004/Cat004Item020.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Created by dan-geabunea on 5/30/2016. 3 | * This code is the property of JLG Consulting. Please 4 | * check the license terms for this product to see under what 5 | * conditions you can use or modify this source code. 6 | */ 7 | package jlg.jade.asterix.cat004; 8 | 9 | import jlg.jade.asterix.AsterixTimeData; 10 | 11 | /** 12 | * Cat 004 - Item 020 - Time of Message 13 | */ 14 | public class Cat004Item020 extends AsterixTimeData { 15 | @Override 16 | protected String setDisplayName() { 17 | return "Cat004Item020 - Time of Message"; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat004/Cat004Item060.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Created by dan-geabunea on 6/3/2016. 3 | * This code is the property of JLG Consulting. Please 4 | * check the license terms for this product to see under what 5 | * conditions you can use or modify this source code. 6 | */ 7 | package jlg.jade.asterix.cat004; 8 | 9 | import jlg.jade.asterix.DecodingNotImplemented; 10 | import jlg.jade.asterix.VariableLengthAsterixData; 11 | 12 | /** 13 | * Cat 004 - Item 060 - Safety Net Functions & System Status 14 | */ 15 | public class Cat004Item060 extends VariableLengthAsterixData { 16 | 17 | @DecodingNotImplemented(reason = "Item not needed yet") 18 | protected void decodeFromByteArray(byte[] input, int offset) { 19 | appendNotImplementedMsg(); 20 | } 21 | 22 | @Override 23 | protected String setDisplayName() { 24 | return "Cat004Item060 - Safety Net Function & System Status"; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat004/Cat004Item110.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Dan Geabunea on 6/28/2016. 3 | */ 4 | 5 | package jlg.jade.asterix.cat004; 6 | 7 | import jlg.jade.asterix.AsterixItemLength; 8 | import jlg.jade.asterix.DecodingNotImplemented; 9 | import jlg.jade.asterix.RepeatableAsterixData; 10 | 11 | /** 12 | * Cat004 Item110 - FDPS Sector Control Identification 13 | * Identification of a list of FDPS Sector Control Positions in 14 | * charge of the involved targets, as provided by the FDPS 15 | */ 16 | public class Cat004Item110 extends RepeatableAsterixData { 17 | @Override 18 | protected int setRepeatableBlockSizeInBytes() { 19 | return AsterixItemLength.TWO_BYTES.getValue(); 20 | } 21 | 22 | @Override 23 | @DecodingNotImplemented(reason = "Item not needed yet") 24 | protected void decodeFromByteArray(byte[] input, int offset) { 25 | appendNotImplementedMsg(); 26 | } 27 | 28 | @Override 29 | protected String setDisplayName() { 30 | return "Cat004Item110 - FDPS Sector Control Identification"; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat004/Cat004Item170.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Dan Geabunea on 6/23/2016. 3 | */ 4 | 5 | package jlg.jade.asterix.cat004; 6 | 7 | import jlg.jade.asterix.cat004.item170_171.Cat004AircraftCharacteristicsBase; 8 | 9 | /** 10 | * Cat004 - Item 170 - Aircraft Identification and Characteristics 1 11 | * 12 | * @implNote Impementation is fully provided by base class 13 | */ 14 | public class Cat004Item170 extends Cat004AircraftCharacteristicsBase { 15 | @Override 16 | protected String setDisplayName() { 17 | return "Cat004Item170 - Aircraft Ident and Characteristics for Aircraft 1"; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat004/Cat004Item171.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Dan Geabunea on 6/23/2016. 3 | */ 4 | 5 | package jlg.jade.asterix.cat004; 6 | 7 | import jlg.jade.asterix.cat004.item170_171.Cat004AircraftCharacteristicsBase; 8 | 9 | /** 10 | * Cat004 - Item 170 - Aircraft Identification and Characteristics 2 11 | * 12 | * @implNote Impementation is fully provided by base class 13 | */ 14 | public class Cat004Item171 extends Cat004AircraftCharacteristicsBase { 15 | @Override 16 | protected String setDisplayName() { 17 | return "Cat004Item171 - Aircraft Ident and Characteristics for Aircraft 2"; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat004/Cat004MessageType.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Dan Geabunea on 6/29/2016. 3 | */ 4 | 5 | package jlg.jade.asterix.cat004; 6 | 7 | public class Cat004MessageType { 8 | public static final int ALIVE = 1; 9 | public static final int MSAW = 4; 10 | public static final int APW = 5; 11 | public static final int STCA = 7; 12 | public static final int EOC = 17; 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat004/item070/Cat004Item070Subfield1.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Created by dan-geabunea on 6/3/2016. 3 | * This code is the property of JLG Consulting. Please 4 | * check the license terms for this product to see under what 5 | * conditions you can use or modify this source code. 6 | */ 7 | package jlg.jade.asterix.cat004.item070; 8 | 9 | import jlg.jade.asterix.AsterixTimeData; 10 | 11 | /** 12 | * Cat 004 - Item 070 - Subfield 1 - Time to conflict 13 | * Time remaining to actual conflict situation 14 | * Unit of measure: 1/128 sec 15 | */ 16 | public class Cat004Item070Subfield1 extends AsterixTimeData { 17 | @Override 18 | protected String setDisplayName() { 19 | return "Cat004Item070Subfield1 - Time to Conflict"; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat004/item070/Cat004Item070Subfield2.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Created by dan-geabunea on 6/3/2016. 3 | * This code is the property of JLG Consulting. Please 4 | * check the license terms for this product to see under what 5 | * conditions you can use or modify this source code. 6 | */ 7 | package jlg.jade.asterix.cat004.item070; 8 | 9 | import jlg.jade.asterix.AsterixTimeData; 10 | 11 | /** 12 | * Cat 004 - Item 070 - Subfield 2 - Time to Closest Approach 13 | * Time to closest proximity between entities in conflict 14 | * Unit of measure: 1/128 sec 15 | */ 16 | public class Cat004Item070Subfield2 extends AsterixTimeData { 17 | @Override 18 | protected String setDisplayName() { 19 | return "Cat004Item070Subfield2 - Time to Closest Approach"; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat004/item100/Cat004Item100RimcaDesignatorData.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Dan Geabunea on 6/28/2016. 3 | */ 4 | 5 | package jlg.jade.asterix.cat004.item100; 6 | 7 | import jlg.jade.asterix.AsterixItemLength; 8 | import jlg.jade.asterix.FixedLengthAsterixData; 9 | 10 | /** 11 | * Base class containg the implementation for RIMCA designator data 12 | * (subfields 3,4,5,6,7 of cat004 item 100) 13 | */ 14 | public abstract class Cat004Item100RimcaDesignatorData extends FixedLengthAsterixData { 15 | private String designator; 16 | 17 | @Override 18 | protected int setSizeInBytes() { 19 | return AsterixItemLength.SEVEN_BYTES.getValue(); 20 | } 21 | 22 | @Override 23 | protected void decodeFromByteArray(byte[] input, int offset) { 24 | this.designator = new String(input, offset, this.sizeInBytes).replace(" ", ""); 25 | appendItemDebugMsg("Designator", this.designator); 26 | } 27 | 28 | /** 29 | * @return RIMCA designator as string. If last characters are white spaces, 30 | * then they shall be trimmed 31 | */ 32 | public String getDesignator() { 33 | return designator; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat004/item100/Cat004Item100Subfield3.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Dan Geabunea on 6/28/2016. 3 | */ 4 | 5 | package jlg.jade.asterix.cat004.item100; 6 | 7 | /** 8 | * Cat004 Item100 Subfield 3 - Runway/Taxiway Designator 1 9 | * Designator of Runway/Taxiway 1 Involved in a RIMCA 10 | * 11 | * @implSpec The runway designator is always left adjusted. If needed, the 12 | * remaining characters are filled with space characters. 13 | * The runway is encoded as follows: Location indicator, runway 14 | * direction, left or right. 15 | * Example: EGLL09L means London Heathrow (EGLL), Runway 09 16 | * (direction 090 degrees) left runway 17 | */ 18 | public class Cat004Item100Subfield3 extends Cat004Item100RimcaDesignatorData { 19 | @Override 20 | protected String setDisplayName() { 21 | return "Cat004Item100Subfield3 - Runway/Taxiway Designator 1"; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat004/item100/Cat004Item100Subfield4.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Dan Geabunea on 6/28/2016. 3 | */ 4 | 5 | package jlg.jade.asterix.cat004.item100; 6 | 7 | 8 | /** 9 | * Cat004 Item100 Subfield 4 - Runway/Taxiway Designator 2 10 | * Designator of Runway/Taxiway 2 Involved in a RIMCA 11 | * 12 | * @implSpec The runway designator is always left adjusted. If needed, the 13 | * remaining characters are filled with space characters. 14 | * The runway is encoded as follows: Location indicator, runway 15 | * direction, left or right. 16 | * Example: EGLL09L means London Heathrow (EGLL), Runway 09 17 | * (direction 090 degrees) left runway 18 | */ 19 | public class Cat004Item100Subfield4 extends Cat004Item100RimcaDesignatorData { 20 | @Override 21 | protected String setDisplayName() { 22 | return "Cat004Item100Subfield4 - Runway/Taxiway Designator 2"; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat004/item100/Cat004Item100Subfield5.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Dan Geabunea on 6/28/2016. 3 | */ 4 | 5 | package jlg.jade.asterix.cat004.item100; 6 | 7 | /** 8 | * Cat004 Item100 Subfield 5 - Stop Bar Designator 9 | * Designator of Stop-Bar Involved in a RIMCA 10 | * 11 | * @implSpec The stop-bar designator is always left adjusted. If needed, the 12 | * remaining characters are filled with space characters 13 | */ 14 | public class Cat004Item100Subfield5 extends Cat004Item100RimcaDesignatorData { 15 | @Override 16 | protected String setDisplayName() { 17 | return "Cat004Item100Subfield5 - Stop Bar Designator"; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat004/item100/Cat004Item100Subfield6.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Dan Geabunea on 6/28/2016. 3 | */ 4 | 5 | package jlg.jade.asterix.cat004.item100; 6 | 7 | /** 8 | * Cat004 Item100 Subfield 6 - Gate Desingator 9 | * Gate Designator (in 7 characters) of the approaching aircraft in a 10 | * RIMCA 11 | * 12 | * @implSpec The gate designator is always left adjusted. If needed, the remaining 13 | * characters are filled with space character 14 | */ 15 | public class Cat004Item100Subfield6 extends Cat004Item100RimcaDesignatorData { 16 | @Override 17 | protected String setDisplayName() { 18 | return "Cat004Item100Subfield6 - Gate Designator"; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat004/item120/Cat004Item120Subfield4.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Dan Geabunea on 6/24/2016. 3 | */ 4 | 5 | package jlg.jade.asterix.cat004.item120; 6 | 7 | import jlg.jade.asterix.AsterixTimeData; 8 | 9 | /** 10 | * Cat004 - Item120 - Subfield4 - Conflict Duration 11 | * The duration of the conflict is the elapsed time since the 12 | * declaration of the conflict. 13 | * 14 | * @implSpec Unit of measure is 1/128 sec 15 | */ 16 | public class Cat004Item120Subfield4 extends AsterixTimeData { 17 | @Override 18 | protected String setDisplayName() { 19 | return "Cat004Item120Subfield4 - Conflict Duration"; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat004/item170_171/Cat004AircraftCharacteristicsSubfield1.java: -------------------------------------------------------------------------------- 1 | package jlg.jade.asterix.cat004.item170_171; 2 | 3 | import jlg.jade.asterix.AsterixItemLength; 4 | import jlg.jade.asterix.DecodingNotImplemented; 5 | import jlg.jade.asterix.FixedLengthAsterixData; 6 | 7 | /** 8 | * Cat 004 - Item 170/171 - Subfield 1 - Aircraft Identifier 9 | * 10 | * @implSpec The aircraft identifier is always left adjusted. If needed, the 11 | * remaining characters are filled with space character 12 | */ 13 | public class Cat004AircraftCharacteristicsSubfield1 extends FixedLengthAsterixData { 14 | @Override 15 | protected int setSizeInBytes() { 16 | return AsterixItemLength.SEVEN_BYTES.getValue(); 17 | } 18 | 19 | @Override 20 | @DecodingNotImplemented(reason = "Item not needed yet") 21 | protected void decodeFromByteArray(byte[] input, int offset) { 22 | appendNotImplementedMsg(); 23 | } 24 | 25 | @Override 26 | protected String setDisplayName() { 27 | return "Subfield1 - Aircraft Identifier"; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat004/item170_171/Cat004AircraftCharacteristicsSubfield10.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Dan Geabunea on 6/23/2016. 3 | */ 4 | 5 | package jlg.jade.asterix.cat004.item170_171; 6 | 7 | import jlg.jade.asterix.AsterixItemLength; 8 | import jlg.jade.asterix.DecodingNotImplemented; 9 | import jlg.jade.asterix.FixedLengthAsterixData; 10 | 11 | /** 12 | * Cat004 - Item170/171 - Subfield 10 - Cleared Flight Level for aircraft 13 | */ 14 | public class Cat004AircraftCharacteristicsSubfield10 extends FixedLengthAsterixData { 15 | @Override 16 | protected int setSizeInBytes() { 17 | return AsterixItemLength.TWO_BYTES.getValue(); 18 | } 19 | 20 | @Override 21 | @DecodingNotImplemented(reason = "Item not needed yet") 22 | protected void decodeFromByteArray(byte[] input, int offset) { 23 | appendNotImplementedMsg(); 24 | } 25 | 26 | @Override 27 | protected String setDisplayName() { 28 | return "Subfield10 - Cleared Flight Level"; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat004/item170_171/Cat004AircraftCharacteristicsSubfield2.java: -------------------------------------------------------------------------------- 1 | package jlg.jade.asterix.cat004.item170_171; 2 | 3 | import jlg.jade.asterix.AsterixItemLength; 4 | import jlg.jade.asterix.DecodingNotImplemented; 5 | import jlg.jade.asterix.FixedLengthAsterixData; 6 | 7 | /** 8 | * Cat004 - Item 170/171 - Subfield 2 - Mode 3A Code 9 | * Mode-3/A reply in octal representation 10 | */ 11 | public class Cat004AircraftCharacteristicsSubfield2 extends FixedLengthAsterixData { 12 | @Override 13 | protected int setSizeInBytes() { 14 | return AsterixItemLength.TWO_BYTES.getValue(); 15 | } 16 | 17 | @Override 18 | @DecodingNotImplemented(reason = "Item not needed yet") 19 | protected void decodeFromByteArray(byte[] input, int offset) { 20 | appendNotImplementedMsg(); 21 | } 22 | 23 | @Override 24 | protected String setDisplayName() { 25 | return "Subfield2 - Mode 3/A Code"; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat004/item170_171/Cat004AircraftCharacteristicsSubfield3.java: -------------------------------------------------------------------------------- 1 | package jlg.jade.asterix.cat004.item170_171; 2 | 3 | import jlg.jade.asterix.AsterixItemLength; 4 | import jlg.jade.asterix.DecodingNotImplemented; 5 | import jlg.jade.asterix.FixedLengthAsterixData; 6 | 7 | /** 8 | * Cat 004 - Item 170/171 - Subfield 3 - Predicted Conflict Position WSG 84 9 | */ 10 | public class Cat004AircraftCharacteristicsSubfield3 extends FixedLengthAsterixData { 11 | @Override 12 | protected int setSizeInBytes() { 13 | return AsterixItemLength.TEN_BYTES.getValue(); 14 | } 15 | 16 | @Override 17 | @DecodingNotImplemented(reason = "Item not needed yet") 18 | protected void decodeFromByteArray(byte[] input, int offset) { 19 | appendNotImplementedMsg(); 20 | } 21 | 22 | @Override 23 | protected String setDisplayName() { 24 | return "Subfield3 - Predicted Conflict Position WSG-84"; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat004/item170_171/Cat004AircraftCharacteristicsSubfield4.java: -------------------------------------------------------------------------------- 1 | package jlg.jade.asterix.cat004.item170_171; 2 | 3 | import jlg.jade.asterix.AsterixItemLength; 4 | import jlg.jade.asterix.DecodingNotImplemented; 5 | import jlg.jade.asterix.FixedLengthAsterixData; 6 | 7 | /** 8 | * Cat 004 - Item 170/171 - Subfield 4 - Predicted Conflict Position Cartesian 9 | */ 10 | public class Cat004AircraftCharacteristicsSubfield4 extends FixedLengthAsterixData { 11 | @Override 12 | protected int setSizeInBytes() { 13 | return AsterixItemLength.EIGHT_BYTES.getValue(); 14 | } 15 | 16 | @Override 17 | @DecodingNotImplemented(reason = "Item not needed yet") 18 | protected void decodeFromByteArray(byte[] input, int offset) { 19 | appendNotImplementedMsg(); 20 | } 21 | 22 | @Override 23 | protected String setDisplayName() { 24 | return "Subfield4 - Predicted Conflict Position Cartesian"; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat004/item170_171/Cat004AircraftCharacteristicsSubfield5.java: -------------------------------------------------------------------------------- 1 | package jlg.jade.asterix.cat004.item170_171; 2 | 3 | import jlg.jade.asterix.AsterixTimeData; 4 | 5 | /** 6 | * Cat 004 - Item 170/171 - Subfield 5 - Time to treshold 7 | * Time to runway threshold for approaching aircraft in a 8 | * RIMCAS 9 | * 10 | * @implSpec Time to Threshold expressed in Two’s Complement 11 | * @implSpec Unit of measure is 1/128 sec 12 | */ 13 | public class Cat004AircraftCharacteristicsSubfield5 extends AsterixTimeData { 14 | @Override 15 | protected String setDisplayName() { 16 | return "Subfield5 - Time to Treshlod RIMCAS"; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat004/item170_171/Cat004AircraftCharacteristicsSubfield7.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Dan Geabunea on 6/23/2016. 3 | */ 4 | 5 | package jlg.jade.asterix.cat004.item170_171; 6 | 7 | import jlg.jade.asterix.DecodingNotImplemented; 8 | import jlg.jade.asterix.VariableLengthAsterixData; 9 | 10 | /** 11 | * Cat 004 - Item 170/171 - Aircraft Characteristics for Aircraft (1,2) 12 | */ 13 | public class Cat004AircraftCharacteristicsSubfield7 extends VariableLengthAsterixData { 14 | @Override 15 | @DecodingNotImplemented(reason = "This item is not needed yet") 16 | protected void decodeFromByteArray(byte[] input, int offset) { 17 | appendNotImplementedMsg(); 18 | } 19 | 20 | @Override 21 | protected String setDisplayName() { 22 | return "Subfield7 - Aircraft Characteristics"; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat004/item170_171/Cat004AircraftCharacteristicsSubfield8.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Dan Geabunea on 6/23/2016. 3 | */ 4 | 5 | package jlg.jade.asterix.cat004.item170_171; 6 | 7 | import jlg.jade.asterix.AsterixItemLength; 8 | import jlg.jade.asterix.DecodingNotImplemented; 9 | import jlg.jade.asterix.FixedLengthAsterixData; 10 | 11 | /** 12 | * Cat004 - Item170/171 - Subfield 8 - ModeS Identifier 13 | */ 14 | public class Cat004AircraftCharacteristicsSubfield8 extends FixedLengthAsterixData { 15 | @Override 16 | protected int setSizeInBytes() { 17 | return AsterixItemLength.SIX_BYTES.getValue(); 18 | } 19 | 20 | @Override 21 | @DecodingNotImplemented(reason = "Item not needed yet") 22 | protected void decodeFromByteArray(byte[] input, int offset) { 23 | appendNotImplementedMsg(); 24 | } 25 | 26 | @Override 27 | protected String setDisplayName() { 28 | return "Subfield8 - ModeS Identifier"; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat004/item170_171/Cat004AircraftCharacteristicsSubfield9.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Dan Geabunea on 6/23/2016. 3 | */ 4 | 5 | package jlg.jade.asterix.cat004.item170_171; 6 | 7 | import jlg.jade.asterix.AsterixItemLength; 8 | import jlg.jade.asterix.DecodingNotImplemented; 9 | import jlg.jade.asterix.FixedLengthAsterixData; 10 | 11 | /** 12 | * Cat004 - Item170/171 - Subfield9 - FLight Plan Number for aircraft 13 | */ 14 | public class Cat004AircraftCharacteristicsSubfield9 extends FixedLengthAsterixData { 15 | @Override 16 | protected int setSizeInBytes() { 17 | return AsterixItemLength.FOUR_BYTES.getValue(); 18 | } 19 | 20 | @Override 21 | @DecodingNotImplemented(reason = "Item not needed yet") 22 | protected void decodeFromByteArray(byte[] input, int offset) { 23 | appendNotImplementedMsg(); 24 | } 25 | 26 | @Override 27 | protected String setDisplayName() { 28 | return "Subfield9 - Flight Plan Number"; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat034/Cat034Item000MessageType.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by alexandru on 7/4/16. 3 | */ 4 | package jlg.jade.asterix.cat034; 5 | 6 | public enum Cat034Item000MessageType { 7 | UNKNOWN(-1), 8 | NORTH_MARKER_MESSAGE(1), 9 | SECTOR_CROSSING_MESSAGE(2), 10 | GEOGRAPHICAL_FILTERING_MESSAGE(3), 11 | JAMMING_STROBE_MESSAGE(4); 12 | 13 | private int value; 14 | 15 | Cat034Item000MessageType(int value) { 16 | this.value = value; 17 | } 18 | 19 | public int getValue() { 20 | return value; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat034/Cat034Item010.java: -------------------------------------------------------------------------------- 1 | package jlg.jade.asterix.cat034; 2 | 3 | import jlg.jade.asterix.AsterixDataSourceIdentifierData; 4 | 5 | /** 6 | * Cat034 Item010 - Data Source Identifier 7 | * Definition : Identification of the radar station from which the data are received. 8 | */ 9 | public class Cat034Item010 extends AsterixDataSourceIdentifierData { 10 | @Override 11 | protected String setDisplayName() { 12 | return "Cat034Item010 - Data Source Identifier"; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat034/Cat034Item020.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by alexandru on 6/30/16. 3 | */ 4 | package jlg.jade.asterix.cat034; 5 | 6 | import jlg.jade.asterix.FixedLengthAsterixData; 7 | import jlg.jade.common.UnsignedNumericDecoder; 8 | 9 | /** 10 | * Cat034 Item020 - Sector Number 11 | * Eight most significant bits of the antenna azimuth defining a particular azimuth sector. 12 | */ 13 | public class Cat034Item020 extends FixedLengthAsterixData { 14 | private int sectorNumber; 15 | 16 | @Override 17 | protected int setSizeInBytes() { 18 | return 1; 19 | } 20 | 21 | @Override 22 | protected void decodeFromByteArray(byte[] input, int offset) { 23 | this.sectorNumber = UnsignedNumericDecoder.decodeFromOneByte(input, offset); 24 | 25 | appendItemDebugMsg("Sector Number", this.sectorNumber); 26 | } 27 | 28 | @Override 29 | protected String setDisplayName() { 30 | return "Cat034Item020 - Sector Number"; 31 | } 32 | 33 | public int getSectorNumber() { 34 | return sectorNumber; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat034/Cat034Item030.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by alexandru on 6/30/16. 3 | */ 4 | package jlg.jade.asterix.cat034; 5 | 6 | import jlg.jade.asterix.AsterixTimeData; 7 | 8 | /** 9 | * Cat034 Item030 -- Time of Day 10 | * Absolute time stamping expressed as UTC time. 11 | */ 12 | public class Cat034Item030 extends AsterixTimeData { 13 | 14 | @Override 15 | protected String setDisplayName() { 16 | return "Cat034Item030 - Time-of-Day"; 17 | } 18 | 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat034/Cat034Item041.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by alexandru on 6/30/16. 3 | */ 4 | package jlg.jade.asterix.cat034; 5 | 6 | import jlg.jade.asterix.FixedLengthAsterixData; 7 | import jlg.jade.common.UnsignedNumericDecoder; 8 | 9 | /** 10 | * Cat034Item041 - Antenna Rotation Speed 11 | * Antenna rotation period as measured between two consecutive North crossings or as averaged during a period of time. 12 | */ 13 | public class Cat034Item041 extends FixedLengthAsterixData{ 14 | private int antennaRotationSpeed; 15 | 16 | @Override 17 | protected int setSizeInBytes() { 18 | return 2; 19 | } 20 | 21 | @Override 22 | protected void decodeFromByteArray(byte[] input, int offset) { 23 | this.antennaRotationSpeed = UnsignedNumericDecoder.decodeFromTwoBytes(input, offset); 24 | 25 | appendItemDebugMsg("Antenna Rotation Speed", this.antennaRotationSpeed); 26 | } 27 | 28 | @Override 29 | protected String setDisplayName() { 30 | return "Cat034Item041 - Antenna Rotation Speed"; 31 | } 32 | 33 | public int getAntennaRotationSpeed() { 34 | return antennaRotationSpeed; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat034/Cat034Item070.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by alexandru on 7/1/16. 3 | */ 4 | package jlg.jade.asterix.cat034; 5 | 6 | import jlg.jade.asterix.AsterixItemLength; 7 | import jlg.jade.asterix.DecodingNotImplemented; 8 | import jlg.jade.asterix.RepeatableAsterixData; 9 | 10 | /** 11 | * Cat034Item070 - Message Count Values 12 | * Message Count values, according the various types of messages, for the last completed antenna revolution, counted between two North crossings 13 | */ 14 | public class Cat034Item070 extends RepeatableAsterixData{ 15 | @Override 16 | protected int setRepeatableBlockSizeInBytes() { 17 | return AsterixItemLength.TWO_BYTES.getValue(); 18 | } 19 | 20 | @Override 21 | @DecodingNotImplemented(reason = "Item not needed yet") 22 | protected void decodeFromByteArray(byte[] input, int offset) { 23 | appendNotImplementedMsg(); 24 | } 25 | 26 | @Override 27 | protected String setDisplayName() { 28 | return "Cat034Item070 - Message Count Values"; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat034/Cat034Item110.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by alexandru on 7/1/16. 3 | */ 4 | package jlg.jade.asterix.cat034; 5 | 6 | import jlg.jade.asterix.AsterixItemLength; 7 | import jlg.jade.asterix.FixedLengthAsterixData; 8 | import jlg.jade.common.UnsignedNumericDecoder; 9 | 10 | /** 11 | * Cat034Item110 - Data Filter 12 | * Data Filter, which allows suppression of individual data types. 13 | */ 14 | public class Cat034Item110 extends FixedLengthAsterixData{ 15 | private int dataFilter; 16 | 17 | @Override 18 | protected int setSizeInBytes() { 19 | return AsterixItemLength.ONE_BYTE.getValue(); 20 | } 21 | 22 | @Override 23 | protected void decodeFromByteArray(byte[] input, int offset) { 24 | this.dataFilter = UnsignedNumericDecoder.decodeFromOneByte(input, offset); 25 | 26 | appendItemDebugMsg("Data Filter", this.dataFilter); 27 | } 28 | 29 | @Override 30 | protected String setDisplayName() { 31 | return "Cat034Item110 - Data Filter"; 32 | } 33 | 34 | public int getDataFilter() { 35 | return dataFilter; 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat034/item050/Cat034Item050Subfield1.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by alexandru on 6/30/16. 3 | */ 4 | package jlg.jade.asterix.cat034.item050; 5 | 6 | import jlg.jade.asterix.DecodingNotImplemented; 7 | import jlg.jade.asterix.FixedLengthAsterixData; 8 | 9 | /** 10 | * Cat034Item050Subfield1 - COM Subfield 11 | */ 12 | public class Cat034Item050Subfield1 extends FixedLengthAsterixData{ 13 | @Override 14 | protected int setSizeInBytes() { 15 | return 1; 16 | } 17 | 18 | @Override 19 | @DecodingNotImplemented(reason = "Item not needed yet") 20 | protected void decodeFromByteArray(byte[] input, int offset) { 21 | appendNotImplementedMsg(); 22 | } 23 | 24 | @Override 25 | protected String setDisplayName() { 26 | return "Cat034Item050Subfield1 - COM"; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat034/item050/Cat034Item050Subfield4.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by alexandru on 6/30/16. 3 | */ 4 | package jlg.jade.asterix.cat034.item050; 5 | 6 | import jlg.jade.asterix.DecodingNotImplemented; 7 | import jlg.jade.asterix.FixedLengthAsterixData; 8 | 9 | /** 10 | * Cat034Item050Subfield4 - Specific Status information for a PSR sensor 11 | */ 12 | public class Cat034Item050Subfield4 extends FixedLengthAsterixData{ 13 | @Override 14 | protected int setSizeInBytes() { 15 | return 1; 16 | } 17 | 18 | @Override 19 | @DecodingNotImplemented(reason = "Item not needed yet") 20 | protected void decodeFromByteArray(byte[] input, int offset) { 21 | appendNotImplementedMsg(); 22 | } 23 | 24 | @Override 25 | protected String setDisplayName() { 26 | return "Cat034Item050Subfield4 - PSR"; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat034/item050/Cat034Item050Subfield5.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by alexandru on 6/30/16. 3 | */ 4 | package jlg.jade.asterix.cat034.item050; 5 | 6 | import jlg.jade.asterix.DecodingNotImplemented; 7 | import jlg.jade.asterix.FixedLengthAsterixData; 8 | 9 | /** 10 | * Cat034Item050Subfield5 - Specific Status information for a SSR sensor 11 | */ 12 | public class Cat034Item050Subfield5 extends FixedLengthAsterixData { 13 | @Override 14 | protected int setSizeInBytes() { 15 | return 1; 16 | } 17 | 18 | @Override 19 | @DecodingNotImplemented(reason = "Item not needed yet") 20 | protected void decodeFromByteArray(byte[] input, int offset) { 21 | appendNotImplementedMsg(); 22 | } 23 | 24 | @Override 25 | protected String setDisplayName() { 26 | return "Cat034Item050Subfield5 - SSR"; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat034/item050/Cat034Item050Subfield6.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by alexandru on 6/30/16. 3 | */ 4 | package jlg.jade.asterix.cat034.item050; 5 | 6 | import jlg.jade.asterix.DecodingNotImplemented; 7 | import jlg.jade.asterix.FixedLengthAsterixData; 8 | 9 | /** 10 | * Cat034Item050Subfield6 - Specific Status information for a Mode S sensor 11 | */ 12 | public class Cat034Item050Subfield6 extends FixedLengthAsterixData { 13 | @Override 14 | protected int setSizeInBytes() { 15 | return 2; 16 | } 17 | 18 | @Override 19 | @DecodingNotImplemented(reason = "Item not needed yet") 20 | protected void decodeFromByteArray(byte[] input, int offset) { 21 | appendNotImplementedMsg(); 22 | } 23 | 24 | @Override 25 | protected String setDisplayName() { 26 | return "Cat034Item050Subfield6 - Mode S sensor"; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat034/item060/Cat034Item060Subfield1.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by alexandru on 7/1/16. 3 | */ 4 | package jlg.jade.asterix.cat034.item060; 5 | 6 | import jlg.jade.asterix.DecodingNotImplemented; 7 | import jlg.jade.asterix.FixedLengthAsterixData; 8 | 9 | /** 10 | * Cat034Item060Subfield1 - COM 11 | */ 12 | public class Cat034Item060Subfield1 extends FixedLengthAsterixData { 13 | @Override 14 | protected int setSizeInBytes() { 15 | return 1; 16 | } 17 | 18 | @Override 19 | @DecodingNotImplemented(reason = "Item not needed yet") 20 | protected void decodeFromByteArray(byte[] input, int offset) { 21 | appendNotImplementedMsg(); 22 | } 23 | 24 | @Override 25 | protected String setDisplayName() { 26 | return "Cat034Item060Subfield1 - COM"; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat034/item060/Cat034Item060Subfield4.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by alexandru on 7/1/16. 3 | */ 4 | package jlg.jade.asterix.cat034.item060; 5 | 6 | import jlg.jade.asterix.DecodingNotImplemented; 7 | import jlg.jade.asterix.FixedLengthAsterixData; 8 | 9 | /** 10 | * Cat034Item060Subfield4 - PSR 11 | * Specific Processing Mode information for a PSR sensor 12 | */ 13 | public class Cat034Item060Subfield4 extends FixedLengthAsterixData { 14 | @Override 15 | protected int setSizeInBytes() { 16 | return 1; 17 | } 18 | 19 | @Override 20 | @DecodingNotImplemented(reason = "Item not needed yet") 21 | protected void decodeFromByteArray(byte[] input, int offset) { 22 | appendNotImplementedMsg(); 23 | } 24 | 25 | @Override 26 | protected String setDisplayName() { 27 | return "Cat034Item060Subfield4 - PSR"; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat034/item060/Cat034Item060Subfield5.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by alexandru on 7/1/16. 3 | */ 4 | package jlg.jade.asterix.cat034.item060; 5 | 6 | import jlg.jade.asterix.DecodingNotImplemented; 7 | import jlg.jade.asterix.FixedLengthAsterixData; 8 | 9 | /** 10 | * Cat034Item060Subfield5 - SSR 11 | * Specific Processing Mode information for a SSR sensor 12 | */ 13 | public class Cat034Item060Subfield5 extends FixedLengthAsterixData{ 14 | @Override 15 | protected int setSizeInBytes() { 16 | return 1; 17 | } 18 | 19 | @Override 20 | @DecodingNotImplemented(reason = "Item not needed yet") 21 | protected void decodeFromByteArray(byte[] input, int offset) { 22 | appendNotImplementedMsg(); 23 | } 24 | 25 | @Override 26 | protected String setDisplayName() { 27 | return "Cat034Item060Subfield5 - SSR"; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat034/item060/Cat034Item060Subfield6.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by alexandru on 7/1/16. 3 | */ 4 | package jlg.jade.asterix.cat034.item060; 5 | 6 | import jlg.jade.asterix.DecodingNotImplemented; 7 | import jlg.jade.asterix.FixedLengthAsterixData; 8 | 9 | /** 10 | * Cat034Item060Subfield6 - MDS 11 | * Specific Processing Mode information for a Mode S Sensor 12 | */ 13 | public class Cat034Item060Subfield6 extends FixedLengthAsterixData{ 14 | @Override 15 | protected int setSizeInBytes() { 16 | return 1; 17 | } 18 | 19 | @Override 20 | @DecodingNotImplemented(reason = "Item not needed yet") 21 | protected void decodeFromByteArray(byte[] input, int offset) { 22 | appendNotImplementedMsg(); 23 | } 24 | 25 | @Override 26 | protected String setDisplayName() { 27 | return "Cat034Item060Subfield6 - MDS"; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat048/Cat048Item010.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by alexandru on 7/5/16. 3 | */ 4 | package jlg.jade.asterix.cat048; 5 | 6 | import jlg.jade.asterix.AsterixDataSourceIdentifierData; 7 | 8 | /** 9 | * Cat048Item010 - Data Source Identifier 10 | * Identification of the radar station from which the data are 11 | received. 12 | */ 13 | public class Cat048Item010 extends AsterixDataSourceIdentifierData{ 14 | @Override 15 | protected String setDisplayName() { 16 | return "Cat048Item010 - Data Source Identifier"; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat048/Cat048Item030.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by alexandru on 7/11/16. 3 | */ 4 | package jlg.jade.asterix.cat048; 5 | 6 | import jlg.jade.asterix.DecodingNotImplemented; 7 | import jlg.jade.asterix.VariableLengthAsterixData; 8 | 9 | public class Cat048Item030 extends VariableLengthAsterixData { 10 | @Override 11 | @DecodingNotImplemented(reason = "Item not needed yet") 12 | protected void decodeFromByteArray(byte[] input, int offset) { 13 | appendNotImplementedMsg(); 14 | } 15 | 16 | @Override 17 | protected String setDisplayName() { 18 | return "Cat048Item030 - Warning/Error Conditions"; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat048/Cat048Item050.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by alexandru on 8/8/16. 3 | */ 4 | package jlg.jade.asterix.cat048; 5 | 6 | import jlg.jade.asterix.AsterixItemLength; 7 | import jlg.jade.asterix.DecodingNotImplemented; 8 | import jlg.jade.asterix.FixedLengthAsterixData; 9 | 10 | /** 11 | * Cat048Item050 - Mode-2 Code in Octal Representation 12 | * Reply to Mode-2 interrogation. 13 | */ 14 | public class Cat048Item050 extends FixedLengthAsterixData{ 15 | @Override 16 | protected int setSizeInBytes() { 17 | return AsterixItemLength.TWO_BYTES.getValue(); 18 | } 19 | 20 | @Override 21 | @DecodingNotImplemented(reason = "Item not needed yet") 22 | protected void decodeFromByteArray(byte[] input, int offset) { 23 | appendNotImplementedMsg(); 24 | } 25 | 26 | @Override 27 | protected String setDisplayName() { 28 | return "Cat048Item050 - Mode-2 Code in Octal Representation"; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat048/Cat048Item055.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by alexandru on 7/11/16. 3 | */ 4 | package jlg.jade.asterix.cat048; 5 | 6 | import jlg.jade.asterix.AsterixItemLength; 7 | import jlg.jade.asterix.DecodingNotImplemented; 8 | import jlg.jade.asterix.FixedLengthAsterixData; 9 | 10 | /** 11 | * Cat048Item055 - Mode-1 Code in Octal Representation 12 | * Reply to Mode-1 interrogation 13 | */ 14 | public class Cat048Item055 extends FixedLengthAsterixData { 15 | @Override 16 | protected int setSizeInBytes() { 17 | return AsterixItemLength.ONE_BYTE.getValue(); 18 | } 19 | 20 | @Override 21 | @DecodingNotImplemented(reason = "Item not needed yet") 22 | protected void decodeFromByteArray(byte[] input, int offset) { 23 | appendNotImplementedMsg(); 24 | } 25 | 26 | @Override 27 | protected String setDisplayName() { 28 | return "Cat048Item055 - Mode-1 Code in Octal Representation"; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat048/Cat048Item060.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by alexandru on 7/11/16. 3 | */ 4 | package jlg.jade.asterix.cat048; 5 | 6 | import jlg.jade.asterix.AsterixItemLength; 7 | import jlg.jade.asterix.DecodingNotImplemented; 8 | import jlg.jade.asterix.FixedLengthAsterixData; 9 | 10 | /** 11 | * Cat048Item060 - Mode-2 Code Confidence Indicator 12 | * Confidence level for each bit of a Mode-2 reply as provided by a monopulse SSR station 13 | */ 14 | public class Cat048Item060 extends FixedLengthAsterixData { 15 | @Override 16 | protected int setSizeInBytes() { 17 | return AsterixItemLength.TWO_BYTES.getValue(); 18 | } 19 | 20 | @Override 21 | @DecodingNotImplemented(reason = "Item not needed yet") 22 | protected void decodeFromByteArray(byte[] input, int offset) { 23 | appendNotImplementedMsg(); 24 | } 25 | 26 | @Override 27 | protected String setDisplayName() { 28 | return "Cat048Item060 - Mode-2 Code Confidence Indicator"; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat048/Cat048Item065.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by alexandru on 7/11/16. 3 | */ 4 | package jlg.jade.asterix.cat048; 5 | 6 | import jlg.jade.asterix.AsterixItemLength; 7 | import jlg.jade.asterix.DecodingNotImplemented; 8 | import jlg.jade.asterix.FixedLengthAsterixData; 9 | 10 | /** 11 | * Cat048Item065 - Mode-1 Code Confidence Indicator 12 | * Confidence level for each bit of a Mode-1 reply as provided by a monopulse SSR station. 13 | */ 14 | public class Cat048Item065 extends FixedLengthAsterixData { 15 | @Override 16 | protected int setSizeInBytes() { 17 | return AsterixItemLength.ONE_BYTE.getValue(); 18 | } 19 | 20 | @Override 21 | @DecodingNotImplemented(reason = "Item not needed yet") 22 | protected void decodeFromByteArray(byte[] input, int offset) { 23 | appendNotImplementedMsg(); 24 | } 25 | 26 | @Override 27 | protected String setDisplayName() { 28 | return "Cat048Item065 - Mode-1 Code Confidence Indicator"; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat048/Cat048Item080.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by alexandru on 7/11/16. 3 | */ 4 | package jlg.jade.asterix.cat048; 5 | 6 | import jlg.jade.asterix.AsterixItemLength; 7 | import jlg.jade.asterix.DecodingNotImplemented; 8 | import jlg.jade.asterix.FixedLengthAsterixData; 9 | 10 | /** 11 | * Cat048Item080 - Mode-3/A Code Confidence Indicator 12 | * Confidence level for each bit of a Mode-3/A reply as provided by a monopulse SSR station. 13 | */ 14 | public class Cat048Item080 extends FixedLengthAsterixData { 15 | @Override 16 | protected int setSizeInBytes() { 17 | return AsterixItemLength.TWO_BYTES.getValue(); 18 | } 19 | 20 | @Override 21 | @DecodingNotImplemented(reason = "Item not needed yet") 22 | protected void decodeFromByteArray(byte[] input, int offset) { 23 | appendNotImplementedMsg(); 24 | } 25 | 26 | @Override 27 | protected String setDisplayName() { 28 | return "Cat048Item080 - Mode-3/A Code Confidence Indicator"; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat048/Cat048Item100.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by alexandru on 7/11/16. 3 | */ 4 | package jlg.jade.asterix.cat048; 5 | 6 | import jlg.jade.asterix.AsterixItemLength; 7 | import jlg.jade.asterix.DecodingNotImplemented; 8 | import jlg.jade.asterix.FixedLengthAsterixData; 9 | 10 | /** 11 | * Cat048Item100 - Mode-C Code and Code Confidence Indicator 12 | * Mode-C height in Gray notation as received from the 13 | * transponder together with the confidence level for each reply bit 14 | * as provided by a MSSR/Mode S station. 15 | */ 16 | public class Cat048Item100 extends FixedLengthAsterixData { 17 | @Override 18 | protected int setSizeInBytes() { 19 | return AsterixItemLength.FOUR_BYTES.getValue(); 20 | } 21 | 22 | @Override 23 | @DecodingNotImplemented(reason = "Item not needed yet") 24 | protected void decodeFromByteArray(byte[] input, int offset) { 25 | appendNotImplementedMsg(); 26 | } 27 | 28 | @Override 29 | protected String setDisplayName() { 30 | return "Cat048Item100 - Mode-C Code and Code Confidence Indicator"; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat048/Cat048Item140.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by alexandru on 7/5/16. 3 | */ 4 | package jlg.jade.asterix.cat048; 5 | 6 | import jlg.jade.asterix.AsterixTimeData; 7 | 8 | /** 9 | * Cat048Item140 - Time of Day 10 | * Absolute time stamping expressed as Co-ordinated Universal 11 | Time (UTC). 12 | */ 13 | public class Cat048Item140 extends AsterixTimeData{ 14 | @Override 15 | protected String setDisplayName() { 16 | return "Cat048Item140 - Time of Day"; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat048/Cat048Item220.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by alexandru on 7/7/16. 3 | */ 4 | package jlg.jade.asterix.cat048; 5 | 6 | import jlg.jade.asterix.AsterixItemLength; 7 | import jlg.jade.asterix.FixedLengthAsterixData; 8 | import jlg.jade.common.UnsignedNumericDecoder; 9 | 10 | /** 11 | * Cat048Item220 - Aircraft Address 12 | * Aircraft address (24-bits Mode S address) assigned uniquely to each aircraft. 13 | */ 14 | public class Cat048Item220 extends FixedLengthAsterixData{ 15 | private int aircraftAddress; 16 | 17 | @Override 18 | protected int setSizeInBytes() { 19 | return AsterixItemLength.THREE_BYTES.getValue(); 20 | } 21 | 22 | @Override 23 | protected void decodeFromByteArray(byte[] input, int offset) { 24 | this.aircraftAddress = UnsignedNumericDecoder.decodeFromThreeBytes(input, offset); 25 | 26 | appendItemDebugMsg("Aircraft Address", this.aircraftAddress); 27 | } 28 | 29 | @Override 30 | protected String setDisplayName() { 31 | return "Cat048Item220 - Aircraft Address"; 32 | } 33 | 34 | public int getAircraftAddress() { 35 | return aircraftAddress; 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat048/Cat048Item240.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by alexandru on 7/7/16. 3 | */ 4 | package jlg.jade.asterix.cat048; 5 | 6 | import jlg.jade.asterix.AsterixItemLength; 7 | import jlg.jade.asterix.FixedLengthAsterixData; 8 | import jlg.jade.common.IA5Decoder; 9 | 10 | /** 11 | * Cat048Item240 - Aircraft Identification 12 | * Aircraft identification (in 8 characters) obtained from an 13 | * aircraft equipped with a Mode S transponder. 14 | */ 15 | public class Cat048Item240 extends FixedLengthAsterixData { 16 | private String aircraftIdentification; 17 | 18 | @Override 19 | protected int setSizeInBytes() { 20 | return AsterixItemLength.SIX_BYTES.getValue(); 21 | } 22 | 23 | @Override 24 | protected void decodeFromByteArray(byte[] input, int offset) { 25 | this.aircraftIdentification = IA5Decoder.decodeFromSixBytes(input, offset); 26 | 27 | appendItemDebugMsg("Aircraft Identification", this.aircraftIdentification); 28 | 29 | } 30 | 31 | @Override 32 | protected String setDisplayName() { 33 | return "Cat048Item240 - Aircraft Identification"; 34 | } 35 | 36 | public String getAircraftIdentification() { 37 | return aircraftIdentification; 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat048/Cat048Item250.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by alexandru on 7/11/16. 3 | */ 4 | package jlg.jade.asterix.cat048; 5 | 6 | import jlg.jade.asterix.AsterixItemLength; 7 | import jlg.jade.asterix.DecodingNotImplemented; 8 | import jlg.jade.asterix.RepeatableAsterixData; 9 | 10 | /** 11 | * Cat048Item250 - Mode S MB Data 12 | * Mode S Comm B data as extracted from the aircraft transponder. 13 | */ 14 | public class Cat048Item250 extends RepeatableAsterixData { 15 | @Override 16 | protected int setRepeatableBlockSizeInBytes() { 17 | return AsterixItemLength.EIGHT_BYTES.getValue(); 18 | } 19 | 20 | @Override 21 | @DecodingNotImplemented(reason = "Item not needed yet") 22 | protected void decodeFromByteArray(byte[] input, int offset) { 23 | appendNotImplementedMsg(); 24 | } 25 | 26 | @Override 27 | protected String setDisplayName() { 28 | return "Cat048Item250 - Mode S MB Data"; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat048/Cat048Item260.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by alexandru on 7/14/16. 3 | */ 4 | package jlg.jade.asterix.cat048; 5 | 6 | import jlg.jade.asterix.ACASResolutionAdvisoryDataItem; 7 | 8 | public class Cat048Item260 extends ACASResolutionAdvisoryDataItem { 9 | 10 | @Override 11 | protected String setDisplayName() { 12 | return "Cat048Item260 - ACAS Resolution Advisory Report"; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat048/Cat084Item050.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by alexandru on 7/11/16. 3 | */ 4 | package jlg.jade.asterix.cat048; 5 | 6 | import jlg.jade.asterix.AsterixItemLength; 7 | import jlg.jade.asterix.DecodingNotImplemented; 8 | import jlg.jade.asterix.FixedLengthAsterixData; 9 | 10 | /** 11 | * Cat084Item050 - Mode-2 Code in Octal Representation 12 | * Reply to Mode-2 interrogation 13 | */ 14 | public class Cat084Item050 extends FixedLengthAsterixData{ 15 | @Override 16 | protected int setSizeInBytes() { 17 | return AsterixItemLength.TWO_BYTES.getValue(); 18 | } 19 | 20 | @Override 21 | @DecodingNotImplemented(reason = "Item not needed yet") 22 | protected void decodeFromByteArray(byte[] input, int offset) { 23 | appendNotImplementedMsg(); 24 | } 25 | 26 | @Override 27 | protected String setDisplayName() { 28 | return "Cat084Item050 - Mode-2 Code in Octal Representation"; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat048/item120/Cat048Item120Subfield1.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by alexandru on 7/11/16. 3 | */ 4 | package jlg.jade.asterix.cat048.item120; 5 | 6 | import jlg.jade.asterix.AsterixItemLength; 7 | import jlg.jade.asterix.DecodingNotImplemented; 8 | import jlg.jade.asterix.FixedLengthAsterixData; 9 | 10 | /** 11 | * Cat048Item120Subfield1 - Calculated Doppler Speed 12 | */ 13 | public class Cat048Item120Subfield1 extends FixedLengthAsterixData { 14 | @Override 15 | protected int setSizeInBytes() { 16 | return AsterixItemLength.TWO_BYTES.getValue(); 17 | } 18 | 19 | @Override 20 | @DecodingNotImplemented(reason = "Item not needed yet") 21 | protected void decodeFromByteArray(byte[] input, int offset) { 22 | appendNotImplementedMsg(); 23 | } 24 | 25 | @Override 26 | protected String setDisplayName() { 27 | return "Cat048Item120Subfield1 - Calculated Doppler Speed"; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat048/item120/Cat048Item120Subfield2.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by alexandru on 7/11/16. 3 | */ 4 | package jlg.jade.asterix.cat048.item120; 5 | 6 | import jlg.jade.asterix.AsterixItemLength; 7 | import jlg.jade.asterix.DecodingNotImplemented; 8 | import jlg.jade.asterix.RepeatableAsterixData; 9 | 10 | /** 11 | * Cat048Item120Subfield2 - Raw Doppler Speed 12 | */ 13 | public class Cat048Item120Subfield2 extends RepeatableAsterixData { 14 | 15 | @Override 16 | protected int setRepeatableBlockSizeInBytes() { 17 | return AsterixItemLength.SIX_BYTES.getValue(); 18 | } 19 | 20 | @Override 21 | @DecodingNotImplemented(reason = "Item not needed yet") 22 | protected void decodeFromByteArray(byte[] input, int offset) { 23 | appendNotImplementedMsg(); 24 | } 25 | 26 | @Override 27 | protected String setDisplayName() { 28 | return "Cat048Item120Subfield2 - Raw Doppler Speed"; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat048/item130/Cat048Item130Subfield2.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by alexandru on 7/6/16. 3 | */ 4 | package jlg.jade.asterix.cat048.item130; 5 | 6 | import jlg.jade.asterix.AsterixItemLength; 7 | import jlg.jade.asterix.FixedLengthAsterixData; 8 | import jlg.jade.common.UnsignedNumericDecoder; 9 | 10 | /** 11 | * Cat048Item130Subfield2 - Number of received replies for (M)SSR 12 | */ 13 | public class Cat048Item130Subfield2 extends FixedLengthAsterixData { 14 | private int receivedReplies; 15 | 16 | @Override 17 | protected int setSizeInBytes() { 18 | return AsterixItemLength.ONE_BYTE.getValue(); 19 | } 20 | 21 | @Override 22 | protected void decodeFromByteArray(byte[] input, int offset) { 23 | this.receivedReplies = UnsignedNumericDecoder.decodeFromOneByte(input, offset); 24 | 25 | appendItemDebugMsg("Number of received replies for (M)SSR", this.receivedReplies); 26 | } 27 | 28 | @Override 29 | protected String setDisplayName() { 30 | return "Cat048Item130Subfield2 - Number of received replies for (M)SSR"; 31 | } 32 | 33 | public int getReceivedReplies() { 34 | return receivedReplies; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat048/item130/Cat048Item130Subfield3.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by alexandru on 7/6/16. 3 | */ 4 | package jlg.jade.asterix.cat048.item130; 5 | 6 | import jlg.jade.asterix.AsterixItemLength; 7 | import jlg.jade.asterix.FixedLengthAsterixData; 8 | import jlg.jade.common.TwoComplementDecoder; 9 | 10 | /** 11 | * Cat048Item130Subfield3 - Amplitude of (M)SSR reply 12 | */ 13 | public class Cat048Item130Subfield3 extends FixedLengthAsterixData{ 14 | private int amplitudeOfReply; 15 | 16 | @Override 17 | protected int setSizeInBytes() { 18 | return AsterixItemLength.ONE_BYTE.getValue(); 19 | } 20 | 21 | @Override 22 | protected void decodeFromByteArray(byte[] input, int offset) { 23 | this.amplitudeOfReply = TwoComplementDecoder.decodeFromOneByte(input, offset); 24 | } 25 | 26 | @Override 27 | protected String setDisplayName() { 28 | return "Cat048Item130Subfield3 - Amplitude of (M)SSR reply"; 29 | } 30 | 31 | public int getAmplitudeOfReply() { 32 | return amplitudeOfReply; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat048/item130/Cat048Item130Subfield5.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by alexandru on 7/6/16. 3 | */ 4 | package jlg.jade.asterix.cat048.item130; 5 | 6 | import jlg.jade.asterix.AsterixItemLength; 7 | import jlg.jade.asterix.FixedLengthAsterixData; 8 | import jlg.jade.common.TwoComplementDecoder; 9 | 10 | /** 11 | * Cat048Item130Subfield5 - Amplitude of Primary Plot 12 | */ 13 | public class Cat048Item130Subfield5 extends FixedLengthAsterixData{ 14 | private int amplitudeOfPrimaryPlot; 15 | 16 | @Override 17 | protected int setSizeInBytes() { 18 | return AsterixItemLength.ONE_BYTE.getValue(); 19 | } 20 | 21 | @Override 22 | protected void decodeFromByteArray(byte[] input, int offset) { 23 | this.amplitudeOfPrimaryPlot = TwoComplementDecoder.decodeFromOneByte(input, offset); 24 | 25 | appendItemDebugMsg("Amplitude of Primary Plot", this.getAmplitudeOfPrimaryPlot()); 26 | } 27 | 28 | @Override 29 | protected String setDisplayName() { 30 | return "Cat048Item130Subfield5 - Amplitude of Primary Plot"; 31 | } 32 | 33 | public int getAmplitudeOfPrimaryPlot() { 34 | return amplitudeOfPrimaryPlot; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat048/item130/Cat048Item130Subfield6.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by alexandru on 7/6/16. 3 | */ 4 | package jlg.jade.asterix.cat048.item130; 5 | 6 | import jlg.jade.asterix.AsterixItemLength; 7 | import jlg.jade.asterix.FixedLengthAsterixData; 8 | import jlg.jade.common.TwoComplementDecoder; 9 | 10 | /** 11 | * Cat048Item130Subfield6 - Difference in Range between PSR and SSR plot 12 | */ 13 | public class Cat048Item130Subfield6 extends FixedLengthAsterixData{ 14 | private int rangeDifference; 15 | 16 | @Override 17 | protected int setSizeInBytes() { 18 | return AsterixItemLength.ONE_BYTE.getValue(); 19 | } 20 | 21 | @Override 22 | protected void decodeFromByteArray(byte[] input, int offset) { 23 | this.rangeDifference = TwoComplementDecoder.decodeFromOneByte(input, offset); 24 | 25 | appendItemDebugMsg("Difference in Range between PSR and SSR plot", this.getRangeDifference()); 26 | } 27 | 28 | @Override 29 | protected String setDisplayName() { 30 | return "Cat048Item130Subfield6 - Difference in Range between PSR and SSR plot"; 31 | } 32 | 33 | public int getRangeDifference() { 34 | return rangeDifference; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat062/Cat062Item010.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Created by dan-geabunea on 4/18/2016. 3 | * This code is the property of JLG Consulting. Please 4 | * check the license terms for this product to see under what 5 | * conditions you can use or modify this source code. 6 | */ 7 | package jlg.jade.asterix.cat062; 8 | 9 | import jlg.jade.asterix.AsterixDataSourceIdentifierData; 10 | 11 | /** 12 | * Cat-062 Item 010 - Data Source Identifier - Mandatory 13 | * Identification of the system sending the data (SAC-SIC) 14 | */ 15 | public class Cat062Item010 extends AsterixDataSourceIdentifierData { 16 | @Override 17 | protected String setDisplayName() { 18 | return "Cat062Item010 - Data Source Identifier"; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat062/Cat062Item070.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Created by dan-geabunea on 4/21/2016. 3 | * This code is the property of JLG Consulting. Please 4 | * check the license terms for this product to see under what 5 | * conditions you can use or modify this source code. 6 | */ 7 | package jlg.jade.asterix.cat062; 8 | 9 | import jlg.jade.asterix.AsterixTimeData; 10 | 11 | /** 12 | * Cat 062 Item 070 - Time of track information - Mandatory 13 | * Absolute time stamping of the information provided in the track message, in the form of elapsed time since last midnight, 14 | * expressed as UTC. 15 | * Unit of measure is 1/128 sec 16 | */ 17 | public class Cat062Item070 extends AsterixTimeData { 18 | @Override 19 | protected String setDisplayName() { 20 | return "Cat062Item070 - Time of Track"; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat062/Cat062Item120.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Created by dan-geabunea on 5/12/2016. 3 | * This code is the property of JLG Consulting. Please 4 | * check the license terms for this product to see under what 5 | * conditions you can use or modify this source code. 6 | */ 7 | package jlg.jade.asterix.cat062; 8 | 9 | import jlg.jade.asterix.AsterixItemLength; 10 | import jlg.jade.asterix.DecodingNotImplemented; 11 | import jlg.jade.asterix.FixedLengthAsterixData; 12 | 13 | /** 14 | * Cat 062 Item 120 - Track Mode 2 Code 15 | */ 16 | public class Cat062Item120 extends FixedLengthAsterixData { 17 | @Override 18 | protected int setSizeInBytes() { 19 | return AsterixItemLength.TWO_BYTES.getValue(); 20 | } 21 | 22 | @Override 23 | @DecodingNotImplemented(reason = "Item not needed yet") 24 | protected void decodeFromByteArray(byte[] input, int offset) { 25 | appendNotImplementedMsg(); 26 | } 27 | 28 | @Override 29 | protected String setDisplayName() { 30 | return "Cat062Item120 - Track Mode 2"; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat062/Cat062Item270.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Created by dan-geabunea on 5/12/2016. 3 | * This code is the property of JLG Consulting. Please 4 | * check the license terms for this product to see under what 5 | * conditions you can use or modify this source code. 6 | */ 7 | package jlg.jade.asterix.cat062; 8 | 9 | import jlg.jade.asterix.DecodingNotImplemented; 10 | import jlg.jade.asterix.VariableLengthAsterixData; 11 | 12 | /** 13 | * Cat 062 Item 270 - Total size and orientation 14 | * Target size defined as length and width of the detected target, 15 | * and orientation. 16 | * 17 | * @implSpec Variable length Data Item comprising a first part of one octet, 18 | * followed by one-octet extents as necessary. 19 | */ 20 | public class Cat062Item270 extends VariableLengthAsterixData { 21 | @Override 22 | @DecodingNotImplemented(reason = "Item not needed yet") 23 | protected void decodeFromByteArray(byte[] input, int offset) { 24 | appendNotImplementedMsg(); 25 | } 26 | 27 | @Override 28 | protected String setDisplayName() { 29 | return "Cat062Item270 - Total Size & Orientation"; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat062/item110/Cat062Item110Subfield1.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Created by dan-geabunea on 5/12/2016. 3 | * This code is the property of JLG Consulting. Please 4 | * check the license terms for this product to see under what 5 | * conditions you can use or modify this source code. 6 | */ 7 | package jlg.jade.asterix.cat062.item110; 8 | 9 | import jlg.jade.asterix.AsterixItemLength; 10 | import jlg.jade.asterix.DecodingNotImplemented; 11 | import jlg.jade.asterix.FixedLengthAsterixData; 12 | 13 | /** 14 | * Item 110 - Subfield 1 - Mode 5 Summary 15 | */ 16 | public class Cat062Item110Subfield1 extends FixedLengthAsterixData { 17 | @Override 18 | protected int setSizeInBytes() { 19 | return AsterixItemLength.ONE_BYTE.getValue(); 20 | } 21 | 22 | @Override 23 | @DecodingNotImplemented(reason = "Subfield not needed yet") 24 | protected void decodeFromByteArray(byte[] input, int offset) { 25 | appendNotImplementedMsg(); 26 | } 27 | 28 | @Override 29 | protected String setDisplayName() { 30 | return "Cat062Item110Subfield1 - Mode 5 summary"; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat062/item110/Cat062Item110Subfield2.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Created by dan-geabunea on 5/12/2016. 3 | * This code is the property of JLG Consulting. Please 4 | * check the license terms for this product to see under what 5 | * conditions you can use or modify this source code. 6 | */ 7 | package jlg.jade.asterix.cat062.item110; 8 | 9 | import jlg.jade.asterix.AsterixItemLength; 10 | import jlg.jade.asterix.DecodingNotImplemented; 11 | import jlg.jade.asterix.FixedLengthAsterixData; 12 | 13 | /** 14 | * Item 110 Subfield 2 - Mode 5 PIN / Natinal origin / Mission code 15 | */ 16 | public class Cat062Item110Subfield2 extends FixedLengthAsterixData { 17 | @Override 18 | protected int setSizeInBytes() { 19 | return AsterixItemLength.FOUR_BYTES.getValue(); 20 | } 21 | 22 | @Override 23 | @DecodingNotImplemented(reason = "Subfield not needed yet") 24 | protected void decodeFromByteArray(byte[] input, int offset) { 25 | appendNotImplementedMsg(); 26 | } 27 | 28 | @Override 29 | protected String setDisplayName() { 30 | return "Cat062Item110Subfield2 - Mode 5 PIN / National origin"; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat062/item110/Cat062Item110Subfield3.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Created by dan-geabunea on 5/12/2016. 3 | * This code is the property of JLG Consulting. Please 4 | * check the license terms for this product to see under what 5 | * conditions you can use or modify this source code. 6 | */ 7 | package jlg.jade.asterix.cat062.item110; 8 | 9 | import jlg.jade.asterix.AsterixItemLength; 10 | import jlg.jade.asterix.DecodingNotImplemented; 11 | import jlg.jade.asterix.FixedLengthAsterixData; 12 | 13 | /** 14 | * Item 110 Subfield 3 - Mode 5 reported position 15 | */ 16 | public class Cat062Item110Subfield3 extends FixedLengthAsterixData { 17 | @Override 18 | protected int setSizeInBytes() { 19 | return AsterixItemLength.SIX_BYTES.getValue(); 20 | } 21 | 22 | @Override 23 | @DecodingNotImplemented(reason = "Subfield not needed yet") 24 | protected void decodeFromByteArray(byte[] input, int offset) { 25 | appendNotImplementedMsg(); 26 | } 27 | 28 | @Override 29 | protected String setDisplayName() { 30 | return "Cat062Item110Subfield3 - Mode 5 Reported Position"; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat062/item110/Cat062Item110Subfield4.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Created by dan-geabunea on 5/12/2016. 3 | * This code is the property of JLG Consulting. Please 4 | * check the license terms for this product to see under what 5 | * conditions you can use or modify this source code. 6 | */ 7 | package jlg.jade.asterix.cat062.item110; 8 | 9 | import jlg.jade.asterix.AsterixItemLength; 10 | import jlg.jade.asterix.DecodingNotImplemented; 11 | import jlg.jade.asterix.FixedLengthAsterixData; 12 | 13 | /** 14 | * Item 110 Subfield 4 - Mode 5 GNSS Altitude 15 | */ 16 | public class Cat062Item110Subfield4 extends FixedLengthAsterixData { 17 | @Override 18 | protected int setSizeInBytes() { 19 | return AsterixItemLength.TWO_BYTES.getValue(); 20 | } 21 | 22 | @Override 23 | @DecodingNotImplemented(reason = "Subfield not needed yet") 24 | protected void decodeFromByteArray(byte[] input, int offset) { 25 | appendNotImplementedMsg(); 26 | } 27 | 28 | @Override 29 | protected String setDisplayName() { 30 | return "Cat062Item110Subfield4 - Mode 5 GNSS Altitude"; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat062/item110/Cat062Item110Subfield5.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Created by dan-geabunea on 5/12/2016. 3 | * This code is the property of JLG Consulting. Please 4 | * check the license terms for this product to see under what 5 | * conditions you can use or modify this source code. 6 | */ 7 | package jlg.jade.asterix.cat062.item110; 8 | 9 | import jlg.jade.asterix.AsterixItemLength; 10 | import jlg.jade.asterix.DecodingNotImplemented; 11 | import jlg.jade.asterix.FixedLengthAsterixData; 12 | 13 | /** 14 | * Item 110 Subfield 5 - Extended Mode 1 Code in octal 15 | */ 16 | public class Cat062Item110Subfield5 extends FixedLengthAsterixData { 17 | @Override 18 | protected int setSizeInBytes() { 19 | return AsterixItemLength.TWO_BYTES.getValue(); 20 | } 21 | 22 | @Override 23 | @DecodingNotImplemented(reason = "Subfield not needed yet") 24 | protected void decodeFromByteArray(byte[] input, int offset) { 25 | appendNotImplementedMsg(); 26 | } 27 | 28 | @Override 29 | protected String setDisplayName() { 30 | return "Cat062Item110Subfield5 - Extended Mode 1"; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat062/item110/Cat062Item110Subfield6.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Created by dan-geabunea on 5/12/2016. 3 | * This code is the property of JLG Consulting. Please 4 | * check the license terms for this product to see under what 5 | * conditions you can use or modify this source code. 6 | */ 7 | package jlg.jade.asterix.cat062.item110; 8 | 9 | import jlg.jade.asterix.AsterixItemLength; 10 | import jlg.jade.asterix.DecodingNotImplemented; 11 | import jlg.jade.asterix.FixedLengthAsterixData; 12 | 13 | /** 14 | * Item 110 Subfield 6 - Time offset for POS and GA 15 | */ 16 | public class Cat062Item110Subfield6 extends FixedLengthAsterixData { 17 | @Override 18 | protected int setSizeInBytes() { 19 | return AsterixItemLength.ONE_BYTE.getValue(); 20 | } 21 | 22 | @Override 23 | @DecodingNotImplemented(reason = "Subfield not needed yet") 24 | protected void decodeFromByteArray(byte[] input, int offset) { 25 | appendNotImplementedMsg(); 26 | } 27 | 28 | @Override 29 | protected String setDisplayName() { 30 | return "Cat062Item110Subfield6 - Time Offset for POS and GA"; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat062/item110/Cat062Item110Subfield7.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Created by dan-geabunea on 5/12/2016. 3 | * This code is the property of JLG Consulting. Please 4 | * check the license terms for this product to see under what 5 | * conditions you can use or modify this source code. 6 | */ 7 | package jlg.jade.asterix.cat062.item110; 8 | 9 | import jlg.jade.asterix.AsterixItemLength; 10 | import jlg.jade.asterix.DecodingNotImplemented; 11 | import jlg.jade.asterix.FixedLengthAsterixData; 12 | 13 | /** 14 | * Item 110 Subfield 7 - X Pulse Presence 15 | */ 16 | public class Cat062Item110Subfield7 extends FixedLengthAsterixData { 17 | @Override 18 | protected int setSizeInBytes() { 19 | return AsterixItemLength.ONE_BYTE.getValue(); 20 | } 21 | 22 | @Override 23 | @DecodingNotImplemented(reason = "Subfield not needed yet") 24 | protected void decodeFromByteArray(byte[] input, int offset) { 25 | appendNotImplementedMsg(); 26 | } 27 | 28 | @Override 29 | protected String setDisplayName() { 30 | return "Cat062Item110Subfield7 - X Pulse Presence"; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat062/item200/ModeOfMovementLongAcceleration.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Created by dan-geabunea on 5/9/2016. 3 | * This code is the property of JLG Consulting. Please 4 | * check the license terms for this product to see under what 5 | * conditions you can use or modify this source code. 6 | */ 7 | package jlg.jade.asterix.cat062.item200; 8 | 9 | public enum ModeOfMovementLongAcceleration { 10 | ConstantGroundSpeed(0), 11 | IncreasingGroundSpeed(1), 12 | DecreasingGroundSpeed(2), 13 | Undetermined(3); 14 | 15 | 16 | private final int value; 17 | 18 | ModeOfMovementLongAcceleration(int value){ 19 | this.value = value; 20 | } 21 | 22 | public int getValue() { 23 | return value; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat062/item200/ModeOfMovementTransversalAcceleration.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Created by dan-geabunea on 5/9/2016. 3 | * This code is the property of JLG Consulting. Please 4 | * check the license terms for this product to see under what 5 | * conditions you can use or modify this source code. 6 | */ 7 | package jlg.jade.asterix.cat062.item200; 8 | 9 | public enum ModeOfMovementTransversalAcceleration { 10 | ConstantCourse(0), 11 | RightTurn(1), 12 | LeftTurn(2), 13 | Undetermined(3); 14 | 15 | private final int value; 16 | 17 | ModeOfMovementTransversalAcceleration(int value){ 18 | this.value = value; 19 | } 20 | 21 | public int getValue() { 22 | return value; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat062/item200/ModeOfMovementVerticalRate.java: -------------------------------------------------------------------------------- 1 | /*Created by dan-geabunea on 5/9/2016. 2 | *This code is the property of JLG Consulting.Please 3 | *check the license terms for this product to see under what 4 | *conditions you can use or modify this source code. 5 | */ 6 | package jlg.jade.asterix.cat062.item200; 7 | 8 | public enum ModeOfMovementVerticalRate { 9 | Level(0), 10 | Climb(1), 11 | Descent(2), 12 | Undetermined(3); 13 | 14 | private final int value; 15 | 16 | ModeOfMovementVerticalRate(int value) { 17 | this.value = value; 18 | } 19 | 20 | public int getValue() { 21 | return value; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat062/item340/Cat062Item340Subfield1.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Created by dan-geabunea on 5/16/2016. 3 | * This code is the property of JLG Consulting. Please 4 | * check the license terms for this product to see under what 5 | * conditions you can use or modify this source code. 6 | */ 7 | package jlg.jade.asterix.cat062.item340; 8 | 9 | import jlg.jade.asterix.AsterixDataSourceIdentifierData; 10 | 11 | /** 12 | * Item 340 Subfield 1 - Sensor Identification 13 | */ 14 | public class Cat062Item340Subfield1 extends AsterixDataSourceIdentifierData { 15 | @Override 16 | protected String setDisplayName() { 17 | return "Cat062Item340Subfield1 - Data Source Identification"; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat062/item340/Cat062Item340Subfield6.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Created by dan-geabunea on 5/16/2016. 3 | * This code is the property of JLG Consulting. Please 4 | * check the license terms for this product to see under what 5 | * conditions you can use or modify this source code. 6 | */ 7 | package jlg.jade.asterix.cat062.item340; 8 | 9 | import jlg.jade.asterix.AsterixItemLength; 10 | import jlg.jade.asterix.DecodingNotImplemented; 11 | import jlg.jade.asterix.FixedLengthAsterixData; 12 | 13 | /** 14 | * Item 340 Subfield 6 - Report Type 15 | */ 16 | public class Cat062Item340Subfield6 extends FixedLengthAsterixData { 17 | @Override 18 | protected int setSizeInBytes() { 19 | return AsterixItemLength.ONE_BYTE.getValue(); 20 | } 21 | 22 | @Override 23 | @DecodingNotImplemented(reason = "Subfield not needed yet") 24 | protected void decodeFromByteArray(byte[] input, int offset) { 25 | appendNotImplementedMsg(); 26 | } 27 | 28 | @Override 29 | protected String setDisplayName() { 30 | return "Cat062Item340Subfield6 - Report Type"; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat062/item380/Cat062Item380Subfield11.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Created by dan-geabunea on 4/28/2016. 3 | * This code is the property of JLG Consulting. Please 4 | * check the license terms for this product to see under what 5 | * conditions you can use or modify this source code. 6 | */ 7 | package jlg.jade.asterix.cat062.item380; 8 | 9 | import jlg.jade.asterix.AsterixItemLength; 10 | import jlg.jade.asterix.DecodingNotImplemented; 11 | import jlg.jade.asterix.FixedLengthAsterixData; 12 | 13 | /** 14 | * Item 380 Subfield #11 - Status reported by ADS-B 15 | */ 16 | public class Cat062Item380Subfield11 extends FixedLengthAsterixData { 17 | 18 | @Override 19 | protected int setSizeInBytes() { 20 | return AsterixItemLength.TWO_BYTES.getValue(); 21 | } 22 | 23 | @Override 24 | @DecodingNotImplemented(reason = "Not needed yet") 25 | protected void decodeFromByteArray(byte[] input, int offset) { 26 | appendNotImplementedMsg(); 27 | } 28 | 29 | @Override 30 | protected boolean validate() { 31 | return true; 32 | } 33 | 34 | @Override 35 | protected String setDisplayName() { 36 | return "Cat062Item380Subfield11 - Status Reported by ADSB"; 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat062/item380/Cat062Item380Subfield12.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Created by dan-geabunea on 4/28/2016. 3 | * This code is the property of JLG Consulting. Please 4 | * check the license terms for this product to see under what 5 | * conditions you can use or modify this source code. 6 | */ 7 | package jlg.jade.asterix.cat062.item380; 8 | 9 | import jlg.jade.asterix.ACASResolutionAdvisoryDataItem; 10 | 11 | public class Cat062Item380Subfield12 extends ACASResolutionAdvisoryDataItem { 12 | 13 | @Override 14 | protected String setDisplayName() { 15 | return "Cat062Item380Subfield12 - ACAS Resolution Advisory Report"; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat062/item380/Cat062Item380Subfield16.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Created by dan-geabunea on 5/3/2016. 3 | * This code is the property of JLG Consulting. Please 4 | * check the license terms for this product to see under what 5 | * conditions you can use or modify this source code. 6 | */ 7 | package jlg.jade.asterix.cat062.item380; 8 | 9 | import jlg.jade.asterix.AsterixItemLength; 10 | import jlg.jade.asterix.DecodingNotImplemented; 11 | import jlg.jade.asterix.FixedLengthAsterixData; 12 | 13 | /** 14 | * Item 380 - Subfield 16 - Track Angle Rate 15 | */ 16 | public class Cat062Item380Subfield16 extends FixedLengthAsterixData { 17 | 18 | @Override 19 | protected int setSizeInBytes() { 20 | return AsterixItemLength.TWO_BYTES.getValue(); 21 | } 22 | 23 | @Override 24 | @DecodingNotImplemented(reason = "Subfield not needed yet") 25 | protected void decodeFromByteArray(byte[] input, int offset) { 26 | appendNotImplementedMsg(); 27 | } 28 | 29 | @Override 30 | protected String setDisplayName() { 31 | return "Cat062Item380Subfield16 - Track Angle Rate"; 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat062/item380/Cat062Item380Subfield19.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Created by dan-geabunea on 5/3/2016. 3 | * This code is the property of JLG Consulting. Please 4 | * check the license terms for this product to see under what 5 | * conditions you can use or modify this source code. 6 | */ 7 | package jlg.jade.asterix.cat062.item380; 8 | 9 | import jlg.jade.asterix.AsterixItemLength; 10 | import jlg.jade.asterix.DecodingNotImplemented; 11 | import jlg.jade.asterix.FixedLengthAsterixData; 12 | 13 | /** 14 | * Item 380 Subfield 19 - Velocity uncertainty 15 | * Velocity uncertainty is category of the least accurate velocity component 16 | */ 17 | public class Cat062Item380Subfield19 extends FixedLengthAsterixData{ 18 | @Override 19 | protected int setSizeInBytes() { 20 | return AsterixItemLength.ONE_BYTE.getValue(); 21 | } 22 | 23 | @Override 24 | @DecodingNotImplemented(reason = "Not needed yet") 25 | protected void decodeFromByteArray(byte[] input, int offset) { 26 | appendNotImplementedMsg(); 27 | } 28 | 29 | @Override 30 | protected String setDisplayName() { 31 | return "Cat062Item380Subfield19 - Velocity Uncertainty"; 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat062/item380/Cat062Item380Subfield20.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Created by dan-geabunea on 5/3/2016. 3 | * This code is the property of JLG Consulting. Please 4 | * check the license terms for this product to see under what 5 | * conditions you can use or modify this source code. 6 | */ 7 | package jlg.jade.asterix.cat062.item380; 8 | 9 | import jlg.jade.asterix.AsterixItemLength; 10 | import jlg.jade.asterix.DecodingNotImplemented; 11 | import jlg.jade.asterix.FixedLengthAsterixData; 12 | 13 | /** 14 | * Item 380 Subfield 20 - Meteorological Data 15 | * This subfield can contain information about wind speed, wind direction, 16 | * temperature and turbulence 17 | */ 18 | public class Cat062Item380Subfield20 extends FixedLengthAsterixData { 19 | @Override 20 | protected int setSizeInBytes() { 21 | return AsterixItemLength.EIGHT_BYTES.getValue(); 22 | } 23 | 24 | @Override 25 | @DecodingNotImplemented(reason = "Not needed yet") 26 | protected void decodeFromByteArray(byte[] input, int offset) { 27 | appendNotImplementedMsg(); 28 | } 29 | 30 | @Override 31 | protected String setDisplayName() { 32 | return "Cat062Item380Subfield20 - Meteorological Data"; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat062/item380/Cat062Item380Subfield22.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Created by dan-geabunea on 5/3/2016. 3 | * This code is the property of JLG Consulting. Please 4 | * check the license terms for this product to see under what 5 | * conditions you can use or modify this source code. 6 | */ 7 | package jlg.jade.asterix.cat062.item380; 8 | 9 | import jlg.jade.asterix.AsterixItemLength; 10 | import jlg.jade.asterix.DecodingNotImplemented; 11 | import jlg.jade.asterix.FixedLengthAsterixData; 12 | 13 | /** 14 | * Item 380 Subfield 22 - Position 15 | */ 16 | public class Cat062Item380Subfield22 extends FixedLengthAsterixData{ 17 | @Override 18 | protected int setSizeInBytes() { 19 | return AsterixItemLength.SIX_BYTES.getValue(); 20 | } 21 | 22 | @Override 23 | @DecodingNotImplemented(reason = "Not needed yet") 24 | protected void decodeFromByteArray(byte[] input, int offset) { 25 | appendNotImplementedMsg(); 26 | } 27 | 28 | @Override 29 | protected String setDisplayName() { 30 | return "Cat062Item380Subfield22 - Position"; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat062/item380/Cat062Item380Subfield24.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Created by dan-geabunea on 5/4/2016. 3 | * This code is the property of JLG Consulting. Please 4 | * check the license terms for this product to see under what 5 | * conditions you can use or modify this source code. 6 | */ 7 | package jlg.jade.asterix.cat062.item380; 8 | 9 | import jlg.jade.asterix.AsterixItemLength; 10 | import jlg.jade.asterix.DecodingNotImplemented; 11 | import jlg.jade.asterix.FixedLengthAsterixData; 12 | 13 | /** 14 | * Item 380 Subfield 24 - Position Uncertainty 15 | */ 16 | public class Cat062Item380Subfield24 extends FixedLengthAsterixData{ 17 | @Override 18 | protected int setSizeInBytes() { 19 | return AsterixItemLength.ONE_BYTE.getValue(); 20 | } 21 | 22 | @Override 23 | @DecodingNotImplemented(reason = "Subfield not needed yet") 24 | protected void decodeFromByteArray(byte[] input, int offset) { 25 | appendNotImplementedMsg(); 26 | } 27 | 28 | @Override 29 | protected String setDisplayName() { 30 | return "Cat062Item380Subfield24 - Position Uncertainty"; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat062/item380/Cat062Item380Subfield8.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Created by dan-geabunea on 4/28/2016. 3 | * This code is the property of JLG Consulting. Please 4 | * check the license terms for this product to see under what 5 | * conditions you can use or modify this source code. 6 | */ 7 | package jlg.jade.asterix.cat062.item380; 8 | 9 | import jlg.jade.asterix.DecodingNotImplemented; 10 | import jlg.jade.asterix.VariableLengthAsterixData; 11 | 12 | /** 13 | * Item 380 Subfield #8 - Trajectory Intent Status 14 | * @implSpec The FX is currently always 0, but this item is variable because it might get 15 | * updated in the future. 16 | * @implNote Not implemented yet 17 | */ 18 | public class Cat062Item380Subfield8 extends VariableLengthAsterixData { 19 | @Override 20 | @DecodingNotImplemented(reason = "Not needed yet") 21 | protected void decodeFromByteArray(byte[] input, int offset) { 22 | appendNotImplementedMsg(); 23 | } 24 | 25 | @Override 26 | protected boolean validate() { 27 | return true; 28 | } 29 | 30 | @Override 31 | protected String setDisplayName() { 32 | return "Cat062Item380Subfield8 - Trajectory Intent Status"; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat062/item390/Cat062Item390Subfield1.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Created by dan-geabunea on 5/10/2016. 3 | * This code is the property of JLG Consulting. Please 4 | * check the license terms for this product to see under what 5 | * conditions you can use or modify this source code. 6 | */ 7 | package jlg.jade.asterix.cat062.item390; 8 | 9 | import jlg.jade.asterix.AsterixDataSourceIdentifierData; 10 | 11 | /** 12 | * Item 390 - Subfield 1 - FPPS Identification Tag (SAC-SIC) 13 | */ 14 | public class Cat062Item390Subfield1 extends AsterixDataSourceIdentifierData { 15 | @Override 16 | protected String setDisplayName() { 17 | return "Cat062Item390Subfield1 - Data Source Identification (FPPS)"; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat062/item390/Cat062Item390Subfield3.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Created by dan-geabunea on 5/10/2016. 3 | * This code is the property of JLG Consulting. Please 4 | * check the license terms for this product to see under what 5 | * conditions you can use or modify this source code. 6 | */ 7 | package jlg.jade.asterix.cat062.item390; 8 | 9 | import jlg.jade.asterix.AsterixItemLength; 10 | import jlg.jade.asterix.DecodingNotImplemented; 11 | import jlg.jade.asterix.FixedLengthAsterixData; 12 | 13 | /** 14 | * Item 390 Subfield #3 - IFPS_FLIGHT_ID 15 | */ 16 | public class Cat062Item390Subfield3 extends FixedLengthAsterixData { 17 | @Override 18 | protected int setSizeInBytes() { 19 | return AsterixItemLength.FOUR_BYTES.getValue(); 20 | } 21 | 22 | @Override 23 | @DecodingNotImplemented(reason = "Not needed yet") 24 | protected void decodeFromByteArray(byte[] input, int offset) { 25 | appendNotImplementedMsg(); 26 | } 27 | 28 | @Override 29 | protected String setDisplayName() { 30 | return "Cat062Item390Subfield3 - IFPS FLIGHT ID"; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat065/Cat065Item000.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Created by dan-geabunea on 5/26/2016. 3 | * This code is the property of JLG Consulting. Please 4 | * check the license terms for this product to see under what 5 | * conditions you can use or modify this source code. 6 | */ 7 | package jlg.jade.asterix.cat065; 8 | 9 | import jlg.jade.asterix.AsterixMessageTypeData; 10 | 11 | /** 12 | * Cat 065 Item 000 - Message Type 13 | */ 14 | public class Cat065Item000 extends AsterixMessageTypeData { 15 | 16 | @Override 17 | protected String setDisplayName() { 18 | return "Cat065Item000 - Message Type"; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat065/Cat065Item010.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Created by dan-geabunea on 5/26/2016. 3 | * This code is the property of JLG Consulting. Please 4 | * check the license terms for this product to see under what 5 | * conditions you can use or modify this source code. 6 | */ 7 | package jlg.jade.asterix.cat065; 8 | 9 | import jlg.jade.asterix.AsterixDataSourceIdentifierData; 10 | 11 | /** 12 | * Cat 065 Item 010 - Data Source Identifier 13 | * Identification of the SDPS sending the data 14 | */ 15 | public class Cat065Item010 extends AsterixDataSourceIdentifierData { 16 | @Override 17 | protected String setDisplayName() { 18 | return "Cat065Item010 - Data Source Identifier"; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat065/Cat065Item030.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Created by dan-geabunea on 5/26/2016. 3 | * This code is the property of JLG Consulting. Please 4 | * check the license terms for this product to see under what 5 | * conditions you can use or modify this source code. 6 | */ 7 | package jlg.jade.asterix.cat065; 8 | 9 | import jlg.jade.asterix.AsterixTimeData; 10 | 11 | public class Cat065Item030 extends AsterixTimeData { 12 | @Override 13 | protected String setDisplayName() { 14 | return "Cat065Item030 - Time of Message"; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat065/Cat065Item040.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Created by dan-geabunea on 5/26/2016. 3 | * This code is the property of JLG Consulting. Please 4 | * check the license terms for this product to see under what 5 | * conditions you can use or modify this source code. 6 | */ 7 | package jlg.jade.asterix.cat065; 8 | 9 | import jlg.jade.asterix.AsterixItemLength; 10 | import jlg.jade.asterix.DecodingNotImplemented; 11 | import jlg.jade.asterix.FixedLengthAsterixData; 12 | 13 | /** 14 | * Cat 065 Item 040 - SDPS Configuration and Status 15 | */ 16 | public class Cat065Item040 extends FixedLengthAsterixData { 17 | @Override 18 | protected int setSizeInBytes() { 19 | return AsterixItemLength.ONE_BYTE.getValue(); 20 | } 21 | 22 | @Override 23 | @DecodingNotImplemented(reason = "Item not used yet") 24 | protected void decodeFromByteArray(byte[] input, int offset) { 25 | appendNotImplementedMsg(); 26 | } 27 | 28 | @Override 29 | protected String setDisplayName() { 30 | return "Cat065Item040 - SDPS Configuration and Status"; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat150/Cat150Correlation.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Dan Geabunea on 7/6/2016. 3 | */ 4 | 5 | package jlg.jade.asterix.cat150; 6 | 7 | public class Cat150Correlation { 8 | private int planNumber; 9 | private int trackNumber; 10 | 11 | protected Cat150Correlation() { 12 | 13 | } 14 | 15 | public Cat150Correlation(int planNumber, int trackNumber) { 16 | this.planNumber = planNumber; 17 | this.trackNumber = trackNumber; 18 | } 19 | 20 | public int getTrackNumber() { 21 | return trackNumber; 22 | } 23 | 24 | public int getPlanNumber() { 25 | return planNumber; 26 | } 27 | 28 | @Override 29 | public String toString() { 30 | return "{ PlanNb: " + this.planNumber + "; TrackNb: " + this.trackNumber + " }"; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat150/Cat150Item030MessageType.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Dan Geabunea on 6/30/2016. 3 | */ 4 | 5 | package jlg.jade.asterix.cat150; 6 | 7 | public enum Cat150Item030MessageType { 8 | UNKNOWN(-1), 9 | FLIGHT_PLAN_CREATION(1), 10 | FLIGHT_PLAN_MODIFICATION(2), 11 | FLIGHT_PLAN_REPETITION(3), 12 | MANUAL_FLIGHT_PLAN_DELETION(4), 13 | AUTOMATIC_FLIGHT_PLAN_DELETION(5), 14 | FLIGHT_BEYOND_EXTRACTION_AREA(6), 15 | STCA(251), 16 | CORRELATIONS(252), 17 | DECORRELATIONS(253), 18 | START_BACKGROUND_LOOP(254), 19 | END_BACKGROUND_LOOG(255); 20 | 21 | private int numericValue; 22 | 23 | Cat150Item030MessageType(int numericValue){ 24 | this.numericValue = numericValue; 25 | } 26 | 27 | public int getNumericValue() { 28 | return numericValue; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat150/Cat150Item050.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Dan Geabunea on 7/1/2016. 3 | */ 4 | 5 | package jlg.jade.asterix.cat150; 6 | 7 | import jlg.jade.asterix.AsterixItemLength; 8 | import jlg.jade.asterix.FixedLengthAsterixData; 9 | 10 | /** 11 | * Cat150 Item050 - Callsign 12 | * Flight Identity 13 | */ 14 | public class Cat150Item050 extends FixedLengthAsterixData { 15 | private String callsign; 16 | 17 | @Override 18 | protected int setSizeInBytes() { 19 | return AsterixItemLength.SEVEN_BYTES.getValue(); 20 | } 21 | 22 | @Override 23 | protected void decodeFromByteArray(byte[] input, int offset) { 24 | this.callsign = new String(input, offset, this.sizeInBytes).replace(" ", ""); 25 | appendItemDebugMsg("Callsign", this.callsign); 26 | } 27 | 28 | @Override 29 | protected String setDisplayName() { 30 | return "Cat150Item050 - Callsign"; 31 | } 32 | 33 | public String getCallsign() { 34 | return callsign; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat150/Cat150Item060.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Dan Geabunea on 7/1/2016. 3 | */ 4 | 5 | package jlg.jade.asterix.cat150; 6 | 7 | import jlg.jade.asterix.AsterixItemLength; 8 | import jlg.jade.asterix.FixedLengthAsterixData; 9 | 10 | /** 11 | * Cat150 Item060 - Mode 3A 12 | * Represented as 4 characters, where zzzz means no code available/assigned 13 | */ 14 | public class Cat150Item060 extends FixedLengthAsterixData { 15 | private String modeAOctal; 16 | 17 | @Override 18 | protected int setSizeInBytes() { 19 | return AsterixItemLength.FOUR_BYTES.getValue(); 20 | } 21 | 22 | @Override 23 | protected void decodeFromByteArray(byte[] input, int offset) { 24 | this.modeAOctal = new String(input, offset, this.sizeInBytes); 25 | appendItemDebugMsg("Mode 3A", this.modeAOctal); 26 | } 27 | 28 | @Override 29 | protected String setDisplayName() { 30 | return "Cat150Item060 - Mode 3A"; 31 | } 32 | 33 | /** 34 | * @return The Mode3A code in octal representation 35 | */ 36 | public String getModeAOctal() { 37 | return modeAOctal; 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat150/Cat150Item070.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Dan Geabunea on 7/1/2016. 3 | */ 4 | 5 | package jlg.jade.asterix.cat150; 6 | 7 | import jlg.jade.asterix.AsterixItemLength; 8 | import jlg.jade.asterix.FixedLengthAsterixData; 9 | 10 | /** 11 | * Cat150 Item070 - Next Mode 3A 12 | * Next transponder code mode 3A of the flight 13 | * Unit of measure: octal representation 14 | */ 15 | public class Cat150Item070 extends FixedLengthAsterixData { 16 | private String mode3AOctal; 17 | 18 | @Override 19 | protected int setSizeInBytes() { 20 | return AsterixItemLength.FOUR_BYTES.getValue(); 21 | } 22 | 23 | @Override 24 | protected void decodeFromByteArray(byte[] input, int offset) { 25 | this.mode3AOctal = new String(input, offset, this.sizeInBytes); 26 | appendItemDebugMsg("Next Mode-3A", this.getMode3AOctal()); 27 | } 28 | 29 | @Override 30 | protected String setDisplayName() { 31 | return "Cat150Item070 - Next Mode 3A"; 32 | } 33 | 34 | /** 35 | * @return The next Mode 3A as octal representation 36 | */ 37 | public String getMode3AOctal() { 38 | return mode3AOctal; 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat150/Cat150Item080.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Dan Geabunea on 7/1/2016. 3 | */ 4 | 5 | package jlg.jade.asterix.cat150; 6 | 7 | import jlg.jade.asterix.AsterixItemLength; 8 | import jlg.jade.asterix.FixedLengthAsterixData; 9 | 10 | /** 11 | * Cat150 Item080 - Departure Aerodrome. 12 | * Identification of the flight’s departure aerodrome. 13 | */ 14 | public class Cat150Item080 extends FixedLengthAsterixData { 15 | private String departureAerodrome; 16 | 17 | @Override 18 | protected int setSizeInBytes() { 19 | return AsterixItemLength.FOUR_BYTES.getValue(); 20 | } 21 | 22 | @Override 23 | protected void decodeFromByteArray(byte[] input, int offset) { 24 | this.departureAerodrome = new String(input, offset, this.sizeInBytes).replace(" ", ""); 25 | appendItemDebugMsg("Departure Aerodrome", this.departureAerodrome); 26 | } 27 | 28 | @Override 29 | protected String setDisplayName() { 30 | return "Cat150Item080 - Departure Aerodrome"; 31 | } 32 | 33 | public String getDepartureAerodrome() { 34 | return departureAerodrome; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat150/Cat150Item090.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Dan Geabunea on 7/4/2016. 3 | */ 4 | 5 | package jlg.jade.asterix.cat150; 6 | 7 | import jlg.jade.asterix.AsterixItemLength; 8 | import jlg.jade.asterix.FixedLengthAsterixData; 9 | 10 | /** 11 | * Cat150 Item090 - Destination Aerodrome 12 | * Identification of the flight’s destination aerodrome. 13 | */ 14 | public class Cat150Item090 extends FixedLengthAsterixData { 15 | private String destinationAerodrome; 16 | 17 | @Override 18 | protected int setSizeInBytes() { 19 | return AsterixItemLength.FOUR_BYTES.getValue(); 20 | } 21 | 22 | @Override 23 | protected void decodeFromByteArray(byte[] input, int offset) { 24 | this.destinationAerodrome = new String(input, offset, this.sizeInBytes).replace(" ", ""); 25 | appendItemDebugMsg("Destination Aerodrome", this.destinationAerodrome); 26 | } 27 | 28 | @Override 29 | protected String setDisplayName() { 30 | return "Cat150Item090 - Destination Aerodrome"; 31 | } 32 | 33 | public String getDestinationAerodrome() { 34 | return destinationAerodrome; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat150/Cat150Item110RvsmStatus.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Dan Geabunea on 7/4/2016. 3 | */ 4 | 5 | package jlg.jade.asterix.cat150; 6 | 7 | public enum Cat150Item110RvsmStatus { 8 | UNKNOWN(-1), 9 | EQUIPPED(1), 10 | CAPABLE(2), 11 | EXEMPTED(3); 12 | 13 | private int numericValue; 14 | 15 | Cat150Item110RvsmStatus(int numericValue){ 16 | this.numericValue = numericValue; 17 | } 18 | 19 | public int getNumericValue() { 20 | return numericValue; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat150/Cat150Item170.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Dan Geabunea on 7/6/2016. 3 | */ 4 | 5 | package jlg.jade.asterix.cat150; 6 | 7 | /** 8 | * Cat150 Item170 - Route Points, FLight Level 9 | * Planned flight level over route point 10 | * Unit of measure: FL (100ft) 11 | */ 12 | public class Cat150Item170 extends Cat150RoutePointFlightLevelData { 13 | @Override 14 | protected String setDisplayName() { 15 | return "Cat150Item170 - Route Points, FL"; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat150/Cat150Item171.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Dan Geabunea on 7/6/2016. 3 | */ 4 | 5 | package jlg.jade.asterix.cat150; 6 | 7 | /** 8 | * Cat150 Item171 - Route Points, Requested Flight Level 9 | * Requested flight level over route point 10 | */ 11 | public class Cat150Item171 extends Cat150RoutePointFlightLevelData { 12 | @Override 13 | protected String setDisplayName() { 14 | return "Cat150Item171 - Route Points, RFL"; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat150/Cat150Item180.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Dan Geabunea on 7/6/2016. 3 | */ 4 | 5 | package jlg.jade.asterix.cat150; 6 | 7 | import jlg.jade.asterix.AsterixItemLength; 8 | import jlg.jade.asterix.DecodingNotImplemented; 9 | import jlg.jade.asterix.RepeatableAsterixData; 10 | 11 | /** 12 | * Cat150 Item190 - Controller ID 13 | */ 14 | public class Cat150Item180 extends RepeatableAsterixData { 15 | @Override 16 | protected int setRepeatableBlockSizeInBytes() { 17 | return AsterixItemLength.FOUR_BYTES.getValue(); 18 | } 19 | 20 | @Override 21 | @DecodingNotImplemented(reason = "Item not needed yet") 22 | protected void decodeFromByteArray(byte[] input, int offset) { 23 | appendNotImplementedMsg(); 24 | } 25 | 26 | @Override 27 | protected String setDisplayName() { 28 | return "Cat150Item180 - Route Points, Speed"; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat150/Cat150Item210.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Dan Geabunea on 7/6/2016. 3 | */ 4 | 5 | package jlg.jade.asterix.cat150; 6 | 7 | import jlg.jade.asterix.AsterixItemLength; 8 | import jlg.jade.asterix.FixedLengthAsterixData; 9 | import jlg.jade.common.UnsignedNumericDecoder; 10 | 11 | /** 12 | * Cat150 Item210 - Correlated Track Number 13 | */ 14 | public class Cat150Item210 extends FixedLengthAsterixData { 15 | private int correlatedTrackNb; 16 | 17 | @Override 18 | protected int setSizeInBytes() { 19 | return AsterixItemLength.TWO_BYTES.getValue(); 20 | } 21 | 22 | @Override 23 | protected void decodeFromByteArray(byte[] input, int offset) { 24 | this.correlatedTrackNb = UnsignedNumericDecoder.decodeFromTwoBytes(input, offset); 25 | this.appendItemDebugMsg("Correlated Track Nb", this.correlatedTrackNb); 26 | } 27 | 28 | @Override 29 | protected String setDisplayName() { 30 | return "Cat150Item210 - Correlated Track Number"; 31 | } 32 | 33 | public int getCorrelatedTrackNb() { 34 | return correlatedTrackNb; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat150/Cat150Item220.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Dan Geabunea on 7/6/2016. 3 | */ 4 | 5 | package jlg.jade.asterix.cat150; 6 | 7 | import jlg.jade.asterix.AsterixItemLength; 8 | import jlg.jade.asterix.FixedLengthAsterixData; 9 | import jlg.jade.common.UnsignedNumericDecoder; 10 | 11 | /** 12 | * Cat150 Item220 - Maximum Plan Count 13 | * The maximum number of possible active plans 14 | */ 15 | public class Cat150Item220 extends FixedLengthAsterixData { 16 | private int maxPlanCount; 17 | 18 | @Override 19 | protected int setSizeInBytes() { 20 | return AsterixItemLength.TWO_BYTES.getValue(); 21 | } 22 | 23 | @Override 24 | protected void decodeFromByteArray(byte[] input, int offset) { 25 | this.maxPlanCount = UnsignedNumericDecoder.decodeFromTwoBytes(input, offset); 26 | this.appendItemDebugMsg("Max Plan Count", this.maxPlanCount); 27 | } 28 | 29 | @Override 30 | protected String setDisplayName() { 31 | return "Cat150Item220 - Max Plan Count"; 32 | } 33 | 34 | public int getMaxPlanCount() { 35 | return maxPlanCount; 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat150/Cat150Item230.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Dan Geabunea on 7/6/2016. 3 | */ 4 | 5 | package jlg.jade.asterix.cat150; 6 | 7 | import jlg.jade.asterix.AsterixItemLength; 8 | import jlg.jade.asterix.FixedLengthAsterixData; 9 | import jlg.jade.common.UnsignedNumericDecoder; 10 | 11 | /** 12 | * Cat150 Item230 - Number of plans 13 | */ 14 | public class Cat150Item230 extends FixedLengthAsterixData { 15 | private int nbOfPlans; 16 | 17 | @Override 18 | protected int setSizeInBytes() { 19 | return AsterixItemLength.TWO_BYTES.getValue(); 20 | } 21 | 22 | @Override 23 | protected void decodeFromByteArray(byte[] input, int offset) { 24 | this.nbOfPlans = UnsignedNumericDecoder.decodeFromTwoBytes(input, offset); 25 | this.appendItemDebugMsg("Nb of plans", this.nbOfPlans); 26 | } 27 | 28 | @Override 29 | protected String setDisplayName() { 30 | return "Cat150Item230 - Number of plans"; 31 | } 32 | 33 | public int getNbOfPlans() { 34 | return nbOfPlans; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat150/Cat150Item251.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Dan Geabunea on 7/8/2016. 3 | */ 4 | 5 | package jlg.jade.asterix.cat150; 6 | 7 | import jlg.jade.asterix.AsterixItemLength; 8 | import jlg.jade.asterix.DecodingNotImplemented; 9 | import jlg.jade.asterix.RepeatableAsterixData; 10 | 11 | /** 12 | * Cat150 Item251 - Tracks in conflict 13 | */ 14 | public class Cat150Item251 extends RepeatableAsterixData { 15 | @Override 16 | protected int setRepeatableBlockSizeInBytes() { 17 | return AsterixItemLength.FOUR_BYTES.getValue(); 18 | } 19 | 20 | @Override 21 | @DecodingNotImplemented(reason = "Item not needed yet") 22 | protected void decodeFromByteArray(byte[] input, int offset) { 23 | appendNotImplementedMsg(); 24 | } 25 | 26 | @Override 27 | protected String setDisplayName() { 28 | return "Cat150Item251 - Tracks in conflict"; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat150/Cat150RoutePointCoordinate.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Dan Geabunea on 7/5/2016. 3 | */ 4 | 5 | package jlg.jade.asterix.cat150; 6 | 7 | public class Cat150RoutePointCoordinate { 8 | private int x; 9 | private int y; 10 | 11 | public Cat150RoutePointCoordinate(int x, int y) { 12 | this.x = x; 13 | this.y = y; 14 | } 15 | 16 | public int getX() { 17 | return x; 18 | } 19 | 20 | public int getY() { 21 | return y; 22 | } 23 | 24 | @Override 25 | public String toString() { 26 | return "{X: " + this.x + "; Y: " + this.y + " }"; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat150/Cat150RoutePointDescription.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Dan Geabunea on 7/5/2016. 3 | */ 4 | 5 | package jlg.jade.asterix.cat150; 6 | 7 | public class Cat150RoutePointDescription { 8 | private int type; 9 | private String description; 10 | 11 | public Cat150RoutePointDescription(int type, String description) { 12 | this.type = type; 13 | this.description = description; 14 | } 15 | 16 | protected Cat150RoutePointDescription() { 17 | } 18 | 19 | public int getType() { 20 | return type; 21 | } 22 | 23 | public String getDescription() { 24 | return description; 25 | } 26 | 27 | @Override 28 | public String toString() { 29 | return "{ Type: " + this.getType() + "; Description: " + this.getDescription() + " }"; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/cat150/Cat150RoutePointFlightLevel.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Dan Geabunea on 7/6/2016. 3 | */ 4 | 5 | package jlg.jade.asterix.cat150; 6 | 7 | public class Cat150RoutePointFlightLevel { 8 | private int flightLevel; 9 | 10 | public Cat150RoutePointFlightLevel(int flightLevel) { 11 | this.flightLevel = flightLevel; 12 | } 13 | 14 | 15 | public int getFlightLevel() { 16 | return flightLevel; 17 | } 18 | 19 | @Override 20 | public String toString() { 21 | return "{Flight Level: " + this.flightLevel + " }"; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/counters/AsterixDecodingReport.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Dan Geabunea on 8/3/2016. 3 | */ 4 | 5 | package jlg.jade.asterix.counters; 6 | 7 | import jlg.jade.asterix.AsterixDataBlock; 8 | 9 | public interface AsterixDecodingReport { 10 | void update(AsterixDataBlock adb); 11 | 12 | Cat004ItemCounter getCat004ItemCounter(); 13 | 14 | Cat034ItemCounter getCat034ItemCounter(); 15 | 16 | Cat048ItemCounter getCat048ItemCounter(); 17 | 18 | Cat062ItemCounter getCat062ItemCounter(); 19 | 20 | Cat065ItemCounter getCat065ItemCounter(); 21 | 22 | Cat150ItemCounter getCat150ItemCounter(); 23 | 24 | String toDebugString(); 25 | } 26 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/asterix/counters/AsterixItemCounter.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Created by dan-geabunea on 5/27/2016. 3 | * This code is the property of JLG Consulting. Please 4 | * check the license terms for this product to see under what 5 | * conditions you can use or modify this source code. 6 | */ 7 | 8 | package jlg.jade.asterix.counters; 9 | 10 | import jlg.jade.asterix.AsterixDataBlock; 11 | 12 | public interface AsterixItemCounter { 13 | void increment(AsterixDataBlock asterixDataBlock); 14 | } 15 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/common/AsterixDecodingException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Created by dan-geabunea on 4/18/2016. 3 | * This code is the property of JLG Consulting. Please 4 | * check the license terms for this product to see under what 5 | * conditions you can use or modify this source code. 6 | */ 7 | package jlg.jade.common; 8 | 9 | public class AsterixDecodingException { 10 | 11 | public static class ReservedFieldNotImplemented extends Exception { 12 | public ReservedFieldNotImplemented(String msg) { 13 | super(msg); 14 | } 15 | } 16 | 17 | public static class UnexpectedEndOfData extends RuntimeException { 18 | public UnexpectedEndOfData(String msg) { 19 | super(msg); 20 | } 21 | } 22 | 23 | public static class UndeterminedFspecEnd extends RuntimeException { 24 | } 25 | 26 | public static class AvailableLengthExceeded extends RuntimeException { 27 | public AvailableLengthExceeded(String msg) { 28 | super(msg); 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/common/AsterixEncodingException.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Dan Geabunea on 11/2/2016. 3 | */ 4 | 5 | package jlg.jade.common; 6 | 7 | public class AsterixEncodingException extends Exception { 8 | public AsterixEncodingException(String msg) { 9 | super(msg); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/common/AsterixException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Created by dan-geabunea on 5/26/2016. 3 | * This code is the property of JLG Consulting. Please 4 | * check the license terms for this product to see under what 5 | * conditions you can use or modify this source code. 6 | */ 7 | package jlg.jade.common; 8 | 9 | public class AsterixException { 10 | 11 | public static class InvalidDisplayName extends RuntimeException{ 12 | 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/common/BitValueDecoder.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Created by dan-geabunea on 5/16/2016. 3 | * This code is the property of JLG Consulting. Please 4 | * check the license terms for this product to see under what 5 | * conditions you can use or modify this source code. 6 | */ 7 | package jlg.jade.common; 8 | 9 | import java.util.BitSet; 10 | 11 | public class BitValueDecoder { 12 | /** 13 | * Decode integer information from two bits, based on their arrangement. 14 | * Possible values are 0,1,2 and 3 15 | * 16 | * @param bs The bitset on which the method operates 17 | * @param startBitIndex The start bit index (first bit) 18 | * @param endBitIndex The end bit index (secomd bit) 19 | * @return The integer value of the two bits 20 | */ 21 | public static int decodeFromTwoBits(BitSet bs, int startBitIndex, int endBitIndex) { 22 | final boolean startBit = bs.get(startBitIndex); 23 | final boolean endBit = bs.get(endBitIndex); 24 | if (!endBit && !startBit) { 25 | return 0; 26 | } 27 | if (!endBit) { 28 | return 1; 29 | } 30 | if (!startBit) { 31 | return 2; 32 | } 33 | return 3; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/common/BitWriter.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Created by dan-geabunea on 5/6/2016. 3 | * This code is the property of JLG Consulting. Please 4 | * check the license terms for this product to see under what 5 | * conditions you can use or modify this source code. 6 | */ 7 | package jlg.jade.common; 8 | 9 | import java.util.BitSet; 10 | 11 | public class BitWriter { 12 | public static String getBitsRightToLeft(byte b){ 13 | StringBuilder sb = new StringBuilder(); 14 | BitSet bs = BitSet.valueOf(new byte[]{b}); 15 | for (int j=7;j>=0;j--){ 16 | if(bs.get(j)){ 17 | sb.append(1); 18 | sb.append(" "); 19 | } 20 | else{ 21 | sb.append(0); 22 | sb.append(" "); 23 | } 24 | } 25 | return sb.toString(); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/common/Decodable.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Created by dan-geabunea on 4/20/2016. 3 | * This code is the property of JLG Consulting. Please 4 | * check the license terms for this product to see under what 5 | * conditions you can use or modify this source code. 6 | */ 7 | package jlg.jade.common; 8 | 9 | /** 10 | * Interface to be used by classes that will decode Asterix information with a variable, 11 | * unknown length 12 | */ 13 | public interface Decodable { 14 | /** 15 | * Parse and decode the raw data from the input medium 16 | * @param input The raw data 17 | * @param offset The start offset in the raw data, at which reading should begin 18 | * @param inputLength The number of bytes to read. The length of the input stream until we may read. This is used because the input 19 | * array can be longer than the length of the data that we wish to read (network buffer reads) 20 | * @return The new offset in the raw data 21 | */ 22 | int decode(byte[] input, int offset, int inputLength); 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/common/Encodable.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Created by dan-geabunea on 4/20/2016. 3 | * This code is the property of JLG Consulting. Please 4 | * check the license terms for this product to see under what 5 | * conditions you can use or modify this source code. 6 | */ 7 | 8 | package jlg.jade.common; 9 | 10 | import sun.reflect.generics.reflectiveObjects.NotImplementedException; 11 | 12 | /** 13 | * Interface used by all class that will be able to encode their data to Asterix format 14 | * in a byte array. The length of the data to be encoded must be unknown 15 | */ 16 | public interface Encodable { 17 | /** 18 | * Encodes the current class data into a byte array, that can be then sent over the network 19 | * or written to a file. 20 | * @return The Asterix encoded representation of the Asterix item (byte array) 21 | * @throws AsterixEncodingException if the item can not be encoded 22 | */ 23 | default byte[] encode() { 24 | //TODO: Remove default impl after we finish with all the items 25 | throw new NotImplementedException(); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/common/Loggable.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by alexandru on 10/5/16. 3 | */ 4 | package jlg.jade.common; 5 | 6 | public interface Loggable { 7 | String getDebugString(); 8 | } 9 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/common/NumericBitSet.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Dan Geabunea on 6/24/2016. 3 | */ 4 | 5 | package jlg.jade.common; 6 | 7 | import java.util.BitSet; 8 | 9 | public class NumericBitSet { 10 | 11 | /** 12 | * Transforms a byte into an array of bits with integer values (0 and 1). The bit order is 13 | * from left to right: 7 6 5 4 3 2 1 0 14 | */ 15 | public static int[] transform(byte b) { 16 | int[] bits = new int[8]; 17 | BitSet bs = BitSet.valueOf(new byte[]{b}); 18 | 19 | for(int i=0;i<8;i++){ 20 | if(bs.get(i)){ 21 | bits[i] = 1; 22 | } 23 | else{ 24 | bits[i] = 0; 25 | } 26 | } 27 | 28 | return bits; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/common/TwoComplementDecoder.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Created by dan-geabunea on 5/3/2016. 3 | * This code is the property of JLG Consulting. Please 4 | * check the license terms for this product to see under what 5 | * conditions you can use or modify this source code. 6 | */ 7 | package jlg.jade.common; 8 | 9 | public class TwoComplementDecoder { 10 | 11 | public static int decodeFromTwoBytes(byte[] input, int offset) { 12 | int result = input[offset] * 256 + Byte.toUnsignedInt(input[offset + 1]); 13 | 14 | return result; 15 | } 16 | 17 | public static int decodeFromThreeBytes(byte[] input, int offset) { 18 | int result = input[offset] * 256 * 256 + 19 | Byte.toUnsignedInt(input[offset + 1]) * 256 + 20 | Byte.toUnsignedInt(input[offset + 2]); 21 | 22 | return result; 23 | } 24 | 25 | public static int decodeFromOneByte(byte[] input, int offset) { 26 | int result = input[offset]; 27 | 28 | return result; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/main/java/jlg/jade/example/RawQueue.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Created by dan-geabunea on 5/18/2016. 3 | * This code is the property of JLG Consulting. Please 4 | * check the license terms for this product to see under what 5 | * conditions you can use or modify this source code. 6 | */ 7 | package jlg.jade.example; 8 | 9 | import org.springframework.stereotype.Component; 10 | 11 | import java.net.DatagramPacket; 12 | import java.util.concurrent.ArrayBlockingQueue; 13 | import java.util.concurrent.BlockingQueue; 14 | 15 | @Component 16 | class RawQueue{ 17 | private final BlockingQueue rawQueue; 18 | 19 | public RawQueue(){ 20 | this.rawQueue = new ArrayBlockingQueue<>(1000); 21 | } 22 | 23 | public BlockingQueue getRawQueue() { 24 | return rawQueue; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/AsterixDataBlockTest.java: -------------------------------------------------------------------------------- 1 | package jlg.jade.test.asterix; 2 | 3 | import jlg.jade.asterix.AsterixDataBlock; 4 | import org.junit.Test; 5 | 6 | /** 7 | * Created by Dan Geabunea on 1/6/2017. 8 | */ 9 | public class AsterixDataBlockTest { 10 | 11 | @Test(expected = IllegalArgumentException.class) 12 | public void should_throw_if_we_pass_null_custom_reserved_field_factory_in_ctor(){ 13 | AsterixDataBlock dataBlock = new AsterixDataBlock(62, null); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/AsterixRecordTest.java: -------------------------------------------------------------------------------- 1 | package jlg.jade.test.asterix; 2 | 3 | import jlg.jade.asterix.AsterixRecord; 4 | import jlg.jade.asterix.StandardAsterixRecord; 5 | import org.junit.Test; 6 | 7 | /** 8 | * Created by Dan Geabunea on 1/6/2017. 9 | */ 10 | public class AsterixRecordTest { 11 | 12 | @Test(expected = IllegalArgumentException.class) 13 | public void should_throw_if_we_pass_null_custom_reserved_filed_factory_in_ctor(){ 14 | AsterixRecord asterixRecord = new StandardAsterixRecord(62, null); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/ReservedFieldTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Created by dan-geabunea on 5/16/2016. 3 | * This code is the property of JLG Consulting. Please 4 | * check the license terms for this product to see under what 5 | * conditions you can use or modify this source code. 6 | */ 7 | package jlg.jade.test.asterix; 8 | 9 | import jlg.jade.asterix.ReservedAsterixField; 10 | import org.junit.Test; 11 | 12 | import static org.junit.Assert.assertEquals; 13 | 14 | public class ReservedFieldTest { 15 | 16 | @Test 17 | public void the_decode_method_with_default_impl_should_read_length_from_first_octet_and_jump_it() { 18 | //arrange 19 | byte[] input = {4, 2, 3, 1}; 20 | int offset = 0; 21 | ReservedAsterixField re = new ReservedAsterixField(); 22 | 23 | //act 24 | int result = re.decode(input, offset, input.length); 25 | 26 | //assert 27 | assertEquals("Default reserved field not decoded correctly", 4, result); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat004/Cat004Item015Test.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Created by dan-geabunea on 5/30/2016. 3 | * This code is the property of JLG Consulting. Please 4 | * check the license terms for this product to see under what 5 | * conditions you can use or modify this source code. 6 | */ 7 | package jlg.jade.test.asterix.cat004; 8 | 9 | import jlg.jade.asterix.cat004.Cat004Item015; 10 | import jlg.jade.test.utils.MandatoryRepeatableAsterixTests; 11 | 12 | public class Cat004Item015Test extends MandatoryRepeatableAsterixTests{ 13 | @Override 14 | protected int setExpectedRepeatableBlockSizeInBytes() { 15 | return 2; 16 | } 17 | 18 | @Override 19 | protected Cat004Item015 setRepeatableAsterixDataInstance() { 20 | return new Cat004Item015(); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat004/Cat004Item030Test.java: -------------------------------------------------------------------------------- 1 | package jlg.jade.test.asterix.cat004; 2 | 3 | import jlg.jade.asterix.cat004.Cat004Item030; 4 | import jlg.jade.test.utils.MandatoryFixedLengthAsterixTests; 5 | import org.junit.Test; 6 | 7 | import static org.junit.Assert.assertEquals; 8 | 9 | public class Cat004Item030Test extends MandatoryFixedLengthAsterixTests { 10 | @Override 11 | protected int setExpectedItemSizeInBytes() { 12 | return 2; 13 | } 14 | 15 | @Override 16 | protected Cat004Item030 setFixedLengthAsterixDataInstance() { 17 | return new Cat004Item030(); 18 | } 19 | 20 | @Test 21 | public void the_decode_method_should_correctly_decode_data(){ 22 | //arrange 23 | byte[] input = {20, 55}; 24 | int offset = 0; 25 | Cat004Item030 item030 = new Cat004Item030(); 26 | 27 | //act 28 | item030.decode(input, offset, input.length); 29 | 30 | //assert 31 | assertEquals("Data not decoded correctly", 5175, item030.getTrackNumber()); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat004/Cat004Item035Test.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Dan Geabunea on 6/28/2016. 3 | */ 4 | 5 | package jlg.jade.test.asterix.cat004; 6 | 7 | import jlg.jade.asterix.cat004.Cat004Item035; 8 | import jlg.jade.test.utils.MandatoryFixedLengthAsterixTests; 9 | import org.junit.Test; 10 | 11 | import static org.junit.Assert.assertEquals; 12 | 13 | public class Cat004Item035Test extends MandatoryFixedLengthAsterixTests { 14 | @Override 15 | protected int setExpectedItemSizeInBytes() { 16 | return 2; 17 | } 18 | 19 | @Override 20 | protected Cat004Item035 setFixedLengthAsterixDataInstance() { 21 | return new Cat004Item035(); 22 | } 23 | 24 | @Test 25 | public void the_decode_method_should_correctly_decode_data() { 26 | //arrange 27 | byte[] input = {29, 65}; 28 | int offset = 0; 29 | Cat004Item035 item035 = new Cat004Item035(); 30 | 31 | //act 32 | item035.decode(input, offset, input.length); 33 | 34 | //assert 35 | assertEquals("Data not decoded correctly", 7489, item035.getTrackNumber()); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat004/Cat004Item110Test.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Dan Geabunea on 6/28/2016. 3 | */ 4 | 5 | package jlg.jade.test.asterix.cat004; 6 | 7 | import jlg.jade.asterix.cat004.Cat004Item110; 8 | import jlg.jade.test.utils.MandatoryRepeatableAsterixTests; 9 | 10 | public class Cat004Item110Test extends MandatoryRepeatableAsterixTests { 11 | @Override 12 | protected int setExpectedRepeatableBlockSizeInBytes() { 13 | return 2; 14 | } 15 | 16 | @Override 17 | protected Cat004Item110 setRepeatableAsterixDataInstance() { 18 | return new Cat004Item110(); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat004/item070/Cat004Item070Subfield3Test.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Dan Geabunea on 6/27/2016. 3 | */ 4 | 5 | package jlg.jade.test.asterix.cat004.item070; 6 | 7 | import jlg.jade.asterix.cat004.item070.Cat004Item070Subfield3; 8 | import jlg.jade.test.utils.MandatoryFixedLengthAsterixTests; 9 | import org.junit.Test; 10 | 11 | import static org.junit.Assert.assertEquals; 12 | 13 | public class Cat004Item070Subfield3Test extends 14 | MandatoryFixedLengthAsterixTests { 15 | 16 | @Override 17 | protected int setExpectedItemSizeInBytes() { 18 | return 3; 19 | } 20 | 21 | @Override 22 | protected Cat004Item070Subfield3 setFixedLengthAsterixDataInstance() { 23 | return new Cat004Item070Subfield3(); 24 | } 25 | 26 | @Test 27 | public void the_decode_method_should_correctly_decode_data() { 28 | //arrange 29 | byte[] input = {0, 1, 1}; 30 | int offset = 0; 31 | Cat004Item070Subfield3 subfield3 = new Cat004Item070Subfield3(); 32 | 33 | //act 34 | subfield3.decode(input, offset, input.length); 35 | 36 | //assert 37 | assertEquals("Data not decoded correctly", 257, subfield3.getSeparation()); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat004/item070/Cat004Item070Subfield4Test.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Dan Geabunea on 6/27/2016. 3 | */ 4 | 5 | package jlg.jade.test.asterix.cat004.item070; 6 | 7 | import jlg.jade.asterix.cat004.item070.Cat004Item070Subfield4; 8 | import jlg.jade.test.utils.MandatoryFixedLengthAsterixTests; 9 | import org.junit.Test; 10 | 11 | import static org.junit.Assert.assertEquals; 12 | 13 | public class Cat004Item070Subfield4Test extends 14 | MandatoryFixedLengthAsterixTests { 15 | 16 | @Override 17 | protected int setExpectedItemSizeInBytes() { 18 | return 2; 19 | } 20 | 21 | @Override 22 | protected Cat004Item070Subfield4 setFixedLengthAsterixDataInstance() { 23 | return new Cat004Item070Subfield4(); 24 | } 25 | 26 | @Test 27 | public void the_decode_method_should_correctly_decode_data() { 28 | //arrange 29 | byte[] input = {1, 1}; 30 | int offset = 0; 31 | Cat004Item070Subfield4 subfield4 = new Cat004Item070Subfield4(); 32 | 33 | //act 34 | subfield4.decode(input, offset, input.length); 35 | 36 | //assert 37 | assertEquals("Data not decoded correctly", 257, subfield4.getSeparation()); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat004/item100/Cat004Item100Subfield3Test.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Dan Geabunea on 6/28/2016. 3 | */ 4 | 5 | package jlg.jade.test.asterix.cat004.item100; 6 | 7 | import jlg.jade.asterix.cat004.item100.Cat004Item100Subfield3; 8 | import jlg.jade.test.utils.MandatoryCat004Item100RimcaDataTests; 9 | 10 | public class Cat004Item100Subfield3Test 11 | extends MandatoryCat004Item100RimcaDataTests { 12 | 13 | @Override 14 | protected Cat004Item100Subfield3 setFixedLengthAsterixDataInstance() { 15 | return new Cat004Item100Subfield3(); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat004/item100/Cat004Item100Subfield4Test.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Dan Geabunea on 6/28/2016. 3 | */ 4 | 5 | package jlg.jade.test.asterix.cat004.item100; 6 | 7 | import jlg.jade.asterix.cat004.item100.Cat004Item100Subfield4; 8 | import jlg.jade.test.utils.MandatoryCat004Item100RimcaDataTests; 9 | 10 | public class Cat004Item100Subfield4Test 11 | extends MandatoryCat004Item100RimcaDataTests { 12 | 13 | @Override 14 | protected Cat004Item100Subfield4 setFixedLengthAsterixDataInstance() { 15 | return new Cat004Item100Subfield4(); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat004/item100/Cat004Item100Subfield5Test.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Dan Geabunea on 6/28/2016. 3 | */ 4 | 5 | package jlg.jade.test.asterix.cat004.item100; 6 | 7 | import jlg.jade.asterix.cat004.item100.Cat004Item100Subfield5; 8 | import jlg.jade.test.utils.MandatoryCat004Item100RimcaDataTests; 9 | 10 | public class Cat004Item100Subfield5Test extends MandatoryCat004Item100RimcaDataTests { 11 | 12 | @Override 13 | protected Cat004Item100Subfield5 setFixedLengthAsterixDataInstance() { 14 | return new Cat004Item100Subfield5(); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat004/item100/Cat004Item100Subfield6Test.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Dan Geabunea on 6/28/2016. 3 | */ 4 | 5 | package jlg.jade.test.asterix.cat004.item100; 6 | 7 | import jlg.jade.asterix.cat004.item100.Cat004Item100Subfield6; 8 | import jlg.jade.test.utils.MandatoryCat004Item100RimcaDataTests; 9 | 10 | public class Cat004Item100Subfield6Test 11 | extends MandatoryCat004Item100RimcaDataTests { 12 | @Override 13 | protected Cat004Item100Subfield6 setFixedLengthAsterixDataInstance() { 14 | return new Cat004Item100Subfield6(); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat004/item170_171/Cat004AircraftCharacteristicsSubfield10Test.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Dan Geabunea on 6/23/2016. 3 | */ 4 | 5 | package jlg.jade.test.asterix.cat004.item170_171; 6 | 7 | import jlg.jade.asterix.cat004.item170_171.Cat004AircraftCharacteristicsSubfield10; 8 | import jlg.jade.test.utils.MandatoryFixedLengthAsterixTests; 9 | 10 | public class Cat004AircraftCharacteristicsSubfield10Test extends 11 | MandatoryFixedLengthAsterixTests { 12 | @Override 13 | protected int setExpectedItemSizeInBytes() { 14 | return 2; 15 | } 16 | 17 | @Override 18 | protected Cat004AircraftCharacteristicsSubfield10 setFixedLengthAsterixDataInstance() { 19 | return new Cat004AircraftCharacteristicsSubfield10(); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat004/item170_171/Cat004AircraftCharacteristicsSubfield1Test.java: -------------------------------------------------------------------------------- 1 | package jlg.jade.test.asterix.cat004.item170_171; 2 | 3 | import jlg.jade.asterix.cat004.item170_171.Cat004AircraftCharacteristicsSubfield1; 4 | import jlg.jade.test.utils.MandatoryFixedLengthAsterixTests; 5 | 6 | public class Cat004AircraftCharacteristicsSubfield1Test extends 7 | MandatoryFixedLengthAsterixTests { 8 | @Override 9 | protected int setExpectedItemSizeInBytes() { 10 | return 7; 11 | } 12 | 13 | @Override 14 | protected Cat004AircraftCharacteristicsSubfield1 setFixedLengthAsterixDataInstance() { 15 | return new Cat004AircraftCharacteristicsSubfield1(); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat004/item170_171/Cat004AircraftCharacteristicsSubfield2Test.java: -------------------------------------------------------------------------------- 1 | package jlg.jade.test.asterix.cat004.item170_171; 2 | 3 | import jlg.jade.asterix.cat004.item170_171.Cat004AircraftCharacteristicsSubfield2; 4 | import jlg.jade.test.utils.MandatoryFixedLengthAsterixTests; 5 | 6 | public class Cat004AircraftCharacteristicsSubfield2Test extends 7 | MandatoryFixedLengthAsterixTests { 8 | @Override 9 | protected int setExpectedItemSizeInBytes() { 10 | return 2; 11 | } 12 | 13 | @Override 14 | protected Cat004AircraftCharacteristicsSubfield2 setFixedLengthAsterixDataInstance() { 15 | return new Cat004AircraftCharacteristicsSubfield2(); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat004/item170_171/Cat004AircraftCharacteristicsSubfield3Test.java: -------------------------------------------------------------------------------- 1 | package jlg.jade.test.asterix.cat004.item170_171; 2 | 3 | 4 | import jlg.jade.asterix.cat004.item170_171.Cat004AircraftCharacteristicsSubfield3; 5 | import jlg.jade.test.utils.MandatoryFixedLengthAsterixTests; 6 | 7 | public class Cat004AircraftCharacteristicsSubfield3Test extends 8 | MandatoryFixedLengthAsterixTests 9 | { 10 | @Override 11 | protected int setExpectedItemSizeInBytes() { 12 | return 10; 13 | } 14 | 15 | @Override 16 | protected Cat004AircraftCharacteristicsSubfield3 setFixedLengthAsterixDataInstance() { 17 | return new Cat004AircraftCharacteristicsSubfield3(); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat004/item170_171/Cat004AircraftCharacteristicsSubfield4Test.java: -------------------------------------------------------------------------------- 1 | package jlg.jade.test.asterix.cat004.item170_171; 2 | 3 | import jlg.jade.asterix.cat004.item170_171.Cat004AircraftCharacteristicsSubfield4; 4 | import jlg.jade.test.utils.MandatoryFixedLengthAsterixTests; 5 | 6 | public class Cat004AircraftCharacteristicsSubfield4Test extends 7 | MandatoryFixedLengthAsterixTests 8 | { 9 | @Override 10 | protected int setExpectedItemSizeInBytes() { 11 | return 8; 12 | } 13 | 14 | @Override 15 | protected Cat004AircraftCharacteristicsSubfield4 setFixedLengthAsterixDataInstance() { 16 | return new Cat004AircraftCharacteristicsSubfield4(); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat004/item170_171/Cat004AircraftCharacteristicsSubfield5Test.java: -------------------------------------------------------------------------------- 1 | package jlg.jade.test.asterix.cat004.item170_171; 2 | 3 | import jlg.jade.asterix.cat004.item170_171.Cat004AircraftCharacteristicsSubfield5; 4 | import jlg.jade.test.utils.MandatoryFixedLengthAsterixTests; 5 | 6 | public class Cat004AircraftCharacteristicsSubfield5Test extends 7 | MandatoryFixedLengthAsterixTests { 8 | @Override 9 | protected int setExpectedItemSizeInBytes() { 10 | return 3; 11 | } 12 | 13 | @Override 14 | protected Cat004AircraftCharacteristicsSubfield5 setFixedLengthAsterixDataInstance() { 15 | return new Cat004AircraftCharacteristicsSubfield5(); 16 | } 17 | 18 | /** 19 | * Decoding is tested in base class 20 | */ 21 | } 22 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat004/item170_171/Cat004AircraftCharacteristicsSubfield7Test.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Dan Geabunea on 6/23/2016. 3 | */ 4 | 5 | package jlg.jade.test.asterix.cat004.item170_171; 6 | 7 | import jlg.jade.asterix.cat004.item170_171.Cat004AircraftCharacteristicsSubfield7; 8 | import org.junit.Test; 9 | 10 | import static org.junit.Assert.assertEquals; 11 | 12 | public class Cat004AircraftCharacteristicsSubfield7Test { 13 | @Test 14 | public void the_decode_method_should_increment_offset_after_decoding_data() { 15 | //arrange 16 | byte[] input = {1, 0}; 17 | int offset = 0; 18 | Cat004AircraftCharacteristicsSubfield7 subfield7 = new 19 | Cat004AircraftCharacteristicsSubfield7(); 20 | 21 | //act 22 | int result = subfield7.decode(input, offset, input.length); 23 | 24 | //assert 25 | assertEquals("Offset not incremented after data decoding", 2, result); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat004/item170_171/Cat004AircraftCharacteristicsSubfield8Test.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Dan Geabunea on 6/23/2016. 3 | */ 4 | 5 | package jlg.jade.test.asterix.cat004.item170_171; 6 | 7 | import jlg.jade.asterix.cat004.item170_171.Cat004AircraftCharacteristicsSubfield8; 8 | import jlg.jade.test.utils.MandatoryFixedLengthAsterixTests; 9 | 10 | public class Cat004AircraftCharacteristicsSubfield8Test extends 11 | MandatoryFixedLengthAsterixTests 12 | { 13 | @Override 14 | protected int setExpectedItemSizeInBytes() { 15 | return 6; 16 | } 17 | 18 | @Override 19 | protected Cat004AircraftCharacteristicsSubfield8 setFixedLengthAsterixDataInstance() { 20 | return new Cat004AircraftCharacteristicsSubfield8(); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat004/item170_171/Cat004AircraftCharacteristicsSubfield9Test.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Dan Geabunea on 6/23/2016. 3 | */ 4 | 5 | package jlg.jade.test.asterix.cat004.item170_171; 6 | 7 | import jlg.jade.asterix.cat004.item170_171.Cat004AircraftCharacteristicsSubfield9; 8 | import jlg.jade.test.utils.MandatoryFixedLengthAsterixTests; 9 | 10 | public class Cat004AircraftCharacteristicsSubfield9Test extends 11 | MandatoryFixedLengthAsterixTests 12 | { 13 | @Override 14 | protected int setExpectedItemSizeInBytes() { 15 | return 4; 16 | } 17 | 18 | @Override 19 | protected Cat004AircraftCharacteristicsSubfield9 setFixedLengthAsterixDataInstance() { 20 | return new Cat004AircraftCharacteristicsSubfield9(); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat034/Cat034Item010Test.java: -------------------------------------------------------------------------------- 1 | package jlg.jade.test.asterix.cat034; 2 | 3 | 4 | import jlg.jade.asterix.cat034.Cat034Item010; 5 | import jlg.jade.test.utils.MandatoryFixedLengthAsterixTests; 6 | import org.junit.Test; 7 | 8 | import static org.junit.Assert.assertEquals; 9 | 10 | public class Cat034Item010Test extends MandatoryFixedLengthAsterixTests { 11 | @Override 12 | protected int setExpectedItemSizeInBytes() { 13 | return 2; 14 | } 15 | 16 | @Override 17 | protected Cat034Item010 setFixedLengthAsterixDataInstance() { 18 | return new Cat034Item010(); 19 | } 20 | 21 | @Test 22 | public void the_decode_method_should_correctly_decode_data() { 23 | // arrange 24 | byte[] input = {52, (byte) 156}; 25 | int offset = 0; 26 | Cat034Item010 cat034Item010 = new Cat034Item010(); 27 | 28 | // act 29 | cat034Item010.decode(input, offset, input.length); 30 | 31 | // assert 32 | assertEquals("Item not decoded correctly", 52, cat034Item010.getSac()); 33 | assertEquals("Item not decoded correctly", 156, cat034Item010.getSic()); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat034/Cat034Item020Test.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by alexandru on 6/30/16. 3 | */ 4 | package jlg.jade.test.asterix.cat034; 5 | 6 | import jlg.jade.asterix.cat034.Cat034Item020; 7 | import jlg.jade.test.utils.MandatoryFixedLengthAsterixTests; 8 | import org.junit.Test; 9 | 10 | import static org.junit.Assert.assertEquals; 11 | 12 | public class Cat034Item020Test extends MandatoryFixedLengthAsterixTests { 13 | @Override 14 | protected int setExpectedItemSizeInBytes() { 15 | return 1; 16 | } 17 | 18 | @Override 19 | protected Cat034Item020 setFixedLengthAsterixDataInstance() { 20 | return new Cat034Item020(); 21 | } 22 | 23 | @Test 24 | public void the_decode_method_should_correctly_decode_data() { 25 | // arrange 26 | byte[] input = {(byte) 168}; 27 | int offset = 0; 28 | Cat034Item020 cat034Item020 = new Cat034Item020(); 29 | // act 30 | cat034Item020.decode(input, offset, input.length); 31 | 32 | // assert 33 | assertEquals("Item not decoded correctly", 168, cat034Item020.getSectorNumber()); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat034/Cat034Item030Test.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by alexandru on 6/30/16. 3 | */ 4 | package jlg.jade.test.asterix.cat034; 5 | 6 | import jlg.jade.asterix.cat034.Cat034Item030; 7 | import jlg.jade.test.utils.MandatoryFixedLengthAsterixTests; 8 | import org.junit.Test; 9 | 10 | import static org.junit.Assert.assertEquals; 11 | 12 | public class Cat034Item030Test extends MandatoryFixedLengthAsterixTests { 13 | @Override 14 | protected int setExpectedItemSizeInBytes() { 15 | return 3; 16 | } 17 | 18 | @Override 19 | protected Cat034Item030 setFixedLengthAsterixDataInstance() { 20 | return new Cat034Item030(); 21 | } 22 | 23 | @Test 24 | public void the_decode_method_should_correctly_decode_data() { 25 | // arrange 26 | byte[] input = {0, (byte) 149, (byte) 237}; 27 | int offset = 0; 28 | Cat034Item030 cat034Item030 = new Cat034Item030(); 29 | 30 | // act 31 | cat034Item030.decode(input, offset, input.length); 32 | 33 | // assert 34 | assertEquals("Item not decoded correctly", 38381, cat034Item030.getTime()); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat034/Cat034Item041Test.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by alexandru on 6/30/16. 3 | */ 4 | package jlg.jade.test.asterix.cat034; 5 | 6 | import jlg.jade.asterix.cat034.Cat034Item041; 7 | import jlg.jade.test.utils.MandatoryFixedLengthAsterixTests; 8 | import org.junit.Test; 9 | 10 | import static org.junit.Assert.assertEquals; 11 | 12 | public class Cat034Item041Test extends MandatoryFixedLengthAsterixTests { 13 | @Override 14 | protected int setExpectedItemSizeInBytes() { 15 | return 2; 16 | } 17 | 18 | @Override 19 | protected Cat034Item041 setFixedLengthAsterixDataInstance() { 20 | return new Cat034Item041(); 21 | } 22 | 23 | @Test 24 | public void the_decode_method_should_correctly_decode_data() { 25 | // arrange 26 | byte[] input = {1, 2}; 27 | int offset = 0; 28 | Cat034Item041 cat034Item041 = new Cat034Item041(); 29 | 30 | // act 31 | cat034Item041.decode(input, offset, input.length); 32 | 33 | // assert 34 | assertEquals("Item not decoded correctly", 258, cat034Item041.getAntennaRotationSpeed()); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat034/Cat034Item070Test.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by alexandru on 7/1/16. 3 | */ 4 | package jlg.jade.test.asterix.cat034; 5 | 6 | import jlg.jade.asterix.cat034.Cat034Item070; 7 | import jlg.jade.test.utils.MandatoryRepeatableAsterixTests; 8 | 9 | public class Cat034Item070Test extends MandatoryRepeatableAsterixTests { 10 | @Override 11 | protected int setExpectedRepeatableBlockSizeInBytes() { 12 | return 2; 13 | } 14 | 15 | @Override 16 | protected Cat034Item070 setRepeatableAsterixDataInstance() { 17 | return new Cat034Item070(); 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat034/Cat034Item090Test.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by alexandru on 7/1/16. 3 | */ 4 | package jlg.jade.test.asterix.cat034; 5 | 6 | import jlg.jade.asterix.cat034.Cat034Item090; 7 | import jlg.jade.test.utils.MandatoryFixedLengthAsterixTests; 8 | import org.junit.Test; 9 | 10 | import static org.junit.Assert.assertEquals; 11 | 12 | public class Cat034Item090Test extends MandatoryFixedLengthAsterixTests { 13 | @Override 14 | protected int setExpectedItemSizeInBytes() { 15 | return 2; 16 | } 17 | 18 | @Override 19 | protected Cat034Item090 setFixedLengthAsterixDataInstance() { 20 | return new Cat034Item090(); 21 | } 22 | 23 | @Test 24 | public void the_decode_method_should_correctly_decode_data(){ 25 | // arrange 26 | byte[] input = {23, 1}; 27 | int offset = 0; 28 | Cat034Item090 item090 = new Cat034Item090(); 29 | 30 | // act 31 | item090.decode(input, offset, input.length); 32 | 33 | // assert 34 | assertEquals("Item not decoded correctly", 1, item090.getRangeError()); 35 | assertEquals("Item not decoded correctly", 23, item090.getAzimuthError()); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat034/Cat034Item110Test.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by alexandru on 7/1/16. 3 | */ 4 | package jlg.jade.test.asterix.cat034; 5 | 6 | import jlg.jade.asterix.cat034.Cat034Item110; 7 | import jlg.jade.test.utils.MandatoryFixedLengthAsterixTests; 8 | import org.junit.Test; 9 | 10 | import static org.junit.Assert.assertEquals; 11 | 12 | public class Cat034Item110Test extends MandatoryFixedLengthAsterixTests { 13 | @Override 14 | protected int setExpectedItemSizeInBytes() { 15 | return 1; 16 | } 17 | 18 | @Override 19 | protected Cat034Item110 setFixedLengthAsterixDataInstance() { 20 | return new Cat034Item110(); 21 | } 22 | 23 | @Test 24 | public void the_decode_method_should_correctly_decode_data(){ 25 | // arrange 26 | byte[] input = {1}; 27 | int offset = 0; 28 | Cat034Item110 item110 = new Cat034Item110(); 29 | 30 | // act 31 | item110.decode(input, offset, input.length); 32 | 33 | // assert 34 | assertEquals("Item not decoded correctly", 1, item110.getDataFilter() ); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat034/item050/Cat034Item050Subfield1Test.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by alexandru on 6/30/16. 3 | */ 4 | package jlg.jade.test.asterix.cat034.item050; 5 | 6 | import jlg.jade.asterix.cat034.item050.Cat034Item050Subfield1; 7 | import jlg.jade.test.utils.MandatoryFixedLengthAsterixTests; 8 | 9 | public class Cat034Item050Subfield1Test extends MandatoryFixedLengthAsterixTests{ 10 | @Override 11 | protected int setExpectedItemSizeInBytes() { 12 | return 1; 13 | } 14 | 15 | @Override 16 | protected Cat034Item050Subfield1 setFixedLengthAsterixDataInstance() { 17 | return new Cat034Item050Subfield1(); 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat034/item050/Cat034Item050Subfield4Test.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by alexandru on 6/30/16. 3 | */ 4 | package jlg.jade.test.asterix.cat034.item050; 5 | 6 | import jlg.jade.asterix.cat034.item050.Cat034Item050Subfield4; 7 | import jlg.jade.test.utils.MandatoryFixedLengthAsterixTests; 8 | 9 | public class Cat034Item050Subfield4Test extends MandatoryFixedLengthAsterixTests { 10 | @Override 11 | protected int setExpectedItemSizeInBytes() { 12 | return 1; 13 | } 14 | 15 | @Override 16 | protected Cat034Item050Subfield4 setFixedLengthAsterixDataInstance() { 17 | return new Cat034Item050Subfield4(); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat034/item050/Cat034Item050Subfield5Test.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by alexandru on 6/30/16. 3 | */ 4 | package jlg.jade.test.asterix.cat034.item050; 5 | 6 | import jlg.jade.asterix.cat034.item050.Cat034Item050Subfield5; 7 | import jlg.jade.test.utils.MandatoryFixedLengthAsterixTests; 8 | 9 | public class Cat034Item050Subfield5Test extends MandatoryFixedLengthAsterixTests { 10 | @Override 11 | protected int setExpectedItemSizeInBytes() { 12 | return 1; 13 | } 14 | 15 | @Override 16 | protected Cat034Item050Subfield5 setFixedLengthAsterixDataInstance() { 17 | return new Cat034Item050Subfield5(); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat034/item050/Cat034Item050Subfield6Test.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by alexandru on 6/30/16. 3 | */ 4 | package jlg.jade.test.asterix.cat034.item050; 5 | 6 | import jlg.jade.asterix.cat034.item050.Cat034Item050Subfield6; 7 | import jlg.jade.test.utils.MandatoryFixedLengthAsterixTests; 8 | 9 | public class Cat034Item050Subfield6Test extends MandatoryFixedLengthAsterixTests { 10 | @Override 11 | protected int setExpectedItemSizeInBytes() { 12 | return 2; 13 | } 14 | 15 | @Override 16 | protected Cat034Item050Subfield6 setFixedLengthAsterixDataInstance() { 17 | return new Cat034Item050Subfield6(); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat034/item060/Cat034Item060Subfield1Test.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by alexandru on 7/1/16. 3 | */ 4 | package jlg.jade.test.asterix.cat034.item060; 5 | 6 | import jlg.jade.asterix.cat034.item060.Cat034Item060Subfield1; 7 | import jlg.jade.test.utils.MandatoryFixedLengthAsterixTests; 8 | 9 | public class Cat034Item060Subfield1Test extends MandatoryFixedLengthAsterixTests { 10 | @Override 11 | protected int setExpectedItemSizeInBytes() { 12 | return 1; 13 | } 14 | 15 | @Override 16 | protected Cat034Item060Subfield1 setFixedLengthAsterixDataInstance() { 17 | return new Cat034Item060Subfield1(); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat034/item060/Cat034Item060Subfield4Test.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by alexandru on 7/1/16. 3 | */ 4 | package jlg.jade.test.asterix.cat034.item060; 5 | 6 | import jlg.jade.asterix.cat034.item060.Cat034Item060Subfield4; 7 | import jlg.jade.test.utils.MandatoryFixedLengthAsterixTests; 8 | 9 | public class Cat034Item060Subfield4Test extends MandatoryFixedLengthAsterixTests { 10 | @Override 11 | protected int setExpectedItemSizeInBytes() { 12 | return 1; 13 | } 14 | 15 | @Override 16 | protected Cat034Item060Subfield4 setFixedLengthAsterixDataInstance() { 17 | return new Cat034Item060Subfield4(); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat034/item060/Cat034Item060Subfield5Test.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by alexandru on 7/1/16. 3 | */ 4 | package jlg.jade.test.asterix.cat034.item060; 5 | 6 | import jlg.jade.asterix.cat034.item060.Cat034Item060Subfield5; 7 | import jlg.jade.test.utils.MandatoryFixedLengthAsterixTests; 8 | 9 | public class Cat034Item060Subfield5Test extends MandatoryFixedLengthAsterixTests { 10 | @Override 11 | protected int setExpectedItemSizeInBytes() { 12 | return 1; 13 | } 14 | 15 | @Override 16 | protected Cat034Item060Subfield5 setFixedLengthAsterixDataInstance() { 17 | return new Cat034Item060Subfield5(); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat034/item060/Cat034Item060Subfield6Test.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by alexandru on 7/1/16. 3 | */ 4 | package jlg.jade.test.asterix.cat034.item060; 5 | 6 | import jlg.jade.asterix.cat034.item060.Cat034Item060Subfield6; 7 | import jlg.jade.test.utils.MandatoryFixedLengthAsterixTests; 8 | 9 | public class Cat034Item060Subfield6Test extends MandatoryFixedLengthAsterixTests { 10 | @Override 11 | protected int setExpectedItemSizeInBytes() { 12 | return 1; 13 | } 14 | 15 | @Override 16 | protected Cat034Item060Subfield6 setFixedLengthAsterixDataInstance() { 17 | return new Cat034Item060Subfield6(); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat048/Cat048Item010Test.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by alexandru on 7/5/16. 3 | */ 4 | package jlg.jade.test.asterix.cat048; 5 | 6 | import jlg.jade.asterix.cat048.Cat048Item010; 7 | import jlg.jade.test.utils.MandatoryFixedLengthAsterixTests; 8 | import org.junit.Test; 9 | 10 | import static org.junit.Assert.assertEquals; 11 | 12 | public class Cat048Item010Test extends MandatoryFixedLengthAsterixTests { 13 | @Override 14 | protected int setExpectedItemSizeInBytes() { 15 | return 2; 16 | } 17 | 18 | @Override 19 | protected Cat048Item010 setFixedLengthAsterixDataInstance() { 20 | return new Cat048Item010(); 21 | } 22 | 23 | @Test 24 | public void the_decode_method_should_correctly_decode_data(){ 25 | // arrange 26 | byte[] input = {52, 66}; 27 | int offset = 0; 28 | Cat048Item010 item010 = new Cat048Item010(); 29 | 30 | // act 31 | item010.decode(input, offset, input.length); 32 | 33 | // assert 34 | assertEquals("Item not decoded correctly", 52, item010.getSac()); 35 | assertEquals("Item not decoded correctly", 66, item010.getSic()); 36 | 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat048/Cat048Item030Test.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by alexandru on 7/11/16. 3 | */ 4 | package jlg.jade.test.asterix.cat048; 5 | 6 | import jlg.jade.asterix.cat048.Cat048Item030; 7 | import org.junit.Test; 8 | 9 | import static org.junit.Assert.assertEquals; 10 | 11 | public class Cat048Item030Test { 12 | 13 | @Test 14 | public void should_have_length_correct_length(){ 15 | // arrange 16 | byte[] input = {(byte) 141, 76}; 17 | int offset = 0; 18 | Cat048Item030 item030 = new Cat048Item030(); 19 | 20 | // act 21 | item030.decode(input, offset, input.length); 22 | 23 | // assert 24 | assertEquals("Variable length Asterix data field has invalid size", 2, item030.getSizeInBytes()); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat048/Cat048Item040Test.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by alexandru on 7/6/16. 3 | */ 4 | package jlg.jade.test.asterix.cat048; 5 | 6 | import jlg.jade.asterix.cat048.Cat048Item040; 7 | import jlg.jade.test.utils.MandatoryFixedLengthAsterixTests; 8 | import org.junit.Test; 9 | 10 | import static org.junit.Assert.assertEquals; 11 | 12 | public class Cat048Item040Test extends MandatoryFixedLengthAsterixTests { 13 | @Override 14 | protected int setExpectedItemSizeInBytes() { 15 | return 4; 16 | } 17 | 18 | @Override 19 | protected Cat048Item040 setFixedLengthAsterixDataInstance() { 20 | return new Cat048Item040(); 21 | } 22 | 23 | @Test 24 | public void the_decode_method_should_correctly_decode_data() { 25 | // arrange 26 | byte[] input = {(byte) 131, 82, (byte) 189, 96}; 27 | int offset = 0; 28 | Cat048Item040 item040 = new Cat048Item040(); 29 | 30 | // act 31 | item040.decode(input, offset, input.length); 32 | 33 | // assert 34 | assertEquals("Item not decoded correctly - RHO", 33618, item040.getRhoValue()); 35 | assertEquals("Item not decoded correctly - THETA", 48480, item040.getThetaValue()); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat048/Cat048Item042Test.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by alexandru on 7/8/16. 3 | */ 4 | package jlg.jade.test.asterix.cat048; 5 | 6 | import jlg.jade.asterix.cat048.Cat048Item042; 7 | import jlg.jade.test.utils.MandatoryFixedLengthAsterixTests; 8 | import org.junit.Test; 9 | 10 | import static org.junit.Assert.assertEquals; 11 | 12 | public class Cat048Item042Test extends MandatoryFixedLengthAsterixTests { 13 | @Override 14 | protected int setExpectedItemSizeInBytes() { 15 | return 4; 16 | } 17 | 18 | @Override 19 | protected Cat048Item042 setFixedLengthAsterixDataInstance() { 20 | return new Cat048Item042(); 21 | } 22 | 23 | @Test 24 | public void the_decode_method_should_correctly_decode_data() { 25 | // arrange 26 | byte[] input = {-47, 23, 51, 96}; 27 | int offset = 0; 28 | Cat048Item042 item042 = new Cat048Item042(); 29 | 30 | // act 31 | item042.decode(input, offset, input.length); 32 | 33 | // assert 34 | assertEquals("Item not decoded correctly - X", -12009, item042.getX()); 35 | assertEquals("Item not decoded correctly - Y", 13152, item042.getY()); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat048/Cat048Item050Test.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by alexandru on 8/8/16. 3 | */ 4 | package jlg.jade.test.asterix.cat048; 5 | 6 | import jlg.jade.asterix.cat048.Cat048Item050; 7 | import jlg.jade.test.utils.MandatoryFixedLengthAsterixTests; 8 | 9 | public class Cat048Item050Test extends MandatoryFixedLengthAsterixTests { 10 | @Override 11 | protected int setExpectedItemSizeInBytes() { 12 | return 2; 13 | } 14 | 15 | @Override 16 | protected Cat048Item050 setFixedLengthAsterixDataInstance() { 17 | return new Cat048Item050(); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat048/Cat048Item055Test.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by alexandru on 7/11/16. 3 | */ 4 | package jlg.jade.test.asterix.cat048; 5 | 6 | import jlg.jade.asterix.cat048.Cat048Item055; 7 | import jlg.jade.test.utils.MandatoryFixedLengthAsterixTests; 8 | 9 | public class Cat048Item055Test extends MandatoryFixedLengthAsterixTests { 10 | @Override 11 | protected int setExpectedItemSizeInBytes() { 12 | return 1; 13 | } 14 | 15 | @Override 16 | protected Cat048Item055 setFixedLengthAsterixDataInstance() { 17 | return new Cat048Item055(); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat048/Cat048Item060Test.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by alexandru on 7/11/16. 3 | */ 4 | package jlg.jade.test.asterix.cat048; 5 | 6 | import jlg.jade.asterix.cat048.Cat048Item060; 7 | import jlg.jade.test.utils.MandatoryFixedLengthAsterixTests; 8 | 9 | public class Cat048Item060Test extends MandatoryFixedLengthAsterixTests { 10 | @Override 11 | protected int setExpectedItemSizeInBytes() { 12 | return 2; 13 | } 14 | 15 | @Override 16 | protected Cat048Item060 setFixedLengthAsterixDataInstance() { 17 | return new Cat048Item060(); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat048/Cat048Item065Test.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by alexandru on 7/11/16. 3 | */ 4 | package jlg.jade.test.asterix.cat048; 5 | 6 | import jlg.jade.asterix.cat048.Cat048Item065; 7 | import jlg.jade.test.utils.MandatoryFixedLengthAsterixTests; 8 | 9 | public class Cat048Item065Test extends MandatoryFixedLengthAsterixTests { 10 | @Override 11 | protected int setExpectedItemSizeInBytes() { 12 | return 1; 13 | } 14 | 15 | @Override 16 | protected Cat048Item065 setFixedLengthAsterixDataInstance() { 17 | return new Cat048Item065(); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat048/Cat048Item080Test.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by alexandru on 7/11/16. 3 | */ 4 | package jlg.jade.test.asterix.cat048; 5 | 6 | import jlg.jade.asterix.cat048.Cat048Item080; 7 | import jlg.jade.test.utils.MandatoryFixedLengthAsterixTests; 8 | 9 | public class Cat048Item080Test extends MandatoryFixedLengthAsterixTests { 10 | @Override 11 | protected int setExpectedItemSizeInBytes() { 12 | return 2; 13 | } 14 | 15 | @Override 16 | protected Cat048Item080 setFixedLengthAsterixDataInstance() { 17 | return new Cat048Item080(); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat048/Cat048Item100Test.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by alexandru on 7/11/16. 3 | */ 4 | package jlg.jade.test.asterix.cat048; 5 | 6 | import jlg.jade.asterix.cat048.Cat048Item100; 7 | import jlg.jade.test.utils.MandatoryFixedLengthAsterixTests; 8 | 9 | public class Cat048Item100Test extends MandatoryFixedLengthAsterixTests { 10 | @Override 11 | protected int setExpectedItemSizeInBytes() { 12 | return 4; 13 | } 14 | 15 | @Override 16 | protected Cat048Item100 setFixedLengthAsterixDataInstance() { 17 | return new Cat048Item100(); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat048/Cat048Item110Test.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by alexandru on 7/8/16. 3 | */ 4 | package jlg.jade.test.asterix.cat048; 5 | 6 | import jlg.jade.asterix.cat048.Cat048Item110; 7 | import jlg.jade.test.utils.MandatoryFixedLengthAsterixTests; 8 | import org.junit.Test; 9 | 10 | import static org.junit.Assert.assertEquals; 11 | 12 | public class Cat048Item110Test extends MandatoryFixedLengthAsterixTests { 13 | @Override 14 | protected int setExpectedItemSizeInBytes() { 15 | return 2; 16 | } 17 | 18 | @Override 19 | protected Cat048Item110 setFixedLengthAsterixDataInstance() { 20 | return new Cat048Item110(); 21 | } 22 | 23 | @Test 24 | public void the_decode_method_should_correctly_decode_data() { 25 | // arrange 26 | byte[] input = {43, (byte) 244}; 27 | int offset = 0; 28 | Cat048Item110 item110 = new Cat048Item110(); 29 | 30 | // act 31 | item110.decode(input, offset, input.length); 32 | 33 | // assert 34 | assertEquals("Item not decoded correctly - 3DRadarMeasuredHeight", 11252, 35 | item110.getMeasuredHeight3DRadar()); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat048/Cat048Item140Test.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by alexandru on 7/5/16. 3 | */ 4 | package jlg.jade.test.asterix.cat048; 5 | 6 | import jlg.jade.asterix.cat048.Cat048Item140; 7 | import jlg.jade.test.utils.MandatoryFixedLengthAsterixTests; 8 | import org.junit.Test; 9 | 10 | import static org.junit.Assert.assertEquals; 11 | 12 | public class Cat048Item140Test extends MandatoryFixedLengthAsterixTests{ 13 | @Override 14 | protected int setExpectedItemSizeInBytes() { 15 | return 3; 16 | } 17 | 18 | @Override 19 | protected Cat048Item140 setFixedLengthAsterixDataInstance() { 20 | return new Cat048Item140(); 21 | } 22 | 23 | @Test 24 | public void the_decode_method_should_correctly_decode_data(){ 25 | // arrange 26 | byte[] input = {0, (byte) 213, 117}; 27 | int offset = 0; 28 | Cat048Item140 item140 = new Cat048Item140(); 29 | 30 | // act 31 | item140.decode(input, offset, input.length); 32 | 33 | // assert 34 | assertEquals("Item not decoded correctly", 54645, item140.getTime()); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat048/Cat048Item220Test.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by alexandru on 7/7/16. 3 | */ 4 | package jlg.jade.test.asterix.cat048; 5 | 6 | import jlg.jade.asterix.cat048.Cat048Item220; 7 | import jlg.jade.test.utils.MandatoryFixedLengthAsterixTests; 8 | import org.junit.Test; 9 | 10 | import static org.junit.Assert.assertEquals; 11 | 12 | public class Cat048Item220Test extends MandatoryFixedLengthAsterixTests { 13 | @Override 14 | protected int setExpectedItemSizeInBytes() { 15 | return 3; 16 | } 17 | 18 | @Override 19 | protected Cat048Item220 setFixedLengthAsterixDataInstance() { 20 | return new Cat048Item220(); 21 | } 22 | 23 | @Test 24 | public void the_decode_method_should_correctly_decode_data() { 25 | // arrange 26 | byte[] input = {64, 7, 77}; 27 | int offset = 0; 28 | Cat048Item220 item220 = new Cat048Item220(); 29 | 30 | // act 31 | item220.decode(input, offset, input.length); 32 | 33 | // assert 34 | assertEquals("Item not decoded correctly - Aircraft Address", 4196173, 35 | item220.getAircraftAddress()); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat048/Cat048Item240Test.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by alexandru on 7/7/16. 3 | */ 4 | package jlg.jade.test.asterix.cat048; 5 | 6 | import jlg.jade.asterix.cat048.Cat048Item240; 7 | import jlg.jade.test.utils.MandatoryFixedLengthAsterixTests; 8 | import org.junit.Test; 9 | 10 | import static org.junit.Assert.assertEquals; 11 | 12 | public class Cat048Item240Test extends MandatoryFixedLengthAsterixTests { 13 | @Override 14 | protected int setExpectedItemSizeInBytes() { 15 | return 6; 16 | } 17 | 18 | @Override 19 | protected Cat048Item240 setFixedLengthAsterixDataInstance() { 20 | return new Cat048Item240(); 21 | } 22 | 23 | @Test 24 | public void the_decode_method_should_correctly_decode_data() { 25 | // arrange 26 | byte[] input = {57, 5, 52, (byte) 203, 8, 32}; 27 | int offset = 0; 28 | Cat048Item240 item240 = new Cat048Item240(); 29 | 30 | // act 31 | item240.decode(input, offset, input.length); 32 | 33 | // assert 34 | assertEquals("Item not decoded correctly - Aircraft Identification", "NPT420", 35 | item240.getAircraftIdentification()); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat048/Cat048Item250Test.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by alexandru on 7/11/16. 3 | */ 4 | package jlg.jade.test.asterix.cat048; 5 | 6 | import jlg.jade.asterix.cat048.Cat048Item250; 7 | import jlg.jade.test.utils.MandatoryRepeatableAsterixTests; 8 | 9 | public class Cat048Item250Test extends MandatoryRepeatableAsterixTests { 10 | @Override 11 | protected int setExpectedRepeatableBlockSizeInBytes() { 12 | return 8; 13 | } 14 | 15 | @Override 16 | protected Cat048Item250 setRepeatableAsterixDataInstance() { 17 | return new Cat048Item250(); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat048/Cat084Item050Test.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by alexandru on 7/11/16. 3 | */ 4 | package jlg.jade.test.asterix.cat048; 5 | 6 | import jlg.jade.asterix.cat048.Cat084Item050; 7 | import jlg.jade.test.utils.MandatoryFixedLengthAsterixTests; 8 | 9 | public class Cat084Item050Test extends MandatoryFixedLengthAsterixTests { 10 | @Override 11 | protected int setExpectedItemSizeInBytes() { 12 | return 2; 13 | } 14 | 15 | @Override 16 | protected Cat084Item050 setFixedLengthAsterixDataInstance() { 17 | return new Cat084Item050(); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat048/item120/Cat048Item120Subfield1Test.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by alexandru on 7/11/16. 3 | */ 4 | package jlg.jade.test.asterix.cat048.item120; 5 | 6 | import jlg.jade.asterix.cat048.item120.Cat048Item120Subfield1; 7 | import jlg.jade.test.utils.MandatoryFixedLengthAsterixTests; 8 | 9 | public class Cat048Item120Subfield1Test extends 10 | MandatoryFixedLengthAsterixTests { 11 | @Override 12 | protected int setExpectedItemSizeInBytes() { 13 | return 2; 14 | } 15 | 16 | @Override 17 | protected Cat048Item120Subfield1 setFixedLengthAsterixDataInstance() { 18 | return new Cat048Item120Subfield1(); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat048/item120/Cat048Item120Subfield2Test.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by alexandru on 7/11/16. 3 | */ 4 | package jlg.jade.test.asterix.cat048.item120; 5 | 6 | import jlg.jade.asterix.cat048.item120.Cat048Item120Subfield2; 7 | import jlg.jade.test.utils.MandatoryRepeatableAsterixTests; 8 | 9 | public class Cat048Item120Subfield2Test extends 10 | MandatoryRepeatableAsterixTests { 11 | 12 | @Override 13 | protected int setExpectedRepeatableBlockSizeInBytes() { 14 | return 6; 15 | } 16 | 17 | @Override 18 | protected Cat048Item120Subfield2 setRepeatableAsterixDataInstance() { 19 | return new Cat048Item120Subfield2(); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat048/item130/Cat048Item130Subfield2Test.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by alexandru on 7/6/16. 3 | */ 4 | package jlg.jade.test.asterix.cat048.item130; 5 | 6 | import jlg.jade.asterix.cat048.item130.Cat048Item130Subfield2; 7 | import jlg.jade.test.utils.MandatoryFixedLengthAsterixTests; 8 | import org.junit.Test; 9 | 10 | import static org.junit.Assert.assertEquals; 11 | 12 | public class Cat048Item130Subfield2Test extends MandatoryFixedLengthAsterixTests { 13 | @Override 14 | protected int setExpectedItemSizeInBytes() { 15 | return 1; 16 | } 17 | 18 | @Override 19 | protected Cat048Item130Subfield2 setFixedLengthAsterixDataInstance() { 20 | return new Cat048Item130Subfield2(); 21 | } 22 | 23 | @Test 24 | public void the_decode_method_should_correctly_decode_data(){ 25 | // arrange 26 | byte[] input = {43}; 27 | int offset = 0; 28 | Cat048Item130Subfield2 item130Subfield2 = new Cat048Item130Subfield2(); 29 | 30 | // act 31 | item130Subfield2.decode(input, offset, input.length); 32 | 33 | // assert 34 | assertEquals("Item not decoded correctly - SRR", 43, item130Subfield2.getReceivedReplies()); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat048/item130/Cat048Item130Subfield3Test.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by alexandru on 7/6/16. 3 | */ 4 | package jlg.jade.test.asterix.cat048.item130; 5 | 6 | import jlg.jade.asterix.cat048.item130.Cat048Item130Subfield3; 7 | import jlg.jade.test.utils.MandatoryFixedLengthAsterixTests; 8 | import org.junit.Test; 9 | 10 | import static org.junit.Assert.assertEquals; 11 | 12 | public class Cat048Item130Subfield3Test extends MandatoryFixedLengthAsterixTests { 13 | @Override 14 | protected int setExpectedItemSizeInBytes() { 15 | return 1; 16 | } 17 | 18 | @Override 19 | protected Cat048Item130Subfield3 setFixedLengthAsterixDataInstance() { 20 | return new Cat048Item130Subfield3(); 21 | } 22 | 23 | @Test 24 | public void the_decode_method_should_correctly_decode_data(){ 25 | // arrange 26 | byte[] input = {-34}; 27 | int offset = 0; 28 | Cat048Item130Subfield3 item130Subfield3 = new Cat048Item130Subfield3(); 29 | 30 | // act 31 | item130Subfield3.decode(input, offset, input.length); 32 | 33 | //assert 34 | assertEquals("Item not decoded correctly - SAM", -34, item130Subfield3.getAmplitudeOfReply()); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat048/item130/Cat048Item130Subfield6Test.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by alexandru on 7/6/16. 3 | */ 4 | package jlg.jade.test.asterix.cat048.item130; 5 | 6 | import jlg.jade.asterix.cat048.item130.Cat048Item130Subfield6; 7 | import jlg.jade.test.utils.MandatoryFixedLengthAsterixTests; 8 | import org.junit.Test; 9 | 10 | import static org.junit.Assert.assertEquals; 11 | 12 | public class Cat048Item130Subfield6Test extends MandatoryFixedLengthAsterixTests { 13 | @Override 14 | protected int setExpectedItemSizeInBytes() { 15 | return 1; 16 | } 17 | 18 | @Override 19 | protected Cat048Item130Subfield6 setFixedLengthAsterixDataInstance() { 20 | return new Cat048Item130Subfield6(); 21 | } 22 | 23 | @Test 24 | public void the_decode_method_should_correctly_decode_data(){ 25 | // arrange 26 | byte[] input = {-12}; 27 | int offset = 0; 28 | Cat048Item130Subfield6 item130Subfield6 = new Cat048Item130Subfield6(); 29 | 30 | // act 31 | item130Subfield6.decode(input, offset, input.length); 32 | 33 | // assert 34 | assertEquals("Item not decoded correctly - RPD", -12, item130Subfield6.getRangeDifference()); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat062/Cat062Item120Test.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Created by dan-geabunea on 5/12/2016. 3 | * This code is the property of JLG Consulting. Please 4 | * check the license terms for this product to see under what 5 | * conditions you can use or modify this source code. 6 | */ 7 | package jlg.jade.test.asterix.cat062; 8 | 9 | import jlg.jade.asterix.cat062.Cat062Item120; 10 | import jlg.jade.test.utils.MandatoryFixedLengthAsterixTests; 11 | 12 | public class Cat062Item120Test extends MandatoryFixedLengthAsterixTests { 13 | @Override 14 | protected int setExpectedItemSizeInBytes() { 15 | return 2; 16 | } 17 | 18 | @Override 19 | protected Cat062Item120 setFixedLengthAsterixDataInstance() { 20 | return new Cat062Item120(); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat062/item110/Cat062Item110Subfield1Test.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Created by dan-geabunea on 5/12/2016. 3 | * This code is the property of JLG Consulting. Please 4 | * check the license terms for this product to see under what 5 | * conditions you can use or modify this source code. 6 | */ 7 | package jlg.jade.test.asterix.cat062.item110; 8 | 9 | import jlg.jade.asterix.cat062.item110.Cat062Item110Subfield1; 10 | import jlg.jade.test.utils.MandatoryFixedLengthAsterixTests; 11 | 12 | public class Cat062Item110Subfield1Test extends MandatoryFixedLengthAsterixTests { 13 | @Override 14 | protected int setExpectedItemSizeInBytes() { 15 | return 1; 16 | } 17 | 18 | @Override 19 | protected Cat062Item110Subfield1 setFixedLengthAsterixDataInstance() { 20 | return new Cat062Item110Subfield1(); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat062/item110/Cat062Item110Subfield2Test.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Created by dan-geabunea on 5/12/2016. 3 | * This code is the property of JLG Consulting. Please 4 | * check the license terms for this product to see under what 5 | * conditions you can use or modify this source code. 6 | */ 7 | package jlg.jade.test.asterix.cat062.item110; 8 | 9 | import jlg.jade.asterix.cat062.item110.Cat062Item110Subfield2; 10 | import jlg.jade.test.utils.MandatoryFixedLengthAsterixTests; 11 | 12 | public class Cat062Item110Subfield2Test extends MandatoryFixedLengthAsterixTests { 13 | @Override 14 | protected int setExpectedItemSizeInBytes() { 15 | return 4; 16 | } 17 | 18 | @Override 19 | protected Cat062Item110Subfield2 setFixedLengthAsterixDataInstance() { 20 | return new Cat062Item110Subfield2(); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat062/item110/Cat062Item110Subfield3Test.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Created by dan-geabunea on 5/12/2016. 3 | * This code is the property of JLG Consulting. Please 4 | * check the license terms for this product to see under what 5 | * conditions you can use or modify this source code. 6 | */ 7 | package jlg.jade.test.asterix.cat062.item110; 8 | 9 | import jlg.jade.asterix.cat062.item110.Cat062Item110Subfield3; 10 | import jlg.jade.test.utils.MandatoryFixedLengthAsterixTests; 11 | 12 | public class Cat062Item110Subfield3Test extends MandatoryFixedLengthAsterixTests { 13 | @Override 14 | protected int setExpectedItemSizeInBytes() { 15 | return 6; 16 | } 17 | 18 | @Override 19 | protected Cat062Item110Subfield3 setFixedLengthAsterixDataInstance() { 20 | return new Cat062Item110Subfield3(); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat062/item110/Cat062Item110Subfield4Test.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Created by dan-geabunea on 5/12/2016. 3 | * This code is the property of JLG Consulting. Please 4 | * check the license terms for this product to see under what 5 | * conditions you can use or modify this source code. 6 | */ 7 | package jlg.jade.test.asterix.cat062.item110; 8 | 9 | import jlg.jade.asterix.cat062.item110.Cat062Item110Subfield4; 10 | import jlg.jade.test.utils.MandatoryFixedLengthAsterixTests; 11 | 12 | public class Cat062Item110Subfield4Test extends MandatoryFixedLengthAsterixTests { 13 | @Override 14 | protected int setExpectedItemSizeInBytes() { 15 | return 2; 16 | } 17 | 18 | @Override 19 | protected Cat062Item110Subfield4 setFixedLengthAsterixDataInstance() { 20 | return new Cat062Item110Subfield4(); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat062/item110/Cat062Item110Subfield5Test.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Created by dan-geabunea on 5/12/2016. 3 | * This code is the property of JLG Consulting. Please 4 | * check the license terms for this product to see under what 5 | * conditions you can use or modify this source code. 6 | */ 7 | package jlg.jade.test.asterix.cat062.item110; 8 | 9 | import jlg.jade.asterix.cat062.item110.Cat062Item110Subfield5; 10 | import jlg.jade.test.utils.MandatoryFixedLengthAsterixTests; 11 | 12 | public class Cat062Item110Subfield5Test extends MandatoryFixedLengthAsterixTests { 13 | @Override 14 | protected int setExpectedItemSizeInBytes() { 15 | return 2; 16 | } 17 | 18 | @Override 19 | protected Cat062Item110Subfield5 setFixedLengthAsterixDataInstance() { 20 | return new Cat062Item110Subfield5(); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat062/item110/Cat062Item110Subfield6Test.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Created by dan-geabunea on 5/12/2016. 3 | * This code is the property of JLG Consulting. Please 4 | * check the license terms for this product to see under what 5 | * conditions you can use or modify this source code. 6 | */ 7 | package jlg.jade.test.asterix.cat062.item110; 8 | 9 | import jlg.jade.asterix.cat062.item110.Cat062Item110Subfield6; 10 | import jlg.jade.test.utils.MandatoryFixedLengthAsterixTests; 11 | 12 | public class Cat062Item110Subfield6Test extends MandatoryFixedLengthAsterixTests { 13 | @Override 14 | protected int setExpectedItemSizeInBytes() { 15 | return 1; 16 | } 17 | 18 | @Override 19 | protected Cat062Item110Subfield6 setFixedLengthAsterixDataInstance() { 20 | return new Cat062Item110Subfield6(); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat062/item110/Cat062Item110Subfield7Test.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Created by dan-geabunea on 5/12/2016. 3 | * This code is the property of JLG Consulting. Please 4 | * check the license terms for this product to see under what 5 | * conditions you can use or modify this source code. 6 | */ 7 | package jlg.jade.test.asterix.cat062.item110; 8 | 9 | import jlg.jade.asterix.cat062.item110.Cat062Item110Subfield7; 10 | import jlg.jade.test.utils.MandatoryFixedLengthAsterixTests; 11 | 12 | public class Cat062Item110Subfield7Test extends MandatoryFixedLengthAsterixTests { 13 | @Override 14 | protected int setExpectedItemSizeInBytes() { 15 | return 1; 16 | } 17 | 18 | @Override 19 | protected Cat062Item110Subfield7 setFixedLengthAsterixDataInstance() { 20 | return new Cat062Item110Subfield7(); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat062/item340/Cat062Item340Subfield6Test.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Created by dan-geabunea on 5/16/2016. 3 | * This code is the property of JLG Consulting. Please 4 | * check the license terms for this product to see under what 5 | * conditions you can use or modify this source code. 6 | */ 7 | package jlg.jade.test.asterix.cat062.item340; 8 | 9 | import jlg.jade.asterix.cat062.item340.Cat062Item340Subfield6; 10 | import jlg.jade.test.utils.MandatoryFixedLengthAsterixTests; 11 | 12 | public class Cat062Item340Subfield6Test extends MandatoryFixedLengthAsterixTests { 13 | @Override 14 | protected int setExpectedItemSizeInBytes() { 15 | return 1; 16 | } 17 | 18 | @Override 19 | protected Cat062Item340Subfield6 setFixedLengthAsterixDataInstance() { 20 | return new Cat062Item340Subfield6(); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat062/item380/Cat062Item380Subfield16Test.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Created by dan-geabunea on 5/3/2016. 3 | * This code is the property of JLG Consulting. Please 4 | * check the license terms for this product to see under what 5 | * conditions you can use or modify this source code. 6 | */ 7 | package jlg.jade.test.asterix.cat062.item380; 8 | 9 | import jlg.jade.asterix.cat062.item380.Cat062Item380Subfield16; 10 | import jlg.jade.test.utils.MandatoryFixedLengthAsterixTests; 11 | 12 | public class Cat062Item380Subfield16Test extends MandatoryFixedLengthAsterixTests { 13 | @Override 14 | protected int setExpectedItemSizeInBytes() { 15 | return 2; 16 | } 17 | 18 | @Override 19 | protected Cat062Item380Subfield16 setFixedLengthAsterixDataInstance() { 20 | return new Cat062Item380Subfield16(); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat062/item380/Cat062Item380Subfield19Test.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Created by dan-geabunea on 5/3/2016. 3 | * This code is the property of JLG Consulting. Please 4 | * check the license terms for this product to see under what 5 | * conditions you can use or modify this source code. 6 | */ 7 | package jlg.jade.test.asterix.cat062.item380; 8 | 9 | import jlg.jade.asterix.cat062.item380.Cat062Item380Subfield19; 10 | import jlg.jade.test.utils.MandatoryFixedLengthAsterixTests; 11 | 12 | public class Cat062Item380Subfield19Test extends MandatoryFixedLengthAsterixTests { 13 | @Override 14 | protected int setExpectedItemSizeInBytes() { 15 | return 1; 16 | } 17 | 18 | @Override 19 | protected Cat062Item380Subfield19 setFixedLengthAsterixDataInstance() { 20 | return new Cat062Item380Subfield19(); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat062/item380/Cat062Item380Subfield20Test.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Created by dan-geabunea on 5/3/2016. 3 | * This code is the property of JLG Consulting. Please 4 | * check the license terms for this product to see under what 5 | * conditions you can use or modify this source code. 6 | */ 7 | package jlg.jade.test.asterix.cat062.item380; 8 | 9 | import jlg.jade.asterix.cat062.item380.Cat062Item380Subfield20; 10 | import jlg.jade.test.utils.MandatoryFixedLengthAsterixTests; 11 | 12 | public class Cat062Item380Subfield20Test extends MandatoryFixedLengthAsterixTests { 13 | @Override 14 | protected int setExpectedItemSizeInBytes() { 15 | return 8; 16 | } 17 | 18 | @Override 19 | protected Cat062Item380Subfield20 setFixedLengthAsterixDataInstance() { 20 | return new Cat062Item380Subfield20(); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat062/item380/Cat062Item380Subfield22Test.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Created by dan-geabunea on 5/3/2016. 3 | * This code is the property of JLG Consulting. Please 4 | * check the license terms for this product to see under what 5 | * conditions you can use or modify this source code. 6 | */ 7 | package jlg.jade.test.asterix.cat062.item380; 8 | 9 | import jlg.jade.asterix.cat062.item380.Cat062Item380Subfield22; 10 | import jlg.jade.test.utils.MandatoryFixedLengthAsterixTests; 11 | 12 | public class Cat062Item380Subfield22Test extends MandatoryFixedLengthAsterixTests { 13 | @Override 14 | protected int setExpectedItemSizeInBytes() { 15 | return 6; 16 | } 17 | 18 | @Override 19 | protected Cat062Item380Subfield22 setFixedLengthAsterixDataInstance() { 20 | return new Cat062Item380Subfield22(); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat062/item380/Cat062Item380Subfield24Test.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Created by dan-geabunea on 5/4/2016. 3 | * This code is the property of JLG Consulting. Please 4 | * check the license terms for this product to see under what 5 | * conditions you can use or modify this source code. 6 | */ 7 | package jlg.jade.test.asterix.cat062.item380; 8 | 9 | import jlg.jade.asterix.cat062.item380.Cat062Item380Subfield24; 10 | import jlg.jade.test.utils.MandatoryFixedLengthAsterixTests; 11 | 12 | public class Cat062Item380Subfield24Test extends MandatoryFixedLengthAsterixTests { 13 | @Override 14 | protected int setExpectedItemSizeInBytes() { 15 | return 1; 16 | } 17 | 18 | @Override 19 | protected Cat062Item380Subfield24 setFixedLengthAsterixDataInstance() { 20 | return new Cat062Item380Subfield24(); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat062/item380/Cat062Item380Subfield25Test.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Created by dan-geabunea on 5/4/2016. 3 | * This code is the property of JLG Consulting. Please 4 | * check the license terms for this product to see under what 5 | * conditions you can use or modify this source code. 6 | */ 7 | package jlg.jade.test.asterix.cat062.item380; 8 | 9 | import jlg.jade.asterix.cat062.item380.Cat062Item380Subfield25; 10 | import jlg.jade.test.utils.MandatoryRepeatableAsterixTests; 11 | 12 | public class Cat062Item380Subfield25Test extends MandatoryRepeatableAsterixTests { 13 | @Override 14 | protected int setExpectedRepeatableBlockSizeInBytes() { 15 | return 8; 16 | } 17 | 18 | @Override 19 | protected Cat062Item380Subfield25 setRepeatableAsterixDataInstance() { 20 | return new Cat062Item380Subfield25(); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat062/item380/Cat062Item380Subfield28Test.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Created by dan-geabunea on 5/4/2016. 3 | * This code is the property of JLG Consulting. Please 4 | * check the license terms for this product to see under what 5 | * conditions you can use or modify this source code. 6 | */ 7 | package jlg.jade.test.asterix.cat062.item380; 8 | 9 | import jlg.jade.asterix.cat062.item380.Cat062Item380Subfield28; 10 | import jlg.jade.test.utils.MandatoryFixedLengthAsterixTests; 11 | 12 | public class Cat062Item380Subfield28Test extends MandatoryFixedLengthAsterixTests { 13 | @Override 14 | protected int setExpectedItemSizeInBytes() { 15 | return 2; 16 | } 17 | 18 | @Override 19 | protected Cat062Item380Subfield28 setFixedLengthAsterixDataInstance() { 20 | return new Cat062Item380Subfield28(); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat062/item390/Cat062Item390Subfield12Test.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Created by dan-geabunea on 5/11/2016. 3 | * This code is the property of JLG Consulting. Please 4 | * check the license terms for this product to see under what 5 | * conditions you can use or modify this source code. 6 | */ 7 | package jlg.jade.test.asterix.cat062.item390; 8 | 9 | import jlg.jade.asterix.cat062.item390.Cat062Item390Subfield12; 10 | import jlg.jade.test.utils.MandatoryRepeatableAsterixTests; 11 | 12 | public class Cat062Item390Subfield12Test extends MandatoryRepeatableAsterixTests { 13 | 14 | @Override 15 | protected int setExpectedRepeatableBlockSizeInBytes() { 16 | return 4; 17 | } 18 | 19 | @Override 20 | protected Cat062Item390Subfield12 setRepeatableAsterixDataInstance() { 21 | return new Cat062Item390Subfield12(); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat062/item390/Cat062Item390Subfield17Test.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Created by dan-geabunea on 5/12/2016. 3 | * This code is the property of JLG Consulting. Please 4 | * check the license terms for this product to see under what 5 | * conditions you can use or modify this source code. 6 | */ 7 | package jlg.jade.test.asterix.cat062.item390; 8 | 9 | import jlg.jade.asterix.cat062.item390.Cat062Item390Subfield17; 10 | import jlg.jade.test.utils.MandatoryFixedLengthAsterixTests; 11 | 12 | public class Cat062Item390Subfield17Test extends MandatoryFixedLengthAsterixTests { 13 | @Override 14 | protected int setExpectedItemSizeInBytes() { 15 | return 2; 16 | } 17 | 18 | @Override 19 | protected Cat062Item390Subfield17 setFixedLengthAsterixDataInstance() { 20 | return new Cat062Item390Subfield17(); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat062/item390/Cat062Item390Subfield18Test.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Created by dan-geabunea on 5/12/2016. 3 | * This code is the property of JLG Consulting. Please 4 | * check the license terms for this product to see under what 5 | * conditions you can use or modify this source code. 6 | */ 7 | package jlg.jade.test.asterix.cat062.item390; 8 | 9 | import jlg.jade.asterix.cat062.item390.Cat062Item390Subfield18; 10 | import jlg.jade.test.utils.MandatoryFixedLengthAsterixTests; 11 | 12 | public class Cat062Item390Subfield18Test extends MandatoryFixedLengthAsterixTests { 13 | @Override 14 | protected int setExpectedItemSizeInBytes() { 15 | return 7; 16 | } 17 | 18 | @Override 19 | protected Cat062Item390Subfield18 setFixedLengthAsterixDataInstance() { 20 | return new Cat062Item390Subfield18(); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat062/item390/Cat062Item390Subfield3Test.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Created by dan-geabunea on 5/10/2016. 3 | * This code is the property of JLG Consulting. Please 4 | * check the license terms for this product to see under what 5 | * conditions you can use or modify this source code. 6 | */ 7 | package jlg.jade.test.asterix.cat062.item390; 8 | 9 | import jlg.jade.asterix.cat062.item390.Cat062Item390Subfield3; 10 | import jlg.jade.test.utils.MandatoryFixedLengthAsterixTests; 11 | 12 | public class Cat062Item390Subfield3Test extends MandatoryFixedLengthAsterixTests { 13 | @Override 14 | protected int setExpectedItemSizeInBytes() { 15 | return 4; 16 | } 17 | 18 | @Override 19 | protected Cat062Item390Subfield3 setFixedLengthAsterixDataInstance() { 20 | return new Cat062Item390Subfield3(); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat065/Cat065Item040Test.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Created by dan-geabunea on 5/26/2016. 3 | * This code is the property of JLG Consulting. Please 4 | * check the license terms for this product to see under what 5 | * conditions you can use or modify this source code. 6 | */ 7 | package jlg.jade.test.asterix.cat065; 8 | 9 | import jlg.jade.asterix.cat065.Cat065Item040; 10 | import jlg.jade.test.utils.MandatoryFixedLengthAsterixTests; 11 | 12 | public class Cat065Item040Test extends MandatoryFixedLengthAsterixTests { 13 | @Override 14 | protected int setExpectedItemSizeInBytes() { 15 | return 1; 16 | } 17 | 18 | @Override 19 | protected Cat065Item040 setFixedLengthAsterixDataInstance() { 20 | return new Cat065Item040(); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat150/Cat150Item010Test.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Dan Geabunea on 6/29/2016. 3 | */ 4 | 5 | package jlg.jade.test.asterix.cat150; 6 | 7 | import jlg.jade.asterix.cat150.Cat150Item010; 8 | import jlg.jade.test.utils.MandatoryFixedLengthAsterixTests; 9 | import org.junit.Test; 10 | 11 | import static org.junit.Assert.assertEquals; 12 | 13 | public class Cat150Item010Test extends MandatoryFixedLengthAsterixTests { 14 | @Override 15 | protected int setExpectedItemSizeInBytes() { 16 | return 2; 17 | } 18 | 19 | @Override 20 | protected Cat150Item010 setFixedLengthAsterixDataInstance() { 21 | return new Cat150Item010(); 22 | } 23 | 24 | @Test 25 | public void the_decode_method_should_correctly_decode_data() { 26 | //arrange 27 | byte[] input = {1, 2}; 28 | int offset = 0; 29 | Cat150Item010 item010 = new Cat150Item010(); 30 | 31 | //act 32 | item010.decode(input, offset, input.length); 33 | 34 | //assert 35 | assertEquals("Item not decoded correctly", 1, item010.getCentreId()); 36 | assertEquals("Item not decoded correctly", 2, item010.getWorkstationId()); 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat150/Cat150Item020Test.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Dan Geabunea on 6/30/2016. 3 | */ 4 | 5 | package jlg.jade.test.asterix.cat150; 6 | 7 | import jlg.jade.asterix.cat150.Cat150Item020; 8 | import jlg.jade.test.utils.MandatoryFixedLengthAsterixTests; 9 | import org.junit.Test; 10 | 11 | import static org.junit.Assert.assertEquals; 12 | 13 | public class Cat150Item020Test extends MandatoryFixedLengthAsterixTests { 14 | @Override 15 | protected int setExpectedItemSizeInBytes() { 16 | return 2; 17 | } 18 | 19 | @Override 20 | protected Cat150Item020 setFixedLengthAsterixDataInstance() { 21 | return new Cat150Item020(); 22 | } 23 | 24 | @Test 25 | public void the_decode_method_should_correctly_decode_data(){ 26 | //arrange 27 | byte[] input = {1,2}; 28 | int offset = 0; 29 | Cat150Item020 item020 = new Cat150Item020(); 30 | 31 | //act 32 | item020.decode(input, offset, input.length); 33 | 34 | //assert 35 | assertEquals("Item not decoded correctly", 1, item020.getCentreId()); 36 | assertEquals("Item not decoded correctly", 2, item020.getWorkstationId()); 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat150/Cat150Item040Test.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Dan Geabunea on 7/1/2016. 3 | */ 4 | 5 | package jlg.jade.test.asterix.cat150; 6 | 7 | import jlg.jade.asterix.cat150.Cat150Item040; 8 | import jlg.jade.test.utils.MandatoryFixedLengthAsterixTests; 9 | import org.junit.Test; 10 | 11 | import static org.junit.Assert.assertEquals; 12 | 13 | public class Cat150Item040Test extends MandatoryFixedLengthAsterixTests { 14 | @Override 15 | protected int setExpectedItemSizeInBytes() { 16 | return 2; 17 | } 18 | 19 | @Override 20 | protected Cat150Item040 setFixedLengthAsterixDataInstance() { 21 | return new Cat150Item040(); 22 | } 23 | 24 | @Test 25 | public void the_decode_method_should_correctly_decode_data() { 26 | //arrange 27 | byte[] input = {1, 2}; 28 | int offset = 0; 29 | Cat150Item040 cat150Item040 = new Cat150Item040(); 30 | 31 | //act 32 | cat150Item040.decode(input, offset, input.length); 33 | 34 | //assert 35 | assertEquals("Item not decoded correctly", 258, cat150Item040.getPlanNumber()); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat150/Cat150Item050Test.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Dan Geabunea on 7/1/2016. 3 | */ 4 | 5 | package jlg.jade.test.asterix.cat150; 6 | 7 | import jlg.jade.asterix.cat150.Cat150Item050; 8 | import jlg.jade.test.utils.MandatoryFixedLengthAsterixTests; 9 | import org.junit.Test; 10 | 11 | import static org.junit.Assert.assertEquals; 12 | 13 | public class Cat150Item050Test extends MandatoryFixedLengthAsterixTests { 14 | @Override 15 | protected int setExpectedItemSizeInBytes() { 16 | return 7; 17 | } 18 | 19 | @Override 20 | protected Cat150Item050 setFixedLengthAsterixDataInstance() { 21 | return new Cat150Item050(); 22 | } 23 | 24 | @Test 25 | public void the_decode_method_should_correctly_decode_data() { 26 | //arrange 27 | byte[] input = {65, 66, 67, 68, 69, 70, 32}; 28 | int offset = 0; 29 | Cat150Item050 cat150Item050 = new Cat150Item050(); 30 | 31 | //act 32 | cat150Item050.decode(input, offset, input.length); 33 | 34 | //assert 35 | assertEquals("Item not decoded correctly", "ABCDEF", cat150Item050.getCallsign()); 36 | } 37 | 38 | } 39 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat150/Cat150Item060Test.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Dan Geabunea on 7/1/2016. 3 | */ 4 | 5 | package jlg.jade.test.asterix.cat150; 6 | 7 | import jlg.jade.asterix.cat150.Cat150Item060; 8 | import jlg.jade.test.utils.MandatoryFixedLengthAsterixTests; 9 | import org.junit.Test; 10 | 11 | import static org.junit.Assert.assertEquals; 12 | 13 | public class Cat150Item060Test extends MandatoryFixedLengthAsterixTests { 14 | @Override 15 | protected int setExpectedItemSizeInBytes() { 16 | return 4; 17 | } 18 | 19 | @Override 20 | protected Cat150Item060 setFixedLengthAsterixDataInstance() { 21 | return new Cat150Item060(); 22 | } 23 | 24 | @Test 25 | public void the_decode_method_should_correctly_decode_data() { 26 | //arrange 27 | byte[] input = {48, 49, 50, 51}; 28 | int offset = 0; 29 | Cat150Item060 cat150Item060 = new Cat150Item060(); 30 | 31 | //act 32 | cat150Item060.decode(input, offset, input.length); 33 | 34 | //assert 35 | assertEquals("Item not decoded correctly", "0123", cat150Item060.getModeAOctal()); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat150/Cat150Item070Test.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Dan Geabunea on 7/1/2016. 3 | */ 4 | 5 | package jlg.jade.test.asterix.cat150; 6 | 7 | import jlg.jade.asterix.cat150.Cat150Item070; 8 | import jlg.jade.test.utils.MandatoryFixedLengthAsterixTests; 9 | import org.junit.Test; 10 | 11 | import static org.junit.Assert.assertEquals; 12 | 13 | public class Cat150Item070Test extends MandatoryFixedLengthAsterixTests { 14 | @Override 15 | protected int setExpectedItemSizeInBytes() { 16 | return 4; 17 | } 18 | 19 | @Override 20 | protected Cat150Item070 setFixedLengthAsterixDataInstance() { 21 | return new Cat150Item070(); 22 | } 23 | 24 | @Test 25 | public void the_decode_method_should_correctly_decode_data() { 26 | //arrange 27 | byte[] input = {48, 49, 50, 51}; 28 | int offset = 0; 29 | Cat150Item070 cat150Item070 = new Cat150Item070(); 30 | 31 | //act 32 | cat150Item070.decode(input, offset, input.length); 33 | 34 | //assert 35 | assertEquals("Item not decoded correctly","0123", cat150Item070.getMode3AOctal()); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat150/Cat150Item080Test.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Dan Geabunea on 7/1/2016. 3 | */ 4 | 5 | package jlg.jade.test.asterix.cat150; 6 | 7 | import jlg.jade.asterix.cat150.Cat150Item080; 8 | import jlg.jade.test.utils.MandatoryFixedLengthAsterixTests; 9 | import org.junit.Test; 10 | 11 | import static org.junit.Assert.assertEquals; 12 | 13 | public class Cat150Item080Test extends MandatoryFixedLengthAsterixTests { 14 | @Override 15 | protected int setExpectedItemSizeInBytes() { 16 | return 4; 17 | } 18 | 19 | @Override 20 | protected Cat150Item080 setFixedLengthAsterixDataInstance() { 21 | return new Cat150Item080(); 22 | } 23 | 24 | @Test 25 | public void the_decode_method_should_correctly_decode_data(){ 26 | //arrange 27 | byte[] input = {65,66,67,32}; 28 | int offset = 0; 29 | Cat150Item080 cat150Item080 = new Cat150Item080(); 30 | 31 | //act 32 | cat150Item080.decode(input, offset, input.length); 33 | 34 | //assert 35 | assertEquals("Item not decoded correctly", "ABC", cat150Item080.getDepartureAerodrome()); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat150/Cat150Item090Test.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Dan Geabunea on 7/4/2016. 3 | */ 4 | 5 | package jlg.jade.test.asterix.cat150; 6 | 7 | import jlg.jade.asterix.cat150.Cat150Item090; 8 | import jlg.jade.test.utils.MandatoryFixedLengthAsterixTests; 9 | import org.junit.Test; 10 | 11 | import static org.junit.Assert.assertEquals; 12 | 13 | public class Cat150Item090Test extends MandatoryFixedLengthAsterixTests { 14 | 15 | @Override 16 | protected int setExpectedItemSizeInBytes() { 17 | return 4; 18 | } 19 | 20 | @Override 21 | protected Cat150Item090 setFixedLengthAsterixDataInstance() { 22 | return new Cat150Item090(); 23 | } 24 | 25 | @Test 26 | public void the_decode_method_should_correctly_decode_data() { 27 | //arrange 28 | byte[] input = {65, 66, 67, 32}; 29 | int offset = 0; 30 | Cat150Item090 cat150Item090 = new Cat150Item090(); 31 | 32 | //act 33 | cat150Item090.decode(input, offset, input.length); 34 | 35 | //assert 36 | assertEquals("Item not implemented correctly", "ABC", 37 | cat150Item090.getDestinationAerodrome()); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat150/Cat150Item130Test.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Dan Geabunea on 7/4/2016. 3 | */ 4 | 5 | package jlg.jade.test.asterix.cat150; 6 | 7 | import jlg.jade.asterix.cat150.Cat150Item130; 8 | import jlg.jade.test.utils.MandatoryFixedLengthAsterixTests; 9 | 10 | public class Cat150Item130Test extends MandatoryFixedLengthAsterixTests { 11 | @Override 12 | protected int setExpectedItemSizeInBytes() { 13 | return 3; 14 | } 15 | 16 | @Override 17 | protected Cat150Item130 setFixedLengthAsterixDataInstance() { 18 | return new Cat150Item130(); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat150/Cat150Item180Test.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Dan Geabunea on 7/6/2016. 3 | */ 4 | 5 | package jlg.jade.test.asterix.cat150; 6 | 7 | import jlg.jade.asterix.cat150.Cat150Item180; 8 | import jlg.jade.test.utils.MandatoryRepeatableAsterixTests; 9 | 10 | public class Cat150Item180Test extends MandatoryRepeatableAsterixTests { 11 | @Override 12 | protected int setExpectedRepeatableBlockSizeInBytes() { 13 | return 4; 14 | } 15 | 16 | @Override 17 | protected Cat150Item180 setRepeatableAsterixDataInstance() { 18 | return new Cat150Item180(); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat150/Cat150Item190Test.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Dan Geabunea on 7/6/2016. 3 | */ 4 | 5 | package jlg.jade.test.asterix.cat150; 6 | 7 | import jlg.jade.asterix.cat150.Cat150Item190; 8 | import jlg.jade.test.utils.MandatoryFixedLengthAsterixTests; 9 | import org.junit.Test; 10 | 11 | import static org.junit.Assert.assertEquals; 12 | 13 | public class Cat150Item190Test extends MandatoryFixedLengthAsterixTests { 14 | @Override 15 | protected int setExpectedItemSizeInBytes() { 16 | return 2; 17 | } 18 | 19 | @Override 20 | protected Cat150Item190 setFixedLengthAsterixDataInstance() { 21 | return new Cat150Item190(); 22 | } 23 | 24 | @Test 25 | public void the_decode_method_should_correctly_decode_data() { 26 | //arrange 27 | byte[] input = {32, 65}; 28 | int offset = 0; 29 | Cat150Item190 cat150Item190 = new Cat150Item190(); 30 | 31 | //act 32 | cat150Item190.decode(input, offset, input.length); 33 | 34 | //assert 35 | assertEquals("Item not decoded correctly", "A", cat150Item190.getControllerId()); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat150/Cat150Item210Test.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Dan Geabunea on 7/6/2016. 3 | */ 4 | 5 | package jlg.jade.test.asterix.cat150; 6 | 7 | import jlg.jade.asterix.cat150.Cat150Item210; 8 | import jlg.jade.test.utils.MandatoryFixedLengthAsterixTests; 9 | import org.junit.Test; 10 | 11 | import static org.junit.Assert.assertEquals; 12 | 13 | public class Cat150Item210Test extends MandatoryFixedLengthAsterixTests { 14 | @Override 15 | protected int setExpectedItemSizeInBytes() { 16 | return 2; 17 | } 18 | 19 | @Override 20 | protected Cat150Item210 setFixedLengthAsterixDataInstance() { 21 | return new Cat150Item210(); 22 | } 23 | 24 | @Test 25 | public void the_decode_method_should_correctly_decode_data() { 26 | //arrange 27 | byte[] input = {(byte) 130, 2}; 28 | int offset = 0; 29 | Cat150Item210 cat150Item210 = new Cat150Item210(); 30 | 31 | //act 32 | cat150Item210.decode(input, offset, input.length); 33 | 34 | //assert 35 | assertEquals("Item not decoded correctly", 33282, cat150Item210.getCorrelatedTrackNb()); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat150/Cat150Item220Test.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Dan Geabunea on 7/6/2016. 3 | */ 4 | 5 | package jlg.jade.test.asterix.cat150; 6 | 7 | import jlg.jade.asterix.cat150.Cat150Item220; 8 | import jlg.jade.test.utils.MandatoryFixedLengthAsterixTests; 9 | import org.junit.Test; 10 | 11 | import static org.junit.Assert.assertEquals; 12 | 13 | public class Cat150Item220Test extends MandatoryFixedLengthAsterixTests { 14 | @Override 15 | protected int setExpectedItemSizeInBytes() { 16 | return 2; 17 | } 18 | 19 | @Override 20 | protected Cat150Item220 setFixedLengthAsterixDataInstance() { 21 | return new Cat150Item220(); 22 | } 23 | 24 | @Test 25 | public void the_decode_method_should_correctly_decode_data() { 26 | //arrange 27 | //arrange 28 | byte[] input = {(byte) 130, 2}; 29 | int offset = 0; 30 | Cat150Item220 cat150Item220 = new Cat150Item220(); 31 | 32 | //act 33 | cat150Item220.decode(input, offset, input.length); 34 | 35 | //assert 36 | assertEquals("Item not decoded correctly", 33282, cat150Item220.getMaxPlanCount()); 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat150/Cat150Item230Test.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Dan Geabunea on 7/6/2016. 3 | */ 4 | 5 | package jlg.jade.test.asterix.cat150; 6 | 7 | import jlg.jade.asterix.cat150.Cat150Item230; 8 | import jlg.jade.test.utils.MandatoryFixedLengthAsterixTests; 9 | import org.junit.Test; 10 | 11 | import static org.junit.Assert.assertEquals; 12 | 13 | public class Cat150Item230Test extends MandatoryFixedLengthAsterixTests { 14 | @Override 15 | protected int setExpectedItemSizeInBytes() { 16 | return 2; 17 | } 18 | 19 | @Override 20 | protected Cat150Item230 setFixedLengthAsterixDataInstance() { 21 | return new Cat150Item230(); 22 | } 23 | 24 | @Test 25 | public void the_decode_method_should_correctly_decode_data() { 26 | //arrange 27 | byte[] input = {1, 2}; 28 | int offset = 0; 29 | Cat150Item230 cat150Item230 = new Cat150Item230(); 30 | 31 | //act 32 | cat150Item230.decode(input,offset,input.length); 33 | 34 | //assert 35 | assertEquals("Item not decoded correctly", 258, cat150Item230.getNbOfPlans()); 36 | 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /src/test/java/jlg/jade/test/asterix/cat150/Cat150Item251Test.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Dan Geabunea on 7/8/2016. 3 | */ 4 | 5 | package jlg.jade.test.asterix.cat150; 6 | 7 | import jlg.jade.asterix.cat150.Cat150Item251; 8 | import jlg.jade.test.utils.MandatoryRepeatableAsterixTests; 9 | 10 | public class Cat150Item251Test extends MandatoryRepeatableAsterixTests { 11 | 12 | @Override 13 | protected int setExpectedRepeatableBlockSizeInBytes() { 14 | return 4; 15 | } 16 | 17 | @Override 18 | protected Cat150Item251 setRepeatableAsterixDataInstance() { 19 | return new Cat150Item251(); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/test/resources/NATS_CAT048_119bytes_TCAS.ff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jlgconsulting/JADE-JavaAsterixDecoderEncoder/6cd0b6020e30c51d5c44c8dcdbd94c66c9a5cd05/src/test/resources/NATS_CAT048_119bytes_TCAS.ff -------------------------------------------------------------------------------- /src/test/resources/final_frame_062_065_large_packet_30min.ff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jlgconsulting/JADE-JavaAsterixDecoderEncoder/6cd0b6020e30c51d5c44c8dcdbd94c66c9a5cd05/src/test/resources/final_frame_062_065_large_packet_30min.ff -------------------------------------------------------------------------------- /src/test/resources/final_frame_062_30min.ff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jlgconsulting/JADE-JavaAsterixDecoderEncoder/6cd0b6020e30c51d5c44c8dcdbd94c66c9a5cd05/src/test/resources/final_frame_062_30min.ff -------------------------------------------------------------------------------- /src/test/resources/final_frame_062_one_packet_sample2.FF: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jlgconsulting/JADE-JavaAsterixDecoderEncoder/6cd0b6020e30c51d5c44c8dcdbd94c66c9a5cd05/src/test/resources/final_frame_062_one_packet_sample2.FF -------------------------------------------------------------------------------- /src/test/resources/final_frame_cat062_one_packet.ff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jlgconsulting/JADE-JavaAsterixDecoderEncoder/6cd0b6020e30c51d5c44c8dcdbd94c66c9a5cd05/src/test/resources/final_frame_cat062_one_packet.ff --------------------------------------------------------------------------------