public class Capabilities extends java.lang.Object implements TAPResource, VOSIResource
TAP resource describing the capabilities of a TAP service.
This resource just return an XML document giving a description of the TAP service and list all its VOSI resources.
Modifier and Type | Field and Description |
---|---|
protected java.lang.String |
accessURL
URL toward this TAP resource.
|
static java.lang.String |
RESOURCE_NAME
Name of this TAP resource.
|
protected java.lang.String |
xsltPath
The path of the XSLT style-sheet to apply.
|
Constructor and Description |
---|
Capabilities(TAP tap)
Build a "/capabilities" resource.
|
Modifier and Type | Method and Description |
---|---|
void |
destroy()
Let free properly all system/file/DB resources kept opened by this TAP resource.
|
boolean |
executeResource(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
Interpret the given request, execute the appropriate action and finally return a result or display information to the user.
|
java.lang.String |
getAccessURL()
Get the URL which lets access this resource.
|
java.lang.String |
getCapability()
Get the capabilities of this resource.
|
static java.lang.String |
getDefaultCapability(VOSIResource res)
Write the XML description of the given VOSI resource.
|
java.lang.String |
getName()
Get the name of this TAP resource.
|
java.lang.String |
getStandardID()
Get the standardID of this endpoint of the VOSI interface.
|
java.lang.String |
getXSLTPath()
Gets the path/URL of the XSLT style-sheet to use.
|
void |
init(javax.servlet.ServletConfig config)
Let initialize this TAP resource.
|
void |
setTAPBaseURL(java.lang.String baseURL)
Let diffuse the base URL of the TAP service to all its TAP resources.
|
void |
setXSLTPath(java.lang.String path)
Sets the path/URL of the XSLT style-sheet to use.
|
public static final java.lang.String RESOURCE_NAME
protected java.lang.String accessURL
URL toward this TAP resource. This URL is particularly important for its declaration in the capabilities of the TAP service.
Note: By default, it is just the name of this resource. It is updated after initialization of the service when the TAP service base URL is communicated to its resources. Then, it is: baseTAPURL + "/" + RESOURCE_NAME.
protected java.lang.String xsltPath
public Capabilities(TAP tap)
tap
- Object representation of the whole TAP service.public final java.lang.String getXSLTPath()
public final void setXSLTPath(java.lang.String path)
path
- The new XSLT path/URL.public final void setTAPBaseURL(java.lang.String baseURL)
TAPResource
Let diffuse the base URL of the TAP service to all its TAP resources.
Important note: This function should be called just once: either at the creation of the service or when the first request is sent to the TAP service (in this case, the request is also used to finish the initialization of the TAP service, and of all its resources).
setTAPBaseURL
in interface TAPResource
baseURL
- Common URL/URI used in all requests sent by any user to the TAP service.public final java.lang.String getName()
TAPResource
Get the name of this TAP resource.
Important note: This name MUST NOT be NULL and SHOULD NEVER change.
getName
in interface TAPResource
public final java.lang.String getStandardID()
VOSIResource
Get the standardID of this endpoint of the VOSI interface.
The standard IDs of the VOSI endpoints are the following:
getStandardID
in interface VOSIResource
public final java.lang.String getAccessURL()
VOSIResource
getAccessURL
in interface VOSIResource
public java.lang.String getCapability()
VOSIResource
getCapability
in interface VOSIResource
public void init(javax.servlet.ServletConfig config) throws javax.servlet.ServletException
TAPResource
init
in interface TAPResource
config
- Servlet configuration. (may be useful for the configuration of this resource)javax.servlet.ServletException
- If any error prevent the initialization of this TAP resource. In case a such exception is thrown, the service should stop immediately.public void destroy()
TAPResource
destroy
in interface TAPResource
public boolean executeResource(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws java.io.IOException, TAPException
TAPResource
Interpret the given request, execute the appropriate action and finally return a result or display information to the user.
IMPORTANT:
"TAP resources can not take the law in their own hands!" :-)
Errors that could occur inside this function should not be written directly in the given HttpServletResponse
.
They should be thrown to the resources executor: an instance of TAP
, which
will fill the HttpServletResponse
with the error in the format described by the IVOA standard - VOTable. Besides, TAP
may also
add more information and may log the error (in function of this type).
executeResource
in interface TAPResource
request
- Request sent by the user and which should be interpreted/executed here.response
- Response in which the result of the request must be written.java.io.IOException
- If any error occurs while writing the result of the given request.TAPException
- If any other error occurs while interpreting and executing the request or by formating and writing its result.public static final java.lang.String getDefaultCapability(VOSIResource res)
res
- Resource to describe in XML.