Skip to content

Commit 842f633

Browse files
author
dxcity
committed
tagging release 3.278
1 parent d754466 commit 842f633

File tree

47 files changed

+105
-51
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+105
-51
lines changed

ReleaseNotes.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
11

2+
QDS 3.278:
3+
4+
* [QD-1157] New order source for BATS EU: CEUX
5+
26
QDS 3.277:
37

48
* [QD-1171] Add order record for BITIP top20 book

auth/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
<parent>
1515
<artifactId>QD</artifactId>
1616
<groupId>com.devexperts.qd</groupId>
17-
<version>3.277</version>
17+
<version>3.278</version>
1818
<relativePath>../pom.xml</relativePath>
1919
</parent>
2020
<modelVersion>4.0.0</modelVersion>

dxfeed-api/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
<parent>
1515
<artifactId>QD</artifactId>
1616
<groupId>com.devexperts.qd</groupId>
17-
<version>3.277</version>
17+
<version>3.278</version>
1818
<relativePath>../pom.xml</relativePath>
1919
</parent>
2020
<modelVersion>4.0.0</modelVersion>

dxfeed-api/src/main/java/com/dxfeed/event/market/OrderSource.java

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,11 @@ public final class OrderSource extends IndexedEventSource {
120120
*/
121121
public static final OrderSource DEFAULT = new OrderSource(0, "DEFAULT", PUB_ORDER | PUB_SPREAD_ORDER);
122122

123+
// ======== BEGIN: Custom OrderSource definitions ========
124+
125+
// ATTENTION: Every time a custom OrderSource constant is added run com.dxfeed.api.codegen.ImplCodeGen
126+
// and commit updated implementation classes.
127+
123128
/**
124129
* NASDAQ Total View.
125130
* {@link Order} events are {@link #isPublishable(Class) publishable} on this
@@ -204,6 +209,13 @@ public final class OrderSource extends IndexedEventSource {
204209
*/
205210
public static final OrderSource CHIX = new OrderSource("CHIX", PUB_ORDER);
206211

212+
/**
213+
* Bats Europe DXE Exchange.
214+
* {@link Order} events are {@link #isPublishable(Class) publishable} on this
215+
* source and the corresponding subscription can be observed via {@link DXPublisher}.
216+
*/
217+
public static final OrderSource CEUX = new OrderSource("CEUX", PUB_ORDER);
218+
207219
/**
208220
* Bats Europe TRF.
209221
* {@link Order} events are {@link #isPublishable(Class) publishable} on this
@@ -253,6 +265,11 @@ public final class OrderSource extends IndexedEventSource {
253265
*/
254266
public static final OrderSource CFE = new OrderSource("CFE", PUB_ORDER);
255267

268+
// ATTENTION: Every time a custom OrderSource constant is added run com.dxfeed.api.codegen.ImplCodeGen
269+
// and commit updated implementation classes.
270+
271+
// ======== END: Custom OrderSource definitions ========
272+
256273
/**
257274
* Determines whether specified source identifier refers to special order source.
258275
* Special order sources are used for wrapping non-order events into order events.

dxfeed-bin/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
<parent>
1515
<artifactId>QD</artifactId>
1616
<groupId>com.devexperts.qd</groupId>
17-
<version>3.277</version>
17+
<version>3.278</version>
1818
<relativePath>../pom.xml</relativePath>
1919
</parent>
2020
<modelVersion>4.0.0</modelVersion>

dxfeed-codegen-verify/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
<parent>
1515
<artifactId>QD</artifactId>
1616
<groupId>com.devexperts.qd</groupId>
17-
<version>3.277</version>
17+
<version>3.278</version>
1818
</parent>
1919
<modelVersion>4.0.0</modelVersion>
2020

dxfeed-codegen/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
<parent>
1515
<artifactId>QD</artifactId>
1616
<groupId>com.devexperts.qd</groupId>
17-
<version>3.277</version>
17+
<version>3.278</version>
1818
<relativePath>../pom.xml</relativePath>
1919
</parent>
2020
<modelVersion>4.0.0</modelVersion>

dxfeed-codegen/src/main/java/com/dxfeed/api/codegen/ImplCodeGen.java

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,9 @@
1818
import com.dxfeed.event.candle.impl.CandleEventMapping;
1919
import com.dxfeed.event.market.MarketEventDelegateImpl;
2020
import com.dxfeed.event.market.Order;
21+
import com.dxfeed.event.market.OrderBase;
2122
import com.dxfeed.event.market.OrderBaseDelegateImpl;
23+
import com.dxfeed.event.market.OrderSource;
2224
import com.dxfeed.event.market.Profile;
2325
import com.dxfeed.event.market.Quote;
2426
import com.dxfeed.event.market.SpreadOrder;
@@ -36,6 +38,7 @@
3638
import com.dxfeed.event.option.Underlying;
3739

3840
import java.io.IOException;
41+
import java.util.stream.Collectors;
3942

4043
/**
4144
* Main class to generate all implementation-related code for dxFeed.
@@ -215,7 +218,7 @@ public void runForDxfeedImpl() throws IOException {
215218
publishable();
216219

217220
ctx.delegate("Order", Order.class, "Order").
218-
suffixes("|#NTV|#NFX|#ESPD|#XNFI|#DEA|#DEX|#BYX|#BZX|#IST|#BI20|#ISE|#BATE|#CHIX|#BXTR|#GLBX|#ERIS|#XEUR|#ICE|#CFE").
221+
suffixes(getOrderSuffixes(Order.class)).
219222
inheritDelegateFrom(ORDER_BASE_DELEGATE).
220223
inheritMappingFrom(ORDER_BASE_MAPPING).
221224
source("m.getRecordSource()").
@@ -234,7 +237,7 @@ public void runForDxfeedImpl() throws IOException {
234237
map("Count", "Count", FieldType.INT_DECIMAL).onlySuffixes("com.dxfeed.event.order.impl.Order.suffixes.count", "").
235238
map("Flags", "Flags", FieldType.FLAGS).
236239
map("MarketMaker", "MMID", FieldType.SHORT_STRING).onlySuffixes(
237-
"com.dxfeed.event.order.impl.Order.suffixes.mmid", "|#NTV|#BATE|#CHIX|#BXTR").
240+
"com.dxfeed.event.order.impl.Order.suffixes.mmid", "|#NTV|#BATE|#CHIX|#CEUX|#BXTR").
238241
injectPutEventCode(
239242
"if (index < 0)",
240243
"\tthrow new IllegalArgumentException(\"Invalid index to publish\");",
@@ -246,7 +249,7 @@ public void runForDxfeedImpl() throws IOException {
246249
publishable();
247250

248251
ctx.delegate("SpreadOrder", SpreadOrder.class, "SpreadOrder").
249-
suffixes("|#ISE").
252+
suffixes(getOrderSuffixes(SpreadOrder.class)).
250253
inheritDelegateFrom(ORDER_BASE_DELEGATE).
251254
inheritMappingFrom(ORDER_BASE_MAPPING).
252255
source("m.getRecordSource()").
@@ -484,4 +487,19 @@ public void runForDxfeedImpl() throws IOException {
484487

485488
ctx.generateSources();
486489
}
490+
491+
/**
492+
* Get record suffixes for publishable order sources of specified type as a string delimited by '|' (pipe) symbol.
493+
*
494+
* @param eventType - eventType either <code>{@link Order}.<b>class</b></code>
495+
* or <code>{@link SpreadOrder}.<b>class</b></code>.
496+
* @return a list of publishable record suffixes delimited by '|' symbol.
497+
* @see OrderSource#publishable(Class)
498+
*/
499+
private String getOrderSuffixes(Class<? extends OrderBase> eventType) {
500+
return OrderSource.publishable(eventType).stream().
501+
filter(os -> !OrderSource.DEFAULT.equals(os) && !OrderSource.isSpecialSourceId(os.id())).
502+
map(orderSource -> "|#" + orderSource.name()).
503+
collect(Collectors.joining());
504+
}
487505
}

