Skip to content

Commit 4017730

Browse files
committed
use lightweight Instant
1 parent 7c4b961 commit 4017730

File tree

12 files changed

+51
-61
lines changed

12 files changed

+51
-61
lines changed

iabgpp-encoder/src/main/java/com/iab/gpp/encoder/bitstring/BitString.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,6 @@
11
package com.iab.gpp.encoder.bitstring;
22

33
import java.util.BitSet;
4-
import java.util.PrimitiveIterator.OfInt;
5-
import java.util.stream.IntStream;
6-
import com.iab.gpp.encoder.datatype.encoder.BaseIntegerSet;
74
import com.iab.gpp.encoder.datatype.encoder.IntegerBitSet;
85
import com.iab.gpp.encoder.datatype.encoder.IntegerSet;
96
import com.iab.gpp.encoder.error.DecodingException;

iabgpp-encoder/src/main/java/com/iab/gpp/encoder/datatype/EncodableDatetime.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
11
package com.iab.gpp.encoder.datatype;
22

3-
import java.time.ZonedDateTime;
3+
import java.time.Instant;
44

55
import com.iab.gpp.encoder.bitstring.BitString;
66
import com.iab.gpp.encoder.bitstring.BitStringBuilder;
77
import com.iab.gpp.encoder.datatype.encoder.DatetimeEncoder;
88
import com.iab.gpp.encoder.error.DecodingException;
99
import com.iab.gpp.encoder.error.EncodingException;
1010

