summaryrefslogtreecommitdiffstats
path: root/src/main/java/org/uic/barcode/dynamicFrame/v2
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/uic/barcode/dynamicFrame/v2')
-rw-r--r--src/main/java/org/uic/barcode/dynamicFrame/v2/DataType.java2
-rw-r--r--src/main/java/org/uic/barcode/dynamicFrame/v2/DynamicFrame.java2
-rw-r--r--src/main/java/org/uic/barcode/dynamicFrame/v2/DynamicFrameCoderV2.java25
-rw-r--r--src/main/java/org/uic/barcode/dynamicFrame/v2/Level1DataType.java41
-rw-r--r--src/main/java/org/uic/barcode/dynamicFrame/v2/Level2DataType.java2
5 files changed, 49 insertions, 23 deletions
diff --git a/src/main/java/org/uic/barcode/dynamicFrame/v2/DataType.java b/src/main/java/org/uic/barcode/dynamicFrame/v2/DataType.java
index f94b622..d4f3c15 100644
--- a/src/main/java/org/uic/barcode/dynamicFrame/v2/DataType.java
+++ b/src/main/java/org/uic/barcode/dynamicFrame/v2/DataType.java
@@ -1,7 +1,6 @@
package org.uic.barcode.dynamicFrame.v2;
import org.uic.barcode.asn1.datatypes.CharacterRestriction;
-import org.uic.barcode.asn1.datatypes.HasExtensionMarker;
import org.uic.barcode.asn1.datatypes.RestrictedString;
import org.uic.barcode.asn1.datatypes.Sequence;
import org.uic.barcode.asn1.datatypesimpl.OctetString;
@@ -11,7 +10,6 @@ import org.uic.barcode.asn1.uper.UperEncoder;
* The Class DataType.
*/
@Sequence
-@HasExtensionMarker
public class DataType {
diff --git a/src/main/java/org/uic/barcode/dynamicFrame/v2/DynamicFrame.java b/src/main/java/org/uic/barcode/dynamicFrame/v2/DynamicFrame.java
index 2986f75..4831c6a 100644
--- a/src/main/java/org/uic/barcode/dynamicFrame/v2/DynamicFrame.java
+++ b/src/main/java/org/uic/barcode/dynamicFrame/v2/DynamicFrame.java
@@ -14,7 +14,6 @@ import java.security.spec.X509EncodedKeySpec;
import org.uic.barcode.asn1.datatypes.Asn1Optional;
import org.uic.barcode.asn1.datatypes.CharacterRestriction;
import org.uic.barcode.asn1.datatypes.FieldOrder;
-import org.uic.barcode.asn1.datatypes.HasExtensionMarker;
import org.uic.barcode.asn1.datatypes.RestrictedString;
import org.uic.barcode.asn1.datatypes.Sequence;
import org.uic.barcode.asn1.datatypesimpl.OctetString;
@@ -33,7 +32,6 @@ import org.uic.barcode.utils.AlgorithmNameResolver;
* Implementation of the Draft under discussion, not final.
*/
@Sequence
-@HasExtensionMarker
public class DynamicFrame extends Object{
/**
diff --git a/src/main/java/org/uic/barcode/dynamicFrame/v2/DynamicFrameCoderV2.java b/src/main/java/org/uic/barcode/dynamicFrame/v2/DynamicFrameCoderV2.java
index de475a9..5d980dd 100644
--- a/src/main/java/org/uic/barcode/dynamicFrame/v2/DynamicFrameCoderV2.java
+++ b/src/main/java/org/uic/barcode/dynamicFrame/v2/DynamicFrameCoderV2.java
@@ -34,11 +34,20 @@ public class DynamicFrameCoderV2 {
}
}
+
+ public static ILevel1Data decodeLevel1(byte[] bytes) {
+
+ Level1DataType asnData = UperEncoder.decode(bytes,Level1DataType.class);
+
+ return populateApi(asnData);
+
+ }
+
private static void populateApi(ILevel2Data level2, Level2DataType asnLevel2) {
if (asnLevel2 == null) return;
-
+
level2.setLevel1Signature(asnLevel2.getLevel1SignatureBytes());
if (asnLevel2.getLevel1Data() != null) {
@@ -89,6 +98,8 @@ public class DynamicFrameCoderV2 {
level1.setEndOfBarcodeValidity(asnLevel1.getEndOfValidityDate());
}
+ level1.setValidityDuration(asnLevel1.getValidityDuration());
+
return level1;
}
@@ -109,7 +120,7 @@ public class DynamicFrameCoderV2 {
return UperEncoder.encode(asn);
}
- public static byte[] encode(ILevel2Data level2SignedData) throws EncodingFormatException {
+ public static byte[] encodeLevel2Data(ILevel2Data level2SignedData) throws EncodingFormatException {
Level2DataType asn = populateAsn(level2SignedData);
@@ -194,6 +205,8 @@ public class DynamicFrameCoderV2 {
asnLevel1.setEndOfValidityDate(level1.getEndOfBarcodeValidity());
+ asnLevel1.setValidityDuration(level1.getValidityDuration());
+
return asnLevel1;
}
@@ -208,6 +221,14 @@ public class DynamicFrameCoderV2 {
return null;
}
+
+ public static byte[] encodeLevel1(IDynamicFrame frame) throws EncodingFormatException {
+
+ Level1DataType asnLevel1Data = populateAsn(frame.getLevel2Data().getLevel1Data());
+
+ return UperEncoder.encode(asnLevel1Data);
+
+ }
diff --git a/src/main/java/org/uic/barcode/dynamicFrame/v2/Level1DataType.java b/src/main/java/org/uic/barcode/dynamicFrame/v2/Level1DataType.java
index 63db364..b42e9dc 100644
--- a/src/main/java/org/uic/barcode/dynamicFrame/v2/Level1DataType.java
+++ b/src/main/java/org/uic/barcode/dynamicFrame/v2/Level1DataType.java
@@ -7,7 +7,6 @@ import java.util.TimeZone;
import org.uic.barcode.asn1.datatypes.Asn1Optional;
import org.uic.barcode.asn1.datatypes.CharacterRestriction;
import org.uic.barcode.asn1.datatypes.FieldOrder;
-import org.uic.barcode.asn1.datatypes.HasExtensionMarker;
import org.uic.barcode.asn1.datatypes.IntRange;
import org.uic.barcode.asn1.datatypes.RestrictedString;
import org.uic.barcode.asn1.datatypes.Sequence;
@@ -16,12 +15,10 @@ import org.uic.barcode.asn1.uper.UperEncoder;
import org.uic.barcode.ticket.EncodingFormatException;
import org.uic.barcode.ticket.api.utils.UicEncoderUtils;
-// TODO: Auto-generated Javadoc
/**
* The Class SignedDataType.
*/
@Sequence
-@HasExtensionMarker
public class Level1DataType {
/**
@@ -100,18 +97,22 @@ public class Level1DataType {
/** The End of validity year. */
@FieldOrder(order = 9)
@IntRange(minValue=2016,maxValue=2269)
- @Asn1Optional public Long EndOfValidityYear;
+ @Asn1Optional public Long endOfValidityYear;
/** The End of validity day. */
@FieldOrder(order = 10)
@IntRange(minValue=1,maxValue=366)
- @Asn1Optional public Long EndOfValidityDay;
+ @Asn1Optional public Long endOfValidityDay;
/** The End of validity time. */
@FieldOrder(order = 11)
@IntRange(minValue=0,maxValue=1439)
- @Asn1Optional public Long EndOfValidityTime;
+ @Asn1Optional public Long endOfValidityTime;
+ /** The validity duration in seconds. */
+ @FieldOrder(order = 12)
+ @IntRange(minValue=1,maxValue=3600)
+ @Asn1Optional public Long validityDuration;
@@ -322,11 +323,11 @@ public class Level1DataType {
Calendar cal = Calendar.getInstance();
cal.setTime(date);
- this.EndOfValidityYear = new Long( cal.get(Calendar.YEAR));
- this.EndOfValidityDay = new Long (cal.get(Calendar.DAY_OF_YEAR));
+ this.endOfValidityYear = new Long( cal.get(Calendar.YEAR));
+ this.endOfValidityDay = new Long (cal.get(Calendar.DAY_OF_YEAR));
int time = cal.get(Calendar.HOUR_OF_DAY) * 60 + cal.get(Calendar.MINUTE);
if (time >= 0) {
- this.EndOfValidityTime = new Long (time );
+ this.endOfValidityTime = new Long (time );
}
TimeZone.setDefault(local);
@@ -339,7 +340,7 @@ public class Level1DataType {
*/
public Date getEndOfValidityDate() {
- if (this.EndOfValidityYear == null || this.EndOfValidityDay == null) return null;
+ if (this.endOfValidityYear == null || this.endOfValidityDay == null) return null;
TimeZone local = TimeZone.getDefault();
TimeZone.setDefault(TimeZone.getTimeZone("UTC"));
@@ -347,13 +348,13 @@ public class Level1DataType {
Calendar cal = Calendar.getInstance();
cal.clear();
cal.setTimeZone(TimeZone.getTimeZone("UTC"));
- cal.set(Calendar.YEAR, this.EndOfValidityYear.intValue());
- cal.set(Calendar.DAY_OF_YEAR, this.EndOfValidityDay.intValue());
+ cal.set(Calendar.YEAR, this.endOfValidityYear.intValue());
+ cal.set(Calendar.DAY_OF_YEAR, this.endOfValidityDay.intValue());
- if (this.EndOfValidityTime != null) {
+ if (this.endOfValidityTime != null) {
- int hours = this.EndOfValidityTime.intValue() / 60;
- int minutes = this.EndOfValidityTime.intValue() % 60;
+ int hours = this.endOfValidityTime.intValue() / 60;
+ int minutes = this.endOfValidityTime.intValue() % 60;
cal.set(Calendar.HOUR_OF_DAY, hours);
cal.set(Calendar.MINUTE,minutes);
@@ -365,6 +366,16 @@ public class Level1DataType {
return d;
}
+
+
+
+ public Long getValidityDuration() {
+ return validityDuration;
+ }
+
+ public void setValidityDuration(Long validityDuration) {
+ this.validityDuration = validityDuration;
+ }
/**
* Gets the data for signature.
diff --git a/src/main/java/org/uic/barcode/dynamicFrame/v2/Level2DataType.java b/src/main/java/org/uic/barcode/dynamicFrame/v2/Level2DataType.java
index 6534c4d..cd0800e 100644
--- a/src/main/java/org/uic/barcode/dynamicFrame/v2/Level2DataType.java
+++ b/src/main/java/org/uic/barcode/dynamicFrame/v2/Level2DataType.java
@@ -6,7 +6,6 @@ import java.security.Signature;
import org.uic.barcode.asn1.datatypes.Asn1Optional;
import org.uic.barcode.asn1.datatypes.FieldOrder;
-import org.uic.barcode.asn1.datatypes.HasExtensionMarker;
import org.uic.barcode.asn1.datatypes.Sequence;
import org.uic.barcode.asn1.datatypesimpl.OctetString;
import org.uic.barcode.asn1.uper.UperEncoder;
@@ -16,7 +15,6 @@ import org.uic.barcode.utils.AlgorithmNameResolver;
* The Class DataType.
*/
@Sequence
-@HasExtensionMarker
public class Level2DataType {
@FieldOrder(order = 0)