Class 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
    • 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)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • serverMode

        private int serverMode
      • 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
      • 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)