Skip to content

Commit

Permalink
Update QuickFixJ to version 2.0
Browse files Browse the repository at this point in the history
  • Loading branch information
donmendelson committed Mar 13, 2018
1 parent ca4bf95 commit baff571
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 23 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -18,30 +18,25 @@

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;
import io.fixprotocol.orchestra.model.FixValueFactory;
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;
Expand Down Expand Up @@ -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());
Expand Down Expand Up @@ -191,22 +186,22 @@ protected FixNode resolveField(FieldRefType fieldRefType) {
break;
case UTCTimestamp:
case TZTimestamp:
fixValue = new FixValue<Instant>(name, dataType);
((FixValue<Instant>) fixValue)
.setValue(fieldMap.getUtcTimeStamp(id.intValue()).toInstant());
fixValue = new FixValue<LocalDateTime>(name, dataType);
((FixValue<LocalDateTime>) fixValue)
.setValue(fieldMap.getUtcTimeStamp(id.intValue()));
break;
case UTCTimeOnly:
case TZTimeOnly:
case LocalMktTime:
fixValue = new FixValue<LocalTime>(name, dataType);
((FixValue<LocalTime>) fixValue)
.setValue(LocalTime.from(fieldMap.getUtcTimeOnly(id.intValue()).toInstant()));
.setValue(LocalTime.from(fieldMap.getUtcTimeOnly(id.intValue())));
break;
case UTCDateOnly:
case LocalMktDate:
fixValue = new FixValue<LocalDate>(name, dataType);
((FixValue<LocalDate>) fixValue)
.setValue(LocalDate.from(fieldMap.getUtcTimeOnly(id.intValue()).toInstant()));
.setValue(LocalDate.from(fieldMap.getUtcTimeOnly(id.intValue())));
break;
case data:
fixValue = new FixValue<byte[]>(name, dataType);
Expand Down
8 changes: 4 additions & 4 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
<url>https://github.com/FIXTradingCommunity/fix-orchestra/wiki</url>
<inceptionYear>2016</inceptionYear>
<prerequisites>
<maven>3.0</maven>
<maven>3.0.5</maven>
</prerequisites>

<organization>
Expand Down Expand Up @@ -66,12 +66,12 @@

<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<antlr.version>4.7</antlr.version>
<antlr.version>4.7.1</antlr.version>
<cucumber.version>1.2.5</cucumber.version>
<java.version>1.8</java.version>
<junit.version>4.11</junit.version>
<quickfixj.version>1.6.4</quickfixj.version>
<saxon.version>9.8.0-3</saxon.version>
<quickfixj.version>2.0.0</quickfixj.version>
<saxon.version>9.8.0-8</saxon.version>
<slf4j.version>1.7.22</slf4j.version>
<stringtemplate.version>4.0.2</stringtemplate.version>
</properties>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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")) {
Expand Down Expand Up @@ -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":
Expand Down

0 comments on commit baff571

Please sign in to comment.