Module framework
Back to master index

[public] Configuration Point framework.descriptorsOccurs: unbounded
Module Descriptors - contain documentation and type information for all the components and methods of the ACR. Content for this configuration is generated in the api project from original Javadoc, using JEL and XSLT. Used to generate documentation in the HTTP and XMLRPC bindings, and to expose functions through the HTTP / XMLRPC / RMI bindings.
Schema
Element <acr-module>
Describes a module of the AR
Attribute description Translator: string
Description of this module.
Attribute name (required) (unique) Translator: string
The unique id of the module.
Nested Elements
Describes a module of the AR
<conversion class="org.astrogrid.acr.builtin.ModuleDescriptor" />
Attribute name (required) (unique) Translator: string
The unique id of the module.
Attribute description Translator: string
Description of this module.
Element <component>
Describes a component of the AR
Attribute description Translator: string
A description of the component.
Attribute excluded Translator: boolean
Whether this entity should be excluded from documentation
Attribute interface-class (required) Translator: class
The public interface that this component implements.
Attribute name (required) Translator: string
The name of the component
Nested Elements
Describes a component of the AR
<conversion class="org.astrogrid.acr.builtin.ComponentDescriptor" parent-method="addComponent" />
Attribute name (required) Translator: string
The name of the component
Attribute interface-class (required) Translator: class
The public interface that this component implements.
Attribute description Translator: string
A description of the component.
Attribute excluded Translator: boolean
Whether this entity should be excluded from documentation
Element <method>
Describes a method of the component
Attribute description Translator: string
A description of the method
Attribute excluded Translator: boolean
Whether this entity should be excluded from documentation
Attribute name (required) Translator: string
The name of the method
Nested Elements
Describes a method of the component
<conversion class="org.astrogrid.acr.builtin.MethodDescriptor" parent-method="addMethod" />
Attribute name (required) Translator: string
The name of the method
Attribute description Translator: string
A description of the method
Attribute excluded Translator: boolean
Whether this entity should be excluded from documentation
Element <return>
The return of the method
Attribute description Translator: string
Description of the return value
Attribute type Translator: class
Type of the return value
Attribute uitype Translator: string
Human-readable description of the return type.
Conversion Rules
<conversion class="org.astrogrid.acr.builtin.ValueDescriptor" parent-method="setReturnValue" />
Element <param>
A parameter to the method
Attribute description Translator: string
Description of the parameter
Attribute name Translator: string
The method name
Attribute type Translator: class
The type of the parameter
Attribute uitype Translator: string
Human-readable description of the parameter type.
Conversion Rules
<conversion class="org.astrogrid.acr.builtin.ValueDescriptor" parent-method="addParameter" />
Conversion Rules
<conversion class="org.astrogrid.acr.builtin.MethodDescriptor" parent-method="addMethod" />
Conversion Rules
<conversion class="org.astrogrid.acr.builtin.ComponentDescriptor" parent-method="addComponent" />
Conversion Rules
<conversion class="org.astrogrid.acr.builtin.ModuleDescriptor" />
Contribution from module astrogrid
<acr-module description="AstroGrid Services" name="astrogrid" >
  • <component description="AR Service: Query remote databases and execute remote applications. The Common Execution Architecture (CEA) provides a uniform way to describe and execute astronomical applications and data services on the VO. This interface provides methods to <ul> <li>Discover available applications</li> <li>Build invocation documents containing the correct parameters</li> <li>Submit invocation documents for execution on remote servers</li> <li>Monitor progress and retreive results of execution</li> </ul> Each new application invocation is assigned a new globally unique id. These id's should be treated as opaque objects - the internal structure is still liable to change.<dl> <dt>See:</dt><dd> <a href="http://www.astrogrid.org/maven/docs/HEAD/applications/design/CEADesignIVOANote.html">Common Execution Architecture - IVOA Proposal</a> <br/>, <a href="http://www.astrogrid.org/maven/docs/HEAD/astrogrid-workflow-objects/schema/Workflow.html#element_tool">Tool Document Schema-Documentation</a>, <a href="http://www.astrogrid.org/maven/docs/HEAD/astrogrid-workflow-objects/schema/AGParameterDefinition.html#type_parameter">Value Parameter Element Schema-Documentation</a>, <a href="http://www.astrogrid.org/viewcvs/astrogrid/workflow-objects/schema/">XSD Schemas</a> <br/>, <a href="doc-files/run-app-demo.py">Calling CEA services - example python script</a>, <a href="doc-files/runAppDemo.groovy">Calling CEA services - example groovy script</a>, <a href="../dialogs/doc-files/example-tool.xml"> Example Tool Document</a> <br/>, org.astrogrid.acr.ui.ApplicationLauncher, org.astrogrid.acr.dialogs.ToolEditor, org.astrogrid.acr.astrogrid.ExecutionInformation, </dd></dl>" interface-class="org.astrogrid.acr.astrogrid.Applications" name="applications" >
    • <method description="<b>Deprecated: </b>use <tt>getRegistryXQuery</tt><p /> list remote applications available in the registry.<dl> <dt>See:</dt><dd> #getCeaApplication, </dd></dl>" excluded="true" name="list" >
      • <return description="a list of the registry identifiers of available applications" type="java.net.URI[]" uitype="URI[]" />
      </method>
    • <method description="<b>Deprecated: </b>- use <tt>getRegistryXQuery</tt><p /> " excluded="true" name="getQueryToListApplications" >
      • <return description="" type="java.lang.String" uitype="String" />
      </method>
    • <method description="helper method - returns the SRQL query that should be passed to the registry to list all available applications. can be used as a starting point to build up filters, etc.<dl> <dt>See:</dt><dd> Registry#search(String), <a href='http://eurovotech.org/twiki/bin/view/VOTech/SimpleRegistryQueryLanguage'>SRQL Language Description</a>, </dd></dl>" name="getRegistryQuery" >
      • <return description="a SRQL query string." type="java.lang.String" uitype="String" />
      </method>
    • <method description="<b>Deprecated: </b>use getRegistryXQuery<p /> helper method - returns the ADQL/s query that should be passed to the registry to list all available applications. can be used as a starting point to build up filters, etc.<dl> <dt>See:</dt><dd> org.astrogrid.acr.ivoa.Registry, </dd></dl>" excluded="true" name="getRegistryAdqlQuery" >
      • <return description="an adql query string." type="java.lang.String" uitype="String" />
      </method>
    • <method description="helper method - returns the Xquery that should be passed to the registry to list all available applications. can be used as a starting point to build up filters, etc.<dl> <dt>See:</dt><dd> org.astrogrid.acr.ivoa.Registry, </dd></dl>" name="getRegistryXQuery" >
      • <return description="an xquery string." type="java.lang.String" uitype="String" />
      </method>
    • <method description="get information for a specific application from the registry. A convenience function for <tt>Registry#getResource(URI)</tt><dl> <dt>XMLRPC:</dt><dd> returns a structure containing attributes of <tt>CeaApplication</tt></dd></dl>" name="getCeaApplication" >
      • <return description="details of this application" type="org.astrogrid.acr.astrogrid.CeaApplication" uitype="CeaApplication" />
      • <param description="name of the application to hunt for" name="applicationName" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="get formatted information about an application" name="getDocumentation" >
      • <return description="formatted, human-readable information about the application" type="java.lang.String" uitype="String" />
      • <param description="" name="applicationName" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="create a template invocation document for a particular application. Examines the registry entry for this application, and constructs a template document containing fields for the required input and output parameters.<dl> <dt>XMLRPC:</dt><dd> will return xml document as a string</dd> <dt>See:</dt><dd> #createTemplateStruct(URI, String), #validate(Document), </dd></dl>" name="createTemplateDocument" >
      • <return description="a tool document. (xml form)" type="org.w3c.dom.Document" uitype="XML" />
      • <param description="the application to create the template for" name="applicationName" type="java.net.URI" uitype="URI" />
      • <param description="interface of this application to create a template from." name="interfaceName" type="java.lang.String" uitype="String" />
      </method>
    • <method description="create a template invocation datastucture for a particular application. Examines the registry entry for this application, and constructs a template document containing fields for the required input and output parameters. <br /> The datastructure returned is equivalent to the document returned by <tt>createTemplateDocument(URI, String)</tt> - this is a convenience method for scripting languages with minimal xml abilities.<dl> <dt>See:</dt><dd> #convertStructToDocument(Map), #validate(Document), </dd></dl>" name="createTemplateStruct" >
      • <return description="a tool object (structure)" type="java.util.Map" uitype="Map" />
      • <param description="the application to create the template for" name="applicationName" type="java.net.URI" uitype="URI" />
      • <param description="interface of this application to create a template from." name="interfaceName" type="java.lang.String" uitype="String" />
      </method>
    • <method description="convert a invocation document to a invocation structure. <br /> Translates an invocation document between two equvalent forms - a datastructure and a document<dl> <dt>See:</dt><dd> #convertStructToDocument(Map), </dd></dl>" name="convertDocumentToStruct" >
      • <return description="the equvalent tool structure" type="java.util.Map" uitype="Map" />
      • <param description="a tool document" name="document" type="org.w3c.dom.Document" uitype="XML" />
      </method>
    • <method description="convert a invocation structure to the equivalent document.<dl> <dt>See:</dt><dd> #convertDocumentToStruct(Document), </dd></dl>" name="convertStructToDocument" >
      • <return description="the equivalent tool document" type="org.w3c.dom.Document" uitype="XML" />
      • <param description="a tool structure" name="structure" type="java.util.Map" uitype="Map" />
      </method>
    • <method description="Validate an invocation document against the application's description <br /> Verifies that all required parameters are present.<dl> <dt>See:</dt><dd> #createTemplateDocument(URI, String), </dd></dl>" name="validate" >
      • <return description="" type="java.lang.Void" uitype="void" />
      • <param description="tool document to validate" name="document" type="org.w3c.dom.Document" uitype="XML" />
      </method>
    • <method description="Validate an invocation document (referenced by url) against an application description<dl> <dt>See:</dt><dd> #validate(Document), </dd></dl>" name="validateStored" >
      • <return description="" type="java.lang.Void" uitype="void" />
      • <param description="location of a resource containing the tool document to validate" name="documentLocation" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="list the remote servers that provides a particular application. (It's possible, for CEA especially, that an application may be provided by multiple servers)" name="listServersProviding" >
      • <return description="list of registry summaries of cea servers that support this application" type="org.astrogrid.acr.ivoa.resource.Service[]" uitype="Service[]" />
      • <param description="registry identifier of the application to search servers for." name="applicationId" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="<b>Deprecated: </b>use <tt>RemoteProcessManager#submit(Document)</tt><p /> submit an invocation document for execution.. No particular remote server is specified - the system will select a suitable one.<dl> <dt>See:</dt><dd> #submitStored(URI), #submitTo(Document, URI), </dd></dl>" excluded="true" name="submit" >
      • <return description="a new unique execution id" type="java.net.URI" uitype="URI" />
      • <param description="tool document to execute" name="document" type="org.w3c.dom.Document" uitype="XML" />
      </method>
    • <method description="<b>Deprecated: </b>use <tt>RemoteProcessManager#submitTo(Document, URI)</tt><p /> submit an invocation document for execution on a named remote server.<dl> <dt>See:</dt><dd> #submitStored(URI), #submitStoredTo(URI, URI), </dd></dl>" excluded="true" name="submitTo" >
      • <return description="a new unique execution id" type="java.net.URI" uitype="URI" />
      • <param description="tool document to execute" name="document" type="org.w3c.dom.Document" uitype="XML" />
      • <param description="remote server to execute on" name="server" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="<b>Deprecated: </b>use <tt>RemoteProcessManager#submitStored(URI)</tt><p /> a variant of <tt>submit</tt> where invocation document is stored somewhere and referenced by URI." excluded="true" name="submitStored" >
      • <return description="a new unique execution id" type="java.net.URI" uitype="URI" />
      • <param description="pointer to tool document - may be file:/, http://, ftp:// or ivo:// (myspace) protocols" name="documentLocation" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="<b>Deprecated: </b>use <tt>RemoteProcessManager#submitStoredTo(URI, URI)</tt><p /> variant of <tt>submitTo</tt> where tool document is referenced by URI. * @param documentLocation pointer to tool document - may be file:/, http://, ftp:// or ivo:// (myspace) protocols" excluded="true" name="submitStoredTo" >
      • <return description="a new unique execution id" type="java.net.URI" uitype="URI" />
      • <param description="" name="documentLocation" type="java.net.URI" uitype="URI" />
      • <param description="remote server to execute on" name="server" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="<b>Deprecated: </b>use <tt>RemoteProcessManager#halt(URI)</tt><p /> cancel execution of an application." excluded="true" name="cancel" >
      • <return description="" type="java.lang.Void" uitype="void" />
      • <param description="id of execution to cancel" name="executionId" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="<b>Deprecated: </b>use <tt>RemoteProcessManager#getExecutionInformation(URI)</tt><p /> retrive information about an application execution.<dl> <dt>XMLRPC:</dt><dd> will return a struct containing keys documented in <tt>ExecutionInformation</tt></dd></dl>" excluded="true" name="getExecutionInformation" >
      • <return description="summary of this execution" type="org.astrogrid.acr.astrogrid.ExecutionInformation" uitype="ExecutionInformation" />
      • <param description="id of application to query" name="executionId" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="<b>Deprecated: </b>use <tt>RemoteProcessManager#getResults(URI)</tt><p /> retreive results of the application execution ." excluded="true" name="getResults" >
      • <return description="results of this execution (name - value pairs). Note that this will only be the actual results for <b>direct</b> output parameters. For output parameters specified as <b>indirect</b>, the value returned will be the URI pointing to the location where the results are stored." type="java.util.Map" uitype="Map" />
      • <param description="id of application to query" name="executionid" type="java.net.URI" uitype="URI" />
      </method>
    </component>
  • <component description="AR Service: Single sign-on and authentication. <p/> This implements a facade in front of the evolving IVOA single-sign-on mechanism.<dl> <dt>See:</dt><dd> <a href='http://www.ivoa.net/Documents/latest/SSOAuthMech.html'>IVOA Single-Sign On Specification</a>, </dd></dl>" interface-class="org.astrogrid.acr.astrogrid.Community" name="community" >
    • <method description="login to virtual observatory. <pre><b>Example: </b> login("EdwardWoodward","ewarwoowar","uk.ac.le.star") </pre>" name="login" >
      • <return description="" type="java.lang.Void" uitype="void" />
      • <param description="user name (e.g. <tt>fredbloggs</tt>)" name="username" type="java.lang.String" uitype="String" />
      • <param description="password for this user" name="password" type="java.lang.String" uitype="String" />
      • <param description="community the user is registered with (e.g. <tt>uk.ac.astogrid</tt> )" name="community" type="java.lang.String" uitype="String" />
      </method>
    • <method description="Access information about who the AR is currently logged in as.<dl> <dt>Note:</dt><dd> This method forces login if not already logged in</dd></dl>" name="getUserInformation" >
      • <return description="information about the current user." type="org.astrogrid.acr.astrogrid.UserInformation" uitype="UserInformation" />
      </method>
    • <method description="logout of the virtual observatory" name="logout" >
      • <return description="" type="java.lang.Void" uitype="void" />
      </method>
    • <method description="check whether AR is currently logged in." name="isLoggedIn" >
      • <return description="true if the user is logged in" type="boolean" uitype="boolean" />
      </method>
    • <method description="display the login dialogue to prompt the user for input, and then log in." name="guiLogin" >
      • <return description="" type="java.lang.Void" uitype="void" />
      </method>
    </component>
  • <component description="AR Service: Execute and control workflows on remote job servers.<dl> <dt>See:</dt><dd> <a href="http://www.astrogrid.org/maven/docs/HEAD/jes/userguide-architecture.html">Workflow Userguide</a>, <a href="http://wiki.astrogrid.org/bin/view/Astrogrid/JesScriptingFAQ">Workflow Scripting FAQ</a> <br/>, <a href="http://www.astrogrid.org/maven/docs/HEAD/astrogrid-workflow-objects/schema/Workflow.html">Workflow Schema-Documentation</a>, <a href="http://www.astrogrid.org/maven/docs/HEAD/astrogrid-workflow-objects/schema/ExecutionRecord.html">Execution Record Schema-Document</a>, <a href="http://www.astrogrid.org/viewcvs/astrogrid/workflow-objects/schema/">XSD Schemas</a> <br/>, <a href="doc-files/example-workflow.xml">Example workflow</a>, <a href="doc-files/example-workflow-transcript.xml">Example execution transcript</a>, <a href="doc-files/example-workflow-transcript.html">Html-formatted execution transcript</a> <b/>, org.astrogrid.acr.astrogrid.Applications Information about executing single applications, org.astrogrid.acr.astrogrid.Myspace Information about distributed file storage, org.astrogrid.acr.astrogrid.RemoteProcessManager for more general process management - methods in this class are convenicne wrapper around operations in <tt>RemoteProcessManager</tt> <br/>, org.astrogrid.acr.ui.JobMonitor, org.astrogrid.acr.ui.WorkflowBuilder, org.astrogrid.acr.astrogrid.ExecutionInformation, </dd></dl>" excluded="true" interface-class="org.astrogrid.acr.astrogrid.Jobs" name="jobs" >
    • <method description="list the jobs for the current user." name="list" >
      • <return description="list of identifiers for the user's jobs (both current and completed jobs )" type="java.net.URI[]" uitype="URI[]" />
      </method>
    • <method description="list summaries of the jobs for the current user.<dl> <dt>XMLRPC:</dt><dd> returns a struct. see <tt>ExecutionInformation</tt> for details of keys available.</dd></dl>" name="listFully" >
      • <return description="a beanful of information on each job" type="org.astrogrid.acr.astrogrid.ExecutionInformation[]" uitype="ExecutionInformation[]" />
      </method>
    • <method description="create a new initialized workflow document, suitable as a starting point for building workflows." name="createJob" >
      • <return description="a workflow document - a <tt>workflow</tt> document in the the <tt>http://www.astrogrid.org/schema/AGWorkflow/v1</tt> namespace" type="org.w3c.dom.Document" uitype="XML" />
      </method>
    • <method description="wrap a remote application invocation document, to create a single-step workflow." name="wrapTask" >
      • <return description="a workflow document with a single step that executes the parameter task - a <tt>workflow</tt> document in the the <tt>http://www.astrogrid.org/schema/AGWorkflow/v1</tt> namespace" type="org.w3c.dom.Document" uitype="XML" />
      • <param description="- a task document in the <tt> http://www.astrogrid.org/schema/AGWorkflow/v1</tt> namespace" name="taskDocument" type="org.w3c.dom.Document" uitype="XML" />
      </method>
    • <method description="retrieve the execution transcript for a job.<dl> <dt>XMLRPC:</dt><dd> returns a xml document string</dd></dl>" name="getJobTranscript" >
      • <return description="a workflow transcript document - A <tt>workflow</tt> document in the <tt>http://www.astrogrid.org/schema/AGWorkflow/v1</tt> namespace, annotated with execution information from the <tt>http://www.astrogrid.org/schema/ExecutionRecord/v1</tt> namespace." type="org.w3c.dom.Document" uitype="XML" />
      • <param description="the identifier of the job to retrieve" name="jobURN" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="retrive summary for a job.<dl> <dt>XMLRPC:</dt><dd> returns a struct. see <tt>ExecutionInformation</tt> for details of keys available.</dd></dl>" name="getJobInformation" >
      • <return description="information about this job." type="org.astrogrid.acr.astrogrid.ExecutionInformation" uitype="ExecutionInformation" />
      • <param description="the identifier of the job to summarize" name="jobURN" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="cancel the exeuciton of a running job." name="cancelJob" >
      • <return description="" type="java.lang.Void" uitype="void" />
      • <param description="identifier of the job to cancel." name="jobURN" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="delete all record of a job from the job server." name="deleteJob" >
      • <return description="" type="java.lang.Void" uitype="void" />
      • <param description="identifier of the job to delete" name="jobURN" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="submit a workflow for execution.<dl> <dt>XMLRPC:</dt><dd> pass the workflow parameter as a string</dd></dl>" name="submitJob" >
      • <return description="a unique identifier for this new job" type="java.net.URI" uitype="URI" />
      • <param description="workflow document to submit" name="workflow" type="org.w3c.dom.Document" uitype="XML" />
      </method>
    • <method description="submit a workflow (stored in a file) for execution." name="submitStoredJob" >
      • <return description="a unique identifier for this new job." type="java.net.URI" uitype="URI" />
      • <param description="url refernce to the workflow document to submit (may be file://, http://, ftp:// or ivo:// - a myspace reference.)" name="workflowReference" type="java.net.URI" uitype="URI" />
      </method>
    </component>
  • <component description="<b>Deprecated: </b>use <tt>Manager</tt><p /> AR Service: A distributed file storage system. <p/> Myspace is Astrogrid's prototype implementation of VOSpace. <blockquote><b>Warning: </b>This component just provides access to Myspace files. The <tt>Manager</tt> component provides access to a wider range of filesystems - VOSpace, Myspace, plus FTP and some others. </blockquote><dl> <dt>Note:</dt><dd> All resources in myspace are uniquely identified by a myspace resource identifier - which is an URI of form<br /> <tt>ivo://<i>Community-Id</i>/<i>User-Id</i>#<i>File-Path</i></tt>. <br />However, for convenience methods in this interface also accept an abridged form of reference - <tt>#<i>File-Path</i></tt> - this is resolved relative to the currently logged-in user's homespace. The abridged form is more concise, and means hard-coded file references can be avoided if needed. It also provides a way to future-proof client code against the migration from myspace to vospace.</dd> <dt>See:</dt><dd> #createFile Example of creating a file, #getReadContentURL Example of reading from a file, #getWriteContentURL Example of writing to a file, NodeInformation, MyspaceBrowser Myspace file browser component, ResourceChooser Dialogue for selecting myspace files, </dd></dl>" interface-class="org.astrogrid.acr.astrogrid.Myspace" name="myspace" >
    • <method description="Retrieve the identifier of the current user's home folder in myspace. Each user has a single root folder. this method returns the name of it." name="getHome" >
      • <return description="uri of the home folder - typically has form <tt>ivo://<i>Community-Id</i>/<i>User-Id</i>#</tt>" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="test whether a myspace resource exists." name="exists" >
      • <return description="true if the resource exists" type="boolean" uitype="boolean" />
      • <param description="uri to check (full or abridged form)" name="filename" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="access metadata about a myspace resource. <blockquote><b>Warning: </b>At the moment, this is a costly operation </blockquote><dl> <dt>XMLRPC:</dt><dd> will return a map. see <tt>NodeInformation</tt> for available keys.</dd></dl>" name="getNodeInformation" >
      • <return description="a beanful of information" type="org.astrogrid.acr.astrogrid.NodeInformation" uitype="NodeInformation" />
      • <param description="resource to investigate" name="filename" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="create a new myspace file. Any parent folders that are missing will be created too. <pre><b>Example: </b> "Python Example" # connect to the AR from xmlrpc import Server from os.path import expanduser ar = Server(file(expanduser('~/.astrogrid-desktop')).next().strip() +'xmlrpc') ms = ar.astrogrid.myspace #call this function file = '#votable/a-new-file.vot' if not (ms.exists(file)): ms.createFile(file) </pre> <pre><b>Example: </b> "Java Example" import org.astrogrid.acr.*; import java.net.URI; import org.astrogrid.acr.astrogrid.Myspace; import org.astrogrid.acr.builtin.ACR Finder f = new Finder(); ACR acr = f.find(); Myspace ms = (Myspace)acr.getService(Myspace.class); URI file =new URI("#votable/a-new-file.vot"); if (! ms.exists(file)) { ms.createFile(file) </pre> }" name="createFile" >
      • <return description="" type="java.lang.Void" uitype="void" />
      • <param description="the resource to create." name="filename" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="create a new myspace folder. Any parent folders that are missing will be created too." name="createFolder" >
      • <return description="" type="java.lang.Void" uitype="void" />
      • <param description="the resource to create." name="foldername" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="create a child folder of the specified resource." name="createChildFolder" >
      • <return description="the ivorn of the new folder" type="java.net.URI" uitype="URI" />
      • <param description="parent of the new resource (must be a folder)" name="parentFolder" type="java.net.URI" uitype="URI" />
      • <param description="name of the new folder" name="name" type="java.lang.String" uitype="String" />
      </method>
    • <method description="create a child file of the specified resource." name="createChildFile" >
      • <return description="the ivorn of the new file" type="java.net.URI" uitype="URI" />
      • <param description="parent of the new resource (must be a folder)" name="parentFolder" type="java.net.URI" uitype="URI" />
      • <param description="name of the new file" name="name" type="java.lang.String" uitype="String" />
      </method>
    • <method description="retrieve the ID of the parent of a myspace resource." name="getParent" >
      • <return description="uri of the parent" type="java.net.URI" uitype="URI" />
      • <param description="uri of the resource to find parent for" name="filename" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="list the names of the children (files and folders) of a myspace folder." name="list" >
      • <return description="an array of the names of the contents." type="java.lang.String[]" uitype="String[]" />
      • <param description="uri of the folder to inspect" name="ivorn" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="list the identifiers of the children ( files and folders) of a myspace folder." name="listIvorns" >
      • <return description="an array of the ivorns of the contents." type="java.net.URI[]" uitype="URI[]" />
      • <param description="uri of the folder to inspect" name="ivorn" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="list the node information objects for the children ( files and folders) of a myspace folder. <blockquote><b>Warning: </b>Expensive operation at present.</blockquote>" name="listNodeInformation" >
      • <return description="an array of the node information objects." type="org.astrogrid.acr.astrogrid.NodeInformation[]" uitype="NodeInformation[]" />
      • <param description="uri of the folder to inspect" name="ivorn" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="refresh the metadata held about a myspace resource with the server. <blockquote><b>Note: </b> For performance, metadata about myspace resources is used in a LRU cache. This method forces the ACR to re-query the myspace server about this resource.</blockquote>" name="refresh" >
      • <return description="" type="java.lang.Void" uitype="void" />
      • <param description="resource to refresh" name="ivorn" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="delete a myspace resource." name="delete" >
      • <return description="" type="java.lang.Void" uitype="void" />
      • <param description="uri of the resource to delete" name="ivorn" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="rename a myspace resource." name="rename" >
      • <return description="uri pointing to the renamed resource (original uri may now be invalid)" type="java.net.URI" uitype="URI" />
      • <param description="uri of the resource to renam" name="srcIvorn" type="java.net.URI" uitype="URI" />
      • <param description="new name for this resource" name="newName" type="java.lang.String" uitype="String" />
      </method>
    • <method description="move a myspace resource." name="move" >
      • <return description="uri pointing to the moved resouce (original uri will now be invalid)" type="java.net.URI" uitype="URI" />
      • <param description="ivorn of the resource to move" name="srcIvorn" type="java.net.URI" uitype="URI" />
      • <param description="ivorn of the new parent" name="newParentIvorn" type="java.net.URI" uitype="URI" />
      • <param description="new name for this resource." name="newName" type="java.lang.String" uitype="String" />
      </method>
    • <method description="<b>Deprecated: </b><p /> relocate a myspace resource to a different store. The relocated file remains in the same position in the user's myspace filetree. However, this method moves the data associated with the file from one filestore to another.<dl> <dt>See:</dt><dd> #listStores(), </dd></dl>" excluded="true" name="changeStore" >
      • <return description="" type="java.lang.Void" uitype="void" />
      • <param description="uri of the resource to relocate" name="srcIvorn" type="java.net.URI" uitype="URI" />
      • <param description="uri of the store server to relocat to." name="storeIvorn" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="make a copy of a resource" name="copy" >
      • <return description="uri pointing to the resource copy" type="java.net.URI" uitype="URI" />
      • <param description="uri of the resource to copy" name="srcIvorn" type="java.net.URI" uitype="URI" />
      • <param description="uri of the folder to copy to" name="newParentIvorn" type="java.net.URI" uitype="URI" />
      • <param description="name to copy to" name="newName" type="java.lang.String" uitype="String" />
      </method>
    • <method description="read the content of a myspace resource directly.<dl> <dt>Warning:</dt><dd> not a good idea for large files. in this case use <tt>copyContentToURL(URI, URL) </tt> or <tt>getReadContentURL(URI) </tt></dd></dl>" name="read" >
      • <return description="content of this resource (as a string)" type="java.lang.String" uitype="String" />
      • <param description="resource to read" name="ivorn" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="Write data to a myspace resource.<dl> <dt>Warning:</dt><dd> not a good idea for large files. In this case use <tt>copyURLToContent(URL, URI) </tt></dd></dl>" name="write" >
      • <return description="" type="java.lang.Void" uitype="void" />
      • <param description="resource to write to" name="ivorn" type="java.net.URI" uitype="URI" />
      • <param description="the data to write" name="content" type="java.lang.String" uitype="String" />
      </method>
    • <method description="read the binary content of a myspace resource directly.<dl> <dt>Warning:</dt><dd> not a good idea for large files. in this case use <tt>copyContentToURL(URI, URL) </tt> or <tt>getReadContentURL(URI) </tt></dd></dl>" name="readBinary" >
      • <return description="byte array of the contents of this resource" type="byte[]" uitype="byte[]" />
      • <param description="resource to read" name="ivorn" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="Write binary data to a myspace resource.<dl> <dt>Warning:</dt><dd> not a good idea for large files. In this case use <tt>copyURLToContent(URL, URI) </tt></dd></dl>" name="writeBinary" >
      • <return description="" type="java.lang.Void" uitype="void" />
      • <param description="resource to write to" name="ivorn" type="java.net.URI" uitype="URI" />
      • <param description="the data to write" name="content" type="byte[]" uitype="byte[]" />
      </method>
    • <method description="Compute a URL which can then be read to access the contents (data) of a myspace resource. <pre><b>Example: </b> "Python Example" # connect to the AR from xmlrpc import Server from os.path import expanduser from urllib2 import urlopen ar = Server(file(expanduser('~/.astrogrid-desktop')).next().strip() +'xmlrpc') ms = ar.astrogrid.myspace #get the data url for a myspace file msfile = '#results/datafile.vot' dataUrl = ms.getReadContentURL(msfile) # read from the data url urlFile = urlopen(dataUrl) print urlFile </pre> <pre><b>Example: </b> "Java Example" import org.astrogrid.acr.*; import java.net.URI; import org.astrogrid.acr.astrogrid.Myspace; import org.astrogrid.acr.builtin.ACR Finder f = new Finder(); ACR acr = f.find(); Myspace ms = (Myspace)acr.getService(Myspace.class); URI file =new URI("#results/datafile.vot"); URL dataUrl = ms.getReadContentURL(file); InputStream is = dataUrl.openStream(); // read in data.. </pre>" name="getReadContentURL" >
      • <return description="a url from which the contents of the resource can be read" type="java.net.URL" uitype="URL" />
      • <param description="resource to read" name="ivorn" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="Compute a URL which can then be written to set the contents (i.e. data) of a myspace resource. For the current filestore impleentation the result returned is a <tt>http://</tt> url, to which data should be <b>PUT</b> (not POST). <blockquote><b>Note: </b>After the data has been written to the filestore, the filemanager needs to be notified that the data for this node has changed - by calling <tt>transferCompleted</tt> </blockquote> Here's how to PUT and then notify of completion: <pre><b>Example: </b> "Java Example" import org.astrogrid.acr.*; import java.net.*; import org.astrogrid.acr.astrogrid.Myspace; import org.astrogrid.acr.builtin.ACR Finder f = new Finder(); ACR acr = f.find(); Myspace ms = (Myspace)acr.getService(Myspace.class); URI file =new URI("#results/datafile.vot"); //get the output url URL url = ms.getWriteContentURL(file); HttpURLConnection conn = (HttpURLConnection) url.openConnection() ; conn.setDoOutput(true) ; conn.setRequestMethod("PUT"); // connect conn.connect(); OutputStream os = conn.getOutputStream(); //write the data ... //close os.close(); // important - the URL connection class won't tranfer data unless you ask for a response - this is a nasty gotcha, not clear from the javadocs. conn.getResponseCode() // necessary to force the whole thing to happen ms.transferCompleted(file); // tell the filemanager that the content for this resource has changed. </pre><dl> <dt>See:</dt><dd> #transferCompleted, </dd></dl>" name="getWriteContentURL" >
      • <return description="a url to which the contents of the resource can be written" type="java.net.URL" uitype="URL" />
      • <param description="resource to write to" name="ivorn" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="Notify the filemanager server that the data for a filestore node has been changed. This method must be called after storing data in a myspace file via the URL returned by <tt>getWriteContentURL</tt>. There's no need to call this method when storing data using any other method<dl> <dt>See:</dt><dd> #getWriteContentURL, </dd></dl>" name="transferCompleted" >
      • <return description="" type="java.lang.Void" uitype="void" />
      • <param description="the myspace resource just written to" name="ivorn" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="Copy the contents (data) of a resource out of myspace into a URL location." name="copyContentToURL" >
      • <return description="" type="java.lang.Void" uitype="void" />
      • <param description="the myspace resource to write out" name="ivorn" type="java.net.URI" uitype="URI" />
      • <param description="a writable URL - file:/, http:/ or ftp:/ protocol" name="destination" type="java.net.URL" uitype="URL" />
      </method>
    • <method description="Copy the contents (data) of a URL location into a myspace resource" name="copyURLToContent" >
      • <return description="" type="java.lang.Void" uitype="void" />
      • <param description="url to read data from - file:/, http:/ or ftp:/ protocol." name="src" type="java.net.URL" uitype="URL" />
      • <param description="the myspace resource to store the data in." name="ivorn" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="<b>Deprecated: </b><p /> List the available filestores<dl> <dt>See:</dt><dd> #changeStore, </dd></dl>" excluded="true" name="listStores" >
      • <return description="an array of service descriptions." type="org.astrogrid.acr.ivoa.resource.Service[]" uitype="Service[]" />
      </method>
    </component>
  • <component description="AR Service: A general manager for the execution , monitoring, and control of all remote processes. RemoteProcessManager unifies the functionality in <tt>org.astrogrid.acr.astrogrid.Jobs</tt> and <tt>org.astrogrid.acr.astrogrid.Applications</tt> and provides additional features - notably ability to register callbacks for progress notifications. It is still valid to use the <tt>Jobs</tt> or <tt>Applications</tt>, however, this interface also knows how to invoke other kinds of service, and provides a uniform interface to cea, cone, siap, ssap services.<dl> <dt>Note:</dt><dd> As JES is no longer supported, and we no longer provide cea-style querying of cone and siap, maybe this interface should be retired?</dd></dl>" interface-class="org.astrogrid.acr.astrogrid.RemoteProcessManager" name="processManager" >
    • <method description="list current remote processes belonging to the current user" name="list" >
      • <return description="list of identifiers for the user's remote processes that are currently being managed by AR" type="java.net.URI[]" uitype="URI[]" />
      </method>
    • <method description="Submit a document for execution. No particular server is specified - the system will choose a suitable server.<dl> <dt>See:</dt><dd> #submitStored(URI), #submitTo(Document, URI), </dd></dl>" name="submit" >
      • <return description="a new unique execution id" type="java.net.URI" uitype="URI" />
      • <param description="the document to execute - a program / script / workflow / tool document" name="document" type="org.w3c.dom.Document" uitype="XML" />
      </method>
    • <method description="Submit a document for execution on a named server<dl> <dt>See:</dt><dd> #submitStored(URI), #submitStoredTo(URI, URI), </dd></dl>" name="submitTo" >
      • <return description="a new unique execution id" type="java.net.URI" uitype="URI" />
      • <param description="the document to execute - a workflow, cea task, etc" name="document" type="org.w3c.dom.Document" uitype="XML" />
      • <param description="server to execute on" name="server" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="variant of <tt>submit</tt> where document is stored somewhere and referenced by URI" name="submitStored" >
      • <return description="a new unique execution id" type="java.net.URI" uitype="URI" />
      • <param description="pointer to document - may be file:/, http://, ftp:// or ivo:// (myspace) protocols" name="documentLocation" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="variant of <tt>submitTo</tt> where document is referenced by URL * @param documentLocation pointer to tool document - may be file:/, http://, ftp:// or ivo:// (myspace) protocols" name="submitStoredTo" >
      • <return description="a new unique execution id" type="java.net.URI" uitype="URI" />
      • <param description="" name="documentLocation" type="java.net.URI" uitype="URI" />
      • <param description="to execute on" name="server" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="halt execution of a process" name="halt" >
      • <return description="" type="java.lang.Void" uitype="void" />
      • <param description="id of execution to cancel" name="executionId" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="delete all record of a process" name="delete" >
      • <return description="" type="java.lang.Void" uitype="void" />
      • <param description="identifier of the process to delete" name="executionId" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="get information about an process execution<dl> <dt>XMLRPC:</dt><dd> will return a struct containing keys documented in <tt>ExecutionInformation</tt></dd></dl>" name="getExecutionInformation" >
      • <return description="summary of this execution" type="org.astrogrid.acr.astrogrid.ExecutionInformation" uitype="ExecutionInformation" />
      • <param description="id of application to query" name="executionId" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="return the messages received from a remote process<dl> <dt>XMLRPC:</dt><dd> will return a list of structs containing keys documented in {@ExecutionMessage}</dd></dl>" name="getMessages" >
      • <return description="an array of all messages received from process" type="org.astrogrid.acr.astrogrid.ExecutionMessage[]" uitype="ExecutionMessage[]" />
      • <param description="id of process to query/" name="executionId" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="Retreive results of the application execution" name="getResults" >
      • <return description="results of this execution (name - value pairs). Note that this will only be the actual results for <b>direct</b> output parameters. For output parameters specified as <b>indirect</b>, the value returned will be the URI pointing to the location where the results are stored." type="java.util.Map" uitype="Map" />
      • <param description="id of application to query" name="executionid" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="convenience method to retreive a single result from an application executioin. equaivalent to <tt>getResults(execId).get(resultName)</tt>, but may be more convenient from some scripting languages, or cases where there's only a single result returned." name="getSingleResult" >
      • <return description="a result. Never null." type="java.lang.String" uitype="String" />
      • <param description="id of the application to query" name="executionId" type="java.net.URI" uitype="URI" />
      • <param description="name of the result to return. If the name is null or unrecognized AND this application only returns one result, that is returned." name="resultName" type="java.lang.String" uitype="String" />
      </method>
    </component>
  • <component description="AR Service: Query for <b>Time series data</b> from Simple Time Access Protocol (STAP) services (DAL). <p /> <blockquote><b>Note: </b>This class provides functions to construct a DAL query. To execute that query, see the examples and methods in the <tt>Dal</tt> class. </blockquote> <h2>Example</h2> The following example constructs a queryURL, performs the query, and then downloads the first of the resulting datasets. See <tt>Dal</tt> for other things that can be done with a query URL. <pre><b>Example: </b> "Query a Stap service and download a subset of the data (Python)" # connect to the AR from xmlrpc import Server, DateTime from os.path import expanduser ar = Server(file(expanduser('~/.astrogrid-desktop')).next().strip() +'xmlrpc') stap = ar.ivoa.stap #take a reference to the AR STAP component #the STAP service to query (selected using voexplorer) service = "ivo://mssl.ucl.ac.uk/stap-lasco" #build a query start = DateTime('20000101T00:00:00') end = DateTime('20000102T00:00:00') query = stap.constructQuery(service,start,end) print "QueryURL",query #execute the query rows = stap.execute(query) #inspect what we've got. print "Rows Returned",len(rows) import pprint pprint.pprint(rows[0]) #download first datasets into current directory #compute url for current directory from urlparse import urlunsplit from os import getcwd currentDirURL = urlunsplit(['file','',getcwd(),'','']) print "Downloading data to",currentDirURL stap.saveDatasetsSubset(query,currentDirURL,[0]) </pre> The output from this script is shown below. <pre> QueryURL http://msslxx.mssl.ucl.ac.uk:8080/stap-lasco/StapSearch?service=astrogrid_stap&START=2000-01-01T00%3A00%3A00&END=2000-01-02T00%3A00%3A00 Rows Returned 3 {'Concept': ' Coronal Mass Ejection', 'Contact Email': ' eca@mssl.ucl.ac.uk', 'Contact Name': ' Elizabeth Auden', 'INST_ID': 'SOHO_LASCO', 'IVORN': 'ivo://mssl.ucl.ac.uk/LASCO#LASCO20000101T065405_21', 'Name': ' LASCO_20000101T065405_21', 'Parameters': ' Central Position Angle=21 deg, Angular Width=76 deg, Linear Speed=337 km/s, Acceleration=8.8 m/s^2, Mass=5.0e+15 g, Kinetic Energy=2.8e+30 erg, Measurement Position Angle=11 deg', 'References': ' C2 movie=http://lasco-www.nrl.navy.mil/daily_mpg/2000_01/000101_c2.mpg, C3 movie=http://lasco-www.nrl.navy.mil/daily_mpg/2000_01/000101_c3.mpg, SXT movie=http://cdaw.gsfc.nasa.gov/CME_list/daily_mpg/2000_01/sxt_almg.20000101.mpg, PHTX movie=http://cdaw.gsfc.nasa.gov/CME_list/daily_plots/sephtx/2000_01/sephtx.20000101.png, Java movie=http://cdaw.gsfc.nasa.gov/CME_list/daily_movies/2000/01/01, C2 movie / GOES light curve=http://cdaw.gsfc.nasa.gov/CME_list/UNIVERSAL/2000_01/jsmovies/2000_01/20000', 'VOX:AccessReference': ' http://msslxx.mssl.ucl.ac.uk:8080/voevent/xml/LASCO/LASCO_20000101T065405_21.xml', 'VOX:Format': 'VOEVENT', 'meta': 'LASCO CME VOEvents', 'meta.curation': 'CDAW (NASA/Goddard), via MSSL query', 'meta.ref.url': 'http://cdaw.gsfc.nasa.gov/CME_list/', 'meta.title': 'LASCO CMEs', 'time.obs.end': '2000-01-01T06:54:05', 'time.obs.start': '2000-01-01T06:54:05'} Downloading data to file:///Users/noel/Documents/workspace/python </pre><dl> <dt>See:</dt><dd> <a href="http://wiki.astrogrid.org/bin/view/Astrogrid/SimpleTimeAccessProtocol">Proposed STAP Standard</a>, Dal, Sesame Sesame - resolves object names to RA,Dec positions, #getRegistryXQuery() getRegistryXQuery() - a query to list all STAP Services., </dd></dl>" interface-class="org.astrogrid.acr.astrogrid.Stap" name="stap" >
    • <method description="Construct a STAP Query on Time." name="constructQuery" >
      • <return description="A query URL. The query can then be performed by either <ul> <li> programmatically performing a HTTP GET on the query URL </li> <li> passing the query URL to one of the <tt>Dal</tt> <tt>execute</tt> methods - such as <tt>executeAndSave(URL, URI)</tt> </li> </ul>" type="java.net.URL" uitype="URL" />
      • <param description="Resource Identifier <i>or</i> URL of the Service to query. <i>Prefer providing a Resource Identifier, as this insulates against changes in service endpoint</i>. <blockquote><dl> <dt>Resource Identifier</dt><dd> The resource ID of the STAP service to query, as returned by <tt>Resource#getId()</tt>. Example: <tt>ivo://mssl.ucl.ac.uk/stap-hinode-eis_2</tt> <br/>The <tt>Registry</tt> will be queried to resolve the resource ID into a <tt>Resource</tt> object, from which the <tt>StapCapability</tt> will be found, from which in turn the first <tt>AccessURL</tt> will be used. </dd> <dt>URL of the Service</dt><dd> The endpoint URL. Can be any <tt>http://</tt> URL. </dd> </dl></blockquote>" name="service" type="java.net.URI" uitype="URI" />
      • <param description="start date and time" name="start" type="java.util.Date" uitype="Date" />
      • <param description="end date and time" name="end" type="java.util.Date" uitype="Date" />
      </method>
    • <method description="Construct a STAP Query on Time and Format." name="constructQueryF" >
      • <return description="A query URL. The query can then be performed by either <ul> <li> programmatically performing a HTTP GET on the query URL </li> <li> passing the query URL to one of the <tt>Dal</tt> <tt>execute</tt> methods - such as <tt>executeAndSave(URL, URI)</tt> </li> </ul>" type="java.net.URL" uitype="URL" />
      • <param description="Resource Identifier <i>or</i> URL of the Service to query. <i>Prefer providing a Resource Identifier, as this insulates against changes in service endpoint</i>. <blockquote><dl> <dt>Resource Identifier</dt><dd> The resource ID of the STAP service to query, as returned by <tt>Resource#getId()</tt>. Example: <tt>ivo://mssl.ucl.ac.uk/stap-hinode-eis_2</tt> <br/>The <tt>Registry</tt> will be queried to resolve the resource ID into a <tt>Resource</tt> object, from which the <tt>StapCapability</tt> will be found, from which in turn the first <tt>AccessURL</tt> will be used. </dd> <dt>URL of the Service</dt><dd> The endpoint URL. Can be any <tt>http://</tt> URL. </dd> </dl></blockquote>" name="service" type="java.net.URI" uitype="URI" />
      • <param description="start date and time" name="start" type="java.util.Date" uitype="Date" />
      • <param description="end date and time" name="end" type="java.util.Date" uitype="Date" />
      • <param description="format of images or time series data e.g. <tt>ALL</tt>" name="format" type="java.lang.String" uitype="String" />
      </method>
    • <method description="Construct a STAP Query on Time and Position" name="constructQueryP" >
      • <return description="A query URL. The query can then be performed by either <ul> <li> programmatically performing a HTTP GET on the query URL </li> <li> passing the query URL to one of the <tt>Dal</tt> <tt>execute</tt> methods - such as <tt>executeAndSave(URL, URI)</tt> </li> </ul>" type="java.net.URL" uitype="URL" />
      • <param description="Resource Identifier <i>or</i> URL of the Service to query. <i>Prefer providing a Resource Identifier, as this insulates against changes in service endpoint</i>. <blockquote><dl> <dt>Resource Identifier</dt><dd> The resource ID of the STAP service to query, as returned by <tt>Resource#getId()</tt>. Example: <tt>ivo://mssl.ucl.ac.uk/stap-hinode-eis_2</tt> <br/>The <tt>Registry</tt> will be queried to resolve the resource ID into a <tt>Resource</tt> object, from which the <tt>StapCapability</tt> will be found, from which in turn the first <tt>AccessURL</tt> will be used. </dd> <dt>URL of the Service</dt><dd> The endpoint URL. Can be any <tt>http://</tt> URL. </dd> </dl></blockquote>" name="service" type="java.net.URI" uitype="URI" />
      • <param description="start date and time" name="start" type="java.util.Date" uitype="Date" />
      • <param description="end date and time" name="end" type="java.util.Date" uitype="Date" />
      • <param description="right ascension e.g <tt>6.950</tt>" name="ra" type="double" uitype="double" />
      • <param description="declination e.g. <tt>-1.6</tt>" name="dec" type="double" uitype="double" />
      • <param description="radius of cone e.g. <tt>0.1</tt>" name="size" type="double" uitype="double" />
      </method>
    • <method description="Construct a STAP Query on Time, Position and Format" name="constructQueryPF" >
      • <return description="A query URL. The query can then be performed by either <ul> <li> programmatically performing a HTTP GET on the query URL </li> <li> passing the query URL to one of the <tt>Dal</tt> <tt>execute</tt> methods - such as <tt>executeAndSave(URL, URI)</tt> </li> </ul>" type="java.net.URL" uitype="URL" />
      • <param description="Resource Identifier <i>or</i> URL of the Service to query. <i>Prefer providing a Resource Identifier, as this insulates against changes in service endpoint</i>. <blockquote><dl> <dt>Resource Identifier</dt><dd> The resource ID of the STAP service to query, as returned by <tt>Resource#getId()</tt>. Example: <tt>ivo://mssl.ucl.ac.uk/stap-hinode-eis_2</tt> <br/>The <tt>Registry</tt> will be queried to resolve the resource ID into a <tt>Resource</tt> object, from which the <tt>StapCapability</tt> will be found, from which in turn the first <tt>AccessURL</tt> will be used. </dd> <dt>URL of the Service</dt><dd> The endpoint URL. Can be any <tt>http://</tt> URL. </dd> </dl></blockquote>" name="service" type="java.net.URI" uitype="URI" />
      • <param description="start date and time" name="start" type="java.util.Date" uitype="Date" />
      • <param description="end date and time" name="end" type="java.util.Date" uitype="Date" />
      • <param description="right ascension e.g <tt>6.950</tt>" name="ra" type="double" uitype="double" />
      • <param description="declination e.g. <tt>-1.6</tt>" name="dec" type="double" uitype="double" />
      • <param description="radius of cone e.g. <tt>0.1</tt>" name="size" type="double" uitype="double" />
      • <param description="format of images or time series data e.g. <tt>ALL</tt>" name="format" type="java.lang.String" uitype="String" />
      </method>
    • <method description="Construct a STAP Query on Time and full Position" name="constructQueryS" >
      • <return description="A query URL. The query can then be performed by either <ul> <li> programmatically performing a HTTP GET on the query URL </li> <li> passing the query URL to one of the <tt>Dal</tt> <tt>execute</tt> methods - such as <tt>executeAndSave(URL, URI)</tt> </li> </ul>" type="java.net.URL" uitype="URL" />
      • <param description="Resource Identifier <i>or</i> URL of the Service to query. <i>Prefer providing a Resource Identifier, as this insulates against changes in service endpoint</i>. <blockquote><dl> <dt>Resource Identifier</dt><dd> The resource ID of the STAP service to query, as returned by <tt>Resource#getId()</tt>. Example: <tt>ivo://mssl.ucl.ac.uk/stap-hinode-eis_2</tt> <br/>The <tt>Registry</tt> will be queried to resolve the resource ID into a <tt>Resource</tt> object, from which the <tt>StapCapability</tt> will be found, from which in turn the first <tt>AccessURL</tt> will be used. </dd> <dt>URL of the Service</dt><dd> The endpoint URL. Can be any <tt>http://</tt> URL. </dd> </dl></blockquote>" name="service" type="java.net.URI" uitype="URI" />
      • <param description="start date and time" name="start" type="java.util.Date" uitype="Date" />
      • <param description="end date and time" name="end" type="java.util.Date" uitype="Date" />
      • <param description="right ascension e.g <tt>6.950</tt>" name="ra" type="double" uitype="double" />
      • <param description="declination e.g. <tt>-1.6</tt>" name="dec" type="double" uitype="double" />
      • <param description="size of ra e.g. <tt>0.1</tt>" name="ra_size" type="double" uitype="double" />
      • <param description="size of dec e.g. <tt>0.2</tt>" name="dec_size" type="double" uitype="double" />
      </method>
    • <method description="Construct a STAP Query on Time, full Position, and Format" name="constructQuerySF" >
      • <return description="A query URL. The query can then be performed by either <ul> <li> programmatically performing a HTTP GET on the query URL </li> <li> passing the query URL to one of the <tt>Dal</tt> <tt>execute</tt> methods - such as <tt>executeAndSave(URL, URI)</tt> </li> </ul>" type="java.net.URL" uitype="URL" />
      • <param description="Resource Identifier <i>or</i> URL of the Service to query. <i>Prefer providing a Resource Identifier, as this insulates against changes in service endpoint</i>. <blockquote><dl> <dt>Resource Identifier</dt><dd> The resource ID of the STAP service to query, as returned by <tt>Resource#getId()</tt>. Example: <tt>ivo://mssl.ucl.ac.uk/stap-hinode-eis_2</tt> <br/>The <tt>Registry</tt> will be queried to resolve the resource ID into a <tt>Resource</tt> object, from which the <tt>StapCapability</tt> will be found, from which in turn the first <tt>AccessURL</tt> will be used. </dd> <dt>URL of the Service</dt><dd> The endpoint URL. Can be any <tt>http://</tt> URL. </dd> </dl></blockquote>" name="service" type="java.net.URI" uitype="URI" />
      • <param description="start date and time" name="start" type="java.util.Date" uitype="Date" />
      • <param description="end date and time" name="end" type="java.util.Date" uitype="Date" />
      • <param description="right ascension e.g <tt>6.950</tt>" name="ra" type="double" uitype="double" />
      • <param description="declination e.g. <tt>-1.6</tt>" name="dec" type="double" uitype="double" />
      • <param description="size of ra e.g. <tt>0.1</tt>" name="ra_size" type="double" uitype="double" />
      • <param description="size of dec e.g. <tt>0.2</tt>" name="dec_size" type="double" uitype="double" />
      • <param description="format of images or time series data e.g. <tt>ALL</tt>" name="format" type="java.lang.String" uitype="String" />
      </method>
    • <method description="Add an additional option to a previously constructed query. <p/> Sometimes neccessary, for some DAL protocols, to provide optional query parameters." name="addOption" >
      • <return description="<tt>query</tt> with the option appended." type="java.net.URL" uitype="URL" />
      • <param description="the query url" name="query" type="java.net.URL" uitype="URL" />
      • <param description="name of the option to add" name="optionName" type="java.lang.String" uitype="String" />
      • <param description="value for the new option" name="optionValue" type="java.lang.String" uitype="String" />
      </method>
    • <method description="Execute a DAL query, returning a datastructure<dl> <dt>Note:</dt><dd> When querying a SIAP service, the result uses keys drawn from the SIAP dataset datamodel</dd></dl>" name="execute" >
      • <return description="The service response parsed as a list of of rows. Each row is represented is a map between UCD or datamodel keys and values from the response" type="java.util.Map[]" uitype="Map[]" />
      • <param description="query url to execute" name="query" type="java.net.URL" uitype="URL" />
      </method>
    • <method description="Execute a DAL query, returning a Votable document.<dl> <dt>Note:</dt><dd> This is a convenience method that just performs a 'GET' on the query url. Many programming languages support this functionality internally.</dd></dl>" name="executeVotable" >
      • <return description="a votable document." type="org.w3c.dom.Document" uitype="XML" />
      • <param description="query url to execute" name="query" type="java.net.URL" uitype="URL" />
      </method>
    • <method description="<b>Deprecated: </b>- use executeVotable()<p /> " excluded="true" name="getResults" >
      • <return description="" type="org.w3c.dom.Document" uitype="XML" />
      • <param description="" name="url" type="java.net.URL" uitype="URL" />
      </method>
    • <method description="Execute a DAL query and save the resulting document.<dl> <dt>Note:</dt><dd> in the case of saving to myspace, the myspace server performs the query - the data does not pass through the user's computer.</dd> <dt>See:</dt><dd> Systems#listSchemes() List of supported URI schemes for <tt>saveLocation</tt>, </dd></dl>" name="executeAndSave" >
      • <return description="" type="java.lang.Void" uitype="void" />
      • <param description="query url to execute" name="query" type="java.net.URL" uitype="URL" />
      • <param description="location to save result document - For example a <tt>file:/</tt>, <tt>ivo://</tt> (myspace), <tt>ftp://</tt> location" name="saveLocation" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="<b>Deprecated: </b>- use executeAndSave()<p /> " excluded="true" name="saveResults" >
      • <return description="" type="java.lang.Void" uitype="void" />
      • <param description="" name="url" type="java.net.URL" uitype="URL" />
      • <param description="" name="saveLocation" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="Execute a DAL query, and save the datasets referenced by the response. <p /> Applies to those DAL protocols (<tt>Siap</tt>, <tt>Ssap</tt>, <tt>Stap</tt>) where the response points to external data files.<dl> <dt>Note:</dt><dd> In the case of saving to myspace or vospace, the myspace server performs the query and dataset download - the data does not pass through the user's computer.</dd> <dt>See:</dt><dd> Siap Example of Use, Systems#listSchemes() List of supported URI schemes for <tt>saveLocation</tt>, </dd></dl>" name="saveDatasets" >
      • <return description="number of datasets saved." type="int" uitype="int" />
      • <param description="query url to execute" name="query" type="java.net.URL" uitype="URL" />
      • <param description="location of a directory in which to save the datasets. May be any of the filesystem types listed in <tt>Systems#listSchemes()</tt>." name="saveLocation" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="Execute a DAL query, and save a subset of the datasets referenced by the response. <p /> Applies to those DAL protocols (<tt>Siap</tt>, <tt>Ssap</tt>, <tt>Stap</tt>) where the response points to external data files.<dl> <dt>Note:</dt><dd> in the case of saving to myspace or vospace, the myspace server performs the query and dataset download - the data does not pass through the user's computer.</dd> <dt>See:</dt><dd> Systems#listSchemes() List of supported URI schemes for <tt>saveLocation</tt>, </dd></dl>" name="saveDatasetsSubset" >
      • <return description="number of datasets saved." type="int" uitype="int" />
      • <param description="the DAL query" name="query" type="java.net.URL" uitype="URL" />
      • <param description="location of a directory in which to save the datasets. May be any of the filesystem types listed in <tt>Systems#listSchemes()</tt>." name="saveLocation" type="java.net.URI" uitype="URI" />
      • <param description="list of Integers - indexes of the rows in the query response for which to save the dataset. (0= first row)" name="rows" type="java.util.List" uitype="List" />
      </method>
    • <method description="Returns a SRQL query that, when passed to the registry, will return all know services of that type. <br/> can be used as a starting point for filters, etc. <blockquote><b>Warning: </b>In the case of <tt>Cone</tt> the registry query will return far too many to be useful - it is necessary to use this xquery as a starting point for building a more tightly-constrained query.</blockquote> <pre><b>Example: </b> "Example of querying for cone services related to 'dwarf'" # connect to the AR from xmlrpc import Server from os.path import expanduser ar = Server(file(expanduser('~/.astrogrid-desktop')).next().strip() +'xmlrpc') #call this method to get a query to list all Cone-search services. coneQuery = ar.ivoa.cone.getRegistryQuery() #combine it into a more tightly contrained query myQuery = coneQuery + ' and subject=dwarf' # perform the query rs = ar.ivoa.registry.searcg(myQuery) #inspect the results print len(rs) for r in rs: print r['id'] </pre><dl> <dt>See:</dt><dd> <a href='http://eurovotech.org/twiki/bin/view/VOTech/SimpleRegistryQueryLanguage'>SRQL Language Description</a>, #getRegistryXQuery() alternative that returns an XQuery, </dd></dl>" name="getRegistryQuery" >
      • <return description="a SRQL query string" type="java.lang.String" uitype="String" />
      </method>
    • <method description="<b>Deprecated: </b><p /> helper method - returns an ADQL/s query that should be passed to a registry to list all available DAL services of this type. <br/> can be used as a starting point for filters, etc." excluded="true" name="getRegistryAdqlQuery" >
      • <return description="an adql query string" type="java.lang.String" uitype="String" />
      </method>
    • <method description="Return an XQuery that, when passed to the registry, will return all known services of that type. <blockquote><b>Warning: </b>In the case of <tt>Cone</tt> the registry query will return far too many to be useful - it is necessary to use this xquery as a starting point for building a more tightly-constrained query.</blockquote> <pre><b>Example: </b> "Example of querying for cone services related to 'dwarf'" # connect to the AR from xmlrpc import Server from os.path import expanduser ar = Server(file(expanduser('~/.astrogrid-desktop')).next().strip() +'xmlrpc') #call this method to get a query to list all Cone-search services. coneQuery = ar.ivoa.cone.getRegistryXQuery() #combine it into a more tightly contrained query myQuery = "let $cq := " + coneQuery + """ for $r in $cq where contains($r/content/subject,'dwarf') return $r """ # perform the query rs = ar.ivoa.registry.xquerySearch(myQuery) #inspect the results print len(rs) for r in rs: print r['id'] </pre> the output of this script is <pre> 2 ivo://nasa.heasarc/rasswd ivo://nasa.heasarc/mcksion </pre><dl> <dt>See:</dt><dd> #getRegistryQuery() alternative that returns a SRQL query., <a href="http://www.w3schools.com/xquery/default.asp">XQuery Language Tutorial</a>, </dd></dl>" name="getRegistryXQuery" >
      • <return description="an xquery string" type="java.lang.String" uitype="String" />
      </method>
    </component>
</acr-module>
Contribution from module builtin
<acr-module description="intrinsic services that all others depend upon." name="builtin" >
  • <component description="AR Service: Create and manage sessions. <p/> When using the Astro Runtime in a multi-user or server-side setting, it may be necessary to have more than one user simultaneously interacting with the AR. Without some additional mechanism, all users would share the same authentication and program state - in particular, 2 users could not be simultaneously logged in as different identities. <p/> The <tt>SessionManager</tt> allows the programmer to create new <i>sessions</i>. Each user session contains the authentication and program state of a single user. More than one session may exist simultaneously within the AR, and the state within sessions are isolated from each other. By creating a new session for each user, multiple users with different identities can access a single AR. </p> By default, all AR api calls are made within the <i>default session</i>. The connection properties for this session are described in <tt>~/.astrogrid-properties</tt> (for XMLRPC & HTTP) and this is the session that RMI clients connect to automatically using the <tt>Finder</tt>. <p/> From the default session, a <i>new</i> user session can be created by calling <tt>createNewSession(long)</tt>. A unique <i>session identifier</i> is returned. A session can be checked for availability using <tt>exists(String)</tt> and disposed of using <tt>dispose(String)</tt>. <p/> Once a session has been created, it must be <i>connected</i> to. The connection method depends on how the AR is being accessed: <dl> <dt>XMLRPC<dt> <dd>Pass the session identifier to <tt>findXmlRpcSession(String)</tt>, which returns a URL that can then be connected to using an XMLRPC library</dd> <dt>HTTP</dt> <dd>Pass the session identifier to <tt>findHttpSession(String)</tt>, which returns the base URL for performing HTTP function calls in this session</dd> <dt>RMI</dt> <dd>Pass the session identifier to <tt>Finder#findSession(String)</tt>, which returns an instance of <tt>ACR</tt> for this session</dd> </dl> No matter how the session is accessed, it presents an unaltered AR API - it's just that user authentication and state is isolated from other sessions. Not all data is isolated - in particular cached information (such as registry entries), and configuration settings (accessed from <tt>Configuration</tt>) are shared between all sessions. <blockquote><b>Warning: </b>This session manager does not make any strong guarantees about security - the purpose of this feature is to enable multiple user identities within the same AR - not to enforce strict isolation between users of the same AR. In particular, all clients of the AR must first use the default user session to create a new session, and it may also be possible to determine how to connect to other sessions - hence it is recommended that all clients connecting to the AR are mutually trusting. </blockquote> <pre><b>Example: </b> "Python XMLRPC Example" # connect to the AR (in the default session) from xmlrpc import Server from os.path import expanduser ar = Server(file(expanduser('~/.astrogrid-desktop')).next().strip() +'xmlrpc') sm = ar.builtin.sessionManager # create a new user session (with timeout of 10 mins) sessID = sm.createNewSession(10) #find xmlrpc endpoint for the new session sessURL = sm.findXmlRpcSession(sessID) #connect to the new session sessAR = Server(sessURL) #work within the neww session sessAR.astrogrid.community.login("username","password","community") ... </pre>" interface-class="org.astrogrid.acr.builtin.SessionManager" name="sessionManager" >
    • <method description="create a new session." name="createNewSession" >
      • <return description="a sessionId - an identifier for the newly created session." type="java.lang.String" uitype="String" />
      • <param description="number of minutes that this session can be inactive before it is disposed." name="inactivityTimeout" type="long" uitype="long" />
      </method>
    • <method description="check whether a session exists and is accessible" name="exists" >
      • <return description="" type="boolean" uitype="boolean" />
      • <param description="" name="sessionId" type="java.lang.String" uitype="String" />
      </method>
    • <method description="dispose of a session.<dl> <dt>Note:</dt><dd> Once disposed of, a session cannot be connected to.</dd></dl>" name="dispose" >
      • <return description="" type="java.lang.Void" uitype="void" />
      • <param description="a sessionId that currently exists. If this is the id of the default session, nothing happens." name="sessionId" type="java.lang.String" uitype="String" />
      </method>
    • <method description="Find the endpoint to connect to a session using XML-RPC" name="findXmlRpcSession" >
      • <return description="a full URL that an XML-RPC client should connect to to work with this session. No further manipulation of this URL is required." type="java.net.URL" uitype="URL" />
      • <param description="an existing sessionId" name="sessionId" type="java.lang.String" uitype="String" />
      </method>
    • <method description="Find the endpoint to connect to a session using HTTP" name="findHttpSession" >
      • <return description="a URL that should be used as the <b>base</b> for HTTP invocations of the services in this session." type="java.net.URL" uitype="URL" />
      • <param description="an existing sessionId" name="sessionId" type="java.lang.String" uitype="String" />
      </method>
    </component>
  • <component description="AR Service: Halts the Astro Runtime" interface-class="org.astrogrid.acr.builtin.Shutdown" name="shutdown" >
    • <method description="Bring the AstroRuntime to a graceful halt.<dl> <dt>Note:</dt><dd> notifies all listeners, and if there's any objections displays a prompt for the user to acknowledge then calls <tt>reallyHalt</tt></dd> <dt>See:</dt><dd> ShutdownListener#lastChance(), </dd></dl>" name="halt" >
      • <return description="" type="java.lang.Void" uitype="void" />
      </method>
    • <method description="Bring the AstroRuntime to a graceful halt, ignoring any objections from clients. still notifies all listeners that the system is shutting down<dl> <dt>Warning:</dt><dd> Use this method with care - prefer <tt>halt</tt> when there's a chance that the ACR has other clients</dd> <dt>See:</dt><dd> ShutdownListener#halting(), </dd></dl>" name="reallyHalt" >
      • <return description="" type="java.lang.Void" uitype="void" />
      </method>
    </component>
</acr-module>
Contribution from module cds
<acr-module description="Access to services provided by Centre de Donnees astronomiques de Strasbourg" name="cds" >
  • <component description="AR Service: Astronomical Coordinate Web Service, from CDS.<dl> <dt>See:</dt><dd> <a href='http://cdsweb.u-strasbg.fr/cdsws/astroCoo.gml'>Webservice Description</a>, </dd></dl>" interface-class="org.astrogrid.acr.cds.Coordinate" name="coordinate" >
    • <method description="convert a coordinate" name="convert" >
      • <return description="a String like 03 45 14.3838 +47 58 07.990 (J2000.0)" type="java.lang.String" uitype="String" />
      • <param description="(10.0)" name="x" type="double" uitype="double" />
      • <param description="(15.0)" name="y" type="double" uitype="double" />
      • <param description="(20.0)" name="z" type="double" uitype="double" />
      • <param description="(0=NONE, 1=DEG, 3=ARCMIN, 5=ARCSEC, 8=MAS)" name="precision" type="int" uitype="int" />
      </method>
    • <method description="convert a longitude-lattitude coordinate" name="convertL" >
      • <return description="a String like 04 21 34. +53 32.5 (J2000.0)" type="java.lang.String" uitype="String" />
      • <param description="(12.0)" name="lon" type="double" uitype="double" />
      • <param description="(45.0)" name="lat" type="double" uitype="double" />
      • <param description="(0=NONE, 1=DEG, 3=ARCMIN, 5=ARCSEC, 8=MAS)" name="precision" type="int" uitype="int" />
      </method>
    • <method description="convert a coordinate, considering equinox" name="convertE" >
      • <return description="a String like 150.4806267 -05.3873952 (Gal)" type="java.lang.String" uitype="String" />
      • <param description="(1=FK4, 2=GAL, 3=SGAL, 4=ECL, 5=FK5, 6=ICRS)" name="frame1" type="int" uitype="int" />
      • <param description="(1=FK4, 2=GAL, 3=SGAL, 4=ECL, 5=FK5, 6=ICRS)" name="frame2" type="int" uitype="int" />
      • <param description="(10.0)" name="x" type="double" uitype="double" />
      • <param description="(15.0)" name="y" type="double" uitype="double" />
      • <param description="(20.0)" name="z" type="double" uitype="double" />
      • <param description="(0=NONE, 1=DEG, 3=ARCMIN, 5=ARCSEC, 8=MAS)" name="precision" type="int" uitype="int" />
      • <param description="(Julian Years or Besselian, unused for GAL, SGAL, ICRS)" name="equinox1" type="double" uitype="double" />
      • <param description="(Julian Years or Besselian, unused for GAL, SGAL, ICRS)" name="equinox2" type="double" uitype="double" />
      </method>
    • <method description="convert a longitude-latitude coordinate, considering equinox" name="convertLE" >
      • <return description="" type="java.lang.String" uitype="String" />
      • <param description="(1=FK4, 2=GAL, 3=SGAL, 4=ECL, 5=FK5, 6=ICRS)" name="frame1" type="int" uitype="int" />
      • <param description="(1=FK4, 2=GAL, 3=SGAL, 4=ECL, 5=FK5, 6=ICRS)" name="frame2" type="int" uitype="int" />
      • <param description="(12.0)" name="lon" type="double" uitype="double" />
      • <param description="(45.0)" name="lat" type="double" uitype="double" />
      • <param description="(0=NONE, 1=DEG, 3=ARCMIN, 5=ARCSEC, 8=MAS)" name="precision" type="int" uitype="int" />
      • <param description="(Julian Years or Besselian, unused for GAL, SGAL, ICRS)" name="equinox1" type="double" uitype="double" />
      • <param description="(Julian Years or Besselian, unused for GAL, SGAL, ICRS)" name="equinox2" type="double" uitype="double" />
      </method>
    </component>
  • <component description="<b>Deprecated: </b>the webservice interface at CDS this client calls doesn't seem to be maintained, and this component of AR is no longer provided<p /> Webservice to resolve GLU (Generateur de Liens Uniformes).tags.<dl> <dt>See:</dt><dd> <a href='http://cdsweb.u-strasbg.fr/cdsws/glu_resolver.gml'>Webservice Descritption</a>, </dd></dl>" excluded="true" interface-class="org.astrogrid.acr.cds.Glu" name="glu" >
    • <method description="Resolve a tag." name="getURLfromTag" >
      • <return description="Result : URL corresponding to the tag (example : http://vizier.u-strasbg.fr/cgi-bin/votable?-meta)" type="java.lang.String" uitype="String" />
      • <param description="a tag to resolve (example : VizieR.MetaCat)" name="id" type="java.lang.String" uitype="String" />
      </method>
    </component>
  • <component description="AR Service: Sesame Object Name Resolver, from CDS. Resolve object names to position by querying Simbad and/or NED and/or VizieR. <p /> <tt>resolve</tt> resolves an object name to a datastructure containing position, error, aliases, etc. <p /> <tt>sesame</tt> and <tt>sesameChooseService</tt> provide low-level access to the raw webservice.<dl> <dt>See:</dt><dd> <a href="http://cdsweb.u-strasbg.fr/cdsws/name_resolver.gml">Sesame Webservice Description</a>, #resolve Example of resolving object name to position., </dd></dl>" interface-class="org.astrogrid.acr.cds.Sesame" name="sesame" >
    • <method description="Resolve an object name to a position using Sesame. <pre><b>Example: </b> "Python Example" # connect to the AR from xmlrpc import Server from os.path import expanduser ar = Server(file(expanduser('~/.astrogrid-desktop')).next().strip() +'xmlrpc') #call this function posBean = ar.cds.sesame.resolve('ngc123') #see what we get from pprint import pprint pprint(posBean) #access some variables print "Position",posBean['ra'],posBean['dec'] </pre> The output is <pre> {'OName': '{NGC} 123', 'aliases': [], 'dec': -1.6000000000000001, 'decErr': 0.0, 'posStr': '00:27.8 -01:36 ', 'ra': 6.9500000000000002, 'raErr': 0.0, 'service': 'VizieR', 'target': 'ngc123'} Position 6.95 -1.6 </pre> The example below shows how to do similar in Perl: <pre><b>Example: </b> "Perl Example" use File::Spec; use RPC::XML::Client; #connect to the AR open(F, File::Spec->catfile( "$ENV{HOME</pre>", ".astrogrid-desktop" )); my $prefix = <F>; close( F ); chomp( $prefix ); my $ar = RPC::XML::Client->new($prefix . "xmlrpc"); #now all this function my $pos = $ar->simple_request('cds.sesame.resolve','ngc123'); print "$pos->{ra}, $pos->{dec}\n"; }" name="resolve" >
      • <return description="a datastructure of positional information about the object." type="org.astrogrid.acr.cds.SesamePositionBean" uitype="SesamePositionBean" />
      • <param description="the object name to resolve" name="name" type="java.lang.String" uitype="String" />
      </method>
    • <method description="resolve a name to position<dl> <dt>See:</dt><dd> <a href="http://vizier.u-strasbg.fr/xml/sesame_1.dtd">Sesame DTD</a>, <a href="http://vizier.u-strasbg.fr/xml/sesame_1.xsd">Sesame Schema</a>, </dd></dl>" name="sesame" >
      • <return description="format depending on the resultType parameter" type="java.lang.String" uitype="String" />
      • <param description="the name to resolve" name="name" type="java.lang.String" uitype="String" />
      • <param description="<dl> <dt><tt>u</tt></dt><dd>usual (corresponding to the deprecated Sesame(String name) output)</dd> <dt><tt>H</tt></dt><dd>html</dd> <dt><tt>x</tt></dt><dd>XML</dd> </dl> <tt>p</tt>(for plain (text/plain)) and <tt>i</tt> (for all identifiers) options can be added to <tt>H</tt> or <tt>x</tt>" name="resultType" type="java.lang.String" uitype="String" />
      </method>
    • <method description="resolve a name, selecting which services to use.<dl> <dt>See:</dt><dd> <a href="http://vizier.u-strasbg.fr/xml/sesame_1.dtd">Sesame DTD</a>, <a href="http://vizier.u-strasbg.fr/xml/sesame_1.xsd">Sesame Schema</a>, </dd></dl>" name="sesameChooseService" >
      • <return description="format depending on the resultTtype parameter" type="java.lang.String" uitype="String" />
      • <param description="the name to resolve" name="name" type="java.lang.String" uitype="String" />
      • <param description="<dl> <dt><tt>u</tt></dt><dd>usual (corresponding to the deprecated Sesame(String name) output)</dd> <dt><tt>H</tt></dt><dd>html</dd> <dt><tt>x</tt></dt><dd>XML</dd> </dl> <tt>p</tt>(for plain (text/plain)) and <tt>i</tt> (for all identifiers) options can be added to <tt>H</tt> or <tt>x</tt>" name="resultType" type="java.lang.String" uitype="String" />
      • <param description="true if all identifiers wanted" name="all" type="boolean" uitype="boolean" />
      • <param description="<dl> <dt><tt>S</tt></dt><dd>Simbad</dd> <dt><tt>N</tt></dt><dd>NED</dd> <dt><tt>V</tt></dt><dd>VizieR</dd> <dt><tt>A</tt></dt><dd>all</dd> </dl> (examples : <tt>S</tt> to query Simbad, <tt>NS</tt> to query Ned if not found in Simbad, A to query in Ned, Simbad and VizieR, ...)" name="service" type="java.lang.String" uitype="String" />
      </method>
    </component>
  • <component description="AR Service: Web Service for manipulating Unified Content Descriptors, from CDS.<dl> <dt>See:</dt><dd> <a href="http://cdsweb.u-strasbg.fr/cdsws/ucdClient.gml">Webservice Description</a>, </dd></dl>" interface-class="org.astrogrid.acr.cds.UCD" name="ucd" >
    • <method description="Return a list of UCD1." name="UCDList" >
      • <return description="html document containing all ucd1" type="java.lang.String" uitype="String" />
      </method>
    • <method description="Resolve a UCD1 (won't work with UCD1+)" name="resolveUCD" >
      • <return description="sentence corresponding to the UCD1 (example : <tt>Johnson magnitude V (JHN)</tt>)" type="java.lang.String" uitype="String" />
      • <param description="the UCD1 to resolve (example : <tt>PHOT_JHN_V</tt>)" name="ucd" type="java.lang.String" uitype="String" />
      </method>
    • <method description="Access UCD1 for a catalogue" name="UCDofCatalog" >
      • <return description="list of UCD1 (in raw text) contained in a given catalog" type="java.lang.String" uitype="String" />
      • <param description="designes the catalog (example : <tt>I/239</tt>)" name="catalog_designation" type="java.lang.String" uitype="String" />
      </method>
    • <method description="Convert a legacy UCD1 to the equivalent UCD1+" name="translate" >
      • <return description="ucd. This function returns the default UCD1+ corresponding to an old-style UCD1." type="java.lang.String" uitype="String" />
      • <param description="The argument is a UCD1 (not UCD1+ !)." name="ucd" type="java.lang.String" uitype="String" />
      </method>
    • <method description="Upgrade a deprecated UCD1+." name="upgrade" >
      • <return description="ucd. This function returns a valid UCD1+ corresponding to a deprecated word. It is useful when some reference words of the UCD1+ vocabulary are changed, and ensures backward compatibility." type="java.lang.String" uitype="String" />
      • <param description="a deprecated UCD1+ (word or combination). Useful when the 'validate' method returns with code 2." name="ucd" type="java.lang.String" uitype="String" />
      </method>
    • <method description="validate a UCD1+. This function checks that a UCD is well-formed" name="validate" >
      • <return description="The first word of the return string is an error code, possibly followed by an explanation of the error. A return value of 0 indicates no error (valid UCD). The error-code results from the combination (logical OR) of the following values: <ul> <li>1: warning indicating use of non-standard namespace (not ivoa:)</li> <li>2: use of deprecated word</li> <li>4: use of non-existing word</li> <li>8: syntax error (extra space or unallowed character)</li> </ul>" type="java.lang.String" uitype="String" />
      • <param description="(e.g. <tt>ivoa:phot.mag;em.opt.B</tt>)" name="ucd" type="java.lang.String" uitype="String" />
      </method>
    • <method description="Find the description of a UCD1+<dl> <dt>Equivalent To:</dt><dd><tt> assign(explain(ucd) == ucd</tt></dd></dl>" name="explain" >
      • <return description="This function gives a human-readable explanation for a UCD composed of one or several words" type="java.lang.String" uitype="String" />
      • <param description="(e.g. <tt>ivoa:phot.mag;em.opt.B</tt>)" name="ucd" type="java.lang.String" uitype="String" />
      </method>
    • <method description="Find the UCD1+ associated with a description.<dl> <dt>Equivalent To:</dt><dd><tt> explain(assign(description) = description</tt></dd></dl>" name="assign" >
      • <return description="This function returns the UCD1+ corresponding to the description" type="java.lang.String" uitype="String" />
      • <param description="Plain text description of a parameter to be described" name="descr" type="java.lang.String" uitype="String" />
      </method>
    </component>
  • <component description="AR Service: Access VizieR catalogues, from CDS<dl> <dt>See:</dt><dd> <a href="http://cdsweb.u-strasbg.fr/cdsws/vizierAccess.gml">Webservice Description</a>, </dd></dl>" interface-class="org.astrogrid.acr.cds.VizieR" name="vizier" >
    • <method description="Get metadata about catalogues.<dl> <dt>See:</dt><dd> <a href='http://www.ivoa.net/Documents/latest/VOT.html'>VOTable Specification</a>, </dd></dl>" name="cataloguesMetaData" >
      • <return description="metadata about catalogues depending on the given parameters (VOTable format)" type="org.w3c.dom.Document" uitype="XML" />
      • <param description="(example : <tt>M32</tt>)" name="target" type="java.lang.String" uitype="String" />
      • <param description="(example : <tt>0.1</tt>)" name="radius" type="double" uitype="double" />
      • <param description="(example : <tt>arcsec</tt>)" name="unit" type="java.lang.String" uitype="String" />
      • <param description="(author, ..., example : <tt>Ochsenbein</tt>)" name="text" type="java.lang.String" uitype="String" />
      </method>
    • <method description="Get metadata about catalogues, with wavelength criteria.<dl> <dt>See:</dt><dd> <a href='http://www.ivoa.net/Documents/latest/VOT.html'>VOTable Specification</a>, </dd></dl>" name="cataloguesMetaDataWavelength" >
      • <return description="metadata about catalogues depending on the given parameters (VOTable format)" type="org.w3c.dom.Document" uitype="XML" />
      • <param description="(example : <tt>M32</tt>)" name="target" type="java.lang.String" uitype="String" />
      • <param description="(example : <tt>0.1</tt>)" name="radius" type="double" uitype="double" />
      • <param description="(example : <tt>arcsec</tt>)" name="unit" type="java.lang.String" uitype="String" />
      • <param description="(author, ..., example : <tt>Ochsenbein</tt>)" name="text" type="java.lang.String" uitype="String" />
      • <param description="(example : <tt>optical, Radio</tt> like in the VizieR Web interface)" name="wavelength" type="java.lang.String" uitype="String" />
      </method>
    • <method description="Get catalogue data.<dl> <dt>See:</dt><dd> <a href='http://www.ivoa.net/Documents/latest/VOT.html'>VOTable Specification</a>, </dd></dl>" name="cataloguesData" >
      • <return description="data about catalogues depending on the given parameters (VOTable format)" type="org.w3c.dom.Document" uitype="XML" />
      • <param description="(example : <tt>M32</tt>)" name="target" type="java.lang.String" uitype="String" />
      • <param description="(example : <tt>0.1</tt>)" name="radius" type="double" uitype="double" />
      • <param description="(example : <tt>arcsec</tt>)" name="unit" type="java.lang.String" uitype="String" />
      • <param description="(author, ..., example : <tt>Ochsenbein</tt>)" name="text" type="java.lang.String" uitype="String" />
      </method>
    • <method description="Get catalogue data, with wavelength criteria.<dl> <dt>See:</dt><dd> <a href='http://www.ivoa.net/Documents/latest/VOT.html'>VOTable Specification</a>, </dd></dl>" name="cataloguesDataWavelength" >
      • <return description="data about catalogues depending on the given parameters (VOTable format)" type="org.w3c.dom.Document" uitype="XML" />
      • <param description="(example : <tt>M32</tt>)" name="target" type="java.lang.String" uitype="String" />
      • <param description="(example : <tt>0.1</tt>)" name="radius" type="double" uitype="double" />
      • <param description="(example : <tt>arcsec</tt>)" name="unit" type="java.lang.String" uitype="String" />
      • <param description="(author, ..., example : <tt>Ochsenbein</tt>)" name="text" type="java.lang.String" uitype="String" />
      • <param description="(example : <tt>optical, Radio</tt>, like in the VizieR Web interface)" name="wavelength" type="java.lang.String" uitype="String" />
      </method>
    • <method description="get metadata for all catalogues. <blockquote><b>Warning: </b>Will return a large amount of data. </blockquote><dl> <dt>See:</dt><dd> <a href='http://www.ivoa.net/Documents/latest/VOT.html'>VOTable Specification</a>, </dd></dl>" name="metaAll" >
      • <return description="all metadata about catalogues in VizieR (VOTable format)" type="org.w3c.dom.Document" uitype="XML" />
      </method>
    </component>
</acr-module>
Contribution from module dialogs
<acr-module description="Reusable UI Dialogues" name="dialogs" >
  • <component description="AR Service: Dialogue that prompts the user to select a registry resource<dl> <dt>See:</dt><dd> #selectResourcesFromList(String, boolean, URI[]) Example 1, #selectResourcesXQueryFilter(String, boolean, String) Example 2, Registry, </dd></dl>" interface-class="org.astrogrid.acr.dialogs.RegistryGoogle" name="registryGoogle" >
    • <method description="Display the resource chooser dialogue, populated with resources described by a SRQL query - the little language used in VOExplorer SmartLists.<dl> <dt>See:</dt><dd> <a href='http://eurovotech.org/twiki/bin/view/VOTech/SimpleRegistryQueryLanguage'>SRQL Language Description</a>, </dd></dl>" name="selectResources" >
      • <return description="0 or more selected resources, never null." type="org.astrogrid.acr.ivoa.resource.Resource[]" uitype="Resource[]" />
      • <param description="the prompt to show the user" name="prompt" type="java.lang.String" uitype="String" />
      • <param description="if true, allow multiple selections" name="multiple" type="boolean" uitype="boolean" />
      • <param description="The query used to populate the dialogue." name="srql" type="java.lang.String" uitype="String" />
      </method>
    • <method description="<b>Deprecated: </b>unimplemented<p /> display the resource chooser dialogue, enabling only resources which match a filter." excluded="true" name="selectResourcesAdqlFilter" >
      • <return description="0 or more selected resources. never null." type="org.astrogrid.acr.ivoa.resource.Resource[]" uitype="Resource[]" />
      • <param description="message to prompt user for input." name="prompt" type="java.lang.String" uitype="String" />
      • <param description="if true, allow multiple selections." name="multiple" type="boolean" uitype="boolean" />
      • <param description="adql-like 'where' clause." name="adqlFilter" type="java.lang.String" uitype="String" />
      </method>
    • <method description="Display the resource chooser dialogue, populated with resources from an xquery. <pre><b>Example: </b> "Python Example" # connect to the AR from xmlrpc import Server from os.path import expanduser ar = Server(file(expanduser('~/.astrogrid-desktop')).next().strip() +'xmlrpc') #call this function xquery = """ for $r in //vor:Resource[not (@status='inactive' or @status='deleted')] where $r/@xsi:type &= '*DataCollection' return $r """ rs = ar.dialogs.registryGoogle.selectResourcesXQueryFilter("Choose a DataCollection",True,xquery) #list the selected identifiers for r in rs: print r['id'] </pre>" name="selectResourcesXQueryFilter" >
      • <return description="0 or more selected resources. never null." type="org.astrogrid.acr.ivoa.resource.Resource[]" uitype="Resource[]" />
      • <param description="message to prompt user for input." name="prompt" type="java.lang.String" uitype="String" />
      • <param description="if true, allow multiple selections." name="multiple" type="boolean" uitype="boolean" />
      • <param description="a xquery to populate the resource chooser with. Same format as in an xquery list in voexplorer UI - which is convenient for constructing these queries." name="xqueryFilter" type="java.lang.String" uitype="String" />
      </method>
    • <method description="Display the resource chooser dialogue, populated with a list of resources. <pre><b>Example: </b> "Python Example" # connect to the AR from xmlrpc import Server from os.path import expanduser ar = Server(file(expanduser('~/.astrogrid-desktop')).next().strip() +'xmlrpc') #call this function ids = ['ivo://irsa.ipac/2MASS-PSC' ,'ivo://mast.stsci/siap-cutout/goods.hst' ,'ivo://stecf.euro-vo/SSA/HST/FOS' ,'ivo://uk.ac.cam.ast/iphas-dsa-catalog/IDR' ,'ivo://uk.ac.cam.ast/IPHAS/images/SIAP' ] rs = ar.dialogs.registryGoogle.selectResourcesFromList("Choose a DataCollection",True,ids) #list the selected identifiers for r in rs: print r['id'] </pre>" name="selectResourcesFromList" >
      • <return description="0 or more selected resources. never null." type="org.astrogrid.acr.ivoa.resource.Resource[]" uitype="Resource[]" />
      • <param description="message to prompt user for input" name="prompt" type="java.lang.String" uitype="String" />
      • <param description="if true, allow multiple selections." name="multiple" type="boolean" uitype="boolean" />
      • <param description="an array of resource identifiers that will be retrieved from registry and displayed in the dialogue." name="identifiers" type="java.net.URI[]" uitype="URI[]" />
      </method>
    </component>
  • <component description="AR Service: Dialogue that prompts the user to select a local file, vospace resource or URL. <p /> This is a generalisation of the typical filechooser dialogue that allows local and remote ( myspace / vospace / URL) resources to be selected.<dl> <dt>See:</dt><dd> org.astrogrid.acr.astrogrid.Myspace, </dd></dl>" interface-class="org.astrogrid.acr.dialogs.ResourceChooser" name="resourceChooser" >
    • <method description="Prompt the user to select a file. Blocks until a file is selected, or user presses cancel.<dl> <dt>Equivalent To:</dt><dd><tt> fullChooseResource(title,enableRemote,true,enableRemote)</tt></dd></dl>" name="chooseResource" >
      • <return description="URI of the selected resource, or null if the user pressed cancel" type="java.net.URI" uitype="URI" />
      • <param description="title for the dialogue - e.g.<tt>choose file to open</tt>" name="title" type="java.lang.String" uitype="String" />
      • <param description="- if true,allow selection of a remote resource (myspace / vospace / URL). Selection of local resources is enabled always." name="enableRemote" type="boolean" uitype="boolean" />
      </method>
    • <method description="Prompt the user to select a folder. Blocks until a folder is selected, or user presses cancel.<dl> <dt>Equivalent To:</dt><dd><tt> fullChooseFolder(title,enableRemote,true,enableRemote)</tt></dd></dl>" name="chooseFolder" >
      • <return description="URI of the selected folder, or null if the user pressed cancel." type="java.net.URI" uitype="URI" />
      • <param description="title for the dialogue - e.g.<tt>choose file to open</tt>" name="title" type="java.lang.String" uitype="String" />
      • <param description="- if true,allow selection of a remote resource (myspace / vospace / URL). Selection of local resources is enabled always." name="enableRemote" type="boolean" uitype="boolean" />
      </method>
    • <method description="Fully-configurable resource chooser - a generalization of <tt>chooseResource</tt>." name="fullChooseResource" >
      • <return description="the URI of the selected resource, or null if the user cancelled" type="java.net.URI" uitype="URI" />
      • <param description="title for the dialogue" name="title" type="java.lang.String" uitype="String" />
      • <param description="if true,allow selection of a remote myspace / vospace resource." name="enableVospace" type="boolean" uitype="boolean" />
      • <param description="if true, allow selection of local files" name="enableLocal" type="boolean" uitype="boolean" />
      • <param description="if true, enable the 'enter a URL' tab, so an arbitrary URL can be entered." name="enableURL" type="boolean" uitype="boolean" />
      </method>
    • <method description="Fully-configurable resource chooser - a generalization of <tt>chooseFolder</tt>." name="fullChooseFolder" >
      • <return description="the URI of the selected folder, or null if the user cancelled" type="java.net.URI" uitype="URI" />
      • <param description="title for the dialogue" name="title" type="java.lang.String" uitype="String" />
      • <param description="if true,allow selection of a remote myspace / vospace folder" name="enableVospace" type="boolean" uitype="boolean" />
      • <param description="if true, allow selection of local folders" name="enableLocal" type="boolean" uitype="boolean" />
      • <param description="if true, enable the 'enter a URL' tab, so an arbitrary URL can be entered. <blockquote><b>Warning: </b>No verification that an entered URL <i>is</i> a folder is performed.</blockquote>" name="enableURL" type="boolean" uitype="boolean" />
      </method>
    </component>
  • <component description="AR Service: Dialogue that allows user to select a remote application or database and fill in invocation parameters. The output of the dialogue is a <i>Tool Document</i>, suitable for passing to the <tt>Applications</tt> service for execution.<dl> <dt>See:</dt><dd> org.astrogrid.acr.astrogrid.Applications, </dd></dl>" interface-class="org.astrogrid.acr.dialogs.ToolEditor" name="toolEditor" >
    • <method description="Prompt the user to edit a tool document.<dl> <dt>XMLRPC:</dt><dd> takes a xml document string as a parameter, and returns another xml document string</dd></dl>" name="edit" >
      • <return description="an edited copy of this document, or null if the user pressed cancel." type="org.w3c.dom.Document" uitype="XML" />
      • <param description="document conforming to Tool schema" name="t" type="org.w3c.dom.Document" uitype="XML" />
      </method>
    • <method description="Prompt the user to edit a tool document." name="editStored" >
      • <return description="edited copy of this document, or null if the user pressed cancel." type="org.w3c.dom.Document" uitype="XML" />
      • <param description="location the tool document is stored at (http://, ftp://, ivo://)" name="documentLocation" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="prompt the user to select a remote application or database and construct an invocation/query against it." name="selectAndBuild" >
      • <return description="a new tool document" type="org.w3c.dom.Document" uitype="XML" />
      </method>
    </component>
</acr-module>
Contribution from module file
<acr-module description="Access to Filesystems" name="file" >
  • <component description="Inspect metadata about URI file references. This module provides methods to check whether a URI reference exists, and whether is a file, a folder, is hidden, readable or writable. For files, the size, content-type and attributes may also be accessed.<dl> <dt>See:</dt><dd> Manager, Name, </dd></dl>" interface-class="org.astrogrid.acr.file.Info" name="info" >
    • <method description="Determine if a URI exists." name="exists" >
      • <return description="<tt>true</tt> if this URI exists, else <tt>false</tt>" type="boolean" uitype="boolean" />
      • <param description="the resource to test" name="uri" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="Test whether a URI exists and is a file.<dl> <dt>See:</dt><dd> #exists(URI), </dd></dl>" name="isFile" >
      • <return description="<tt>true</tt> if this is an existing file." type="boolean" uitype="boolean" />
      • <param description="the resource to test" name="uri" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="Tests whether a URI exists and is a folder.<dl> <dt>See:</dt><dd> #exists(URI), </dd></dl>" name="isFolder" >
      • <return description="<tt>true</tt> if this is an existing folder." type="boolean" uitype="boolean" />
      • <param description="the resource to test" name="uri" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="Determine if a URI exists and is hidden. If the resource does not exist, will return <tt>false</tt>" name="isHidden" >
      • <return description="<tt>true</tt> if this resource is hidden" type="boolean" uitype="boolean" />
      • <param description="the resource to test" name="uri" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="Determine if a URI exists and is readable." name="isReadable" >
      • <return description="<tt>true</tt> if this resource is readable" type="boolean" uitype="boolean" />
      • <param description="the resurce to test" name="uri" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="Determine if a URI is writable. If the resource does not yet exist, tests whether this resource could be created and written to." name="isWritable" >
      • <return description="<tt>true</tt> if this resource is writable." type="boolean" uitype="boolean" />
      • <param description="the resource to test" name="uri" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="Determine the last-modified timestamp of a resource." name="getLastModifiedTime" >
      • <return description="The last-modified timestamp. This represents the number milliseconds since the standard base time known as "the epoch", namely January 1, 1970, 00:00:00 GMT." type="long" uitype="long" />
      • <param description="the resource to inspect" name="uri" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="Inspect the attributes of this resource. Returns a dictionary of attributes. The particular entries in the dictionary will vary according to the kind of filesystem the resource belongs to. Dictionary keys will be strings, as most commonly will be the associated values.<dl> <dt>Note:</dt><dd> For a Myspace file, two attributes which will always be present are : <dl> <dt><tt>ContentURL</tt></dt> <dd>A URL (typically HTTP or FTP) from which the contents of this file can be directly read</dd> <dt><tt>ContentMethod</tt></dt> <dd>The method (for example GET) to use to access the <tt>ContentURL</tt></dd> </dl></dd></dl>" name="getAttributes" >
      • <return description="read-only map of this resource's attributes." type="java.util.Map" uitype="Map" />
      • <param description="the resource to inspect" name="uri" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="Determines the size of a file, in bytes." name="getSize" >
      • <return description="the size of the file, in bytes" type="long" uitype="long" />
      • <param description="the resource to inspect." name="uri" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="Determine the content type of a file. Note that content type <i>may</i> be deduced by file-suffix - so results might differ from actual contents, especially for empty / non-existent files." name="getContentType" >
      • <return description="the content type of the file, or null if no type. Some typical values are: <tt>image/jpeg</tt>, <tt>text/plain</tt>, <tt>application/xml</tt>, <tt>application/x-votable+xml</tt>" type="java.lang.String" uitype="String" />
      • <param description="the file to test" name="uri" type="java.net.URI" uitype="URI" />
      </method>
    </component>
  • <component description="Read, Write, and Navigate Filesystems.<dl> <dt>See:</dt><dd> Name, Info, Systems, </dd></dl>" interface-class="org.astrogrid.acr.file.Manager" name="manager" >
    • <method description="Create a file, if it does not exist. Also creates any ancestor folders which do not exist. This method does nothing if the file already exists and is a file." name="createFile" >
      • <return description="" type="java.lang.Void" uitype="void" />
      • <param description="the filepath to create" name="uri" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="Create a folder, if it does not exist. Also creates any ancestor folders which do not exist. Does nothing if the folder already exists." name="createFolder" >
      • <return description="" type="java.lang.Void" uitype="void" />
      • <param description="the folderpath to create" name="uri" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="Resynchronize the information about a file with the remote filesystem. May be necessary in cases when another client is writing to this file" name="refresh" >
      • <return description="" type="java.lang.Void" uitype="void" />
      • <param description="" name="uri" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="Delete a file and all it's descendants. Does nothing if this file does not exist." name="delete" >
      • <return description="true if the file was deleted." type="boolean" uitype="boolean" />
      • <param description="filepath to delete" name="uri" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="List the names of the children of a folder." name="listChildren" >
      • <return description="An array containing the names of the children of this folder. The array is unordered. If the file does not have any children, a zero-length array is returned. This method never returns null." type="java.lang.String[]" uitype="String[]" />
      • <param description="the folder to list" name="uri" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="List the URI of the children of a folder." name="listChildUris" >
      • <return description="An array containing the URIs of the children of this folder. The array is unordered. If the file does not have any children, a zero-length array is returned. This method never returns null." type="java.net.URI[]" uitype="URI[]" />
      • <param description="the folder to list" name="uri" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="Read the contents of a file." name="read" >
      • <return description="the contents of the file. An empty file will return an empty string, never NULL" type="java.lang.String" uitype="String" />
      • <param description="the file to read from" name="src" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="Write to a file." name="write" >
      • <return description="" type="java.lang.Void" uitype="void" />
      • <param description="the file to write to" name="dest" type="java.net.URI" uitype="URI" />
      • <param description="the contents to write to the file." name="content" type="java.lang.String" uitype="String" />
      </method>
    • <method description="Read the contents of a file as binary data." name="readBinary" >
      • <return description="the contents of the file. Never NULL - an empty file will produce a zero-length array." type="byte[]" uitype="byte[]" />
      • <param description="the file to read from" name="src" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="Write binary data to a file." name="writeBinary" >
      • <return description="" type="java.lang.Void" uitype="void" />
      • <param description="the file to write to" name="dest" type="java.net.URI" uitype="URI" />
      • <param description="the contents to write to the file." name="content" type="byte[]" uitype="byte[]" />
      </method>
    • <method description="Append to a file." name="append" >
      • <return description="" type="java.lang.Void" uitype="void" />
      • <param description="the file to write to" name="dest" type="java.net.URI" uitype="URI" />
      • <param description="the contents to append to the file." name="content" type="java.lang.String" uitype="String" />
      </method>
    • <method description="Append binary data to a file." name="appendBinary" >
      • <return description="" type="java.lang.Void" uitype="void" />
      • <param description="the file to write to" name="dest" type="java.net.URI" uitype="URI" />
      • <param description="the contents to append to the file." name="content" type="byte[]" uitype="byte[]" />
      </method>
    • <method description="Copy a file, and all it's descendants, to another location." name="copy" >
      • <return description="" type="java.lang.Void" uitype="void" />
      • <param description="the source file / folder" name="src" type="java.net.URI" uitype="URI" />
      • <param description="the destination to copy to. The destination may be on a different filesystem to <tt>src</tt>" name="dest" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="Move a file (and all it's descendants) to another location." name="move" >
      • <return description="" type="java.lang.Void" uitype="void" />
      • <param description="the file to move" name="src" type="java.net.URI" uitype="URI" />
      • <param description="the destination to move to. This may be on a different filesystem to <tt>src</tt>" name="dest" type="java.net.URI" uitype="URI" />
      </method>
    </component>
  • <component description="Construct and manipulate URI file references. For two URI references (<tt>u1</tt>,<tt>u2</tt>) to be equal, the following must be true: <pre> getRoot(u1) == getRoot(u2) && getPath(u1) == getRoot(u2)</pre><dl> <dt>See:</dt><dd> Manager, Info, </dd></dl>" interface-class="org.astrogrid.acr.file.Name" name="name" >
    • <method description="Returns the scheme component of a URI. <pre><b>Example: </b> getScheme( "http://server.org/index.html" ) == "http"</pre>" name="getScheme" >
      • <return description="the scheme component, or null if not defined" type="java.lang.String" uitype="String" />
      • <param description="the URI" name="uri" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="Return the root of the filesystem that a URI belongs to. <pre><b>Example: </b> getRoot( "ftp://server.com/a/b/file.txt" ) == "ftp://server.com/" </pre>" name="getRoot" >
      • <return description="the URI of the filsystem root." type="java.net.URI" uitype="URI" />
      • <param description="the URI" name="uri" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="Return the name of a URI. This is just the last name in the path sequence. The root file of a file system has an empty name. <pre><b>Example: </b> getName( "ftp://server.com/a/b/file.txt ") == "file.txt" getName( "ftp://server.com/a/b/" ) == "b" getName( "ftp://server.com/" ) == "" </pre>" name="getName" >
      • <return description="The name. Never returns null." type="java.lang.String" uitype="String" />
      • <param description="the uri to extract a name from" name="uri" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="Returns the file extension of a URI. <pre><b>Example: </b> getExtension( "ftp://server.com/a/b/file.txt" ) == "txt" getExtension( "ftp://server.com/a/b/" ) == "" getExtension( "ftp://server.com/" ) == "" </pre>" name="getExtension" >
      • <return description="the extension of the file name, or null." type="java.lang.String" uitype="String" />
      • <param description="the uri to extract an extension from" name="uri" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="Returns the absolute path of a URI. This path is normalised, so that <tt>.</tt> and <tt>..</tt> elements have been removed. The path only contains <tt>/</tt> as its separator character and always starts with <tt>/</tt> The root of a file system has <tt>/</tt> as its absolute path. <pre><b>Example: </b> getPath( "ftp://server.com/a/b/file.txt" ) == "/a/b/file.txt" getPath( "ftp://server.com/a/b/" ) == "/a/b" getPath( "ftp://server.com/" ) == "/" getPath( "ftp://server.com/a/b/.././file.txt" ) == "/a/file.txt" </pre>" name="getPath" >
      • <return description="the path, never null." type="java.lang.String" uitype="String" />
      • <param description="the uri to extract the path from." name="uri" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="Returns the URI of the parent (enclosing folder) of a URI. The root of a file system has no parent. <pre><b>Example: </b> getParent( "ftp://server.com/a/b/file.txt" ) == "ftp://server.com/a/b/" getParent( "ftp://server.com/a/b/" ) == "ftp://server.com/a/" </pre>" name="getParent" >
      • <return description="the parent of <tt>uri</tt>" type="java.net.URI" uitype="URI" />
      • <param description="" name="uri" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="Relativize a URI against a base URI. <pre><b>Example: </b> relativize( "ftp://server.com/a/b", "ftp://server.com/a/b/file.txt" ) == "file.txt" relativize( "ftp://server.com/", "ftp://server.com/a/b/file.txt" ) == "a/b/file.txt" relativize( "ftp://server.com/a/b/file.txt", "ftp://server.com/a/b" ) == ".." relativize( "ftp://server.com/a/b/file.txt", "ftp://server.com/" ) == "../../.." relativize( "ftp://server.com/a/b", "ftp://server.com/a/b ) == "." </pre><dl> <dt>Equivalent To:</dt><dd><tt> relativize( base, resolve( base, path ) ) == path</tt></dd></dl>" name="relativize" >
      • <return description="the relative path" type="java.lang.String" uitype="String" />
      • <param description="the base uri to relativize against" name="base" type="java.net.URI" uitype="URI" />
      • <param description="the uri to relativize" name="uri" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="Resolve a path relative to a base URI. <pre><b>Example: </b> resolve( "ftp://server.com", "a/b/file.txt" ) == "ftp://server.com/a/b/file.txt" resolve( "ftp://server.com/a/b", ".." ) == "ftp://server.com/a" resolve( "ftp://server.com/a/b", "file.txt" ) == "ftp://server.com/a/b/file.txt" resolve( "ftp://server.com/a/b", "/file.txt" ) == "ftp://server.com/file.txt" </pre><dl> <dt>Equivalent To:</dt><dd><tt> resolve( base, relativize( base, url ) ) == url</tt></dd></dl>" name="resolve" >
      • <return description="the resulting resolved URI" type="java.net.URI" uitype="URI" />
      • <param description="the uri to resolve against" name="base" type="java.net.URI" uitype="URI" />
      • <param description="the path to resolve" name="path" type="java.lang.String" uitype="String" />
      </method>
    • <method description="Test whether one URI is an ancestor of another. <pre><b>Example: </b> isAncestor( "ftp://server.com/a/b/file.txt", "ftp://server.com" ) == True isAncestor( "ftp://server.com/a/b/file.txt", "ftp://server.com/a" ) == True isAncestor( "ftp://server.com/a/b", "ftp://server.com/a/b/file.txt" ) == False isAncestor( "ftp://server.com/a/b/file.txt", "ftp://server.com/a/b/file.txt" ) == False isAncestor( "ftp://server.com", "ftp://server.com" ) == False </pre>" name="isAncestor" >
      • <return description="boolean value" type="boolean" uitype="boolean" />
      • <param description="a uri" name="u" type="java.net.URI" uitype="URI" />
      • <param description="URI to test whether it ancestor of <tt>u</tt>" name="suspectedAncestor" type="java.net.URI" uitype="URI" />
      </method>
    </component>
  • <component description="Access information about the supported kinds of filesystem.<dl> <dt>See:</dt><dd> Manager, </dd></dl>" interface-class="org.astrogrid.acr.file.Systems" name="systems" >
    • <method description="List the URI schemes of the kinds of filesystem that Astro Runtime is able to access. This function can be used to trivially verify that input URIs will be readable by AR." name="listSchemes" >
      • <return description="a non-null array of URI schemes - expect to contain at least <tt>file</tt> ,<tt>http</tt>, <tt>ftp</tt>, <tt>sftp</tt>, <tt>ivo</tt>, <tt>vos</tt>." type="java.lang.String[]" uitype="String[]" />
      </method>
    </component>
</acr-module>
Contribution from module ivoa
<acr-module description="IVOA Standard Services" name="ivoa" >
  • <component description="AR Service: Support for working with ADQL queries." excluded="true" interface-class="org.astrogrid.acr.ivoa.Adql" name="adql" >
    • <method description="convert an adql/s string to an adql/x document" name="s2x" >
      • <return description="xml equivalent of the adql/s input" type="org.w3c.dom.Document" uitype="XML" />
      • <param description="" name="s" type="java.lang.String" uitype="String" />
      </method>
    </component>
  • <component description="" excluded="true" interface-class="org.astrogrid.acr.ivoa.CacheFactory" name="cache" >
    • <method description="flush all cached data - for example registry entries" name="flush" >
      • <return description="" type="java.lang.Void" uitype="void" />
      </method>
    </component>
  • <component description="AR Service: Query for <b>Catalogs</b> from Cone-Search Services (DAL). <p /> <blockquote><b>Note: </b>This class provides functions to construct a DAL query. To execute that query, see the examples and methods in the <tt>Dal</tt> class. </blockquote> <h2>Constructing a Query</h2> The first stage in querying a cone-service is to select the service to query, find the position to query at, and then call the <tt>constructQuery(URI, double, double, double)</tt> function: <pre><b>Example: </b> "Contructing a Cone Query (Python)" # connect to the AR from xmlrpc import Server from os.path import expanduser ar = Server(file(expanduser('~/.astrogrid-desktop')).next().strip() +'xmlrpc') cone = ar.ivoa.cone #take a reference to the AR Cone component #the Cone service to query (selected using voexplorer) service = "ivo://irsa.ipac/2MASS-PSC" #resolve an object name to a position pos = ar.cds.sesame.resolve('m54') #build a query query = cone.constructQuery(service,pos['ra'],pos['dec'],0.001) print "QueryURL",query </pre> This script produces a query URL (shown below), which can the be passed to the methods in the <tt>Dal</tt> class. <blockquote><tt> QueryURL http://irsa.ipac.caltech.edu/cgi-bin/Oasis/CatSearch/nph-catsearch?CAT=fp_psc&RA=283.7636667&DEC=-30.4785&SR=0.0010 </tt></blockquote> <h2>Adding the VERB parameter</h2> The optional <tt>VERB</tt> parameter determines how many columns are to be returned by the service. From the Cone specification: <blockquote><i> The query MAY contain the optional parameter, VERB, whose value is an integer - either <tt>1</tt>, <tt>2</tt>, or <tt>3</tt> - which determines how many columns are to be returned in the resulting table. Support for this parameter by a Cone Search service implementation is optional. If the service supports the parameter, then when the value is <tt>1</tt>, the response should include the bare minimum of columns that the provider considers useful in describing the returned objects. When the value is <tt>3</tt>, the service should return all of the columns that are available for describing the objects. A value of <tt>2</tt> is intended for requesting a medium number of columns between the minimum and maximum (inclusive) that are considered by the provider to most typically useful to the user. When the VERB parameter is not provided, the server should respond as if <tt>VERB=2</tt>. If the <tt>VERB</tt> parameter is not supported by the service, the service should ignore the parameter and should always return the same columns for every request. </i></blockquote> A query that includes the VERB parameter can be constructed as follows: <pre><b>Example: </b> "Constructing a Query with the VERB parameter (Python)" #build a query, as before. query = cone.constructQuery(service,pos['ra'],pos['dec'],0.001) #add a 'verb' parameter query = cone.addOption(query,"VERB",3) </pre><dl> <dt>Note:</dt><dd> This service extends the <tt>Dal</tt> interface, which provides functions to execute queries. The functions listed within this interface are just for <i>constructing</i> that query.</dd> <dt>See:</dt><dd> <a href='http://www.ivoa.net/Documents/latest/ConeSearch.html'>IVOA Cone Search Standard Document</a>, Dal, </dd></dl>" interface-class="org.astrogrid.acr.ivoa.Cone" name="cone" >
    • <method description="Add an additional option to a previously constructed query. <p/> Sometimes neccessary, for some DAL protocols, to provide optional query parameters." name="addOption" >
      • <return description="<tt>query</tt> with the option appended." type="java.net.URL" uitype="URL" />
      • <param description="the query url" name="query" type="java.net.URL" uitype="URL" />
      • <param description="name of the option to add" name="optionName" type="java.lang.String" uitype="String" />
      • <param description="value for the new option" name="optionValue" type="java.lang.String" uitype="String" />
      </method>
    • <method description="Execute a DAL query, returning a datastructure<dl> <dt>Note:</dt><dd> When querying a SIAP service, the result uses keys drawn from the SIAP dataset datamodel</dd></dl>" name="execute" >
      • <return description="The service response parsed as a list of of rows. Each row is represented is a map between UCD or datamodel keys and values from the response" type="java.util.Map[]" uitype="Map[]" />
      • <param description="query url to execute" name="query" type="java.net.URL" uitype="URL" />
      </method>
    • <method description="Execute a DAL query, returning a Votable document.<dl> <dt>Note:</dt><dd> This is a convenience method that just performs a 'GET' on the query url. Many programming languages support this functionality internally.</dd></dl>" name="executeVotable" >
      • <return description="a votable document." type="org.w3c.dom.Document" uitype="XML" />
      • <param description="query url to execute" name="query" type="java.net.URL" uitype="URL" />
      </method>
    • <method description="<b>Deprecated: </b>- use executeVotable()<p /> " excluded="true" name="getResults" >
      • <return description="" type="org.w3c.dom.Document" uitype="XML" />
      • <param description="" name="url" type="java.net.URL" uitype="URL" />
      </method>
    • <method description="Execute a DAL query and save the resulting document.<dl> <dt>Note:</dt><dd> in the case of saving to myspace, the myspace server performs the query - the data does not pass through the user's computer.</dd> <dt>See:</dt><dd> Systems#listSchemes() List of supported URI schemes for <tt>saveLocation</tt>, </dd></dl>" name="executeAndSave" >
      • <return description="" type="java.lang.Void" uitype="void" />
      • <param description="query url to execute" name="query" type="java.net.URL" uitype="URL" />
      • <param description="location to save result document - For example a <tt>file:/</tt>, <tt>ivo://</tt> (myspace), <tt>ftp://</tt> location" name="saveLocation" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="<b>Deprecated: </b>- use executeAndSave()<p /> " excluded="true" name="saveResults" >
      • <return description="" type="java.lang.Void" uitype="void" />
      • <param description="" name="url" type="java.net.URL" uitype="URL" />
      • <param description="" name="saveLocation" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="Execute a DAL query, and save the datasets referenced by the response. <p /> Applies to those DAL protocols (<tt>Siap</tt>, <tt>Ssap</tt>, <tt>Stap</tt>) where the response points to external data files.<dl> <dt>Note:</dt><dd> In the case of saving to myspace or vospace, the myspace server performs the query and dataset download - the data does not pass through the user's computer.</dd> <dt>See:</dt><dd> Siap Example of Use, Systems#listSchemes() List of supported URI schemes for <tt>saveLocation</tt>, </dd></dl>" name="saveDatasets" >
      • <return description="number of datasets saved." type="int" uitype="int" />
      • <param description="query url to execute" name="query" type="java.net.URL" uitype="URL" />
      • <param description="location of a directory in which to save the datasets. May be any of the filesystem types listed in <tt>Systems#listSchemes()</tt>." name="saveLocation" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="Execute a DAL query, and save a subset of the datasets referenced by the response. <p /> Applies to those DAL protocols (<tt>Siap</tt>, <tt>Ssap</tt>, <tt>Stap</tt>) where the response points to external data files.<dl> <dt>Note:</dt><dd> in the case of saving to myspace or vospace, the myspace server performs the query and dataset download - the data does not pass through the user's computer.</dd> <dt>See:</dt><dd> Systems#listSchemes() List of supported URI schemes for <tt>saveLocation</tt>, </dd></dl>" name="saveDatasetsSubset" >
      • <return description="number of datasets saved." type="int" uitype="int" />
      • <param description="the DAL query" name="query" type="java.net.URL" uitype="URL" />
      • <param description="location of a directory in which to save the datasets. May be any of the filesystem types listed in <tt>Systems#listSchemes()</tt>." name="saveLocation" type="java.net.URI" uitype="URI" />
      • <param description="list of Integers - indexes of the rows in the query response for which to save the dataset. (0= first row)" name="rows" type="java.util.List" uitype="List" />
      </method>
    • <method description="Returns a SRQL query that, when passed to the registry, will return all know services of that type. <br/> can be used as a starting point for filters, etc. <blockquote><b>Warning: </b>In the case of <tt>Cone</tt> the registry query will return far too many to be useful - it is necessary to use this xquery as a starting point for building a more tightly-constrained query.</blockquote> <pre><b>Example: </b> "Example of querying for cone services related to 'dwarf'" # connect to the AR from xmlrpc import Server from os.path import expanduser ar = Server(file(expanduser('~/.astrogrid-desktop')).next().strip() +'xmlrpc') #call this method to get a query to list all Cone-search services. coneQuery = ar.ivoa.cone.getRegistryQuery() #combine it into a more tightly contrained query myQuery = coneQuery + ' and subject=dwarf' # perform the query rs = ar.ivoa.registry.searcg(myQuery) #inspect the results print len(rs) for r in rs: print r['id'] </pre><dl> <dt>See:</dt><dd> <a href='http://eurovotech.org/twiki/bin/view/VOTech/SimpleRegistryQueryLanguage'>SRQL Language Description</a>, #getRegistryXQuery() alternative that returns an XQuery, </dd></dl>" name="getRegistryQuery" >
      • <return description="a SRQL query string" type="java.lang.String" uitype="String" />
      </method>
    • <method description="<b>Deprecated: </b><p /> helper method - returns an ADQL/s query that should be passed to a registry to list all available DAL services of this type. <br/> can be used as a starting point for filters, etc." excluded="true" name="getRegistryAdqlQuery" >
      • <return description="an adql query string" type="java.lang.String" uitype="String" />
      </method>
    • <method description="Return an XQuery that, when passed to the registry, will return all known services of that type. <blockquote><b>Warning: </b>In the case of <tt>Cone</tt> the registry query will return far too many to be useful - it is necessary to use this xquery as a starting point for building a more tightly-constrained query.</blockquote> <pre><b>Example: </b> "Example of querying for cone services related to 'dwarf'" # connect to the AR from xmlrpc import Server from os.path import expanduser ar = Server(file(expanduser('~/.astrogrid-desktop')).next().strip() +'xmlrpc') #call this method to get a query to list all Cone-search services. coneQuery = ar.ivoa.cone.getRegistryXQuery() #combine it into a more tightly contrained query myQuery = "let $cq := " + coneQuery + """ for $r in $cq where contains($r/content/subject,'dwarf') return $r """ # perform the query rs = ar.ivoa.registry.xquerySearch(myQuery) #inspect the results print len(rs) for r in rs: print r['id'] </pre> the output of this script is <pre> 2 ivo://nasa.heasarc/rasswd ivo://nasa.heasarc/mcksion </pre><dl> <dt>See:</dt><dd> #getRegistryQuery() alternative that returns a SRQL query., <a href="http://www.w3schools.com/xquery/default.asp">XQuery Language Tutorial</a>, </dd></dl>" name="getRegistryXQuery" >
      • <return description="an xquery string" type="java.lang.String" uitype="String" />
      </method>
    • <method description="Construct a Cone-Search Query. The cone search standard allows queries on Right Ascension, Declination and Search Radius, all given in decimal degrees.<dl> <dt>See:</dt><dd> Sesame Sesame - resolves object names to RA,Dec positions, #getRegistryXQuery() getRegistryXQuery() - a query to list all Cone Search Services., </dd></dl>" name="constructQuery" >
      • <return description="A query URL. The query can then be performed by either <ul> <li> programmatically performing a HTTP GET on the query URL </li> <li> passing the query URL to one of the <tt>Dal</tt> <tt>execute</tt> methods - such as <tt>executeAndSave(URL, URI)</tt> </li> </ul>" type="java.net.URL" uitype="URL" />
      • <param description="Resource Identifier <i>or</i> URL of the Service to query. <i>Prefer providing a Resource Identifier, as this insulates against changes in service endpoint</i>. <blockquote><dl> <dt>Resource Identifier</dt><dd> The resource ID of the Cone Search service to query, as returned by <tt>Resource#getId()</tt>. Example: <tt>ivo://irsa.ipac/2MASS-XSC</tt> <br/>The <tt>Registry</tt> will be queried to resolve the resource ID into a <tt>Resource</tt> object, from which the <tt>ConeCapability</tt> will be found, from which in turn the first <tt>AccessURL</tt> will be used. </dd> <dt>URL of the Service</dt><dd> The endpoint URL. Can be any <tt>http://</tt> URL. </dd> </dl></blockquote>" name="service" type="java.net.URI" uitype="URI" />
      • <param description="right ascension e.g <tt>6.950</tt>" name="ra" type="double" uitype="double" />
      • <param description="declination e.g. <tt>-1.6</tt>" name="dec" type="double" uitype="double" />
      • <param description="search radius e.g. <tt>0.1</tt>" name="sr" type="double" uitype="double" />
      </method>
    </component>
  • <component description="AR Service: Query an arbitrary IVOA Registry. This component gives access to a range of querying functions - for querying using keywords or XQuery. The functions either return a raw XML document, or a series of datastructures that contain the parsed information of the registry entries. <blockquote><b>Note: </b>These functions are useful when you want to access records in a registry other than the 'system configured' registry, or if you wish to access the raw xml of the records. For other cases, we recommend using the simple <tt>Registry</tt> service.</blockquote> The first parameter to each query method is the endpoint URL of the registry service to connect to. These functions will also accept the Resource Identifier of a registry service - which will then be resolved into an endpoint URL using the System Registry.<dl> <dt>See:</dt><dd> <a href="http://www.ivoa.net/Documents/latest/IDs.html">IVOA Identifiers</a>, <a href="http://www.ivoa.net/Documents/latest/VOResource.html">IVOA VOResource Definition</a>, <a href='http://www.ivoa.net/Documents/latest/RegistryInterface.html'>IVOA Registry Interface Standard</a>, <a href="http://www.w3schools.com/xquery/default.asp">XQuery Language Tutorial</a>, org.astrogrid.acr.ivoa.Registry Registry - simpler interface to system registry, </dd></dl>" interface-class="org.astrogrid.acr.ivoa.ExternalRegistry" name="externalRegistry" >
    • <method description="Perform an ADQL/x query" excluded="true" name="adqlxSearchXML" >
      • <return description="" type="org.w3c.dom.Document" uitype="XML" />
      • <param description="" name="registry" type="java.net.URI" uitype="URI" />
      • <param description="" name="adqlx" type="org.w3c.dom.Document" uitype="XML" />
      • <param description="" name="identifiersOnly" type="boolean" uitype="boolean" />
      </method>
    • <method description="Perform an ADQL/x query, returning an array of datastructures." excluded="true" name="adqlxSearch" >
      • <return description="" type="org.astrogrid.acr.ivoa.resource.Resource[]" uitype="Resource[]" />
      • <param description="" name="registry" type="java.net.URI" uitype="URI" />
      • <param description="" name="adqlx" type="org.w3c.dom.Document" uitype="XML" />
      </method>
    • <method description="Perform a ADQL/s query.<dl> <dt>Warning:</dt><dd> The ADQL support is poorly defined in the registry standard, and implementations vary. We recommend using XQuery or keyword searching wherever possible.</dd> <dt>XMLRPC:</dt><dd> will return a string containing the xml document</dd></dl>" excluded="true" name="adqlsSearchXML" >
      • <return description="xml document of search results - a series of matching registry records contained within an element called <tt>VOResources</tt> in the namespace <tt>http://www.ivoa.net/wsdl/RegistrySearch/v1.0</tt>" type="org.w3c.dom.Document" uitype="XML" />
      • <param description="identifier or endpoint of the registry to connect to" name="registry" type="java.net.URI" uitype="URI" />
      • <param description="a string query (string form of ADQL)" name="adqls" type="java.lang.String" uitype="String" />
      • <param description="" name="identifiersOnly" type="boolean" uitype="boolean" />
      </method>
    • <method description="Perform an ADQL/s query, returning an array of datastructures.<dl> <dt>Warning:</dt><dd> The ADQL support is poorly defined in the registry standard, and implementations vary. We recommend using XQuery or keyword searching wherever possible.</dd></dl>" excluded="true" name="adqlsSearch" >
      • <return description="" type="org.astrogrid.acr.ivoa.resource.Resource[]" uitype="Resource[]" />
      • <param description="" name="registry" type="java.net.URI" uitype="URI" />
      • <param description="" name="adqls" type="java.lang.String" uitype="String" />
      </method>
    • <method description="Perform a keyword search, returning an XML Document.<dl> <dt>See:</dt><dd> #getResourceXML(URI, URI) Example of registry resource XML, </dd></dl>" name="keywordSearchXML" >
      • <return description="xml document of search results - A series of <tt>VOResource</tt> elements contained within an element called <tt>VOResources</tt> in the namespace <tt>http://www.ivoa.net/xml/RegistryInterface/v1.0</tt>" type="org.w3c.dom.Document" uitype="XML" />
      • <param description="resource identifier or endpoint URL of the registry to connect to" name="registry" type="java.net.URI" uitype="URI" />
      • <param description="space separated list of keywords to search for" name="keywords" type="java.lang.String" uitype="String" />
      • <param description="- true to 'OR' together matches. false to 'AND' together matches" name="orValues" type="boolean" uitype="boolean" />
      </method>
    • <method description="Perform a keyword search. <p/> A more convenient variant of <tt>keywordSearchXML</tt> <p /> <pre><b>Example: </b> "Python Example" # connect to the AR from xmlrpc import Server from os.path import expanduser ar = Server(file(expanduser('~/.astrogrid-desktop')).next().strip() +'xmlrpc') #call this function regEndpoint = 'http://www.my.registry.endpoint' rs = ar.ivoa.externalRegistry.keywordSearch(regEndpoint,"abell",False) #see what we've got print len(rs) #list first 10 identifiers for r in rs[:10] print r['id']: </pre> The output is <pre> 150 ivo://CDS.VizieR/J/A+A/486/755 ivo://uk.ac.le.star.tmpledas/ledas/ledas/abell ivo://nasa.heasarc/wblgalaxy ivo://nasa.heasarc/wbl ivo://nasa.heasarc/twosigma ivo://nasa.heasarc/rassebcs ivo://nasa.heasarc/noras ivo://nasa.heasarc/eingalclus ivo://nasa.heasarc/abell ivo://CDS.VizieR/VII/96 </pre>" name="keywordSearch" >
      • <return description="list of matching resources." type="org.astrogrid.acr.ivoa.resource.Resource[]" uitype="Resource[]" />
      • <param description="resource identifier or endpoint URL of the registry to connect to" name="registry" type="java.net.URI" uitype="URI" />
      • <param description="space separated list of keywords to search for" name="keywords" type="java.lang.String" uitype="String" />
      • <param description="- true to 'OR' together matches. false to 'AND' together matches" name="orValues" type="boolean" uitype="boolean" />
      </method>
    • <method description="Retrieve a named resource from a registry, as an XML document. <blockquote><b>Note: </b>Try to use <tt>getResource(URI, URI)</tt> instead, which returns a result in a more usable format</blockquote> <p /> <pre><b>Example: </b> "Python Example" # connect to the AR from xmlrpc import Server from os.path import expanduser ar = Server(file(expanduser('~/.astrogrid-desktop')).next().strip() +'xmlrpc') #call this function regEndpoint = 'http://www.my.registry.endpoint' resourceID = 'ivo://uk.ac.cam.ast/IPHAS/images/SIAP' xml = ar.ivoa.externalRegistry.getResourceXML(regEndpoint,resourceID) </pre> <pre><b>Example: </b> "Java Example" import org.astrogrid.acr.*; import java.net.URI; import org.astrogrid.acr.ivoa.ExternalRegistry; import org.astrogrid.acr.builtin.ACR Finder f = new Finder(); ACR acr = f.find(); ExternalRegistry reg = (ExternalRegistry)acr.getService(ExternalRegistry.class); URI regEndpoint = new URI("http://www.my.registry.endpoint"); URI resourceID =new URI("ivo://uk.ac.cam.ast/IPHAS/images/SIAP"); Document xml = reg.getResourceXML(regEndpoint,resourceID); </pre> The output will look something like <pre> <ri:Resource xmlns:cea="http://www.ivoa.net/xml/CEA/v1.0rc1" xmlns:ri="http://www.ivoa.net/xml/RegistryInterface/v1.0" xmlns:va="http://www.ivoa.net/xml/VOApplication/v1.0rc1" xmlns:vg="http://www.ivoa.net/xml/VORegistry/v1.0" xmlns:vr="http://www.ivoa.net/xml/VOResource/v1.0" xmlns:vs="http://www.ivoa.net/xml/VODataService/v1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" created="2008-02-22T10:27:11" status="active" updated="2008-02-22T14:15:22" xsi:schemaLocation="http://www.ivoa.net/xml/VOResource/v1.0 http://software.astrogrid.org/schema/registry/RegistryInterface/v1.0/RegistryInterface.xsd http://www.ivoa.net/xml/VOResource/v1.0 http://software.astrogrid.org/schema/vo-resource-types/VOResource/v1.0/VOResource.xsd http://www.ivoa.net/xml/VODataService/v1.0 http://software.astrogrid.org/schema/vo-resource-types/VODataService/v1.0/VODataService.xsd http://www.ivoa.net/xml/VOTable/v1.0 http://software.astrogrid.org/schema/vo-formats/VOTable/v1.0/VOTable.xsd" xsi:type="vr:Service"> <title>IPHAS images</title> <identifier xmlns:sia="http://www.ivoa.net/xml/SIA/v1.0">ivo://uk.ac.cam.ast/IPHAS/images/SIAP</identifier> <curation> <publisher ivo-id="ivo://uk.ac.cam.ast/CASU">CASU</publisher> <creator> <name>IPHAS collaboration</name> </creator> <contact> <name>Guy Rixon</name> <email>gtr@ast.cam.ac.uk</email> </contact> </curation> <content> <subject>image, photometry, Halpha, INT-WFC</subject> <description>Images from the initial data release (IDR) of the INT Photometric Halpha Survey (IPHAS). The survey as a wholeis mapping the northern Galactic Plane in the latitude range |b|&lt;5 deg in the Halpha, r' and i' bands using the Wide Field Camera on the 2.5-m INT telescope at La Palma to a depth of r'=20 (10????). The IDR (Gonzalez-Solares et al. 2007) contains the data obtained between September 2003 and December 2005 during a total of 212 nights. Between these dates, approximately 60 percent of the total survey area was covered in terms of final survey quality.</description> <referenceURL>http://casu.ast.cam.ac.uk/surveys-projects/iphas</referenceURL> <type>Other</type> <contentLevel>Research</contentLevel> </content> <capability xmlns:sia="http://www.ivoa.net/xml/SIA/v1.0" standardID="ivo://ivoa.net/std/SIA" xsi:type="sia:SimpleImageAccess"> <interface xsi:type="vs:ParamHTTP"> <accessURL use="base">http://astrogrid.ast.cam.ac.uk/iphas/siap-atlas/queryImage?</accessURL> </interface> <imageServiceType>Pointed</imageServiceType> <maxQueryRegionSize> <long>360</long> <lat>360</lat> </maxQueryRegionSize> <maxImageExtent> <long>360</long> <lat>360</lat> </maxImageExtent> <maxImageSize> <long>4096</long> <lat>4096</lat> </maxImageSize> <maxFileSize>16800000</maxFileSize> <maxRecords>15000</maxRecords> </capability> </ri:Resource> </pre><dl> <dt>XMLRPC:</dt><dd> will return a string containing the xml document</dd></dl>" name="getResourceXML" >
      • <return description="xml document of the registry entry - a <tt>Resource</tt> document in the <tt>http://www.ivoa.net/xml/VOResource/v1.0</tt> namespace" type="org.w3c.dom.Document" uitype="XML" />
      • <param description="resource identifier or endpoint URL of the registry to connect to" name="registry" type="java.net.URI" uitype="URI" />
      • <param description="identifier of the registry resource to retrieve. e.g.<tt>ivo://uk.ac.cam.ast/IPHAS/images/SIAP</tt>" name="id" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="Retrieve a named resource from a registry. For most uses, it's better to use this method instead of <tt>getResourceXML</tt>, because the result is easier to work with.<dl> <dt>XMLRPC:</dt><dd> will return a struct. See <tt>Resource</tt> for details of keys</dd></dl>" name="getResource" >
      • <return description="a datastructue representing the registry entry - will be a <tt>Resource</tt> or one of it's subclasses depending on the registry entry type." type="org.astrogrid.acr.ivoa.resource.Resource" uitype="Resource" />
      • <param description="resource identifier or endpoint URL of the registry to connect to" name="registry" type="java.net.URI" uitype="URI" />
      • <param description="identifier of the registry entry to retrieve" name="id" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="Search a registry using an XQuery, returning results as XML. <p /> This method can accept an arbitrary XQuery, unlike <tt>xquerySearch(URI, String)</tt>, which requires that the XQuery return a list of VOResource elements. <pre><b>Example: </b> "Python Example" # connect to the AR from xmlrpc import Server from os.path import expanduser ar = Server(file(expanduser('~/.astrogrid-desktop')).next().strip() +'xmlrpc') #call this function xquery =""" <ssap-wavebands> { (:find all spectral services :) let $ssap := //vor:Resource[capability/@standardID="ivo://ivoa.net/std/SSA"] (: find the distinct set of wavebands these services cover (no duplicates) :) for $waveband in distinct-values($ssap/coverage/waveband) order by $waveband (: print each waveband in turn :) return <band name="{data($waveband)</pre>"> { (: list IDs of all services that cover this band :) for $r in $ssap[coverage/waveband=$waveband] return $r/identifier } </band> } </ssap-wavebands> """ regEndpoint = "http://www.my.registry.endpoint" xml = ar.ivoa.externalRegistry.xquerySearchXML(regEndpoint,xquery) } This will return the following result <pre> <ssap-wavebands> <band name="EUV"> <identifier>ivo://iap.fr/FUSE/SSA</identifier> <identifier>ivo://www.g-vo.org/ssa.service.tmap</identifier> </band> <band name="Infrared"> <identifier>ivo://archive.eso.org/ESO-SAF-SSAP</identifier> <identifier>ivo://basebe.obspm.fr/bess0.1</identifier> ... </band> <band name="Millimeter"> <identifier>ivo://svo.laeff/models/dalessio</identifier> <identifier>ivo://voparis.obspm.gepi/BeStars/BeSS/SSAP</identifier> </band> <band name="Optical"> <identifier>ivo://archive.eso.org/ESO-SAF-SSAP</identifier> <identifier>ivo://basebe.obspm.fr/bess0.1</identifier> ... </band> <band name="Radio"> <identifier>ivo://obspm.fr/SSA_HIG</identifier> <identifier>ivo://voparis.obspm.gepi/BeStars/BeSS/SSAP</identifier> </band> <band name="UV"> <identifier>ivo://archive.eso.org/ESO-SAF-SSAP</identifier> <identifier>ivo://basebe.obspm.fr/bess0.1</identifier> ... </band> <band name="X-ray"> <identifier>ivo://svo.iaa/models/SSP/Xray</identifier> <identifier>ivo://www.g-vo.org/ssa.service.tmap</identifier> </band> </ssap-wavebands> </pre><dl> <dt>Note:</dt><dd> The XML view in VOExplorer is useful for constructing new XQueries. Enable it by <tt>Preferences > System > Show Advanced Features</tt></dd> <dt>XMLRPC:</dt><dd> will return the string representation of the xml document.</dd> <dt>See:</dt><dd> <a href="http://www.w3schools.com/xquery/default.asp">XQuery Language Tutorial</a>, </dd></dl>" name="xquerySearchXML" >
      • <return description="the result of executing this xquery over the specified registry - a document of arbitrary structure." type="org.w3c.dom.Document" uitype="XML" />
      • <param description="resource identifier or endpoint URL of the registry to connect to" name="registry" type="java.net.URI" uitype="URI" />
      • <param description="the query to perform. Must return a well-formed xml document - i.e. starting with a single root element." name="xquery" type="java.lang.String" uitype="String" />
      </method>
    • <method description="Search a registry using an XQuery. <p /> <blockquote><b>Warning: </b>This method returns an array of matching <tt>Resource</tt> objects - so the XQuery used must produce whole <tt>VOResource</tt> elements</blockquote> <pre><b>Example: </b> "Python Example" # connect to the AR from xmlrpc import Server from os.path import expanduser ar = Server(file(expanduser('~/.astrogrid-desktop')).next().strip() +'xmlrpc') #call this function xquery ="//vor:Resource[@xsi:type &= '*DataCollection']" regEndpoint = "http://www.my.registry.endpoint" rs = ar.ivoa.externalRegistry.xquerySearch(regEndpoint,xquery) </pre> The above XQuery could be written in a longer equivalent form, which is convenient when there are many filter clauses: <pre> for $r in //vor:Resource where $r/@xsi:type &= '*DataCollection' return $r </pre><dl> <dt>Note:</dt><dd> The XML view in VOExplorer is useful for constructing new XQueries. Enable it by <tt>Preferences > System > Show Advanced Features</tt></dd> <dt>XMLRPC:</dt><dd> will return an array of struct. See <tt>Resource</tt> for details of keys</dd> <dt>See:</dt><dd> <a href="http://www.w3schools.com/xquery/default.asp">XQuery Language Tutorial</a>, </dd></dl>" name="xquerySearch" >
      • <return description="an array containing any registry records present in the query result." type="org.astrogrid.acr.ivoa.resource.Resource[]" uitype="Resource[]" />
      • <param description="resource identifier or endpoint URL of the registry to connect to" name="registry" type="java.net.URI" uitype="URI" />
      • <param description="An XQuery that should return a document, or nodeset, containing whole <tt><Resource></tt> elements. Results are not required to be single-rooted, and resource elements may be embedded within other elements - although the parser will fail in extreme cases." name="xquery" type="java.lang.String" uitype="String" />
      </method>
    • <method description="Access the resource describing a registry itself, as an XML Document.<dl> <dt>XMLRPC:</dt><dd> will return the string representation of the xml document.</dd> <dt>See:</dt><dd> #getResourceXML(URI, URI) Example of registry resource XML, </dd></dl>" name="getIdentityXML" >
      • <return description="that registry's own service description - a single Resource documnt" type="org.w3c.dom.Document" uitype="XML" />
      • <param description="resource identifier or endpoint URL of the registry to connect to" name="registry" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="Access the resource describing a registry itself<dl> <dt>XMLRPC:</dt><dd> will return a struct. See <tt>Resource</tt> for details of keys</dd></dl>" name="getIdentity" >
      • <return description="that registry's own service description" type="org.astrogrid.acr.ivoa.resource.RegistryService" uitype="RegistryService" />
      • <param description="resource identifier or endpoint URL of the registry to connect to" name="registry" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="Build an array of resource objects from an XML document." name="buildResources" >
      • <return description="the parsed resource objects" type="org.astrogrid.acr.ivoa.resource.Resource[]" uitype="Resource[]" />
      • <param description="an xml document of resources, for example one returned from a call to <tt>keywordSearchXML(URI, String, boolean)</tt>" name="doc" type="org.w3c.dom.Document" uitype="XML" />
      </method>
    • <method description="<b>Deprecated: </b>registry of registries does not provide a search interface<p /> " excluded="true" name="getRegistryOfRegistriesEndpoint" >
      • <return description="always null" type="java.net.URI" uitype="URI" />
      </method>
    </component>
  • <component description="AR Service: Query the system-configured Registry. AstroRuntime uses an IVOA-compliant registry to retrieve details of available resources - servers, applications, catalogues, etc. <p/> This component provides a range of different methods to search the registry. The most convenient is to use the <tt>search(String)</tt> method, which accepts a simple query in the form used by VOExplorer's smart-lists. <p/> The endpoint of this registry service can be inspected by calling <tt>getSystemRegistryEndpoint()</tt>. In cases where this service is unavailable, registry queries will automatically fall-back to the backup registry service, whose endpoint is defined by <tt>getFallbackSystemRegistryEndpoint()</tt>. The query functions in this interface are the equivalent to their counterparts in the <tt>ExternalRegistry</tt> interface, but operate against the System and Fallback registries. <blockquote><b>Note: </b>These endpoints can be altered by using the UI preferences pane, or the web interface, or via commandline properties, or programmatically using the <tt>Configuration</tt> service.</blockquote><dl> <dt>See:</dt><dd> <a href="http://www.ivoa.net/Documents/latest/IDs.html">IVOA Identifiers</a>, <a href="http://www.ivoa.net/Documents/latest/VOResource.html">IVOA VOResource Definition</a>, <a href='http://www.ivoa.net/Documents/latest/RegistryInterface.html'>IVOA Registry Interface Standard</a>, <a href="http://www.w3schools.com/xquery/default.asp">XQuery Language Tutorial</a>, ExternalRegistry External Registry - fuller interface to an arbitrary registry, </dd></dl>" interface-class="org.astrogrid.acr.ivoa.Registry" name="registry" >
    • <method description="Perform a search using the query language used by VOExplorer SmartLists (SRQL) <p/> <pre><b>Example: </b> "Search for IR Redshift resources (Python)" # connect to the AR from xmlrpc import Server from os.path import expanduser ar = Server(file(expanduser('~/.astrogrid-desktop')).next().strip() +'xmlrpc') #call this function rs = ar.ivoa.registry.search("ucd = redshift AND waveband = infrared") #see what we've got print len(rs) #list first 10 identifiers for r in rs[:10]: print r['id'] </pre> The output is <pre> 109 ivo://CDS.VizieR/J/ApJ/655/51 ivo://CDS.VizieR/J/ApJ/653/1004 ivo://CDS.VizieR/J/ApJ/649/63 ivo://CDS.VizieR/J/ApJ/634/128 ivo://CDS.VizieR/J/AJ/117/102 ivo://CDS.VizieR/J/AN/329/418 ivo://CDS.VizieR/J/ApJS/166/470 ivo://CDS.VizieR/VII/173 ivo://CDS.VizieR/VII/157 ivo://CDS.VizieR/J/other/PBeiO/18.7 </pre><dl> <dt>Equivalent To:</dt><dd><tt> xquerySearch(toXQuery(srql))</tt></dd> <dt>See:</dt><dd> <a href='http://eurovotech.org/twiki/bin/view/VOTech/SimpleRegistryQueryLanguage'>SRQL Language Description</a>, </dd></dl>" name="search" >
      • <return description="list of matching resources" type="org.astrogrid.acr.ivoa.resource.Resource[]" uitype="Resource[]" />
      • <param description="query to perform" name="srql" type="java.lang.String" uitype="String" />
      </method>
    • <method description="Perform an ADQL/x registry search, return a list of matching resources<dl> <dt>Warning:</dt><dd> The ADQL support is poorly defined in the registry standard, and implementations vary. We recommend using XQuery or keyword searching wherever possible.</dd> <dt>See:</dt><dd> ExternalRegistry#adqlxSearch, </dd></dl>" excluded="true" name="adqlxSearch" >
      • <return description="" type="org.astrogrid.acr.ivoa.resource.Resource[]" uitype="Resource[]" />
      • <param description="" name="adqlx" type="org.w3c.dom.Document" uitype="XML" />
      </method>
    • <method description="Perform an ADQL/s registry search, return a list of matching resources.<dl> <dt>Warning:</dt><dd> The ADQL support is poorly defined in the registry standard, and implementations vary. We recommend using XQuery or keyword searching wherever possible.</dd> <dt>See:</dt><dd> ExternalRegistry#adqlsSearch, </dd></dl>" excluded="true" name="adqlsSearch" >
      • <return description="a list of matching resources" type="org.astrogrid.acr.ivoa.resource.Resource[]" uitype="Resource[]" />
      • <param description="a string query (string form of ADQL)" name="adqls" type="java.lang.String" uitype="String" />
      </method>
    • <method description="Perform a keyword search. <p/> {@example "Python Example" # connect to the AR from xmlrpc import Server from os.path import expanduser ar = Server(file(expanduser('~/.astrogrid-desktop')).next().strip() +'xmlrpc') #call this function rs = ar.ivoa.registry.keywordSearch("abell",False) #see what we've got print len(rs) #list first 10 identifiers for r in rs[:10] print r['id']: </pre> The output is <pre> 150 ivo://CDS.VizieR/J/A+A/486/755 ivo://uk.ac.le.star.tmpledas/ledas/ledas/abell ivo://nasa.heasarc/wblgalaxy ivo://nasa.heasarc/wbl ivo://nasa.heasarc/twosigma ivo://nasa.heasarc/rassebcs ivo://nasa.heasarc/noras ivo://nasa.heasarc/eingalclus ivo://nasa.heasarc/abell ivo://CDS.VizieR/VII/96 </pre>" name="keywordSearch" >
      • <return description="list of matching resources." type="org.astrogrid.acr.ivoa.resource.Resource[]" uitype="Resource[]" />
      • <param description="space separated list of keywords to search for" name="keywords" type="java.lang.String" uitype="String" />
      • <param description="- true to 'OR' together matches. false to 'AND' together matches" name="orValues" type="boolean" uitype="boolean" />
      </method>
    • <method description="Translate a SRQL query (as used by VOExplorer SmartLists) into an equivalent XQuery<dl> <dt>See:</dt><dd> <a href='http://eurovotech.org/twiki/bin/view/VOTech/SimpleRegistryQueryLanguage'>SRQL Language Description</a>, </dd></dl>" name="toXQuery" >
      • <return description="the equivalent XQuery" type="java.lang.String" uitype="String" />
      • <param description="the query to translate" name="srql" type="java.lang.String" uitype="String" />
      </method>
    • <method description="Retrieve a named resource from the registry.<dl> <dt>XMLRPC:</dt><dd> will return a struct. See <tt>Resource</tt> for details of keys</dd></dl>" name="getResource" >
      • <return description="a datastructure representing the registry entry - will be a <tt>Resource</tt> or one of it's subclasses depending on the registry entry type." type="org.astrogrid.acr.ivoa.resource.Resource" uitype="Resource" />
      • <param description="identifier of the registry resource to retrieve. e.g.<tt>ivo://uk.ac.cam.ast/IPHAS/images/SIAP</tt>" name="id" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="Search the registry using an XQuery. <p/> <blockquote><b>Warning: </b>This method returns an array of matching <tt>Resource</tt> objects - so the XQuery used must produce whole <tt>VOResource</tt> elements</blockquote> <pre><b>Example: </b> "Python Example" # connect to the AR from xmlrpc import Server from os.path import expanduser ar = Server(file(expanduser('~/.astrogrid-desktop')).next().strip() +'xmlrpc') #call this function xquery ="//vor:Resource[@xsi:type &= '*DataCollection']" rs = ar.ivoa.registry.xquerySearch(xquery) </pre> The above XQuery could be written in a longer equivalent form, which is convenient when there are many filter clauses: <pre> for $r in //vor:Resource where $r/@xsi:type &= '*DataCollection' return $r </pre><dl> <dt>Note:</dt><dd> The XML view in VOExplorer is useful for constructing new XQueries. Enable it by <tt>Preferences > System > Show Advanced Features</tt></dd> <dt>XMLRPC:</dt><dd> will return an array of struct. See <tt>Resource</tt> for details of keys</dd> <dt>See:</dt><dd> <a href="http://www.w3schools.com/xquery/default.asp">XQuery Language Tutorial</a>, Dal#getRegistryXQuery() Dal.getRegistryXQuery() - produces XQueries to list all DAL services., </dd></dl>" name="xquerySearch" >
      • <return description="an array containing any registry records present in the query result." type="org.astrogrid.acr.ivoa.resource.Resource[]" uitype="Resource[]" />
      • <param description="An XQuery that should return a document, or nodeset, containing whole <tt><Resource></tt> elements. Results are not required to be single-rooted, and resource elements may be embedded within other elements - although the parser will fail in extreme cases." name="xquery" type="java.lang.String" uitype="String" />
      </method>
    • <method description="Search the registry using an XQuery, returning results as XML. <p /> This method can accept an arbitrary XQuery, unlike <tt>xquerySearch(String)</tt>, which requires that the XQuery return a list of VOResource elements. <pre><b>Example: </b> "Python Example" # connect to the AR from xmlrpc import Server from os.path import expanduser ar = Server(file(expanduser('~/.astrogrid-desktop')).next().strip() +'xmlrpc') #call this function xquery =""" <ssap-wavebands> { (:find all spectral services :) let $ssap := //vor:Resource[capability/@standardID="ivo://ivoa.net/std/SSA"] (: find the distinct set of wavebands these services cover (no duplicates) :) for $waveband in distinct-values($ssap/coverage/waveband) order by $waveband (: print each waveband in turn :) return <band name="{data($waveband)</pre>"> { (: list IDs of all services that cover this band :) for $r in $ssap[coverage/waveband=$waveband] return $r/identifier } </band> } </ssap-wavebands> """ xml = ar.ivoa.registry.xquerySearchXML(regEndpoint,xquery) } This will return the following result <pre> <ssap-wavebands> <band name="EUV"> <identifier>ivo://iap.fr/FUSE/SSA</identifier> <identifier>ivo://www.g-vo.org/ssa.service.tmap</identifier> </band> <band name="Infrared"> <identifier>ivo://archive.eso.org/ESO-SAF-SSAP</identifier> <identifier>ivo://basebe.obspm.fr/bess0.1</identifier> ... </band> <band name="Millimeter"> <identifier>ivo://svo.laeff/models/dalessio</identifier> <identifier>ivo://voparis.obspm.gepi/BeStars/BeSS/SSAP</identifier> </band> <band name="Optical"> <identifier>ivo://archive.eso.org/ESO-SAF-SSAP</identifier> <identifier>ivo://basebe.obspm.fr/bess0.1</identifier> ... </band> <band name="Radio"> <identifier>ivo://obspm.fr/SSA_HIG</identifier> <identifier>ivo://voparis.obspm.gepi/BeStars/BeSS/SSAP</identifier> </band> <band name="UV"> <identifier>ivo://archive.eso.org/ESO-SAF-SSAP</identifier> <identifier>ivo://basebe.obspm.fr/bess0.1</identifier> ... </band> <band name="X-ray"> <identifier>ivo://svo.iaa/models/SSP/Xray</identifier> <identifier>ivo://www.g-vo.org/ssa.service.tmap</identifier> </band> </ssap-wavebands> </pre><dl> <dt>Note:</dt><dd> The XML view in VOExplorer is useful for constructing new XQueries. Enable it by <tt>Preferences > System > Show Advanced Features</tt></dd> <dt>XMLRPC:</dt><dd> will return the string representation of the xml document.</dd> <dt>See:</dt><dd> <a href="http://www.w3schools.com/xquery/default.asp">XQuery Language Tutorial</a>, ExternalRegistry#getResourceXML(URI, URI) Example of registry resource XML, </dd></dl>" name="xquerySearchXML" >
      • <return description="the result of executing this xquery over the specified registry - a document of arbitrary structure." type="org.w3c.dom.Document" uitype="XML" />
      • <param description="the query to perform. Must return a well-formed xml document - i.e. starting with a single root element." name="xquery" type="java.lang.String" uitype="String" />
      </method>
    • <method description="Access the resource that describing the system registry itself. <p /> This returned resource describes what search capabilities are provided by the registry<dl> <dt>See:</dt><dd> SearchCapability, ExternalRegistry#getIdentity, </dd></dl>" name="getIdentity" >
      • <return description="" type="org.astrogrid.acr.ivoa.resource.RegistryService" uitype="RegistryService" />
      </method>
    • <method description="Access the endpoint of the system registry" name="getSystemRegistryEndpoint" >
      • <return description="" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="Access the endpoint of the fallback system registry" name="getFallbackSystemRegistryEndpoint" >
      • <return description="" type="java.net.URI" uitype="URI" />
      </method>
    </component>
  • <component description="AR Service: Query for <b>Images</b> from Simple Image Access Protocol (SIAP) services (DAL). <p /> <blockquote><b>Note: </b>This class provides functions to construct a DAL query. To execute that query, see the examples and methods in the <tt>Dal</tt> class. </blockquote> <h2>Example</h2> The following example constructs a query URL, performs the query, and then downloads the resulting images. See <tt>Dal</tt> for other things that can be done with a query URL. <pre><b>Example: </b> "Query a SIAP service and download images (Python)" # connect to the AR from xmlrpc import Server from os.path import expanduser ar = Server(file(expanduser('~/.astrogrid-desktop')).next().strip() +'xmlrpc') siap = ar.ivoa.siap #take a reference to the AR SIAP component #the SIAP service to query (selected using voexplorer) service = "ivo://irsa.ipac/MAST-Scrapbook" #resolve an object name to a position pos = ar.cds.sesame.resolve('m54') #build a query query = siap.constructQuery(service,pos['ra'],pos['dec'],0.001) print "QueryURL",query #execute the query rows = siap.execute(query) #inspect what we've got. print "Rows Returned",len(rows) print "Metadata Keys",rows[0].keys() print "Image URLs" for r in rows : print r['AccessReference'] #download these datasets into current directory #compute url for current directory from urlparse import urlunsplit from os import getcwd currentDirURL = urlunsplit(['file','',getcwd(),'','']) print "Downloading images to",currentDirURL siap.saveDatasets(query,currentDirURL) </pre> The output from this script is shown below. The result is that 3 files (<tt>data-0.fits</tt>, <tt>data-1.fits</tt>, <tt>data-2.fits</tt>) are downloaded to the current directory. <blockquote><tt> QueryURL http://irsa.ipac.caltech.edu/cgi-bin/Atlas/nph-atlas?mission=Scrapbook&hdr_location=%5CScrapbookDataPath%5C&collection_desc=The+MAST+Image%2FSpectra+Scrapbook+%28Scrapbook%29&SIAP_ACTIVE=1&POS=283.7636667%2C-30.4785&SIZE=0.0010<br /> Rows Returned 3<br /> Metadata Keys ['Scale', 'crpix1', 'crpix2', 'Title', 'inst_id', 'cd2_1', 'ctype2', 'ctype1', 'cd2_2', 'DEC', 'size', 'RADAR', 'Format', 'naxis1', 'naxis2', 'object_id', 'MAST', 'bandpass_id', 'fname', '2mass_fits', 'Naxes', 'RA', 'mjd', 'AccessReference', 'crval2', 'crval1', 'bandpass_unit', 'Naxis', 'GIF', 'ra4', 'bandpass_lolimit', 'ra2', 'ra3', 'ra1', 'dec4', 'dec1', 'dec2', 'dec3', 'cd1_2', 'VOX:WCS_CDMatrix', 'cd1_1', 'data_id', '2mass_jpeg', 'bandpass_refvalue', 'bandpass_hilimit']<br /> Image URLs<br /> http://archive.stsci.edu/cgi-bin/hst_preview_search?imfmt=fits&name=U37GA405R<br /> http://archive.stsci.edu/cgi-bin/hst_preview_search?imfmt=fits&name=U37GA40CR<br /> http://archive.stsci.edu/cgi-bin/hst_preview_search?imfmt=fits&name=O5HJT3DYQ<br /> Downloading images to file:///Users/noel/Documents/workspace/python </tt></blockquote><dl> <dt>See:</dt><dd> Dal, <a href="http://www.ivoa.net/Documents/latest/SIA.html">IVOA SIAP Standard Document</a>, Sesame Sesame - resolves object names to RA,Dec positions, #getRegistryXQuery() getRegistryXQuery() - a query to list all SIAP Services., </dd></dl>" interface-class="org.astrogrid.acr.ivoa.Siap" name="siap" >
    • <method description="Construct a SIAP Query on Right Ascension, Declination and Search radius (decimal degrees)." name="constructQuery" >
      • <return description="A query URL. The query can then be performed by either <ul> <li> programmatically performing a HTTP GET on the query URL </li> <li> passing the query URL to one of the <tt>Dal</tt> <tt>execute</tt> methods - such as <tt>executeAndSave(URL, URI)</tt> </li> </ul>" type="java.net.URL" uitype="URL" />
      • <param description="Resource Identifier <i>or</i> URL of the Service to query. <i>Prefer providing a Resource Identifier, as this insulates against changes in service endpoint</i>. <blockquote><dl> <dt>Resource Identifier</dt><dd> The resource ID of the SIAP service to query, as returned by <tt>Resource#getId()</tt>. Example: <tt>ivo://nasa.heasarc/skyview/halpha</tt> <br/>The <tt>Registry</tt> will be queried to resolve the resource ID into a <tt>Resource</tt> object, from which the <tt>SiapCapability</tt> will be found, from which in turn the first <tt>AccessURL</tt> will be used. </dd> <dt>URL of the Service</dt><dd> The endpoint URL. Can be any <tt>http://</tt> URL. </dd> </dl></blockquote>" name="service" type="java.net.URI" uitype="URI" />
      • <param description="right ascension e.g <tt>6.950</tt>" name="ra" type="double" uitype="double" />
      • <param description="declination e.g. <tt>-1.6</tt>" name="dec" type="double" uitype="double" />
      • <param description="radius of cone e.g. <tt>0.1</tt>" name="size" type="double" uitype="double" />
      </method>
    • <method description="Construct a SIAP Query on Right Ascension, Declination, Search radius (decimal degrees), and Format." name="constructQueryF" >
      • <return description="A query URL. The query can then be performed by either <ul> <li> programmatically performing a HTTP GET on the query URL </li> <li> passing the query URL to one of the <tt>Dal</tt> <tt>execute</tt> methods - such as <tt>executeAndSave(URL, URI)</tt> </li> </ul>" type="java.net.URL" uitype="URL" />
      • <param description="Resource Identifier <i>or</i> URL of the Service to query. <i>Prefer providing a Resource Identifier, as this insulates against changes in service endpoint</i>. <blockquote><dl> <dt>Resource Identifier</dt><dd> The resource ID of the SIAP service to query, as returned by <tt>Resource#getId()</tt>. Example: <tt>ivo://nasa.heasarc/skyview/halpha</tt> <br/>The <tt>Registry</tt> will be queried to resolve the resource ID into a <tt>Resource</tt> object, from which the <tt>SiapCapability</tt> will be found, from which in turn the first <tt>AccessURL</tt> will be used. </dd> <dt>URL of the Service</dt><dd> The endpoint URL. Can be any <tt>http://</tt> URL. </dd> </dl></blockquote>" name="service" type="java.net.URI" uitype="URI" />
      • <param description="right ascension e.g <tt>6.950</tt>" name="ra" type="double" uitype="double" />
      • <param description="declination e.g. <tt>-1.6</tt>" name="dec" type="double" uitype="double" />
      • <param description="radius of cone e.g. <tt>0.1</tt>" name="size" type="double" uitype="double" />
      • <param description="format of images e.g. <tt>FITS</tt>" name="format" type="java.lang.String" uitype="String" />
      </method>
    • <method description="Construct a SIAP Query on Right Ascension, Declination, and Search area in RA and Dec" name="constructQueryS" >
      • <return description="A query URL. The query can then be performed by either <ul> <li> programmatically performing a HTTP GET on the query URL </li> <li> passing the query URL to one of the <tt>Dal</tt> <tt>execute</tt> methods - such as <tt>executeAndSave(URL, URI)</tt> </li> </ul>" type="java.net.URL" uitype="URL" />
      • <param description="Resource Identifier <i>or</i> URL of the Service to query. <i>Prefer providing a Resource Identifier, as this insulates against changes in service endpoint</i>. <blockquote><dl> <dt>Resource Identifier</dt><dd> The resource ID of the SIAP service to query, as returned by <tt>Resource#getId()</tt>. Example: <tt>ivo://nasa.heasarc/skyview/halpha</tt> <br/>The <tt>Registry</tt> will be queried to resolve the resource ID into a <tt>Resource</tt> object, from which the <tt>SiapCapability</tt> will be found, from which in turn the first <tt>AccessURL</tt> will be used. </dd> <dt>URL of the Service</dt><dd> The endpoint URL. Can be any <tt>http://</tt> URL. </dd> </dl></blockquote>" name="service" type="java.net.URI" uitype="URI" />
      • <param description="right ascension e.g <tt>6.950</tt>" name="ra" type="double" uitype="double" />
      • <param description="declination e.g. <tt>-1.6</tt>" name="dec" type="double" uitype="double" />
      • <param description="size of <tt>ra</tt> e.g. <tt>0.1</tt>" name="ra_size" type="double" uitype="double" />
      • <param description="size of <tt>dec</tt> e.g. <tt>0.2</tt>" name="dec_size" type="double" uitype="double" />
      </method>
    • <method description="Construct a SIAP Query on Right Ascension, Declination, Search area in RA and Dec, and Format." name="constructQuerySF" >
      • <return description="A query URL. The query can then be performed by either <ul> <li> programmatically performing a HTTP GET on the query URL </li> <li> passing the query URL to one of the <tt>Dal</tt> <tt>execute</tt> methods - such as <tt>executeAndSave(URL, URI)</tt> </li> </ul>" type="java.net.URL" uitype="URL" />
      • <param description="Resource Identifier <i>or</i> URL of the Service to query. <i>Prefer providing a Resource Identifier, as this insulates against changes in service endpoint</i>. <blockquote><dl> <dt>Resource Identifier</dt><dd> The resource ID of the SIAP service to query, as returned by <tt>Resource#getId()</tt>. Example: <tt>ivo://nasa.heasarc/skyview/halpha</tt> <br/>The <tt>Registry</tt> will be queried to resolve the resource ID into a <tt>Resource</tt> object, from which the <tt>SiapCapability</tt> will be found, from which in turn the first <tt>AccessURL</tt> will be used. </dd> <dt>URL of the Service</dt><dd> The endpoint URL. Can be any <tt>http://</tt> URL. </dd> </dl> </blockquote>" name="service" type="java.net.URI" uitype="URI" />
      • <param description="right ascension e.g <tt>6.950</tt>" name="ra" type="double" uitype="double" />
      • <param description="declination e.g. <tt>-1.6</tt>" name="dec" type="double" uitype="double" />
      • <param description="size of <tt>ra</tt> e.g. <tt>0.1</tt>" name="ra_size" type="double" uitype="double" />
      • <param description="size of <tt>dec</tt> e.g. <tt>0.2</tt>" name="dec_size" type="double" uitype="double" />
      • <param description="format of images <tt>FITS</tt>" name="format" type="java.lang.String" uitype="String" />
      </method>
    • <method description="Add an additional option to a previously constructed query. <p/> Sometimes neccessary, for some DAL protocols, to provide optional query parameters." name="addOption" >
      • <return description="<tt>query</tt> with the option appended." type="java.net.URL" uitype="URL" />
      • <param description="the query url" name="query" type="java.net.URL" uitype="URL" />
      • <param description="name of the option to add" name="optionName" type="java.lang.String" uitype="String" />
      • <param description="value for the new option" name="optionValue" type="java.lang.String" uitype="String" />
      </method>
    • <method description="Execute a DAL query, returning a datastructure<dl> <dt>Note:</dt><dd> When querying a SIAP service, the result uses keys drawn from the SIAP dataset datamodel</dd></dl>" name="execute" >
      • <return description="The service response parsed as a list of of rows. Each row is represented is a map between UCD or datamodel keys and values from the response" type="java.util.Map[]" uitype="Map[]" />
      • <param description="query url to execute" name="query" type="java.net.URL" uitype="URL" />
      </method>
    • <method description="Execute a DAL query, returning a Votable document.<dl> <dt>Note:</dt><dd> This is a convenience method that just performs a 'GET' on the query url. Many programming languages support this functionality internally.</dd></dl>" name="executeVotable" >
      • <return description="a votable document." type="org.w3c.dom.Document" uitype="XML" />
      • <param description="query url to execute" name="query" type="java.net.URL" uitype="URL" />
      </method>
    • <method description="<b>Deprecated: </b>- use executeVotable()<p /> " excluded="true" name="getResults" >
      • <return description="" type="org.w3c.dom.Document" uitype="XML" />
      • <param description="" name="url" type="java.net.URL" uitype="URL" />
      </method>
    • <method description="Execute a DAL query and save the resulting document.<dl> <dt>Note:</dt><dd> in the case of saving to myspace, the myspace server performs the query - the data does not pass through the user's computer.</dd> <dt>See:</dt><dd> Systems#listSchemes() List of supported URI schemes for <tt>saveLocation</tt>, </dd></dl>" name="executeAndSave" >
      • <return description="" type="java.lang.Void" uitype="void" />
      • <param description="query url to execute" name="query" type="java.net.URL" uitype="URL" />
      • <param description="location to save result document - For example a <tt>file:/</tt>, <tt>ivo://</tt> (myspace), <tt>ftp://</tt> location" name="saveLocation" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="<b>Deprecated: </b>- use executeAndSave()<p /> " excluded="true" name="saveResults" >
      • <return description="" type="java.lang.Void" uitype="void" />
      • <param description="" name="url" type="java.net.URL" uitype="URL" />
      • <param description="" name="saveLocation" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="Execute a DAL query, and save the datasets referenced by the response. <p /> Applies to those DAL protocols (<tt>Siap</tt>, <tt>Ssap</tt>, <tt>Stap</tt>) where the response points to external data files.<dl> <dt>Note:</dt><dd> In the case of saving to myspace or vospace, the myspace server performs the query and dataset download - the data does not pass through the user's computer.</dd> <dt>See:</dt><dd> Siap Example of Use, Systems#listSchemes() List of supported URI schemes for <tt>saveLocation</tt>, </dd></dl>" name="saveDatasets" >
      • <return description="number of datasets saved." type="int" uitype="int" />
      • <param description="query url to execute" name="query" type="java.net.URL" uitype="URL" />
      • <param description="location of a directory in which to save the datasets. May be any of the filesystem types listed in <tt>Systems#listSchemes()</tt>." name="saveLocation" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="Execute a DAL query, and save a subset of the datasets referenced by the response. <p /> Applies to those DAL protocols (<tt>Siap</tt>, <tt>Ssap</tt>, <tt>Stap</tt>) where the response points to external data files.<dl> <dt>Note:</dt><dd> in the case of saving to myspace or vospace, the myspace server performs the query and dataset download - the data does not pass through the user's computer.</dd> <dt>See:</dt><dd> Systems#listSchemes() List of supported URI schemes for <tt>saveLocation</tt>, </dd></dl>" name="saveDatasetsSubset" >
      • <return description="number of datasets saved." type="int" uitype="int" />
      • <param description="the DAL query" name="query" type="java.net.URL" uitype="URL" />
      • <param description="location of a directory in which to save the datasets. May be any of the filesystem types listed in <tt>Systems#listSchemes()</tt>." name="saveLocation" type="java.net.URI" uitype="URI" />
      • <param description="list of Integers - indexes of the rows in the query response for which to save the dataset. (0= first row)" name="rows" type="java.util.List" uitype="List" />
      </method>
    • <method description="Returns a SRQL query that, when passed to the registry, will return all know services of that type. <br/> can be used as a starting point for filters, etc. <blockquote><b>Warning: </b>In the case of <tt>Cone</tt> the registry query will return far too many to be useful - it is necessary to use this xquery as a starting point for building a more tightly-constrained query.</blockquote> <pre><b>Example: </b> "Example of querying for cone services related to 'dwarf'" # connect to the AR from xmlrpc import Server from os.path import expanduser ar = Server(file(expanduser('~/.astrogrid-desktop')).next().strip() +'xmlrpc') #call this method to get a query to list all Cone-search services. coneQuery = ar.ivoa.cone.getRegistryQuery() #combine it into a more tightly contrained query myQuery = coneQuery + ' and subject=dwarf' # perform the query rs = ar.ivoa.registry.searcg(myQuery) #inspect the results print len(rs) for r in rs: print r['id'] </pre><dl> <dt>See:</dt><dd> <a href='http://eurovotech.org/twiki/bin/view/VOTech/SimpleRegistryQueryLanguage'>SRQL Language Description</a>, #getRegistryXQuery() alternative that returns an XQuery, </dd></dl>" name="getRegistryQuery" >
      • <return description="a SRQL query string" type="java.lang.String" uitype="String" />
      </method>
    • <method description="<b>Deprecated: </b><p /> helper method - returns an ADQL/s query that should be passed to a registry to list all available DAL services of this type. <br/> can be used as a starting point for filters, etc." excluded="true" name="getRegistryAdqlQuery" >
      • <return description="an adql query string" type="java.lang.String" uitype="String" />
      </method>
    • <method description="Return an XQuery that, when passed to the registry, will return all known services of that type. <blockquote><b>Warning: </b>In the case of <tt>Cone</tt> the registry query will return far too many to be useful - it is necessary to use this xquery as a starting point for building a more tightly-constrained query.</blockquote> <pre><b>Example: </b> "Example of querying for cone services related to 'dwarf'" # connect to the AR from xmlrpc import Server from os.path import expanduser ar = Server(file(expanduser('~/.astrogrid-desktop')).next().strip() +'xmlrpc') #call this method to get a query to list all Cone-search services. coneQuery = ar.ivoa.cone.getRegistryXQuery() #combine it into a more tightly contrained query myQuery = "let $cq := " + coneQuery + """ for $r in $cq where contains($r/content/subject,'dwarf') return $r """ # perform the query rs = ar.ivoa.registry.xquerySearch(myQuery) #inspect the results print len(rs) for r in rs: print r['id'] </pre> the output of this script is <pre> 2 ivo://nasa.heasarc/rasswd ivo://nasa.heasarc/mcksion </pre><dl> <dt>See:</dt><dd> #getRegistryQuery() alternative that returns a SRQL query., <a href="http://www.w3schools.com/xquery/default.asp">XQuery Language Tutorial</a>, </dd></dl>" name="getRegistryXQuery" >
      • <return description="an xquery string" type="java.lang.String" uitype="String" />
      </method>
    </component>
  • <component description="AR Service: Query for <b>Spectra</b> from Simple Spectral Access Protool (SSAP) Services (DAL). <p /> <blockquote><b>Note: </b>This class provides functions to construct a DAL query. To execute that query, see the examples and methods in the <tt>Dal</tt> class. </blockquote> <h2>Example</h2> The following example constructs a query URL, performs the query, and then downloads the first three spectra. See <tt>Dal</tt> for other things that can be done with a query URL. <pre><b>Example: </b> "Query a SSAP service and download a subset of spectra (Python)" # connect to the AR from xmlrpc import Server from os.path import expanduser ar = Server(file(expanduser('~/.astrogrid-desktop')).next().strip() +'xmlrpc') ssap = ar.ivoa.ssap #take a reference to the AR SSAP component #the SSAP service to query (selected using voexplorer) service = "ivo://archive.eso.org/ESO-SAF-SSAP" #resolve an object name to a position pos = ar.cds.sesame.resolve('m1') #build a query query = ssap.constructQuery(service,pos['ra'],pos['dec'],0.005) print "QueryURL",query #execute the query rows = ssap.execute(query) #inspect what we've got. print "Rows Returned",len(rows) print "Metadata Keys",rows[0].keys() #download first three datasets into current directory #compute url for current directory from urlparse import urlunsplit from os import getcwd currentDirURL = urlunsplit(['file','',getcwd(),'','']) print "Downloading images to",currentDirURL ssap.saveDatasetsSubset(query,currentDirURL,[0,1,2]) </pre> The output of this script is shown below. <blockquote><tt> QueryURL http://archive.eso.org/apps/ssaserver/EsoProxySsap?POS=83.6332083%2C22.0144722&SIZE=0.0050&REQUEST=queryData <br /> Rows Returned 63<br /> Metadata Keys ['meta.bib.bibcode', 'SpectralLocation', 'time.duration;obs.exposure', 'meta.display.url', 'pos.eq', 'AssocID', 'time;meta.dataset', 'meta.id;obs.seq', 'SpectralAxisUnit', 'TimeCalibration', 'meta.code.class;obs', 'meta.ref.url', 'FluxCalibration', 'time.duration;obs', 'instr.fov', 'FovRef', 'Format', 'PublisherDate', 'Collection', 'meta.id;meta.dataset', 'meta.curation', 'meta.id;obs', 'DataLength', 'FluxAxisUnit', 'DatasetType', 'pos.eq.ra;meta.main', 'meta.id;instr', 'meta.title;obs.proposal', 'instr.bandwidth', 'meta.code.class;obs.param', 'time.start;obs', 'time.epoch', 'meta.version;meta.dataset', 'pos.eq.dec;meta.main', 'SpectralCalibration', 'instr.bandpass', 'time.equinox;pos.frame', 'PosAngle', 'meta.title;meta.dataset', 'Creator', 'meta.code.class', 'em;stat.min', 'CreationType', 'instr.setup', 'SpatialCalibration', 'meta.code.class;instr.setup', 'meta.id;src', 'SpaceFrameName', 'meta.code;obs.proposal', 'em;stat.max', 'DataSource', 'meta.id.PI', 'time.end;obs', 'DataModel', 'meta.id;instr.tel']<br /> Downloading images to file:///Users/noel/Documents/workspace/python </tt></blockquote><dl> <dt>See:</dt><dd> Dal, Sesame Sesame - resolves object names to RA,Dec positions, #getRegistryXQuery() getRegistryXQuery() - a query to list all SSAP Services., <a href='http://www.ivoa.net/Documents/latest/SSA.html'>IVOA SSAP Standard Document</a>, </dd></dl>" interface-class="org.astrogrid.acr.ivoa.Ssap" name="ssap" >
    • <method description="Construct a SSAP Query on Right Ascension, Declination and Search radius (decimal degrees)." name="constructQuery" >
      • <return description="A query URL. The query can then be performed by either <ul> <li> programmatically performing a HTTP GET on the query URL </li> <li> passing the query URL to one of the <tt>Dal</tt> <tt>execute</tt> methods - such as <tt>executeAndSave(URL, URI)</tt> </li> </ul>" type="java.net.URL" uitype="URL" />
      • <param description="Resource Identifier <i>or</i> URL of the Service to query. <i>Prefer providing a Resource Identifier, as this insulates against changes in service endpoint</i>. <blockquote><dl> <dt>Resource Identifier</dt><dd> The resource ID of the SSAP service to query, as returned by <tt>Resource#getId()</tt>. Example: <tt>ivo://archive.eso.org/ESO-SAF-SSAP</tt> <br/>The <tt>Registry</tt> will be queried to resolve the resource ID into a <tt>Resource</tt> object, from which the <tt>SsapCapability</tt> will be found, from which in turn the first <tt>AccessURL</tt> will be used. </dd> <dt>URL of the Service</dt><dd> The endpoint URL. Can be any <tt>http://</tt> URL. </dd> </dl></blockquote>" name="service" type="java.net.URI" uitype="URI" />
      • <param description="right ascension e.g <tt>6.950</tt>" name="ra" type="double" uitype="double" />
      • <param description="declination e.g. <tt>-1.6</tt>" name="dec" type="double" uitype="double" />
      • <param description="radius of cone e.g. <tt>0.1</tt>" name="size" type="double" uitype="double" />
      </method>
    • <method description="Construct a SSAP Query on Right Ascension, Declination, and Search area in RA and Dec" name="constructQueryS" >
      • <return description="A query URL. The query can then be performed by either <ul> <li> programmatically performing a HTTP GET on the query URL </li> <li> passing the query URL to one of the <tt>Dal</tt> <tt>execute</tt> methods - such as <tt>executeAndSave(URL, URI)</tt> </li> </ul>" type="java.net.URL" uitype="URL" />
      • <param description="Resource Identifier <i>or</i> URL of the Service to query. <i>Prefer providing a Resource Identifier, as this insulates against changes in service endpoint</i>. <blockquote><dl> <dt>Resource Identifier</dt><dd> The resource ID of the SSAP service to query, as returned by <tt>Resource#getId()</tt>. Example: <tt>ivo://archive.eso.org/ESO-SAF-SSAP</tt> <br/>The <tt>Registry</tt> will be queried to resolve the resource ID into a <tt>Resource</tt> object, from which the <tt>SsapCapability</tt> will be found, from which in turn the first <tt>AccessURL</tt> will be used. </dd> <dt>URL of the Service</dt><dd> The endpoint URL. Can be any <tt>http://</tt> URL. </dd> </dl></blockquote>" name="service" type="java.net.URI" uitype="URI" />
      • <param description="right ascension e.g <tt>6.950</tt>" name="ra" type="double" uitype="double" />
      • <param description="declination e.g. <tt>-1.6</tt>" name="dec" type="double" uitype="double" />
      • <param description="size of <tt>ra</tt> e.g. <tt>0.1</tt>" name="ra_size" type="double" uitype="double" />
      • <param description="size of <tt>dec</tt> e.g. <tt>0.2</tt>" name="dec_size" type="double" uitype="double" />
      </method>
    • <method description="Add an additional option to a previously constructed query. <p/> Sometimes neccessary, for some DAL protocols, to provide optional query parameters." name="addOption" >
      • <return description="<tt>query</tt> with the option appended." type="java.net.URL" uitype="URL" />
      • <param description="the query url" name="query" type="java.net.URL" uitype="URL" />
      • <param description="name of the option to add" name="optionName" type="java.lang.String" uitype="String" />
      • <param description="value for the new option" name="optionValue" type="java.lang.String" uitype="String" />
      </method>
    • <method description="Execute a DAL query, returning a datastructure<dl> <dt>Note:</dt><dd> When querying a SIAP service, the result uses keys drawn from the SIAP dataset datamodel</dd></dl>" name="execute" >
      • <return description="The service response parsed as a list of of rows. Each row is represented is a map between UCD or datamodel keys and values from the response" type="java.util.Map[]" uitype="Map[]" />
      • <param description="query url to execute" name="query" type="java.net.URL" uitype="URL" />
      </method>
    • <method description="Execute a DAL query, returning a Votable document.<dl> <dt>Note:</dt><dd> This is a convenience method that just performs a 'GET' on the query url. Many programming languages support this functionality internally.</dd></dl>" name="executeVotable" >
      • <return description="a votable document." type="org.w3c.dom.Document" uitype="XML" />
      • <param description="query url to execute" name="query" type="java.net.URL" uitype="URL" />
      </method>
    • <method description="<b>Deprecated: </b>- use executeVotable()<p /> " excluded="true" name="getResults" >
      • <return description="" type="org.w3c.dom.Document" uitype="XML" />
      • <param description="" name="url" type="java.net.URL" uitype="URL" />
      </method>
    • <method description="Execute a DAL query and save the resulting document.<dl> <dt>Note:</dt><dd> in the case of saving to myspace, the myspace server performs the query - the data does not pass through the user's computer.</dd> <dt>See:</dt><dd> Systems#listSchemes() List of supported URI schemes for <tt>saveLocation</tt>, </dd></dl>" name="executeAndSave" >
      • <return description="" type="java.lang.Void" uitype="void" />
      • <param description="query url to execute" name="query" type="java.net.URL" uitype="URL" />
      • <param description="location to save result document - For example a <tt>file:/</tt>, <tt>ivo://</tt> (myspace), <tt>ftp://</tt> location" name="saveLocation" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="<b>Deprecated: </b>- use executeAndSave()<p /> " excluded="true" name="saveResults" >
      • <return description="" type="java.lang.Void" uitype="void" />
      • <param description="" name="url" type="java.net.URL" uitype="URL" />
      • <param description="" name="saveLocation" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="Execute a DAL query, and save the datasets referenced by the response. <p /> Applies to those DAL protocols (<tt>Siap</tt>, <tt>Ssap</tt>, <tt>Stap</tt>) where the response points to external data files.<dl> <dt>Note:</dt><dd> In the case of saving to myspace or vospace, the myspace server performs the query and dataset download - the data does not pass through the user's computer.</dd> <dt>See:</dt><dd> Siap Example of Use, Systems#listSchemes() List of supported URI schemes for <tt>saveLocation</tt>, </dd></dl>" name="saveDatasets" >
      • <return description="number of datasets saved." type="int" uitype="int" />
      • <param description="query url to execute" name="query" type="java.net.URL" uitype="URL" />
      • <param description="location of a directory in which to save the datasets. May be any of the filesystem types listed in <tt>Systems#listSchemes()</tt>." name="saveLocation" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="Execute a DAL query, and save a subset of the datasets referenced by the response. <p /> Applies to those DAL protocols (<tt>Siap</tt>, <tt>Ssap</tt>, <tt>Stap</tt>) where the response points to external data files.<dl> <dt>Note:</dt><dd> in the case of saving to myspace or vospace, the myspace server performs the query and dataset download - the data does not pass through the user's computer.</dd> <dt>See:</dt><dd> Systems#listSchemes() List of supported URI schemes for <tt>saveLocation</tt>, </dd></dl>" name="saveDatasetsSubset" >
      • <return description="number of datasets saved." type="int" uitype="int" />
      • <param description="the DAL query" name="query" type="java.net.URL" uitype="URL" />
      • <param description="location of a directory in which to save the datasets. May be any of the filesystem types listed in <tt>Systems#listSchemes()</tt>." name="saveLocation" type="java.net.URI" uitype="URI" />
      • <param description="list of Integers - indexes of the rows in the query response for which to save the dataset. (0= first row)" name="rows" type="java.util.List" uitype="List" />
      </method>
    • <method description="Returns a SRQL query that, when passed to the registry, will return all know services of that type. <br/> can be used as a starting point for filters, etc. <blockquote><b>Warning: </b>In the case of <tt>Cone</tt> the registry query will return far too many to be useful - it is necessary to use this xquery as a starting point for building a more tightly-constrained query.</blockquote> <pre><b>Example: </b> "Example of querying for cone services related to 'dwarf'" # connect to the AR from xmlrpc import Server from os.path import expanduser ar = Server(file(expanduser('~/.astrogrid-desktop')).next().strip() +'xmlrpc') #call this method to get a query to list all Cone-search services. coneQuery = ar.ivoa.cone.getRegistryQuery() #combine it into a more tightly contrained query myQuery = coneQuery + ' and subject=dwarf' # perform the query rs = ar.ivoa.registry.searcg(myQuery) #inspect the results print len(rs) for r in rs: print r['id'] </pre><dl> <dt>See:</dt><dd> <a href='http://eurovotech.org/twiki/bin/view/VOTech/SimpleRegistryQueryLanguage'>SRQL Language Description</a>, #getRegistryXQuery() alternative that returns an XQuery, </dd></dl>" name="getRegistryQuery" >
      • <return description="a SRQL query string" type="java.lang.String" uitype="String" />
      </method>
    • <method description="<b>Deprecated: </b><p /> helper method - returns an ADQL/s query that should be passed to a registry to list all available DAL services of this type. <br/> can be used as a starting point for filters, etc." excluded="true" name="getRegistryAdqlQuery" >
      • <return description="an adql query string" type="java.lang.String" uitype="String" />
      </method>
    • <method description="Return an XQuery that, when passed to the registry, will return all known services of that type. <blockquote><b>Warning: </b>In the case of <tt>Cone</tt> the registry query will return far too many to be useful - it is necessary to use this xquery as a starting point for building a more tightly-constrained query.</blockquote> <pre><b>Example: </b> "Example of querying for cone services related to 'dwarf'" # connect to the AR from xmlrpc import Server from os.path import expanduser ar = Server(file(expanduser('~/.astrogrid-desktop')).next().strip() +'xmlrpc') #call this method to get a query to list all Cone-search services. coneQuery = ar.ivoa.cone.getRegistryXQuery() #combine it into a more tightly contrained query myQuery = "let $cq := " + coneQuery + """ for $r in $cq where contains($r/content/subject,'dwarf') return $r """ # perform the query rs = ar.ivoa.registry.xquerySearch(myQuery) #inspect the results print len(rs) for r in rs: print r['id'] </pre> the output of this script is <pre> 2 ivo://nasa.heasarc/rasswd ivo://nasa.heasarc/mcksion </pre><dl> <dt>See:</dt><dd> #getRegistryQuery() alternative that returns a SRQL query., <a href="http://www.w3schools.com/xquery/default.asp">XQuery Language Tutorial</a>, </dd></dl>" name="getRegistryXQuery" >
      • <return description="an xquery string" type="java.lang.String" uitype="String" />
      </method>
    </component>
  • <component description="Check availability of services. <p/> There's an upcoming standard IVOA standard for VOSI (VO Support Interfaces), which defines web-service methods that all services participating in the VO <i>should</i> implement. <p /> The most useful of these interfaces is <b>Availability</b>, which allows a client to check whether a service is functional, and be notified of any forthcoming service interruptions. <p /> This component provides availability information for services that support v0.4 of the VOSI standard, and will also make a best effort to provide basic availability information for services that support earlier versions of the VOSI standard (e.g. those that register a <tt>ivo://org.astrogrid/std/VOSI/v0.3#availability</tt> capability)<dl> <dt>See:</dt><dd> <a href='http://www.ivoa.net/cgi-bin/twiki/bin/view/IVOA/IvoaGridAndWebServices#Internal_Drafts'>VOSI Draft Specification</a>, </dd></dl>" interface-class="org.astrogrid.acr.ivoa.Vosi" name="vosi" >
    • <method description="Check the availability of a service." name="checkAvailability" >
      • <return description="a description of the service's availability. If the service fails to respond to the availabilitiy check, a bean will be returned which has <tt>available=false</tt>, which contains a description of the problem that was encountered." type="org.astrogrid.acr.ivoa.VosiAvailabilityBean" uitype="VosiAvailabilityBean" />
      • <param description="Resource ID of the service to query. The service have a VOSI Availability capability." name="serviceID" type="java.net.URI" uitype="URI" />
      </method>
    </component>
</acr-module>
Contribution from module nvo
<acr-module description="NVO Services" name="nvo" >
  • <component description="<b>Deprecated: </b>use the ivoa.cone interface instead.<p /> Query catalogs using Cone-search services" excluded="true" interface-class="org.astrogrid.acr.nvo.Cone" name="cone" >
    • <method description="construct a query on RA, DEC, SR" name="constructQuery" >
      • <return description="query URL that can be fetched using a HTTP GET to execute the query" type="java.net.URL" uitype="URL" />
      • <param description="URL of the service endpoint, or ivorn of the service description" name="service" type="java.net.URI" uitype="URI" />
      • <param description="right ascension" name="ra" type="double" uitype="double" />
      • <param description="declination" name="dec" type="double" uitype="double" />
      • <param description="search radius" name="sr" type="double" uitype="double" />
      </method>
    • <method description="Add an option to a previously constructed query" name="addOption" >
      • <return description="<tt>query</tt> with the option appended." type="java.net.URL" uitype="URL" />
      • <param description="the query url" name="coneQuery" type="java.net.URL" uitype="URL" />
      • <param description="the name of the option to add" name="optionName" type="java.lang.String" uitype="String" />
      • <param description="value for the new option" name="optionValue" type="java.lang.String" uitype="String" />
      </method>
    • <method description="execute a cone query. Convenience method - just performs a 'GET' on the query URL - many programming languages support this themselves" name="getResults" >
      • <return description="a votable of results" type="org.w3c.dom.Document" uitype="XML" />
      • <param description="query url to execute" name="coneQuery" type="java.net.URL" uitype="URL" />
      </method>
    • <method description="execute a cone query and save the results" name="saveResults" >
      • <return description="" type="java.lang.Void" uitype="void" />
      • <param description="the query url to execute" name="coneQuery" type="java.net.URL" uitype="URL" />
      • <param description="location to save result document - may be file://, ivo:// (myspace), ftp://" name="saveLocation" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="helper method - returns an ADQL/s query that should be passed to a registry to list all available cone services. Can be used as a starting point for building filters, etc" excluded="true" name="getRegistryQuery" >
      • <return description="an adql query string" type="java.lang.String" uitype="String" />
      </method>
    • <method description="returns an ADQL/s query that should be passed to a registry to list all available cone services" name="getRegistryAdqlQuery" >
      • <return description="" type="java.lang.String" uitype="String" />
      </method>
    • <method description="returns an xquery that should be passed to a registry to list all available cone services" name="getRegistryXQuery" >
      • <return description="" type="java.lang.String" uitype="String" />
      </method>
    </component>
</acr-module>
Contribution from module plastic
<acr-module description="PLatform for AStronomical Tools Inter Connection" name="plastic" >
  • <component description="The interface that a Plastic Hub should support. For information on what a Plastic Hub is, and why you'd want one, please see the URL below.<dl> <dt>See:</dt><dd> <a href="http://plastic.sourceforge.net/">http://plastic.sourceforge.net</a>, </dd></dl>" interface-class="org.votech.plastic.PlasticHubListener" name="hub" >
    • <method description="Get all the IDs of the currently registered applications.<dl> <dt>XMLRPC:</dt><dd> returns an array of strings</dd></dl>" name="getRegisteredIds" >
      • <return description="see above" type="java.util.List" uitype="List" />
      </method>
    • <method description="Get this hub's ID. The hub "registers with itself", and this method will give you its own Id.<dl> <dt>XMLRPC:</dt><dd> returns a string</dd></dl>" name="getHubId" >
      • <return description="see above" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="Get the name of this application, as used at registration." name="getName" >
      • <return description="The user friendly name" type="java.lang.String" uitype="String" />
      • <param description="the plastic ID returned at registration" name="plid" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="Get the messages understood by this application. Note that just because an application declares itself to be interested in a message, it's no guarantee it will act on it.<dl> <dt>XMLRPC:</dt><dd> returns an array of strings</dd></dl>" name="getUnderstoodMessages" >
      • <return description="A list of message URIs" type="java.util.List" uitype="List" />
      • <param description="the plastic ID returned at registration" name="plid" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="Get all the applications that support a particular message" name="getMessageRegisteredIds" >
      • <return description="a list of plastic ids." type="java.util.List" uitype="List" />
      • <param description="the messageId you're interested in" name="message" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="Register an application with the hub. Each application that wishes to use the hub should register with it - the hub may not forward messages from applications whose ID it doesn't recognise. There are different register methods depending on how (and whether) the application wishes to receive messages back from the hub.<dl> <dt>XMLRPC:</dt><dd> The supportedMessages parameter is an array of strings formatted as URIs.</dd> <dt>See:</dt><dd> <a href="http://plastic.sourceforge.net/">http://plastic.sourceforge.net</a>, #registerRMI(String, List, PlasticListener), #registerNoCallBack(String), </dd></dl>" name="registerXMLRPC" >
      • <return description="a hub-assigned ID" type="java.net.URI" uitype="URI" />
      • <param description="An optional string with a short name describing the application. This may be added to the hub assigned ID, making it more human friendly." name="name" type="java.lang.String" uitype="String" />
      • <param description="an array of messages (as URIs) the application is interested in." name="supportedMessages" type="java.util.List" uitype="List" />
      • <param description="the application's internal xmlrpc server URL. Used by the hub to send messages to the application." name="callBackURL" type="java.net.URL" uitype="URL" />
      </method>
    • <method description="A java-rmi version of <tt>registerXMLRPC(String, List, URL) registerXMLRPC</tt><dl> <dt>XMLRPC:</dt><dd> Not available.</dd> <dt>See:</dt><dd> #registerXMLRPC(String, List, URL) for other parameters, </dd></dl>" name="registerRMI" >
      • <return description="" type="java.net.URI" uitype="URI" />
      • <param description="see <tt>registerRMI(String, List, PlasticListener) registerRMI</tt>" name="name" type="java.lang.String" uitype="String" />
      • <param description="" name="supportedMessages" type="java.util.List" uitype="List" />
      • <param description="the PlasticListener that wishes to register" name="caller" type="org.votech.plastic.PlasticListener" uitype="PlasticListener" />
      </method>
    • <method description="Register this application with the hub, but don't send it any messages in return. This is to allow uncallable applications like scripting environments to register. spec.<dl> <dt>See:</dt><dd> #registerXMLRPC(String, List, URL) for parameters, </dd></dl>" name="registerNoCallBack" >
      • <return description="" type="java.net.URI" uitype="URI" />
      • <param description="" name="name" type="java.lang.String" uitype="String" />
      </method>
    • <method description="Register this application with the hub, but store messages for later recovery by polling. Note that this message is experimental and not part of the Plastic Spec.<dl> <dt>See:</dt><dd> #registerXMLRPC(String, List, URL) for parameters, #pollForMessages(URI), </dd></dl>" name="registerPolling" >
      • <return description="" type="java.net.URI" uitype="URI" />
      • <param description="" name="name" type="java.lang.String" uitype="String" />
      • <param description="" name="supportedMessages" type="java.util.List" uitype="List" />
      </method>
    • <method description="Poll for messages. Returns a List of messages. Each List is another List containing (sender, message, args). Note that this message is experimental and not part of the Plasti Spec.<dl> <dt>XMLRPC:</dt><dd> for List, read Array</dd> <dt>See:</dt><dd> #registerPolling(String, List), </dd></dl>" name="pollForMessages" >
      • <return description="" type="java.util.List" uitype="List" />
      • <param description="" name="id" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="Unregister the application from the hub." name="unregister" >
      • <return description="" type="java.lang.Void" uitype="void" />
      • <param description="the application to unregister" name="id" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="Send a message to all registered Plastic applications.<dl> <dt>XMLRPC:</dt><dd> the return object is an array a struct whose elements names are application ids</dd></dl>" name="request" >
      • <return description="a Map of application ids to responses" type="java.util.Map" uitype="Map" />
      • <param description="the id of the originating tool - provided by the hub on registration. Note that the hub is at liberty to refused to forward requests that don't come from an ID that it has registered." name="sender" type="java.net.URI" uitype="URI" />
      • <param description="the message to send." name="message" type="java.net.URI" uitype="URI" />
      • <param description="any arguments to pass with the message" name="args" type="java.util.List" uitype="List" />
      </method>
    • <method description="Send a request to listed registered Plastic apps. See <tt>request(URI, URI, List) request</tt> for details of the other parameters.<dl> <dt>XMLRPC:</dt><dd> the list of target application ids is an array of strings</dd></dl>" name="requestToSubset" >
      • <return description="" type="java.util.Map" uitype="Map" />
      • <param description="" name="sender" type="java.net.URI" uitype="URI" />
      • <param description="" name="message" type="java.net.URI" uitype="URI" />
      • <param description="" name="args" type="java.util.List" uitype="List" />
      • <param description="a list of target application ids (as URIs)" name="recipientIds" type="java.util.List" uitype="List" />
      </method>
    • <method description="Send a request to listed registered Plastic apps, but don't wait for a response.<dl> <dt>XMLRPC:</dt><dd> the recipientIds is an array of strings formatted as URIs</dd></dl>" name="requestToSubsetAsynch" >
      • <return description="" type="java.lang.Void" uitype="void" />
      • <param description="" name="sender" type="java.net.URI" uitype="URI" />
      • <param description="" name="message" type="java.net.URI" uitype="URI" />
      • <param description="" name="args" type="java.util.List" uitype="List" />
      • <param description="a List of target application ids (as URIs). See <tt>request(URI, URI, List) request</tt> for details of the other parameters." name="recipientIds" type="java.util.List" uitype="List" />
      </method>
    • <method description="Send a request to all registered Plastic apps, but don't wait for a response. See <tt>request(URI, URI, List) request</tt> for details of parameters." name="requestAsynch" >
      • <return description="" type="java.lang.Void" uitype="void" />
      • <param description="" name="sender" type="java.net.URI" uitype="URI" />
      • <param description="" name="message" type="java.net.URI" uitype="URI" />
      • <param description="" name="args" type="java.util.List" uitype="List" />
      </method>
    </component>
</acr-module>
Contribution from module system
<acr-module description="System Components" name="system" >
  • <component description="AR Service: Documents and provides access to component and functions of AstroRuntime. This service provides methods to get general metadata and XMLRPC-specific type information. It also provides a technique for dynamically calling AR methods, which is useful in some situations. <p /> The diagram below shows the structure of metadata returned from the <tt>listModuleDescriptors()</tt> function - which returns a tree of metadata that describes all modules, components and functions provided by the AstroRuntime. <br /> <pre>apihelp +-----------+ | | | ApiHelp |-------+ | | :listModuleDecriptors() +-----------+ | v +------------------+ | ModuleDescriptor |------------------+ +--------+---------+ | | 1..* v +----------+----------+ +--------------+ | ComponentDescriptor +---------->| | +----------+----------+ | (Abstract) | | 1..* +--->| Descriptor | +--------+---------+ | | | | MethodDescriptor |-------+ +--------------+ +--------+---------+ ^ | 1..* | +--------+--------+ | | ValueDescriptor |-------------------+ +-----------------+ </pre>" interface-class="org.astrogrid.acr.system.ApiHelp" name="apihelp" >
    • <method description="List all the module descriptors available in the AstroRuntime." name="listModuleDescriptors" >
      • <return description="" type="org.astrogrid.acr.builtin.ModuleDescriptor[]" uitype="ModuleDescriptor[]" />
      </method>
    • <method description="List all methods available in the AstroRuntime." name="listMethods" >
      • <return description="array of method names in form <tt><i>module</i>.<i>component</i>.<i>method</i></tt>" type="java.lang.String[]" uitype="String[]" />
      </method>
    • <method description="List all modules available in the AstroRuntime." name="listModules" >
      • <return description="array of module names" type="java.lang.String[]" uitype="String[]" />
      </method>
    • <method description="List the components / services within a module" name="listComponentsOfModule" >
      • <return description="list of service names in form<tt><i>module</i>.<i>component</i></tt>" type="java.lang.String[]" uitype="String[]" />
      • <param description="" name="moduleName" type="java.lang.String" uitype="String" />
      </method>
    • <method description="Lst the methods (functions) of a service." name="listMethodsOfComponent" >
      • <return description="list of method names in form <tt><i>module</i>.<i>component</i>.<i>method</i></tt>" type="java.lang.String[]" uitype="String[]" />
      • <param description="name of the service in form <tt><i>module</i>.<i>component</i></tt>" name="componentName" type="java.lang.String" uitype="String" />
      </method>
    • <method description="Access the XMLRPC type of an AstroRuntime method (function)." name="methodSignature" >
      • <return description="an array of signatures for this method (allows for overloading of method name). <blockquote><b>Note: </b>Overloading never occurs in ACR, but this form is necessary for compatability with XMLRPC standard. So result will always be an array of length 1. First item in the array is an array of strings - first item in <i>this</i> array is the return type; any following items are parameter types.</blockquote>" type="java.lang.String[][]" uitype="String[]" />
      • <param description="name of the method in form <tt><i>module</i>.<i>component</i>.<i>method</i></tt>" name="methodName" type="java.lang.String" uitype="String" />
      </method>
    • <method description="Access help for a module." name="moduleHelp" >
      • <return description="documentation for this module" type="java.lang.String" uitype="String" />
      • <param description="" name="moduleName" type="java.lang.String" uitype="String" />
      </method>
    • <method description="Acccess help for a component / service." name="componentHelp" >
      • <return description="documentation for this component" type="java.lang.String" uitype="String" />
      • <param description="name of the service in form <tt><i>module</i>.<i>component</i></tt>" name="componentName" type="java.lang.String" uitype="String" />
      </method>
    • <method description="Access help for a method." name="methodHelp" >
      • <return description="documentation for this method" type="java.lang.String" uitype="String" />
      • <param description="- name of the method in form <tt><i>module</i>.<i>component</i>.<i>method</i></tt>" name="methodName" type="java.lang.String" uitype="String" />
      </method>
    • <method description="Return the class name of the service interface for a particular component" name="interfaceClassName" >
      • <return description="class name of associated service interface" type="java.lang.String" uitype="String" />
      • <param description="- service name of form <tt><i>module</i>.<i>component</i></tt>" name="componentName" type="java.lang.String" uitype="String" />
      </method>
    • <method description="Directly call a function on an AR service. The recommended method of working is to get an instance of a service interface, and call it's strongly-typed methods, However, <tt>callFunction</tt> can be useful if working with loosely-typed parameters (e.g. inputs from scripts). This method will convert string parameters to the correct types as needed, and can return the result in a variety of forms" name="callFunction" >
      • <return description="the result of invoking the method. The result of invoking a void-return method will be a <tt>java.lang.VOID</tt>" type="java.lang.Object" uitype="Object" />
      • <param description="fully qualified name of the function to call - e.g. <tt>system.configuration.getValue</tt>" name="functionName" type="java.lang.String" uitype="String" />
      • <param description="An enumeration that controls what kind of object is returned as the result <ul> <li>ORIGINAL - the original return type</li> <li>DATASTRUCTURE - datastructure view of the return type</li> <li>STRING - stringified view of the return type</li>" name="returnKind" type="int" uitype="int" />
      • <param description="argument list - may be correct object types, or strings that can be converted into the correct types." name="args" type="java.lang.Object[]" uitype="Object[]" />
      </method>
    </component>
  • <component description="AR Service: Control the desktop webbrowser. Trivial interface to display a URL in the desktop's webbrowser.<dl> <dt>See:</dt><dd> #openURL Example of use, </dd></dl>" interface-class="org.astrogrid.acr.system.BrowserControl" name="browser" >
    • <method description="Display a page in the system webbrowser. <pre><b>Example: </b> "Python Example" # connect to the AR from xmlrpclib import Server from os.path import expanduser ar = Server(file(expanduser('~/.astrogrid-desktop')).next().strip() +'xmlrpc') #call this function ar.system.browser.openURL('http://www.ivoa.net') </pre> <pre><b>Example: </b> "Java Example" // connect to the AR ACR ar = new Finder().find(); // find this component BrowserControl bc = (BrowserControl) ar.getService(BrowserControl.class); // call this function bc.openURL(new URL("http://www.ivoa.net")); </pre>" name="openURL" >
      • <return description="" type="java.lang.Void" uitype="void" />
      • <param description="URL of the resource to display" name="url" type="java.net.URL" uitype="URL" />
      </method>
    • <method description="Display a page from the internal AR webserver in the system webbrowser<dl> <dt>See:</dt><dd> WebServer#getUrlRoot(), </dd></dl>" name="openRelative" >
      • <return description="" type="java.lang.Void" uitype="void" />
      • <param description="relative url from root of AR webserver context" name="relativeURL" type="java.lang.String" uitype="String" />
      </method>
    </component>
  • <component description="AR System Service: Inspect and alter the configuration of the AstroRuntime. Allows the setting of key-value pairs, which are automatically persisted between executions. As well as altering configuration settings, this is also useful for storing bits of state that should persist between script invocations (e.g. preferences, window positions and sizes), plus configuration information (e.g. username, service endpoints)" interface-class="org.astrogrid.acr.system.Configuration" name="configuration" >
    • <method description="Set the value of a new or existing key." name="setKey" >
      • <return description="ignore" type="boolean" uitype="boolean" />
      • <param description="name of key" name="key" type="java.lang.String" uitype="String" />
      • <param description="new value of key" name="value" type="java.lang.String" uitype="String" />
      </method>
    • <method description="get the value of a key." name="getKey" >
      • <return description="the associated value, or null" type="java.lang.String" uitype="String" />
      • <param description="the name of the key" name="key" type="java.lang.String" uitype="String" />
      </method>
    • <method description="list the keys present in the store." name="listKeys" >
      • <return description="an array of key names" type="java.lang.String[]" uitype="String[]" />
      </method>
    • <method description="list the contents of the store. <pre><b>Example: </b> "List all configuration keys (python) # connect to the AR from xmlrpc import Server from os.path import expanduser ar = Server(file(expanduser('~/.astrogrid-desktop')).next().strip() +'xmlrpc') for (i, j) in ar.system.configuration.list().iteritems(): print i, ":", j </pre> And this script returns <pre> performance.showProgressDialogueAfter : 5 org.astrogrid.registry.query.endpoint : http://registry.astrogrid.org/astrogrid-registry/services/RegistryQueryv1_0 votech.jackdaw.endpoint : http://thor.roe.ac.uk/jackdaw/like cds.vizier.endpoint : http://cdsws.u-strasbg.fr/axis/services/VizieR votech.vomon.endpoint : http://vomon.roe.ac.uk/status.xml system.rmi.endScanPort : 2099 system.webserver.endScanPort : 8800 last.upgraded.to : unreleased network.proxyPort : 80 ... </pre>" name="list" >
      • <return description="a map of key-value pairs." type="java.util.Map" uitype="Map" />
      </method>
    • <method description="remove a previously defined key." name="removeKey" >
      • <return description="" type="java.lang.Void" uitype="void" />
      • <param description="" name="string" type="java.lang.String" uitype="String" />
      </method>
    • <method description="Reset the configuration back to factory settings. All user configuration will be lost" name="reset" >
      • <return description="" type="java.lang.Void" uitype="void" />
      </method>
    </component>
  • <component description="AR Service: Control the workbench help viewer." excluded="true" interface-class="org.astrogrid.acr.system.HelpServer" name="help" >
    • <method description="display the help viewer, with the 'top' help page" name="showHelp" >
      • <return description="" type="java.lang.Void" uitype="void" />
      </method>
    • <method description="display a specific help topic in the viewer" name="showHelpForTarget" >
      • <return description="" type="java.lang.Void" uitype="void" />
      • <param description="name of the topic to display" name="target" type="java.lang.String" uitype="String" />
      </method>
    </component>
  • <component description="AR System Service: Information about the RMI interface to the AstroRuntime. No management functions - just query methods." interface-class="org.astrogrid.acr.system.RmiServer" name="rmi" >
    • <method description="Query which port the RMI server is running on" name="getPort" >
      • <return description="the number of the network port" type="int" uitype="int" />
      </method>
    </component>
  • <component description="AR Service: Control the AstroRuntime icon in the desktop system tray. <p /> Can display popup alert messages in the notification area, and control the progress indicator.<dl> <dt>Warning:</dt><dd> Not all operating systems provide a system tray. On those that don't, a best effort will be made to support popup messages in some way</dd></dl>" interface-class="org.astrogrid.acr.system.SystemTray" name="systray" >
    • <method description="Display a popup message with an 'error' presentation." name="displayErrorMessage" >
      • <return description="" type="java.lang.Void" uitype="void" />
      • <param description="popup title" name="caption" type="java.lang.String" uitype="String" />
      • <param description="text of the message" name="message" type="java.lang.String" uitype="String" />
      </method>
    • <method description="Display a popup message with an 'info' presentation." name="displayInfoMessage" >
      • <return description="" type="java.lang.Void" uitype="void" />
      • <param description="popup title" name="caption" type="java.lang.String" uitype="String" />
      • <param description="text of the message" name="message" type="java.lang.String" uitype="String" />
      </method>
    • <method description="Display a popup message with a 'warning' presentation." name="displayWarningMessage" >
      • <return description="" type="java.lang.Void" uitype="void" />
      • <param description="popup title" name="caption" type="java.lang.String" uitype="String" />
      • <param description="text of the message" name="message" type="java.lang.String" uitype="String" />
      </method>
    • <method description="change the tray icon to indicate 'something in progress'" name="startThrobbing" >
      • <return description="" type="java.lang.Void" uitype="void" />
      </method>
    • <method description="change the tray icon to indicate 'something finished'" name="stopThrobbing" >
      • <return description="" type="java.lang.Void" uitype="void" />
      </method>
    </component>
  • <component description="Control the main user interface of the workbench." excluded="true" interface-class="org.astrogrid.acr.system.UI" name="ui" >
    • <method description="show the user interface" name="show" >
      • <return description="" type="java.lang.Void" uitype="void" />
      </method>
    • <method description="hide the user interface - ACR server will continue to run" name="hide" >
      • <return description="" type="java.lang.Void" uitype="void" />
      </method>
    • <method description="change the activity icon to indicate 'communication in progress'" name="startThrobbing" >
      • <return description="" type="java.lang.Void" uitype="void" />
      </method>
    • <method description="change the activity icon to indicate 'communication completed'" name="stopThrobbing" >
      • <return description="" type="java.lang.Void" uitype="void" />
      </method>
    • <method description="set the login indicator" name="setLoggedIn" >
      • <return description="" type="java.lang.Void" uitype="void" />
      • <param description="true to indicate logged in, false to indicate 'not logged in'" name="value" type="boolean" uitype="boolean" />
      </method>
    • <method description="set the status message" name="setStatusMessage" >
      • <return description="" type="java.lang.Void" uitype="void" />
      • <param description="" name="msg" type="java.lang.String" uitype="String" />
      </method>
    </component>
  • <component description="AR System Service: Information about the web-server running with the AstroRuntime. The web-server provides the HTML and XMLRPC interfaces into the AR This interface provides only informational methods, useful for working out how to connect to the webserver. It provides no way of administering the server or deploying new servlets. (although such operations are possible via startup commandline parameters)" interface-class="org.astrogrid.acr.system.WebServer" name="webserver" >
    • <method description="get the root url of the the HTML interface. Append <tt>xmlrpc</tt> to this root url to access the XMLRPC interface" name="getRoot" >
      • <return description="a url of form <tt>http://<i>machine</i>:<i>getPort()</i>/<i>getKey()</i>/</tt>" type="java.net.URL" uitype="URL" />
      </method>
    • <method description="<b>Deprecated: </b>usee <tt>getRoot</tt><p /> " excluded="true" name="getUrlRoot" >
      • <return description="" type="java.lang.String" uitype="String" />
      </method>
    • <method description="Access the obfuscated key that the main session of the AstroRuntime is running on.<dl> <dt>See:</dt><dd> #getUrlRoot, </dd></dl>" name="getKey" >
      • <return description="" type="java.lang.String" uitype="String" />
      </method>
    • <method description="Access the number of the port the AR webserver is running on.<dl> <dt>See:</dt><dd> #getUrlRoot(), </dd></dl>" name="getPort" >
      • <return description="" type="int" uitype="int" />
      </method>
    </component>
</acr-module>
Contribution from module test
<acr-module description="services for internal testing." name="test" >
  • <component description="Not for normal use" excluded="true" interface-class="org.astrogrid.acr.test.SessionTest" name="sessiontest" >
    • <method description="" name="get" >
      • <return description="" type="java.lang.String" uitype="String" />
      </method>
    • <method description="" name="put" >
      • <return description="" type="java.lang.Void" uitype="void" />
      • <param description="" name="o" type="java.lang.String" uitype="String" />
      </method>
    </component>
  • <component description="Not for normal use." excluded="true" interface-class="org.astrogrid.acr.test.TransportTest" name="transporttest" >
    • <method description="method always throws a 'notfound' exception" name="throwCheckedException" >
      • <return description="" type="java.lang.Void" uitype="void" />
      </method>
    • <method description="method always throws a 'NullPointer' exception" name="throwUncheckedException" >
      • <return description="" type="java.lang.Void" uitype="void" />
      </method>
    • <method description="method always throws a new subtype of RuntimeException" name="throwUncheckedExceptionOfUnknownType" >
      • <return description="" type="java.lang.Void" uitype="void" />
      </method>
    • <method description="method simply echos it's parameter byte array back again" name="echoByteArray" >
      • <return description="" type="byte[]" uitype="byte[]" />
      • <param description="" name="arr" type="byte[]" uitype="byte[]" />
      </method>
    </component>
</acr-module>
Contribution from module ui
<acr-module description="Applications for working with the VO" name="ui" >
  • <component description="AR Service: Launch a new Task Runner / Query Builder GUI<dl> <dt>See:</dt><dd> org.astrogrid.acr.astrogrid.Applications, </dd></dl>" interface-class="org.astrogrid.acr.ui.ApplicationLauncher" name="applicationLauncher" >
    • <method description="display a new TaskRunner" name="show" >
      • <return description="" type="java.lang.Void" uitype="void" />
      </method>
    • <method description="<b>Deprecated: </b>not implemented<p /> Not implemented" excluded="true" name="hide" >
      • <return description="" type="java.lang.Void" uitype="void" />
      </method>
    </component>
  • <component description="AR Servuce: Launch a new AstroScope GUI" interface-class="org.astrogrid.acr.ui.AstroScope" name="astroscope" >
    • <method description="Display a new instance of All-VO Astroscope" name="show" >
      • <return description="" type="java.lang.Void" uitype="void" />
      </method>
    </component>
  • <component description="AR Service: Launch a new FileManager GUI" interface-class="org.astrogrid.acr.ui.FileManager" name="fileManager" >
    • <method description="Display a new instance of FileManager" name="show" >
      • <return description="" type="java.lang.Void" uitype="void" />
      </method>
    </component>
  • <component description="<b>Deprecated: </b>replaced by <tt>Lookout</tt><p /> Control the Job Monitor GUI. (Unimplemented)<dl> <dt>See:</dt><dd> org.astrogrid.acr.astrogrid.Jobs, </dd></dl>" excluded="true" interface-class="org.astrogrid.acr.ui.JobMonitor" name="jobMonitor" >
    • <method description="show the job monitor window" name="show" >
      • <return description="" type="java.lang.Void" uitype="void" />
      </method>
    • <method description="hide the job monitor window" name="hide" >
      • <return description="" type="java.lang.Void" uitype="void" />
      </method>
    • <method description="manually refresh the job list" name="refresh" >
      • <return description="" type="java.lang.Void" uitype="void" />
      </method>
    • <method description="Add a new application to the monitor" name="addApplication" >
      • <return description="" type="java.lang.Void" uitype="void" />
      • <param description="user-friendly name of the app" name="name" type="java.lang.String" uitype="String" />
      • <param description="identifier of the application" name="executionId" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="bring the application tab of the monitor uppermost" name="displayApplicationTab" >
      • <return description="" type="java.lang.Void" uitype="void" />
      </method>
    • <method description="bring the jes tab of the monitor uppermost" name="displayJobTab" >
      • <return description="" type="java.lang.Void" uitype="void" />
      </method>
    </component>
  • <component description="<b>Deprecated: </b><p /> Control the Lookout UI. (Unimplemented)" excluded="true" interface-class="org.astrogrid.acr.ui.Lookout" name="lookout" >
    • <method description="" name="show" >
      • <return description="" type="java.lang.Void" uitype="void" />
      </method>
    • <method description="" name="hide" >
      • <return description="" type="java.lang.Void" uitype="void" />
      </method>
    • <method description="" name="refresh" >
      • <return description="" type="java.lang.Void" uitype="void" />
      </method>
    </component>
  • <component description="<b>Deprecated: </b>prefer filemanager<p /> Control the Myspace Browser UI.<dl> <dt>See:</dt><dd> org.astrogrid.acr.astrogrid.Myspace, </dd></dl>" excluded="true" interface-class="org.astrogrid.acr.ui.MyspaceBrowser" name="myspaceBrowser" >
    • <method description="show the explorer gui" name="show" >
      • <return description="" type="java.lang.Void" uitype="void" />
      </method>
    • <method description="hide the explorer gui" name="hide" >
      • <return description="" type="java.lang.Void" uitype="void" />
      </method>
    </component>
  • <component description="" excluded="true" interface-class="org.astrogrid.acr.ui.QueryBuilder" name="queryBuilder" >
    • <method description="" name="show" >
      • <return description="" type="java.lang.Void" uitype="void" />
      </method>
    </component>
  • <component description="AR Service: Launch a new VOExplorer GUI<dl> <dt>See:</dt><dd> org.astrogrid.acr.ivoa.Registry, RegistryGoogle Registry Dialogue, </dd></dl>" interface-class="org.astrogrid.acr.ui.RegistryBrowser" name="registryBrowser" >
    • <method description="show a new instance of VOExplorer" name="show" >
      • <return description="" type="java.lang.Void" uitype="void" />
      </method>
    • <method description="Not implmented" excluded="true" name="hide" >
      • <return description="" type="java.lang.Void" uitype="void" />
      </method>
    • <method description="show an new instance of the VOExplorer, and populate it using an xquery" name="search" >
      • <return description="" type="java.lang.Void" uitype="void" />
      • <param description="an xquery to populate the resource chooser with. Same format as in an xquery list in voexplorer UI - which is convenient for constructing these queries." name="xquery" type="java.lang.String" uitype="String" />
      </method>
    • <method description="Show a new instance of VOExplorer, and display a single resource record in it" name="open" >
      • <return description="" type="java.lang.Void" uitype="void" />
      • <param description="the resource ID of the record to display" name="uri" type="java.net.URI" uitype="URI" />
      </method>
    </component>
</acr-module>
Contribution from module util
<acr-module description="useful utility services" name="util" >
  • <component description="Utility functions for working with tables. Exposes some of the functionality of STIL<dl> <dt>See:</dt><dd> <a href="http://www.star.bris.ac.uk/~mbt/stil/">Stil Documentation</a>, Systems#listSchemes() List of supported URI schemes., Dal Examples of use., </dd></dl>" interface-class="org.astrogrid.acr.util.Tables" name="tables" >
    • <method description="Converts a table in a file between supported formats." name="convertFiles" >
      • <return description="" type="java.lang.Void" uitype="void" />
      • <param description="input location: may be any of the file schemes listed by <tt>Systems#listSchemes()</tt>, compressed using unix compress, gzip or bzip2" name="inLocation" type="java.net.URI" uitype="URI" />
      • <param description="input handler name: generally one of fits, votable, ascii, csv, ipac, wdc or null" name="inFormat" type="java.lang.String" uitype="String" />
      • <param description="output location: may be any of the file schemes listed by <tt>Systems#listSchemes()</tt>," name="outLocation" type="java.net.URI" uitype="URI" />
      • <param description="output format: generally one of fits, fits-plus, votable, votable-tabledata, votable-binary-inline, votable-binary-href, votable-fits-inline, votable-fits-href, text, ascii, csv, html, html-element, latex, latex-document or null" name="outFormat" type="java.lang.String" uitype="String" />
      </method>
    • <method description="Writes an in-memory table to a table in a file, converting between supported formats." name="convertToFile" >
      • <return description="" type="java.lang.Void" uitype="void" />
      • <param description="the input table" name="input" type="java.lang.String" uitype="String" />
      • <param description="input handler name: generally one of fits, votable, ascii, csv, ipac, wdc or null" name="inFormat" type="java.lang.String" uitype="String" />
      • <param description="output location:may be any of the file schemes listed by <tt>Systems#listSchemes()</tt>," name="outLocation" type="java.net.URI" uitype="URI" />
      • <param description="output format: generally one of fits, fits-plus, votable, votable-tabledata, votable-binary-inline, votable-binary-href, votable-fits-inline, votable-fits-href, text, ascii, csv, html, html-element, latex, latex-document or null" name="outFormat" type="java.lang.String" uitype="String" />
      </method>
    • <method description="Reads a table in a file into an in-memory table, converting between supported formats. <blockquote><b>Note: </b>Will only give good results for text-based table formats.</blockquote>" name="convertFromFile" >
      • <return description="the converted representation of the table." type="java.lang.String" uitype="String" />
      • <param description="input location:may be any of the file schemes listed by <tt>Systems#listSchemes()</tt>, compressed using unix compress, gzip or bzip2" name="inLocation" type="java.net.URI" uitype="URI" />
      • <param description="input handler name: generally one of fits, votable, ascii, csv, ipac, wdc or null" name="inFormat" type="java.lang.String" uitype="String" />
      • <param description="output format: generally one of fits, fits-plus, votable, votable-tabledata, votable-binary-inline, votable-binary-href, votable-fits-inline, votable-fits-href, text, ascii, csv, html, html-element, latex, latex-document or null" name="outFormat" type="java.lang.String" uitype="String" />
      </method>
    • <method description="Converts an in-memory table between supported formats. <blockquote><b>Note: </b>Will only give good results for text-based table formats.</blockquote>" name="convert" >
      • <return description="a table in the requested format." type="java.lang.String" uitype="String" />
      • <param description="the input table." name="input" type="java.lang.String" uitype="String" />
      • <param description="input handler name: generally one of fits, votable, ascii, csv, ipac, wdc or null" name="inFormat" type="java.lang.String" uitype="String" />
      • <param description="output format: generally one of fits, fits-plus, votable, votable-tabledata, votable-binary-inline, votable-binary-href, votable-fits-inline, votable-fits-href, text, ascii, csv, html, html-element, latex, latex-document or null" name="outFormat" type="java.lang.String" uitype="String" />
      </method>
    • <method description="list the table formats this component can write out to" name="listOutputFormats" >
      • <return description="" type="java.lang.String[]" uitype="String[]" />
      </method>
    • <method description="list the table formats this component can read in from" name="listInputFormats" >
      • <return description="" type="java.lang.String[]" uitype="String[]" />
      </method>
    </component>
</acr-module>
Contribution from module votech
<acr-module description="Services and infrastructure developed as part of the VOTech project" name="votech" >
  • <component description="<b>Deprecated: </b>no vomon services are maintained. Using <tt>Vosi</tt> is a more reliable method of getting service availability information.<p /> Monitor service availability using the VoMon service<dl> <dt>See:</dt><dd> <a href="http://vomon.sourceforge.net">VoMon project page</a>, </dd></dl>" interface-class="org.votech.VoMon" name="vomon" >
    • <method description="forces the status information to be reloaded from the vomon server - potentially expensive operation" name="reload" >
      • <return description="" type="java.lang.Void" uitype="void" />
      </method>
    • <method description="check the availability of a service" name="checkAvailability" >
      • <return description="a monitor bean describing this service's availability, or null if this service is not known" type="org.votech.VoMonBean" uitype="VoMonBean" />
      • <param description="registry id of the service" name="id" type="java.net.URI" uitype="URI" />
      </method>
    • <method description="check the availability of a cea application" name="checkCeaAvailability" >
      • <return description="an array of monitoring beans, one for each server that states it provides this application. May be null if the application is unknown, i.e if no servers provide this application." type="org.votech.VoMonBean[]" uitype="VoMonBean[]" />
      • <param description="registry id of the application" name="id" type="java.net.URI" uitype="URI" />
      </method>
    </component>
</acr-module>

Module framework
Back to master index