From baff571928e1cb9cd1d2aedab00ea0fa4ac908b0 Mon Sep 17 00:00:00 2001 From: Don Mendelson Date: Tue, 13 Mar 2018 13:22:28 -0500 Subject: [PATCH] Update QuickFixJ to version 2.0 --- .../model/quickfix/AbstractMessageScope.java | 23 ++++++++----------- pom.xml | 8 +++---- .../orchestra/quickfix/CodeGeneratorJ.java | 15 ++++++++---- 3 files changed, 23 insertions(+), 23 deletions(-) diff --git a/model-quickfix/src/main/java/io/fixprotocol/orchestra/model/quickfix/AbstractMessageScope.java b/model-quickfix/src/main/java/io/fixprotocol/orchestra/model/quickfix/AbstractMessageScope.java index 61b3238f..37bf4ade 100644 --- a/model-quickfix/src/main/java/io/fixprotocol/orchestra/model/quickfix/AbstractMessageScope.java +++ b/model-quickfix/src/main/java/io/fixprotocol/orchestra/model/quickfix/AbstractMessageScope.java @@ -18,20 +18,17 @@ import java.math.BigDecimal; import java.math.BigInteger; -import java.time.Instant; import java.time.LocalDate; +import java.time.LocalDateTime; import java.time.LocalTime; -import java.util.Date; import java.util.List; import io.fixprotocol._2016.fixrepository.CodeSetType; import io.fixprotocol._2016.fixrepository.FieldRefType; import io.fixprotocol._2016.fixrepository.GroupRefType; import io.fixprotocol._2016.fixrepository.GroupType; - import io.fixprotocol.orchestra.dsl.antlr.Evaluator; import io.fixprotocol.orchestra.dsl.antlr.ScoreException; - import io.fixprotocol.orchestra.model.FixNode; import io.fixprotocol.orchestra.model.FixType; import io.fixprotocol.orchestra.model.FixValue; @@ -39,9 +36,7 @@ import io.fixprotocol.orchestra.model.ModelException; import io.fixprotocol.orchestra.model.PathStep; import io.fixprotocol.orchestra.model.Scope; - import io.fixprotocol.orchestra.model.SymbolResolver; - import quickfix.BytesField; import quickfix.FieldMap; import quickfix.FieldNotFound; @@ -110,16 +105,16 @@ protected void assignField(FieldRefType fieldRefType, FixValue fixValue) { break; case UTCTimestamp: case TZTimestamp: - fieldMap.setUtcTimeStamp(id, Date.from((Instant)fixValue.getValue())); + fieldMap.setUtcTimeStamp(id, (LocalDateTime)fixValue.getValue()); break; case UTCTimeOnly: case TZTimeOnly: case LocalMktTime: - fieldMap.setUtcTimeOnly(id, Date.from((Instant.from((LocalTime)fixValue.getValue())))); + fieldMap.setUtcTimeOnly(id, (LocalTime)fixValue.getValue()); break; case UTCDateOnly: case LocalMktDate: - fieldMap.setUtcDateOnly(id, Date.from((Instant.from((LocalDate)fixValue.getValue())))); + fieldMap.setUtcDateOnly(id, (LocalDate)fixValue.getValue()); break; case data: BytesField bytesField = new BytesField(id, (byte[]) fixValue.getValue()); @@ -191,22 +186,22 @@ protected FixNode resolveField(FieldRefType fieldRefType) { break; case UTCTimestamp: case TZTimestamp: - fixValue = new FixValue(name, dataType); - ((FixValue) fixValue) - .setValue(fieldMap.getUtcTimeStamp(id.intValue()).toInstant()); + fixValue = new FixValue(name, dataType); + ((FixValue) fixValue) + .setValue(fieldMap.getUtcTimeStamp(id.intValue())); break; case UTCTimeOnly: case TZTimeOnly: case LocalMktTime: fixValue = new FixValue(name, dataType); ((FixValue) fixValue) - .setValue(LocalTime.from(fieldMap.getUtcTimeOnly(id.intValue()).toInstant())); + .setValue(LocalTime.from(fieldMap.getUtcTimeOnly(id.intValue()))); break; case UTCDateOnly: case LocalMktDate: fixValue = new FixValue(name, dataType); ((FixValue) fixValue) - .setValue(LocalDate.from(fieldMap.getUtcTimeOnly(id.intValue()).toInstant())); + .setValue(LocalDate.from(fieldMap.getUtcTimeOnly(id.intValue()))); break; case data: fixValue = new FixValue(name, dataType); diff --git a/pom.xml b/pom.xml index 945f281c..0ccf7b5b 100644 --- a/pom.xml +++ b/pom.xml @@ -11,7 +11,7 @@ https://github.com/FIXTradingCommunity/fix-orchestra/wiki 2016 - 3.0 + 3.0.5 @@ -66,12 +66,12 @@ UTF-8 - 4.7 + 4.7.1 1.2.5 1.8 4.11 - 1.6.4 - 9.8.0-3 + 2.0.0 + 9.8.0-8 1.7.22 4.0.2 diff --git a/repository-quickfix/src/main/java/io/fixprotocol/orchestra/quickfix/CodeGeneratorJ.java b/repository-quickfix/src/main/java/io/fixprotocol/orchestra/quickfix/CodeGeneratorJ.java index b5289ff1..80af3a12 100644 --- a/repository-quickfix/src/main/java/io/fixprotocol/orchestra/quickfix/CodeGeneratorJ.java +++ b/repository-quickfix/src/main/java/io/fixprotocol/orchestra/quickfix/CodeGeneratorJ.java @@ -186,7 +186,10 @@ private void generateField(File outputDir, FieldType fieldType, String packageNa String fixType = codeSet == null ? type : codeSet.getType(); if (DATE_TYPES.contains(fixType)) { - writeImport(writer, "java.util.Date"); + writeImport(writer, "java.time.LocalDate"); + writeImport(writer, "java.time.LocalTime"); + writeImport(writer, "java.time.LocalDateTime"); + } String baseClassname = getFieldBaseClass(fixType); if (baseClassname.equals("DecimalField")) { @@ -575,15 +578,17 @@ private Writer writeFieldArgConstructor(Writer writer, String className, int fie indent(1), className, indent(2), fieldId, indent(1))); writer.write(String.format("%n%spublic %s(char data) {%n%ssuper(%d, data);%n%s}%n", indent(1), className, indent(2), fieldId, indent(1))); - break; - case "DateField": + break; case "UtcDateOnlyField": - writer.write(String.format("%n%spublic %s(Date data) {%n%ssuper(%d, data);%n%s}%n", + writer.write(String.format("%n%spublic %s(LocalDate data) {%n%ssuper(%d, data);%n%s}%n", indent(1), className, indent(2), fieldId, indent(1))); break; case "UtcTimeOnlyField": + writer.write(String.format("%n%spublic %s(LocalTime data) {%n%ssuper(%d, data);%n%s}%n", + indent(1), className, indent(2), fieldId, indent(1))); + break; case "UtcTimeStampField": - writer.write(String.format("%n%spublic %s(Date data) {%n%ssuper(%d, data);%n%s}%n", + writer.write(String.format("%n%spublic %s(LocalDateTime data) {%n%ssuper(%d, data);%n%s}%n", indent(1), className, indent(2), fieldId, indent(1))); break; case "DecimalField":