Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix orchestra with updated project structure #460

Merged
Changes from 1 commit
Commits
Show all changes
270 commits
Select commit Hold shift + click to select a range
772e864
attempt to get build timeout workaround to succedd
david-gibbs-ig Oct 27, 2020
617be71
Merge branch 'master' of https://github.com/quickfix-j/quickfixj
david-gibbs-ig Oct 27, 2020
5cb1b08
Merge branch 'master' into fix-orchestra
david-gibbs-ig Oct 27, 2020
13f8e70
restore travis.yml from master
david-gibbs-ig Oct 27, 2020
70c5137
restore travis.yml from master
david-gibbs-ig Oct 27, 2020
1fd1c53
updated orchestration build to use assembly id when publishing artefacts
david-gibbs-ig Oct 28, 2020
b326992
adjusted build phases for orchestra so it will fit better with qFJ bu…
david-gibbs-ig Oct 28, 2020
78486c7
increased max heap size
david-gibbs-ig Oct 28, 2020
1426096
updated build for messages-all
david-gibbs-ig Oct 28, 2020
31aade6
corrections to quickfixj-messages-fixLatest
david-gibbs-ig Oct 28, 2020
f95fbda
corrections to quickfixj-messages-fixLatest
david-gibbs-ig Oct 28, 2020
378cb8a
corrections to quickfixj-messages-fixLatest
david-gibbs-ig Oct 28, 2020
3cc8ba4
experiment to see if high memory use is peculiar to PC configuration
david-gibbs-ig Oct 30, 2020
d97297b
experiment to see if high memory use is peculiar to PC configuration
david-gibbs-ig Oct 30, 2020
4f499aa
Merge branch 'master' of https://github.com/quickfix-j/quickfixj into…
david-gibbs-ig Nov 2, 2020
0c28e69
exec plugin in orchestra build needs classpath update to work with Ja…
david-gibbs-ig Nov 2, 2020
875ba2a
FIX for Java 11
david-gibbs-ig Nov 2, 2020
f29e7df
FIX for Java 11
david-gibbs-ig Nov 2, 2020
4baf24c
commit to preserve work in progress
david-gibbs-ig Dec 24, 2021
093f63c
this builds but has javadoc commented out and some hacks
david-gibbs-ig Dec 28, 2021
2ce9d6a
this includes a new module quickfixj-core-latest that is meant to be …
david-gibbs-ig Jan 1, 2022
65dcb04
quickfixj core not does not included quickfix.fields package that is …
david-gibbs-ig Jan 1, 2022
25fcee0
renamed orchestra module to orchestration
david-gibbs-ig Jan 3, 2022
3d1470e
Merge branch 'master' of https://github.com/quickfix-j/quickfixj
david-gibbs-ig Jan 3, 2022
2a12691
merged master
david-gibbs-ig Jan 3, 2022
8110d94
clean up merge and java 8
david-gibbs-ig Jan 3, 2022
238c7bd
remove obsolete module
david-gibbs-ig Jan 3, 2022
29b42fe
interim commit in which fix50SP2 module is used for fixLatest, this i…
david-gibbs-ig Jan 4, 2022
28d4e60
re-enabled javadoc mvn plugin
david-gibbs-ig Jan 4, 2022
bcd84c0
removed "Component" suffix from component accessors
david-gibbs-ig Jan 5, 2022
1c421d0
created fixlatest package and updated dependency on fix standard orch…
david-gibbs-ig Jan 5, 2022
f018286
updated xsl files from master
david-gibbs-ig Jan 5, 2022
45b4800
updated jaxb dependencies for java 11
david-gibbs-ig Jan 6, 2022
d20119f
corrections to packaging for fix latest
david-gibbs-ig Jan 6, 2022
057d8e3
re-introduced recursion to include component members in message for g…
david-gibbs-ig Jan 6, 2022
80c0047
removed condition on recursion
david-gibbs-ig Jan 7, 2022
cae3fc0
updated tests and documents
david-gibbs-ig Jan 7, 2022
41beff4
updated test to conform to new component accessor name for FIX Latest
david-gibbs-ig Jan 8, 2022
9623b68
updated FIX Latest tests
david-gibbs-ig Jan 8, 2022
ca0a1cc
interim commit of updated structure intended to make it faster to wor…
david-gibbs-ig Jan 13, 2022
82f1a84
corrected ordering of modules in parent pom and updated XML tests in …
david-gibbs-ig Jan 14, 2022
6143f0b
updated packaging for orchestration
david-gibbs-ig Jan 14, 2022
52fbce5
updated packaging for orchestration
david-gibbs-ig Jan 14, 2022
5b15efe
remove resource classifier for orchestration
david-gibbs-ig Jan 14, 2022
ef684b4
updated messages build to make it easier to customise the build for l…
david-gibbs-ig Jan 14, 2022
946a2fe
updated so that the module does not require "install" to be run for o…
david-gibbs-ig Jan 15, 2022
a61e917
refactored so that core has only test dependencies on generated messa…
david-gibbs-ig Jan 17, 2022
99a6aff
exclude quickfix.field. that are present in quickfixj-base
david-gibbs-ig Jan 17, 2022
816a3a7
remove irrelevant file
david-gibbs-ig Jan 17, 2022
a57fc02
removed obsolete tests module
david-gibbs-ig Jan 17, 2022
73833b1
changed module name
david-gibbs-ig Jan 17, 2022
b39073c
updated maven.yml, mvn install must be used for this build
david-gibbs-ig Jan 18, 2022
0c49c98
Merge branch 'master' of github.com:david-gibbs-ig/quickfixj
david-gibbs-ig Jan 18, 2022
3350b5a
updated .github for additional memory and made message generation use…
david-gibbs-ig Jan 19, 2022
dfa232f
updated javadoc configuration to increase memory and standardise
david-gibbs-ig Jan 22, 2022
b9c3efd
updated javadoc configuration to reduce memory
david-gibbs-ig Jan 22, 2022
5ad1c16
trying different settings for github build as it gets OOM
david-gibbs-ig Jan 22, 2022
658e79e
trying different settings for github build as it gets OOM
david-gibbs-ig Jan 22, 2022
bd24dc5
interim commit
david-gibbs-ig Jan 28, 2022
e2479bd
interim commit
david-gibbs-ig Jan 29, 2022
a2f90ab
tests pass
david-gibbs-ig Jan 29, 2022
e196399
tests pass
david-gibbs-ig Jan 29, 2022
88fd1c4
tests pass
david-gibbs-ig Jan 29, 2022
d61e704
added maven plugin to prune unused classes from specific FIX distribu…
david-gibbs-ig Jan 30, 2022
15e38a1
added maven plugin to prune unused classes from specific FIX distribu…
david-gibbs-ig Jan 30, 2022
711d2b0
removed over-ride of maven compiler settings
david-gibbs-ig Jan 30, 2022
19c0ace
corrected defect in which overwrite option does not work in code gene…
david-gibbs-ig Jan 30, 2022
1f9049e
reverted change to github actions workflow and updated surefire plugi…
david-gibbs-ig Jan 31, 2022
588133a
changed SerializationTest to remove hard coded directory locations
david-gibbs-ig Jan 31, 2022
ba4f3e8
replaced tabs with 4 spaces in java files
david-gibbs-ig Jan 31, 2022
c655ea5
white space changes to pom files
david-gibbs-ig Jan 31, 2022
3577f1e
javadoc still running OOM on windows builds in github actions so run …
david-gibbs-ig Jan 31, 2022
eabb3a4
javadoc still running OOM on windows builds so adjust workflow maven.…
david-gibbs-ig Jan 31, 2022
4c01c71
renamed repository-quickfix
david-gibbs-ig Jan 31, 2022
6facb78
corrected base pom and quoted -D"parameter" in maven.yml
david-gibbs-ig Feb 1, 2022
892b831
re-added dictgenerator module and fixed base
david-gibbs-ig Feb 1, 2022
d761cdd
corrected dictgenerator pom
david-gibbs-ig Feb 1, 2022
aac5428
implemented maven plugins for code and dictionary generation from FIX…
david-gibbs-ig Feb 1, 2022
befcc87
try to fix codeQL build
david-gibbs-ig Feb 4, 2022
3a60c1f
try to fix codeQL build
david-gibbs-ig Feb 4, 2022
7894f09
try to fix codeQL build
david-gibbs-ig Feb 4, 2022
b78fd08
try to fix codeQL build
david-gibbs-ig Feb 5, 2022
f7901de
added profile for codeql and added markdown
david-gibbs-ig Feb 7, 2022
448823d
attempt to fix lgtm workflow
david-gibbs-ig Feb 7, 2022
1f00e34
merged master
david-gibbs-ig Feb 7, 2022
0cc90c1
added readme for class pruner
david-gibbs-ig Feb 8, 2022
43bd27c
Merge branch 'master' into fix-orchestra-with-updated-project-structure
david-gibbs-ig Feb 8, 2022
0f7ffb9
documentation and merged master
david-gibbs-ig Feb 8, 2022
7c4ce49
updated docs & still trying to fix lgtm
david-gibbs-ig Feb 9, 2022
7522a26
giving up on lgtm
david-gibbs-ig Feb 9, 2022
00664a3
fix workflow
david-gibbs-ig Feb 9, 2022
f6f70e8
correct MassStatusReqType codeset for STATUS_FOR_ORDERS_FOR_A_PARTY_ID
david-gibbs-ig Feb 9, 2022
27b81ff
added options
david-gibbs-ig Feb 11, 2022
3012467
made generation using BigDecimal for Decimal Fields optional
david-gibbs-ig Feb 11, 2022
4e8639f
update code generator mojo
david-gibbs-ig Feb 11, 2022
db9aa96
updated readmes
david-gibbs-ig Feb 12, 2022
fa6323a
Merge branch 'fix-orchestra-with-updated-project-structure' of github…
david-gibbs-ig Feb 12, 2022
1a17791
cleaned up FIXT11 fields and updated readmes
david-gibbs-ig Feb 13, 2022
5c707c4
updated readmes
david-gibbs-ig Feb 14, 2022
cfbec63
interim commit before changing exclusion of session
david-gibbs-ig Feb 17, 2022
cee2420
tests pass before segregating t11
david-gibbs-ig Feb 18, 2022
e328bb4
tests pass after segregating t11
david-gibbs-ig Feb 18, 2022
0304373
interim commit - this passes tests but does not build good messages f…
david-gibbs-ig Feb 19, 2022
baf131a
interim commit, need to add ctor for mandatory fields for greater com…
david-gibbs-ig Feb 20, 2022
2c40dc1
added ctor for mandatory fields for greater compatibility
david-gibbs-ig Feb 21, 2022
d56e1eb
tests pass with full and min profiles
david-gibbs-ig Feb 24, 2022
8fdb3ed
uppdate slf4j depend and use minimal profile for lgtm
david-gibbs-ig Feb 24, 2022
5b41b42
fix snyk warnings and try againg to get lgtm to run
david-gibbs-ig Feb 25, 2022
d927ba2
try again to get lgtm to run
david-gibbs-ig Feb 25, 2022
0ffb6c1
fix issues identified by lgtm
david-gibbs-ig Feb 25, 2022
791fb04
cleaning up dependencies
david-gibbs-ig Feb 26, 2022
ef2dbfa
update guava dependency for Snyk alert
david-gibbs-ig Feb 26, 2022
f1c901d
updated test and test resources to remove many test files
david-gibbs-ig Feb 26, 2022
15b314f
improved clear up of unit test
david-gibbs-ig Feb 27, 2022
86f85ac
update float to result in double_field base type
david-gibbs-ig Jul 21, 2022
f985fbc
Merge branch 'master' of https://github.com/quickfix-j/quickfixj
david-gibbs-ig Jul 21, 2022
643246a
Merge remote-tracking branch 'remotes/upstream/master' into fix-orche…
david-gibbs-ig Jul 22, 2022
545fbbd
work around xpath FEATURE_SECURE_PROCESSING limits
david-gibbs-ig Jul 22, 2022
28839ae
work around xpath FEATURE_SECURE_PROCESSING limits
david-gibbs-ig Jul 22, 2022
b3ef48a
work around xpath FEATURE_SECURE_PROCESSING limits
david-gibbs-ig Jul 22, 2022
a500d9b
work around xpath FEATURE_SECURE_PROCESSING limits
david-gibbs-ig Jul 22, 2022
ab8ec34
Merge branch 'master' of https://github.com/quickfix-j/quickfixj
david-gibbs-ig Oct 22, 2022
d0990ad
merged changes from master
david-gibbs-ig Oct 30, 2022
9bcb863
Merge branch 'master' of https://github.com/quickfix-j/quickfixj into…
david-gibbs-ig Nov 6, 2022
70155c0
enable manual run of workflow
david-gibbs-ig Nov 6, 2022
a04da12
Merge pull request #16 from david-gibbs-ig/enable-manual-run-of-githu…
david-gibbs-ig Nov 6, 2022
5c82fcf
enable manual run of workflow
david-gibbs-ig Nov 6, 2022
7fb7887
brought workflows in line with updates to master
david-gibbs-ig Nov 6, 2022
e5391c9
Merge branch 'master' of https://github.com/quickfix-j/quickfixj
david-gibbs-ig Dec 10, 2022
252e3c5
merged upstream master
david-gibbs-ig Dec 11, 2022
f980ef2
workaround codeql autobuild failure
david-gibbs-ig Dec 11, 2022
0a4390f
Revert "workaround codeql autobuild failure"
david-gibbs-ig Dec 11, 2022
cf3cd5e
set mvn options for code ql autobuild step
david-gibbs-ig Dec 11, 2022
4bf5893
explicit run step for code ql
david-gibbs-ig Dec 11, 2022
b767d13
remove distribution module from top level pom
david-gibbs-ig Dec 11, 2022
70fe1a8
Revert "remove distribution module from top level pom"
david-gibbs-ig Dec 18, 2022
82b365a
updated codeQL, restored distribution module, updated installation.html
david-gibbs-ig Dec 11, 2022
d2e5a04
update codegen doc
david-gibbs-ig Dec 27, 2022
2eea906
updated project to use new QuickFIX/J from FIX Orchestra tools
david-gibbs-ig Jan 1, 2023
89d5977
Merge branch 'master' of https://github.com/quickfix-j/quickfixj
david-gibbs-ig Jan 1, 2023
956b1f6
merge upstream master and update junit (jupiter) depends
david-gibbs-ig Jan 1, 2023
25276c0
updates to codegenerator project to fix mvn build deprecation warnings
david-gibbs-ig Jan 2, 2023
c11ece9
updated documents
david-gibbs-ig Jan 2, 2023
1d3fd4a
updated quickfixj-orchestra dependency to 1.0.0
david-gibbs-ig Jan 2, 2023
a95e353
Update README.md
david-gibbs-ig Jan 3, 2023
f8eb61e
Merge branch 'master' of https://github.com/quickfix-j/quickfixj
david-gibbs-ig Jan 3, 2023
f61eaf5
merged changes from master to update mockito and maven plugin api ver…
david-gibbs-ig Jan 3, 2023
21cc256
Merge branch 'master' into fix-orchestra-with-updated-project-structure
chrjohn Jan 4, 2023
3b28f7d
merged from origin
david-gibbs-ig Jan 4, 2023
680cfbb
removed repository-to-quickfixj from distribution module, update XML …
david-gibbs-ig Jan 5, 2023
6aeb6da
attempt to fix dependency reported by Snyk.
david-gibbs-ig Jan 7, 2023
a018954
updated documents and location of Plant UML artefacts, to reduce clut…
david-gibbs-ig Jan 7, 2023
c095fe3
removed unneccessary changes in MessageTest
david-gibbs-ig Jan 8, 2023
9cc2e9e
SerialisationTest is moved to quickfixj-messages/quickfixj-messages-all
david-gibbs-ig Jan 8, 2023
53e617a
removed redundant TODO file and checked out from master mina/ssl test…
david-gibbs-ig Jan 8, 2023
a0e7574
implement code review comments
david-gibbs-ig Jan 25, 2023
d033fcb
initial effort to move some Message Tests to quickfixj-base
david-gibbs-ig Jan 26, 2023
ae08e7a
moved some DataDictionary Tests to quickfixj-base
david-gibbs-ig Jan 26, 2023
d672d9a
moved some Field and FieldMap Tests to quickfixj-base, moved DataDict…
david-gibbs-ig Jan 26, 2023
175089d
moved a number of classes back to quickfixj-core, to make comparison …
david-gibbs-ig Jan 26, 2023
9a7ee11
Update customising-quickfixj.md - typo spotted in review
david-gibbs-ig Feb 3, 2023
9db11ea
removed maven plugin "integration tests" and guava dependency managem…
david-gibbs-ig Feb 4, 2023
f17f58b
wMerge branch 'fix-orchestra-with-updated-project-structure' of githu…
david-gibbs-ig Feb 4, 2023
de91e9b
restored guava transitive dependency version management to correct se…
david-gibbs-ig Feb 5, 2023
3a7dca3
update maven version to 3.8.7 to reduce security vulnerabilities in m…
david-gibbs-ig Feb 5, 2023
962a5c4
Revert "update maven version to 3.8.7 to reduce security vulnerabilit…
david-gibbs-ig Feb 5, 2023
6fda35c
removed _provided_ dependencies for mvn plugin, fixed incorrect depen…
david-gibbs-ig Feb 6, 2023
09173e1
setting guava version only in dependency management, specify _provide…
david-gibbs-ig Feb 6, 2023
cd50fd5
fixing javadoc, corrected some existing WARNINGs, made minimal-fix-la…
david-gibbs-ig Feb 11, 2023
2249d68
removed javadoc skip from maven.yml
david-gibbs-ig Feb 11, 2023
81539f4
worked on javadoc generation and updated documents
david-gibbs-ig Feb 12, 2023
ef03191
copy FIXLatest.xml to project output dir
david-gibbs-ig Feb 12, 2023
cafb2de
updated readme
david-gibbs-ig Feb 18, 2023
2af213f
resurrected javadoc in distribution module, updated dependency manage…
david-gibbs-ig Feb 27, 2023
93eca43
revert some changes to javadoc plugin configuration in attempt to fix…
david-gibbs-ig Feb 27, 2023
be0ed05
latest javadoc plugin version
david-gibbs-ig Feb 27, 2023
669fa3b
more memory for javadoc
david-gibbs-ig Feb 27, 2023
3aa7e7e
more memory for javadoc
david-gibbs-ig Feb 27, 2023
e6cd586
attempts to fix paging file too small error
david-gibbs-ig Mar 5, 2023
f88d76e
removed failing step
david-gibbs-ig Mar 5, 2023
ca2a5b5
updated for review comments, added tests for UTCDateOnlyField
david-gibbs-ig Mar 19, 2023
4b8283b
corrected test for UTCDateOnlyField
david-gibbs-ig Mar 19, 2023
2966cf9
restored "mvn install" in maven.yml
david-gibbs-ig Mar 19, 2023
bb6b56b
update maven.yml to run mvn test rather than mvn install so that buil…
david-gibbs-ig Mar 21, 2023
5fe391b
update maven.yml to change it back to using mvn install
david-gibbs-ig Mar 21, 2023
e811a2f
restored properties for acceptance test
david-gibbs-ig Mar 21, 2023
24a35f0
added some ugly debug logging for acceptance test 2r_UnregisteredMsgType
chrjohn Apr 13, 2023
aaede76
some ugly debug logging for 2r_UnregisteredMsgType.def
chrjohn Apr 13, 2023
3a4d5c2
removed debug logging from ATApplication
chrjohn Apr 13, 2023
41e7c93
Check whether surefire 3.0.0 will fix failing acceptance tests
chrjohn Apr 15, 2023
5dbd867
increased debug logging
chrjohn Apr 17, 2023
899e8d6
increased logging level to ALL
chrjohn Apr 18, 2023
5bafbdf
Check onMessage for other FIX versions in acceptance tests
chrjohn Apr 19, 2023
e4d6f90
updated SLF4J test dependencies
david-gibbs-ig May 7, 2023
b52e29c
updated logging for debuging issue with Business Message Reject
david-gibbs-ig May 8, 2023
006c795
correction to construction of BusinessMessageReject messages
david-gibbs-ig May 8, 2023
e80bcba
updated log4j dependency
david-gibbs-ig May 8, 2023
6cf6d71
renamed class pruner to quickfixj class pruner
david-gibbs-ig May 9, 2023
e478f41
changes to allow removal of string constructor and date formatter for…
david-gibbs-ig May 9, 2023
ff3f77e
update version of orchestra tools
david-gibbs-ig May 17, 2023
b8b29c4
changes to remove string ctor for UTCDateOnly
david-gibbs-ig May 17, 2023
2f34b6e
first cut of acceptance tests for fix latest
david-gibbs-ig May 23, 2023
f1f9233
updated version of quickfixj-orchestra
david-gibbs-ig May 23, 2023
8fd8ca2
corrected tag 9
david-gibbs-ig May 24, 2023
5122350
commiting first cut, acceptance tests get Out of Memory exceptions
david-gibbs-ig May 25, 2023
987a979
Merge branch 'acceptance-tests' into fix-orchestra-with-updated-proje…
david-gibbs-ig May 25, 2023
f1fe950
More heap memory for acceptance tests
chrjohn May 26, 2023
4406913
Even more heap memory for acceptance tests
chrjohn May 26, 2023
ee52ff9
updated to include BMR Message in FixLatest, changed transformation f…
david-gibbs-ig May 27, 2023
bf2aae4
attempt to set Windows pagefile size for build
david-gibbs-ig May 29, 2023
af88a36
another attempt to set Windows pagefile size for build
david-gibbs-ig May 29, 2023
a7b703f
Revert "another attempt to set Windows pagefile size for build"
david-gibbs-ig May 29, 2023
c99df0b
Revert "attempt to set Windows pagefile size for build"
david-gibbs-ig May 29, 2023
33111ff
another attempt to use github action to influence windows page size
david-gibbs-ig May 30, 2023
243792a
updated al-cheb/configure-pagefile-action to version 1.3
david-gibbs-ig May 30, 2023
3e6d914
Revert "updated al-cheb/configure-pagefile-action to version 1.3"
david-gibbs-ig May 30, 2023
f8fc1b4
added <quiet>true</quiet> to javadoc configs in attempt to improve b…
david-gibbs-ig May 30, 2023
8a3fd43
changing mvn build arguments in attempt to improve build performance …
david-gibbs-ig May 31, 2023
6943694
changing mvn build arguments in attempt to improve build performance …
david-gibbs-ig May 31, 2023
682a3bd
restored http properties, removing them did not help mvn repo connect…
david-gibbs-ig May 31, 2023
ee46413
put simple logging back to help understanding of Acceptance Tests, te…
david-gibbs-ig Jun 3, 2023
5bf2b4b
added concurrency specification as build stability experiment
david-gibbs-ig Jun 3, 2023
6a79150
added maven cache to git hub build actions
david-gibbs-ig Jun 4, 2023
7ef686a
updated regular expression in ATServer to match windows paths
david-gibbs-ig Jun 6, 2023
3d52499
Revert "added concurrency specification as build stability experiment"
david-gibbs-ig Jun 6, 2023
0c03d0e
updated max-parallel for test-windows job
david-gibbs-ig Jun 6, 2023
b35729b
Make ATServer fali-fast on empty sessions
chrjohn Jun 6, 2023
1471807
Revert "Make ATServer fali-fast on empty sessions"
chrjohn Jun 7, 2023
dc35f07
update FileUtil to resolve new 403 error for requests with User-Agent…
david-gibbs-ig Jun 10, 2023
c7b037e
Merge branch 'fix-orchestra-with-updated-project-structure' of github…
david-gibbs-ig Jun 10, 2023
6d2d6ac
Updated User-Agent value for FileUtil
david-gibbs-ig Jun 10, 2023
867d00f
Revert "put simple logging back to help understanding of Acceptance T…
david-gibbs-ig Jun 12, 2023
9eff0b6
removed commented out dependency on slf4j-simple
david-gibbs-ig Jun 12, 2023
04f488e
Added xpath JVM options to build instructions
chrjohn Jul 27, 2023
ec0e8e9
Fixed some typos
chrjohn Jul 27, 2023
e9c0731
Merge remote-tracking branch 'qfj-repo-remote/master' into fix-orches…
chrjohn Jul 27, 2023
fa87360
Moved FileUtilTest from quickfixj-core to quickfixj-base
chrjohn Jul 27, 2023
ed6cef1
Corrected FileUtilTest
chrjohn Jul 28, 2023
d6d7208
Upgraded to guava-32.0.0 to mitigate vulnerability.
chrjohn Jul 28, 2023
76c16dc
Minor whitespace change.
chrjohn Jul 28, 2023
e499f2a
Removed excess import
chrjohn Sep 21, 2023
f15468e
Copied MessageUtilsTest from core to base.
chrjohn Sep 21, 2023
c46dc29
Split up MessageUtilsTest in base and core part.
chrjohn Sep 22, 2023
aa69002
update to use new version of quickfifj-orchestra and add an example o…
david-gibbs-ig Nov 12, 2023
6e5f9d9
updated readmes
david-gibbs-ig Nov 13, 2023
fcc76bf
fixed typo
chrjohn Nov 23, 2023
d97fdd1
Merge branch 'fix-orchestra-with-updated-project-structure' of https:…
chrjohn Nov 23, 2023
ca7c47e
Update maven.yml
chrjohn Nov 30, 2023
832499b
Revert "Update maven.yml"
chrjohn Nov 30, 2023
b9d0557
Removed no longer needed debug logging.
chrjohn Nov 30, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Copied MessageUtilsTest from core to base.
  • Loading branch information