11-
public final class EncodableDatetime extends AbstractEncodableBitStringDataType<ZonedDateTime> {
11+
public final class EncodableDatetime extends AbstractEncodableBitStringDataType<Instant> {
1212

1313
protected EncodableDatetime() {
1414
super(true);
1515
}
1616

17-
public EncodableDatetime(ZonedDateTime value) {
17+
public EncodableDatetime(Instant value) {
1818
super(true);
1919
setValue(value);
2020
}
Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
package com.iab.gpp.encoder.datatype.encoder;
22

33
import java.time.Instant;
4-
import java.time.ZoneId;
5-
import java.time.ZonedDateTime;
64

75
import com.iab.gpp.encoder.bitstring.BitString;
86
import com.iab.gpp.encoder.bitstring.BitStringBuilder;
@@ -11,21 +9,20 @@
119
public class DatetimeEncoder {
1210

1311
private DatetimeEncoder() {}
14-
public static final ZoneId UTC = ZoneId.of("UTC");
1512

16-
public static void encode(BitStringBuilder builder, ZonedDateTime value) {
13+
public static void encode(BitStringBuilder builder, Instant value) {
1714
if (value != null) {
18-
FixedLongEncoder.encode(builder, value.toInstant().toEpochMilli() / 100, 36);
15+
FixedLongEncoder.encode(builder, value.toEpochMilli() / 100, 36);
1916
} else {
2017
FixedLongEncoder.encode(builder, 0, 36);
2118
}
2219
}
2320

24-
public static ZonedDateTime decode(BitString bitString) throws DecodingException {
21+
public static Instant decode(BitString bitString) throws DecodingException {
2522
if (bitString.length() != 36) {
2623
throw new DecodingException("Undecodable Datetime '" + bitString + "'");
2724
}
2825

29-
return ZonedDateTime.ofInstant(Instant.ofEpochMilli(FixedLongEncoder.decode(bitString) * 100L), UTC);
26+
return Instant.ofEpochMilli(FixedLongEncoder.decode(bitString) * 100L);
3027
}
3128
}

iabgpp-encoder/src/main/java/com/iab/gpp/encoder/section/AbstractLazilyEncodableSection.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package com.iab.gpp.encoder.section;
22

33
import java.util.List;
4-
import javax.swing.plaf.synth.SynthProgressBarUI;
54
import com.iab.gpp.encoder.error.InvalidFieldException;
65
import com.iab.gpp.encoder.segment.EncodableSegment;
76

iabgpp-encoder/src/main/java/com/iab/gpp/encoder/section/TcfCaV1.java

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
package com.iab.gpp.encoder.section;
22

3-
import java.time.ZonedDateTime;
3+
import java.time.Instant;
44
import java.util.ArrayList;
55
import java.util.Arrays;
66
import java.util.List;
77
import com.iab.gpp.encoder.datatype.RangeEntry;
8-
import com.iab.gpp.encoder.datatype.encoder.DatetimeEncoder;
98
import com.iab.gpp.encoder.datatype.encoder.IntegerSet;
109
import com.iab.gpp.encoder.error.DecodingException;
1110
import com.iab.gpp.encoder.error.InvalidFieldException;
@@ -105,20 +104,20 @@ public void setFieldValue(String fieldName, Object value) throws InvalidFieldExc
105104
super.setFieldValue(fieldName, value);
106105

107106
if (!fieldName.equals(TcfCaV1Field.CREATED) && !fieldName.equals(TcfCaV1Field.LAST_UPDATED)) {
108-
ZonedDateTime utcDateTime = ZonedDateTime.now(DatetimeEncoder.UTC);
107+
Instant utcDateTime = Instant.now();
109108

110109
super.setFieldValue(TcfCaV1Field.CREATED, utcDateTime);
111110
super.setFieldValue(TcfCaV1Field.LAST_UPDATED, utcDateTime);
112111
}
113112
}
114113

115114

116-
public ZonedDateTime getCreated() {
117-
return (ZonedDateTime) this.getFieldValue(TcfCaV1Field.CREATED);
115+
public Instant getCreated() {
116+
return (Instant) this.getFieldValue(TcfCaV1Field.CREATED);
118117
}
119118

120-
public ZonedDateTime getLastUpdated() {
121-
return (ZonedDateTime) this.getFieldValue(TcfCaV1Field.LAST_UPDATED);
119+
public Instant getLastUpdated() {
120+
return (Instant) this.getFieldValue(TcfCaV1Field.LAST_UPDATED);
122121
}
123122

124123
public Integer getCmpId() {

iabgpp-encoder/src/main/java/com/iab/gpp/encoder/section/TcfEuV2.java

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
package com.iab.gpp.encoder.section;
22

3-
import java.time.ZonedDateTime;
3+
import java.time.Instant;
44
import java.util.ArrayList;
55
import java.util.Arrays;
66
import java.util.List;
77
import com.iab.gpp.encoder.datatype.RangeEntry;
8-
import com.iab.gpp.encoder.datatype.encoder.DatetimeEncoder;
98
import com.iab.gpp.encoder.datatype.encoder.IntegerSet;
109
import com.iab.gpp.encoder.error.DecodingException;
1110
import com.iab.gpp.encoder.error.InvalidFieldException;
@@ -122,20 +121,20 @@ public void setFieldValue(String fieldName, Object value) throws InvalidFieldExc
122121
super.setFieldValue(fieldName, value);
123122

124123
if (!fieldName.equals(TcfEuV2Field.CREATED) && !fieldName.equals(TcfEuV2Field.LAST_UPDATED)) {
125-
ZonedDateTime utcDateTime = ZonedDateTime.now(DatetimeEncoder.UTC);
124+
Instant utcDateTime = Instant.now();
126125

127126
super.setFieldValue(TcfEuV2Field.CREATED, utcDateTime);
128127
super.setFieldValue(TcfEuV2Field.LAST_UPDATED, utcDateTime);
129128
}
130129
}
131130

132131

133-
public ZonedDateTime getCreated() {
134-
return (ZonedDateTime) this.getFieldValue(TcfEuV2Field.CREATED);
132+
public Instant getCreated() {
133+
return (Instant) this.getFieldValue(TcfEuV2Field.CREATED);
135134
}
136135

137-
public ZonedDateTime getLastUpdated() {
138-
return (ZonedDateTime) this.getFieldValue(TcfEuV2Field.LAST_UPDATED);
136+
public Instant getLastUpdated() {
137+
return (Instant) this.getFieldValue(TcfEuV2Field.LAST_UPDATED);
139138
}
140139

141140
public Integer getCmpId() {

iabgpp-encoder/src/main/java/com/iab/gpp/encoder/segment/TcfCaV1CoreSegment.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package com.iab.gpp.encoder.segment;
22

3-
import java.time.ZonedDateTime;
3+
import java.time.Instant;
44
import com.iab.gpp.encoder.base64.AbstractBase64UrlEncoder;
55
import com.iab.gpp.encoder.base64.CompressedBase64UrlEncoder;
66
import com.iab.gpp.encoder.bitstring.BitString;
@@ -34,7 +34,7 @@ public TcfCaV1CoreSegment(String encodedString) {
3434

3535
@Override
3636
protected EncodableBitStringFields initializeFields() {
37-
ZonedDateTime date = ZonedDateTime.now();
37+
Instant date = Instant.now();
3838

3939
EncodableBitStringFields fields = new EncodableBitStringFields(TcfCaV1Field.TCFCAV1_CORE_SEGMENT_FIELD_NAMES);
4040
fields.put(TcfCaV1Field.VERSION, new EncodableFixedInteger(6, TcfCaV1.VERSION));

iabgpp-encoder/src/main/java/com/iab/gpp/encoder/segment/TcfEuV2CoreSegment.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package com.iab.gpp.encoder.segment;
22

3-
import java.time.ZonedDateTime;
3+
import java.time.Instant;
44
import com.iab.gpp.encoder.base64.AbstractBase64UrlEncoder;
55
import com.iab.gpp.encoder.base64.TraditionalBase64UrlEncoder;
66
import com.iab.gpp.encoder.bitstring.BitString;
@@ -34,7 +34,7 @@ public TcfEuV2CoreSegment(String encodedString) {
3434

3535
@Override
3636
protected EncodableBitStringFields initializeFields() {
37-
ZonedDateTime date = ZonedDateTime.now();
37+
Instant date = Instant.now();
3838

3939
EncodableBitStringFields fields = new EncodableBitStringFields(TcfEuV2Field.TCFEUV2_CORE_SEGMENT_FIELD_NAMES);
4040
fields.put(TcfEuV2Field.VERSION, new EncodableFixedInteger(6, TcfEuV2.VERSION));

iabgpp-encoder/src/test/java/com/iab/gpp/encoder/GppModelTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.iab.gpp.encoder;
22

3+
import java.time.Instant;
34
import java.time.ZoneId;
45
import java.time.ZonedDateTime;
56
import java.util.ArrayList;
@@ -8,7 +9,6 @@
89
import java.util.Set;
910
import org.junit.jupiter.api.Assertions;
1011
import org.junit.jupiter.api.Test;
11-
import com.iab.gpp.encoder.datatype.encoder.IntegerBitSet;
1212
import com.iab.gpp.encoder.error.DecodingException;
1313
import com.iab.gpp.encoder.field.TcfCaV1Field;
1414
import com.iab.gpp.encoder.field.TcfEuV2Field;
@@ -45,7 +45,7 @@
4545

4646
public class GppModelTest {
4747

48-
private ZonedDateTime utcDateTime = ZonedDateTime.of(2022, 1, 1, 0, 0, 0, 0, ZoneId.of("UTC"));
48+
private Instant utcDateTime = ZonedDateTime.of(2022, 1, 1, 0, 0, 0, 0, ZoneId.of("UTC")).toInstant();
4949

5050
@Test
5151
public void testEncodeDefault() {
Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package com.iab.gpp.encoder.datatype.encoder;
22

3-
import java.time.ZoneId;
4-
import java.time.ZonedDateTime;
3+
import java.time.Instant;
54
import org.junit.jupiter.api.Assertions;
65
import org.junit.jupiter.api.Test;
76

@@ -13,12 +12,12 @@ public class DatetimeEncoderTest {
1312

1413
@Test
1514
public void test1() throws DecodingException {
16-
ZonedDateTime date1 = ZonedDateTime.now(ZoneId.of("UTC"));
15+
Instant date1 = Instant.now();
1716
BitStringBuilder builder = new BitStringBuilder();
1817
DatetimeEncoder.encode(builder, date1);
1918
String encodedDate1 = builder.build().toString();
20-
ZonedDateTime date2 = DatetimeEncoder.decode(BitString.of(encodedDate1));
19+
Instant date2 = DatetimeEncoder.decode(BitString.of(encodedDate1));
2120

22-
Assertions.assertEquals((date1.toInstant().toEpochMilli() / 100L) * 100L, date2.toInstant().toEpochMilli());
21+
Assertions.assertEquals((date1.toEpochMilli() / 100L) * 100L, date2.toEpochMilli());
2322
}
2423
}

0 commit comments

Comments
 (0)