From: Will S. <wil...@ya...> - 2001-05-26 06:51:33
|
I have a couple of questions which are beanshell-related, but since = they're actually based off plugins, I figured it was worthwhile asking = here. I want to write a bsh script which looks at a JavaBean and writes out = the properties of the JavaBean in a customizable format to a new buffer. = It looks like JBrowse is perfect for doing this, but I don't know what = the interface is to get at the data structure in JBrowse. Does an = interface exist? I have a similar question in relation to the console. I use Perforce = for most of my work, and I'm working on a script to implement a 'p4 = submit' command in jEdit. I have the problem that Perforce expects = change specification to be in a certain format, and part of that format = is output from another command, 'p4 opened'. =20 I tried this:=20 String runCommandInConsole(command) { ... console.run(command); =20 scrollPane =3D console.getComponent(1); text =3D scrollPane.getViewport().getView().getText(); } text =3D runCommandInConsole("p4 opened"); and I got: [error] BeanShell: bsh.EvalError: Sourced file: = D:\home\wsargent\.jedit\macros\Perforce\p4_submit.bsh unknown error: = null :=20 [error] BeanShell: at bsh.Interpreter.eval(Interpreter.java:462) [error] BeanShell: at = org.gjt.sp.jedit.BeanShell.runScript(BeanShell.java:180) [error] BeanShell: at org.gjt.sp.jedit.Macros$3.invoke(Macros.java:240) Is there a way I can run console without getting the output from the = scrollpane? Should I be using Runtime.exec() instead? Will. |
From: Slava P. <sl...@je...> - 2001-05-26 10:35:25
|
On Fri, May 25, 2001 at 11:51:33PM -0700, Will Sargent wrote: > I have a couple of questions which are beanshell-related, but since they're actually based off plugins, I figured it was worthwhile asking here. > > I want to write a bsh script which looks at a JavaBean and writes out the properties of the JavaBean in a customizable format to a new buffer. It looks like JBrowse is perfect for doing this, but I don't know what the interface is to get at the data structure in JBrowse. Does an interface exist? I don't think a published interface exists, so you have several choices: a) hack JBrowse b) use reflection (will only work if the bean is already loaded) > I have a similar question in relation to the console. I use Perforce for most of my work, and I'm working on a script to implement a 'p4 submit' command in jEdit. I have the problem that Perforce expects change specification to be in a certain format, and part of that format is output from another command, 'p4 opened'. > > I tried this: > > String runCommandInConsole(command) > { > ... > console.run(command); > > scrollPane = console.getComponent(1); > text = scrollPane.getViewport().getView().getText(); > } > > text = runCommandInConsole("p4 opened"); > > and I got: > > [error] BeanShell: bsh.EvalError: Sourced file: D:\home\wsargent\.jedit\macros\Perforce\p4_submit.bsh unknown error: null : > [error] BeanShell: at bsh.Interpreter.eval(Interpreter.java:462) > [error] BeanShell: at org.gjt.sp.jedit.BeanShell.runScript(BeanShell.java:180) > [error] BeanShell: at org.gjt.sp.jedit.Macros$3.invoke(Macros.java:240) > > Is there a way I can run console without getting the output from the scrollpane? Should I be using Runtime.exec() instead? This is a rather dodgy way of obtaining command output. I think the best method of doing this is probably just calling Runtime.exec() and manipulating the streams directly (but then for performance reasons, it will be best to do it in a plugin, rather than a BeanShell script). Slava |