chrjohn committed Sep 21, 2023
commit f15468e2072232d97a1289a24955e8574fb0b57e
272 changes: 272 additions & 0 deletions quickfixj-base/src/test/java/quickfix/MessageUtilsTest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,272 @@
/*******************************************************************************
* Copyright (c) quickfixengine.org All rights reserved.
*
* This file is part of the QuickFIX FIX Engine
*
* This file may be distributed under the terms of the quickfixengine.org
* license as defined by quickfixengine.org and appearing in the file
* LICENSE included in the packaging of this file.
*
* This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING
* THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A
* PARTICULAR PURPOSE.
*
* See http://www.quickfixengine.org/LICENSE for licensing information.
*
* Contact ask@quickfixengine.org if any conditions of this licensing
* are not clear to you.
******************************************************************************/

package quickfix;

import org.junit.Test;

import quickfix.field.ApplVerID;
import quickfix.field.BeginString;
import quickfix.field.DefaultApplVerID;
import quickfix.field.EmailThreadID;
import quickfix.field.EmailType;
import quickfix.field.EncryptMethod;
import quickfix.field.HeartBtInt;
import quickfix.field.MsgType;
import quickfix.field.SenderCompID;
import quickfix.field.Subject;
import quickfix.field.TargetCompID;
import quickfix.fix40.Logon;
import quickfix.fix50.Email;

