uk.ac.ic.doc.rodex.qproc
Class QueryMediator

java.lang.Object
  extended by uk.ac.ic.doc.rodex.qproc.QueryMediator
All Implemented Interfaces:
IQueryMediator

public class QueryMediator
extends java.lang.Object
implements IQueryMediator

QueryMediator.java This class is the interface to the query processing and execution engine. Its job is to cordinate different components to execute user queries (local and P2P)

Author:
Duc M Le dmle@doc.ic.ac.uk Created on April 5, 2006 Department of Computing, Imperial College

Field Summary
static int LANG_STANDARD
           
static int LANG_XQUERY
           
 
Method Summary
 java.lang.String getDebugInf()
          Debug information
 java.lang.String getDebugResult()
          Debug result
 java.lang.String getExternalQuery()
          Getter methods for various query (ASG) objects
 java.lang.String getFormulatedQuery()
           
 java.lang.String getLogicalOptimisedQuery()
           
static QueryMediator getMediatorInstance()
          Create a singleton mediator object
 java.lang.String getPhysicalOptimisedQuery()
           
 java.lang.String getProcessedQuery()
           
 void getSODefinition(QuerySubGoal qsg)
          Get query definitions for a schema object.
 java.util.List performQuery(QueryDescription qd, Schema srcSchema, Schema[] targetSchemas)
          Overloading method to perform a query given only the name of the public schema
 java.util.List performQuery(QueryDescription qd, java.lang.String schemaName)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

LANG_STANDARD

public static final int LANG_STANDARD
See Also:
Constant Field Values

LANG_XQUERY

public static final int LANG_XQUERY
See Also:
Constant Field Values
Method Detail

getMediatorInstance

public static QueryMediator getMediatorInstance()
Create a singleton mediator object


performQuery

public java.util.List performQuery(QueryDescription qd,
                                   java.lang.String schemaName)
                            throws QueryProcessingException,
                                   AutoMedException
Throws:
QueryProcessingException
AutoMedException

performQuery

public java.util.List performQuery(QueryDescription qd,
                                   Schema srcSchema,
                                   Schema[] targetSchemas)
                            throws QueryProcessingException,
                                   AutoMedException
Overloading method to perform a query given only the name of the public schema

Parameters:
qd - the QueryDescription object
useCache - boolean value to indicate whether or not to use cache for rewriting
optimisedQuery - boolean value to optimise query or not
rewriteQuery - boolean value to rewrite query or not
lang - query language type used
srcSchema - the Schema upon which the query is posted
targetSchemas - an array of data-source Schemas to which query is actually sent for execution. Note that targetSchemas is a subset of the actual data sources of srcSchema
Returns:
List the query result
Throws:
QueryProcessingException
AutoMedException

getSODefinition

public void getSODefinition(QuerySubGoal qsg)
                     throws IntegrityException,
                            DataSourceException
Get query definitions for a schema object. This method basically extracts the schema from the qsg argument, retrieves the associated Schema object, retrieves the associated AutoMedWrapper object to this schema and invoke the AutoMedWrapper.getSODefinition() method to do do the job

Throws:
IntegrityException
DataSourceException

getExternalQuery

public java.lang.String getExternalQuery()
Getter methods for various query (ASG) objects


getFormulatedQuery

public java.lang.String getFormulatedQuery()

getProcessedQuery

public java.lang.String getProcessedQuery()

getLogicalOptimisedQuery

public java.lang.String getLogicalOptimisedQuery()

getPhysicalOptimisedQuery

public java.lang.String getPhysicalOptimisedQuery()

getDebugInf

public java.lang.String getDebugInf()
Debug information


getDebugResult

public java.lang.String getDebugResult()
Debug result