dxfeed-impl/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
<parent>
1515
<artifactId>QD</artifactId>
1616
<groupId>com.devexperts.qd</groupId>
17-
<version>3.277</version>
17+
<version>3.278</version>
1818
</parent>
1919
<modelVersion>4.0.0</modelVersion>
2020

dxfeed-impl/src/main/java/com/dxfeed/event/market/MarketFactoryImpl.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -193,7 +193,7 @@ public void buildScheme(SchemeBuilder builder) {
193193
builder.addRequiredField("Profile", "Description", SerialFieldType.UTF_CHAR_ARRAY);
194194
builder.addOptionalField("Profile", "StatusReason", SerialFieldType.UTF_CHAR_ARRAY, "Profile", "StatusReason", true);
195195

196-
for (String suffix : SystemProperties.getProperty("com.dxfeed.event.market.impl.Order.suffixes", "|#NTV|#NFX|#ESPD|#XNFI|#DEA|#DEX|#BYX|#BZX|#IST|#BI20|#ISE|#BATE|#CHIX|#BXTR|#GLBX|#ERIS|#XEUR|#ICE|#CFE").split("\\|")) {
196+
for (String suffix : SystemProperties.getProperty("com.dxfeed.event.market.impl.Order.suffixes", "|#NTV|#NFX|#ESPD|#XNFI|#ICE|#ISE|#DEA|#DEX|#BYX|#BZX|#BATE|#CHIX|#CEUX|#BXTR|#IST|#BI20|#GLBX|#ERIS|#XEUR|#CFE").split("\\|")) {
197197
String recordName = "Order" + suffix;
198198
builder.addRequiredField(recordName, "Void", SerialFieldType.VOID, SchemeFieldTime.FIRST_TIME_INT_FIELD);
199199
builder.addRequiredField(recordName, "Index", SerialFieldType.COMPACT_INT, SchemeFieldTime.SECOND_TIME_INT_FIELD);
@@ -205,7 +205,7 @@ public void buildScheme(SchemeBuilder builder) {
205205
if (suffix.matches(SystemProperties.getProperty("com.dxfeed.event.order.impl.Order.suffixes.count", "")))
206206
builder.addOptionalField(recordName, "Count", select(SerialFieldType.COMPACT_INT), "Order", "Count", true);
207207
builder.addRequiredField(recordName, "Flags", SerialFieldType.COMPACT_INT);
208-
if (suffix.matches(SystemProperties.getProperty("com.dxfeed.event.order.impl.Order.suffixes.mmid", "|#NTV|#BATE|#CHIX|#BXTR")))
208+
if (suffix.matches(SystemProperties.getProperty("com.dxfeed.event.order.impl.Order.suffixes.mmid", "|#NTV|#BATE|#CHIX|#CEUX|#BXTR")))
209209
builder.addOptionalField(recordName, "MMID", SerialFieldType.SHORT_STRING, "Order", "MarketMaker", true);
210210
}
211211

0 commit comments

Comments
 (0)