From ca0191d050b3dac6e65815ad5662ed8e796ef9d9 Mon Sep 17 00:00:00 2001 From: CGantert345 <57003061+CGantert345@users.noreply.github.com> Date: Thu, 29 Oct 2020 12:44:07 +0100 Subject: fix for the Android Java SDK bug in getDeclaredFields nor providing the field order --- src/org/uic/barcode/dynamicFrame/DynamicFrame.java | 4 ++++ src/org/uic/barcode/dynamicFrame/Level1DataType.java | 11 ++++++++++- src/org/uic/barcode/dynamicFrame/Level2DataType.java | 5 ++++- src/org/uic/barcode/dynamicFrame/SequenceOfDataType.java | 1 - 4 files changed, 18 insertions(+), 3 deletions(-) (limited to 'src/org/uic/barcode') diff --git a/src/org/uic/barcode/dynamicFrame/DynamicFrame.java b/src/org/uic/barcode/dynamicFrame/DynamicFrame.java index 445990a..69a67b2 100644 --- a/src/org/uic/barcode/dynamicFrame/DynamicFrame.java +++ b/src/org/uic/barcode/dynamicFrame/DynamicFrame.java @@ -14,6 +14,7 @@ import org.uic.barcode.utils.AlgorithmNameResolver; import net.gcdc.asn1.datatypes.Asn1Optional; import net.gcdc.asn1.datatypes.CharacterRestriction; +import net.gcdc.asn1.datatypes.FieldOrder; import net.gcdc.asn1.datatypes.HasExtensionMarker; import net.gcdc.asn1.datatypes.RestrictedString; import net.gcdc.asn1.datatypes.Sequence; @@ -33,14 +34,17 @@ public class DynamicFrame extends Object{ public DynamicFrame() {} /** The format. */ + @FieldOrder(order = 0) @RestrictedString(CharacterRestriction.IA5String) public String format; /*level 2 data*/ + @FieldOrder(order = 1) Level2DataType level2SignedData; /** The signature of level 2 data*/ + @FieldOrder(order = 2) @Asn1Optional public OctetString level2Signature; /** diff --git a/src/org/uic/barcode/dynamicFrame/Level1DataType.java b/src/org/uic/barcode/dynamicFrame/Level1DataType.java index ac48ba8..796c44f 100644 --- a/src/org/uic/barcode/dynamicFrame/Level1DataType.java +++ b/src/org/uic/barcode/dynamicFrame/Level1DataType.java @@ -5,6 +5,7 @@ import org.uic.ticket.api.utils.UicEncoderUtils; import net.gcdc.asn1.datatypes.Asn1Optional; import net.gcdc.asn1.datatypes.CharacterRestriction; +import net.gcdc.asn1.datatypes.FieldOrder; import net.gcdc.asn1.datatypes.IntRange; import net.gcdc.asn1.datatypes.RestrictedString; import net.gcdc.asn1.datatypes.Sequence; @@ -22,20 +23,24 @@ public class Level1DataType { * numeric codes 1 ...32000 * * */ + @FieldOrder(order = 0) @IntRange(minValue=1,maxValue=32000) @Asn1Optional public Long securityProviderNum; /** The security provider alphanumeric codes. */ + @FieldOrder(order = 1) @RestrictedString(CharacterRestriction.IA5String) @Asn1Optional public String securityProviderIA5; /** The key id. */ + @FieldOrder(order = 2) @IntRange(minValue=1,maxValue=99999) @Asn1Optional public Long keyId; /** The data. */ + @FieldOrder(order = 3) public SequenceOfDataType data; /** @@ -50,10 +55,11 @@ public class Level1DataType { * * */ + @FieldOrder(order = 4) @RestrictedString(CharacterRestriction.ObjectIdentifier) @Asn1Optional public String level1KeyAlg; - + @FieldOrder(order = 5) @RestrictedString(CharacterRestriction.ObjectIdentifier) @Asn1Optional public String level2KeyAlg; @@ -69,14 +75,17 @@ public class Level1DataType { * * */ + @FieldOrder(order = 6) @RestrictedString(CharacterRestriction.ObjectIdentifier) @Asn1Optional public String level1SigningAlg; + @FieldOrder(order = 7) @RestrictedString(CharacterRestriction.ObjectIdentifier) @Asn1Optional public String level2SigningAlg; /** The level 2 public key*/ + @FieldOrder(order = 8) @Asn1Optional public OctetString level2publicKey; diff --git a/src/org/uic/barcode/dynamicFrame/Level2DataType.java b/src/org/uic/barcode/dynamicFrame/Level2DataType.java index 66e4225..b2aceab 100644 --- a/src/org/uic/barcode/dynamicFrame/Level2DataType.java +++ b/src/org/uic/barcode/dynamicFrame/Level2DataType.java @@ -6,6 +6,7 @@ import java.security.Signature; import org.uic.barcode.utils.AlgorithmNameResolver; import net.gcdc.asn1.datatypes.Asn1Optional; +import net.gcdc.asn1.datatypes.FieldOrder; import net.gcdc.asn1.datatypes.Sequence; import net.gcdc.asn1.datatypesimpl.OctetString; import net.gcdc.asn1.uper.UperEncoder; @@ -16,12 +17,14 @@ import net.gcdc.asn1.uper.UperEncoder; @Sequence public class Level2DataType { + @FieldOrder(order = 0) Level1DataType level1Data; /** The data. */ + @FieldOrder(order = 1) @Asn1Optional public OctetString level1Signature; - + @FieldOrder(order = 2) @Asn1Optional DataType level2Data; diff --git a/src/org/uic/barcode/dynamicFrame/SequenceOfDataType.java b/src/org/uic/barcode/dynamicFrame/SequenceOfDataType.java index c879ddd..93b9d78 100644 --- a/src/org/uic/barcode/dynamicFrame/SequenceOfDataType.java +++ b/src/org/uic/barcode/dynamicFrame/SequenceOfDataType.java @@ -4,7 +4,6 @@ package org.uic.barcode.dynamicFrame; import java.util.Collection; import net.gcdc.asn1.datatypes.Asn1SequenceOf; -// TODO: Auto-generated Javadoc /** * The Class SequenceOfDataType. -- cgit v1.2.3