com.metamatrix.connector.xml.base
Class RequestResponseDocumentProducer

java.lang.Object
  extended by com.metamatrix.connector.xml.base.RequestResponseDocumentProducer
All Implemented Interfaces:
DocumentProducer
Direct Known Subclasses:
HTTPExecutor, SOAPExecutor

public abstract class RequestResponseDocumentProducer
extends java.lang.Object
implements DocumentProducer

The RequestResponseDocumentProducer is responsible for executing a single instance of a request permutation as broken out by the QueryAnalyzer/RequestGenerator and producing a Response.


Field Summary
static java.lang.String NAMESPACE_PREFIX_PROPERTY_NAME
           
protected  XMLExtractor xmlExtractor
           
 
Constructor Summary
protected RequestResponseDocumentProducer(XMLConnectorState state, XMLExecution execution)
           
 
Method Summary
 java.io.InputStream addStreamFilters(java.io.InputStream response, ConnectorLogger logger)
           
protected  void attemptConditionalLog(java.lang.String message)
           
protected  java.lang.String buildRawUriString()
           
protected  java.lang.String buildUriString()
           
 boolean cannotProjectParameter(CriteriaDesc parmCriteria)
          Called by RequestResponseDocumentProducer to determine if an where criteria value can be stashed for projection into a result set.
static boolean checkIfRequestIsNeeded(ExecutionInfo info)
          Examines the Query to determine if a request to a source is needed.
protected  XMLExecution getExecution()
           
protected  ExecutionInfo getExecutionInfo()
           
protected  XMLExtractor getExtractor()
           
protected  ConnectorLogger getLogger()
           
protected  XMLConnectorState getState()
           
protected  java.lang.String removeAngleBrackets(java.lang.String uri)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.metamatrix.connector.xml.DocumentProducer
getCacheKey, getDocumentCount, getRequestObject, getXMLResponse
 

Field Detail

NAMESPACE_PREFIX_PROPERTY_NAME

public static final java.lang.String NAMESPACE_PREFIX_PROPERTY_NAME
See Also:
Constant Field Values

xmlExtractor

protected XMLExtractor xmlExtractor
Constructor Detail

RequestResponseDocumentProducer

protected RequestResponseDocumentProducer(XMLConnectorState state,
                                          XMLExecution execution)
                                   throws ConnectorException
Throws:
ConnectorException
Method Detail

cannotProjectParameter

public boolean cannotProjectParameter(CriteriaDesc parmCriteria)
Called by RequestResponseDocumentProducer to determine if an where criteria value can be stashed for projection into a result set. For criteria with multiple calues this is generally false.


getState

protected XMLConnectorState getState()

getExecutionInfo

protected ExecutionInfo getExecutionInfo()

getExecution

protected XMLExecution getExecution()

getLogger

protected ConnectorLogger getLogger()

getExtractor

protected XMLExtractor getExtractor()

attemptConditionalLog

protected void attemptConditionalLog(java.lang.String message)

addStreamFilters

public java.io.InputStream addStreamFilters(java.io.InputStream response,
                                            ConnectorLogger logger)
                                     throws ConnectorException
Throws:
ConnectorException

buildUriString

protected java.lang.String buildUriString()

buildRawUriString

protected java.lang.String buildRawUriString()

removeAngleBrackets

protected java.lang.String removeAngleBrackets(java.lang.String uri)

checkIfRequestIsNeeded

public static boolean checkIfRequestIsNeeded(ExecutionInfo info)
                                      throws ConnectorException
Examines the Query to determine if a request to a source is needed. If any of the request parameters is a ResponseIn, then we don't need to make a request because it has already been made by another call to Execution.execute()

Throws:
ConnectorException


Copyright © 2009. All Rights Reserved.