Releases: jpaulm/javafbp
Sort enhanced to handle up to 999,999 IPs; version no. updated
v3.0.4 Update version no. and timestamp
Added WordCount application, using enhanced DeCompose
This application was suggested by Google Streams. DeCompose already existed but needed to be enhanced to split text based on blanks OR other punctuation marks.
DeCompose is one of the components used in the Telegram Problem solution, described in
https://en.wikipedia.org/wiki/Flow-based_programming#.22Telegram_Problem.22 .
Note: in the 2nd DrawFBP video (due out mid-May), WordCount is built in @jpaulm 's TestDraw project in Eclipse - it has been added to JavaFBP so it will be included in GitHub and in the javafbp jar file.
Added component to merge substreams that have gone through LoadBalance
A new component, SubstreamSensitiveMerge, has been added to JavaFBP, to handle merging streams containing substreams after they have been through a LoadBalance process. This necessitated a new API call, findInputPortElementWithData(InputPort[]), which takes as operand the array created by the openInputArray service - findInputPortElementWithData will suspend temporarily if there is no data at any of the input port elements - no polling is done.
In addition, we have added a test network, TestLoadBalanceWithSubstreams, which does a LoadBalance, followed by a SubstreamSensitiveMerge. It has been set up to optionally replace the SubstreamSensitiveMerge by a "first come, first served" merge point, to illustrate how the input stream gets scrambled if you just try using a simple merge, rather than SubstreamSensitiveMerge.
We have also added a "round robin" merge, RRMerge, to illustrate the use of input array port elements. Of course this has no connection with the preceding paragraph - I realized belatedly that I didn't have an example of an array-type input port in the examples.
Finally, the SlowPass component has been updated to randomly generate the "sleep" interval.
Have also added CheckSequenceWithinSubstreams.java - this detected an empty substream created by GenSS - this has now been fixed.
Care must be taken if combining LoadBalance and SubstreamSensitiveMerge - this should probably be avoided if possible. The problem is described in more detail under #8 .
WebSockets support moved to separate project
WebSockets support has been split off from this project, and a new one called JavaFBP-WebSockets has been created
Optional input port support
V1.0 only checked for mandatory output ports being connected. V2.9 (was V1.1) now also checks for mandatory input ports, but in existing applications it cannot be assumed that all input ports have been connected - either using regular connections or IIPs - so an optional
attribute has been added to component @InPort
metadata.
First release for Github releases section
The binary JAR is compiled using the following SDK:
java version "1.7.0_51"
Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode)