Class JythonServer
- All Implemented Interfaces:
ConfigurableAware,Findable,TextCompleter,ICurrentScanInformationHolder,IDefaultScannableProvider,IJythonServerNotifer,IJythonServerStatusProvider,ITerminalInputProvider,Jython,LocalJython,gda.observable.IObservable
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classBase class for all the types of thread started by the JythonServer to run Jython commands. -
Field Summary
FieldsFields inherited from interface gda.jython.Jython
RAW_INPUT_RECEIVED, RAW_INPUT_REQUESTED, SERVER_NAME -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidabortCommands(String jsfIdentifier) Stops all scripts, scans, and commands running from the Jython Server immediately.voidaddAliasedCommand(String commandName, String jsfIdentifier) Add a new aliased command.voidaddAliasedVarargCommand(String commandName, String jsfIdentifier) Add a new vararg aliased commandbooleanaddDefault(Scannable scannable) Add a scannable to the list of defaultsintFor use by the JythonServerFacade class.voidaddInputTerminal(Terminal term) voidaddIObserver(gda.observable.IObserver anIObserver) voidvoidaddResetHook(Runnable hook) Add a task to be run before the namespace is reset.booleanamIBatonHolder(String myJSFIdentifier) voidassignBaton(String myJSFIdentifier, int indexOfReciever, int indexOfPasser) Inform the JythonServer which Client should now have the baton.voidbeamlineHalt(String jsfIdentifier) Stops all scripts, scans, and commands immediately.voidvoiddeleteInputTerminal(Terminal term) voiddeleteIObserver(gda.observable.IObserver anIObserver) voidvoidorg.python.core.PyObjectEvaluates a string as a Python expression and returns the result.evaluateCommand(String command, String jsfIdentifier) Runs a single line Jython command through the interpreter and returns the result in the form of a string.voidExecutes a string of Python source in the local namespace.voidexecuteCommand(String command, String jsfIdentifier) Executes the Jython command in a new thread
Blocking, Interruptible, Not script locked.voidexecuteCommand(String command, String jsfIdentifier, InputStream stdin) Executes the Jython command in a new thread with the provided stdin input stream.getAliasedCommands(String jsfIdentifier) Get the list of aliased commands - GDA syntax extension in Jython environmentgetAliasedVarargCommands(String jsfIdentifier) Get the list of vararg aliased commands - GDA syntax extension in Jython environmentReturns all names for an Object in the Jython namespacegetAllObjectsOfType(Class<F> clazz) getClientInformation(String myJSFIdentifier) Returns details of this clientReturns information about each active command threadgetCompletionsFor(String line, int posn) Return some information about the currently running scanReturns a collection of scannable objects which must be called in every scan.The default location for Jython scripts in the server.getFromJythonNamespace(String objectName, String jsfIdentifier) Get a copy of an object from the Jython interpreter.org.python.util.InteractiveConsoleGet the jython script folder object.Get the state of running scripts/scansgetMessageHistory(String myJSFIdentifier) Returns previous messages sent during this visit.getName()Get the object name.getOtherClientInformation(String myJSFIdentifier) Returns an array of objects describing the other clients on this beamline.getProjectNameForPath(String path) getRelease(String jsfIdentifier) Returns the name of the GDA release being used by the CommandServer.getScanStatus(String jsfIdentifier) Returns the scan of the queue (running, idle, paused).getScriptStatus(String jsfIdentifier) Returns the status of the script (running, idle, paused).getStartupOutput(String jsfIdentifier) This is used by clients when they start to immediately give any output messages from the startup script.booleanCheck if given command is aliasedbooleanReturns true if any client holds the baton.booleanbooleanbooleanlocateScript(String scriptToRun) Find a script with given name in the GDA's script project folders.voidnotifyServer(Object scan, Object data) This method passes information from a scan to the local facade objects.voidpauseCurrentScan(String jsfIdentifier) Pauses the current scanvoidpauseCurrentScript(String jsfIdentifier) Pauses the current script the next time it calls the ScriptBase.checkForPuases method until resumeCurrentScript is called.voidplaceInJythonNamespace(String objectName, Object obj, String jsfIdentifier) Pass a copy of an object to the Jython interpreter.voidCalled after the configuration process is complete.voidCalled before the configuration process starts when no beans have been configured.voidbooleanprojectIsConfigType(String path) booleanprojectIsCoreType(String path) booleanprojectIsUserType(String path) voidremoveAlias(String command, String jsfIdentifier) Remove an aliasbooleanremoveDefault(Scannable scannable) Remove the scannable from the list of defaultsvoidremoveFacade(String uniqueFacadeName) Removes the registration of the facade with this server and returns the baton if applicable.booleanrequestBaton(String uniqueIdentifier) Ask for the baton for control of the beamline devices.voidrequestFinishEarly(String jsfIdentifier) Cleanly stops the current scan.when users ask for command_line input during a script, this gives the Jython the responsevoidrestart()voidrestartCurrentScan(String jsfIdentifier) Restarts the last scan which was run, if it ended due to an error or it was interrupted.voidresumeCurrentScan(String jsfIdentifier) Resumes the currently paused scan.voidresumeCurrentScript(String jsfIdentifier) Resumes the currently paused scriptvoidreturnBaton(String uniqueIdentifier) Inform the JythonServer that the baton is no longer required by this connection.runAsJython(Runnable task, String jsfIdentifier) Run the given task in a Jython thread - allows it to be linked to a specific client and be restricted by its authorization levelvoidrunCommand(String command, String jsfIdentifier) Executes the Jython command in a new thread.voidrunCommandSynchronously(String scriptFullPath) Runs a command in the same thread and only returns when the command completed.Runs the Jython script, and changes the ScriptStatus as is goes.booleanSimilar toJython.runCommand(java.lang.String, java.lang.String), except that a boolean is returned if the command was complete or if additional lines of a multi-line command are required.booleanrunsource(String command, String jsfIdentifier, InputStream stdin) Similar toJython.runsource(java.lang.String, java.lang.String)but allows a specific InputStream to be used.voidsendMessage(String myJSFIdentifier, String message) Broadcast a message to other users on this beamline.voidsetCurrentScan(Scan newScan) Registers the supplied object as the scan currently running.voidsetDisableBatonControlOverVisitMetadataEntry(boolean disable) voidsetJythonScriptPaths(ScriptPaths jythonScriptPaths) Set this object's jython script folder list.voidsetMessageHandler(gda.messages.MessageHandler messageHandler) voidSet or change the name of the object (as defined in XML).voidsetRawInput(String theInput, String jsfIdentifier) After a requestRawInput has been called, the response should be returned via this method.voidsetScriptStatus(JythonStatus newStatus, String jsfIdentifier) Sets the script status.voidsetStopJythonScannablesOnStopAll(boolean stopJythonScannablesOnStopAll) voidsetTranslator(Translator newTranslator) Changes dynamically the syntax translator to use.voidvoidswitchUser(String uniqueFacadeName, String username, String visitID) For an already registered JythonServerFacade, changes information for that facade.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface gda.factory.ConfigurableAware
postConfigureBean, preConfigureBeanMethods inherited from interface gda.jython.LocalJython
getAllNamesForType
-
Field Details
-
NULL
-
SSH_PORT_PROPERTY
- See Also:
-
-
Constructor Details
-
JythonServer
public JythonServer()
-
-
Method Details
-
getJythonScriptPaths
Get the jython script folder object.- Returns:
- This object's jython script path finder.
-
setJythonScriptPaths
Set this object's jython script folder list.- Parameters:
jythonScriptPaths- A jython script finder instance.
-
removeDefault
Remove the scannable from the list of defaults- Parameters:
scannable-
-
addDefault
Add a scannable to the list of defaults- Parameters:
scannable-
-
clearDefaults
public void clearDefaults() -
getName
Description copied from interface:FindableGet the object name. Used by Castor to check if the object name has been set before calling theFindable.setName(String)method. -
setName
Description copied from interface:FindableSet or change the name of the object (as defined in XML). -
setMessageHandler
public void setMessageHandler(gda.messages.MessageHandler messageHandler) -
preConfigure
Description copied from interface:ConfigurableAwareCalled before the configuration process starts when no beans have been configured.Order in which implementations of this method are called is undetermined.
- Specified by:
preConfigurein interfaceConfigurableAware- Throws:
FactoryException- if thrown, considered a fatal configuration exception
-
postConfigure
public void postConfigure()Description copied from interface:ConfigurableAwareCalled after the configuration process is complete.When this is called, all beans are guaranteed to have been configured although the order in which implementations of this method are called is undetermined
- Specified by:
postConfigurein interfaceConfigurableAware
-
runCommandSynchronously
Runs a command in the same thread and only returns when the command completed. This method is not distributed and is only for use by the "run" command which runs scripts from within other scripts or from the GDA terminal. It assumes that the contents of this file have not been translated yet.- Parameters:
scriptFullPath-- Throws:
Exception
-
runCommand
Description copied from interface:JythonExecutes the Jython command in a new thread.
Non-blocking, Interruptible, Not script locked.
SeeICommandRunnerfor the other options.- Specified by:
runCommandin interfaceJython- Parameters:
command- to runjsfIdentifier- - the unique ID of the JythonServerFacade calling this method
-
executeCommand
Description copied from interface:JythonExecutes the Jython command in a new thread
Blocking, Interruptible, Not script locked.
SeeICommandRunnerfor the other options.- Specified by:
executeCommandin interfaceJython- Parameters:
command- to runjsfIdentifier-- Throws:
ScriptExecutionException- if there is an exception in the script
-
executeCommand
public void executeCommand(String command, String jsfIdentifier, InputStream stdin) throws ScriptExecutionException Description copied from interface:JythonExecutes the Jython command in a new thread with the provided stdin input stream.
Blocking, Interruptible, Not script locked.
SeeICommandRunnerfor the other options.
SeeJython.executeCommand(String, String)for alternative using the RCP input stream- Specified by:
executeCommandin interfaceJython- Parameters:
command- to runjsfIdentifier-stdin- an InputStream to use as the source of user input- Throws:
ScriptExecutionException- if there is an exception in the script
-
runScript
Description copied from interface:JythonRuns the Jython script, and changes the ScriptStatus as is goes.
Non-blocking, Interruptible, Script locked.
SeeICommandRunnerfor the other options. -
evaluateCommand
Description copied from interface:JythonRuns a single line Jython command through the interpreter and returns the result in the form of a string. Note: this method waits until the command has finished so it can return the result. If the command takes a long time it will hang the thread which calls this method. So this method must be called in a separate thread from the main GUI thread, else the GUI will seize up until the command given to this method has returned. For an example of the, see the gda.jython.JythonTerminal class.
Blocking, Not interruptible, Not script locked.
SeeICommandRunnerfor the other options.- Specified by:
evaluateCommandin interfaceJython- Parameters:
command- command to runjsfIdentifier- - the unique ID of the JythonServerFacade calling this method- Returns:
- the string representation of the result
-
runsource
Description copied from interface:JythonSimilar toJython.runCommand(java.lang.String, java.lang.String), except that a boolean is returned if the command was complete or if additional lines of a multi-line command are required. Used only by the JythonTerminal to determine which prompt to display. Note: this method waits until the command has finished so it can return the result. If the command takes a long time it will hang the thread which calls this method. So this method must be called in a separate thread from the main GUI thread, else the GUI will seize up until the command given to this method has returned.
Blocking, Interruptible, Not script locked.
SeeICommandRunnerfor the other options. -
runsource
Description copied from interface:JythonSimilar toJython.runsource(java.lang.String, java.lang.String)but allows a specific InputStream to be used.
Blocking, Interruptible, Not script locked.
SeeICommandRunnerfor the other options.- Specified by:
runsourcein interfaceJython- Parameters:
command- to runjsfIdentifier- - the unique ID of the JythonServerFacade calling this methodstdin- input stream to use as stdin for this command- Returns:
- true if command was incomplete and more is required (eg "if True:"), false otherwise (including on error)
- See Also:
-
runAsJython
Description copied from interface:LocalJythonRun the given task in a Jython thread - allows it to be linked to a specific client and be restricted by its authorization level- Specified by:
runAsJythonin interfaceLocalJython
-
setRawInput
Description copied from interface:JythonAfter a requestRawInput has been called, the response should be returned via this method. The string is then the returned string to script which called requestRawInput. This method is distributed because the response could come from any object. The requestRawInput should only come from within a script, so that method is not distributed.- Specified by:
setRawInputin interfaceJython- Parameters:
theInput-jsfIdentifier- - the unique ID of the JythonServerFacade calling this method.
-
requestRawInput
when users ask for command_line input during a script, this gives the Jython the response- Returns:
- - the output from the user
- Throws:
InterruptedException
-
requestFinishEarly
Description copied from interface:JythonCleanly stops the current scan.- Specified by:
requestFinishEarlyin interfaceJython- Parameters:
jsfIdentifier- - the unique ID of the JythonServerFacade calling this method.
-
pauseCurrentScan
Description copied from interface:JythonPauses the current scan- Specified by:
pauseCurrentScanin interfaceJython- Parameters:
jsfIdentifier- - the unique ID of the JythonServerFacade calling this method.
-
resumeCurrentScan
Description copied from interface:JythonResumes the currently paused scan.- Specified by:
resumeCurrentScanin interfaceJython- Parameters:
jsfIdentifier- - the unique ID of the JythonServerFacade calling this method.
-
restartCurrentScan
Description copied from interface:JythonRestarts the last scan which was run, if it ended due to an error or it was interrupted. If the last scan completed successfully, then this will do nothing.- Specified by:
restartCurrentScanin interfaceJython- Parameters:
jsfIdentifier- - the unique ID of the JythonServerFacade calling this method.
-
beamlineHalt
Description copied from interface:JythonStops all scripts, scans, and commands immediately. Also calls the stop method on all motors.- Specified by:
beamlineHaltin interfaceJython- Parameters:
jsfIdentifier- - the unique ID of the JythonServerFacade calling this method.
-
abortCommands
Description copied from interface:JythonStops all scripts, scans, and commands running from the Jython Server immediately.- Specified by:
abortCommandsin interfaceJython- Parameters:
jsfIdentifier- - the unique ID of the JythonServerFacade calling this method.
-
pauseCurrentScript
Description copied from interface:JythonPauses the current script the next time it calls the ScriptBase.checkForPuases method until resumeCurrentScript is called.- Specified by:
pauseCurrentScriptin interfaceJython- Parameters:
jsfIdentifier- - the unique ID of the JythonServerFacade calling this method.
-
resumeCurrentScript
Description copied from interface:JythonResumes the currently paused script- Specified by:
resumeCurrentScriptin interfaceJython- Parameters:
jsfIdentifier- - the unique ID of the JythonServerFacade calling this method.
-
getTerminalWriter
-
addFacade
public int addFacade(String jsfIdentifier, String hostName, String username, String fullName, String visitID) throws DeviceException Description copied from interface:JythonFor use by the JythonServerFacade class. Allows an instance of this class operating in a different process to remotely register itself with a JythonServer.- Specified by:
addFacadein interfaceJython- Parameters:
jsfIdentifier-hostName-username-fullName-visitID-- Returns:
- the index number of the facade (i.e. its public key)
- Throws:
DeviceException- - thrown if an error during authentication/authorisation
-
switchUser
public void switchUser(String uniqueFacadeName, String username, String visitID) throws DeviceException Description copied from interface:JythonFor an already registered JythonServerFacade, changes information for that facade. This can change the permission level of this facade (and so this client) or the visit which data is savaed as when this client has the baton.- Specified by:
switchUserin interfaceJython- Parameters:
uniqueFacadeName-username-visitID-- Throws:
DeviceException
-
removeFacade
Description copied from interface:JythonRemoves the registration of the facade with this server and returns the baton if applicable.- Specified by:
removeFacadein interfaceJython- Parameters:
uniqueFacadeName-
-
notifyServer
Description copied from interface:IJythonServerNotiferThis method passes information from a scan to the local facade objects. These in turn pass the data to the local version of the GUI panel which created the scan.- Specified by:
notifyServerin interfaceIJythonServerNotifer- Parameters:
scan- The serialized scan object which has created the data.data- A vector carrying the latest data collected by the scan
-
restart
public void restart() -
addResetHook
Add a task to be run before the namespace is reset. Useful for cleanup of Jython objects that would otherwise be inaccessible after a reset.
Tasks are only run once and will not be run before subsequent resets.NB. When registering hooks from Jython, nonlocal names are looked up at runtime, not when they are added. ie using
addResetHook(lambda: thing.deleteIObserver(foo))
will try and delete whateverfoois bound to at the time the namespace is reset (eg, it will fail iffoohas been deleted). To bind the name at the time the hook is added, useaddResetHook(lambda obs=foo: thing.deleteIObserver(obs))
- Parameters:
hook- task to run just before restarting the JythonServer.
-
getScanStatus
Description copied from interface:JythonReturns the scan of the queue (running, idle, paused).- Specified by:
getScanStatusin interfaceJython- Parameters:
jsfIdentifier- - the unique ID of the JythonServerFacade calling this method.- Returns:
- int
-
getScriptStatus
Description copied from interface:JythonReturns the status of the script (running, idle, paused).- Specified by:
getScriptStatusin interfaceJython- Parameters:
jsfIdentifier- - the unique ID of the JythonServerFacade calling this method.- Returns:
- int
-
setScriptStatus
Description copied from interface:JythonSets the script status.- Specified by:
setScriptStatusin interfaceJython- Parameters:
newStatus- JythonStatus of scriptjsfIdentifier- - the unique ID of the JythonServerFacade calling this method.
-
placeInJythonNamespace
Description copied from interface:JythonPass a copy of an object to the Jython interpreter. This object must be relatively simple otherwise it will not be passed over CORBA successfully. So the object must be a native type (or only contain native types) and must not have any object references inside.- Specified by:
placeInJythonNamespacein interfaceJython- Parameters:
objectName-obj-jsfIdentifier- - the unique ID of the JythonServerFacade calling this method.
-
getFromJythonNamespace
Description copied from interface:JythonGet a copy of an object from the Jython interpreter. Note that the retreived object will have to be cast by the local code. As the object will be passed over CORBA, this method should only be used on native types or classes containing only native types.- Specified by:
getFromJythonNamespacein interfaceJython- Parameters:
objectName-jsfIdentifier- - the unique ID of the JythonServerFacade calling this method.- Returns:
- Object
-
getAllObjectsOfType
- Specified by:
getAllObjectsOfTypein interfaceLocalJython
-
getAllNamesForObject
Description copied from interface:JythonReturns all names for an Object in the Jython namespace- Specified by:
getAllNamesForObjectin interfaceJython- Parameters:
obj-- Returns:
- All names that refer to the Object in the Jython namespace
- Throws:
DeviceException
-
setTranslator
Changes dynamically the syntax translator to use.- Parameters:
newTranslator-
-
getRelease
Description copied from interface:JythonReturns the name of the GDA release being used by the CommandServer. This is the String returned by the JythonServer's local copy of gda.util.Version. This enables Client and Server processes to check if they are of the same GDA version.- Specified by:
getReleasein interfaceJython- Parameters:
jsfIdentifier- - the unique ID of the JythonServerFacade calling this method.- Returns:
- the current GDA release used by the CommandServer.
-
getStartupOutput
Description copied from interface:JythonThis is used by clients when they start to immediately give any output messages from the startup script.- Specified by:
getStartupOutputin interfaceJython- Parameters:
jsfIdentifier- - the unique ID of the JythonServerFacade calling this method.- Returns:
- the output generated when the CommandServer ran its startup file as a string.
-
setCurrentScan
Description copied from interface:ICurrentScanInformationHolderRegisters the supplied object as the scan currently running. This is the scan which will be restarted by resumeCurrentScan if the status is HALTED.- Specified by:
setCurrentScanin interfaceICurrentScanInformationHolder- Parameters:
newScan-
-
addAliasedCommand
Description copied from interface:JythonAdd a new aliased command.- Specified by:
addAliasedCommandin interfaceJython- Parameters:
commandName-jsfIdentifier- - the unique ID of the JythonServerFacade calling this method.
-
addAliasedVarargCommand
Description copied from interface:JythonAdd a new vararg aliased command- Specified by:
addAliasedVarargCommandin interfaceJython- Parameters:
commandName-jsfIdentifier- - the unique ID of the JythonServerFacade calling this method.
-
removeAlias
Description copied from interface:JythonRemove an alias- Specified by:
removeAliasin interfaceJython- Parameters:
command- to remove
-
getDefaultScannables
Description copied from interface:IDefaultScannableProviderReturns a collection of scannable objects which must be called in every scan. Used by scans to construct the list of objects whose positions are reported at every node of a scan.This returns a collection of object references of all the objects in the Jython namepsace listed in the DefaultScannablesList object named "scannablesList" in the configuration information.
As this method returns object references, this method must only be called by objects local to this object. This method must never be available remotely.
- Specified by:
getDefaultScannablesin interfaceIDefaultScannableProvider- Returns:
- Collection
-
amIBatonHolder
- Specified by:
amIBatonHolderin interfaceJython- Parameters:
myJSFIdentifier-- Returns:
- boolean if the given client holds the beamline baton
-
assignBaton
Description copied from interface:JythonInform the JythonServer which Client should now have the baton. This method will only be run for current holders of the baton.- Specified by:
assignBatonin interfaceJython- Parameters:
myJSFIdentifier-indexOfReciever-indexOfPasser-
-
getClientInformation
Description copied from interface:JythonReturns details of this client- Specified by:
getClientInformationin interfaceJython- Parameters:
myJSFIdentifier-- Returns:
- ClientDetails
-
getOtherClientInformation
Description copied from interface:JythonReturns an array of objects describing the other clients on this beamline.This array may be slightly out of date if the client was not closed down properly, but after a few minutes the client should be automatically removed from the list.
- Specified by:
getOtherClientInformationin interfaceJython- Parameters:
myJSFIdentifier-- Returns:
- ClientDetails[]
-
isBatonHeld
public boolean isBatonHeld()Description copied from interface:JythonReturns true if any client holds the baton. If no client holds the baton then all clients may operate hardware subject to their authorisation level.- Specified by:
isBatonHeldin interfaceJython- Returns:
- true if any client holds the baton.
-
requestBaton
Description copied from interface:JythonAsk for the baton for control of the beamline devices.- Specified by:
requestBatonin interfaceJython- Parameters:
uniqueIdentifier-- Returns:
- boolean
-
returnBaton
Description copied from interface:JythonInform the JythonServer that the baton is no longer required by this connection.- Specified by:
returnBatonin interfaceJython- Parameters:
uniqueIdentifier- String
-
sendMessage
Description copied from interface:JythonBroadcast a message to other users on this beamline. Such messages will be displayed in a special viewer.- Specified by:
sendMessagein interfaceJython- Parameters:
myJSFIdentifier-message-
-
getMessageHistory
Description copied from interface:JythonReturns previous messages sent during this visit.- Specified by:
getMessageHistoryin interfaceJython
-
getAliasedCommands
Description copied from interface:JythonGet the list of aliased commands - GDA syntax extension in Jython environment- Specified by:
getAliasedCommandsin interfaceJython- Parameters:
jsfIdentifier-- Returns:
- the aliased commands
-
getAliasedVarargCommands
Description copied from interface:JythonGet the list of vararg aliased commands - GDA syntax extension in Jython environment- Specified by:
getAliasedVarargCommandsin interfaceJython- Parameters:
jsfIdentifier-- Returns:
- the aliased vararg commands
-
hasAlias
Description copied from interface:JythonCheck if given command is aliased -
locateScript
Description copied from interface:JythonFind a script with given name in the GDA's script project folders.- Specified by:
locateScriptin interfaceJython- Parameters:
scriptToRun- The name of the script.- Returns:
- The path to the script, or null if it can't be found.
-
getDefaultScriptProjectFolder
Description copied from interface:JythonThe default location for Jython scripts in the server.- Specified by:
getDefaultScriptProjectFolderin interfaceJython- Returns:
- A path to a folder where the server will search for Jython scripts.
-
getAllScriptProjectFolders
- Specified by:
getAllScriptProjectFoldersin interfaceJython
-
getProjectNameForPath
- Specified by:
getProjectNameForPathin interfaceJython
-
projectIsUserType
- Specified by:
projectIsUserTypein interfaceJython
-
projectIsConfigType
- Specified by:
projectIsConfigTypein interfaceJython
-
projectIsCoreType
- Specified by:
projectIsCoreTypein interfaceJython
-
getInterp
public org.python.util.InteractiveConsole getInterp() -
getCommandThreadInfo
Description copied from interface:JythonReturns information about each active command thread- Specified by:
getCommandThreadInfoin interfaceJython- Returns:
- Array of command thread information
-
setStopJythonScannablesOnStopAll
public void setStopJythonScannablesOnStopAll(boolean stopJythonScannablesOnStopAll) -
isStoppingJythonScannablesOnStopAll
public boolean isStoppingJythonScannablesOnStopAll() -
getCurrentScanInformation
Description copied from interface:ICurrentScanInformationHolderReturn some information about the currently running scan- Specified by:
getCurrentScanInformationin interfaceICurrentScanInformationHolder- Returns:
- ScanInformation
-
isFinishEarlyRequested
public boolean isFinishEarlyRequested()- Specified by:
isFinishEarlyRequestedin interfaceJython- Returns:
- true if the current scan has had requestFinishEarly called on it.
-
setDisableBatonControlOverVisitMetadataEntry
public void setDisableBatonControlOverVisitMetadataEntry(boolean disable) -
isDisableBatonControlOverVisitMetadataEntry
public boolean isDisableBatonControlOverVisitMetadataEntry() -
addInputTerminal
- Specified by:
addInputTerminalin interfaceITerminalInputProvider
-
deleteInputTerminal
- Specified by:
deleteInputTerminalin interfaceITerminalInputProvider
-
addJythonServerStatusObserver
- Specified by:
addJythonServerStatusObserverin interfaceIJythonServerStatusProvider
-
deleteJythonServerStatusObserver
- Specified by:
deleteJythonServerStatusObserverin interfaceIJythonServerStatusProvider
-
getJythonServerStatus
Description copied from interface:JythonGet the state of running scripts/scans- Specified by:
getJythonServerStatusin interfaceIJythonServerStatusProvider- Specified by:
getJythonServerStatusin interfaceJython
-
showUsers
public void showUsers() -
eval
Description copied from interface:JythonEvaluates a string as a Python expression and returns the result. Bypasses translator, batton control, and is not available across corba.This is of particular utility compared to other offerings as calls are synchronous, throw exceptions and can return an actual object.
-
exec
Description copied from interface:JythonExecutes a string of Python source in the local namespace. Bypasses translator, batton control, and is not available across corba.This is of particular utility compared to other offerings as calls are synchronous and throw exceptions.
-
getCompletionsFor
- Specified by:
getCompletionsForin interfaceJython- Specified by:
getCompletionsForin interfaceTextCompleter
-
print
-
addIObserver
public void addIObserver(gda.observable.IObserver anIObserver) - Specified by:
addIObserverin interfacegda.observable.IObservable
-
deleteIObserver
public void deleteIObserver(gda.observable.IObserver anIObserver) - Specified by:
deleteIObserverin interfacegda.observable.IObservable
-
deleteIObservers
public void deleteIObservers()- Specified by:
deleteIObserversin interfacegda.observable.IObservable
-