org.gcube.opensearch.opensearchoperator.resource
Class ISOpenSearchResource

java.lang.Object
  extended by org.gcube.opensearch.opensearchoperator.resource.ISOpenSearchResource
All Implemented Interfaces:
OpenSearchResource

public class ISOpenSearchResource
extends java.lang.Object
implements OpenSearchResource

Class implementing the OpenSearchResource interface that processes OpenSearch resources when an InformationSystem is available

Author:
gerasimos.farantatos

Constructor Summary
ISOpenSearchResource(java.lang.String xml, gr.uoa.di.madgik.environment.hint.EnvHintCollection envHints)
          Creates a new ISOpenSearchResource that will not use a cache
ISOpenSearchResource(java.lang.String xml, java.util.Map<java.lang.String,java.lang.String> cachedDescriptionDocs, java.util.Map<java.lang.String,java.lang.String> cachedResourcesXML, java.util.Map<java.lang.String,java.lang.String> cachedXSLTs, gr.uoa.di.madgik.environment.hint.EnvHintCollection envHints)
          Creates a new ISOpenSearchResource with a cache that will be used and further populated
 
Method Summary
 org.w3c.dom.Document getDescriptionDocument()
          Retrieves the description document of the OpenSearch provider described by this resource
 java.lang.String getDescriptionDocURL()
          Retrieves the URL of the description document of the OpenSearch provider described by this resource
 java.lang.String getName()
          Returns the name of the OpenSearch provider
 java.lang.String getParameterQName(java.lang.String fieldName)
          Retrieves the fully qualified name of an OpenSearch parameter which corresponds to a field
 java.util.Map<java.lang.String,java.lang.String> getParameters()
          Retrieved the full mapping from field names to fully ns-qualified OpenSearch parameters as contained in the OpenSearch Resource
 java.util.Map<java.lang.String,java.lang.String> getPresentationInformation(java.lang.String MIMEType)
          Retrieves the presentation information, that is, a mapping from field names to XPath expressions
 javax.xml.xpath.XPathExpression getRecordIdXPath(java.lang.String MIMEType)
          Retrieves an XPathExpression that can be used to extract a record id a from a search result record
 javax.xml.xpath.XPathExpression getRecordSplitXPath(java.lang.String MIMEType)
          Retrieves an XPathExpression that can be used to split a search result page of a given MIME type to individual records
 java.lang.String getSecuritySpecs()
          Retrieves the security specifications of this OpenSearch provider
 java.util.List<java.lang.String> getTransformationTypes()
          Retrieves a list of all MIME types for which there exists a transformation specification
 javax.xml.transform.Transformer getTransformer()
          Retrieves a transformer that can be used to transform the results of the first MIME type appearing in this OpenSearch resource that are returned by the provider described by this resource
 javax.xml.transform.Transformer getTransformer(java.lang.String MIMEType)
          Retrieves a transformer that can be used to transform the results of a given MIME type that are returned by the provider described by this resource
 boolean isBrokered()
          Determines whether the provider described by this resource returns brokered results, i.e the results it returns describe other OpenSearch providers
 boolean isSecure()
          Determines if the provider described by this resource uses a security scheme
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ISOpenSearchResource

public ISOpenSearchResource(java.lang.String xml,
                            java.util.Map<java.lang.String,java.lang.String> cachedDescriptionDocs,
                            java.util.Map<java.lang.String,java.lang.String> cachedResourcesXML,
                            java.util.Map<java.lang.String,java.lang.String> cachedXSLTs,
                            gr.uoa.di.madgik.environment.hint.EnvHintCollection envHints)
                     throws java.lang.Exception
Creates a new ISOpenSearchResource with a cache that will be used and further populated

Parameters:
xml - The XML representation of the OpenSearch resource
cachedDescriptionDocs - A cache containing description documents in XML form, identified by their URLs
cachedResourcesXML - A cache containing OpenSearch resources in XML form, identified by their description document URLs
cachedXSLTs - A cache containing XSLTs in XML form, identified by the names of the generic resources associated with them
envHints - The environment hints that to be passed to the InformationSystem
Throws:
java.lang.Exception - If the resource is malformed or in case of other error

ISOpenSearchResource

public ISOpenSearchResource(java.lang.String xml,
                            gr.uoa.di.madgik.environment.hint.EnvHintCollection envHints)
                     throws java.lang.Exception
Creates a new ISOpenSearchResource that will not use a cache

Parameters:
xml - The XML representation of the OpenSearch resource
envHints - The environment hints that to be passed to the InformationSystem
Throws:
java.lang.Exception - If the resource is malformed or in case of other error
Method Detail

getName

public java.lang.String getName()
Returns the name of the OpenSearch provider

Specified by:
getName in interface OpenSearchResource
Returns:
The name of the OpenSearch provider
See Also:
OpenSearchResource.getName()

isBrokered

public boolean isBrokered()
Determines whether the provider described by this resource returns brokered results, i.e the results it returns describe other OpenSearch providers

