Package org.openscience.jmol.app.nbo
Class NBOService
- java.lang.Object
-
- org.openscience.jmol.app.nbo.NBOService
-
public class NBOService extends java.lang.Object
A service for interacting with NBOServe (experimental) TODO: figure out how to manage time-consuming asynchronous requests
-
-
Field Summary
Fields Modifier and Type Field Description protected int
dialogMode
private boolean
inData
protected boolean
isWorking
boolean
jobCanceled
private java.lang.Object
lock
protected static NBOJobQueueManager
manager
private static int
MODE_ERR
(package private) static int
MODE_ERROR
(package private) static int
MODE_IMAGE
(package private) static int
MODE_MODEL
(package private) static int
MODE_RAW
(package private) static int
MODE_RUN
(package private) static int
MODE_SEARCH
(package private) static int
MODE_SEARCH_LIST
(package private) static int
MODE_SEARCH_SELECT
(package private) static int
MODE_SEARCH_VALUE
(package private) static int
MODE_VIEW
(package private) static int
MODE_VIEW_LIST
(package private) NBODialog
nboDialog
protected java.lang.Thread
nboListener
private java.lang.String
nboModel
protected java.io.BufferedReader
nboReader
protected java.lang.Process
nboServer
private boolean
nboSync
private javajs.util.SB
sbRet
(package private) java.lang.String
serverDir
private int
serverMode
(package private) java.lang.String
serverPath
private java.io.PrintWriter
stdinWriter
private java.io.InputStream
stdout
protected Viewer
vwr
(package private) java.lang.String
workingPath
-
Constructor Summary
Constructors Constructor Description NBOService(Viewer vwr)
Manage communication between Jmol and NBOServer
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private boolean
clearServerFile(java.lang.String fname)
(package private) void
closeProcess()
SV
evaluateJmol(java.lang.String expr)
java.lang.String
evaluateJmolString(java.lang.String expr)
private java.lang.String
fixNBOModel(java.lang.String line)
fixes DATA line to include a title(package private) java.lang.String
getFileData(java.lang.String fileName)
java.lang.String
getJmolFilename()
protected void
nboReport(java.lang.String line, int dialogMode)
boolean
processRequest(java.util.Map<java.lang.String,java.lang.Object> info, int mode)
void
queueJob(java.lang.String name, java.lang.String statusInfo, java.lang.Runnable process)
protected void
rawCmdNew(java.lang.String cmd, javajs.util.SB data, boolean doWait, int dialogMode)
The interface for ALL communication with NBOServe from NBODialog.(package private) java.lang.String
restart()
boolean
restartIfNecessary()
(package private) java.lang.String
runScriptNow(java.lang.String script)
(package private) void
runScriptQueued(java.lang.String script)
private void
sendCmd(java.lang.String s)
private void
sendToNBO(int mode, java.lang.String s)
private void
setServerPath(java.lang.String path)
Set path to NBOServe.exe(package private) void
setWorkingPath(java.lang.String path)
Set path for all file saving(package private) java.lang.String
startProcess(boolean sync, int mode)
private boolean
waitFor(int mode)
(package private) void
writeToFile(java.lang.String s, java.io.File file)
-
-
-
Field Detail
-
MODE_ERROR
static final int MODE_ERROR
- See Also:
- Constant Field Values
-
MODE_RAW
static final int MODE_RAW
- See Also:
- Constant Field Values
-
MODE_MODEL
static final int MODE_MODEL
- See Also:
- Constant Field Values
-
MODE_RUN
static final int MODE_RUN
- See Also:
- Constant Field Values
-
MODE_VIEW
static final int MODE_VIEW
- See Also:
- Constant Field Values
-
MODE_SEARCH
static final int MODE_SEARCH
- See Also:
- Constant Field Values
-
MODE_VIEW_LIST
static final int MODE_VIEW_LIST
- See Also:
- Constant Field Values
-
MODE_SEARCH_VALUE
static final int MODE_SEARCH_VALUE
- See Also:
- Constant Field Values
-
MODE_SEARCH_LIST
static final int MODE_SEARCH_LIST
- See Also:
- Constant Field Values
-
MODE_SEARCH_SELECT
static final int MODE_SEARCH_SELECT
- See Also:
- Constant Field Values
-
MODE_IMAGE
static final int MODE_IMAGE
- See Also:
- Constant Field Values
-
MODE_ERR
private static final int MODE_ERR
- See Also:
- Constant Field Values
-
serverMode
private int serverMode
-
vwr
protected Viewer vwr
-
nboDialog
NBODialog nboDialog
-
nboServer
protected java.lang.Process nboServer
-
nboListener
protected java.lang.Thread nboListener
-
stdout
private java.io.InputStream stdout
-
nboReader
protected java.io.BufferedReader nboReader
-
stdinWriter
private java.io.PrintWriter stdinWriter
-
manager
protected static NBOJobQueueManager manager
-
sbRet
private javajs.util.SB sbRet
-
inData
private boolean inData
-
isWorking
protected boolean isWorking
-
serverPath
java.lang.String serverPath
-
serverDir
java.lang.String serverDir
-
workingPath
java.lang.String workingPath
-
nboSync
private boolean nboSync
-
nboModel
private java.lang.String nboModel
-
dialogMode
protected int dialogMode
-
lock
private java.lang.Object lock
-
jobCanceled
public boolean jobCanceled
-
-
Constructor Detail
-
NBOService
public NBOService(Viewer vwr)
Manage communication between Jmol and NBOServer- Parameters:
vwr
- The interacting display we are reproducing (source of view angle info etc)
-
-
Method Detail
-
setServerPath
private void setServerPath(java.lang.String path)
Set path to NBOServe.exe- Parameters:
path
-
-
setWorkingPath
void setWorkingPath(java.lang.String path)
Set path for all file saving- Parameters:
path
- the desired path, or null to indicate to use the current Jmol directory path + /nbo
-
processRequest
public boolean processRequest(java.util.Map<java.lang.String,java.lang.Object> info, int mode)
-
waitFor
private boolean waitFor(int mode)
-
clearServerFile
private boolean clearServerFile(java.lang.String fname)
-
sendToNBO
private void sendToNBO(int mode, java.lang.String s)
- Parameters:
mode
-s
-
-
sendCmd
private void sendCmd(java.lang.String s)
-
nboReport
protected void nboReport(java.lang.String line, int dialogMode)
-
fixNBOModel
private java.lang.String fixNBOModel(java.lang.String line)
fixes DATA line to include a title- Parameters:
line
-- Returns:
- line or full data block
-
startProcess
java.lang.String startProcess(boolean sync, int mode)
-
closeProcess
void closeProcess()
-
restart
java.lang.String restart()
-
restartIfNecessary
public boolean restartIfNecessary()
-
runScriptQueued
void runScriptQueued(java.lang.String script)
-
runScriptNow
java.lang.String runScriptNow(java.lang.String script)
-
evaluateJmol
public SV evaluateJmol(java.lang.String expr)
-
evaluateJmolString
public java.lang.String evaluateJmolString(java.lang.String expr)
-
getJmolFilename
public java.lang.String getJmolFilename()
-
rawCmdNew
protected void rawCmdNew(java.lang.String cmd, javajs.util.SB data, boolean doWait, int dialogMode)
The interface for ALL communication with NBOServe from NBODialog.- Parameters:
cmd
-data
-doWait
-dialogMode
-
-
writeToFile
void writeToFile(java.lang.String s, java.io.File file) throws java.io.IOException
- Throws:
java.io.IOException
-
getFileData
java.lang.String getFileData(java.lang.String fileName)
-
queueJob
public void queueJob(java.lang.String name, java.lang.String statusInfo, java.lang.Runnable process)
-
-