Java Global Editor from WebTerminal
There are situations when your only access to a server is using a web browser,
and there is just no chance of a Terminal or Console access.
The Online Demo Server is such a case.
So you have WebTerminal. That's fine for ObjectScript and Embedded Python.
But my demo is straight Java. And is interactive.
$ZF(-100...) is some aproach. But it's rater batch-oriented and not interactive.
@Enrico Parisi presented a nice extension to WebTerminal recently.
It's close to my own packageWebCommand that I presented a year ago.
They all act in the same way. It is always a single-shot approach:
Launch a command to your OS and collect the replies. No interaction.
Digging through documentation I found that device CPIPE has a read queue by default.
This means you read the result of the command like a file until it is empty!
Not so bad, but the wrong direction.
BUT: there is a switch /WRITE to reverse the direction. Like for printing.
Much better. However, my requirement is a synchronized READ/WRITE exchange.
Not implemented. (or I didn't recognize)
Output Redirection provided the missing piece.
Now I start my Java Demo over CPIPE, redirect the Output to a file, and
ane execute alternate read and write actions.
Simplified:
set cpipe="|CPIPE|1"
,cmd="cd /opt/irisapp/ && java rcc > g.log"open cpipe:(cmd:/WRITE)
#; collect and show the reply
loop:
#; get userinputuse cpipe WRITE userinput,!
#; end loopSo I have a synchronized ping-pong with my Java + IRIS NativeAPI
A hint for reading the file:
- $ZPOS gives you the last position of READ
- USE file:StartPosition allows you to skip already displayed text.
So you can skip the previous file content and just present the new lines.
This works also in the Online Demo