├── .classpath ├── .gitignore ├── .project ├── .settings ├── gradle │ ├── org.springsource.ide.eclipse.gradle.core.import.prefs │ ├── org.springsource.ide.eclipse.gradle.core.prefs │ └── org.springsource.ide.eclipse.gradle.refresh.prefs ├── org.eclipse.jdt.core.prefs └── org.eclipse.m2e.core.prefs ├── README.md ├── build.gradle ├── build ├── distributions │ ├── javafbp-4.1.1.tar │ ├── javafbp-4.1.1.zip │ ├── javafbp-4.1.10.tar │ ├── javafbp-4.1.10.zip │ ├── javafbp-4.1.11.tar │ ├── javafbp-4.1.11.zip │ ├── javafbp-4.1.12.tar │ ├── javafbp-4.1.12.zip │ ├── javafbp-4.1.13.tar │ ├── javafbp-4.1.13.zip │ ├── javafbp-4.1.14.tar │ ├── javafbp-4.1.14.zip │ ├── javafbp-4.1.2.tar │ ├── javafbp-4.1.2.zip │ ├── javafbp-4.1.3.tar │ ├── javafbp-4.1.3.zip │ ├── javafbp-4.1.4.tar │ ├── javafbp-4.1.4.zip │ ├── javafbp-4.1.5.tar │ ├── javafbp-4.1.5.zip │ ├── javafbp-4.1.6.tar │ ├── javafbp-4.1.6.zip │ ├── javafbp-4.1.7.tar │ ├── javafbp-4.1.7.zip │ ├── javafbp-4.1.8.tar │ ├── javafbp-4.1.8.zip │ ├── javafbp-4.1.9.tar │ └── javafbp-4.1.9.zip ├── libs │ ├── javafbp-4.0.1-javadoc.jar.asc │ ├── javafbp-4.0.1-sources.jar │ ├── javafbp-4.0.1-sources.jar.asc │ ├── javafbp-4.0.1.jar.asc │ ├── javafbp-4.1.0-javadoc.jar │ ├── javafbp-4.1.0-javadoc.jar.asc │ ├── javafbp-4.1.0-sources.jar │ ├── javafbp-4.1.0-sources.jar.asc │ ├── javafbp-4.1.0.jar │ ├── javafbp-4.1.0.jar.asc │ ├── javafbp-4.1.1-javadoc.jar │ ├── javafbp-4.1.1-javadoc.jar.asc │ ├── javafbp-4.1.1-sources.jar │ ├── javafbp-4.1.1-sources.jar.asc │ ├── javafbp-4.1.1.jar │ ├── javafbp-4.1.1.jar.asc │ ├── javafbp-4.1.10-javadoc.jar │ ├── javafbp-4.1.10-javadoc.jar.asc │ ├── javafbp-4.1.10-sources.jar │ ├── javafbp-4.1.10-sources.jar.asc │ ├── javafbp-4.1.10.jar │ ├── javafbp-4.1.10.jar.asc │ ├── javafbp-4.1.11-javadoc.jar │ ├── javafbp-4.1.11-javadoc.jar.asc │ ├── javafbp-4.1.11-sources.jar │ ├── javafbp-4.1.11-sources.jar.asc │ ├── javafbp-4.1.11.jar │ ├── javafbp-4.1.11.jar.asc │ ├── javafbp-4.1.12-javadoc.jar │ ├── javafbp-4.1.12-javadoc.jar.asc │ ├── javafbp-4.1.12-sources.jar │ ├── javafbp-4.1.12-sources.jar.asc │ ├── javafbp-4.1.12.jar │ ├── javafbp-4.1.12.jar.asc │ ├── javafbp-4.1.13-javadoc.jar │ ├── javafbp-4.1.13-javadoc.jar.asc │ ├── javafbp-4.1.13-sources.jar │ ├── javafbp-4.1.13-sources.jar.asc │ ├── javafbp-4.1.13.jar │ ├── javafbp-4.1.13.jar.asc │ ├── javafbp-4.1.14-javadoc.jar │ ├── javafbp-4.1.14-sources.jar │ ├── javafbp-4.1.14.jar │ ├── javafbp-4.1.2-javadoc.jar │ ├── javafbp-4.1.2-javadoc.jar.asc │ ├── javafbp-4.1.2-sources.jar │ ├── javafbp-4.1.2-sources.jar.asc │ ├── javafbp-4.1.2.jar │ ├── javafbp-4.1.2.jar.asc │ ├── javafbp-4.1.3-javadoc.jar │ ├── javafbp-4.1.3-javadoc.jar.asc │ ├── javafbp-4.1.3-sources.jar │ ├── javafbp-4.1.3-sources.jar.asc │ ├── javafbp-4.1.3.jar │ ├── javafbp-4.1.3.jar.asc │ ├── javafbp-4.1.4-javadoc.jar │ ├── javafbp-4.1.4-javadoc.jar.asc │ ├── javafbp-4.1.4-sources.jar │ ├── javafbp-4.1.4-sources.jar.asc │ ├── javafbp-4.1.4.jar │ ├── javafbp-4.1.4.jar.asc │ ├── javafbp-4.1.5-javadoc.jar │ ├── javafbp-4.1.5-javadoc.jar.asc │ ├── javafbp-4.1.5-sources.jar │ ├── javafbp-4.1.5-sources.jar.asc │ ├── javafbp-4.1.5.jar │ ├── javafbp-4.1.5.jar.asc │ ├── javafbp-4.1.6-javadoc.jar │ ├── javafbp-4.1.6-javadoc.jar.asc │ ├── javafbp-4.1.6-sources.jar │ ├── javafbp-4.1.6-sources.jar.asc │ ├── javafbp-4.1.6.jar │ ├── javafbp-4.1.6.jar.asc │ ├── javafbp-4.1.7-javadoc.jar │ ├── javafbp-4.1.7-javadoc.jar.asc │ ├── javafbp-4.1.7-sources.jar │ ├── javafbp-4.1.7-sources.jar.asc │ ├── javafbp-4.1.7.jar │ ├── javafbp-4.1.7.jar.asc │ ├── javafbp-4.1.8-javadoc.jar │ ├── javafbp-4.1.8-javadoc.jar.asc │ ├── javafbp-4.1.8-sources.jar │ ├── javafbp-4.1.8-sources.jar.asc │ ├── javafbp-4.1.8.jar │ ├── javafbp-4.1.8.jar.asc │ ├── javafbp-4.1.9-javadoc.jar │ ├── javafbp-4.1.9-javadoc.jar.asc │ ├── javafbp-4.1.9-sources.jar │ ├── javafbp-4.1.9-sources.jar.asc │ ├── javafbp-4.1.9.jar │ └── javafbp-4.1.9.jar.asc ├── poms │ ├── pom-default.xml │ └── pom-default.xml.asc ├── publications │ └── mavenJava │ │ ├── module.json │ │ ├── module.json.asc │ │ ├── pom-default.xml │ │ └── pom-default.xml.asc └── scripts │ ├── javafbp │ └── javafbp.bat ├── docs ├── MergeandSort.png ├── compListPart.png └── style.css ├── gradle-app.setting ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── lgpl-3.0.txt ├── package.json ├── pom.xml ├── renovate.json ├── src └── main │ ├── java │ └── com │ │ └── jpaulmorrison │ │ ├── fbp │ │ ├── core │ │ │ ├── components │ │ │ │ ├── audio │ │ │ │ │ ├── GenSamples.java │ │ │ │ │ ├── JingleBells.java │ │ │ │ │ ├── JingleBells2.java │ │ │ │ │ ├── MixerInput.java │ │ │ │ │ ├── SoundMixer.java │ │ │ │ │ └── Text2IntArray.java │ │ │ │ ├── httpurl │ │ │ │ │ └── LoadURL.java │ │ │ │ ├── io │ │ │ │ │ ├── EnhancedWriteFile.java │ │ │ │ │ ├── ListFiles.java │ │ │ │ │ ├── ReadEmails.java │ │ │ │ │ ├── ReadFile.java │ │ │ │ │ ├── ReadFromSocket.java │ │ │ │ │ ├── WriteFile.java │ │ │ │ │ └── WriteToSocket.java │ │ │ │ ├── jdbc │ │ │ │ │ ├── ReadJDBC.java │ │ │ │ │ └── WriteJDBC.java │ │ │ │ ├── misc │ │ │ │ │ ├── Collate.java │ │ │ │ │ ├── Counter.java │ │ │ │ │ ├── GenerateTestData.java │ │ │ │ │ ├── WriteObjectsToConsole.java │ │ │ │ │ └── WriteToConsole.java │ │ │ │ ├── parsexml │ │ │ │ │ ├── Comment.java │ │ │ │ │ ├── Control.java │ │ │ │ │ ├── End.java │ │ │ │ │ ├── ParseXML.java │ │ │ │ │ ├── Solo.java │ │ │ │ │ ├── Start.java │ │ │ │ │ └── Text.java │ │ │ │ ├── routing │ │ │ │ │ ├── ConcatStreams.java │ │ │ │ │ ├── Copy.java │ │ │ │ │ ├── Crash.java │ │ │ │ │ ├── Discard.java │ │ │ │ │ ├── Gate.java │ │ │ │ │ ├── Heartbeat.java │ │ │ │ │ ├── Inject.java │ │ │ │ │ ├── Kick.java │ │ │ │ │ ├── KickWD.java │ │ │ │ │ ├── LoadBalance.java │ │ │ │ │ ├── Output.java │ │ │ │ │ ├── Passthru.java │ │ │ │ │ ├── RRMerge.java │ │ │ │ │ ├── RandomDelay.java │ │ │ │ │ ├── SelNthItem.java │ │ │ │ │ ├── Sort.java │ │ │ │ │ ├── Splitter1.java │ │ │ │ │ └── SubstreamSensitiveMerge.java │ │ │ │ ├── swing │ │ │ │ │ └── ShowText.java │ │ │ │ └── text │ │ │ │ │ ├── Affix.java │ │ │ │ │ ├── ConcatString.java │ │ │ │ │ ├── DeCompose.java │ │ │ │ │ ├── DedupeSuccessive.java │ │ │ │ │ ├── DuplicateString.java │ │ │ │ │ ├── FieldLimits.java │ │ │ │ │ ├── LineToWords.java │ │ │ │ │ ├── LowerCase.java │ │ │ │ │ ├── Obscure.java │ │ │ │ │ ├── PadFields.java │ │ │ │ │ ├── Prefix.java │ │ │ │ │ ├── ReCompose.java │ │ │ │ │ ├── RegExReplace.java │ │ │ │ │ ├── ReplString.java │ │ │ │ │ ├── ReplaceRegExp.java │ │ │ │ │ ├── ReplaceString.java │ │ │ │ │ ├── StartsWith.java │ │ │ │ │ ├── StripPunct.java │ │ │ │ │ └── WordsToLine.java │ │ │ └── engine │ │ │ │ ├── Chain.java │ │ │ │ ├── Comparator.java │ │ │ │ ├── Component.java │ │ │ │ ├── ComponentDescription.java │ │ │ │ ├── ComponentException.java │ │ │ │ ├── ConnArray.java │ │ │ │ ├── Connection.java │ │ │ │ ├── DispIPCounts.java │ │ │ │ ├── DummyMain.java │ │ │ │ ├── FlowError.java │ │ │ │ ├── InPort.java │ │ │ │ ├── InPorts.java │ │ │ │ ├── InitializationConnection.java │ │ │ │ ├── InputPort.java │ │ │ │ ├── License.txt │ │ │ │ ├── MustRun.java │ │ │ │ ├── Network.java │ │ │ │ ├── NullConnection.java │ │ │ │ ├── NullOutputPort.java │ │ │ │ ├── OutArray.java │ │ │ │ ├── OutPort.java │ │ │ │ ├── OutPorts.java │ │ │ │ ├── OutputPort.java │ │ │ │ ├── Packet.java │ │ │ │ ├── Port.java │ │ │ │ ├── Priority.java │ │ │ │ ├── SelfStarting.java │ │ │ │ ├── SubIn.java │ │ │ │ ├── SubInSS.java │ │ │ │ ├── SubNet.java │ │ │ │ ├── SubOI.java │ │ │ │ ├── SubOut.java │ │ │ │ ├── SubOutSS.java │ │ │ │ ├── TimeoutHandler.java │ │ │ │ ├── VersionAndTimestamp.java │ │ │ │ └── lgpl-3.0.txt │ │ └── resourcekit │ │ │ ├── examples │ │ │ ├── components │ │ │ │ ├── BuildBlob.java │ │ │ │ ├── ChainOps.java │ │ │ │ ├── CheckBallooning.java │ │ │ │ ├── CheckForDupNames.java │ │ │ │ ├── CheckSequenceWithinSubstreams.java │ │ │ │ ├── FileReadLines.java │ │ │ │ ├── GenSS.java │ │ │ │ ├── GenSubStreams.java │ │ │ │ ├── GenerateFixedSizeArray.java │ │ │ │ ├── GenerateOptionalArray.java │ │ │ │ ├── GenerateSlowly.java │ │ │ │ ├── GenerateWordCounts.java │ │ │ │ ├── Interpret.java │ │ │ │ ├── JFilter.java │ │ │ │ ├── LDIFScan.java │ │ │ │ ├── RGQ.java │ │ │ │ ├── SlowPass.java │ │ │ │ ├── TestStack.java │ │ │ │ └── WriteReadConsole.java │ │ │ ├── networks │ │ │ │ ├── Copy1.java │ │ │ │ ├── Copy2.java │ │ │ │ ├── CopyFileToCons.java │ │ │ │ ├── Deadlock.java │ │ │ │ ├── FileCopy.java │ │ │ │ ├── FileViewer.java │ │ │ │ ├── InfQueueAsMain.java │ │ │ │ ├── MergeSortDrop.java │ │ │ │ ├── MergeandSort.java │ │ │ │ ├── NoDeadlock.java │ │ │ │ ├── PlayTune.java │ │ │ │ ├── ReadHTML.java │ │ │ │ ├── RemoveGedcomQuotes.java │ │ │ │ ├── ScanDir.java │ │ │ │ ├── SelRecipes.java │ │ │ │ ├── SriramsTest.java │ │ │ │ ├── SubnetD.java │ │ │ │ ├── SubnetX.java │ │ │ │ ├── TPX.java │ │ │ │ ├── TSS.java │ │ │ │ ├── Telegram.java │ │ │ │ ├── TestArrayPorts.java │ │ │ │ ├── TestChainsNet.java │ │ │ │ ├── TestCounter.java │ │ │ │ ├── TestDeadlockDetection.java │ │ │ │ ├── TestDropOldest.java │ │ │ │ ├── TestFixedSizeArray.java │ │ │ │ ├── TestIPCounting.java │ │ │ │ ├── TestInfiniteQueue.java │ │ │ │ ├── TestLoadBalanceWithSubstreams.java │ │ │ │ ├── TestLoadBalancer.java │ │ │ │ ├── TestLocks.java │ │ │ │ ├── TestMixedInput.java │ │ │ │ ├── TestNestedSubstreams.java │ │ │ │ ├── TestNullOutputPort.java │ │ │ │ ├── TestOptionalArray.java │ │ │ │ ├── TestSelNthItem.java │ │ │ │ ├── TestSockets.java │ │ │ │ ├── TestTune.java │ │ │ │ ├── TestTune2.java │ │ │ │ ├── TextMerge.java │ │ │ │ ├── TimingTest.java │ │ │ │ ├── TryReplicate.java │ │ │ │ ├── Update.java │ │ │ │ ├── VolumeTest.java │ │ │ │ ├── VolumeTest2.java │ │ │ │ ├── VolumeTest3.java │ │ │ │ ├── WordCount.java │ │ │ │ ├── WriteReadInterpret.java │ │ │ │ └── WriteToSocketFromJava.java │ │ │ └── subnets │ │ │ │ └── InfiniteQueue.java │ │ │ ├── experimental │ │ │ ├── components │ │ │ │ ├── Balloon.java │ │ │ │ ├── BigBufferWriteFile.java │ │ │ │ ├── ShowURL.java │ │ │ │ └── TabulaRasa.java │ │ │ └── networks │ │ │ │ ├── CopyTR.java │ │ │ │ ├── TestBalloon.java │ │ │ │ └── TryBrowser.java │ │ │ └── templates │ │ │ └── FBPComponentTemplate.java │ │ └── utils │ │ └── BabelParser2.java │ └── resources │ ├── LICENSE │ └── testdata │ ├── 21lines.txt │ ├── contacts.ldif │ ├── dfile │ ├── emptyfile.txt │ ├── input.txt │ ├── mfile │ ├── persons.csv │ ├── readme.txt │ ├── recipes.csv │ ├── script_test.js │ ├── temp │ ├── testdata.txt │ └── tune.txt └── testdata ├── 21lines.txt ├── contacts.ldif ├── dfile ├── emptyfile.txt ├── input.txt ├── mfile ├── persons.csv ├── readme.txt ├── recipes.csv ├── script_test.js ├── temp ├── testdata.txt └── tune.txt /.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml 2 | hs_err_pid* 3 | 4 | *-fulltrace.txt 5 | output 6 | temp.data 7 | 8 | # Gradle 9 | .gradle 10 | 11 | # Maven packages/etc 12 | target/ 13 | 14 | 15 | build/tmp 16 | build/resources 17 | build/classes 18 | build/dependency-cache 19 | build/ivy.xml 20 | 21 | build/docs/javadoc 22 | 23 | # Eclipse project 24 | bin 25 | 26 | # IDEA project 27 | .idea/ 28 | *.iml 29 | 30 | # System's crap 31 | Thumbs.db 32 | .DS_Store 33 | 34 | -------------------------------------------------------------------------------- /.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | javafbp 4 | Java Implementation of "Classical" Flow-Based Programming 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | org.eclipse.m2e.core.maven2Builder 15 | 16 | 17 | 18 | 19 | 20 | org.eclipse.m2e.core.maven2Nature 21 | org.springsource.ide.eclipse.gradle.core.nature 22 | org.eclipse.jdt.core.javanature 23 | 24 | 25 | -------------------------------------------------------------------------------- /.settings/gradle/org.springsource.ide.eclipse.gradle.core.import.prefs: -------------------------------------------------------------------------------- 1 | #org.springsource.ide.eclipse.gradle.core.preferences.GradleImportPreferences 2 | #Wed Jul 27 09:56:21 EDT 2016 3 | addResourceFilters=true 4 | afterTasks=afterEclipseImport; 5 | beforeTasks=cleanEclipse;eclipse; 6 | enableAfterTasks=true 7 | enableBeforeTasks=true 8 | enableDependendencyManagement=true 9 | projects=; 10 | -------------------------------------------------------------------------------- /.settings/gradle/org.springsource.ide.eclipse.gradle.core.prefs: -------------------------------------------------------------------------------- 1 | #org.springsource.ide.eclipse.gradle.core.preferences.GradleProjectPreferences 2 | #Sun Jun 19 23:10:43 EDT 2016 3 | build.family.org.gradle.tooling.model.eclipse.HierarchicalEclipseProject=; 4 | org.springsource.ide.eclipse.gradle.linkedresources= 5 | org.springsource.ide.eclipse.gradle.rootprojectloc= 6 | -------------------------------------------------------------------------------- /.settings/gradle/org.springsource.ide.eclipse.gradle.refresh.prefs: -------------------------------------------------------------------------------- 1 | #org.springsource.ide.eclipse.gradle.core.actions.GradleRefreshPreferences 2 | #Wed Jul 27 09:56:22 EDT 2016 3 | addResourceFilters=true 4 | afterTasks=afterEclipseImport; 5 | beforeTasks=cleanEclipse;eclipse; 6 | enableAfterTasks=true 7 | enableBeforeTasks=true 8 | useHierarchicalNames=false 9 | -------------------------------------------------------------------------------- /.settings/org.eclipse.jdt.core.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled 3 | org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate 4 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 5 | org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve 6 | org.eclipse.jdt.core.compiler.compliance=1.7 7 | org.eclipse.jdt.core.compiler.debug.lineNumber=generate 8 | org.eclipse.jdt.core.compiler.debug.localVariable=generate 9 | org.eclipse.jdt.core.compiler.debug.sourceFile=generate 10 | org.eclipse.jdt.core.compiler.problem.assertIdentifier=error 11 | org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled 12 | org.eclipse.jdt.core.compiler.problem.enumIdentifier=error 13 | org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning 14 | org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning 15 | org.eclipse.jdt.core.compiler.release=disabled 16 | org.eclipse.jdt.core.compiler.source=1.7 17 | -------------------------------------------------------------------------------- /.settings/org.eclipse.m2e.core.prefs: -------------------------------------------------------------------------------- 1 | activeProfiles= 2 | eclipse.preferences.version=1 3 | resolveWorkspaceProjects=true 4 | version=1 5 | -------------------------------------------------------------------------------- /build/distributions/javafbp-4.1.1.tar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpaulm/javafbp/1bd053e39fae61be916abe4e3feb73f7a00733d5/build/distributions/javafbp-4.1.1.tar -------------------------------------------------------------------------------- /build/distributions/javafbp-4.1.1.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpaulm/javafbp/1bd053e39fae61be916abe4e3feb73f7a00733d5/build/distributions/javafbp-4.1.1.zip -------------------------------------------------------------------------------- /build/distributions/javafbp-4.1.10.tar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpaulm/javafbp/1bd053e39fae61be916abe4e3feb73f7a00733d5/build/distributions/javafbp-4.1.10.tar -------------------------------------------------------------------------------- /build/distributions/javafbp-4.1.10.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpaulm/javafbp/1bd053e39fae61be916abe4e3feb73f7a00733d5/build/distributions/javafbp-4.1.10.zip -------------------------------------------------------------------------------- /build/distributions/javafbp-4.1.11.tar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpaulm/javafbp/1bd053e39fae61be916abe4e3feb73f7a00733d5/build/distributions/javafbp-4.1.11.tar -------------------------------------------------------------------------------- /build/distributions/javafbp-4.1.11.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpaulm/javafbp/1bd053e39fae61be916abe4e3feb73f7a00733d5/build/distributions/javafbp-4.1.11.zip -------------------------------------------------------------------------------- /build/distributions/javafbp-4.1.12.tar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpaulm/javafbp/1bd053e39fae61be916abe4e3feb73f7a00733d5/build/distributions/javafbp-4.1.12.tar -------------------------------------------------------------------------------- /build/distributions/javafbp-4.1.12.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpaulm/javafbp/1bd053e39fae61be916abe4e3feb73f7a00733d5/build/distributions/javafbp-4.1.12.zip -------------------------------------------------------------------------------- /build/distributions/javafbp-4.1.13.tar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpaulm/javafbp/1bd053e39fae61be916abe4e3feb73f7a00733d5/build/distributions/javafbp-4.1.13.tar -------------------------------------------------------------------------------- /build/distributions/javafbp-4.1.13.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpaulm/javafbp/1bd053e39fae61be916abe4e3feb73f7a00733d5/build/distributions/javafbp-4.1.13.zip -------------------------------------------------------------------------------- /build/distributions/javafbp-4.1.14.tar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpaulm/javafbp/1bd053e39fae61be916abe4e3feb73f7a00733d5/build/distributions/javafbp-4.1.14.tar -------------------------------------------------------------------------------- /build/distributions/javafbp-4.1.14.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpaulm/javafbp/1bd053e39fae61be916abe4e3feb73f7a00733d5/build/distributions/javafbp-4.1.14.zip -------------------------------------------------------------------------------- /build/distributions/javafbp-4.1.2.tar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpaulm/javafbp/1bd053e39fae61be916abe4e3feb73f7a00733d5/build/distributions/javafbp-4.1.2.tar -------------------------------------------------------------------------------- /build/distributions/javafbp-4.1.2.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpaulm/javafbp/1bd053e39fae61be916abe4e3feb73f7a00733d5/build/distributions/javafbp-4.1.2.zip -------------------------------------------------------------------------------- /build/distributions/javafbp-4.1.3.tar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpaulm/javafbp/1bd053e39fae61be916abe4e3feb73f7a00733d5/build/distributions/javafbp-4.1.3.tar -------------------------------------------------------------------------------- /build/distributions/javafbp-4.1.3.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpaulm/javafbp/1bd053e39fae61be916abe4e3feb73f7a00733d5/build/distributions/javafbp-4.1.3.zip -------------------------------------------------------------------------------- /build/distributions/javafbp-4.1.4.tar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpaulm/javafbp/1bd053e39fae61be916abe4e3feb73f7a00733d5/build/distributions/javafbp-4.1.4.tar -------------------------------------------------------------------------------- /build/distributions/javafbp-4.1.4.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpaulm/javafbp/1bd053e39fae61be916abe4e3feb73f7a00733d5/build/distributions/javafbp-4.1.4.zip -------------------------------------------------------------------------------- /build/distributions/javafbp-4.1.5.tar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpaulm/javafbp/1bd053e39fae61be916abe4e3feb73f7a00733d5/build/distributions/javafbp-4.1.5.tar -------------------------------------------------------------------------------- /build/distributions/javafbp-4.1.5.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpaulm/javafbp/1bd053e39fae61be916abe4e3feb73f7a00733d5/build/distributions/javafbp-4.1.5.zip -------------------------------------------------------------------------------- /build/distributions/javafbp-4.1.6.tar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpaulm/javafbp/1bd053e39fae61be916abe4e3feb73f7a00733d5/build/distributions/javafbp-4.1.6.tar -------------------------------------------------------------------------------- /build/distributions/javafbp-4.1.6.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpaulm/javafbp/1bd053e39fae61be916abe4e3feb73f7a00733d5/build/distributions/javafbp-4.1.6.zip -------------------------------------------------------------------------------- /build/distributions/javafbp-4.1.7.tar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpaulm/javafbp/1bd053e39fae61be916abe4e3feb73f7a00733d5/build/distributions/javafbp-4.1.7.tar -------------------------------------------------------------------------------- /build/distributions/javafbp-4.1.7.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpaulm/javafbp/1bd053e39fae61be916abe4e3feb73f7a00733d5/build/distributions/javafbp-4.1.7.zip -------------------------------------------------------------------------------- /build/distributions/javafbp-4.1.8.tar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpaulm/javafbp/1bd053e39fae61be916abe4e3feb73f7a00733d5/build/distributions/javafbp-4.1.8.tar -------------------------------------------------------------------------------- /build/distributions/javafbp-4.1.8.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpaulm/javafbp/1bd053e39fae61be916abe4e3feb73f7a00733d5/build/distributions/javafbp-4.1.8.zip -------------------------------------------------------------------------------- /build/distributions/javafbp-4.1.9.tar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpaulm/javafbp/1bd053e39fae61be916abe4e3feb73f7a00733d5/build/distributions/javafbp-4.1.9.tar -------------------------------------------------------------------------------- /build/distributions/javafbp-4.1.9.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpaulm/javafbp/1bd053e39fae61be916abe4e3feb73f7a00733d5/build/distributions/javafbp-4.1.9.zip -------------------------------------------------------------------------------- /build/libs/javafbp-4.0.1-javadoc.jar.asc: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP SIGNATURE----- 2 | Version: BCPG v1.51 3 | 4 | iQEcBAABAgAGBQJXrz/EAAoJEIoqalWqx6ke6zsH/jWE6ZDKgbMRP7EcgJCWqQ3U 5 | gcAn8thKpDFNZWHChRVrfICDgHIeTjhlWHaRfV4iDx5CqHDOifO33GKTuaT9m5X6 6 | NuVdc+2ahE0Yos3lWKMEG/1lX7iCyFMp6dQGaO9GjWIPsqcPfEN2f38H5utzkQLT 7 | hGzzdzpQHwWBvwdksFKAnDjS31pYKzCdkpdlNEhrqpIutdw0oE1PV/jo82UlADQe 8 | YJE2zCkjcExhyb3Bgy/4FgOT7u8SuhAwY4zIub1z8+Pf5T4t8fUoxLPKPNOPR7tT 9 | 7en7GenVkS9bOkuSyGiSpygcISIbpNu0tGtxF93XK8wsUtI7n/9TLfNojPHye0E= 10 | =b0to 11 | -----END PGP SIGNATURE----- 12 | -------------------------------------------------------------------------------- /build/libs/javafbp-4.0.1-sources.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpaulm/javafbp/1bd053e39fae61be916abe4e3feb73f7a00733d5/build/libs/javafbp-4.0.1-sources.jar -------------------------------------------------------------------------------- /build/libs/javafbp-4.0.1-sources.jar.asc: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP SIGNATURE----- 2 | Version: BCPG v1.51 3 | 4 | iQEcBAABAgAGBQJXrz/EAAoJEIoqalWqx6keqwUIALBH5JcgroeHwQGUAaOZ8Z/C 5 | eYn0lk/e7qkde3q8xjx+Wf5tSywEfUtxoi9U/3AqFcyFqTygNWNTkDlFA9D6sMzN 6 | u7NzlkbUQH46OB7nFy653QXUcJ3aHQ6UURjPmTwO1ISEZief4BmI5iN+o0UL6DMN 7 | S/WThVgjDAszTNr2a9I2ehXFNi96GhaiZcwG6wQOycfWs+TyqnTW67wyp6g5VIC+ 8 | fQxUVd/tHDN9MtmfEpSJTdT0VnUbx62fiULOGkSyjaWlOqeeX/RY5QBxE0XiwdnD 9 | VtfGNkZp2bbXMSvSub/pO99C4X0/c2wzFlP/ctNCm5CgauTckMs9jGAixqrJGos= 10 | =kKRU 11 | -----END PGP SIGNATURE----- 12 | -------------------------------------------------------------------------------- /build/libs/javafbp-4.0.1.jar.asc: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP SIGNATURE----- 2 | Version: BCPG v1.51 3 | 4 | iQEcBAABAgAGBQJXrz/EAAoJEIoqalWqx6keXCkH/jb/w3My2QUsPe0skocjMueR 5 | YTonKljSALtDNvvtafRWjGY7xFRRKbjjoaHuwGV2qpxgWWc1hhDWMTsrzaO619t+ 6 | uGuQ5achDVKyqeMHYY/UEdW5JCQW5HgLrQFqmbHQUoe8SSB+Fx+TiRU8idGX1jY0 7 | ZYsRBpD1EYEYfCga04UnHlZA5eBdZDDVBi2nYiFMJTSd1V60CkfCANQ/b6kR5CE4 8 | aKFGPsU04Q8b712SaSVKfwy+FZzv6ifZ1PKNmp1aEHyy2JobSZUs+3csNt5LPm75 9 | tUvdTELE58xtl0cewkdO8SsTUo6STIHadVw9RzUBnJW7yDkTLAy0M2W119dKdLU= 10 | =j9+1 11 | -----END PGP SIGNATURE----- 12 | -------------------------------------------------------------------------------- /build/libs/javafbp-4.1.0-javadoc.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpaulm/javafbp/1bd053e39fae61be916abe4e3feb73f7a00733d5/build/libs/javafbp-4.1.0-javadoc.jar -------------------------------------------------------------------------------- /build/libs/javafbp-4.1.0-javadoc.jar.asc: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP SIGNATURE----- 2 | Version: BCPG v1.51 3 | 4 | iQEcBAABAgAGBQJc0cYWAAoJEIoqalWqx6keAdkH/ixhpqIfE4giGxfUsw8f+QdT 5 | CNbbnx/+WMHH9OJyUX7v/JzMqV+1cehSa8DCewP+ni+hYykIkkmOK6blivccL6bu 6 | 8ga81PEnE+CLnpaL2aOW54D7UuQeT25Ac8Gwsu9W4yPKYHXOew4285cOFK0JExKU 7 | uzgxC1wW0W996v5d3w8K/4AJZZa56rEH4hbolyN7gdvne8rL9CJ1wRKmlZ0hWfgY 8 | a8AjRqBdls4Xt5nOkzSCaj8FZzp3O2m1JJSxQMaTr7xJopZmSfSzuvfWpU9NzJzz 9 | hqMN6GPMHuIpN2j0efDyaisdoueB4GxPUneTAYPzM9bYNjSbWBFCN6oW2/ybau4= 10 | =fJ6x 11 | -----END PGP SIGNATURE----- 12 | -------------------------------------------------------------------------------- /build/libs/javafbp-4.1.0-sources.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpaulm/javafbp/1bd053e39fae61be916abe4e3feb73f7a00733d5/build/libs/javafbp-4.1.0-sources.jar -------------------------------------------------------------------------------- /build/libs/javafbp-4.1.0-sources.jar.asc: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP SIGNATURE----- 2 | Version: BCPG v1.51 3 | 4 | iQEcBAABAgAGBQJc3JqjAAoJEIoqalWqx6keMDcH/0kU/X00xuqcDqeAhG5F3kk9 5 | ly7+RpqE1J8mpJ8w0sn45Wqx9PsFo8pOVkzG0xQAUowhlQseY9RXm3qTuOBUGyF7 6 | KPYKL4hCqK/5oBt/Vh8bvWiOVH2N6QiFtwZYhN2mFr5ABY8saVHOPJq35crJUEGg 7 | bHLndKgngMtX7+RjlsL6PvsjmdiyqfBTRbQab+pLeuEXrA/8Wq98GjF6sc1EfcI/ 8 | hW4xrd7tmirhF+e4pFQNGkVyGRqlAr0E+aHukUoGvzcAFLgCD6+tdwT+pczL9mK6 9 | 3FhIlVkdWfrgbCGpoNQOqkeZJ1PbVZzwpvt84zXspDwhefe2C3Bu1GKHWA8Ozeo= 10 | =+BUk 11 | -----END PGP SIGNATURE----- 12 | -------------------------------------------------------------------------------- /build/libs/javafbp-4.1.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpaulm/javafbp/1bd053e39fae61be916abe4e3feb73f7a00733d5/build/libs/javafbp-4.1.0.jar -------------------------------------------------------------------------------- /build/libs/javafbp-4.1.0.jar.asc: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP SIGNATURE----- 2 | Version: BCPG v1.51 3 | 4 | iQEcBAABAgAGBQJc3JqjAAoJEIoqalWqx6keXHcH/2WOuzvIy0f2G+qiAAkJZrYh 5 | X6LTOh5lYauo9Mgd80JxzGoeSmpt5NqOaZmoz54bqVoZ80Mhqhjg2ymT5BTHO2N2 6 | h0n/zZsY1LsEmIEin91++1+jh+S4nCXDsk5FWwyGRQFg+Ixx8wDHCWVZRc6iDHsk 7 | Kg+KGzzRBBYMUBq55Hl2bFU3zI7T2pSrgMmFXQvUW5FT6K5dRCA5Q8RTwlWUhZVe 8 | jf0QlI9H311mi7Fl2bkXmxLqqUkSs2hddg6MuUXcL4jJqqY9kZUyJqzrOXjExUCF 9 | fSDQhliGLbkA25uwCPCASR/76v8gDG+V/GBS+JpbLiVUpupXpoxCTiYGYeiqSb4= 10 | =Ur6X 11 | -----END PGP SIGNATURE----- 12 | -------------------------------------------------------------------------------- /build/libs/javafbp-4.1.1-javadoc.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpaulm/javafbp/1bd053e39fae61be916abe4e3feb73f7a00733d5/build/libs/javafbp-4.1.1-javadoc.jar -------------------------------------------------------------------------------- /build/libs/javafbp-4.1.1-javadoc.jar.asc: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP SIGNATURE----- 2 | Version: BCPG v1.64 3 | 4 | iQEcBAABCgAGBQJeWvV+AAoJEIoqalWqx6keJWgH/19OdrmabdcVEUVYboOTa2X1 5 | Cj31ZNofhfvIinQirFPzSdLCDekf6k5DVoAYKu+FlvjxuGo5lEs9XPiPoLGTzgN5 6 | o9rmKwlnaraXMSEdl+BGmhOPXKxYOhcE7DBKkh5Gp1OP6w/qT4/NeRywg9ARPvpt 7 | 45yUTBE8KR85ETs52M+O0JXHjn20wfIhl25UvYM5eQ4seD8aTi65Os7gI7XhKZ9C 8 | PeB7i/KrL0NoKFn0woTXH7mRvnMQ2jzw776AXx9MYyhrJTXxwWO3TFAMqYvUd+xf 9 | MZER+s/B2vAW1PtwC5NcgbnhsjbfSKmqIbo8jtE6+zRNyHZPdUAAEKL/Jv0MjkY= 10 | =f9/r 11 | -----END PGP SIGNATURE----- 12 | -------------------------------------------------------------------------------- /build/libs/javafbp-4.1.1-sources.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpaulm/javafbp/1bd053e39fae61be916abe4e3feb73f7a00733d5/build/libs/javafbp-4.1.1-sources.jar -------------------------------------------------------------------------------- /build/libs/javafbp-4.1.1-sources.jar.asc: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP SIGNATURE----- 2 | Version: BCPG v1.64 3 | 4 | iQEcBAABCgAGBQJeWvV+AAoJEIoqalWqx6keHgkH/jKHUNC2rYjn+eW0unmxtMsu 5 | yDxyVglrSeq8UKP4zvpIjGl8HBao9ajQJJOX06l0f1SF/unIP+C+lsznBczFd1IY 6 | EfIPLMtwqEodDIMtnzqEYp60b6UNhlN2BRrTbsfDllRp0fwukgb3cYFv/CXuWife 7 | /yZoIFvs72pIUkLFqrUJuctRF/LeLueNmOAQpoBL98BMhVeot6rUDPOFigfm/cwg 8 | cdks5rKBhEqpDdMTm02CPsqW7geAUEBXpu4a2qDRMdXcLdndphILp6+BSV9BAXcl 9 | KrBeXIbxg754Z+R22AK9QNdGSjRKN/ch3TsoyYTbfbx9LEY3qneEGKJZXZRwfi8= 10 | =s7h/ 11 | -----END PGP SIGNATURE----- 12 | -------------------------------------------------------------------------------- /build/libs/javafbp-4.1.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpaulm/javafbp/1bd053e39fae61be916abe4e3feb73f7a00733d5/build/libs/javafbp-4.1.1.jar -------------------------------------------------------------------------------- /build/libs/javafbp-4.1.1.jar.asc: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP SIGNATURE----- 2 | Version: BCPG v1.64 3 | 4 | iQEcBAABCgAGBQJeWvV+AAoJEIoqalWqx6ketxoIAJiP0HKINcZRu8EdH1nAltSQ 5 | 8E2tEGmyAMQ0xsnIs6+3SH2NS4qhx8ugiVVdv1LlSaPK4rgdRK6/p9Jg4A/Q5Vfr 6 | d/mIooW5ARE6rvttavJBXXePdWLCCep/GJ6lptBmvGqbBL6W7nVOXQOX8l8nW9MM 7 | TwYVP76yJr7Q1GdHEUlGqk9JD93IQ7Igioo8v9Vo2Fi4lgiW9/ZsmRvCPxFf7TvT 8 | 2sYred2WGhTsvGdM6zw7C3VX006C3eRpyoYNnv4vtFR3zKJr/PlaDqczcdd2ub8P 9 | iM3moCnGO2zLglI84Aw5tiXswIIRBToXEX/c/N+qD6Uccx9yJEyQ69Yt0E94tjI= 10 | =5CfA 11 | -----END PGP SIGNATURE----- 12 | -------------------------------------------------------------------------------- /build/libs/javafbp-4.1.10-javadoc.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpaulm/javafbp/1bd053e39fae61be916abe4e3feb73f7a00733d5/build/libs/javafbp-4.1.10-javadoc.jar -------------------------------------------------------------------------------- /build/libs/javafbp-4.1.10-javadoc.jar.asc: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP SIGNATURE----- 2 | Version: BCPG v1.64 3 | 4 | iQEcBAABCgAGBQJfnZIHAAoJEIoqalWqx6keqBYH/1CSGgN+Ljy4xJe5U+77rpFw 5 | 9XaQHDP5StT2QG6DCoZ3lsN3n8RspcTlqlyqYWqVDNpm7R9goRIhd12zeFy97KTV 6 | zO4BbnPovauw+WLTL3BVUC8XDEIlXdkZpy4JK5i66BqNIqznYmCrtQybd/b1sfwU 7 | FZrCHqsMEIqYnjDEpv4gauNd/FQExrpHVSSxv0bv7p5rF/MI3/xniFJ2TlvR1DRi 8 | P7eMvjOqo3JNAfT9YFozXK1ezbHH/hZssCtAPugUt2LZxbTecd/y4YYQkdv49K4E 9 | cYLe0FxwwNNe5Gfzmnd3fRVOTskOfBRA1wN4TagaGEXlsUKws93THcBcrdEaMs4= 10 | =EtcJ 11 | -----END PGP SIGNATURE----- 12 | -------------------------------------------------------------------------------- /build/libs/javafbp-4.1.10-sources.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpaulm/javafbp/1bd053e39fae61be916abe4e3feb73f7a00733d5/build/libs/javafbp-4.1.10-sources.jar -------------------------------------------------------------------------------- /build/libs/javafbp-4.1.10-sources.jar.asc: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP SIGNATURE----- 2 | Version: BCPG v1.64 3 | 4 | iQEcBAABCgAGBQJfnZIHAAoJEIoqalWqx6keNAwIAI2LHUc5eByKZAfsdNxMWTIF 5 | BHhAybLOyGETk53ZEEdSW6JxzUvSAHedicM2a9XF1s0uk3ZKXSwMPvHqIXq40Y/Q 6 | Wntyyc3drI8iZ9DsCncUnEXajAG/Kzz2/lfQczaFKPHuwcRZcL3E8Xm3ki4UjhtW 7 | jo7VnYhNVQCEHhG7/kDkTQK1JHfX/G8uZR73CL0Em3OcBTMuRZSQ5eMGPqJhyHVN 8 | hR2BN867Qba3bzZt3CIzCYbcCwEA+UxlcQRBUnHjPLAQJvnlDqt19y6B44swZAXQ 9 | SFbdianZ5GdNdfr8xN6NH+u6XWJQEMJMNFIHhBz/rRzvSoRWoxbi9OAPLiILyYg= 10 | =KSFU 11 | -----END PGP SIGNATURE----- 12 | -------------------------------------------------------------------------------- /build/libs/javafbp-4.1.10.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpaulm/javafbp/1bd053e39fae61be916abe4e3feb73f7a00733d5/build/libs/javafbp-4.1.10.jar -------------------------------------------------------------------------------- /build/libs/javafbp-4.1.10.jar.asc: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP SIGNATURE----- 2 | Version: BCPG v1.64 3 | 4 | iQEcBAABCgAGBQJfnZIHAAoJEIoqalWqx6kedZgH/3YamGeDojxjHyP4VXFQVMK4 5 | 7RkmZfx05F/GsaDNZzqL4HB8aNyQg5gWqBtjPIHcUzmrtUcLkLYHuNh1nsKiHag0 6 | FHRSoNxL68OSp720ur4NlDkHZWx6Eqn0+7Z8DPzr+dyzOqNTmXbYySXHbE4/gfUG 7 | /GYzT2/THjTofm9bw+zrIlUCkzdiA3V4ciliULcYqenLeEYMX/rDbxk5+jDHXqUY 8 | GzkPpu+5aDdM4KymWrBfEfNr0eMpPF+go0J1skJ61lTZQHP0t9LtT2wBQE7aQYXd 9 | iLPNS0widXIvaaIi42k+WHuNsglhbJ42C7UFQkGwir2OqAOwTklFjufqiaKcA40= 10 | =+D6a 11 | -----END PGP SIGNATURE----- 12 | -------------------------------------------------------------------------------- /build/libs/javafbp-4.1.11-javadoc.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpaulm/javafbp/1bd053e39fae61be916abe4e3feb73f7a00733d5/build/libs/javafbp-4.1.11-javadoc.jar -------------------------------------------------------------------------------- /build/libs/javafbp-4.1.11-javadoc.jar.asc: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP SIGNATURE----- 2 | Version: BCPG v1.64 3 | 4 | iQEcBAABCgAGBQJfncmNAAoJEIoqalWqx6keNL4H/038JYQWrs+ZI3TbXn7of5Hb 5 | YoSp1Gnx45Lboi7iI3AJU2i+axUNDIEjgjeGyIenNv7PoW9IMFhiOUDmcdlktfwm 6 | 2+y2zYi2oWi30XoXNqIbiP5NA8ldfi6FPfAqbo5LNgrVqHGDSIU9jzneqlwgRYMv 7 | cGd56ReHqwEnvWvj9qoWFDGIMDXufz/4b1XSRAwP0CGinCXsJqSqEVYYDUXQGTIf 8 | Ig69lI+y2uFIjklMrF1d4NlKj0kryYa/mUiRsnZgPfFFe2u8t1Pymbox0CaqS2s+ 9 | RPgrsjpoteS/VqOkyxT8T04hufA36WaZ1ANQXB/wvzvgblQ88806Yxp64q+0gls= 10 | =NUv+ 11 | -----END PGP SIGNATURE----- 12 | -------------------------------------------------------------------------------- /build/libs/javafbp-4.1.11-sources.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpaulm/javafbp/1bd053e39fae61be916abe4e3feb73f7a00733d5/build/libs/javafbp-4.1.11-sources.jar -------------------------------------------------------------------------------- /build/libs/javafbp-4.1.11-sources.jar.asc: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP SIGNATURE----- 2 | Version: BCPG v1.64 3 | 4 | iQEcBAABCgAGBQJfncmNAAoJEIoqalWqx6ke/ykH/1hCyk5xgW7lVgW1Geqotdrm 5 | 0AsdQVlEvXgiYHi19Hi8XwJeGxZY8BXTTK/Sd9smbgGHyeTC2tsiKeX9vPOBIF2o 6 | 6KAsExQwb8JA/BtJvhnkQfwlpBlFo71TfZfpSPkV/TlVXHGkV/evpIbvxJndDDJf 7 | obof6swxmVtDoyEdmQ/nd7aR6FBreq6T0OZ72s0Svi0z+9bCGg0YuhlwhXjgGImE 8 | NdInPjAOA40jUlbzFno3Ngum0I/eJwsasIFQKqVsSU2YZ4c2aMXuHU2H020ldWel 9 | XA8Vd+Gb7MXIIdagK3dkXfEXU+kvII8dRATJCwA/r5CNXOrqYwMfCGImXWS1tqU= 10 | =nc+T 11 | -----END PGP SIGNATURE----- 12 | -------------------------------------------------------------------------------- /build/libs/javafbp-4.1.11.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpaulm/javafbp/1bd053e39fae61be916abe4e3feb73f7a00733d5/build/libs/javafbp-4.1.11.jar -------------------------------------------------------------------------------- /build/libs/javafbp-4.1.11.jar.asc: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP SIGNATURE----- 2 | Version: BCPG v1.64 3 | 4 | iQEcBAABCgAGBQJfncmNAAoJEIoqalWqx6ken2MH/RLjcsGSSHdHoQz7UHxHbjqM 5 | q4uWZOH7XSe0J6yot+JIXOibg7DQH5xPt10pzxNlELlVdKUWgvISUTrbm8kZN515 6 | +e+UywTucUAcPKid322fwkTXg/ihfDO0fRVw4d0jvO3SnyGzHr2/Y07oJsgqLZLN 7 | UXIqyf98OB0wPYwx2Rm1jEPusNF4v+JAv0/9qCL5kUa5ArBxTKizmtaGoHz1Zq0g 8 | qk/8p1zf9fucu86sO/ZWbCfciKgq+qIxCfSNBoDkkVrv4UDgYcrDMfZPysXfGn+x 9 | k/fXt3dR5jWJ3lelLx3gyN8JZRuuBAs/SO8YuvUC/2POEl/2p+Dyylbi1AA0OGw= 10 | =mUY5 11 | -----END PGP SIGNATURE----- 12 | -------------------------------------------------------------------------------- /build/libs/javafbp-4.1.12-javadoc.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpaulm/javafbp/1bd053e39fae61be916abe4e3feb73f7a00733d5/build/libs/javafbp-4.1.12-javadoc.jar -------------------------------------------------------------------------------- /build/libs/javafbp-4.1.12-javadoc.jar.asc: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP SIGNATURE----- 2 | Version: BCPG v1.64 3 | 4 | iQEcBAABCgAGBQJg43hcAAoJEIoqalWqx6keD7MIAKSGO0vKWxtMQrt0CAKRW2rm 5 | 2WcKLYTwcX41svFxRedBjFBNKM1nkmCv94lu/cSk+NSWQZPeYdB32itHOdhrxpIs 6 | VVEaKVchGXzpAMgQ5qiNikIxjzP7eSr7MbMKCEJqTb2BBv4t6pIyCg/4fJAHX1lG 7 | C6L8fEqj12qMTn5cBTg8Z0+1T7IKmblkDIrWP2DANiCYdRnMznKSoEzVUu+aar5y 8 | gq5C297fRHYGlh1F1DsoNQK0iCwiJXrUCYFqX0Cq3W4XwxqYH/XyEPUh1FkCw1wZ 9 | N5w2L0cAIBw9Q91VGHcyPEubUCTTKyxqxR6tHKtpRQpZJ1+OZJ14sZ1ZN8fqG6c= 10 | =1Iza 11 | -----END PGP SIGNATURE----- 12 | -------------------------------------------------------------------------------- /build/libs/javafbp-4.1.12-sources.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpaulm/javafbp/1bd053e39fae61be916abe4e3feb73f7a00733d5/build/libs/javafbp-4.1.12-sources.jar -------------------------------------------------------------------------------- /build/libs/javafbp-4.1.12-sources.jar.asc: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP SIGNATURE----- 2 | Version: BCPG v1.64 3 | 4 | iQEcBAABCgAGBQJg43hcAAoJEIoqalWqx6kelmcH/jqLbkQoLDaxv0zn3Uok7iB6 5 | eURJ+Cdcs4eQCWKFLuqbfLvD3OvcMLRoiCCfpNsby9r8qMD8GUbo7r2POBwMVwR6 6 | oDjQofAl8gG4GY7pJECASxpxknm5YvWFj4i1+ojCdiIot9TMiHwGaFY//27mtMbf 7 | D0mtwmFyUvmEyAfCDTJpRdz0YjcczPpJtF9H2LPZ9pv13mOlulNGrEIXTCfVRmGb 8 | B4HFrZh06PPKbmXkirODKCviPl9nc0wYdGHCCYcUCM5SIiwJrHJfkeeO8sXhXVQ+ 9 | hAxGquTziMApCGekgFPUMolmd0cY3kG3fMUIN/pe8LygWUsMY+OobmQ1FgF1mtk= 10 | =faA0 11 | -----END PGP SIGNATURE----- 12 | -------------------------------------------------------------------------------- /build/libs/javafbp-4.1.12.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpaulm/javafbp/1bd053e39fae61be916abe4e3feb73f7a00733d5/build/libs/javafbp-4.1.12.jar -------------------------------------------------------------------------------- /build/libs/javafbp-4.1.12.jar.asc: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP SIGNATURE----- 2 | Version: BCPG v1.64 3 | 4 | iQEcBAABCgAGBQJg43hcAAoJEIoqalWqx6ke7MAH/iJLCFRCauOGMkKZCkgDxC/i 5 | LhOFVLXIM/PcDuTFyJ1GKclEvSAH+VIKiSgv9/s2MnXwYccprZ8uSeuaYhVt8Lty 6 | WwEaSeVlYx66rdBXl7QXl2+iw3i/eaFUPez/dTc4u59i2g/y50ueGKsPlLsEXWxs 7 | L8fZVhNtuZvwp+2vdSijOCVTFjUYP0yjZ960Jjqef1riyYIBRZS6HsxaJdX80fxF 8 | 1YEnwYDJlfJv+Mi/GjqPf/w0RnPUTrXwXF4/r0LhBnwDsOW12Zh5sieYdCJCxXLF 9 | 3jcK9f2Cch6NvW8BKSQBLkblKViMwjUK+orIs/N/QR6GZs/vLkRJUztMmN60NpY= 10 | =GLmz 11 | -----END PGP SIGNATURE----- 12 | -------------------------------------------------------------------------------- /build/libs/javafbp-4.1.13-javadoc.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpaulm/javafbp/1bd053e39fae61be916abe4e3feb73f7a00733d5/build/libs/javafbp-4.1.13-javadoc.jar -------------------------------------------------------------------------------- /build/libs/javafbp-4.1.13-javadoc.jar.asc: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP SIGNATURE----- 2 | Version: BCPG v1.64 3 | 4 | iQEcBAABCgAGBQJiQO+NAAoJEIoqalWqx6keDg8H+gJT7Zkm+N4KOiZPg49oan4i 5 | Ob8PtwqZdwZHJBVIFKRd9OXMTQpeF9xK8DrLtdTYMfPImV++/pczdRFuh9SMVIXG 6 | DXYPopJFe9cLfFD1Co9FYnkA8YVF51E3WHD5LDAlQifjfGiIHTabgUk07L2CoAur 7 | ciuVY/4bWZMqfAnYDEAb7djQmJT4Yggk3zQlA8fXWXGJangrSpJqQdd93PcD9Muk 8 | 7QsukL27sR6pWx2lJw3ya4DXvF6hv6KXCSQWdeGgQ7Ek8Uaqi4WBS34ATTmfcDkj 9 | s02uZiiA6iLfleL+3USnVwRpFBN/twwt/JTR6G++PBIywYAReZoS0lPYRQUR7Ys= 10 | =janB 11 | -----END PGP SIGNATURE----- 12 | -------------------------------------------------------------------------------- /build/libs/javafbp-4.1.13-sources.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpaulm/javafbp/1bd053e39fae61be916abe4e3feb73f7a00733d5/build/libs/javafbp-4.1.13-sources.jar -------------------------------------------------------------------------------- /build/libs/javafbp-4.1.13-sources.jar.asc: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP SIGNATURE----- 2 | Version: BCPG v1.64 3 | 4 | iQEcBAABCgAGBQJiQO+NAAoJEIoqalWqx6kesYAH/iQAOgjp9zlEl7EBa2Hbe6or 5 | CtTpauBeyHE9L5+cAf/TRqBU0ovp/qs3uUFmbtoPYggH+Qm+bManARd4EeTqJoWw 6 | +zTGsBKd8KrwTPLaPLhyLf2m/97YZzvzy5vvHCzlXR2gG9IE5yE9EweF9LP3wTYe 7 | BDkNv+2Sq6/qhD0OpAnhnBdQGxfxtFg5pXF0OBU8DUe9IQO/+FW0BZ30yFe3h3jJ 8 | ZPQ5DI/hg40CBBJZiynwFduCESDrfOrVhWPVhVcSdAndKHgtTmfbsVC/0Xj9XmUz 9 | r2ynTBvnWc+jQJJJ9H5jHMPih7lCjFaI3mYrxIBepasqliCKzMy9igEIYMxJRaw= 10 | =9oC5 11 | -----END PGP SIGNATURE----- 12 | -------------------------------------------------------------------------------- /build/libs/javafbp-4.1.13.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpaulm/javafbp/1bd053e39fae61be916abe4e3feb73f7a00733d5/build/libs/javafbp-4.1.13.jar -------------------------------------------------------------------------------- /build/libs/javafbp-4.1.13.jar.asc: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP SIGNATURE----- 2 | Version: BCPG v1.64 3 | 4 | iQEcBAABCgAGBQJiQO+NAAoJEIoqalWqx6keTkAH+QGFeza20WBF8lHiK5jSrpLw 5 | Zr92vkYULWmzCuiu9LVgzgHQtsFPmqhYhi8TeUIUZ/w+oMDdo02zUgt28cl3pwV6 6 | s6AwL0lQycmkxYspdgQwTlAWfO1aSR7ST+mciRwCx6GRr+D5W9hxiJ3YUJUtUD+R 7 | aMZ93Kmj6QcX1o4Hm/RjS2iC6rsOArKYDL7GcXW5FMqVxXOLLvBjYABJkUkwNfdN 8 | wIVA6fRmT0cWg+UPFm1ZJI/CkKp1bxZYpvvw2oX5ESqpzw4b2JdOA1f6UGvqKwWT 9 | UvbN2y42dFIrmYMStJQdSfYc6/bHKSOnvlsZSbCwOQLGorDvHVh/J7yjYQGNaE8= 10 | =0xYj 11 | -----END PGP SIGNATURE----- 12 | -------------------------------------------------------------------------------- /build/libs/javafbp-4.1.14-javadoc.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpaulm/javafbp/1bd053e39fae61be916abe4e3feb73f7a00733d5/build/libs/javafbp-4.1.14-javadoc.jar -------------------------------------------------------------------------------- /build/libs/javafbp-4.1.14-sources.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpaulm/javafbp/1bd053e39fae61be916abe4e3feb73f7a00733d5/build/libs/javafbp-4.1.14-sources.jar -------------------------------------------------------------------------------- /build/libs/javafbp-4.1.14.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpaulm/javafbp/1bd053e39fae61be916abe4e3feb73f7a00733d5/build/libs/javafbp-4.1.14.jar -------------------------------------------------------------------------------- /build/libs/javafbp-4.1.2-javadoc.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpaulm/javafbp/1bd053e39fae61be916abe4e3feb73f7a00733d5/build/libs/javafbp-4.1.2-javadoc.jar -------------------------------------------------------------------------------- /build/libs/javafbp-4.1.2-javadoc.jar.asc: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP SIGNATURE----- 2 | Version: BCPG v1.64 3 | 4 | iQEcBAABCgAGBQJebOesAAoJEIoqalWqx6keI2oIAJQjkwKX2xnnbvmanqhF7VTS 5 | 6cjnmISpu7LtCU9gMvpYtzfUqYpNhAIWz+bzOcmmjJIW6CCF0ppJOCW6B/qpouwp 6 | Axqdh0l6VJXBA3TvpZ6Ef+hPf0i3oKHYxCzIzS72IXWMsC8Tg0tw5276kO5sFFHd 7 | uie7BtWcfZckOW2OZCTArQy2BJOJO6jupflGnzDjhwAFdaP3VRreyGdSsGJRLgJD 8 | ylahfIplwa6eEXu1+ZppTBfeMJi3T7u/saz1qHDbbpHfZsJ4AsO6PphyFEYZXX6u 9 | YB5JCoaeJkeY5mRdDRa++bbgAB0epoUZDyxpG5bQZE65XHMzd7qb7pSuGtgnIY8= 10 | =pcrP 11 | -----END PGP SIGNATURE----- 12 | -------------------------------------------------------------------------------- /build/libs/javafbp-4.1.2-sources.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpaulm/javafbp/1bd053e39fae61be916abe4e3feb73f7a00733d5/build/libs/javafbp-4.1.2-sources.jar -------------------------------------------------------------------------------- /build/libs/javafbp-4.1.2-sources.jar.asc: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP SIGNATURE----- 2 | Version: BCPG v1.64 3 | 4 | iQEcBAABCgAGBQJebOesAAoJEIoqalWqx6keQnsIAJ/1FB1aiZprkXwY0hHssEaM 5 | 9QqF+GQgIy38g4sI3loHPpUE8tRrSqgyJEvGOVWpmDzfWUnnxR+WC7qHARIALBOm 6 | 09Czhu+CbkS81dvZ3GbCa+MiZ2Ts67ntnwk20GarTXIo0jfpzDNsEInBWT7uJlL3 7 | m+sby76L+Mp6R2XmkMhO3VdzJTNqYKeNLeU9ivvHyak43UWnkPk5IygAOts4NVaZ 8 | /P/i1TUN8/IJAmr/9zxUKAhwgkp42X3OzYTuh+32Wu0si743G3Qi/C9Q/mgATK6F 9 | kL7MgDsOWYdJeP5qbEmIBNv4dbYA5sFQhR7QjpCkGeG775Rf4mD8pux5rdRdxYU= 10 | =kFws 11 | -----END PGP SIGNATURE----- 12 | -------------------------------------------------------------------------------- /build/libs/javafbp-4.1.2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpaulm/javafbp/1bd053e39fae61be916abe4e3feb73f7a00733d5/build/libs/javafbp-4.1.2.jar -------------------------------------------------------------------------------- /build/libs/javafbp-4.1.2.jar.asc: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP SIGNATURE----- 2 | Version: BCPG v1.64 3 | 4 | iQEcBAABCgAGBQJebOesAAoJEIoqalWqx6keXvYIAJ+Fb0mRLrFZS9ujZMtr7ySX 5 | p2xwfP2Ce3WFVpBHdi1o7MLtXgfBF8wTJ8TL/Bro0NHm4l+IGPdS5xkqxDU6TdEm 6 | L/gjOnhImTWSTdFdyTgt2CvvcyK7x6/rC+inhviTF9+KDpAcHymbBukXU5QmwJl1 7 | qQRdoEI7DYSTsz3sFxk0hPbNTh1ZgO0dp46TSatYke3b+2HwkL2Yvij5EtawE8dD 8 | Rvywoq3OLAY59309iGKw6Gol8zgAAV8oiKhatHzI+bZ6rZL7vVIgudBsVjxs+xPe 9 | PFK2yYii7huM0uBhopKwFNcOTEtp+kGyvdxEezO4KWmnKic2KH/jfKMkH5op/FE= 10 | =1PWN 11 | -----END PGP SIGNATURE----- 12 | -------------------------------------------------------------------------------- /build/libs/javafbp-4.1.3-javadoc.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpaulm/javafbp/1bd053e39fae61be916abe4e3feb73f7a00733d5/build/libs/javafbp-4.1.3-javadoc.jar -------------------------------------------------------------------------------- /build/libs/javafbp-4.1.3-javadoc.jar.asc: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP SIGNATURE----- 2 | Version: BCPG v1.64 3 | 4 | iQEcBAABCgAGBQJe57ULAAoJEIoqalWqx6keWhsH/R15ggI4x6t9p/XRAW78A8oo 5 | thEvG6MDD9cR58uXHUveGVLS/J+mTESjOj2gUJ3mIbp5vCFfv7MmJ2zOgFOGJRBZ 6 | SvKoy6K/WPGihogcoqZkhWGv2z/8HP4Wn27cpD7djm3F7YjF97ao3NiJJosOE7Y7 7 | WI91AzkUqbIwUOeiX3n3A4l5HTXlmVFFWzRaEIO0B3lZ1LfOLI4/Oy0ZK60XskUC 8 | CGU7j52lqKKjA68xPVYMdVWyMbBzU4JTTFnCHwmIpc8vBiR7yd+Msk13JB1IIgqk 9 | xvmeN3Gbxz8hZ+7Jra6ZBeQ0+iq573WfMlKoQ4PqCHgEZxuG795tYhyQvIu51fg= 10 | =qxTV 11 | -----END PGP SIGNATURE----- 12 | -------------------------------------------------------------------------------- /build/libs/javafbp-4.1.3-sources.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpaulm/javafbp/1bd053e39fae61be916abe4e3feb73f7a00733d5/build/libs/javafbp-4.1.3-sources.jar -------------------------------------------------------------------------------- /build/libs/javafbp-4.1.3-sources.jar.asc: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP SIGNATURE----- 2 | Version: BCPG v1.64 3 | 4 | iQEcBAABCgAGBQJe57ULAAoJEIoqalWqx6keJTEH/1HUgPjnsRHw163LuXEewY+D 5 | HRFrjd3D5ZLucEreGUunNQUaR//2m9JvsFIZrQqH9wt/luZY4KJEYidqHWy03wP3 6 | 3MglvyqF9/ybPVAz0RqN3m2cRRM4Wy5aeFYNy8N+zLwyyvyAA/N/AV1oNMEwL/nF 7 | hGbZwfm4Zs8OKyEdlJ/VaNPsOy/KV4iI0vr56XrsxDootAvJjlAAMWxZCdWYy93u 8 | HO/kM/kRbbKLc5HZxu3G07OAPhjCR+KR2T+4QjnpvTHktVswuvO0upRykzvTpOd/ 9 | Mt2JGOa7Vw1R8FJJpVxQzanCIb2yD+l47dXQKjJW+W+xYIWViCbQnxTQVFUzEJg= 10 | =24XK 11 | -----END PGP SIGNATURE----- 12 | -------------------------------------------------------------------------------- /build/libs/javafbp-4.1.3.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpaulm/javafbp/1bd053e39fae61be916abe4e3feb73f7a00733d5/build/libs/javafbp-4.1.3.jar -------------------------------------------------------------------------------- /build/libs/javafbp-4.1.3.jar.asc: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP SIGNATURE----- 2 | Version: BCPG v1.64 3 | 4 | iQEcBAABCgAGBQJe57ULAAoJEIoqalWqx6ke7e0H/1HKiROGASGVOZ7iuX8kkEYJ 5 | cUcpl4ClYYyPJA613Mx9Y5rB3eUCjdAYpQHtyi25ifmcliuWJ4ukq6WgAB8v820t 6 | Uc0/rVPcswLppRvz2rGs6fJaoRP4nFEcISEK0myrWh+8idxYiVqFoNvhAk0sfFk5 7 | qD/tWE3k2wJvnu7m5SmZFr6qVqGjehHFKWIjMYfk1cvlN4XRS78BJ1ThfIDyUoPR 8 | ltU6MVqn6P+pt//jWu7GiU+xLT9iMBd/0LnfWIqTqQ5SeVlIBbpXdwDC89TfYqrD 9 | ix9l0P7xlBHNOTcPsUwH+KEv54+G/8s43u2Xji1TSPIGfxEaKTP+mbsbu0jucpA= 10 | =Vavc 11 | -----END PGP SIGNATURE----- 12 | -------------------------------------------------------------------------------- /build/libs/javafbp-4.1.4-javadoc.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpaulm/javafbp/1bd053e39fae61be916abe4e3feb73f7a00733d5/build/libs/javafbp-4.1.4-javadoc.jar -------------------------------------------------------------------------------- /build/libs/javafbp-4.1.4-javadoc.jar.asc: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP SIGNATURE----- 2 | Version: BCPG v1.64 3 | 4 | iQEcBAABCgAGBQJfBMmCAAoJEIoqalWqx6ke1MsH/Az8T/WASps5R7djfVqdufse 5 | zedXBbB/gjUoS5Bo3k8eDEu3ML7vfDcWKEBxqDncxBrMYDwYvMuzToCio3zjPqac 6 | BbcgGx7UN4bWgsYaZASlGUltB1XgnsviPmA77p14O2xgrAlT8I3Ef7k0qM1oim0/ 7 | HwAF3v2Qi43aQc5rzAzu6tWTLOm7RifkUKq4+uZpGT1HjzKB9edW8PeGiadlbvFd 8 | /Gv5vMdGyIaHDaNaW6dK81AsdZZP4wY4vek8fJp77iUeiAVqRzZl+PZha6Hg/bw+ 9 | 3ZRpz5YCyuo7eMg+tLTwkDXcG0qsh26MxYUvHc0tYdrQixsgrDgrOTB6CbQs5Wk= 10 | =DXwI 11 | -----END PGP SIGNATURE----- 12 | -------------------------------------------------------------------------------- /build/libs/javafbp-4.1.4-sources.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpaulm/javafbp/1bd053e39fae61be916abe4e3feb73f7a00733d5/build/libs/javafbp-4.1.4-sources.jar -------------------------------------------------------------------------------- /build/libs/javafbp-4.1.4-sources.jar.asc: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP SIGNATURE----- 2 | Version: BCPG v1.64 3 | 4 | iQEcBAABCgAGBQJfBMmCAAoJEIoqalWqx6keiggH/37MOLrh9EVWfYl4OWp91YTK 5 | 8bVRdOZTdh1/6/AOVNvALvPGoNaG/CSFGZGtn5BVSRqNavk9GchkdU6gBy3NHRqD 6 | XSOEafgMXePPOt8wue6QiLIgJ2BWjMvA1xnYZZJT7h6cGP5t99SedYfyTxIe5FKz 7 | 7j/xyIF1igiz2kYeeA5/2NNa2zdsemoI/2jg53ZK0SHuHTH3ElmrVezfOwJP/nve 8 | wF9g4imCPEX18zVY7fAVxEPeSVU9vkp0qVCbhI1VbVprehTZKSwxtyhlHvjV2hga 9 | Qffm0nk2LWd8MzcQ4RySjfmCbO2DXEHXwVHWb69zZS7L5rr6Z8x+F9sDmHSL6Mk= 10 | =h+bz 11 | -----END PGP SIGNATURE----- 12 | -------------------------------------------------------------------------------- /build/libs/javafbp-4.1.4.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpaulm/javafbp/1bd053e39fae61be916abe4e3feb73f7a00733d5/build/libs/javafbp-4.1.4.jar -------------------------------------------------------------------------------- /build/libs/javafbp-4.1.4.jar.asc: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP SIGNATURE----- 2 | Version: BCPG v1.64 3 | 4 | iQEcBAABCgAGBQJfBMmCAAoJEIoqalWqx6keld8H/jZ7NeRcGEW6NHM/Zs9CcFvq 5 | CDaF88gZtZqgOD/JinyuXyJE8EJ+VWLr97ju0Tw8A6FypbZvrUWNUUiEqdoBIcyj 6 | 6M5ZbpN2Ubs6kBcZU7lG4goOfubSIRlXYVpRillyi0rMNvkkpWV/LnQTJbimuOK3 7 | wR3C9rzpXrvaL6XZN5RiO0Am9j9eSSgZ6oYsXwL9gE/LypS73hJYasXMRazSRniH 8 | 7exeogNxyPnxwz0QunYzRd6Y3bOcSlBO+riyDP5cuuS75tJLibmr3bWqkPf9RSqI 9 | mZflb3MSVFw6GOTxZ0X1c70Z4SkgSntt3+vOQB5iskA7fAUzmDxHsQN0D5HCy3Y= 10 | =RahM 11 | -----END PGP SIGNATURE----- 12 | -------------------------------------------------------------------------------- /build/libs/javafbp-4.1.5-javadoc.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpaulm/javafbp/1bd053e39fae61be916abe4e3feb73f7a00733d5/build/libs/javafbp-4.1.5-javadoc.jar -------------------------------------------------------------------------------- /build/libs/javafbp-4.1.5-javadoc.jar.asc: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP SIGNATURE----- 2 | Version: BCPG v1.64 3 | 4 | iQEcBAABCgAGBQJfHbgfAAoJEIoqalWqx6kev0MH/3XNjQiJuGHE/+wEeiEXl9ct 5 | zbjRMuwTYI8Tjjquk+/YKWP8HePzGRSN4zUduqC6l3xew6TfGIG+nt7V4xXyGyKw 6 | 51Ml5DD4CBxj5JueeU6bOEcWUF9epVJow/8i//v875N5SsOYndo/GPj4Z9jXvzkN 7 | Jf0YRY0Bpn0Cd3cYXE+STLPNYH5FxsAyCCATt4AnOi9RUANmaa46tJdqcLovF9Cu 8 | Bhh8dTskUas1cdFWaPlpX7XbcaMWBPzDzDeEl/iHPSYjrNNI+g8snLNrOyMnVQl1 9 | KU+MNGDucOGGE8UJQix+dFLt/kTzpRpvVNpaAlJM/zVHY+upNikGmUjUDlWb/Ok= 10 | =GtY4 11 | -----END PGP SIGNATURE----- 12 | -------------------------------------------------------------------------------- /build/libs/javafbp-4.1.5-sources.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpaulm/javafbp/1bd053e39fae61be916abe4e3feb73f7a00733d5/build/libs/javafbp-4.1.5-sources.jar -------------------------------------------------------------------------------- /build/libs/javafbp-4.1.5-sources.jar.asc: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP SIGNATURE----- 2 | Version: BCPG v1.64 3 | 4 | iQEcBAABCgAGBQJfHbgfAAoJEIoqalWqx6kejwYIAJtqedJ3ZQkUk3d9cjRo+fy7 5 | /qz7weSCuX4XNrBoNFt+i1eTHnhlEMrC4f7pOBYZ64ITXB3lZLBA+fUUZ4in8fqw 6 | EXhEtIZr8llFmJ4BvPqVVI/ftuzGuG/b8Yn1NN8tv+EzV2WzqZPyL+t6swglXUZn 7 | QH3vQeMP3SeBf3dnagpUQ5/TSDp6QnQYQ4y0zLIRt0Lev0P2fmsGOoAQitdmpE+O 8 | jDje/8TWb3diXWGPNRQLyJuycqzdX8qhIdbtIue5EI7Oqz10APlsw5L0LCf8OpFc 9 | VDWpowDFGSuMqpYPbx2aNiAViACyOQFQ/Dz8Gw+5q8rF/gpC+WPRt1u7ywHgqJg= 10 | =/gSY 11 | -----END PGP SIGNATURE----- 12 | -------------------------------------------------------------------------------- /build/libs/javafbp-4.1.5.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpaulm/javafbp/1bd053e39fae61be916abe4e3feb73f7a00733d5/build/libs/javafbp-4.1.5.jar -------------------------------------------------------------------------------- /build/libs/javafbp-4.1.5.jar.asc: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP SIGNATURE----- 2 | Version: BCPG v1.64 3 | 4 | iQEcBAABCgAGBQJfHbgfAAoJEIoqalWqx6keRkgIALJ2KP6nXslKE9bFicqEylAf 5 | l4stnFWc2TA2Q45B7H1NfDRsAsOAWVvr36O0/uvfqek9PpHPtdaxw/VQvhL7wxJb 6 | LPrQ5yhg49Y3TZJhLFKSA2YTF6wYZf7MXBspyGpZwf9BQZrGdbbtnxk7qxXNYncl 7 | gLuJOV+UwuSweWBZmh83uXJpJ0BplE+tqKpdVX6UAghMZewTSDi9J103ebEaXb8j 8 | xf9s6cR/MWf4yxiwGgEabio0HjxkiK6Q/J1d1Tv073TfZcZtHfgRnAmVwzsZskZf 9 | QHPi3k6FLYr0zn515pmWxy2YHmmZbzXS628IU/jPUUEH5wggDid6KJMMQKVWzEg= 10 | =gxRA 11 | -----END PGP SIGNATURE----- 12 | -------------------------------------------------------------------------------- /build/libs/javafbp-4.1.6-javadoc.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpaulm/javafbp/1bd053e39fae61be916abe4e3feb73f7a00733d5/build/libs/javafbp-4.1.6-javadoc.jar -------------------------------------------------------------------------------- /build/libs/javafbp-4.1.6-javadoc.jar.asc: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP SIGNATURE----- 2 | Version: BCPG v1.64 3 | 4 | iQEcBAABCgAGBQJfH0/UAAoJEIoqalWqx6kedq4H/jHbwAMetcf4G7pblF5r6KA9 5 | mgNkNu5Pm1KV3HPHnlthfXt+LQTPfkGZZrUe9Se9/1hcdrsbtLTlhmyrj0uH14bL 6 | 2JaaGa7chop+EQ2+i72JJCu+L7Mz/MuvEWIyT1On+JQ8F1etALKEHVVru8uJgDaB 7 | x+EwuK4QF7Mg/ItYl5lk8o4AlEAt0MNtR29PTPz8gA7tEzX/2bJKr4CdPTlZZ5aY 8 | x7zo1yJPf06G7dkcdimmkSCqf9/cc6QojcOAwUKIPfE9LYZWdbkh3v2gYE9GNM+T 9 | mOFyZRkPJ/G0iZN0LsU1zlpRfSnRUdzrSveSrtD/AIhJRBLpQ79NR9hSNhqm0+0= 10 | =gCgg 11 | -----END PGP SIGNATURE----- 12 | -------------------------------------------------------------------------------- /build/libs/javafbp-4.1.6-sources.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpaulm/javafbp/1bd053e39fae61be916abe4e3feb73f7a00733d5/build/libs/javafbp-4.1.6-sources.jar -------------------------------------------------------------------------------- /build/libs/javafbp-4.1.6-sources.jar.asc: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP SIGNATURE----- 2 | Version: BCPG v1.64 3 | 4 | iQEcBAABCgAGBQJfH0/UAAoJEIoqalWqx6keSyAH/3T5dYx6w3R9A2gANPcWXh/t 5 | fStUIUCMfTSn+SDLzt12JQRDCPwpuT9X8va4sceyCgllujK9/SWp2wx7Epxog7on 6 | 8L8yu4qFx+ACCM2/Qe23S/1GOYAJJTnWtniZEbREpHeTjzaXWKYjfc6YRlZmW26X 7 | 9tuZVqn7pVWdGUs0RctUaGbMqit61xOfaJw84S5h3sINsvjaPe81QIFMY2QfMgud 8 | FMEDwAivDb+DfGA1jhRmz3QXHN5X2VKHYxJrvS5KiV4DvpPoRRNTa0rMl0lNzRN/ 9 | EKjoeHBU3cE0d/SPzp8/xE/vgQUhM3Xf4ADxb8Ku76/lLmQof1dg4NCZW40gZ80= 10 | =KzRU 11 | -----END PGP SIGNATURE----- 12 | -------------------------------------------------------------------------------- /build/libs/javafbp-4.1.6.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpaulm/javafbp/1bd053e39fae61be916abe4e3feb73f7a00733d5/build/libs/javafbp-4.1.6.jar -------------------------------------------------------------------------------- /build/libs/javafbp-4.1.6.jar.asc: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP SIGNATURE----- 2 | Version: BCPG v1.64 3 | 4 | iQEcBAABCgAGBQJfH0/UAAoJEIoqalWqx6keP3wH/22UHuco2orIMocDUrxpB/Wd 5 | 4CPsQEfxlZBLDckUeVw0HMORiNndl10prdjl32sCResrMHRQaFmYPW7AgxEnju/j 6 | CmUfIcXoLlfeQaX4Vu0DNw+jOXB4Za02bhIGlowAQbYDg2UjviWDWI/drBjE95EW 7 | 1VlbgE3iPe7MsK+Y/iYZ6TDFAuMG9+DD710EcUmBzQUVRbjXIq3UCwPw+35hFzbl 8 | oUQgHAJS4wLViz1w3+Pqplf+3C8QDIjE8gi+FCG2CVZs8b4y889iXixrTobopyAg 9 | 1Lu6jEGzAiurcg6Ab8UXLp19L0wPvscE9ZoSrVkdSdx8URfT7Fn6oiBZXcW5O1c= 10 | =Oc87 11 | -----END PGP SIGNATURE----- 12 | -------------------------------------------------------------------------------- /build/libs/javafbp-4.1.7-javadoc.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpaulm/javafbp/1bd053e39fae61be916abe4e3feb73f7a00733d5/build/libs/javafbp-4.1.7-javadoc.jar -------------------------------------------------------------------------------- /build/libs/javafbp-4.1.7-javadoc.jar.asc: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP SIGNATURE----- 2 | Version: BCPG v1.64 3 | 4 | iQEcBAABCgAGBQJfkJzRAAoJEIoqalWqx6keRqUIAIiE2CCBoC5owZBJUJjn/uJ5 5 | b946aNyjErDokg1VoHNNInr9LLnZX56Ev2SQ+prUwUo7ejt52fx+wFZAhq2GeOk4 6 | ePo7Fs5/0U7QqvJUAXqYRU7GLJ7z4Cb7tYSlPI3vkcF3U0w2VhoTC9jwy48zJtaA 7 | SfLRJUDp1Cxq3rhYVARtBA/p6lf8dxDsb+M+bIlcAYknXlQaF/W3tHJZw0qi7QM5 8 | TNn89B7BQfRz7ezQ6W1J7/RWkK+RHL281c5Nr+3i6L4j+v2m9tT8pMzPXxmUOeTP 9 | zZqAJvrHTnLGd60bgi2yGWvOJ6tRPbNgJjAHq1kVQbTbcfRo9zznT8QNDMUqlZI= 10 | =NWLB 11 | -----END PGP SIGNATURE----- 12 | -------------------------------------------------------------------------------- /build/libs/javafbp-4.1.7-sources.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpaulm/javafbp/1bd053e39fae61be916abe4e3feb73f7a00733d5/build/libs/javafbp-4.1.7-sources.jar -------------------------------------------------------------------------------- /build/libs/javafbp-4.1.7-sources.jar.asc: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP SIGNATURE----- 2 | Version: BCPG v1.64 3 | 4 | iQEcBAABCgAGBQJfkJzRAAoJEIoqalWqx6ke1XUIAKiQwGt9+RI/JVz4Mn7Rk8Mo 5 | EqFOfvW37WqQfpxT2Tshatn8CqQsWG3QGjWzgih/38Ddi9S7UmdSYiVDbD2e2xzN 6 | U17AWZ9B9ZLygEBXQpVZdJbguzY7xe7sZo8ViCPZVR8RcslQc8H1X2hwlTOBKEC8 7 | 2HAOyVoWm05KRB2qm5plnjlUTVepaNsk47RTHJvvI538UF1WzkQK9iyS2EqLNUCA 8 | ydNZRO4M/vhJ14puCl/2hxaMqbsmwqQNHQ+xExf+jG60Z8NwmF6bXqW04fsO3wh4 9 | nDMWDXj9HuFOlxVjNYmq2OJ27NkytXCdKTm7lA1bMcb/4IrdVs095nXtnGqe2E0= 10 | =T4J0 11 | -----END PGP SIGNATURE----- 12 | -------------------------------------------------------------------------------- /build/libs/javafbp-4.1.7.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpaulm/javafbp/1bd053e39fae61be916abe4e3feb73f7a00733d5/build/libs/javafbp-4.1.7.jar -------------------------------------------------------------------------------- /build/libs/javafbp-4.1.7.jar.asc: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP SIGNATURE----- 2 | Version: BCPG v1.64 3 | 4 | iQEcBAABCgAGBQJfkJzRAAoJEIoqalWqx6keFGwH/0ZgHfIMP5r7BIwc2DCI/6KP 5 | BqgDGGDTIldlWT6EuZhJBajCxQMK1osoMfbO4l9I/rWVXJ96PQgHq8DLzZG2LZ/7 6 | eF+Jy/fKsLbRKydc44Cb/sk3vtXV3HKoKTwnN4CjaH6qn9bKqTKl09KyoqUo6L9K 7 | E06TASszAM0vEZ2Ck0URXCUNn1IMnEoMmdAj9kVES4WdcbN9zyVthL8mnStc1zXT 8 | bvm+RkmkkJfzOn+WpYS8FLeXGx75Rua5DAUpTHp/uYCWdoCInD6bKYORda5k05hf 9 | 6zZzps3WbHThutR9N7h0jKebWYHHoYUy+x23qZ6TN7GBMIzj+cBpuksW8f1Jj2M= 10 | =ff4r 11 | -----END PGP SIGNATURE----- 12 | -------------------------------------------------------------------------------- /build/libs/javafbp-4.1.8-javadoc.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpaulm/javafbp/1bd053e39fae61be916abe4e3feb73f7a00733d5/build/libs/javafbp-4.1.8-javadoc.jar -------------------------------------------------------------------------------- /build/libs/javafbp-4.1.8-javadoc.jar.asc: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP SIGNATURE----- 2 | Version: BCPG v1.64 3 | 4 | iQEcBAABCgAGBQJflyZtAAoJEIoqalWqx6keP9IH/3DWekF+/tb61+Xyz8khtkKN 5 | tFihCvHCY3u63E6DCSxVsiHRVvFnIlKDD/qhVgGR6h2Z/ZlGnaeiG6ZHMAzw1nUm 6 | XQsXqK+2FSAAkwGgj1kDmDuRdfNwdCD0ufGuNeB510dLqUZtW9r1UEs8zzebYCn6 7 | DQZAPg3cfHUWoerVIoep93unj+a/0QV3TuGCQHedglKXwCIv+22H/oFrjo/mBp0S 8 | VJNpxp3g4mHk7QPghPdftjG4fAUAvZ5DuavlRnyLFifkLODCL/6FG+31XqsfzFHs 9 | Dghw0wNEa8eDc007FiEIyZ8Fn7LdG7QH3hsVbVPlq+EKBqhYnedJb4yI2EFrYIU= 10 | =7hes 11 | -----END PGP SIGNATURE----- 12 | -------------------------------------------------------------------------------- /build/libs/javafbp-4.1.8-sources.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpaulm/javafbp/1bd053e39fae61be916abe4e3feb73f7a00733d5/build/libs/javafbp-4.1.8-sources.jar -------------------------------------------------------------------------------- /build/libs/javafbp-4.1.8-sources.jar.asc: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP SIGNATURE----- 2 | Version: BCPG v1.64 3 | 4 | iQEcBAABCgAGBQJflyZtAAoJEIoqalWqx6keA8UH/037XOYz3AUA3ybLDuMWfvkD 5 | nOq1gmdrBGREMN9s2/hp7y4/T8IiMW275TnwD/padGdnm3CLx2LwfYUvh4KGNZ+s 6 | Mg9UiVA3ZedxAQie10qr70BTllkxXX0pdNtyW9mZ57nUjdH49vy4hFlGhVlLZGuU 7 | /RJJ1U23ukMMdwkcqVcYmCPNxC92JTL0Mf+OxBxaCYmoeOkETTLeJgXKWvh9Rzqm 8 | eXCY/KuMsVVO/lRlVzbY4YxVSprPa9UUUPzyQXgPZrctCH9BD4VEDLxDDp+gI0/g 9 | 4J/9zBat+BKfY9ek5HXBPUJ1cycq9W64D5hUXgYar7rnUP17vE1EWYCqzFdW0ds= 10 | =Xh1j 11 | -----END PGP SIGNATURE----- 12 | -------------------------------------------------------------------------------- /build/libs/javafbp-4.1.8.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpaulm/javafbp/1bd053e39fae61be916abe4e3feb73f7a00733d5/build/libs/javafbp-4.1.8.jar -------------------------------------------------------------------------------- /build/libs/javafbp-4.1.8.jar.asc: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP SIGNATURE----- 2 | Version: BCPG v1.64 3 | 4 | iQEcBAABCgAGBQJflyZtAAoJEIoqalWqx6keveMH/0gq+FNGJoIow/8NFqidfS1W 5 | rrGHsp8dZUPFC0qElQp+7dzz95tnVZ1oqws2qxmo7vjULMUacN+TKoRwKR3Lef1h 6 | lsd7sgckdSvF1iThYMm0WdxnCBYq9WrYyYHo/uAN9N6vmM8gQ1zPXG5R5avptoAf 7 | moMlNnlnA16HtQ9rfuDoVg0H6WWbFABGG1dRWCwiJEkDrlCdVuQdxdW3GIU+845f 8 | ncgOiRHSruhF8h0SsQXd2J0j5ucKahALNu7U/2S73JpTeJW2fx4GGwVR260iUlbV 9 | Yi/s3bBtC/Fm3XcSDh0N3wcmGnotw320gAUVgzph72txxl6pKbhhVIrNzZu/j3o= 10 | =rb+a 11 | -----END PGP SIGNATURE----- 12 | -------------------------------------------------------------------------------- /build/libs/javafbp-4.1.9-javadoc.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpaulm/javafbp/1bd053e39fae61be916abe4e3feb73f7a00733d5/build/libs/javafbp-4.1.9-javadoc.jar -------------------------------------------------------------------------------- /build/libs/javafbp-4.1.9-javadoc.jar.asc: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP SIGNATURE----- 2 | Version: BCPG v1.64 3 | 4 | iQEcBAABCgAGBQJfmHGeAAoJEIoqalWqx6ke8fkH/RRlHby1DbZa0aIIZRLI66UP 5 | 3IZb5qiyjqo6gcPezgJtRTn/ie9UmEDWp3OzUv+WvIyYE/MvAdfH030IahqF70W4 6 | hmb7b5RAfGF8FEWmTnUMZE4aBxajWMBaB04iVriD4umrgJn8LCvUOlOR3hLyTdsE 7 | A2+pJcL5rWbArtwSF+eY3zwxFtPXQe40A8VW7GJANe/c4DallnN/j9sxSQkH64Wd 8 | xwt+c+6vh3VXXYn2t0hhdPPBHew+rF5xLD6Cls7xa43hmzf7ZX2+lEHCYY6UoJ5A 9 | 1e2SwsnOd+Yq90IKqMdheijJcihxEFIb3RYtGpt3dIuOJS3HJeK82lTV9w+SdcY= 10 | =vCTV 11 | -----END PGP SIGNATURE----- 12 | -------------------------------------------------------------------------------- /build/libs/javafbp-4.1.9-sources.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpaulm/javafbp/1bd053e39fae61be916abe4e3feb73f7a00733d5/build/libs/javafbp-4.1.9-sources.jar -------------------------------------------------------------------------------- /build/libs/javafbp-4.1.9-sources.jar.asc: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP SIGNATURE----- 2 | Version: BCPG v1.64 3 | 4 | iQEcBAABCgAGBQJfmHGeAAoJEIoqalWqx6kebTEH/0wpvUddSQbClOXdQwFnQcYU 5 | 46tJEVIJHK5AomeP2Bsy0OKsQgIYDpX00YVHr7IPrQub+ZLJ4xrvN5I/bWKQLMDt 6 | eczsLdr7BSx8+lWnVlRP2FnrbhI3uoMXJSJhVjGRCPpXuWQkpdO6VKcEcQifqMaj 7 | PImst78vwom8XEG55iBoamlcEer3fG0S2bp72+DU4rKEc/e4JAenuMSpQLazlrwh 8 | jI+wphRt0mcsDX3As5IoxaPQm7DqJKWrnb+/OQGPJ0YoyTd3GnPfHB1jqTscZCi+ 9 | r1oTZTtUodOJODBSxwEpuWeF4sI4xnBGpwTYXtL64XNTnS1R2AhM0nFKJrQCeJw= 10 | =4qEZ 11 | -----END PGP SIGNATURE----- 12 | -------------------------------------------------------------------------------- /build/libs/javafbp-4.1.9.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpaulm/javafbp/1bd053e39fae61be916abe4e3feb73f7a00733d5/build/libs/javafbp-4.1.9.jar -------------------------------------------------------------------------------- /build/libs/javafbp-4.1.9.jar.asc: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP SIGNATURE----- 2 | Version: BCPG v1.64 3 | 4 | iQEcBAABCgAGBQJfmHGfAAoJEIoqalWqx6ke8tQH/Rt378W6OCvdrGVJB7CSgcj7 5 | ZvdDJ+8Rgl1sk0W5GPzCgwrguLvBZkd7SYT8Gs1FG0cPl1BcNePUjaVOG7wVKbS3 6 | bw9T3L3yPw4X7jpgS8l5L5Ibs1MLNHZyHXhO6C0EOUfp3NGoZFdQp4zUPAzrsyP7 7 | Ph7j0/gsUEKI6rQC6ncntuBCmRHBz/CCNUvhJG0UC8bYCa7oX7X8OSdP6F52JL3S 8 | zcWj+XHfW3ELPIr6P4lAXnQYRub/2xf891znfKEkgL6kzVGCcIOau05ejur/y1/6 9 | i99bW3H7EPDFOQg+HILxCo8DJbgqRczit099noOoJF9pBwGkQPI6r84sjjAxFTQ= 10 | =oziG 11 | -----END PGP SIGNATURE----- 12 | -------------------------------------------------------------------------------- /build/poms/pom-default.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 4.0.0 5 | com.jpaulmorrison 6 | javafbp 7 | 4.1.0 8 | JavaFBP 9 | Java Implementation of "Classical" Flow-Based Programming 10 | https://github.com/jpaulm/javafbp 11 | 12 | 13 | GNU Lesser General Public License, Version 3.0 14 | https://www.gnu.org/licenses/lgpl-3.0.txt 15 | 16 | 17 | 18 | 19 | jpaulmorr 20 | John Paul Rodker Morrison (Software architect) 21 | jpaulmorr@gmail.com 22 | 23 | 24 | 25 | scm:git:https://github.com/jpaulm.git 26 | scm:git:https://github.com/jpaulm.git 27 | https://github.com/jpaulm.git 28 | 29 | 30 | -------------------------------------------------------------------------------- /build/poms/pom-default.xml.asc: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP SIGNATURE----- 2 | Version: BCPG v1.51 3 | 4 | iQEcBAABAgAGBQJavlF8AAoJEIoqalWqx6keEZ0H/3j375pTsMKXGsjCKasM3pNh 5 | By8gUjpkP240H7L/qcQUXdgpn0LhKNlB8I23Tta4Xk+N8ExW3Ozp8fp1VCOpwmFL 6 | b23q5Bqe45ODAFFrFooDdld5Lf17U6iZRA5gius7uoE9Ony33pWsbySm2Zh8R8Vw 7 | 5tnndz4l0b8HlXZiUUDMVWiw7Z//VqbD4ToqmlHZ0iAcvkZweHTJsCh2jjDl2Sbs 8 | AOZjfE9ApJxojATAv+l9Q3cOExXlqXjFDMIaVzixlBcBFPoZLCNWwZbN9SUNLZLB 9 | EKvAnepbM4lQeJIpkHnkgfmJh1WTWdFryC8qsl7RIyGsiQEYoQ9gRNMxxigjPlk= 10 | =No7P 11 | -----END PGP SIGNATURE----- 12 | -------------------------------------------------------------------------------- /build/publications/mavenJava/module.json.asc: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP SIGNATURE----- 2 | Version: BCPG v1.64 3 | 4 | iQEcBAABCgAGBQJiQO+NAAoJEIoqalWqx6ketHwH/0LB4p44AG8GzWR02M/1IyV/ 5 | 6E9M936WM54qd16o92OeFygwl+eBOvGki6Uci/ySpMjiT99IMOw0K0NjOdVdI53V 6 | NLxXeF0mJaLvKFZegn2Ul7NbRe6/dAdPIllJOrSomX/l7blKKJn3O/+zHyB+uNZW 7 | gNO2vrxjBbs0RV8SlukKIrCIJ+hy6NpQJhp9/r1EcQiKITJl/y4e8bzgYIIxM901 8 | kKLUmZu+p2gzM7mHpwaeU6LuL0FC4HqLNKpmB6visnAtR7w+2WWAJjbQzpksBNKo 9 | bjOHhU9CV1LWzNpKTsuY/w7yuIPO1uk93ROlWJRHVIZLgBxkAOkvW+Ivmbehs7E= 10 | =1W2J 11 | -----END PGP SIGNATURE----- 12 | -------------------------------------------------------------------------------- /build/publications/mavenJava/pom-default.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 9 | 4.0.0 10 | com.jpaulmorrison 11 | javafbp 12 | 4.1.13 13 | JavaFBP 14 | Java implementation of Flow-Based Programming 15 | https://github.com/jpaulm/javafbp 16 | 17 | 18 | Clarified Artistic License 19 | https://spdx.org/licenses/ClArtistic.html 20 | 21 | 22 | 23 | 24 | jpaulmorr 25 | John Paul Rodker Morrison (Software architect/developer) 26 | jpaulmorr@gmail.com 27 | 28 | 29 | 30 | scm:git:git:https://github.com/jpaulm.git 31 | scm:git:ssh:https://github.com/jpaulm.git 32 | https://github.com/jpaulm.git 33 | 34 | 35 | -------------------------------------------------------------------------------- /build/publications/mavenJava/pom-default.xml.asc: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP SIGNATURE----- 2 | Version: BCPG v1.64 3 | 4 | iQEcBAABCgAGBQJiQO+NAAoJEIoqalWqx6ke7HMIALJMU7BU/VzyXYMlhoktobPM 5 | OU7cEFQTkCr2NaZi/wKqdTZNLu4NoBlmeK6VvEOqMifdLbEM8gdBFNmiWH35zpjw 6 | FWETpwaTNGwGfdWlSsNQvhct2Uz0tyJ5887ONsjwinBSZvDgcSScDWwnA8+cQYBZ 7 | w2yJGnOafxQcfcQT+z6Wmvwaepd6ouTl/pHRyri44CDSeZoY8fhAltdxvkzzjZrv 8 | ooUREU5lT34oSAy6d39GhguSN/WsJ4LdnARyun60YAwW2cybWTPwGX2Rd9/ZMTnA 9 | PS04fgrXpu9ZreuTJjXiliek+ziyxSmqiWujh/zJoNumQlBZX+Clg8t4tKCC070= 10 | =zMM+ 11 | -----END PGP SIGNATURE----- 12 | -------------------------------------------------------------------------------- /docs/MergeandSort.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpaulm/javafbp/1bd053e39fae61be916abe4e3feb73f7a00733d5/docs/MergeandSort.png -------------------------------------------------------------------------------- /docs/compListPart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpaulm/javafbp/1bd053e39fae61be916abe4e3feb73f7a00733d5/docs/compListPart.png -------------------------------------------------------------------------------- /gradle-app.setting: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpaulm/javafbp/1bd053e39fae61be916abe4e3feb73f7a00733d5/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.5-bin.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "javafbps", 3 | "version": "4.1.12", 4 | "description": "JavaFBP", 5 | "repository": { 6 | "type": "git", 7 | "url": "git+https://github.com/jpaulm/javafbp.git" 8 | }, 9 | "keywords": [ 10 | "fbp", 11 | "flow-based-programming" 12 | ], 13 | "author": "J. Paul Morrison", 14 | "license": "MIT", 15 | "bugs": { 16 | "url": "https://github.com/jpaulm/javafbp/issues" 17 | }, 18 | "homepage": "https://github.com/jpaulm/javafbp", 19 | "dependencies": { 20 | "snyk": "1.1297.1" 21 | }, 22 | "snyk": true 23 | } 24 | -------------------------------------------------------------------------------- /pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 4.0.0 5 | com.jpaulmorrison 6 | javafbp 7 | 4.1.14 8 | 2016 9 | 10 | 11 | GNU Lesser General Public License, Version 3.0 12 | https://www.gnu.org/licenses/lgpl-3.0.txt 13 | 14 | 15 | 16 | 17 | 18 | com.google.code.gson 19 | gson 20 | 2.13.1 21 | compile 22 | 23 | 24 | 25 | 26 | 27 | 1.8 28 | 1.8 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /renovate.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": [ 3 | "config:base" 4 | ], 5 | "automerge": true, 6 | "major": { 7 | "automerge": false 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/main/java/com/jpaulmorrison/fbp/core/components/audio/JingleBells.java: -------------------------------------------------------------------------------- 1 | /* 2 | * JavaFBP - A Java Implementation of Flow-Based Programming (FBP) 3 | * Copyright (C) 2009, 2016 J. Paul Morrison 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Library General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 3.0 of the License, or (at your option) any later version. 9 | * 10 | * This library is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 | * 14 | * You should have received a copy of the GNU Library General Public 15 | * License along with this library; if not, see the GNU Library General Public License v3 16 | * at https://www.gnu.org/licenses/lgpl-3.0.en.html for more details. 17 | */ 18 | 19 | 20 | package com.jpaulmorrison.fbp.core.components.audio; 21 | 22 | 23 | import com.jpaulmorrison.fbp.core.engine.Component; 24 | import com.jpaulmorrison.fbp.core.engine.ComponentDescription; 25 | import com.jpaulmorrison.fbp.core.engine.OutPort; 26 | import com.jpaulmorrison.fbp.core.engine.OutputPort; 27 | 28 | 29 | /** Generate note/duration pairs for Jingle Bells - 1st voice 30 | **/ 31 | @ComponentDescription("Generate note/duration pairs for Jingle Bells - 1st voice") 32 | @OutPort("OUT") 33 | public class JingleBells extends Component { 34 | 35 | 36 | OutputPort _outport; 37 | 38 | int c = 262; 39 | 40 | int d = 294; 41 | 42 | int e = 330; 43 | 44 | int g = 392; 45 | 46 | 47 | int notes[] = { e, e, e, e, e, e, e, g, c, d, e}; 48 | 49 | int note = 1000; 50 | 51 | int half = note / 2; 52 | 53 | int quarter = note / 4; 54 | 55 | int eighth = note / 8; 56 | 57 | int durations[] = { quarter, quarter, half, quarter, quarter, half, quarter, quarter, quarter + eighth, eighth, half }; 58 | 59 | @Override 60 | protected void execute() { 61 | 62 | for (int i = 0; i < notes.length; i++) { 63 | 64 | int[] intArray = { notes[i], durations[i] }; 65 | _outport.send(create(intArray)); 66 | 67 | } 68 | 69 | } 70 | 71 | @Override 72 | protected void openPorts() { 73 | _outport = openOutput("OUT"); 74 | } 75 | } 76 | -------------------------------------------------------------------------------- /src/main/java/com/jpaulmorrison/fbp/core/components/audio/JingleBells2.java: -------------------------------------------------------------------------------- 1 | /* 2 | * JavaFBP - A Java Implementation of Flow-Based Programming (FBP) 3 | * Copyright (C) 2009, 2016 J. Paul Morrison 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Library General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 3.0 of the License, or (at your option) any later version. 9 | * 10 | * This library is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 | * 14 | * You should have received a copy of the GNU Library General Public 15 | * License along with this library; if not, see the GNU Library General Public License v3 16 | * at https://www.gnu.org/licenses/lgpl-3.0.en.html for more details. 17 | */ 18 | 19 | 20 | package com.jpaulmorrison.fbp.core.components.audio; 21 | 22 | 23 | import com.jpaulmorrison.fbp.core.engine.Component; 24 | import com.jpaulmorrison.fbp.core.engine.ComponentDescription; 25 | import com.jpaulmorrison.fbp.core.engine.OutPort; 26 | import com.jpaulmorrison.fbp.core.engine.OutputPort; 27 | 28 | 29 | /** Generate note/duration pairs for Jingle Bells - 2nd voice 30 | **/ 31 | @ComponentDescription("Generate note/duration pairs for Jingle Bells - 2nd voice") 32 | @OutPort("OUT") 33 | public class JingleBells2 extends Component { 34 | 35 | OutputPort _outport; 36 | 37 | int c = 262; 38 | 39 | int d = 294; 40 | 41 | int e = 330; 42 | 43 | int g = 392; 44 | 45 | 46 | int notes[] = { c,c,c, c,c,c, c,c, c}; 47 | 48 | int note = 1000; 49 | 50 | int half = note / 2; 51 | 52 | int quarter = note / 4; 53 | 54 | int eighth = note / 8; 55 | 56 | int durations[] = { quarter, quarter, half, quarter, quarter, half, half, half, half }; 57 | 58 | @Override 59 | protected void execute() { 60 | 61 | for (int i = 0; i < notes.length; i++) { 62 | 63 | int[] intArray = { notes[i], durations[i] }; 64 | _outport.send(create(intArray)); 65 | 66 | } 67 | 68 | } 69 | 70 | @Override 71 | protected void openPorts() { 72 | _outport = openOutput("OUT"); 73 | } 74 | } 75 | -------------------------------------------------------------------------------- /src/main/java/com/jpaulmorrison/fbp/core/components/audio/MixerInput.java: -------------------------------------------------------------------------------- 1 | /* 2 | * JavaFBP - A Java Implementation of Flow-Based Programming (FBP) 3 | * Copyright (C) 2009, 2016 J. Paul Morrison 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Library General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 3.0 of the License, or (at your option) any later version. 9 | * 10 | * This library is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 | * 14 | * You should have received a copy of the GNU Library General Public 15 | * License along with this library; if not, see the GNU Library General Public License v3 16 | * at https://www.gnu.org/licenses/lgpl-3.0.en.html for more details. 17 | */ 18 | 19 | package com.jpaulmorrison.fbp.core.components.audio; 20 | 21 | 22 | import com.jpaulmorrison.fbp.core.engine.Component; 23 | import com.jpaulmorrison.fbp.core.engine.ComponentDescription; 24 | import com.jpaulmorrison.fbp.core.engine.OutPort; 25 | import com.jpaulmorrison.fbp.core.engine.OutputPort; 26 | 27 | 28 | /** Miscellaneous Audio Mixer Input 29 | **/ 30 | @ComponentDescription("Miscellaneous Audio Mixer Input") 31 | @OutPort("OUT") 32 | public class MixerInput extends Component { 33 | 34 | 35 | 36 | OutputPort _outport; 37 | 38 | int notes[] = { 262 }; 39 | 40 | // C 41 | 42 | int durations[] = { 3500 }; 43 | 44 | @Override 45 | protected void execute() { 46 | 47 | for (int i = 0; i < notes.length; i++) { 48 | 49 | int[] intArray = { notes[i], durations[i] }; 50 | _outport.send(create(intArray)); 51 | 52 | } 53 | 54 | } 55 | 56 | @Override 57 | protected void openPorts() { 58 | _outport = openOutput("OUT"); 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /src/main/java/com/jpaulmorrison/fbp/core/components/httpurl/LoadURL.java: -------------------------------------------------------------------------------- 1 | package com.jpaulmorrison.fbp.core.components.httpurl; 2 | 3 | import java.io.BufferedReader; 4 | import java.io.InputStream; 5 | import java.io.InputStreamReader; 6 | import java.net.URL; 7 | 8 | import com.jpaulmorrison.fbp.core.engine.Component; 9 | import com.jpaulmorrison.fbp.core.engine.InPort; 10 | import com.jpaulmorrison.fbp.core.engine.InputPort; 11 | import com.jpaulmorrison.fbp.core.engine.OutPort; 12 | import com.jpaulmorrison.fbp.core.engine.OutputPort; 13 | import com.jpaulmorrison.fbp.core.engine.Packet; 14 | 15 | //https://www.codejava.net/java-se/networking/use-httpurlconnection-to-download-file-from-an-http-url 16 | 17 | @InPort(value = "SOURCE", description = "HTMLName") 18 | @OutPort(value = "OUT", description = "HTML") 19 | 20 | public class LoadURL extends Component { 21 | 22 | private InputPort inPort; 23 | private OutputPort outPort; 24 | 25 | protected void execute() throws Exception { 26 | 27 | Packet pp = inPort.receive(); 28 | 29 | String fileURL = (String) pp.getContent(); 30 | drop(pp); 31 | inPort.close(); 32 | 33 | 34 | // https://stackoverflow.com/questions/2793168/reading-httpurlconnection-inputstream-manual-buffer-or-bufferedinputstream 35 | 36 | URL url = new URL(fileURL); 37 | 38 | //HttpURLConnection urlConn = (HttpURLConnection) url.openConnection(); 39 | 40 | InputStream in = url.openStream(); 41 | BufferedReader reader = new BufferedReader(new InputStreamReader(in)); 42 | StringBuilder result = new StringBuilder(); 43 | String line = null; 44 | while((line = reader.readLine()) != null) { 45 | result.append(line); 46 | } 47 | outPort.send(create(result.toString())); 48 | reader.close(); 49 | } 50 | 51 | @Override 52 | protected void openPorts() { 53 | inPort = openInput("SOURCE"); 54 | outPort = openOutput("OUT"); 55 | 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /src/main/java/com/jpaulmorrison/fbp/core/components/parsexml/Comment.java: -------------------------------------------------------------------------------- 1 | package com.jpaulmorrison.fbp.core.components.parsexml; 2 | 3 | public class Comment { 4 | Object data = null; 5 | 6 | Comment(Object newContent) { 7 | data = newContent; 8 | } 9 | 10 | } -------------------------------------------------------------------------------- /src/main/java/com/jpaulmorrison/fbp/core/components/parsexml/Control.java: -------------------------------------------------------------------------------- 1 | package com.jpaulmorrison.fbp.core.components.parsexml; 2 | 3 | 4 | public class Control{ 5 | 6 | Object data = null; 7 | 8 | Control(Object newContent) { 9 | data = newContent; 10 | } 11 | 12 | } 13 | 14 | 15 | -------------------------------------------------------------------------------- /src/main/java/com/jpaulmorrison/fbp/core/components/parsexml/End.java: -------------------------------------------------------------------------------- 1 | package com.jpaulmorrison.fbp.core.components.parsexml; 2 | 3 | public class End { 4 | Object data = null; 5 | 6 | End(Object newContent) { 7 | data = newContent; 8 | } 9 | 10 | } -------------------------------------------------------------------------------- /src/main/java/com/jpaulmorrison/fbp/core/components/parsexml/Solo.java: -------------------------------------------------------------------------------- 1 | package com.jpaulmorrison.fbp.core.components.parsexml; 2 | 3 | public class Solo { 4 | Object data = null; 5 | 6 | Solo(Object newContent) { 7 | data = newContent; 8 | } 9 | 10 | } 11 | 12 | -------------------------------------------------------------------------------- /src/main/java/com/jpaulmorrison/fbp/core/components/parsexml/Start.java: -------------------------------------------------------------------------------- 1 | package com.jpaulmorrison.fbp.core.components.parsexml; 2 | 3 | public class Start { 4 | Object data = null; 5 | 6 | Start(Object newContent) { 7 | data = newContent; 8 | } 9 | 10 | } -------------------------------------------------------------------------------- /src/main/java/com/jpaulmorrison/fbp/core/components/parsexml/Text.java: -------------------------------------------------------------------------------- 1 | package com.jpaulmorrison.fbp.core.components.parsexml; 2 | 3 | public class Text { 4 | Object data = null; 5 | 6 | Text(Object newContent) { 7 | data = newContent; 8 | } 9 | 10 | } 11 | -------------------------------------------------------------------------------- /src/main/java/com/jpaulmorrison/fbp/core/components/routing/ConcatStreams.java: -------------------------------------------------------------------------------- 1 | /* 2 | * JavaFBP - A Java Implementation of Flow-Based Programming (FBP) 3 | * Copyright (C) 2009, 2016 J. Paul Morrison 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Library General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 3.0 of the License, or (at your option) any later version. 9 | * 10 | * This library is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 | * 14 | * You should have received a copy of the GNU Library General Public 15 | * License along with this library; if not, see the GNU Library General Public License v3 16 | * at https://www.gnu.org/licenses/lgpl-3.0.en.html for more details. 17 | */ 18 | package com.jpaulmorrison.fbp.core.components.routing; 19 | 20 | 21 | import com.jpaulmorrison.fbp.core.engine.Component; 22 | import com.jpaulmorrison.fbp.core.engine.ComponentDescription; 23 | import com.jpaulmorrison.fbp.core.engine.InPort; 24 | import com.jpaulmorrison.fbp.core.engine.InputPort; 25 | import com.jpaulmorrison.fbp.core.engine.OutPort; 26 | import com.jpaulmorrison.fbp.core.engine.OutputPort; 27 | import com.jpaulmorrison.fbp.core.engine.Packet; 28 | 29 | 30 | /** Component to ConcatStreams two or more streams of packets 31 | */ 32 | 33 | @ComponentDescription("ConcatStreams two or more streams of packets") 34 | @OutPort("OUT") 35 | @InPort(value = "IN", arrayPort = true) 36 | public class ConcatStreams extends Component { 37 | 38 | 39 | 40 | private InputPort[] inportArray; 41 | 42 | private OutputPort outport; 43 | 44 | @SuppressWarnings("rawtypes") 45 | @Override 46 | protected void execute() { 47 | 48 | int no = inportArray.length; 49 | 50 | Packet p; 51 | for (int i = 0; i < no; i++) { 52 | while ((p = inportArray[i].receive()) != null) { 53 | outport.send(p); 54 | } 55 | 56 | } 57 | } 58 | 59 | @Override 60 | protected void openPorts() { 61 | 62 | inportArray = openInputArray("IN"); 63 | // inport.setType(Object.class); 64 | 65 | outport = openOutput("OUT"); 66 | 67 | } 68 | } 69 | -------------------------------------------------------------------------------- /src/main/java/com/jpaulmorrison/fbp/core/components/routing/Copy.java: -------------------------------------------------------------------------------- 1 | /* 2 | * JavaFBP - A Java Implementation of Flow-Based Programming (FBP) 3 | * Copyright (C) 2009, 2016 J. Paul Morrison 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Library General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 3.0 of the License, or (at your option) any later version. 9 | * 10 | * This library is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 | * 14 | * You should have received a copy of the GNU Library General Public 15 | * License along with this library; if not, see the GNU Library General Public License v3 16 | * at https://www.gnu.org/licenses/lgpl-3.0.en.html for more details. 17 | */ 18 | 19 | package com.jpaulmorrison.fbp.core.components.routing; 20 | 21 | 22 | import com.jpaulmorrison.fbp.core.engine.Component; 23 | import com.jpaulmorrison.fbp.core.engine.ComponentDescription; 24 | import com.jpaulmorrison.fbp.core.engine.InPort; 25 | import com.jpaulmorrison.fbp.core.engine.InputPort; 26 | import com.jpaulmorrison.fbp.core.engine.OutPort; 27 | import com.jpaulmorrison.fbp.core.engine.OutputPort; 28 | import com.jpaulmorrison.fbp.core.engine.Packet; 29 | 30 | 31 | /** 32 | * Component to copy all incoming packets - mostly used for debugging purposes. 33 | */ 34 | @ComponentDescription("Copy all incoming packets to output") 35 | @OutPort("OUT") 36 | @InPort("IN") 37 | public class Copy extends Component { 38 | 39 | 40 | 41 | private InputPort inport; 42 | 43 | private OutputPort outport; 44 | 45 | @Override 46 | protected void execute() { 47 | Packet p; 48 | while ((p = inport.receive()) != null) { 49 | outport.send(p); 50 | } 51 | 52 | } 53 | 54 | @Override 55 | protected void openPorts() { 56 | inport = openInput("IN"); 57 | 58 | outport = openOutput("OUT"); 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /src/main/java/com/jpaulmorrison/fbp/core/components/routing/Crash.java: -------------------------------------------------------------------------------- 1 | /* 2 | * JavaFBP - A Java Implementation of Flow-Based Programming (FBP) 3 | * Copyright (C) 2009, 2016 J. Paul Morrison 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Library General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 3.0 of the License, or (at your option) any later version. 9 | * 10 | * This library is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 | * 14 | * You should have received a copy of the GNU Library General Public 15 | * License along with this library; if not, see the GNU Library General Public License v3 16 | * at https://www.gnu.org/licenses/lgpl-3.0.en.html for more details. 17 | */ 18 | package com.jpaulmorrison.fbp.core.components.routing; 19 | 20 | 21 | import com.jpaulmorrison.fbp.core.engine.Component; 22 | import com.jpaulmorrison.fbp.core.engine.ComponentDescription; 23 | import com.jpaulmorrison.fbp.core.engine.InPort; 24 | import com.jpaulmorrison.fbp.core.engine.InputPort; 25 | import com.jpaulmorrison.fbp.core.engine.Packet; 26 | 27 | 28 | @ComponentDescription("Force crash") 29 | @InPort("IN") 30 | public class Crash extends Component { 31 | 32 | /** 33 | * Force crash 34 | * 35 | */ 36 | private InputPort inport; 37 | 38 | @SuppressWarnings("null") 39 | @Override 40 | protected void execute() { 41 | Packet p = inport.receive(); 42 | Object foo = new Object(); 43 | System.err.println("Foo"); 44 | foo = null; 45 | System.err.println(foo.toString()); 46 | drop(p); 47 | 48 | } 49 | 50 | @Override 51 | protected void openPorts() { 52 | inport = openInput("IN"); 53 | // inport.setType(Object.class); 54 | 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /src/main/java/com/jpaulmorrison/fbp/core/components/routing/Discard.java: -------------------------------------------------------------------------------- 1 | /* 2 | * JavaFBP - A Java Implementation of Flow-Based Programming (FBP) 3 | * Copyright (C) 2009, 2016 J. Paul Morrison 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Library General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 3.0 of the License, or (at your option) any later version. 9 | * 10 | * This library is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 | * 14 | * You should have received a copy of the GNU Library General Public 15 | * License along with this library; if not, see the GNU Library General Public License v3 16 | * at https://www.gnu.org/licenses/lgpl-3.0.en.html for more details. 17 | */ 18 | package com.jpaulmorrison.fbp.core.components.routing; 19 | 20 | 21 | import com.jpaulmorrison.fbp.core.engine.Component; 22 | import com.jpaulmorrison.fbp.core.engine.ComponentDescription; 23 | import com.jpaulmorrison.fbp.core.engine.InPort; 24 | import com.jpaulmorrison.fbp.core.engine.InputPort; 25 | import com.jpaulmorrison.fbp.core.engine.Packet; 26 | 27 | 28 | /** 29 | * Component to discard all incoming packets - mostly used for debugging 30 | * purposes. 31 | */ 32 | 33 | @ComponentDescription("Discards all incoming packets") 34 | @InPort(value = "IN", description = "Stream of packets to be discarded") 35 | public class Discard extends Component { 36 | 37 | 38 | private InputPort inport; 39 | 40 | @Override 41 | protected void execute() { 42 | Packet p = inport.receive(); 43 | // while ((p = inport.receive()) != null) { 44 | drop(p); 45 | // } 46 | 47 | } 48 | 49 | @Override 50 | protected void openPorts() { 51 | inport = openInput("IN"); 52 | 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /src/main/java/com/jpaulmorrison/fbp/core/components/routing/Inject.java: -------------------------------------------------------------------------------- 1 | /* 2 | * JavaFBP - A Java Implementation of Flow-Based Programming (FBP) 3 | * Copyright (C) 2009, 2016 J. Paul Morrison 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Library General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 3.0 of the License, or (at your option) any later version. 9 | * 10 | * This library is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 | * 14 | * You should have received a copy of the GNU Library General Public 15 | * License along with this library; if not, see the GNU Library General Public License v3 16 | * at https://www.gnu.org/licenses/lgpl-3.0.en.html for more details. 17 | */ 18 | package com.jpaulmorrison.fbp.core.components.routing; 19 | 20 | 21 | import com.jpaulmorrison.fbp.core.engine.Component; 22 | import com.jpaulmorrison.fbp.core.engine.ComponentDescription; 23 | import com.jpaulmorrison.fbp.core.engine.InPort; 24 | import com.jpaulmorrison.fbp.core.engine.InputPort; 25 | import com.jpaulmorrison.fbp.core.engine.OutPort; 26 | import com.jpaulmorrison.fbp.core.engine.OutputPort; 27 | import com.jpaulmorrison.fbp.core.engine.Packet; 28 | 29 | 30 | /** 31 | * Component to inject an IIP String as an IP 32 | */ 33 | @ComponentDescription("Inject CONST from IIP to the IP OUT") 34 | @OutPort("OUT") 35 | @InPort("CONST") 36 | public class Inject extends Component { 37 | 38 | 39 | 40 | private OutputPort outport; 41 | 42 | private InputPort cport; 43 | 44 | @Override 45 | protected void execute() { 46 | Packet cp = cport.receive(); 47 | if (cp == null) { 48 | return; 49 | } 50 | cport.close(); 51 | String c = (String) cp.getContent(); 52 | drop(cp); 53 | Packet pOut = create(c); 54 | if (!outport.isClosed()) { 55 | outport.send(pOut); 56 | } 57 | } 58 | 59 | @Override 60 | protected void openPorts() { 61 | outport = openOutput("OUT"); 62 | cport = openInput("CONST"); 63 | } 64 | } 65 | -------------------------------------------------------------------------------- /src/main/java/com/jpaulmorrison/fbp/core/components/routing/Kick.java: -------------------------------------------------------------------------------- 1 | /* 2 | * JavaFBP - A Java Implementation of Flow-Based Programming (FBP) 3 | * Copyright (C) 2009, 2016 J. Paul Morrison 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Library General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 3.0 of the License, or (at your option) any later version. 9 | * 10 | * This library is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 | * 14 | * You should have received a copy of the GNU Library General Public 15 | * License along with this library; if not, see the GNU Library General Public License v3 16 | * at https://www.gnu.org/licenses/lgpl-3.0.en.html for more details. 17 | */ 18 | package com.jpaulmorrison.fbp.core.components.routing; 19 | 20 | 21 | import com.jpaulmorrison.fbp.core.engine.Component; 22 | import com.jpaulmorrison.fbp.core.engine.ComponentDescription; 23 | import com.jpaulmorrison.fbp.core.engine.OutPort; 24 | import com.jpaulmorrison.fbp.core.engine.OutputPort; 25 | import com.jpaulmorrison.fbp.core.engine.Packet; 26 | 27 | 28 | /** Component to generate a single packet containing blank string - mostly used for debugging. 29 | */ 30 | @ComponentDescription("Outputs single packet containing blank string") 31 | @OutPort(value = "OUT", description = "Single packet containing blank", type = String.class) 32 | public class Kick extends Component { 33 | 34 | 35 | private OutputPort outport; 36 | 37 | @Override 38 | protected void execute() { 39 | 40 | Packet p = create(" "); 41 | outport.send(p); 42 | 43 | } 44 | 45 | @Override 46 | protected void openPorts() { 47 | outport = openOutput("OUT"); 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /src/main/java/com/jpaulmorrison/fbp/core/components/routing/KickWD.java: -------------------------------------------------------------------------------- 1 | /* 2 | * JavaFBP - A Java Implementation of Flow-Based Programming (FBP) 3 | * Copyright (C) 2009, 2016 J. Paul Morrison 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Library General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 3.0 of the License, or (at your option) any later version. 9 | * 10 | * This library is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 | * 14 | * You should have received a copy of the GNU Library General Public 15 | * License along with this library; if not, see the GNU Library General Public License v3 16 | * at https://www.gnu.org/licenses/lgpl-3.0.en.html for more details. 17 | */ 18 | 19 | package com.jpaulmorrison.fbp.core.components.routing; 20 | 21 | import com.jpaulmorrison.fbp.core.engine.Component; 22 | import com.jpaulmorrison.fbp.core.engine.ComponentDescription; 23 | import com.jpaulmorrison.fbp.core.engine.InPort; 24 | import com.jpaulmorrison.fbp.core.engine.InputPort; 25 | import com.jpaulmorrison.fbp.core.engine.OutPort; 26 | import com.jpaulmorrison.fbp.core.engine.OutputPort; 27 | import com.jpaulmorrison.fbp.core.engine.Packet; 28 | 29 | 30 | /** 31 | * Component to kick-start processing, emitting an IP with specified data 32 | */ 33 | @ComponentDescription("Kick with data") 34 | @OutPort(value = "OUT", description = "Generated packets", type = String.class) 35 | @InPort(value = "SOURCE", description = "Data string", type = String.class) 36 | 37 | public class KickWD extends Component { 38 | 39 | 40 | private OutputPort outport; 41 | 42 | private InputPort source; 43 | 44 | @Override 45 | protected void execute() { 46 | Packet rp = source.receive(); 47 | if (rp != null) 48 | outport.send(rp); 49 | } 50 | 51 | @Override 52 | protected void openPorts() { 53 | 54 | outport = openOutput("OUT"); 55 | 56 | source = openInput("SOURCE"); 57 | 58 | } 59 | } 60 | -------------------------------------------------------------------------------- /src/main/java/com/jpaulmorrison/fbp/core/components/routing/Output.java: -------------------------------------------------------------------------------- 1 | /* 2 | * JavaFBP - A Java Implementation of Flow-Based Programming (FBP) 3 | * Copyright (C) 2009, 2016 J. Paul Morrison 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Library General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 3.0 of the License, or (at your option) any later version. 9 | * 10 | * This library is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 | * 14 | * You should have received a copy of the GNU Library General Public 15 | * License along with this library; if not, see the GNU Library General Public License v3 16 | * at https://www.gnu.org/licenses/lgpl-3.0.en.html for more details. 17 | */ 18 | package com.jpaulmorrison.fbp.core.components.routing; 19 | 20 | 21 | import com.jpaulmorrison.fbp.core.engine.Component; 22 | import com.jpaulmorrison.fbp.core.engine.InPort; 23 | import com.jpaulmorrison.fbp.core.engine.InputPort; 24 | import com.jpaulmorrison.fbp.core.engine.Packet; 25 | /** 26 | * 27 | * 28 | * This component displays the content of incoming IPs; open and close brackets 29 | * are shown with their level numbers - the first open bracket is shown as OPEN(1) 30 | * 31 | * @author Sven Steinseifer - 2010 32 | */ 33 | 34 | @InPort("IN") 35 | public class Output extends Component { 36 | 37 | private InputPort inputPort; 38 | 39 | @Override 40 | protected void execute() { 41 | Packet p; 42 | int level = 1; 43 | while ((p = inputPort.receive()) != null) { 44 | switch (p.getType()) { 45 | case Packet.OPEN: 46 | System.out.println("OPEN(" + level + ")"); 47 | level++; 48 | break; 49 | case Packet.CLOSE: 50 | level--; 51 | System.out.println("CLOSE(" + level + ")"); 52 | break; 53 | default: 54 | System.out.println(p.getContent()); 55 | } 56 | drop(p); 57 | } 58 | } 59 | 60 | @Override 61 | protected void openPorts() { 62 | inputPort = openInput("IN"); 63 | } 64 | 65 | } 66 | -------------------------------------------------------------------------------- /src/main/java/com/jpaulmorrison/fbp/core/components/routing/Passthru.java: -------------------------------------------------------------------------------- 1 | /* 2 | * JavaFBP - A Java Implementation of Flow-Based Programming (FBP) 3 | * Copyright (C) 2009, 2016 J. Paul Morrison 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Library General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 3.0 of the License, or (at your option) any later version. 9 | * 10 | * This library is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 | * 14 | * You should have received a copy of the GNU Library General Public 15 | * License along with this library; if not, see the GNU Library General Public License v3 16 | * at https://www.gnu.org/licenses/lgpl-3.0.en.html for more details. 17 | */ 18 | 19 | package com.jpaulmorrison.fbp.core.components.routing; 20 | 21 | 22 | import com.jpaulmorrison.fbp.core.engine.Component; 23 | import com.jpaulmorrison.fbp.core.engine.ComponentDescription; 24 | import com.jpaulmorrison.fbp.core.engine.InPort; 25 | import com.jpaulmorrison.fbp.core.engine.InputPort; 26 | import com.jpaulmorrison.fbp.core.engine.OutPort; 27 | import com.jpaulmorrison.fbp.core.engine.OutputPort; 28 | import com.jpaulmorrison.fbp.core.engine.Packet; 29 | 30 | 31 | /** 32 | * Pass a stream of packets to an output stream. 33 | * 34 | */ 35 | @ComponentDescription("Pass a stream of packets to an output stream") 36 | @OutPort("OUT") 37 | @InPort("IN") 38 | public class Passthru extends Component { 39 | 40 | 41 | private InputPort inport; 42 | 43 | private OutputPort outport; 44 | 45 | @Override 46 | protected void execute() { 47 | 48 | // make it a non-looper - for testing 49 | 50 | Packet p = inport.receive(); 51 | outport.send(p); 52 | } 53 | 54 | @Override 55 | protected void openPorts() { 56 | 57 | inport = openInput("IN"); 58 | 59 | outport = openOutput("OUT"); 60 | 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /src/main/java/com/jpaulmorrison/fbp/core/components/text/ConcatString.java: -------------------------------------------------------------------------------- 1 | /* 2 | * JavaFBP - A Java Implementation of Flow-Based Programming (FBP) 3 | * Copyright (C) 2009, 2016 J. Paul Morrison 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Library General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 3.0 of the License, or (at your option) any later version. 9 | * 10 | * This library is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 | * 14 | * You should have received a copy of the GNU Library General Public 15 | * License along with this library; if not, see the GNU Library General Public License v3 16 | * at https://www.gnu.org/licenses/lgpl-3.0.en.html for more details. 17 | */ 18 | package com.jpaulmorrison.fbp.core.components.text; 19 | 20 | 21 | import com.jpaulmorrison.fbp.core.engine.*; 22 | 23 | 24 | /** Component to ConcatStreams all packets in the input stream into 25 | * one long String, which is then sent to the output port. 26 | */ 27 | @ComponentDescription("ConcatStreams all packets in the input stream into one long String") 28 | @OutPort("OUT") 29 | @InPort(value = "IN", arrayPort = true) 30 | public class ConcatString extends Component { 31 | 32 | 33 | 34 | private InputPort inport; 35 | 36 | private OutputPort outport; 37 | 38 | @SuppressWarnings("unchecked") 39 | @Override 40 | protected void execute() { 41 | 42 | String target = ""; 43 | Packet p; 44 | while ((p = (Packet) inport.receive()) != null) { 45 | String s = p.getContent(); 46 | target = target + s; 47 | drop(p); 48 | } 49 | Packet out = create(target); 50 | outport.send(out); 51 | 52 | } 53 | 54 | @Override 55 | protected void openPorts() { 56 | 57 | inport = openInput("IN"); 58 | 59 | outport = openOutput("OUT"); 60 | 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /src/main/java/com/jpaulmorrison/fbp/core/engine/Chain.java: -------------------------------------------------------------------------------- 1 | /* 2 | * JavaFBP - A Java Implementation of Flow-Based Programming (FBP) 3 | * Copyright (C) 2009, 2016 J. Paul Morrison 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Library General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 3.0 of the License, or (at your option) any later version. 9 | * 10 | * This library is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 | * 14 | * You should have received a copy of the GNU Library General Public 15 | * License along with this library; if not, see the GNU Library General Public License v3 16 | * at https://www.gnu.org/licenses/lgpl-3.0.en.html for more details. 17 | */ 18 | 19 | package com.jpaulmorrison.fbp.core.engine; 20 | 21 | 22 | import java.util.LinkedList; 23 | 24 | 25 | /** This is a package-private class which is just used to hold 26 | * chains attached to Packets. There are no methods here, 27 | * since all the work is being done in class Packet. 28 | * This could have been an inner class of Packet. 29 | */ 30 | 31 | final class Chain { 32 | 33 | 34 | 35 | final LinkedList> members; 36 | 37 | protected final String name; 38 | 39 | Chain(final String n) { 40 | name = n; 41 | members = new LinkedList>(); 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /src/main/java/com/jpaulmorrison/fbp/core/engine/Comparator.java: -------------------------------------------------------------------------------- 1 | /* 2 | * JavaFBP - A Java Implementation of Flow-Based Programming (FBP) 3 | * Copyright (C) 2009, 2016 J. Paul Morrison 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Library General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 3.0 of the License, or (at your option) any later version. 9 | * 10 | * This library is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 | * 14 | * You should have received a copy of the GNU Library General Public 15 | * License along with this library; if not, see the GNU Library General Public License v3 16 | * at https://www.gnu.org/licenses/lgpl-3.0.en.html for more details. 17 | */ 18 | 19 | package com.jpaulmorrison.fbp.core.engine; 20 | 21 | 22 | /** 23 | * A clone of java.util.Comparator from JDK 1.2. 24 | * @see java.util.Comparator 25 | **/ 26 | 27 | public interface Comparator { 28 | 29 | /** 30 | * @param first object to be compared 31 | * @param second object to be compared 32 | * @return -1 if first lt second, 0 if first == second, 1 if first gt second 33 | **/ 34 | 35 | 36 | int compareTo(Object first, Object second); 37 | } 38 | -------------------------------------------------------------------------------- /src/main/java/com/jpaulmorrison/fbp/core/engine/ComponentDescription.java: -------------------------------------------------------------------------------- 1 | /* 2 | * JavaFBP - A Java Implementation of Flow-Based Programming (FBP) 3 | * Copyright (C) 2009, 2016 J. Paul Morrison 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Library General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 3.0 of the License, or (at your option) any later version. 9 | * 10 | * This library is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 | * 14 | * You should have received a copy of the GNU Library General Public 15 | * License along with this library; if not, see the GNU Library General Public License v3 16 | * at https://www.gnu.org/licenses/lgpl-3.0.en.html for more details. 17 | */ 18 | 19 | package com.jpaulmorrison.fbp.core.engine; 20 | 21 | 22 | import java.lang.annotation.Retention; 23 | import java.lang.annotation.RetentionPolicy; 24 | 25 | 26 | @Retention(RetentionPolicy.RUNTIME) 27 | public @interface ComponentDescription { 28 | 29 | /*** 30 | * 31 | * Annotation for components, describing function of component - this will be displayed 32 | * by DrawFBP's Display Port Info command 33 | * 34 | */ 35 | 36 | 37 | String value() default ""; 38 | } 39 | -------------------------------------------------------------------------------- /src/main/java/com/jpaulmorrison/fbp/core/engine/ComponentException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * JavaFBP - A Java Implementation of Flow-Based Programming (FBP) 3 | * Copyright (C) 2009, 2016 J. Paul Morrison 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Library General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 3.0 of the License, or (at your option) any later version. 9 | * 10 | * This library is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 | * 14 | * You should have received a copy of the GNU Library General Public 15 | * License along with this library; if not, see the GNU Library General Public License v3 16 | * at https://www.gnu.org/licenses/lgpl-3.0.en.html for more details. 17 | * 18 | * ==================================================================================== 19 | * 20 | * Copied from http://www.java-tips.org/java-se-tips/java.lang/creating-application-specific-exceptions.html 21 | * 22 | * Thanks! 23 | */ 24 | 25 | package com.jpaulmorrison.fbp.core.engine; 26 | 27 | 28 | public class ComponentException extends Exception { 29 | 30 | private int intError; 31 | 32 | public ComponentException(final int intErrNo) { 33 | intError = intErrNo; 34 | } 35 | 36 | public ComponentException(final String strMessage) { 37 | super(strMessage); 38 | } 39 | 40 | @Override 41 | public String toString() { 42 | return "Component exception - value: " + intError; 43 | } 44 | 45 | int getValue() { 46 | return intError; 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /src/main/java/com/jpaulmorrison/fbp/core/engine/DummyMain.java: -------------------------------------------------------------------------------- 1 | package com.jpaulmorrison.fbp.core.engine; 2 | 3 | public class DummyMain { 4 | 5 | public static void main(String[] args) { 6 | // TODO Auto-generated method stub 7 | System.out.println("Dummy main - should not be invoked"); 8 | } 9 | 10 | } 11 | -------------------------------------------------------------------------------- /src/main/java/com/jpaulmorrison/fbp/core/engine/FlowError.java: -------------------------------------------------------------------------------- 1 | /* 2 | * JavaFBP - A Java Implementation of Flow-Based Programming (FBP) 3 | * Copyright (C) 2009, 2016 J. Paul Morrison 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Library General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 3.0 of the License, or (at your option) any later version. 9 | * 10 | * This library is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 | * 14 | * You should have received a copy of the GNU Library General Public 15 | * License along with this library; if not, see the GNU Library General Public License v3 16 | * at https://www.gnu.org/licenses/lgpl-3.0.en.html for more details. 17 | */ 18 | 19 | package com.jpaulmorrison.fbp.core.engine; 20 | 21 | 22 | /** 23 | * Instances of this class are thrown whenever a programming error 24 | * in a flow network is detected. Nobody is expected to catch these, 25 | * because they are considered indications of design errors, even though 26 | * detected only at run-time. 27 | **/ 28 | 29 | public class FlowError extends RuntimeException { 30 | 31 | /** 32 | * Constructs a new FlowError with a useful (but non-localized) 33 | * message as its text. FlowErrors without texts are not allowed, as 34 | * these are considered bad practice. 35 | * @param text a description of the error 36 | **/ 37 | 38 | static final long serialVersionUID = 362498820763181265L; 39 | 40 | 41 | 42 | FlowError(final String text) { 43 | super(text); 44 | } 45 | 46 | /** 47 | * A convenience method which constructs a new FlowError and 48 | * throws it at once, typically never returning. 49 | * @param text a description of the error 50 | **/ 51 | 52 | public static void complain(final String text) { 53 | throw new FlowError(text); 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /src/main/java/com/jpaulmorrison/fbp/core/engine/InPort.java: -------------------------------------------------------------------------------- 1 | /* 2 | * JavaFBP - A Java Implementation of Flow-Based Programming (FBP) 3 | * Copyright (C) 2009, 2016 J. Paul Morrison 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Library General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 3.0 of the License, or (at your option) any later version. 9 | * 10 | * This library is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 | * 14 | * You should have received a copy of the GNU Library General Public 15 | * License along with this library; if not, see the GNU Library General Public License v3 16 | * at https://www.gnu.org/licenses/lgpl-3.0.en.html for more details. 17 | */ 18 | 19 | package com.jpaulmorrison.fbp.core.engine; 20 | 21 | 22 | import java.lang.annotation.Retention; 23 | import java.lang.annotation.RetentionPolicy; 24 | 25 | 26 | @Retention(RetentionPolicy.RUNTIME) 27 | public @interface InPort { 28 | 29 | /*** 30 | * 31 | * Annotation for component, describing individual input port - this will be displayed 32 | * by DrawFBP's Display Port Info command 33 | * 34 | */ 35 | 36 | 37 | 38 | String value() default ""; // either value or valueList must be present 39 | 40 | int setDimension() default 0; 41 | 42 | String[] valueList() default {}; 43 | 44 | boolean arrayPort() default false; 45 | 46 | boolean fixedSize() default false; // only allowed if arrayPort 47 | 48 | String description() default ""; 49 | 50 | Class type() default Object.class; // type of object expected on this input port 51 | 52 | boolean optional() default false; 53 | 54 | 55 | } 56 | -------------------------------------------------------------------------------- /src/main/java/com/jpaulmorrison/fbp/core/engine/InPorts.java: -------------------------------------------------------------------------------- 1 | /* 2 | * JavaFBP - A Java Implementation of Flow-Based Programming (FBP) 3 | * Copyright (C) 2009, 2016 J. Paul Morrison 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Library General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 3.0 of the License, or (at your option) any later version. 9 | * 10 | * This library is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 | * 14 | * You should have received a copy of the GNU Library General Public 15 | * License along with this library; if not, see the GNU Library General Public License v3 16 | * at https://www.gnu.org/licenses/lgpl-3.0.en.html for more details. 17 | */ 18 | 19 | package com.jpaulmorrison.fbp.core.engine; 20 | 21 | 22 | import java.lang.annotation.Retention; 23 | import java.lang.annotation.RetentionPolicy; 24 | 25 | /*** 26 | * 27 | * Annotation for component, describing multiple input ports on a component 28 | * 29 | */ 30 | @Retention(RetentionPolicy.RUNTIME) 31 | public @interface InPorts { 32 | 33 | 34 | InPort[] value(); 35 | 36 | } 37 | -------------------------------------------------------------------------------- /src/main/java/com/jpaulmorrison/fbp/core/engine/License.txt: -------------------------------------------------------------------------------- 1 | /* 2 | * JavaFBP - A Java Implementation of Flow-Based Programming (FBP) 3 | * Copyright (C) 2009, 2016 J. Paul Morrison 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Library General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 3.0 of the License, or (at your option) any later version. 9 | * 10 | * This library is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 | * 14 | * You should have received a copy of the GNU Library General Public 15 | * License along with this library; if not, see the GNU Library General Public License v3 16 | * at https://www.gnu.org/licenses/lgpl-3.0.en.html for more details. 17 | */ -------------------------------------------------------------------------------- /src/main/java/com/jpaulmorrison/fbp/core/engine/MustRun.java: -------------------------------------------------------------------------------- 1 | /* 2 | * JavaFBP - A Java Implementation of Flow-Based Programming (FBP) 3 | * Copyright (C) 2009, 2016 J. Paul Morrison 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Library General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 3.0 of the License, or (at your option) any later version. 9 | * 10 | * This library is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 | * 14 | * You should have received a copy of the GNU Library General Public 15 | * License along with this library; if not, see the GNU Library General Public License v3 16 | * at https://www.gnu.org/licenses/lgpl-3.0.en.html for more details. 17 | */ 18 | 19 | package com.jpaulmorrison.fbp.core.engine; 20 | 21 | 22 | import java.lang.annotation.Retention; 23 | import java.lang.annotation.RetentionPolicy; 24 | 25 | 26 | @Retention(RetentionPolicy.RUNTIME) 27 | public @interface MustRun { 28 | 29 | /*** 30 | * 31 | * Annotation for component, specifying "must run" attribute 32 | * 33 | */ 34 | 35 | 36 | boolean value() default true; 37 | } -------------------------------------------------------------------------------- /src/main/java/com/jpaulmorrison/fbp/core/engine/NullOutputPort.java: -------------------------------------------------------------------------------- 1 | /* 2 | * JavaFBP - A Java Implementation of Flow-Based Programming (FBP) 3 | * Copyright (C) 2009, 2016 J. Paul Morrison 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Library General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 3.0 of the License, or (at your option) any later version. 9 | * 10 | * This library is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 | * 14 | * You should have received a copy of the GNU Library General Public 15 | * License along with this library; if not, see the GNU Library General Public License v3 16 | * at https://www.gnu.org/licenses/lgpl-3.0.en.html for more details. 17 | */ 18 | 19 | package com.jpaulmorrison.fbp.core.engine; 20 | 21 | 22 | public class NullOutputPort extends OutputPort 23 | 24 | /** 25 | * This class is an internal control block used while processing a component's annotations; 26 | * it is also used for checking 'connect' invocations in network definitions 27 | * 28 | */ 29 | 30 | { 31 | // The send function. 32 | @Override 33 | public void send(final Packet packet) { 34 | /*sender.drop(packet);*/ 35 | // do nothing - experimental 36 | } 37 | 38 | @Override 39 | public void close() { 40 | // do nothing 41 | } 42 | 43 | /** 44 | * This method returns true if the output port is connected 45 | * 46 | * @return boolean 47 | */ 48 | @Override 49 | public boolean isConnected() { 50 | return false; 51 | } 52 | 53 | } 54 | -------------------------------------------------------------------------------- /src/main/java/com/jpaulmorrison/fbp/core/engine/OutArray.java: -------------------------------------------------------------------------------- 1 | /* 2 | * JavaFBP - A Java Implementation of Flow-Based Programming (FBP) 3 | * Copyright (C) 2009, 2016 J. Paul Morrison 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Library General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 3.0 of the License, or (at your option) any later version. 9 | * 10 | * This library is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 | * 14 | * You should have received a copy of the GNU Library General Public 15 | * License along with this library; if not, see the GNU Library General Public License v3 16 | * at https://www.gnu.org/licenses/lgpl-3.0.en.html for more details. 17 | */ 18 | package com.jpaulmorrison.fbp.core.engine; 19 | 20 | 21 | /** 22 | * This class is an internal control block used while processing a component's annotations; 23 | * it is also used for checking 'connect' invocations in network definitions 24 | * 25 | */ 26 | 27 | public class OutArray extends OutputPort { 28 | 29 | //ArrayList al = null; 30 | 31 | boolean fixedSize; 32 | } 33 | -------------------------------------------------------------------------------- /src/main/java/com/jpaulmorrison/fbp/core/engine/OutPort.java: -------------------------------------------------------------------------------- 1 | /* 2 | * JavaFBP - A Java Implementation of Flow-Based Programming (FBP) 3 | * Copyright (C) 2009, 2016 J. Paul Morrison 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Library General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 3.0 of the License, or (at your option) any later version. 9 | * 10 | * This library is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 | * 14 | * You should have received a copy of the GNU Library General Public 15 | * License along with this library; if not, see the GNU Library General Public License v3 16 | * at https://www.gnu.org/licenses/lgpl-3.0.en.html for more details. 17 | */ 18 | 19 | package com.jpaulmorrison.fbp.core.engine; 20 | 21 | 22 | import java.lang.annotation.Retention; 23 | import java.lang.annotation.RetentionPolicy; 24 | 25 | 26 | @Retention(RetentionPolicy.RUNTIME) 27 | public @interface OutPort { 28 | 29 | /*** 30 | * 31 | * Annotation for component, describing individual output port - this will be displayed 32 | * by DrawFBP's Display Port Info command 33 | * 34 | */ 35 | 36 | 37 | String value() default ""; // either value or valueList must be present 38 | 39 | int setDimension() default 0; 40 | 41 | String[] valueList() default {}; 42 | 43 | boolean arrayPort() default false; 44 | 45 | boolean optional() default false; 46 | 47 | boolean fixedSize() default false; // only relevant if arrayPort - cannot coexist with optional 48 | 49 | String description() default ""; 50 | 51 | Class type() default Object.class; // type of object generated from this input port 52 | 53 | } 54 | -------------------------------------------------------------------------------- /src/main/java/com/jpaulmorrison/fbp/core/engine/OutPorts.java: -------------------------------------------------------------------------------- 1 | /* 2 | * JavaFBP - A Java Implementation of Flow-Based Programming (FBP) 3 | * Copyright (C) 2009, 2016 J. Paul Morrison 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Library General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 3.0 of the License, or (at your option) any later version. 9 | * 10 | * This library is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 | * 14 | * You should have received a copy of the GNU Library General Public 15 | * License along with this library; if not, see the GNU Library General Public License v3 16 | * at https://www.gnu.org/licenses/lgpl-3.0.en.html for more details. 17 | */ 18 | 19 | package com.jpaulmorrison.fbp.core.engine; 20 | 21 | 22 | import java.lang.annotation.Retention; 23 | import java.lang.annotation.RetentionPolicy; 24 | 25 | 26 | @Retention(RetentionPolicy.RUNTIME) 27 | public @interface OutPorts { 28 | 29 | /*** 30 | * 31 | * Annotation for component, describing multiple output ports on a component 32 | * 33 | */ 34 | 35 | 36 | OutPort[] value(); 37 | 38 | } 39 | -------------------------------------------------------------------------------- /src/main/java/com/jpaulmorrison/fbp/core/engine/Priority.java: -------------------------------------------------------------------------------- 1 | /* 2 | * JavaFBP - A Java Implementation of Flow-Based Programming (FBP) 3 | * Copyright (C) 2009, 2016 J. Paul Morrison 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Library General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 3.0 of the License, or (at your option) any later version. 9 | * 10 | * This library is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 | * 14 | * You should have received a copy of the GNU Library General Public 15 | * License along with this library; if not, see the GNU Library General Public License v3 16 | * at https://www.gnu.org/licenses/lgpl-3.0.en.html for more details. 17 | */ 18 | 19 | package com.jpaulmorrison.fbp.core.engine; 20 | 21 | 22 | import java.lang.annotation.Retention; 23 | import java.lang.annotation.RetentionPolicy; 24 | 25 | 26 | @Retention(RetentionPolicy.RUNTIME) 27 | public @interface Priority { 28 | 29 | 30 | int value(); 31 | 32 | } 33 | -------------------------------------------------------------------------------- /src/main/java/com/jpaulmorrison/fbp/core/engine/SelfStarting.java: -------------------------------------------------------------------------------- 1 | /* 2 | * JavaFBP - A Java Implementation of Flow-Based Programming (FBP) 3 | * Copyright (C) 2009, 2016 J. Paul Morrison 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Library General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 3.0 of the License, or (at your option) any later version. 9 | * 10 | * This library is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 | * 14 | * You should have received a copy of the GNU Library General Public 15 | * License along with this library; if not, see the GNU Library General Public License v3 16 | * at https://www.gnu.org/licenses/lgpl-3.0.en.html for more details. 17 | */ 18 | 19 | package com.jpaulmorrison.fbp.core.engine; 20 | 21 | 22 | import java.lang.annotation.Retention; 23 | import java.lang.annotation.RetentionPolicy; 24 | 25 | 26 | @Retention(RetentionPolicy.RUNTIME) 27 | @interface SelfStarting { 28 | 29 | /*** 30 | * 31 | * Package private annotation for component, specifying "self-starting" attribute - the process is to "self-start" even if it has 32 | * input ports. This is only used for engine.DispIPCounts.java 33 | * 34 | */ 35 | 36 | boolean value() default true; 37 | } -------------------------------------------------------------------------------- /src/main/java/com/jpaulmorrison/fbp/core/engine/SubOut.java: -------------------------------------------------------------------------------- 1 | /* 2 | * JavaFBP - A Java Implementation of Flow-Based Programming (FBP) 3 | * Copyright (C) 2009, 2016 J. Paul Morrison 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Library General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 3.0 of the License, or (at your option) any later version. 9 | * 10 | * This library is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 | * 14 | * You should have received a copy of the GNU Library General Public 15 | * License along with this library; if not, see the GNU Library General Public License v3 16 | * at https://www.gnu.org/licenses/lgpl-3.0.en.html for more details. 17 | */ 18 | 19 | package com.jpaulmorrison.fbp.core.engine; 20 | 21 | 22 | /** Look after output from subnet - added for subnet support 23 | */ 24 | @InPorts({ @InPort("IN"), @InPort("NAME") }) 25 | public class SubOut extends Component { 26 | 27 | 28 | private InputPort inport, nameport; 29 | 30 | private OutputPort outport; 31 | 32 | @Override 33 | protected void execute()/* throws Throwable*/{ 34 | Packet np = nameport.receive(); 35 | if (np == null) { 36 | return; 37 | } 38 | nameport.close(); 39 | String pname = (String) np.getContent(); 40 | drop(np); 41 | 42 | outport = mother.getOutports().get(pname); 43 | mother.traceFuncs(getName() + ": Accessing output port: " + outport.getName()); 44 | outport.setSender(this); 45 | Packet p; 46 | while ((p = inport.receive()) != null) { 47 | outport.send(p); 48 | 49 | } 50 | 51 | mother.traceFuncs(getName() + ": Releasing output port: " + outport.getName()); 52 | outport = null; 53 | } 54 | 55 | @Override 56 | protected void openPorts() { 57 | 58 | nameport = openInput("NAME"); 59 | inport = openInput("IN"); 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /src/main/java/com/jpaulmorrison/fbp/core/engine/SubOutSS.java: -------------------------------------------------------------------------------- 1 | /* 2 | * JavaFBP - A Java Implementation of Flow-Based Programming (FBP) 3 | * Copyright (C) 2009, 2016 J. Paul Morrison 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Library General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 3.0 of the License, or (at your option) any later version. 9 | * 10 | * This library is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 | * 14 | * You should have received a copy of the GNU Library General Public 15 | * License along with this library; if not, see the GNU Library General Public License v3 16 | * at https://www.gnu.org/licenses/lgpl-3.0.en.html for more details. 17 | */ 18 | 19 | package com.jpaulmorrison.fbp.core.engine; 20 | 21 | 22 | /** Look after output from subnet - added for subnet support 23 | * Differs from SubOut in that it adds an open bracket at the beginning, and a 24 | * close bracket at the end 25 | */ 26 | @InPorts({ @InPort("IN"), @InPort("NAME") }) 27 | public class SubOutSS extends Component { 28 | 29 | 30 | private InputPort inport, nameport; 31 | 32 | private OutputPort outport; 33 | 34 | @Override 35 | protected void execute()/* throws Throwable*/{ 36 | Packet np = nameport.receive(); 37 | if (np == null) { 38 | return; 39 | } 40 | nameport.close(); 41 | String pname = (String) np.getContent(); 42 | drop(np); 43 | 44 | outport = mother.getOutports().get(pname); 45 | mother.traceFuncs(getName() + ": Accessing output port: " + outport.getName()); 46 | outport.setSender(this); 47 | Packet p; 48 | p = create(Packet.OPEN, ""); 49 | outport.send(p); 50 | 51 | while ((p = inport.receive()) != null) { 52 | outport.send(p); 53 | 54 | } 55 | p = create(Packet.CLOSE, ""); 56 | outport.send(p); 57 | 58 | mother.traceFuncs(getName() + ": Releasing output port: " + outport.getName()); 59 | outport = null; 60 | } 61 | 62 | @Override 63 | protected void openPorts() { 64 | 65 | nameport = openInput("NAME"); 66 | inport = openInput("IN"); 67 | } 68 | } 69 | -------------------------------------------------------------------------------- /src/main/java/com/jpaulmorrison/fbp/core/engine/TimeoutHandler.java: -------------------------------------------------------------------------------- 1 | /* 2 | * JavaFBP - A Java Implementation of Flow-Based Programming (FBP) 3 | * Copyright (C) 2009, 2016 J. Paul Morrison 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Library General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 3.0 of the License, or (at your option) any later version. 9 | * 10 | * This library is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 | * 14 | * You should have received a copy of the GNU Library General Public 15 | * License along with this library; if not, see the GNU Library General Public License v3 16 | * at https://www.gnu.org/licenses/lgpl-3.0.en.html for more details. 17 | */ 18 | 19 | package com.jpaulmorrison.fbp.core.engine; 20 | 21 | 22 | public class TimeoutHandler { 23 | 24 | /** 25 | * This class is used by the 'longWaitStart' method which can be used by components 26 | * 27 | */ 28 | 29 | private long dur; 30 | 31 | private final Component comp; 32 | 33 | public TimeoutHandler(final double intvl, final Component c) { 34 | 35 | double ms = intvl * 1000.0 + 500.0; 36 | dur = new Double(ms).longValue(); // convert to msecs 37 | comp = c; 38 | c.timeout = this; 39 | } 40 | 41 | void dispose(final Component c) { 42 | synchronized (c.network) { 43 | c.network.timeouts.remove(c); 44 | } 45 | c.timeout = null; 46 | c.status = Component.StatusValues.ACTIVE; 47 | } 48 | 49 | void decrement(final long freq) { 50 | dur -= freq; // reduce by frequency, in msecs 51 | if (dur < 0) { 52 | FlowError.complain("Component " + comp.getName() + " timed out"); 53 | } 54 | 55 | } 56 | 57 | } 58 | -------------------------------------------------------------------------------- /src/main/java/com/jpaulmorrison/fbp/core/engine/VersionAndTimestamp.java: -------------------------------------------------------------------------------- 1 | /* 2 | * JavaFBP - A Java Implementation of Flow-Based Programming (FBP) 3 | * Copyright (C) 2009, 2016 J. Paul Morrison 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Library General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 3.0 of the License, or (at your option) any later version. 9 | * 10 | * This library is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 | * 14 | * You should have received a copy of the GNU Library General Public 15 | * License along with this library; if not, see the GNU Library General Public License v3 16 | * at https://www.gnu.org/licenses/lgpl-3.0.en.html for more details. 17 | */ 18 | package com.jpaulmorrison.fbp.core.engine; 19 | 20 | 21 | public final class VersionAndTimestamp { 22 | 23 | /** 24 | * This class is simply used to record the version number and timestamp of the last update 25 | * 26 | */ 27 | 28 | private static String version = "JavaFBP - version 4.1.12"; 29 | 30 | private static String date = "June 30, 2021"; 31 | 32 | static String getVersion() { 33 | return version; 34 | } 35 | 36 | static String getDate() { 37 | return date; 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /src/main/java/com/jpaulmorrison/fbp/resourcekit/examples/components/BuildBlob.java: -------------------------------------------------------------------------------- 1 | /* 2 | * JavaFBP - A Java Implementation of Flow-Based Programming (FBP) 3 | * Copyright (C) 2009, 2016 J. Paul Morrison 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Library General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 3.0 of the License, or (at your option) any later version. 9 | * 10 | * This library is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 | * 14 | * You should have received a copy of the GNU Library General Public 15 | * License along with this library; if not, see the GNU Library General Public License v3 16 | * at https://www.gnu.org/licenses/lgpl-3.0.en.html for more details. 17 | */ 18 | 19 | package com.jpaulmorrison.fbp.resourcekit.examples.components; 20 | 21 | 22 | import com.jpaulmorrison.fbp.core.engine.Component; 23 | import com.jpaulmorrison.fbp.core.engine.ComponentDescription; 24 | import com.jpaulmorrison.fbp.core.engine.InPort; 25 | import com.jpaulmorrison.fbp.core.engine.InputPort; 26 | import com.jpaulmorrison.fbp.core.engine.OutPort; 27 | import com.jpaulmorrison.fbp.core.engine.OutputPort; 28 | import com.jpaulmorrison.fbp.core.engine.Packet; 29 | 30 | 31 | /** 32 | * Component to build "blob" from incoming records. 33 | */ 34 | @ComponentDescription("Build blob from incoming records") 35 | @OutPort("OUT") 36 | @InPort("IN") 37 | public class BuildBlob extends Component { 38 | 39 | 40 | private InputPort inport; 41 | 42 | private OutputPort outport; 43 | 44 | @Override 45 | protected void execute() { 46 | Packet p; 47 | String blob = ""; 48 | while ((p = inport.receive()) != null) { 49 | String s = (String) p.getContent(); 50 | blob += s + " "; 51 | drop(p); 52 | } 53 | outport.send(create(blob)); 54 | } 55 | 56 | @Override 57 | protected void openPorts() { 58 | inport = openInput("IN"); 59 | 60 | outport = openOutput("OUT"); 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /src/main/java/com/jpaulmorrison/fbp/resourcekit/examples/components/ChainOps.java: -------------------------------------------------------------------------------- 1 | /* 2 | * JavaFBP - A Java Implementation of Flow-Based Programming (FBP) 3 | * Copyright (C) 2009, 2016 J. Paul Morrison 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Library General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 3.0 of the License, or (at your option) any later version. 9 | * 10 | * This library is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 | * 14 | * You should have received a copy of the GNU Library General Public 15 | * License along with this library; if not, see the GNU Library General Public License v3 16 | * at https://www.gnu.org/licenses/lgpl-3.0.en.html for more details. 17 | */ 18 | package com.jpaulmorrison.fbp.resourcekit.examples.components; 19 | 20 | 21 | import com.jpaulmorrison.fbp.core.engine.Component; 22 | import com.jpaulmorrison.fbp.core.engine.OutPort; 23 | import com.jpaulmorrison.fbp.core.engine.OutputPort; 24 | import com.jpaulmorrison.fbp.core.engine.Packet; 25 | 26 | /** 27 | * Component to test chaining API calls 28 | * 29 | */ 30 | 31 | @OutPort("OUT") 32 | public class ChainOps extends Component { 33 | 34 | 35 | private OutputPort outputPort; 36 | 37 | @Override 38 | protected void openPorts() { 39 | outputPort = openOutput("OUT"); 40 | } 41 | 42 | @Override 43 | protected void execute() { 44 | Packet a = create("a"); 45 | Packet b = create("b"); 46 | Packet c = create("c"); 47 | Packet d = create("d"); 48 | 49 | attach(a, "Chain1", b); 50 | attach(b, "Chain1", c); 51 | attach(b, "Chain1", d); 52 | detach(b, "Chain1", c); 53 | 54 | detach(a, "Chain1", b); 55 | outputPort.send(b); 56 | outputPort.send(a); 57 | 58 | outputPort.send(c); 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /src/main/java/com/jpaulmorrison/fbp/resourcekit/examples/components/CheckForDupNames.java: -------------------------------------------------------------------------------- 1 | /* 2 | * JavaFBP - A Java Implementation of Flow-Based Programming (FBP) 3 | * Copyright (C) 2009, 2016 J. Paul Morrison 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Library General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 3.0 of the License, or (at your option) any later version. 9 | * 10 | * This library is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 | * 14 | * You should have received a copy of the GNU Library General Public 15 | * License along with this library; if not, see the GNU Library General Public License v3 16 | * at https://www.gnu.org/licenses/lgpl-3.0.en.html for more details. 17 | */ 18 | 19 | package com.jpaulmorrison.fbp.resourcekit.examples.components; 20 | 21 | 22 | import java.util.HashMap; 23 | 24 | import com.jpaulmorrison.fbp.core.engine.Component; 25 | import com.jpaulmorrison.fbp.core.engine.ComponentDescription; 26 | import com.jpaulmorrison.fbp.core.engine.InPort; 27 | import com.jpaulmorrison.fbp.core.engine.InputPort; 28 | import com.jpaulmorrison.fbp.core.engine.Packet; 29 | 30 | 31 | /** Component to check for duplicate names in GEDCOM files 32 | */ 33 | @ComponentDescription("Check for duplicate names in GEDCOM files") 34 | @InPort("IN") 35 | public class CheckForDupNames extends Component { 36 | 37 | 38 | private InputPort inport; 39 | 40 | @Override 41 | protected void execute() { 42 | 43 | Packet p; 44 | 45 | HashMap map = new HashMap(); 46 | String str; 47 | String key; 48 | 49 | while ((p = inport.receive()) != null) { 50 | str = (String) p.getContent(); 51 | if (str.substring(0, 6).equals("1 NAME")) { 52 | key = str.substring(7).trim(); 53 | if (map.containsKey(key)) { 54 | System.out.println("Duplicate name: " + key); 55 | } else { 56 | map.put(key, "Y"); 57 | } 58 | } 59 | drop(p); 60 | } 61 | 62 | } 63 | 64 | @Override 65 | protected void openPorts() { 66 | 67 | inport = openInput("IN"); 68 | 69 | } 70 | } 71 | -------------------------------------------------------------------------------- /src/main/java/com/jpaulmorrison/fbp/resourcekit/examples/components/GenSubStreams.java: -------------------------------------------------------------------------------- 1 | /* 2 | * JavaFBP - A Java Implementation of Flow-Based Programming (FBP) 3 | * Copyright (C) 2009, 2016 J. Paul Morrison 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Library General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 3.0 of the License, or (at your option) any later version. 9 | * 10 | * This library is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 | * 14 | * You should have received a copy of the GNU Library General Public 15 | * License along with this library; if not, see the GNU Library General Public License v3 16 | * at https://www.gnu.org/licenses/lgpl-3.0.en.html for more details. 17 | */ 18 | 19 | 20 | package com.jpaulmorrison.fbp.resourcekit.examples.components; 21 | 22 | 23 | /* Sven Steinseifer - 2010 */ 24 | 25 | import com.jpaulmorrison.fbp.core.engine.Component; 26 | import com.jpaulmorrison.fbp.core.engine.OutPort; 27 | import com.jpaulmorrison.fbp.core.engine.OutputPort; 28 | import com.jpaulmorrison.fbp.core.engine.Packet; 29 | 30 | 31 | @OutPort("OUT") 32 | public class GenSubStreams extends Component { 33 | 34 | OutputPort outputPort; 35 | 36 | @Override 37 | protected void execute() { 38 | outputPort.send(create(Packet.OPEN, "OPEN(1)")); 39 | outputPort.send(create("A")); 40 | outputPort.send(create(Packet.OPEN, "OPEN(2)")); 41 | outputPort.send(create("B")); 42 | outputPort.send(create(Packet.CLOSE, "CLOSE(2)")); 43 | outputPort.send(create(Packet.CLOSE, "CLOSE(1)")); 44 | outputPort.close(); 45 | } 46 | 47 | @Override 48 | protected void openPorts() { 49 | outputPort = openOutput("OUT"); 50 | } 51 | 52 | } 53 | -------------------------------------------------------------------------------- /src/main/java/com/jpaulmorrison/fbp/resourcekit/examples/components/GenerateSlowly.java: -------------------------------------------------------------------------------- 1 | package com.jpaulmorrison.fbp.resourcekit.examples.components; 2 | 3 | 4 | import com.jpaulmorrison.fbp.core.engine.Component; 5 | import com.jpaulmorrison.fbp.core.engine.InPort; 6 | import com.jpaulmorrison.fbp.core.engine.InputPort; 7 | import com.jpaulmorrison.fbp.core.engine.OutPort; 8 | import com.jpaulmorrison.fbp.core.engine.OutputPort; 9 | import com.jpaulmorrison.fbp.core.engine.Packet; 10 | 11 | @InPort(value = "CONFIG", optional = true) 12 | @OutPort("OUT") 13 | public class GenerateSlowly extends Component { 14 | 15 | private InputPort cfgPort; 16 | private OutputPort outputPort; 17 | 18 | /** 19 | * @see com.jpaulmorrison.fbp.core.engine.Component#execute() 20 | * 21 | * {@inheritDoc} 22 | */ 23 | @Override 24 | protected void execute() throws Exception { 25 | 26 | long intvl = 1000; 27 | Packet p = cfgPort.receive(); 28 | if (p != null) { 29 | intvl = Long.parseLong((String)p.getContent()); 30 | } 31 | for (int i = 0; i < 100000; i++) { 32 | String s = Integer.toString(i); 33 | outputPort.send(create(s)); 34 | Thread.sleep(1000); 35 | } 36 | 37 | } 38 | 39 | /** 40 | * @see com.jpaulmorrison.fbp.core.engine.Component#openPorts() 41 | * 42 | * {@inheritDoc} 43 | */ 44 | @Override 45 | protected void openPorts() { 46 | cfgPort = openInput("CONFIG"); 47 | outputPort = openOutput("OUT"); 48 | 49 | } 50 | 51 | } 52 | -------------------------------------------------------------------------------- /src/main/java/com/jpaulmorrison/fbp/resourcekit/examples/components/JFilter.java: -------------------------------------------------------------------------------- 1 | /* 2 | * JavaFBP - A Java Implementation of Flow-Based Programming (FBP) 3 | * Copyright (C) 2009, 2016 J. Paul Morrison 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Library General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 3.0 of the License, or (at your option) any later version. 9 | * 10 | * This library is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 | * 14 | * You should have received a copy of the GNU Library General Public 15 | * License along with this library; if not, see the GNU Library General Public License v3 16 | * at https://www.gnu.org/licenses/lgpl-3.0.en.html for more details. 17 | */ 18 | 19 | 20 | package com.jpaulmorrison.fbp.resourcekit.examples.components; 21 | 22 | 23 | import com.jpaulmorrison.fbp.core.engine.Component; 24 | import com.jpaulmorrison.fbp.core.engine.ComponentDescription; 25 | import com.jpaulmorrison.fbp.core.engine.InPort; 26 | import com.jpaulmorrison.fbp.core.engine.InputPort; 27 | import com.jpaulmorrison.fbp.core.engine.OutPort; 28 | import com.jpaulmorrison.fbp.core.engine.OutputPort; 29 | import com.jpaulmorrison.fbp.core.engine.Packet; 30 | 31 | 32 | /** 33 | * Pass a stream of packets to an output stream, if contents string ends in ".java", 34 | * discarding others 35 | * 36 | */ 37 | @ComponentDescription("Pass a stream of packets to an output stream, if contents ends in '.java'") 38 | @OutPort("OUT") 39 | @InPort("IN") 40 | public class JFilter extends Component { 41 | 42 | 43 | private InputPort inport; 44 | 45 | private OutputPort outport; 46 | 47 | @Override 48 | protected void execute() { 49 | 50 | // make it a non-looper - for testing 51 | 52 | Packet p = inport.receive(); 53 | String s = (String) p.getContent(); 54 | if (s.endsWith(".java")) 55 | outport.send(p); 56 | else 57 | drop(p); 58 | } 59 | 60 | @Override 61 | protected void openPorts() { 62 | 63 | inport = openInput("IN"); 64 | 65 | outport = openOutput("OUT"); 66 | 67 | } 68 | } 69 | -------------------------------------------------------------------------------- /src/main/java/com/jpaulmorrison/fbp/resourcekit/examples/components/TestStack.java: -------------------------------------------------------------------------------- 1 | /* 2 | * JavaFBP - A Java Implementation of Flow-Based Programming (FBP) 3 | * Copyright (C) 2009, 2016 J. Paul Morrison 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Library General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 3.0 of the License, or (at your option) any later version. 9 | * 10 | * This library is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 | * 14 | * You should have received a copy of the GNU Library General Public 15 | * License along with this library; if not, see the GNU Library General Public License v3 16 | * at https://www.gnu.org/licenses/lgpl-3.0.en.html for more details. 17 | */ 18 | 19 | package com.jpaulmorrison.fbp.resourcekit.examples.components; 20 | 21 | 22 | import com.jpaulmorrison.fbp.core.engine.Component; 23 | import com.jpaulmorrison.fbp.core.engine.InPort; 24 | import com.jpaulmorrison.fbp.core.engine.InputPort; 25 | import com.jpaulmorrison.fbp.core.engine.Packet; 26 | 27 | 28 | /** Component to do simple stack testing. 29 | */ 30 | @InPort("IN") 31 | public class TestStack extends Component { 32 | 33 | private InputPort inport; 34 | 35 | @Override 36 | protected void execute() { 37 | 38 | Packet p; 39 | if (stackSize() > 0) { 40 | p = pop(); 41 | } else { 42 | p = create(""); 43 | } 44 | Packet q = inport.receive(); 45 | if (q != null) { 46 | drop(q); 47 | push(p); 48 | } else { // end of stream 49 | drop(p); 50 | } 51 | 52 | } 53 | 54 | @Override 55 | protected void openPorts() { 56 | inport = openInput("IN"); 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /src/main/java/com/jpaulmorrison/fbp/resourcekit/examples/networks/Copy1.java: -------------------------------------------------------------------------------- 1 | /* 2 | * JavaFBP - A Java Implementation of Flow-Based Programming (FBP) 3 | * Copyright (C) 2009, 2016 J. Paul Morrison 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Library General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 3.0 of the License, or (at your option) any later version. 9 | * 10 | * This library is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 | * 14 | * You should have received a copy of the GNU Library General Public 15 | * License along with this library; if not, see the GNU Library General Public License v3 16 | * at https://www.gnu.org/licenses/lgpl-3.0.en.html for more details. 17 | */ 18 | 19 | //xxxxxxxxxxxxxxxxxx 20 | 21 | /* --------- 22 | * * 23 | */ 24 | 25 | 26 | package com.jpaulmorrison.fbp.resourcekit.examples.networks; 27 | 28 | 29 | import com.jpaulmorrison.fbp.core.components.misc.WriteToConsole; 30 | import com.jpaulmorrison.fbp.core.engine.Network; 31 | import com.jpaulmorrison.fbp.resourcekit.examples.components.SlowPass; 32 | import com.jpaulmorrison.fbp.core.components.misc.GenerateTestData; 33 | 34 | /** 35 | * Generate 100 test IPs and write them to the console 36 | * 37 | */ 38 | public class Copy1 extends Network { 39 | 40 | 41 | @Override 42 | protected void define() { 43 | // component("MONITOR", Monitor.class); 44 | 45 | connect(component("Generate", GenerateTestData.class), port("OUT"), //component("SlowPass", SlowPass.class), port("IN")); 46 | //connect(component("SlowPass"), port("OUT"), 47 | component("Write", WriteToConsole.class), port("IN")); 48 | 49 | initialize("100", component("Generate"), port("COUNT")); 50 | 51 | } 52 | 53 | public static void main(final String[] argv) throws Exception { 54 | //for (int i = 0; i < 50; i++) 55 | new Copy1().go(); 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /src/main/java/com/jpaulmorrison/fbp/resourcekit/examples/networks/Copy2.java: -------------------------------------------------------------------------------- 1 | /* 2 | * JavaFBP - A Java Implementation of Flow-Based Programming (FBP) 3 | * Copyright (C) 2009, 2016 J. Paul Morrison 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Library General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 3.0 of the License, or (at your option) any later version. 9 | * 10 | * This library is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 | * 14 | * You should have received a copy of the GNU Library General Public 15 | * License along with this library; if not, see the GNU Library General Public License v3 16 | * at https://www.gnu.org/licenses/lgpl-3.0.en.html for more details. 17 | */ 18 | package com.jpaulmorrison.fbp.resourcekit.examples.networks; 19 | 20 | 21 | import com.jpaulmorrison.fbp.core.components.text.ReplString; 22 | import com.jpaulmorrison.fbp.core.components.misc.WriteToConsole; 23 | import com.jpaulmorrison.fbp.core.engine.Network; 24 | import com.jpaulmorrison.fbp.core.components.misc.GenerateTestData; 25 | 26 | /** 27 | * Generate 2000 test IPs, pass them through Replicate and write them to console 28 | * 29 | * 30 | */ 31 | 32 | public class Copy2 extends Network { 33 | 34 | 35 | @Override 36 | protected void define() { 37 | 38 | connect(component("Generate", GenerateTestData.class), port("OUT"), component("ReplString", ReplString.class), port("IN")); 39 | 40 | connect(component("ReplString"), port("OUT", 0), component("Write", WriteToConsole.class), port("IN")); 41 | 42 | initialize("2000", component("Generate"), port("COUNT")); 43 | 44 | } 45 | 46 | public static void main(final String[] argv) throws Exception { 47 | new Copy2().go(); 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /src/main/java/com/jpaulmorrison/fbp/resourcekit/examples/networks/CopyFileToCons.java: -------------------------------------------------------------------------------- 1 | /* 2 | * JavaFBP - A Java Implementation of Flow-Based Programming (FBP) 3 | * Copyright (C) 2009, 2016 J. Paul Morrison 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Library General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 3.0 of the License, or (at your option) any later version. 9 | * 10 | * This library is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 | * 14 | * You should have received a copy of the GNU Library General Public 15 | * License along with this library; if not, see the GNU Library General Public License v3 16 | * at https://www.gnu.org/licenses/lgpl-3.0.en.html for more details. 17 | */ 18 | 19 | package com.jpaulmorrison.fbp.resourcekit.examples.networks; 20 | 21 | 22 | import java.io.File; 23 | import com.jpaulmorrison.fbp.core.components.routing.Discard; 24 | import com.jpaulmorrison.fbp.core.components.io.ReadFile; 25 | import com.jpaulmorrison.fbp.core.components.misc.WriteToConsole; 26 | import com.jpaulmorrison.fbp.core.engine.Network; 27 | import com.jpaulmorrison.fbp.core.components.text.DuplicateString; 28 | 29 | /** 30 | * Read from file; run them through DuplicateString; write one set to the console, and the other st to Discard * 31 | * 32 | */ 33 | 34 | 35 | public class CopyFileToCons extends Network { 36 | 37 | @Override 38 | protected void define() { 39 | connect(component("Read", ReadFile.class), port("OUT"), component("Dup", DuplicateString.class), port("IN")); 40 | connect(component("Dup"), port("DUPLICATE"), component("Write", WriteToConsole.class), port("IN")); 41 | connect(component("Dup"), port("OUT"), component("Disc", Discard.class), port("IN")); 42 | initialize("src/main/resources/testdata/testdata.txt".replace("/", File.separator), component("Read"), port("SOURCE")); 43 | 44 | } 45 | 46 | public static void main(final String[] argv) throws Exception { 47 | new CopyFileToCons().go(); 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /src/main/java/com/jpaulmorrison/fbp/resourcekit/examples/networks/Deadlock.java: -------------------------------------------------------------------------------- 1 | /* 2 | * JavaFBP - A Java Implementation of Flow-Based Programming (FBP) 3 | * Copyright (C) 2009, 2016 J. Paul Morrison 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Library General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 3.0 of the License, or (at your option) any later version. 9 | * 10 | * This library is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 | * 14 | * You should have received a copy of the GNU Library General Public 15 | * License along with this library; if not, see the GNU Library General Public License v3 16 | * at https://www.gnu.org/licenses/lgpl-3.0.en.html for more details. 17 | */ 18 | 19 | package com.jpaulmorrison.fbp.resourcekit.examples.networks; 20 | 21 | 22 | import com.jpaulmorrison.fbp.core.components.routing.ConcatStreams; 23 | import com.jpaulmorrison.fbp.core.components.routing.Discard; 24 | 25 | import com.jpaulmorrison.fbp.core.components.text.ReplString; 26 | import com.jpaulmorrison.fbp.core.engine.Network; 27 | import com.jpaulmorrison.fbp.core.components.misc.GenerateTestData; 28 | 29 | 30 | /** This network forces a deadlock condition */ 31 | 32 | public class Deadlock extends Network { 33 | 34 | 35 | @Override 36 | protected void define() { 37 | //tracing = true; 38 | 39 | connect(component("Gen", GenerateTestData.class), port("OUT"), component("ReplString", ReplString.class), port("IN")); 40 | initialize("10000", component("Gen"), port("COUNT")); 41 | connect(component("ConcatStreams", ConcatStreams.class), port("OUT"), component("Discard", Discard.class), port("IN")); 42 | 43 | connect(component("ReplString"), port("OUT", 0), component("ConcatStreams"), port("IN", 0)); 44 | 45 | connect(component("ReplString"), port("OUT", 2), component("ConcatStreams"), port("IN", 1)); 46 | 47 | connect(component("ReplString"), port("OUT", 1), component("ConcatStreams"), port("IN", 2)); 48 | } 49 | 50 | public static void main(final String[] argv) throws Exception { 51 | new Deadlock().go(); 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /src/main/java/com/jpaulmorrison/fbp/resourcekit/examples/networks/FileCopy.java: -------------------------------------------------------------------------------- 1 | /* 2 | * JavaFBP - A Java Implementation of Flow-Based Programming (FBP) 3 | * Copyright (C) 2009, 2016 J. Paul Morrison 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Library General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 3.0 of the License, or (at your option) any later version. 9 | * 10 | * This library is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 | * 14 | * You should have received a copy of the GNU Library General Public 15 | * License along with this library; if not, see the GNU Library General Public License v3 16 | * at https://www.gnu.org/licenses/lgpl-3.0.en.html for more details. 17 | */ 18 | 19 | package com.jpaulmorrison.fbp.resourcekit.examples.networks; 20 | 21 | 22 | import java.io.File; 23 | 24 | import com.jpaulmorrison.fbp.core.components.io.ReadFile; 25 | import com.jpaulmorrison.fbp.core.components.io.WriteFile; 26 | import com.jpaulmorrison.fbp.core.engine.Network; 27 | 28 | /** 29 | * Read file; write to other file 30 | * 31 | */ 32 | public class FileCopy extends Network { 33 | 34 | 35 | @Override 36 | protected void define() { 37 | connect(component("Read", ReadFile.class), port("OUT"), component("Write", WriteFile.class), port("IN")); 38 | initialize("src/main/resources/testdata/testdata.txt".replace("/", File.separator), component("Read"), port("SOURCE")); 39 | initialize("src/main/resources/testdata/output".replace("/", File.separator), component("Write"), port("DESTINATION")); 40 | } 41 | 42 | public static void main(final String[] argv) throws Throwable { 43 | new FileCopy().go(); 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /src/main/java/com/jpaulmorrison/fbp/resourcekit/examples/networks/PlayTune.java: -------------------------------------------------------------------------------- 1 | package com.jpaulmorrison.fbp.resourcekit.examples.networks; 2 | 3 | import com.jpaulmorrison.fbp.core.components.audio.GenSamples; 4 | import com.jpaulmorrison.fbp.core.components.audio.JingleBells; 5 | import com.jpaulmorrison.fbp.core.components.audio.SoundMixer; 6 | import com.jpaulmorrison.fbp.core.engine.Network; 7 | 8 | public class PlayTune extends Network { 9 | 10 | // Jingle Bells - one voice 11 | 12 | @Override 13 | protected void define() throws Exception { 14 | component("JingleBells", JingleBells.class); 15 | component("GenSamples", GenSamples.class); 16 | component("SoundMixer", SoundMixer.class); 17 | 18 | connect("JingleBells.OUT", "GenSamples.IN"); 19 | connect("GenSamples.OUT", "SoundMixer.IN"); 20 | initialize("1", "SoundMixer.GAINS"); 21 | } 22 | 23 | public static void main(String[] args) throws Throwable { 24 | new PlayTune().go(); 25 | 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/com/jpaulmorrison/fbp/resourcekit/examples/networks/ReadHTML.java: -------------------------------------------------------------------------------- 1 | /* 2 | * JavaFBP - A Java Implementation of Flow-Based Programming (FBP) 3 | * Copyright (C) 2009, 2016 J. Paul Morrison 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Library General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 3.0 of the License, or (at your option) any later version. 9 | * 10 | * This library is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 | * 14 | * You should have received a copy of the GNU Library General Public 15 | * License along with this library; if not, see the GNU Library General Public License v3 16 | * at https://www.gnu.org/licenses/lgpl-3.0.en.html for more details. 17 | */ 18 | 19 | package com.jpaulmorrison.fbp.resourcekit.examples.networks; 20 | 21 | 22 | 23 | 24 | import com.jpaulmorrison.fbp.core.components.httpurl.LoadURL; 25 | import com.jpaulmorrison.fbp.core.components.misc.WriteObjectsToConsole; 26 | import com.jpaulmorrison.fbp.core.components.parsexml.ParseXML; 27 | import com.jpaulmorrison.fbp.core.engine.Network; 28 | 29 | /** 30 | * Read from URL; write to the console 31 | * 32 | */ 33 | 34 | 35 | public class ReadHTML extends Network { 36 | 37 | @Override 38 | protected void define() { 39 | connect(component("Load URL", LoadURL.class), port("OUT"), component("Parse", ParseXML.class), port("IN"), 1); 40 | initialize("https://jpaulm.github.io/fbp/fbp-inspired-vs-real-fbp.html", component("Load URL"), port("SOURCE")); 41 | connect(component("Parse"), port("OUT"), component("Write", WriteObjectsToConsole.class), port("IN"), 1); 42 | 43 | } 44 | 45 | public static void main(final String[] argv) throws Exception { 46 | new ReadHTML().go(); 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /src/main/java/com/jpaulmorrison/fbp/resourcekit/examples/networks/RemoveGedcomQuotes.java: -------------------------------------------------------------------------------- 1 | /* 2 | * JavaFBP - A Java Implementation of Flow-Based Programming (FBP) 3 | * Copyright (C) 2009, 2016 J. Paul Morrison 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Library General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 3.0 of the License, or (at your option) any later version. 9 | * 10 | * This library is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 | * 14 | * You should have received a copy of the GNU Library General Public 15 | * License along with this library; if not, see the GNU Library General Public License v3 16 | * at https://www.gnu.org/licenses/lgpl-3.0.en.html for more details. 17 | */ 18 | 19 | package com.jpaulmorrison.fbp.resourcekit.examples.networks; 20 | 21 | 22 | import com.jpaulmorrison.fbp.core.components.io.ReadFile; 23 | import com.jpaulmorrison.fbp.core.components.io.WriteFile; 24 | import com.jpaulmorrison.fbp.core.engine.Network; 25 | import com.jpaulmorrison.fbp.resourcekit.examples.components.RGQ; 26 | 27 | /** 28 | * Read file; write to other file 29 | * 30 | */ 31 | public class RemoveGedcomQuotes extends Network { 32 | 33 | 34 | @Override 35 | protected void define() { 36 | connect(component("Read", ReadFile.class), port("OUT"), component("RGQ", RGQ.class), port("IN")); 37 | connect(component("RGQ"), port("OUT"), component("Write", WriteFile.class), port("IN")); 38 | initialize("C:\\Users\\Paul\\Documents\\NonBusiness\\GeneWeb\\GeneWeb-4.09 Win\\gw\\a.ged", component("Read"), port("SOURCE")); 39 | initialize("C:\\Users\\Paul\\Documents\\NonBusiness\\GeneWeb\\GeneWeb-4.09 Win\\gw\\a2.ged", component("Write"), port("DESTINATION")); 40 | } 41 | 42 | public static void main(final String[] argv) throws Throwable { 43 | new RemoveGedcomQuotes().go(); 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /src/main/java/com/jpaulmorrison/fbp/resourcekit/examples/networks/SelRecipes.java: -------------------------------------------------------------------------------- 1 | /* 2 | * JavaFBP - A Java Implementation of Flow-Based Programming (FBP) 3 | * Copyright (C) 2009, 2016 J. Paul Morrison 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Library General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 3.0 of the License, or (at your option) any later version. 9 | * 10 | * This library is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 | * 14 | * You should have received a copy of the GNU Library General Public 15 | * License along with this library; if not, see the GNU Library General Public License v3 16 | * at https://www.gnu.org/licenses/lgpl-3.0.en.html for more details. 17 | */ 18 | 19 | package com.jpaulmorrison.fbp.resourcekit.examples.networks; 20 | 21 | 22 | import java.io.File; 23 | 24 | import com.jpaulmorrison.fbp.core.components.routing.Discard; 25 | import com.jpaulmorrison.fbp.core.components.io.ReadFile; 26 | import com.jpaulmorrison.fbp.core.components.text.StartsWith; 27 | import com.jpaulmorrison.fbp.core.components.misc.WriteToConsole; 28 | import com.jpaulmorrison.fbp.core.engine.Network; 29 | 30 | /** 31 | * Select appetizer recipes from collection of recipes 32 | * 33 | */ 34 | 35 | public class SelRecipes extends Network { 36 | 37 | 38 | @Override 39 | protected void define() { 40 | connect(component("Read", ReadFile.class), port("OUT"), component("StartsWith", StartsWith.class), port("IN")); 41 | connect(component("StartsWith"), port("ACC"), component("Write", WriteToConsole.class), port("IN")); 42 | connect(component("StartsWith"), port("REJ"), component("Discard", Discard.class), port("IN")); 43 | initialize("src/main/resources/testdata/recipes.csv".replace("/", File.separator), component("Read"), port("SOURCE")); 44 | initialize("\"A\"", component("StartsWith"), port("TEST")); 45 | 46 | } 47 | 48 | public static void main(final String[] argv) throws Exception { 49 | new SelRecipes().go(); 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /src/main/java/com/jpaulmorrison/fbp/resourcekit/examples/networks/SriramsTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * JavaFBP - A Java Implementation of Flow-Based Programming (FBP) 3 | * Copyright (C) 2009, 2016 J. Paul Morrison 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Library General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 3.0 of the License, or (at your option) any later version. 9 | * 10 | * This library is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 | * 14 | * You should have received a copy of the GNU Library General Public 15 | * License along with this library; if not, see the GNU Library General Public License v3 16 | * at https://www.gnu.org/licenses/lgpl-3.0.en.html for more details. 17 | */ 18 | 19 | package com.jpaulmorrison.fbp.resourcekit.examples.networks; 20 | 21 | 22 | import com.jpaulmorrison.fbp.core.components.routing.Discard; 23 | import com.jpaulmorrison.fbp.core.engine.Network; 24 | import com.jpaulmorrison.fbp.core.components.misc.GenerateTestData; 25 | 26 | 27 | /** 28 | * This network is intended for timing runs 29 | * 30 | */ 31 | 32 | public class SriramsTest extends Network { 33 | 34 | 35 | 36 | @Override 37 | protected void define() { 38 | /* Trying to get the same number of send/receive pairs */ 39 | component("Discard", Discard.class); 40 | int lim = 1000; 41 | for (int i = 0; i < lim; i++) { 42 | component("Generate " + i, GenerateTestData.class); 43 | initialize("1000", component("Generate " + i), port("COUNT")); 44 | connect(component("Generate " + i), port("OUT"), component("Discard"), port("IN")); 45 | } 46 | 47 | } 48 | 49 | public static void main(final String[] argv) throws Exception { 50 | new SriramsTest().go(); 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /src/main/java/com/jpaulmorrison/fbp/resourcekit/examples/networks/SubnetD.java: -------------------------------------------------------------------------------- 1 | /* 2 | * JavaFBP - A Java Implementation of Flow-Based Programming (FBP) 3 | * Copyright (C) 2009, 2016 J. Paul Morrison 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Library General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 3.0 of the License, or (at your option) any later version. 9 | * 10 | * This library is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 | * 14 | * You should have received a copy of the GNU Library General Public 15 | * License along with this library; if not, see the GNU Library General Public License v3 16 | * at https://www.gnu.org/licenses/lgpl-3.0.en.html for more details. 17 | */ 18 | 19 | package com.jpaulmorrison.fbp.resourcekit.examples.networks; // Change as required 20 | 21 | 22 | import com.jpaulmorrison.fbp.core.components.routing.Discard; 23 | import com.jpaulmorrison.fbp.core.engine.InPort; 24 | import com.jpaulmorrison.fbp.core.engine.SubIn; 25 | import com.jpaulmorrison.fbp.core.engine.SubNet; 26 | 27 | /** 28 | * Simple subnet for testing 29 | * 30 | */ 31 | @InPort("IN") 32 | public class SubnetD extends SubNet { 33 | 34 | @Override 35 | protected void define() throws Exception { 36 | component("SI", SubIn.class); 37 | component("discard", Discard.class); 38 | connect("SI.OUT", "discard.IN", true); 39 | initialize("IN", "SI.NAME"); 40 | } 41 | 42 | } 43 | -------------------------------------------------------------------------------- /src/main/java/com/jpaulmorrison/fbp/resourcekit/examples/networks/SubnetX.java: -------------------------------------------------------------------------------- 1 | /* 2 | * JavaFBP - A Java Implementation of Flow-Based Programming (FBP) 3 | * Copyright (C) 2009, 2016 J. Paul Morrison 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Library General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 3.0 of the License, or (at your option) any later version. 9 | * 10 | * This library is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 | * 14 | * You should have received a copy of the GNU Library General Public 15 | * License along with this library; if not, see the GNU Library General Public License v3 16 | * at https://www.gnu.org/licenses/lgpl-3.0.en.html for more details. 17 | */ 18 | 19 | package com.jpaulmorrison.fbp.resourcekit.examples.networks; // Change as required 20 | 21 | 22 | import com.jpaulmorrison.fbp.core.components.routing.Passthru; 23 | import com.jpaulmorrison.fbp.core.engine.InPort; 24 | import com.jpaulmorrison.fbp.core.engine.OutPort; 25 | import com.jpaulmorrison.fbp.core.engine.SubInSS; 26 | import com.jpaulmorrison.fbp.core.engine.SubNet; 27 | import com.jpaulmorrison.fbp.core.engine.SubOutSS; 28 | 29 | /** 30 | * Simple subnet for testing, showing substream sensitivity 31 | * 32 | */ 33 | 34 | @OutPort("OUT") 35 | @InPort("IN") 36 | public class SubnetX extends SubNet { 37 | 38 | @Override 39 | protected void define() { 40 | 41 | component("SUBIN", SubInSS.class); 42 | component("SUBOUT", SubOutSS.class); 43 | component("Pass", Passthru.class); 44 | 45 | initialize("IN", component("SUBIN"), port("NAME")); 46 | connect(component("SUBIN"), port("OUT"), component("Pass"), port("IN")); 47 | connect(component("Pass"), port("OUT"), component("SUBOUT"), port("IN")); 48 | initialize("OUT", component("SUBOUT"), port("NAME")); 49 | 50 | } 51 | } -------------------------------------------------------------------------------- /src/main/java/com/jpaulmorrison/fbp/resourcekit/examples/networks/TestArrayPorts.java: -------------------------------------------------------------------------------- 1 | /* 2 | * JavaFBP - A Java Implementation of Flow-Based Programming (FBP) 3 | * Copyright (C) 2009, 2016 J. Paul Morrison 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Library General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 3.0 of the License, or (at your option) any later version. 9 | * 10 | * This library is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 | * 14 | * You should have received a copy of the GNU Library General Public 15 | * License along with this library; if not, see the GNU Library General Public License v3 16 | * at https://www.gnu.org/licenses/lgpl-3.0.en.html for more details. 17 | 18 | 19 | * Sven Steinseifer - 2010 */ 20 | 21 | package com.jpaulmorrison.fbp.resourcekit.examples.networks; 22 | 23 | 24 | import com.jpaulmorrison.fbp.core.components.routing.Discard; 25 | import com.jpaulmorrison.fbp.core.components.text.ReplString; 26 | import com.jpaulmorrison.fbp.core.engine.Network; 27 | import com.jpaulmorrison.fbp.core.components.misc.GenerateTestData; 28 | 29 | 30 | public class TestArrayPorts { 31 | 32 | public static void main(final String[] args) { 33 | try { 34 | new Network() { 35 | 36 | @Override 37 | protected void define() { 38 | component("generate", GenerateTestData.class); 39 | component("replicate", ReplString.class); 40 | component("discard", Discard.class); 41 | 42 | connect("generate.OUT", "replicate.IN"); 43 | connect("replicate.OUT[1]", "discard.IN"); 44 | initialize("100", "generate.COUNT"); 45 | } 46 | }.go(); 47 | } catch (Exception e) { 48 | System.err.println("Exception trapped here"); 49 | e.printStackTrace(); 50 | } 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /src/main/java/com/jpaulmorrison/fbp/resourcekit/examples/networks/TestChainsNet.java: -------------------------------------------------------------------------------- 1 | /* 2 | * JavaFBP - A Java Implementation of Flow-Based Programming (FBP) 3 | * Copyright (C) 2009, 2016 J. Paul Morrison 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Library General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 3.0 of the License, or (at your option) any later version. 9 | * 10 | * This library is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 | * 14 | * You should have received a copy of the GNU Library General Public 15 | * License along with this library; if not, see the GNU Library General Public License v3 16 | * at https://www.gnu.org/licenses/lgpl-3.0.en.html for more details. 17 | */ 18 | 19 | package com.jpaulmorrison.fbp.resourcekit.examples.networks; 20 | 21 | 22 | import com.jpaulmorrison.fbp.core.components.routing.Discard; 23 | import com.jpaulmorrison.fbp.core.engine.Network; 24 | import com.jpaulmorrison.fbp.resourcekit.examples.components.ChainOps; 25 | 26 | 27 | public class TestChainsNet extends Network { 28 | 29 | 30 | @Override 31 | protected void define() { 32 | 33 | connect(component("TestChains", ChainOps.class), port("OUT"), component("Discard", Discard.class), port("IN")); 34 | 35 | } 36 | 37 | public static void main(final String[] argv) throws Exception { 38 | new TestChainsNet().go(); 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /src/main/java/com/jpaulmorrison/fbp/resourcekit/examples/networks/TestCounter.java: -------------------------------------------------------------------------------- 1 | /* 2 | * JavaFBP - A Java Implementation of Flow-Based Programming (FBP) 3 | * Copyright (C) 2009, 2016 J. Paul Morrison 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Library General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 3.0 of the License, or (at your option) any later version. 9 | * 10 | * This library is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 | * 14 | * You should have received a copy of the GNU Library General Public 15 | * License along with this library; if not, see the GNU Library General Public License v3 16 | * at https://www.gnu.org/licenses/lgpl-3.0.en.html for more details. 17 | */ 18 | 19 | package com.jpaulmorrison.fbp.resourcekit.examples.networks; 20 | 21 | 22 | import com.jpaulmorrison.fbp.core.components.misc.Counter; 23 | import com.jpaulmorrison.fbp.core.components.misc.WriteToConsole; 24 | import com.jpaulmorrison.fbp.core.engine.Network; 25 | import com.jpaulmorrison.fbp.core.components.misc.GenerateTestData; 26 | 27 | 28 | public class TestCounter extends Network { 29 | 30 | @Override 31 | protected void define() { 32 | 33 | connect(component("Generate", GenerateTestData.class), port("OUT"), component("Counter", Counter.class), port("IN")); 34 | 35 | connect(component("Counter"), port("COUNT"), component("Display", WriteToConsole.class), port("IN")); 36 | 37 | initialize("0", component("Generate"), port("COUNT")); 38 | 39 | } 40 | 41 | public static void main(final String[] argv) throws Exception { 42 | new TestCounter().go(); 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /src/main/java/com/jpaulmorrison/fbp/resourcekit/examples/networks/TestDropOldest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * JavaFBP - A Java Implementation of Flow-Based Programming (FBP) 3 | * Copyright (C) 2009, 2016 J. Paul Morrison 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Library General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 3.0 of the License, or (at your option) any later version. 9 | * 10 | * This library is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 | * 14 | * You should have received a copy of the GNU Library General Public 15 | * License along with this library; if not, see the GNU Library General Public License v3 16 | * at https://www.gnu.org/licenses/lgpl-3.0.en.html for more details. 17 | */ 18 | 19 | package com.jpaulmorrison.fbp.resourcekit.examples.networks; 20 | 21 | 22 | import com.jpaulmorrison.fbp.core.components.misc.WriteToConsole; 23 | import com.jpaulmorrison.fbp.core.engine.Connection; 24 | import com.jpaulmorrison.fbp.core.engine.Network; 25 | import com.jpaulmorrison.fbp.core.components.misc.GenerateTestData; 26 | import com.jpaulmorrison.fbp.resourcekit.examples.components.SlowPass; 27 | 28 | 29 | public class TestDropOldest extends Network { 30 | 31 | 32 | 33 | @Override 34 | protected void define() { 35 | 36 | Connection c = connect(component("Generate", GenerateTestData.class), port("OUT"), 37 | component("SlowPass", SlowPass.class), port("IN")); 38 | c.setDropOldest(); 39 | connect(component("SlowPass"), port("OUT"), component("Display", WriteToConsole.class), port("IN")); 40 | 41 | initialize("2000", component("Generate"), port("COUNT")); 42 | 43 | } 44 | 45 | public static void main(final String[] argv) throws Exception { 46 | new TestDropOldest().go(); 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /src/main/java/com/jpaulmorrison/fbp/resourcekit/examples/networks/TestFixedSizeArray.java: -------------------------------------------------------------------------------- 1 | /* 2 | * JavaFBP - A Java Implementation of Flow-Based Programming (FBP) 3 | * Copyright (C) 2009, 2016 J. Paul Morrison 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Library General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 3.0 of the License, or (at your option) any later version. 9 | * 10 | * This library is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 | * 14 | * You should have received a copy of the GNU Library General Public 15 | * License along with this library; if not, see the GNU Library General Public License v3 16 | * at https://www.gnu.org/licenses/lgpl-3.0.en.html for more details. 17 | */ 18 | package com.jpaulmorrison.fbp.resourcekit.examples.networks; 19 | 20 | 21 | import com.jpaulmorrison.fbp.core.components.routing.Discard; 22 | import com.jpaulmorrison.fbp.core.engine.Network; 23 | import com.jpaulmorrison.fbp.resourcekit.examples.components.GenerateFixedSizeArray; 24 | 25 | 26 | public class TestFixedSizeArray extends Network { 27 | 28 | @Override 29 | protected void define() { 30 | component("Generate", GenerateFixedSizeArray.class); 31 | component("Discard0", Discard.class); 32 | component("Discard1", Discard.class); 33 | connect("Generate.OUT[0]", "Discard0.IN"); 34 | connect("Generate.OUT[1]", "Discard1.IN"); 35 | 36 | initialize("100", component("Generate"), port("COUNT")); 37 | } 38 | 39 | public static void main(final String[] argv) throws Exception { 40 | new TestFixedSizeArray().go(); 41 | 42 | } 43 | 44 | } 45 | -------------------------------------------------------------------------------- /src/main/java/com/jpaulmorrison/fbp/resourcekit/examples/networks/TestIPCounting.java: -------------------------------------------------------------------------------- 1 | /* 2 | * JavaFBP - A Java Implementation of Flow-Based Programming (FBP) 3 | * Copyright (C) 2009, 2016 J. Paul Morrison 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Library General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 3.0 of the License, or (at your option) any later version. 9 | * 10 | * This library is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 | * 14 | * You should have received a copy of the GNU Library General Public 15 | * License along with this library; if not, see the GNU Library General Public License v3 16 | * at https://www.gnu.org/licenses/lgpl-3.0.en.html for more details. 17 | */ 18 | package com.jpaulmorrison.fbp.resourcekit.examples.networks; 19 | 20 | 21 | import com.jpaulmorrison.fbp.core.components.routing.Discard; 22 | import com.jpaulmorrison.fbp.core.engine.DispIPCounts; 23 | import com.jpaulmorrison.fbp.core.components.text.ReplString; 24 | import com.jpaulmorrison.fbp.core.components.misc.WriteToConsole; 25 | import com.jpaulmorrison.fbp.core.engine.Network; 26 | import com.jpaulmorrison.fbp.core.components.misc.GenerateTestData; 27 | 28 | 29 | public class TestIPCounting extends Network { 30 | 31 | 32 | 33 | @Override 34 | protected void define() { 35 | 36 | connect(component("DispCounts", DispIPCounts.class), port("OUT"), component("Display", WriteToConsole.class), 37 | port("IN")); 38 | 39 | connect(component("Generate", GenerateTestData.class), port("OUT"), component("ReplStr", ReplString.class), port("IN"), 40 | true); 41 | boolean MONITOR = true; 42 | connect(component("ReplStr"), port("OUT"), component("Discard", Discard.class), port("IN"), MONITOR); 43 | 44 | connect("Discard.*", "DispCounts.CLSDN"); 45 | 46 | initialize("1000000", component("Generate"), port("COUNT")); 47 | initialize("500", component("DispCounts"), port("INTVL")); // DispIPCounts is MustRun 48 | 49 | } 50 | 51 | public static void main(final String[] argv) throws Exception { 52 | new TestIPCounting().go(); 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /src/main/java/com/jpaulmorrison/fbp/resourcekit/examples/networks/TestInfiniteQueue.java: -------------------------------------------------------------------------------- 1 | /* 2 | * JavaFBP - A Java Implementation of Flow-Based Programming (FBP) 3 | * Copyright (C) 2009, 2016 J. Paul Morrison 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Library General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 3.0 of the License, or (at your option) any later version. 9 | * 10 | * This library is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 | * 14 | * You should have received a copy of the GNU Library General Public 15 | * License along with this library; if not, see the GNU Library General Public License v3 16 | * at https://www.gnu.org/licenses/lgpl-3.0.en.html for more details. 17 | */ 18 | package com.jpaulmorrison.fbp.resourcekit.examples.networks; 19 | 20 | 21 | import com.jpaulmorrison.fbp.core.engine.Network; 22 | import com.jpaulmorrison.fbp.core.components.misc.GenerateTestData; 23 | import com.jpaulmorrison.fbp.resourcekit.examples.subnets.InfiniteQueue; 24 | import com.jpaulmorrison.fbp.core.components.misc.WriteToConsole; 25 | 26 | 27 | public class TestInfiniteQueue extends Network { 28 | 29 | String description = "Test Infinite Queue"; 30 | 31 | @Override 32 | protected void define() { 33 | component("__ Generate", GenerateTestData.class); 34 | component("_ Infinite_ Queue", InfiniteQueue.class); 35 | component("__ Display", WriteToConsole.class); 36 | connect(component("_ Infinite_ Queue"), port("OUT"), component("__ Display"), port("IN")); 37 | initialize("100", component("__ Generate"), port("COUNT")); 38 | connect(component("__ Generate"), port("OUT"), component("_ Infinite_ Queue"), port("IN")); 39 | initialize("temp.data", component("_ Infinite_ Queue"), port("TEMPFILENAME")); 40 | 41 | } 42 | 43 | public static void main(final String[] argv) throws Exception { 44 | // try this test 50 times! 45 | //for (int i = 0; i < 50; i++) { 46 | new TestInfiniteQueue().go(); 47 | // } 48 | } 49 | 50 | } 51 | -------------------------------------------------------------------------------- /src/main/java/com/jpaulmorrison/fbp/resourcekit/examples/networks/TestLocks.java: -------------------------------------------------------------------------------- 1 | /* 2 | * JavaFBP - A Java Implementation of Flow-Based Programming (FBP) 3 | * Copyright (C) 2009, 2016 J. Paul Morrison 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Library General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 3.0 of the License, or (at your option) any later version. 9 | * 10 | * This library is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 | * 14 | * You should have received a copy of the GNU Library General Public 15 | * License along with this library; if not, see the GNU Library General Public License v3 16 | * at https://www.gnu.org/licenses/lgpl-3.0.en.html for more details. 17 | * 18 | 19 | * Sven Steinseifer - 2010 */ 20 | 21 | package com.jpaulmorrison.fbp.resourcekit.examples.networks; 22 | 23 | 24 | import com.jpaulmorrison.fbp.core.components.routing.Discard; 25 | import com.jpaulmorrison.fbp.core.engine.Network; 26 | import com.jpaulmorrison.fbp.resourcekit.examples.components.GenSS; 27 | 28 | 29 | public class TestLocks { 30 | 31 | public static void main(final String[] args) { 32 | try { 33 | new Network() { 34 | 35 | @Override 36 | protected void define() { 37 | component("genSS", GenSS.class); 38 | component("subnet", SubnetX.class); 39 | component("discard", Discard.class); 40 | connect("genSS.OUT", "subnet.IN"); 41 | connect("subnet.OUT", "discard.IN"); 42 | initialize("1000", "genSS.COUNT"); 43 | } 44 | }.go(); 45 | 46 | } catch (Exception e) { 47 | System.err.println("Exception trapped here"); 48 | e.printStackTrace(); 49 | } 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /src/main/java/com/jpaulmorrison/fbp/resourcekit/examples/networks/TestMixedInput.java: -------------------------------------------------------------------------------- 1 | /* 2 | * JavaFBP - A Java Implementation of Flow-Based Programming (FBP) 3 | * Copyright (C) 2009, 2016 J. Paul Morrison 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Library General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 3.0 of the License, or (at your option) any later version. 9 | * 10 | * This library is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 | * 14 | * You should have received a copy of the GNU Library General Public 15 | * License along with this library; if not, see the GNU Library General Public License v3 16 | * at https://www.gnu.org/licenses/lgpl-3.0.en.html for more details. 17 | */ 18 | 19 | package com.jpaulmorrison.fbp.resourcekit.examples.networks; 20 | 21 | import com.jpaulmorrison.fbp.core.components.routing.ConcatStreams; 22 | import com.jpaulmorrison.fbp.core.components.misc.WriteToConsole; 23 | import com.jpaulmorrison.fbp.core.engine.Network; 24 | import com.jpaulmorrison.fbp.core.components.misc.GenerateTestData; 25 | 26 | public class TestMixedInput extends Network { 27 | 28 | 29 | /** 30 | * This test is successful if it ends with the error: IIP port cannot be 31 | * shared 32 | */ 33 | 34 | @Override 35 | protected void define() { 36 | connect(component("Generate", GenerateTestData.class), port("OUT"), 37 | component("Concat", ConcatStreams.class), port("IN")); 38 | connect("Concat.OUT", component("Write", WriteToConsole.class), 39 | port("IN")); 40 | initialize("testing", "Concat.IN[0]"); 41 | initialize("100", component("Generate"), port("COUNT")); 42 | } 43 | 44 | public static void main(final String[] argv) throws Exception { 45 | new TestMixedInput().go(); 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /src/main/java/com/jpaulmorrison/fbp/resourcekit/examples/networks/TestNestedSubstreams.java: -------------------------------------------------------------------------------- 1 | /* 2 | * JavaFBP - A Java Implementation of Flow-Based Programming (FBP) 3 | * Copyright (C) 2009, 2016 J. Paul Morrison 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Library General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 3.0 of the License, or (at your option) any later version. 9 | * 10 | * This library is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 | * 14 | * You should have received a copy of the GNU Library General Public 15 | * License along with this library; if not, see the GNU Library General Public License v3 16 | * at https://www.gnu.org/licenses/lgpl-3.0.en.html for more details. 17 | * 18 | 19 | * Sven Steinseifer - 2010 */ 20 | 21 | package com.jpaulmorrison.fbp.resourcekit.examples.networks; 22 | 23 | 24 | import com.jpaulmorrison.fbp.core.components.routing.Output; 25 | import com.jpaulmorrison.fbp.core.engine.Network; 26 | import com.jpaulmorrison.fbp.resourcekit.examples.components.GenSubStreams; 27 | 28 | 29 | public class TestNestedSubstreams { 30 | 31 | public static void main(final String[] args) { 32 | try { 33 | new Network() { 34 | 35 | @Override 36 | protected void define() { 37 | component("generate", GenSubStreams.class); 38 | component("subnet", SubnetX.class); 39 | component("output", Output.class); 40 | connect("generate.OUT", "subnet.IN"); 41 | connect("subnet.OUT", "output.IN"); 42 | } 43 | }.go(); 44 | 45 | } catch (Exception e) { 46 | System.err.println("Exception trapped here"); 47 | e.printStackTrace(); 48 | } 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /src/main/java/com/jpaulmorrison/fbp/resourcekit/examples/networks/TestNullOutputPort.java: -------------------------------------------------------------------------------- 1 | /* 2 | * JavaFBP - A Java Implementation of Flow-Based Programming (FBP) 3 | * Copyright (C) 2009, 2016 J. Paul Morrison 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Library General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 3.0 of the License, or (at your option) any later version. 9 | * 10 | * This library is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 | * 14 | * You should have received a copy of the GNU Library General Public 15 | * License along with this library; if not, see the GNU Library General Public License v3 16 | * at https://www.gnu.org/licenses/lgpl-3.0.en.html for more details. 17 | * 18 | 19 | * Sven Steinseifer - 2010 */ 20 | 21 | package com.jpaulmorrison.fbp.resourcekit.examples.networks; 22 | 23 | 24 | import com.jpaulmorrison.fbp.core.components.routing.Discard; 25 | import com.jpaulmorrison.fbp.core.components.misc.GenerateTestData; 26 | import com.jpaulmorrison.fbp.core.components.text.ReplString; 27 | import com.jpaulmorrison.fbp.core.engine.Network; 28 | 29 | 30 | public class TestNullOutputPort { 31 | 32 | public static void main(final String[] args) { 33 | try { 34 | new Network() { 35 | 36 | @Override 37 | protected void define() { 38 | component("generate", GenerateTestData.class); 39 | component("replicate", ReplString.class); 40 | component("discard", Discard.class); 41 | connect("generate.OUT", "replicate.IN"); 42 | connect("replicate.OUT[2]", "discard.IN"); 43 | initialize("100", "generate.COUNT"); 44 | } 45 | 46 | }.go(); 47 | } catch (Exception e) { 48 | System.err.println("Exception trapped here"); 49 | e.printStackTrace(); 50 | } 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /src/main/java/com/jpaulmorrison/fbp/resourcekit/examples/networks/TestOptionalArray.java: -------------------------------------------------------------------------------- 1 | /* 2 | * JavaFBP - A Java Implementation of Flow-Based Programming (FBP) 3 | * Copyright (C) 2009, 2016 J. Paul Morrison 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Library General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 3.0 of the License, or (at your option) any later version. 9 | * 10 | * This library is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 | * 14 | * You should have received a copy of the GNU Library General Public 15 | * License along with this library; if not, see the GNU Library General Public License v3 16 | * at https://www.gnu.org/licenses/lgpl-3.0.en.html for more details. 17 | */ 18 | package com.jpaulmorrison.fbp.resourcekit.examples.networks; 19 | 20 | 21 | import com.jpaulmorrison.fbp.core.components.routing.Discard; 22 | import com.jpaulmorrison.fbp.core.engine.Network; 23 | import com.jpaulmorrison.fbp.resourcekit.examples.components.GenerateOptionalArray; 24 | 25 | 26 | public class TestOptionalArray extends Network { 27 | 28 | @Override 29 | protected void define() { 30 | component("Generate", GenerateOptionalArray.class); 31 | component("行動", Discard.class); 32 | component("Discard2", Discard.class); 33 | connect("Generate.OUT", "行動.IN"); 34 | connect(component("Generate"), port("OUT[2]"), "Discard2.IN"); 35 | 36 | initialize("100", component("Generate"), port("COUNT")); 37 | } 38 | 39 | public static void main(final String[] argv) throws Exception { 40 | new TestOptionalArray().go(); 41 | 42 | } 43 | 44 | } 45 | -------------------------------------------------------------------------------- /src/main/java/com/jpaulmorrison/fbp/resourcekit/examples/networks/TestSelNthItem.java: -------------------------------------------------------------------------------- 1 | /* 2 | * JavaFBP - A Java Implementation of Flow-Based Programming (FBP) 3 | * Copyright (C) 2009, 2016 J. Paul Morrison 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Library General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 3.0 of the License, or (at your option) any later version. 9 | * 10 | * This library is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 | * 14 | * You should have received a copy of the GNU Library General Public 15 | * License along with this library; if not, see the GNU Library General Public License v3 16 | * at https://www.gnu.org/licenses/lgpl-3.0.en.html for more details. 17 | */ 18 | package com.jpaulmorrison.fbp.resourcekit.examples.networks; 19 | 20 | 21 | import java.io.File; 22 | 23 | import com.jpaulmorrison.fbp.core.engine.Network; 24 | 25 | 26 | public class TestSelNthItem extends Network { 27 | 28 | //String description = "Select record by number"; 29 | 30 | @Override 31 | protected void define() { 32 | component("Discard", com.jpaulmorrison.fbp.core.components.routing.Discard.class); 33 | component("Write", com.jpaulmorrison.fbp.core.components.io.WriteFile.class); 34 | component("Select", com.jpaulmorrison.fbp.core.components.routing.SelNthItem.class); 35 | component("Read", com.jpaulmorrison.fbp.core.components.io.ReadFile.class); 36 | 37 | connect("Read.OUT", "Select.IN"); 38 | connect("Select.ACC", "Write.IN"); 39 | connect("Select.REJ", "Discard.IN"); 40 | 41 | // The selected number is zero based: 11 will result in twelfth record 42 | initialize("11", component("Select"), port("NUMBER")); 43 | initialize("src/main/resources/testdata/21lines.txt".replace("/", File.separator), component("Read"), port("SOURCE")); 44 | initialize("src/main/resources/testdata/output".replace("/", File.separator), component("Write"), port("DESTINATION")); 45 | } 46 | 47 | public static void main(final String[] argv) throws Exception { 48 | new TestSelNthItem().go(); 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /src/main/java/com/jpaulmorrison/fbp/resourcekit/examples/networks/TryReplicate.java: -------------------------------------------------------------------------------- 1 | /* 2 | * JavaFBP - A Java Implementation of Flow-Based Programming (FBP) 3 | * Copyright (C) 2009, 2016 J. Paul Morrison 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Library General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 3.0 of the License, or (at your option) any later version. 9 | * 10 | * This library is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 | * 14 | * You should have received a copy of the GNU Library General Public 15 | * License along with this library; if not, see the GNU Library General Public License v3 16 | * at https://www.gnu.org/licenses/lgpl-3.0.en.html for more details. 17 | */ 18 | 19 | package com.jpaulmorrison.fbp.resourcekit.examples.networks; 20 | 21 | 22 | import java.io.File; 23 | 24 | import com.jpaulmorrison.fbp.core.components.io.ReadFile; 25 | import com.jpaulmorrison.fbp.core.components.misc.GenerateTestData; 26 | import com.jpaulmorrison.fbp.core.components.text.ReplString; 27 | import com.jpaulmorrison.fbp.core.components.misc.WriteToConsole; 28 | import com.jpaulmorrison.fbp.core.engine.Network; 29 | 30 | 31 | public class TryReplicate extends Network { 32 | 33 | 34 | @Override 35 | protected void define() { 36 | connect(component("Read", ReadFile.class), port("OUT"), component("Replicate", ReplString.class), port("IN")); 37 | initialize("src/main/resources/testdata/testdata.txt".replace("/", File.separator), component("Read"), port("SOURCE")); 38 | 39 | connect(component("Replicate"), port("OUT[0]"), component("Write1", WriteToConsole.class), port("IN")); 40 | 41 | connect(component("Replicate"), port("OUT[1]"), component("Write2", WriteToConsole.class), port("IN")); 42 | 43 | connect(component("Replicate"), port("OUT[2]"), component("Write3", WriteToConsole.class), port("IN")); 44 | 45 | } 46 | 47 | public static void main(final String[] argv) throws Exception { 48 | new TryReplicate().go(); 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /src/main/java/com/jpaulmorrison/fbp/resourcekit/examples/networks/VolumeTest2.java: -------------------------------------------------------------------------------- 1 | /* 2 | * JavaFBP - A Java Implementation of Flow-Based Programming (FBP) 3 | * Copyright (C) 2009, 2016 J. Paul Morrison 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Library General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 3.0 of the License, or (at your option) any later version. 9 | * 10 | * This library is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 | * 14 | * You should have received a copy of the GNU Library General Public 15 | * License along with this library; if not, see the GNU Library General Public License v3 16 | * at https://www.gnu.org/licenses/lgpl-3.0.en.html for more details. 17 | */ 18 | 19 | package com.jpaulmorrison.fbp.resourcekit.examples.networks; 20 | 21 | 22 | import com.jpaulmorrison.fbp.core.components.routing.Discard; 23 | import com.jpaulmorrison.fbp.core.engine.Network; 24 | import com.jpaulmorrison.fbp.core.components.misc.GenerateTestData; 25 | 26 | 27 | /** This network is intended for timing runs */ 28 | 29 | public class VolumeTest2 extends Network { 30 | 31 | 32 | @Override 33 | protected void define() { 34 | component("Generate", GenerateTestData.class); 35 | 36 | component("Discard", Discard.class); 37 | 38 | connect(component("Generate"), port("OUT"), component("Discard"), port("IN")); 39 | 40 | initialize("100000000", component("Generate"), port("COUNT")); 41 | 42 | /*** on my (AMD 925) machine (4 processors) - JavaFBP 2.6.5 - approx. 1200 secs 43 | * approx. 100,000,000 sends, receives each, and 100,000,000 creates and drops each -> 44 | * only uses 2 processors, so elapsed time unrealistic 45 | * Aug. 11, 2012 46 | * */ 47 | 48 | } 49 | 50 | public static void main(final String[] argv) throws Exception { 51 | new VolumeTest2().go(); 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /src/main/java/com/jpaulmorrison/fbp/resourcekit/examples/networks/WordCount.java: -------------------------------------------------------------------------------- 1 | /* 2 | * JavaFBP - A Java Implementation of Flow-Based Programming (FBP) 3 | * Copyright (C) 2009, 2016 J. Paul Morrison 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Library General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 3.0 of the License, or (at your option) any later version. 9 | * 10 | * This library is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 | * 14 | * You should have received a copy of the GNU Library General Public 15 | * License along with this library; if not, see the GNU Library General Public License v3 16 | * at https://www.gnu.org/licenses/lgpl-3.0.en.html for more details. 17 | */ 18 | 19 | package com.jpaulmorrison.fbp.resourcekit.examples.networks; 20 | 21 | 22 | import java.io.File; 23 | 24 | import com.jpaulmorrison.fbp.core.components.io.ReadFile; 25 | import com.jpaulmorrison.fbp.core.components.routing.Sort; 26 | import com.jpaulmorrison.fbp.core.components.misc.WriteToConsole; 27 | //import com.jpaulmorrison.fbp.core.components.WriteFile; 28 | import com.jpaulmorrison.fbp.core.engine.Network; 29 | import com.jpaulmorrison.fbp.core.components.text.DeCompose; 30 | import com.jpaulmorrison.fbp.resourcekit.examples.components.GenerateWordCounts; 31 | 32 | 33 | public class WordCount extends Network { 34 | 35 | 36 | @Override 37 | protected void define() { 38 | component("Read", ReadFile.class); 39 | component("DeCompose", DeCompose.class); 40 | component("GenerateWordCounts", GenerateWordCounts.class); 41 | component("Sort", Sort.class); 42 | component("Display", WriteToConsole.class); 43 | 44 | connect("Read.OUT", "DeCompose.IN"); 45 | initialize("src/main/resources/testdata/readme.txt".replace("/", File.separator), "Read.SOURCE"); 46 | connect("DeCompose.OUT","GenerateWordCounts.IN"); 47 | connect("GenerateWordCounts.OUT","Sort.IN"); 48 | connect("Sort.OUT","Display.IN"); 49 | 50 | } 51 | 52 | public static void main(final String[] argv) throws Throwable { 53 | new WordCount().go(); 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /src/main/java/com/jpaulmorrison/fbp/resourcekit/examples/networks/WriteReadInterpret.java: -------------------------------------------------------------------------------- 1 | /* 2 | * JavaFBP - A Java Implementation of Flow-Based Programming (FBP) 3 | * Copyright (C) 2009, 2016 J. Paul Morrison 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Library General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 3.0 of the License, or (at your option) any later version. 9 | * 10 | * This library is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 | * 14 | * You should have received a copy of the GNU Library General Public 15 | * License along with this library; if not, see the GNU Library General Public License v3 16 | * at https://www.gnu.org/licenses/lgpl-3.0.en.html for more details. 17 | 18 | * Contributed by Bob Corrick - Feb., 2012 - for the AppKatas exercise on the FBP Google Group 19 | */ 20 | package com.jpaulmorrison.fbp.resourcekit.examples.networks; 21 | 22 | 23 | import com.jpaulmorrison.fbp.core.engine.Network; 24 | import com.jpaulmorrison.fbp.resourcekit.examples.components.Interpret; 25 | import com.jpaulmorrison.fbp.resourcekit.examples.components.WriteReadConsole; 26 | 27 | 28 | public class WriteReadInterpret extends Network { 29 | 30 | String description = "http://jpaulmorrison.com/fbp/loop.shtml"; 31 | 32 | @Override 33 | protected void define() { 34 | component("Interpret", Interpret.class); 35 | component("Write IN_and MENU_Read user_CMD", WriteReadConsole.class); 36 | component("Start", com.jpaulmorrison.fbp.core.components.routing.Kick.class); 37 | connect(component("Start"), port("OUT"), component("Write IN_and MENU_Read user_CMD"), port("IN")); 38 | initialize("First, Next, Previous, Last, Jump to, eXit", component("Write IN_and MENU_Read user_CMD"), port("MENU")); 39 | connect(component("Write IN_and MENU_Read user_CMD"), port("CMD"), component("Interpret"), port("IN")); 40 | connect(component("Interpret"), port("OUT"), component("Write IN_and MENU_Read user_CMD"), port("IN")); 41 | 42 | } 43 | 44 | public static void main(final String[] argv) throws Exception { 45 | new WriteReadInterpret().go(); 46 | } 47 | 48 | } 49 | -------------------------------------------------------------------------------- /src/main/java/com/jpaulmorrison/fbp/resourcekit/experimental/networks/CopyTR.java: -------------------------------------------------------------------------------- 1 | /* 2 | * JavaFBP - A Java Implementation of Flow-Based Programming (FBP) 3 | * Copyright (C) 2009, 2016 J. Paul Morrison 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Library General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 3.0 of the License, or (at your option) any later version. 9 | * 10 | * This library is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 | * 14 | * You should have received a copy of the GNU Library General Public 15 | * License along with this library; if not, see the GNU Library General Public License v3 16 | * at https://www.gnu.org/licenses/lgpl-3.0.en.html for more details. 17 | */ 18 | 19 | package com.jpaulmorrison.fbp.resourcekit.experimental.networks; 20 | 21 | import com.jpaulmorrison.fbp.core.components.misc.WriteToConsole; 22 | import com.jpaulmorrison.fbp.core.engine.Network; 23 | import com.jpaulmorrison.fbp.core.components.misc.GenerateTestData; 24 | import com.jpaulmorrison.fbp.resourcekit.experimental.components.TabulaRasa; 25 | 26 | 27 | public class CopyTR extends Network { 28 | 29 | /** 30 | * Run network using (experimental) TabulaRasa component 31 | * 32 | */ 33 | 34 | @Override 35 | protected void define() { 36 | 37 | connect(component("Generate", GenerateTestData.class), port("OUT"), component("TabulaRasa", TabulaRasa.class), port("IN")); 38 | 39 | connect(component("TabulaRasa"), port("OUT"), component("Write", WriteToConsole.class), port("IN")); 40 | 41 | initialize("2000", component("Generate"), port("COUNT")); 42 | 43 | initialize("com.jpaulmorrison.fbp.core.components.Copy", component("TabulaRasa"), port("COMP")); 44 | 45 | } 46 | 47 | public static void main(final String[] argv) throws Exception { 48 | new CopyTR().go(); 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /src/main/java/com/jpaulmorrison/fbp/resourcekit/experimental/networks/TestBalloon.java: -------------------------------------------------------------------------------- 1 | package com.jpaulmorrison.fbp.resourcekit.experimental.networks; 2 | 3 | 4 | import com.jpaulmorrison.fbp.core.engine.Network; 5 | import com.jpaulmorrison.fbp.core.components.misc.GenerateTestData; 6 | 7 | 8 | /* 9 | * JavaFBP - A Java Implementation of Flow-Based Programming (FBP) 10 | * Copyright (C) 2009, 2016 J. Paul Morrison 11 | * 12 | * This library is free software; you can redistribute it and/or 13 | * modify it under the terms of the GNU Library General Public 14 | * License as published by the Free Software Foundation; either 15 | * version 3.0 of the License, or (at your option) any later version. 16 | * 17 | * This library is distributed in the hope that it will be useful, 18 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 19 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 20 | * 21 | * You should have received a copy of the GNU Library General Public 22 | * License along with this library; if not, see the GNU Library General Public License v3 23 | * at https://www.gnu.org/licenses/lgpl-3.0.en.html for more details. 24 | */ 25 | 26 | public class TestBalloon extends Network { 27 | 28 | 29 | @Override 30 | protected void define() { 31 | 32 | connect(component("Gene\\ra\"te", GenerateTestData.class), port("OUT"), 33 | component("Balloon", com.jpaulmorrison.fbp.resourcekit.experimental.components.Balloon.class), port("IN")); 34 | 35 | connect(component("Balloon"), port("OUT"), 36 | component("Check", com.jpaulmorrison.fbp.resourcekit.examples.components.CheckBallooning.class), port("IN"), 1); 37 | 38 | initialize("200", component("Gene\\ra\"te"), port("COUNT")); 39 | 40 | } 41 | 42 | public static void main(final String[] argv) throws Exception { 43 | new TestBalloon().go(); 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /src/main/java/com/jpaulmorrison/fbp/resourcekit/experimental/networks/TryBrowser.java: -------------------------------------------------------------------------------- 1 | /* 2 | * JavaFBP - A Java Implementation of Flow-Based Programming (FBP) 3 | * Copyright (C) 2009, 2016 J. Paul Morrison 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Library General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 3.0 of the License, or (at your option) any later version. 9 | * 10 | * This library is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 | * 14 | * You should have received a copy of the GNU Library General Public 15 | * License along with this library; if not, see the GNU Library General Public License v3 16 | * at https://www.gnu.org/licenses/lgpl-3.0.en.html for more details. 17 | */ 18 | 19 | package com.jpaulmorrison.fbp.resourcekit.experimental.networks; 20 | 21 | 22 | import com.jpaulmorrison.fbp.core.components.routing.Discard; 23 | import com.jpaulmorrison.fbp.core.components.routing.Kick; 24 | import com.jpaulmorrison.fbp.resourcekit.experimental.components.ShowURL; 25 | import com.jpaulmorrison.fbp.core.engine.Network; 26 | 27 | 28 | public class TryBrowser extends Network { 29 | 30 | /** 31 | * This does not work from Eclipse - it has to be driven by JWS 32 | * using a JNLP file, which in turn invokes this network definition. 33 | * ShowURL drives an HTML file called tryform.htm, which uses JavaScript. 34 | * */ 35 | 36 | 37 | @Override 38 | protected void define() { 39 | connect(component("Kick", Kick.class), port("OUT"), component("ShowURL", ShowURL.class), port("IN")); 40 | component("Discard", Discard.class); 41 | connect("ShowURL.OUT", "Discard.IN"); 42 | } 43 | 44 | public static void main(final String[] argv) throws Exception { 45 | new TryBrowser().go(); 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /src/main/resources/testdata/21lines.txt: -------------------------------------------------------------------------------- 1 | 01 Flow-Based Programming (FBP) is a new/old approach to 2 | 02 application development, based on processes and data 3 | 03 flows. Some of its roots can be traced all the way back 4 | 04 to the early days of computing, and yet it offers solutions to many of the most pressing problems facing application development today. Interestingly, an early version of this software and methodology has been in continuous use for over 30 years processing millions of transactions a day for a large bank. 5 | 05 FBP views applications as networks of processes 6 | 06 communicating by means of streams of data objects 7 | 07 travelling across "bounded buffer" connections. 8 | 08 Processes access their connections indirectly, via 9 | 09 "ports", so components can be black boxes, able to be 10 | 10 reused in different arrangements to produce different 11 | 11 applications, without having to be changed internally. 12 | 12 FBP is thus naturally component-oriented. It also 13 | 13 performs extremely well, frequently resulting in reduced 14 | 14 elapsed times compared with conventional methodologies. 15 | 15 While many of FBP's concepts have been discovered 16 | 16 independently, the combination is unique and implies a 17 | 17 definite paradigm shift in the way in which applications 18 | 18 are developed and, more importantly, maintained. 19 | 19 The result has proven its effectiveness by having been 20 | 20 in continuous use in a very dynamic and demanding 21 | 21 environment for over 3 decades. -------------------------------------------------------------------------------- /src/main/resources/testdata/dfile: -------------------------------------------------------------------------------- 1 | 111AA11111 D 2 | 111AA11111 D 3 | 111AA11111 D 4 | 111AA22222 D 5 | 111AA22222 D 6 | 111BB44444 D 7 | 111BB44444 D 8 | 111BB55555 D 9 | 222AA22222 D 10 | 222AA22222 D 11 | 222BB22222 D 12 | 222BB22222 D 13 | 222BB44444 D 14 | 222CC11111 D 15 | 222CC11111 D 16 | 222DD11111 D 17 | 222DD22222 D -------------------------------------------------------------------------------- /src/main/resources/testdata/emptyfile.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpaulm/javafbp/1bd053e39fae61be916abe4e3feb73f7a00733d5/src/main/resources/testdata/emptyfile.txt -------------------------------------------------------------------------------- /src/main/resources/testdata/input.txt: -------------------------------------------------------------------------------- 1 | Abstract: 2 | 3 | Flow-Based Programming (FBP) is a new/old approach to 4 | application development, based on processes and data 5 | flows. Some of its roots can be traced all the way back 6 | to the early days of computing, and yet it offers solutions to many of the most pressing problems facing application development today. Interestingly, an early version of this software and methodology has been in continuous use for over 30 years processing millions of transactions a day for a large bank. 7 | FBP views applications as networks of processes 8 | communicating by means of streams of data objects 9 | travelling across "bounded buffer" connections. 10 | Processes access their connections indirectly, via 11 | "ports", so components can be black boxes, able to be 12 | reused in different arrangements to produce different 13 | applications, without having to be changed internally. 14 | FBP is thus naturally component-oriented. It also 15 | performs extremely well, frequently resulting in reduced 16 | elapsed times compared with conventional methodologies. 17 | While many of FBP's concepts have been discovered 18 | independently, the combination is unique and implies a 19 | definite paradigm shift in the way in which applications 20 | are developed and, more importantly, maintained. 21 | The result has proven its effectiveness by having been 22 | in continuous use in a very dynamic and demanding 23 | environment for over 3 decades. -------------------------------------------------------------------------------- /src/main/resources/testdata/mfile: -------------------------------------------------------------------------------- 1 | 111AA11111 M 2 | 111AA22222 M 3 | 111BB44444 M 4 | 222AA11111 M 5 | 222AA22222 M 6 | 222BB22222 M 7 | 222BB33333 M 8 | 222BB44444 M 9 | 222CC11111 M -------------------------------------------------------------------------------- /src/main/resources/testdata/persons.csv: -------------------------------------------------------------------------------- 1 | "J. Paul Morrison", "Addison Avenue 7", "New County", "Canada" 2 | "Guus Bonnema", "eigenstraat 20", "Zuid Holland", "Nederland" -------------------------------------------------------------------------------- /src/main/resources/testdata/script_test.js: -------------------------------------------------------------------------------- 1 | println("script_test.js - data:" + data); 2 | data += " - modified" -------------------------------------------------------------------------------- /src/main/resources/testdata/temp: -------------------------------------------------------------------------------- 1 | 000040abcd 2 | 000039abcd 3 | 000038abcd 4 | 000037abcd 5 | 000036abcd 6 | 000035abcd 7 | 000034abcd 8 | 000033abcd 9 | 000032abcd 10 | 000031abcd 11 | 000030abcd 12 | 000029abcd 13 | 000028abcd 14 | 000027abcd 15 | 000026abcd 16 | 000025abcd 17 | 000024abcd 18 | 000023abcd 19 | 000022abcd 20 | 000021abcd 21 | 000020abcd 22 | 000019abcd 23 | 000018abcd 24 | 000017abcd 25 | 000016abcd 26 | 000015abcd 27 | 000014abcd 28 | 000013abcd 29 | 000012abcd 30 | 000011abcd 31 | 000010abcd 32 | 000009abcd 33 | 000008abcd 34 | 000007abcd 35 | 000006abcd 36 | 000005abcd 37 | 000004abcd 38 | 000003abcd 39 | 000002abcd 40 | 000001abcd 41 | -------------------------------------------------------------------------------- /src/main/resources/testdata/testdata.txt: -------------------------------------------------------------------------------- 1 | Abstract: 2 | 3 | Flow-Based Programming (FBP) is a new/old approach to 4 | application development, based on processes and data 5 | flows. Some of its roots can be traced all the way back 6 | to the early days of computing, and yet it offers solutions to many of the most pressing problems facing application development today. Interestingly, an early version of this software and methodology has been in continuous use for over 30 years processing millions of transactions a day for a large bank. 7 | FBP views applications as networks of processes 8 | communicating by means of streams of data objects 9 | travelling across "bounded buffer" connections. 10 | Processes access their connections indirectly, via 11 | "ports", so components can be black boxes, able to be 12 | reused in different arrangements to produce different 13 | applications, without having to be changed internally. 14 | FBP is thus naturally component-oriented. It also 15 | performs extremely well, frequently resulting in reduced 16 | elapsed times compared with conventional methodologies. 17 | While many of FBP's concepts have been discovered 18 | independently, the combination is unique and implies a 19 | definite paradigm shift in the way in which applications 20 | are developed and, more importantly, maintained. 21 | The result has proven its effectiveness by having been 22 | in continuous use in a very dynamic and demanding 23 | environment for over 3 decades. -------------------------------------------------------------------------------- /src/main/resources/testdata/tune.txt: -------------------------------------------------------------------------------- 1 | 330, 250, // Quarter E 2 | 330, 250, // Quarter E 3 | 330, 500, // Half E 4 | 330, 250, // Quarter E 5 | 330, 250, // Quarter E 6 | 330, 500, // Half E 7 | 330, 250, // Quarter E 8 | 392, 250, // Quarter G 9 | 262, 375, // 3/8 C 10 | 294, 125, // 1/8 D 11 | 330, 500, // 1/2 E -------------------------------------------------------------------------------- /testdata/21lines.txt: -------------------------------------------------------------------------------- 1 | 01 Flow-Based Programming (FBP) is a new/old approach to 2 | 02 application development, based on processes and data 3 | 03 flows. Some of its roots can be traced all the way back 4 | 04 to the early days of computing, and yet it offers solutions to many of the most pressing problems facing application development today. Interestingly, an early version of this software and methodology has been in continuous use for over 30 years processing millions of transactions a day for a large bank. 5 | 05 FBP views applications as networks of processes 6 | 06 communicating by means of streams of data objects 7 | 07 travelling across "bounded buffer" connections. 8 | 08 Processes access their connections indirectly, via 9 | 09 "ports", so components can be black boxes, able to be 10 | 10 reused in different arrangements to produce different 11 | 11 applications, without having to be changed internally. 12 | 12 FBP is thus naturally component-oriented. It also 13 | 13 performs extremely well, frequently resulting in reduced 14 | 14 elapsed times compared with conventional methodologies. 15 | 15 While many of FBP's concepts have been discovered 16 | 16 independently, the combination is unique and implies a 17 | 17 definite paradigm shift in the way in which applications 18 | 18 are developed and, more importantly, maintained. 19 | 19 The result has proven its effectiveness by having been 20 | 20 in continuous use in a very dynamic and demanding 21 | 21 environment for over 3 decades. -------------------------------------------------------------------------------- /testdata/dfile: -------------------------------------------------------------------------------- 1 | 111AA11111 D 2 | 111AA11111 D 3 | 111AA11111 D 4 | 111AA22222 D 5 | 111AA22222 D 6 | 111BB44444 D 7 | 111BB44444 D 8 | 111BB55555 D 9 | 222AA22222 D 10 | 222AA22222 D 11 | 222BB22222 D 12 | 222BB22222 D 13 | 222BB44444 D 14 | 222CC11111 D 15 | 222CC11111 D 16 | 222DD11111 D 17 | 222DD22222 D -------------------------------------------------------------------------------- /testdata/emptyfile.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpaulm/javafbp/1bd053e39fae61be916abe4e3feb73f7a00733d5/testdata/emptyfile.txt -------------------------------------------------------------------------------- /testdata/input.txt: -------------------------------------------------------------------------------- 1 | Abstract: 2 | 3 | Flow-Based Programming (FBP) is a new/old approach to 4 | application development, based on processes and data 5 | flows. Some of its roots can be traced all the way back 6 | to the early days of computing, and yet it offers solutions to many of the most pressing problems facing application development today. Interestingly, an early version of this software and methodology has been in continuous use for over 30 years processing millions of transactions a day for a large bank. 7 | FBP views applications as networks of processes 8 | communicating by means of streams of data objects 9 | travelling across "bounded buffer" connections. 10 | Processes access their connections indirectly, via 11 | "ports", so components can be black boxes, able to be 12 | reused in different arrangements to produce different 13 | applications, without having to be changed internally. 14 | FBP is thus naturally component-oriented. It also 15 | performs extremely well, frequently resulting in reduced 16 | elapsed times compared with conventional methodologies. 17 | While many of FBP's concepts have been discovered 18 | independently, the combination is unique and implies a 19 | definite paradigm shift in the way in which applications 20 | are developed and, more importantly, maintained. 21 | The result has proven its effectiveness by having been 22 | in continuous use in a very dynamic and demanding 23 | environment for over 3 decades. -------------------------------------------------------------------------------- /testdata/mfile: -------------------------------------------------------------------------------- 1 | 111AA11111 M 2 | 111AA22222 M 3 | 111BB44444 M 4 | 222AA11111 M 5 | 222AA22222 M 6 | 222BB22222 M 7 | 222BB33333 M 8 | 222BB44444 M 9 | 222CC11111 M -------------------------------------------------------------------------------- /testdata/persons.csv: -------------------------------------------------------------------------------- 1 | "J. Paul Morrison", "Addison Avenue 7", "New County", "Canada" 2 | "Guus Bonnema", "eigenstraat 20", "Zuid Holland", "Nederland" -------------------------------------------------------------------------------- /testdata/script_test.js: -------------------------------------------------------------------------------- 1 | println("script_test.js - data:" + data); 2 | data += " - modified" -------------------------------------------------------------------------------- /testdata/temp: -------------------------------------------------------------------------------- 1 | 000040abcd 2 | 000039abcd 3 | 000038abcd 4 | 000037abcd 5 | 000036abcd 6 | 000035abcd 7 | 000034abcd 8 | 000033abcd 9 | 000032abcd 10 | 000031abcd 11 | 000030abcd 12 | 000029abcd 13 | 000028abcd 14 | 000027abcd 15 | 000026abcd 16 | 000025abcd 17 | 000024abcd 18 | 000023abcd 19 | 000022abcd 20 | 000021abcd 21 | 000020abcd 22 | 000019abcd 23 | 000018abcd 24 | 000017abcd 25 | 000016abcd 26 | 000015abcd 27 | 000014abcd 28 | 000013abcd 29 | 000012abcd 30 | 000011abcd 31 | 000010abcd 32 | 000009abcd 33 | 000008abcd 34 | 000007abcd 35 | 000006abcd 36 | 000005abcd 37 | 000004abcd 38 | 000003abcd 39 | 000002abcd 40 | 000001abcd 41 | -------------------------------------------------------------------------------- /testdata/testdata.txt: -------------------------------------------------------------------------------- 1 | Abstract: 2 | 3 | Flow-Based Programming (FBP) is a new/old approach to 4 | application development, based on processes and data 5 | flows. Some of its roots can be traced all the way back 6 | to the early days of computing, and yet it offers solutions to many of the most pressing problems facing application development today. Interestingly, an early version of this software and methodology has been in continuous use for over 30 years processing millions of transactions a day for a large bank. 7 | FBP views applications as networks of processes 8 | communicating by means of streams of data objects 9 | travelling across "bounded buffer" connections. 10 | Processes access their connections indirectly, via 11 | "ports", so components can be black boxes, able to be 12 | reused in different arrangements to produce different 13 | applications, without having to be changed internally. 14 | FBP is thus naturally component-oriented. It also 15 | performs extremely well, frequently resulting in reduced 16 | elapsed times compared with conventional methodologies. 17 | While many of FBP's concepts have been discovered 18 | independently, the combination is unique and implies a 19 | definite paradigm shift in the way in which applications 20 | are developed and, more importantly, maintained. 21 | The result has proven its effectiveness by having been 22 | in continuous use in a very dynamic and demanding 23 | environment for over 3 decades. -------------------------------------------------------------------------------- /testdata/tune.txt: -------------------------------------------------------------------------------- 1 | 330, 250, // Quarter E 2 | 330, 250, // Quarter E 3 | 330, 500, // Half E 4 | 330, 250, // Quarter E 5 | 330, 250, // Quarter E 6 | 330, 500, // Half E 7 | 330, 250, // Quarter E 8 | 392, 250, // Quarter G 9 | 262, 375, // 3/8 C 10 | 294, 125, // 1/8 D 11 | 330, 500, // 1/2 E --------------------------------------------------------------------------------