import static org.hamcrest.Matchers.instanceOf;
import static org.hamcrest.Matchers.is;
import static org.hamcrest.Matchers.notNullValue;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.fail;
import org.junit.Test;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;

public class MessageUtilsTest {

@Test
public void testGetStringField() throws Exception {
String messageString = "8=FIX.4.2\0019=12\00135=X\001108=30\00110=049\001";
assertEquals("wrong value", "FIX.4.2", MessageUtils.getStringField(messageString,
BeginString.FIELD));
assertEquals("wrong value", "X", MessageUtils.getStringField(messageString, MsgType.FIELD));
assertNull(messageString, MessageUtils.getStringField(messageString, SenderCompID.FIELD));
}

@Test
public void testSessionIdFromMessage() throws Exception {
Message message = new Logon();
message.getHeader().setString(SenderCompID.FIELD, "TW");
message.getHeader().setString(TargetCompID.FIELD, "ISLD");
SessionID sessionID = MessageUtils.getSessionID(message);
assertEquals(sessionID.getBeginString(), "FIX.4.0");
assertEquals("TW", sessionID.getSenderCompID());
assertEquals("ISLD", sessionID.getTargetCompID());
}

@Test
public void testReverseSessionIdFromMessage() throws Exception {
Message message = new Logon();
message.getHeader().setString(SenderCompID.FIELD, "TW");
message.getHeader().setString(TargetCompID.FIELD, "ISLD");
SessionID sessionID = MessageUtils.getReverseSessionID(message);
assertEquals(sessionID.getBeginString(), "FIX.4.0");
assertEquals("ISLD", sessionID.getSenderCompID());
assertEquals("TW", sessionID.getTargetCompID());
}

@Test
public void testReverseSessionIdFromMessageWithMissingFields() throws Exception {
Message message = new Logon();
SessionID sessionID = MessageUtils.getReverseSessionID(message);
assertEquals(sessionID.getBeginString(), "FIX.4.0");
assertEquals(sessionID.getSenderCompID(), SessionID.NOT_SET);
assertEquals(sessionID.getTargetCompID(), SessionID.NOT_SET);
}

@Test
public void testSessionIdFromRawMessage() throws Exception {
String messageString = "8=FIX.4.0\0019=56\00135=A\00134=1\00149=TW\001" +
"52=20060118-16:34:19\00156=ISLD\00198=0\001108=2\00110=223\001";
SessionID sessionID = MessageUtils.getSessionID(messageString);
assertEquals(sessionID.getBeginString(), "FIX.4.0");
assertEquals("TW", sessionID.getSenderCompID());
assertEquals("ISLD", sessionID.getTargetCompID());
}

@Test
public void testReverseSessionIdFromRawMessage() throws Exception {
String messageString = "8=FIX.4.0\0019=56\00135=A\00134=1\00149=TW\00150=TWS\001" +
"142=TWL\00152=20060118-16:34:19\00156=ISLD\00198=0\001108=2\00110=223\001";
SessionID sessionID = MessageUtils.getReverseSessionID(messageString);
assertEquals(sessionID.getBeginString(), "FIX.4.0");
assertEquals("ISLD", sessionID.getSenderCompID());
assertEquals("TW", sessionID.getTargetCompID());
assertEquals("TWS", sessionID.getTargetSubID());
assertEquals("TWL", sessionID.getTargetLocationID());
}

@Test
public void testMessageType() throws Exception {
String messageString = "8=FIX.4.0\0019=56\00135=A\00134=1\00149=TW\001" +
"52=20060118-16:34:19\00156=ISLD\00198=0\001108=2\00110=223\001";
assertEquals("A", MessageUtils.getMessageType(messageString));
}

@Test
public void testMessageTypeError() throws Exception {
String messageString = "8=FIX.4.0\0019=56\00134=1\00149=TW\001" +
"52=20060118-16:34:19\00156=ISLD\00198=0\001108=2\00110=223\001";
try {
MessageUtils.getMessageType(messageString);
fail("expected exception");
} catch (InvalidMessage e) {
// expected
}
}

@Test
public void testMessageTypeError2() throws Exception {
String messageString = "8=FIX.4.0\0019=56\00135=1";
try {
MessageUtils.getMessageType(messageString);
fail("expected exception");
} catch (InvalidMessage e) {
// expected
}
}

@Test
public void testGetNonexistentStringField() throws Exception {
String messageString = "8=FIX.4.0\0019=56\00134=1\00149=TW\001" +
"52=20060118-16:34:19\00156=ISLD\00198=0\001108=2\00110=223\001";
assertNull(MessageUtils.getStringField(messageString, 35));
}

@Test
public void testGetStringFieldWithBadValue() throws Exception {
String messageString = "8=FIX.4.0\0019=56\00134=1\00149=TW\001" +
"52=20060118-16:34:19\00156=ISLD\00198=0\001108=2\00110=223";
assertNull(MessageUtils.getStringField(messageString, 10));
}

@Test
public void testParse() throws Exception {
Session mockSession = mock(Session.class);
DataDictionaryProvider mockDataDictionaryProvider = mock(DataDictionaryProvider.class);
when(mockSession.getDataDictionaryProvider()).thenReturn(mockDataDictionaryProvider);
when(mockSession.getMessageFactory()).thenReturn(new quickfix.fix40.MessageFactory());
String messageString = "8=FIX.4.0\0019=56\00135=A\00134=1\00149=TW\001" +
"52=20060118-16:34:19\00156=ISLD\00198=0\001108=2\00110=223\001";

Message message = MessageSessionUtils.parse(mockSession, messageString);

assertThat(message, notNullValue());
}

@Test
public void testLegacyParse() throws Exception {
String data = "8=FIX.4.4\0019=309\00135=8\00149=ASX\00156=CL1_FIX44\00134=4\001" +
"52=20060324-01:05:58\00117=X-B-WOW-1494E9A0:58BD3F9D-1109\001150=D\001" +
"39=0\00111=184271\00138=200\001198=1494E9A0:58BD3F9D\001526=4324\001" +
"37=B-WOW-1494E9A0:58BD3F9D\00155=WOW\00154=1\001151=200\00114=0\00140=2\001" +
"44=15\00159=1\0016=0\001453=3\001448=AAA35791\001447=D\001452=3\001448=8\001" +
"447=D\001452=4\001448=FIX11\001447=D\001452=36\00160=20060320-03:34:29\00110=169\001";

Message message = MessageUtils.parse(new quickfix.fix40.MessageFactory(), DataDictionaryTest.getDictionary(), data);
assertThat(message, notNullValue());
}

@Test
public void testParseFixt() throws Exception {
Session mockSession = mock(Session.class);
DataDictionaryProvider mockDataDictionaryProvider = mock(DataDictionaryProvider.class);
when(mockSession.getDataDictionaryProvider()).thenReturn(mockDataDictionaryProvider);
when(mockSession.getMessageFactory()).thenReturn(new quickfix.fix40.MessageFactory());

Email email = new Email(new EmailThreadID("THREAD_ID"), new EmailType(EmailType.NEW), new Subject("SUBJECT"));
email.getHeader().setField(new ApplVerID(ApplVerID.FIX42));
email.getHeader().setField(new SenderCompID("SENDER"));
email.getHeader().setField(new TargetCompID("TARGET"));

Message message = MessageSessionUtils.parse(mockSession, email.toString());

assertThat(message, is(notNullValue()));
assertThat(message, instanceOf(quickfix.fix40.Email.class));
}

@Test
public void testParseFixtLogon() throws Exception {
Session mockSession = mock(Session.class);
DataDictionaryProvider mockDataDictionaryProvider = mock(DataDictionaryProvider.class);
when(mockSession.getDataDictionaryProvider()).thenReturn(mockDataDictionaryProvider);
when(mockSession.getMessageFactory()).thenReturn(new DefaultMessageFactory());

quickfix.fixt11.Logon logon = new quickfix.fixt11.Logon(new EncryptMethod(EncryptMethod.NONE_OTHER), new HeartBtInt(30),
new DefaultApplVerID(ApplVerID.FIX42));

Message message = MessageSessionUtils.parse(mockSession, logon.toString());

assertThat(message, is(notNullValue()));
assertThat(message, instanceOf(quickfix.fixt11.Logon.class));
}

@Test
public void testParseFixtLogout() throws Exception {
Session mockSession = mock(Session.class);
DataDictionaryProvider mockDataDictionaryProvider = mock(DataDictionaryProvider.class);
when(mockSession.getDataDictionaryProvider()).thenReturn(mockDataDictionaryProvider);
when(mockSession.getMessageFactory()).thenReturn(new DefaultMessageFactory());

quickfix.fixt11.Logout logout = new quickfix.fixt11.Logout();

Message message = MessageSessionUtils.parse(mockSession, logout.toString());

assertThat(message, is(notNullValue()));
assertThat(message, instanceOf(quickfix.fixt11.Logout.class));
}

@Test
public void testParseFix50() throws Exception {
Session mockSession = mock(Session.class);
DataDictionaryProvider mockDataDictionaryProvider = mock(DataDictionaryProvider.class);
when(mockSession.getDataDictionaryProvider()).thenReturn(mockDataDictionaryProvider);
when(mockSession.getMessageFactory()).thenReturn(new DefaultMessageFactory());

Email email = new Email(new EmailThreadID("THREAD_ID"), new EmailType(EmailType.NEW), new Subject("SUBJECT"));
email.getHeader().setField(new ApplVerID(ApplVerID.FIX50));
email.getHeader().setField(new SenderCompID("SENDER"));
email.getHeader().setField(new TargetCompID("TARGET"));

Message message = MessageSessionUtils.parse(mockSession, email.toString());

assertThat(message, is(notNullValue()));
assertThat(message, instanceOf(quickfix.fix50.Email.class));
}

// QFJ-973
@Test
public void testParseMessageWithoutChecksumValidation() throws InvalidMessage {
Session mockSession = mock(Session.class);
when(mockSession.isValidateChecksum()).thenReturn(Boolean.FALSE);

DataDictionary dataDictionary = mock(DataDictionary.class);
DataDictionaryProvider mockDataDictionaryProvider = mock(DataDictionaryProvider.class);
when(mockDataDictionaryProvider.getSessionDataDictionary(any(String.class))).thenReturn(dataDictionary);
when(mockSession.getDataDictionaryProvider()).thenReturn(mockDataDictionaryProvider);
when(mockSession.getMessageFactory()).thenReturn(new quickfix.fix40.MessageFactory());

String messageString = "8=FIX.4.0\0019=56\00135=A\00134=1\00149=TW\001" +
"52=20060118-16:34:19\00156=ISLD\00198=0\001108=2\00110=283\001";

Message message = MessageSessionUtils.parse(mockSession, messageString);

assertThat(message, notNullValue());
}

}