Skip to content

Commit 9f46a13

Browse files
author
markheger
committed
v1.16.0a0
1 parent 4c47cee commit 9f46a13

File tree

73 files changed

+2019
-253
lines changed

Some content is hidden

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

73 files changed

+2019
-253
lines changed

DESC.txt

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,18 @@ IBM Cloud and IBM Streams including IBM Cloud Pak for Data.
33

44
* `IBM Streams <https://ibmstreams.github.io/>`_
55

6-
streamsx 1.15.9
7-
===============
6+
streamsx 1.16.0 alpha
7+
=====================
88

9-
For changes in this release see the `CHANGELOG of the project. <https://github.com/IBMStreams/pypi.streamsx/blob/v1_15/streamsx/.toolkit/com.ibm.streamsx.topology/CHANGELOG.md>`_
9+
For changes in this release see the `CHANGELOG of the project. <https://github.com/IBMStreams/pypi.streamsx/blob/v1_16/streamsx/.toolkit/com.ibm.streamsx.topology/CHANGELOG.md>`_
1010

1111
Python Topology API for Streams
1212
===============================
1313
Module that allows the definition and execution of streaming
1414
applications implemented in Python. Applications use Python code to process
1515
tuples and tuples are Python objects.
1616

17-
See `streamsx.topology <https://streamsxtopology.readthedocs.io/en/v1.15.9/streamsx.topology.html#module-streamsx.topology>`_
17+
See `streamsx.topology <https://streamsxtopology.readthedocs.io/en/v1.16.0a0/streamsx.topology.html#module-streamsx.topology>`_
1818

1919
Additional streamsx packages providing adapters and/or analytics
2020
are `available at pypi.org <https://pypi.org/search/?q=streamsx>`_
@@ -27,19 +27,19 @@ to allow tuple processing using Python in an SPL application.
2727
SPL (Streams Processing Language) is a domain specific language for streaming
2828
analytics supported by IBM Streams.
2929

30-
See `streamsx.spl <https://streamsxtopology.readthedocs.io/en/v1.15.9/streamsx.spl.spl.html#module-streamsx.spl.spl>`_
30+
See `streamsx.spl <https://streamsxtopology.readthedocs.io/en/v1.16.0a0/streamsx.spl.spl.html#module-streamsx.spl.spl>`_
3131

3232
Streams Python REST API
3333
=======================
3434

3535
Module that allows interaction with an running Streams instance or service
3636
through HTTPS REST APIs.
3737

38-
See `streamsx.rest <https://streamsxtopology.readthedocs.io/en/v1.15.9/streamsx.rest.html#module-streamsx.rest>`_
38+
See `streamsx.rest <https://streamsxtopology.readthedocs.io/en/v1.16.0a0/streamsx.rest.html#module-streamsx.rest>`_
3939

4040
Documentation
4141
=============
4242

43-
`Full package documentation. <https://streamsxtopology.readthedocs.io/en/v1.15.9>`_
43+
`Full package documentation. <https://streamsxtopology.readthedocs.io/en/v1.16.0a0>`_
4444

4545

build/build.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
<mkdir dir="release"/>
2626

2727
<get src=
28-
"https://github.com/IBMStreams/streamsx.topology/releases/download/v1.15.9/streamsx.topology-v1.15-20200807-1242.tgz"
28+
"https://github.com/IBMStreams/streamsx.topology/releases/download/v1.16.0.alpha/streamsx.topology-v1.16-20200819-1149.tgz"
2929
dest="release.tgz"/>
3030
<untar src="release.tgz" dest="release" compression="gzip"/>
3131

streamsx/.toolkit/com.ibm.streamsx.topology/CHANGELOG.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,15 @@
11
# Changes
22
==========
33