Specified by:
isBrokered in interface OpenSearchResource
Returns:
true if the provider returns brokered results, false otherwise
See Also:
OpenSearchResource.isBrokered()

isSecure

public boolean isSecure()
Determines if the provider described by this resource uses a security scheme

Specified by:
isSecure in interface OpenSearchResource
Returns:
true if the provider uses a security scheme, false otherwise
See Also:
OpenSearchResource.isSecure()

getSecuritySpecs

public java.lang.String getSecuritySpecs()
Retrieves the security specifications of this OpenSearch provider

Specified by:
getSecuritySpecs in interface OpenSearchResource
Returns:
The security specifications of the provider
See Also:
OpenSearchResource.getSecuritySpecs()

getDescriptionDocument

public org.w3c.dom.Document getDescriptionDocument()
Retrieves the description document of the OpenSearch provider described by this resource

Specified by:
getDescriptionDocument in interface OpenSearchResource
Returns:
A Document representing the description document of the provider
See Also:
OpenSearchResource.getDescriptionDocument()

getDescriptionDocURL

public java.lang.String getDescriptionDocURL()
Retrieves the URL of the description document of the OpenSearch provider described by this resource

Specified by:
getDescriptionDocURL in interface OpenSearchResource
Returns:
A String containing the URL of the description document of the provider
See Also:
OpenSearchResource.getDescriptionDocURL()

getTransformer

public javax.xml.transform.Transformer getTransformer(java.lang.String MIMEType)
                                               throws java.lang.Exception
Retrieves a transformer that can be used to transform the results of a given MIME type that are returned by the provider described by this resource

Specified by:
getTransformer in interface OpenSearchResource
Parameters:
MIMEType - The MIME type of the results that will be transformed
Returns:
The transformer that can be used to transform the results of the given MIME type
Throws:
java.lang.Exception - In case of error
See Also:
OpenSearchResource.getTransformer(String)

getRecordSplitXPath

public javax.xml.xpath.XPathExpression getRecordSplitXPath(java.lang.String MIMEType)
                                                    throws java.lang.Exception
Retrieves an XPathExpression that can be used to split a search result page of a given MIME type to individual records

Specified by:
getRecordSplitXPath in interface OpenSearchResource
Parameters:
MIMEType - The MIME type of the results returned by the provider described by this resource
Returns:
The Xpath expression that can be used to split search result pages to individual records
Throws:
java.lang.Exception - In case of error
See Also:
OpenSearchResource.getRecordSplitXPath(String)

getRecordIdXPath

public javax.xml.xpath.XPathExpression getRecordIdXPath(java.lang.String MIMEType)
                                                 throws java.lang.Exception
Retrieves an XPathExpression that can be used to extract a record id a from a search result record

Specified by:
getRecordIdXPath in interface OpenSearchResource
Parameters:
MIMEType - The MIME type of the results returned by the provider described by this resource
Returns:
The Xpath expression that can be used extract a record id from a search result record
Throws:
java.lang.Exception - In case of error
See Also:
OpenSearchResource.getRecordIdXPath(String)

getTransformer

public javax.xml.transform.Transformer getTransformer()
                                               throws java.lang.Exception
Retrieves a transformer that can be used to transform the results of the first MIME type appearing in this OpenSearch resource that are returned by the provider described by this resource

Specified by:
getTransformer in interface OpenSearchResource
Returns:
The transformer that can be used to transform the results of the first MIME type appearing in this OpenSearch resource
Throws:
java.lang.Exception - In case of error
See Also:
OpenSearchResource.getTransformer()

getPresentationInformation

public java.util.Map<java.lang.String,java.lang.String> getPresentationInformation(java.lang.String MIMEType)
Retrieves the presentation information, that is, a mapping from field names to XPath expressions

Specified by:
getPresentationInformation in interface OpenSearchResource
Returns:
See Also:
OpenSearchResource.getPresentationInformation(String)

getTransformationTypes

public java.util.List<java.lang.String> getTransformationTypes()
Retrieves a list of all MIME types for which there exists a transformation specification

Specified by:
getTransformationTypes in interface OpenSearchResource
Returns:
All MIME types for which there exists a transformation specification
See Also:
OpenSearchResource.getTransformationTypes()

getParameterQName

public java.lang.String getParameterQName(java.lang.String fieldName)
Description copied from interface: OpenSearchResource
Retrieves the fully qualified name of an OpenSearch parameter which corresponds to a field

Specified by:
getParameterQName in interface OpenSearchResource
Parameters:
fieldName - The name of the field corresponding to the requested OpenSearch parameter
Returns:
The fully qualified name of the OpenSearch parameter

getParameters

public java.util.Map<java.lang.String,java.lang.String> getParameters()
Description copied from interface: OpenSearchResource
Retrieved the full mapping from field names to fully ns-qualified OpenSearch parameters as contained in the OpenSearch Resource

Specified by:
getParameters in interface OpenSearchResource
Returns:
All field name to fully ns-qualified mappings