Package io.jmix.flowui.devserver
Class DevServerOutputTracker
java.lang.Object
io.jmix.flowui.devserver.DevServerOutputTracker
Tracks the output of a dev server and scans for given success and/or failure
patterns while copying the dev server output to standard output.
Triggers an event whenever a success or failure pattern is found on a row.
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
Encapsulates the result of a find operation. -
Constructor Summary
ConstructorDescriptionDevServerOutputTracker
(InputStream inputStream, Pattern success, Pattern failure, Consumer<DevServerOutputTracker.Result> onMatch) Creates a new finder that scans for the given success and/or failure pattern. -
Method Summary
Modifier and TypeMethodDescriptionboolean
awaitFirstMatch
(int timeoutInSeconds) Blocks until the first match is found and the callback has been run.void
find()
Runs the find operation.serverRestartGuard
(Pattern restartingPattern, Pattern restartedPattern) Gets a guard object that blocks the current request to dev-server when dev-server is performing a restart operation.
-
Constructor Details
-
DevServerOutputTracker
public DevServerOutputTracker(InputStream inputStream, Pattern success, Pattern failure, Consumer<DevServerOutputTracker.Result> onMatch) Creates a new finder that scans for the given success and/or failure pattern.- Parameters:
inputStream
- the stream to scansuccess
- the pattern indicating successfailure
- the pattern indicating failureonMatch
- callback triggered when either success or failure is found
-
-
Method Details
-
serverRestartGuard
Gets a guard object that blocks the current request to dev-server when dev-server is performing a restart operation.- Parameters:
restartingPattern
- a pattern to match with the output to determine that the server is restarting.restartedPattern
- a pattern to match with the output to determine that the server has been restarted.- Returns:
- a
Runnable
instance that blocks execution during dev server restarts, never null.
-
find
public void find()Runs the find operation. -
awaitFirstMatch
Blocks until the first match is found and the callback has been run.- Parameters:
timeoutInSeconds
- the maximum number of seconds to wait- Returns:
true
if a match was found,false
if a timeout occurred- Throws:
InterruptedException
- if the finder thread is interrupted
-