4+
## v1.16.0.alpha
5+
* [#2551](https://github.com/IBMStreams/streamsx.topology/issues/2551) Adapt streamsx for REST API changes
6+
* [#2527](https://github.com/IBMStreams/streamsx.topology/issues/2527) Python: Support tumbling window based on punctuation
7+
* [#2525](https://github.com/IBMStreams/streamsx.topology/issues/2525) Python: Provide punct_count() in TopologyTester to test the number of received punctuations
8+
* [#2520](https://github.com/IBMStreams/streamsx.topology/issues/2520) Python: Ability to handle received punctuations in for_each and streamsx.spl.spl.PrimitiveOperator
9+
* [#2518](https://github.com/IBMStreams/streamsx.topology/issues/2518) Python: Ability to submit punctuation in streamsx.spl.spl.PrimitiveOperator
10+
* [#2517](https://github.com/IBMStreams/streamsx.topology/issues/2517) Python: Provide Stream.punctor()
11+
* [#2516](https://github.com/IBMStreams/streamsx.topology/issues/2516) Python: Write punctuation markers with Stream.print() to stdout
12+
413
## v1.15.9
514
* [#2522](https://github.com/IBMStreams/streamsx.topology/issues/2522) Build scripts prepared for publishing the release to Maven repository
615
* [#2537](https://github.com/IBMStreams/streamsx.topology/issues/2537) TestTopology: Check OS version to skip tests in SPLOperatorsTest.java for RH6

streamsx/.toolkit/com.ibm.streamsx.topology/com.ibm.streamsx.topology.file/DirectoryWatcher/DirectoryWatcher.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?xml version="1.0" encoding="UTF-8"?><operatorModel xmlns="http://www.ibm.com/xmlns/prod/streams/spl/operator" xmlns:cmn="http://www.ibm.com/xmlns/prod/streams/spl/common" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.ibm.com/xmlns/prod/streams/spl/operator operatorModel.xsd">
22
<!--DO NOT EDIT THIS FILE - it is machine generated-->
33
<javaOperatorModel>
4-
<!--Generated from com.ibm.streamsx.topology.file.DirectoryWatcher in lib/com.ibm.streamsx.topology.jar at Fri Aug 07 12:41:17 UTC 2020-->
4+
<!--Generated from com.ibm.streamsx.topology.file.DirectoryWatcher in lib/com.ibm.streamsx.topology.jar at Wed Aug 19 11:48:53 UTC 2020-->
55
<context>
66
<description/>
77
<metrics/>

streamsx/.toolkit/com.ibm.streamsx.topology/com.ibm.streamsx.topology.file/TextFileReader/TextFileReader.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?xml version="1.0" encoding="UTF-8"?><operatorModel xmlns="http://www.ibm.com/xmlns/prod/streams/spl/operator" xmlns:cmn="http://www.ibm.com/xmlns/prod/streams/spl/common" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.ibm.com/xmlns/prod/streams/spl/operator operatorModel.xsd">
22
<!--DO NOT EDIT THIS FILE - it is machine generated-->
33
<javaOperatorModel>
4-
<!--Generated from com.ibm.streamsx.topology.file.TextFileReader in lib/com.ibm.streamsx.topology.jar at Fri Aug 07 12:41:17 UTC 2020-->
4+
<!--Generated from com.ibm.streamsx.topology.file.TextFileReader in lib/com.ibm.streamsx.topology.jar at Wed Aug 19 11:48:54 UTC 2020-->
55
<context>
66
<description/>
77
<metrics/>

streamsx/.toolkit/com.ibm.streamsx.topology/com.ibm.streamsx.topology.functional.java/Aggregate/Aggregate.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?xml version="1.0" encoding="UTF-8"?><operatorModel xmlns="http://www.ibm.com/xmlns/prod/streams/spl/operator" xmlns:cmn="http://www.ibm.com/xmlns/prod/streams/spl/common" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.ibm.com/xmlns/prod/streams/spl/operator operatorModel.xsd">
22
<!--DO NOT EDIT THIS FILE - it is machine generated-->
33
<javaOperatorModel>
4-
<!--Generated from com.ibm.streamsx.topology.internal.functional.ops.FunctionAggregate in lib/com.ibm.streamsx.topology.jar at Fri Aug 07 12:41:17 UTC 2020-->
4+
<!--Generated from com.ibm.streamsx.topology.internal.functional.ops.FunctionAggregate in lib/com.ibm.streamsx.topology.jar at Wed Aug 19 11:48:54 UTC 2020-->
55
<context>
66
<description/>
77
<iconUri size="16">aggregate_16.gif</iconUri>

streamsx/.toolkit/com.ibm.streamsx.topology/com.ibm.streamsx.topology.functional.java/Filter/Filter.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?xml version="1.0" encoding="UTF-8"?><operatorModel xmlns="http://www.ibm.com/xmlns/prod/streams/spl/operator" xmlns:cmn="http://www.ibm.com/xmlns/prod/streams/spl/common" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.ibm.com/xmlns/prod/streams/spl/operator operatorModel.xsd">
22
<!--DO NOT EDIT THIS FILE - it is machine generated-->
33
<javaOperatorModel>
4-
<!--Generated from com.ibm.streamsx.topology.internal.functional.ops.FunctionFilter in lib/com.ibm.streamsx.topology.jar at Fri Aug 07 12:41:17 UTC 2020-->
4+
<!--Generated from com.ibm.streamsx.topology.internal.functional.ops.FunctionFilter in lib/com.ibm.streamsx.topology.jar at Wed Aug 19 11:48:54 UTC 2020-->
55
<context>
66
<description/>
77
<iconUri size="16">filter_16.gif</iconUri>

streamsx/.toolkit/com.ibm.streamsx.topology/com.ibm.streamsx.topology.functional.java/FlatMap/FlatMap.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?xml version="1.0" encoding="UTF-8"?><operatorModel xmlns="http://www.ibm.com/xmlns/prod/streams/spl/operator" xmlns:cmn="http://www.ibm.com/xmlns/prod/streams/spl/common" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.ibm.com/xmlns/prod/streams/spl/operator operatorModel.xsd">
22
<!--DO NOT EDIT THIS FILE - it is machine generated-->
33
<javaOperatorModel>
4-
<!--Generated from com.ibm.streamsx.topology.internal.functional.ops.FunctionMultiTransform in lib/com.ibm.streamsx.topology.jar at Fri Aug 07 12:41:18 UTC 2020-->
4+
<!--Generated from com.ibm.streamsx.topology.internal.functional.ops.FunctionMultiTransform in lib/com.ibm.streamsx.topology.jar at Wed Aug 19 11:48:54 UTC 2020-->
55
<context>
66
<description/>
77
<iconUri size="16">functor_16.gif</iconUri>

streamsx/.toolkit/com.ibm.streamsx.topology/com.ibm.streamsx.topology.functional.java/ForEach/ForEach.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?xml version="1.0" encoding="UTF-8"?><operatorModel xmlns="http://www.ibm.com/xmlns/prod/streams/spl/operator" xmlns:cmn="http://www.ibm.com/xmlns/prod/streams/spl/common" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.ibm.com/xmlns/prod/streams/spl/operator operatorModel.xsd">
22
<!--DO NOT EDIT THIS FILE - it is machine generated-->
33
<javaOperatorModel>
4-
<!--Generated from com.ibm.streamsx.topology.internal.functional.operators.ForEach in lib/com.ibm.streamsx.topology.jar at Fri Aug 07 12:41:17 UTC 2020-->
4+
<!--Generated from com.ibm.streamsx.topology.internal.functional.operators.ForEach in lib/com.ibm.streamsx.topology.jar at Wed Aug 19 11:48:54 UTC 2020-->
55
<context>
66
<description/>
77
<metrics/>

streamsx/.toolkit/com.ibm.streamsx.topology/com.ibm.streamsx.topology.functional.java/FunctionPeriodicSource/FunctionPeriodicSource.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?xml version="1.0" encoding="UTF-8"?><operatorModel xmlns="http://www.ibm.com/xmlns/prod/streams/spl/operator" xmlns:cmn="http://www.ibm.com/xmlns/prod/streams/spl/common" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.ibm.com/xmlns/prod/streams/spl/operator operatorModel.xsd">
22
<!--DO NOT EDIT THIS FILE - it is machine generated-->
33
<javaOperatorModel>
4-
<!--Generated from com.ibm.streamsx.topology.internal.functional.ops.FunctionPeriodicSource in lib/com.ibm.streamsx.topology.jar at Fri Aug 07 12:41:18 UTC 2020-->
4+
<!--Generated from com.ibm.streamsx.topology.internal.functional.ops.FunctionPeriodicSource in lib/com.ibm.streamsx.topology.jar at Wed Aug 19 11:48:54 UTC 2020-->
55
<context>
66
<description/>
77
<metrics/>

streamsx/.toolkit/com.ibm.streamsx.topology/com.ibm.streamsx.topology.functional.java/HashAdder/HashAdder.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?xml version="1.0" encoding="UTF-8"?><operatorModel xmlns="http://www.ibm.com/xmlns/prod/streams/spl/operator" xmlns:cmn="http://www.ibm.com/xmlns/prod/streams/spl/common" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.ibm.com/xmlns/prod/streams/spl/operator operatorModel.xsd">
22
<!--DO NOT EDIT THIS FILE - it is machine generated-->
33
<javaOperatorModel>
4-
<!--Generated from com.ibm.streamsx.topology.internal.functional.operators.HashAdder in lib/com.ibm.streamsx.topology.jar at Fri Aug 07 12:41:17 UTC 2020-->
4+
<!--Generated from com.ibm.streamsx.topology.internal.functional.operators.HashAdder in lib/com.ibm.streamsx.topology.jar at Wed Aug 19 11:48:54 UTC 2020-->
55
<context>
66
<description/>
77
<metrics/>

streamsx/.toolkit/com.ibm.streamsx.topology/com.ibm.streamsx.topology.functional.java/HashRemover/HashRemover.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?xml version="1.0" encoding="UTF-8"?><operatorModel xmlns="http://www.ibm.com/xmlns/prod/streams/spl/operator" xmlns:cmn="http://www.ibm.com/xmlns/prod/streams/spl/common" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.ibm.com/xmlns/prod/streams/spl/operator operatorModel.xsd">
22
<!--DO NOT EDIT THIS FILE - it is machine generated-->
33
<javaOperatorModel>
4-
<!--Generated from com.ibm.streamsx.topology.internal.functional.operators.HashRemover in lib/com.ibm.streamsx.topology.jar at Fri Aug 07 12:41:17 UTC 2020-->
4+
<!--Generated from com.ibm.streamsx.topology.internal.functional.operators.HashRemover in lib/com.ibm.streamsx.topology.jar at Wed Aug 19 11:48:54 UTC 2020-->
55
<context>
66
<description/>
77
<metrics/>

streamsx/.toolkit/com.ibm.streamsx.topology/com.ibm.streamsx.topology.functional.java/Join/Join.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?xml version="1.0" encoding="UTF-8"?><operatorModel xmlns="http://www.ibm.com/xmlns/prod/streams/spl/operator" xmlns:cmn="http://www.ibm.com/xmlns/prod/streams/spl/common" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.ibm.com/xmlns/prod/streams/spl/operator operatorModel.xsd">
22
<!--DO NOT EDIT THIS FILE - it is machine generated-->
33
<javaOperatorModel>
4-
<!--Generated from com.ibm.streamsx.topology.internal.functional.ops.FunctionJoin in lib/com.ibm.streamsx.topology.jar at Fri Aug 07 12:41:18 UTC 2020-->
4+
<!--Generated from com.ibm.streamsx.topology.internal.functional.ops.FunctionJoin in lib/com.ibm.streamsx.topology.jar at Wed Aug 19 11:48:54 UTC 2020-->
55
<context>
66
<description/>
77
<iconUri size="16">join_16.gif</iconUri>

streamsx/.toolkit/com.ibm.streamsx.topology/com.ibm.streamsx.topology.functional.java/Map/Map.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?xml version="1.0" encoding="UTF-8"?><operatorModel xmlns="http://www.ibm.com/xmlns/prod/streams/spl/operator" xmlns:cmn="http://www.ibm.com/xmlns/prod/streams/spl/common" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.ibm.com/xmlns/prod/streams/spl/operator operatorModel.xsd">
22
<!--DO NOT EDIT THIS FILE - it is machine generated-->
33
<javaOperatorModel>
4-
<!--Generated from com.ibm.streamsx.topology.internal.functional.ops.FunctionTransform in lib/com.ibm.streamsx.topology.jar at Fri Aug 07 12:41:18 UTC 2020-->
4+
<!--Generated from com.ibm.streamsx.topology.internal.functional.ops.FunctionTransform in lib/com.ibm.streamsx.topology.jar at Wed Aug 19 11:48:54 UTC 2020-->
55
<context>
66
<description/>
77
<iconUri size="16">functor_16.gif</iconUri>

streamsx/.toolkit/com.ibm.streamsx.topology/com.ibm.streamsx.topology.functional.java/PassThrough/PassThrough.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?xml version="1.0" encoding="UTF-8"?><operatorModel xmlns="http://www.ibm.com/xmlns/prod/streams/spl/operator" xmlns:cmn="http://www.ibm.com/xmlns/prod/streams/spl/common" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.ibm.com/xmlns/prod/streams/spl/operator operatorModel.xsd">
22
<!--DO NOT EDIT THIS FILE - it is machine generated-->
33
<javaOperatorModel>
4-
<!--Generated from com.ibm.streamsx.topology.internal.functional.operators.PassThrough in lib/com.ibm.streamsx.topology.jar at Fri Aug 07 12:41:17 UTC 2020-->
4+
<!--Generated from com.ibm.streamsx.topology.internal.functional.operators.PassThrough in lib/com.ibm.streamsx.topology.jar at Wed Aug 19 11:48:54 UTC 2020-->
55
<context>
66
<description/>
77
<metrics/>

streamsx/.toolkit/com.ibm.streamsx.topology/com.ibm.streamsx.topology.functional.java/Source/Source.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?xml version="1.0" encoding="UTF-8"?><operatorModel xmlns="http://www.ibm.com/xmlns/prod/streams/spl/operator" xmlns:cmn="http://www.ibm.com/xmlns/prod/streams/spl/common" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.ibm.com/xmlns/prod/streams/spl/operator operatorModel.xsd">
22
<!--DO NOT EDIT THIS FILE - it is machine generated-->
33
<javaOperatorModel>
4-
<!--Generated from com.ibm.streamsx.topology.internal.functional.operators.Source in lib/com.ibm.streamsx.topology.jar at Fri Aug 07 12:41:17 UTC 2020-->
4+
<!--Generated from com.ibm.streamsx.topology.internal.functional.operators.Source in lib/com.ibm.streamsx.topology.jar at Wed Aug 19 11:48:54 UTC 2020-->
55
<context>
66
<description/>
77
<metrics/>

streamsx/.toolkit/com.ibm.streamsx.topology/com.ibm.streamsx.topology.functional.java/Split/Split.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?xml version="1.0" encoding="UTF-8"?><operatorModel xmlns="http://www.ibm.com/xmlns/prod/streams/spl/operator" xmlns:cmn="http://www.ibm.com/xmlns/prod/streams/spl/common" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.ibm.com/xmlns/prod/streams/spl/operator operatorModel.xsd">
22
<!--DO NOT EDIT THIS FILE - it is machine generated-->
33
<javaOperatorModel>
4-
<!--Generated from com.ibm.streamsx.topology.internal.functional.ops.FunctionSplit in lib/com.ibm.streamsx.topology.jar at Fri Aug 07 12:41:18 UTC 2020-->
4+
<!--Generated from com.ibm.streamsx.topology.internal.functional.ops.FunctionSplit in lib/com.ibm.streamsx.topology.jar at Wed Aug 19 11:48:54 UTC 2020-->
55
<context>
66
<description/>
77
<iconUri size="16">split_16.gif</iconUri>

streamsx/.toolkit/com.ibm.streamsx.topology/com.ibm.streamsx.topology.functional.java/ToSPL/ToSPL.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?xml version="1.0" encoding="UTF-8"?><operatorModel xmlns="http://www.ibm.com/xmlns/prod/streams/spl/operator" xmlns:cmn="http://www.ibm.com/xmlns/prod/streams/spl/common" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.ibm.com/xmlns/prod/streams/spl/operator operatorModel.xsd">
22
<!--DO NOT EDIT THIS FILE - it is machine generated-->
33
<javaOperatorModel>
4-
<!--Generated from com.ibm.streamsx.topology.internal.functional.ops.FunctionConvertToSPL in lib/com.ibm.streamsx.topology.jar at Fri Aug 07 12:41:17 UTC 2020-->
4+
<!--Generated from com.ibm.streamsx.topology.internal.functional.ops.FunctionConvertToSPL in lib/com.ibm.streamsx.topology.jar at Wed Aug 19 11:48:54 UTC 2020-->
55
<context>
66
<description/>
77
<iconUri size="16">functor_16.gif</iconUri>

streamsx/.toolkit/com.ibm.streamsx.topology/com.ibm.streamsx.topology.functional.python/Aggregate/Aggregate_cpp.cgt

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,11 @@
2020
# Configure Windowing
2121
my $inputPort = $model->getInputPortAt(0);
2222
my $window = $inputPort->getWindow();
23+
24+
my $isPunctWindow = ($window->isTumbling() &&
25+
($window->getEvictionPolicyType() ==
26+
$SPL::Operator::Instance::Window::PUNCT));
27+
2328
my $windowCppInitializer = SPL::CodeGen::getWindowCppInitializer($window,"PyObject *");
2429

2530
# Select the Python wrapper function
@@ -53,6 +58,9 @@ MY_OPERATOR::MY_OPERATOR() :
5358
<% if ($window->isTumbling()) {%>
5459
window_.registerBeforeWindowFlushHandler(this);
5560
<%}%>
61+
<%if($isPunctWindow){%>
62+
window_.registerOnEmptyWindowPunctEvent(this);
63+
<%}%>
5664
#if SPLPY_PARTITION_BY_PYTHON == 1
5765
window_.registerOnWindowPartitionEviction(this);
5866
#endif
@@ -257,13 +265,25 @@ void MY_OPERATOR::process(Tuple const & tuple, uint32_t port)
257265

258266
void MY_OPERATOR::process(Punctuation const & punct, uint32_t port)
259267
{
268+
<%if($isPunctWindow){%>
269+
if(punct==Punctuation::WindowMarker) {
270+
window_.insert(punct);
271+
}
272+
<%}%>
260273
<% if ($window->isTumbling()) {%>
261-
// Aggregate the remaining contents if there are some.
262-
if (punct == Punctuation::FinalMarker)
263-
aggregateRemaining();
274+
// Aggregate the remaining contents if there are some.
275+
if (punct == Punctuation::FinalMarker)
276+
aggregateRemaining();
264277
<%}%>
265278
}
266279

280+
<%if($isPunctWindow){%>
281+
void MY_OPERATOR::onEmptyWindowPunctEvent(WindowEventType::WindowType & window)
282+
{
283+
submit(Punctuation::WindowMarker, 0);
284+
}
285+
<%}%>
286+
267287
<% if ($window->isTumbling()) {%>
268288
void MY_OPERATOR::aggregateRemaining() {
269289
#if SPLPY_AGGREGATE_TIME_POLICIES == 1

streamsx/.toolkit/com.ibm.streamsx.topology/com.ibm.streamsx.topology.functional.python/Aggregate/Aggregate_cpp.pm

Lines changed: 29 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,11 @@ sub main::generate($$) {
6868
# Configure Windowing
6969
my $inputPort = $model->getInputPortAt(0);
7070
my $window = $inputPort->getWindow();
71+
72+
my $isPunctWindow = ($window->isTumbling() &&
73+
($window->getEvictionPolicyType() ==
74+
$SPL::Operator::Instance::Window::PUNCT));
75+
7176
my $windowCppInitializer = SPL::CodeGen::getWindowCppInitializer($window,"PyObject *");
7277

7378
# Select the Python wrapper function
@@ -109,6 +114,11 @@ sub main::generate($$) {
109114
print ' window_.registerBeforeWindowFlushHandler(this);', "\n";
110115
}
111116
print "\n";
117+
if($isPunctWindow){
118+
print "\n";
119+
print ' window_.registerOnEmptyWindowPunctEvent(this);', "\n";
120+
}
121+
print "\n";
112122
print '#if SPLPY_PARTITION_BY_PYTHON == 1', "\n";
113123
print ' window_.registerOnWindowPartitionEviction(this);', "\n";
114124
print '#endif', "\n";
@@ -466,14 +476,30 @@ sub main::generate($$) {
466476
print "\n";
467477
print 'void MY_OPERATOR_SCOPE::MY_OPERATOR::process(Punctuation const & punct, uint32_t port)', "\n";
468478
print '{', "\n";
479+
if($isPunctWindow){
480+
print "\n";
481+
print ' if(punct==Punctuation::WindowMarker) {', "\n";
482+
print ' window_.insert(punct);', "\n";
483+
print ' }', "\n";
484+
}
485+
print "\n";
469486
if ($window->isTumbling()) {
470487
print "\n";
471-
print ' // Aggregate the remaining contents if there are some.', "\n";
472-
print ' if (punct == Punctuation::FinalMarker)', "\n";
473-
print ' aggregateRemaining();', "\n";
488+
print ' // Aggregate the remaining contents if there are some.', "\n";
489+
print ' if (punct == Punctuation::FinalMarker)', "\n";
490+
print ' aggregateRemaining();', "\n";
474491
}
475492
print "\n";
476493
print '}', "\n";
494+
print "\n";
495+
if($isPunctWindow){
496+
print "\n";
497+
print 'void MY_OPERATOR_SCOPE::MY_OPERATOR::onEmptyWindowPunctEvent(WindowEventType::WindowType & window)', "\n";
498+
print '{', "\n";
499+
print ' submit(Punctuation::WindowMarker, 0);', "\n";
500+
print '}', "\n";
501+
}
502+
print "\n";
477503
print "\n";
478504
if ($window->isTumbling()) {
479505
print "\n";

0 commit comments

Comments
 (0)