From 2f73d439d3c3afb3bc867809be4c90c6be31606c Mon Sep 17 00:00:00 2001 From: Jon Freedman Date: Thu, 30 Nov 2017 11:45:25 +0000 Subject: [PATCH 1/3] pass SessionID to MemoryStore on construction --- quickfixj-core/src/main/java/quickfix/MemoryStoreFactory.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/quickfixj-core/src/main/java/quickfix/MemoryStoreFactory.java b/quickfixj-core/src/main/java/quickfix/MemoryStoreFactory.java index 890365166..09b670b73 100644 --- a/quickfixj-core/src/main/java/quickfix/MemoryStoreFactory.java +++ b/quickfixj-core/src/main/java/quickfix/MemoryStoreFactory.java @@ -30,7 +30,7 @@ public class MemoryStoreFactory implements MessageStoreFactory { public MessageStore create(SessionID sessionID) { try { - return new MemoryStore(); + return new MemoryStore(sessionID); } catch (IOException e) { throw new RuntimeError(e); } From ee3101effa58356dc524b592c4bf8c03b7e3e3c5 Mon Sep 17 00:00:00 2001 From: Jon Freedman Date: Thu, 30 Nov 2017 12:00:42 +0000 Subject: [PATCH 2/3] Update MemoryStore.java --- quickfixj-core/src/main/java/quickfix/MemoryStore.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/quickfixj-core/src/main/java/quickfix/MemoryStore.java b/quickfixj-core/src/main/java/quickfix/MemoryStore.java index fb3d1e49c..7102a519f 100644 --- a/quickfixj-core/src/main/java/quickfix/MemoryStore.java +++ b/quickfixj-core/src/main/java/quickfix/MemoryStore.java @@ -43,8 +43,9 @@ public MemoryStore() throws IOException { reset(); } - public MemoryStore(SessionID sessionID) { + public MemoryStore(SessionID sessionID) throws IOException { this.sessionID = sessionID; + reset(); } public void get(int startSequence, int endSequence, Collection messages) throws IOException { From 67f5dbe450a24a49bba5b2dbb74d0b1c10bfa9b5 Mon Sep 17 00:00:00 2001 From: Jon Freedman Date: Fri, 1 Dec 2017 11:59:06 +0000 Subject: [PATCH 3/3] fix for NPE on session lookup which causes test failures --- quickfixj-core/src/main/java/quickfix/MemoryStore.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/quickfixj-core/src/main/java/quickfix/MemoryStore.java b/quickfixj-core/src/main/java/quickfix/MemoryStore.java index 7102a519f..f10205651 100644 --- a/quickfixj-core/src/main/java/quickfix/MemoryStore.java +++ b/quickfixj-core/src/main/java/quickfix/MemoryStore.java @@ -112,8 +112,8 @@ public void setNextTargetMsgSeqNum(int next) throws IOException { public void refresh() throws IOException { // IOException is declared to maintain strict compatibility with QF JNI final String text = "memory store does not support refresh!"; - if (sessionID != null) { - Session session = Session.lookupSession(sessionID); + final Session session = sessionID != null ? Session.lookupSession(sessionID) : null; + if (session != null) { session.getLog().onErrorEvent("ERROR: " + text); } else { LoggerFactory.getLogger(MemoryStore.class).error(text);