Package org.teiid.translator.odata
Class ODataExecutionFactory
- java.lang.Object
-
- org.teiid.translator.ExecutionFactory<org.teiid.resource.api.ConnectionFactory,org.teiid.translator.ws.WSConnection>
-
- org.teiid.translator.odata.ODataExecutionFactory
-
- Direct Known Subclasses:
SAPODataExecutionFactory
@Translator(name="odata", description="A translator for making OData data service calls") public class ODataExecutionFactory extends org.teiid.translator.ExecutionFactory<org.teiid.resource.api.ConnectionFactory,org.teiid.translator.ws.WSConnection>TODO: Type comparison isof(T), isof(x, T) Whether targeted instance can be converted to the specified type. media streams are generally not supported yet. (blobs, clobs)
-
-
Field Summary
Fields Modifier and Type Field Description static TimeZoneDEFAULT_TIME_ZONEprotected Map<String,org.teiid.translator.jdbc.FunctionModifier>functionModifiers
-
Constructor Summary
Constructors Constructor Description ODataExecutionFactory()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidconvertToODataInput(org.teiid.language.Literal obj, StringBuilder sb)org.teiid.translator.ProcedureExecutioncreateProcedureExecution(org.teiid.language.Call command, org.teiid.translator.ExecutionContext executionContext, org.teiid.metadata.RuntimeMetadata metadata, org.teiid.translator.ws.WSConnection connection)org.teiid.translator.ResultSetExecutioncreateResultSetExecution(org.teiid.language.QueryExpression command, org.teiid.translator.ExecutionContext executionContext, org.teiid.metadata.RuntimeMetadata metadata, org.teiid.translator.ws.WSConnection connection)org.teiid.translator.UpdateExecutioncreateUpdateExecution(org.teiid.language.Command command, org.teiid.translator.ExecutionContext executionContext, org.teiid.metadata.RuntimeMetadata metadata, org.teiid.translator.ws.WSConnection connection)protected StringescapeString(String str, String quote)StringgetDatabaseTimeZone()List<String>getDefaultSupportedFunctions()Map<String,org.teiid.translator.jdbc.FunctionModifier>getFunctionModifiers()Return a map of function name to FunctionModifier.voidgetMetadata(org.teiid.metadata.MetadataFactory metadataFactory, org.teiid.translator.ws.WSConnection conn)org.teiid.translator.MetadataProcessor<org.teiid.translator.ws.WSConnection>getMetadataProcessor()List<String>getSupportedFunctions()voidregisterFunctionModifier(String name, org.teiid.translator.jdbc.FunctionModifier modifier)Add theFunctionModifierto the set of known modifiers.ObjectretrieveValue(Object value, Class<?> expectedType)voidsetDatabaseTimeZone(String databaseTimeZone)voidsetSupportsOdataBooleanFunctionsWithComparison(boolean supports)voidsetSupportsOdataCount(boolean supports)voidsetSupportsOdataFilter(boolean supports)voidsetSupportsOdataOrderBy(boolean supports)voidsetSupportsOdataSkip(boolean supports)voidsetSupportsOdataTop(boolean supports)voidstart()booleansupportsAggregatesCount()booleansupportsAggregatesCountStar()booleansupportsCompareCriteriaEquals()booleansupportsCompareCriteriaOrdered()booleansupportsIsNullCriteria()booleansupportsNotCriteria()booleansupportsOdataBooleanFunctionsWithComparison()booleansupportsOdataCount()booleansupportsOdataFilter()booleansupportsOdataOrderBy()booleansupportsOdataSkip()booleansupportsOdataTop()booleansupportsOnlyLiteralComparison()booleansupportsOrCriteria()booleansupportsOrderBy()booleansupportsOrderByUnrelated()booleansupportsQuantifiedCompareCriteriaAll()booleansupportsQuantifiedCompareCriteriaSome()booleansupportsRowLimit()booleansupportsRowOffset()booleanuseAnsiJoin()-
Methods inherited from class org.teiid.translator.ExecutionFactory
addPushDownFunction, areLobsUsableAfterClose, closeConnection, createDirectExecution, createExecution, getCacheDirective, getCollationLocale, getConnection, getConnection, getDefaultNullOrder, getDirectQueryProcedureName, getExcludedCommonTableExpressionName, getInstance, getLanguageFactory, getMaxDependentInPredicates, getMaxFromGroups, getMaxInCriteriaSize, getMaxProjectedColumns, getNativeQueryProcedureName, getPushDownFunctions, getRequiredLikeEscape, getSupportedJoinCriteria, getTransactionSupport, getTypeFacility, initCapabilities, isCopyLobs, isForkable, isImmutable, isSourceRequired, isSourceRequiredForCapabilities, isSourceRequiredForMetadata, isThreadBound, requiresCriteria, returnsSingleUpdateCount, setCollationLocale, setCopyLobs, setDirectQueryProcedureName, setExcludedCommonTableExpressionName, setImmutable, setMaxDependentInPredicates, setMaxInCriteriaSize, setNativeQueryProcedureName, setRequiresCriteria, setSourceRequired, setSourceRequiredForMetadata, setSupportedJoinCriteria, setSupportsDirectQueryProcedure, setSupportsFullOuterJoins, setSupportsInnerJoins, setSupportsNativeQueries, setSupportsOrderBy, setSupportsOuterJoins, setSupportsSelectDistinct, setThreadBound, setTransactionSupport, supportsAdvancedOlapOperations, supportsAggregatesAvg, supportsAggregatesCountBig, supportsAggregatesDistinct, supportsAggregatesEnhancedNumeric, supportsAggregatesMax, supportsAggregatesMin, supportsAggregatesSum, supportsAliasedTable, supportsArrayAgg, supportsArrayType, supportsBatchedUpdates, supportsBulkUpdate, supportsCommonTableExpressions, supportsCompareCriteriaOrderedExclusive, supportsConvert, supportsCorrelatedSubqueries, supportsCorrelatedSubqueryLimit, supportsDependentJoins, supportsDirectQueryProcedure, supportsElementaryOlapOperations, supportsExcept, supportsExistsCriteria, supportsFormatLiteral, supportsFullDependentJoins, supportsFullOuterJoins, supportsFunctionsInGroupBy, supportsGeographyType, supportsGroupBy, supportsGroupByMultipleDistinctAggregates, supportsGroupByRollup, supportsHaving, supportsInCriteria, supportsInCriteriaSubquery, supportsInlineViews, supportsInnerJoins, supportsInsertWithQueryExpression, supportsIntersect, supportsIsDistinctCriteria, supportsLateralJoin, supportsLateralJoinCondition, supportsLikeCriteria, supportsLikeCriteriaEscapeCharacter, supportsLikeRegex, supportsListAgg, supportsMultipleOpenExecutions, supportsNativeQueries, supportsOnlyCorrelatedSubqueries, supportsOnlyFormatLiterals, supportsOnlyLateralJoinProcedure, supportsOnlySingleTableGroupBy, supportsOnlyTimestampAddLiteral, supportsOrderByNullOrdering, supportsOrderByWithExtendedGrouping, supportsOuterJoins, supportsPartialFiltering, supportsProcedureParameterExpression, supportsProcedureTable, supportsRecursiveCommonTableExpressions, supportsScalarSubqueries, supportsScalarSubqueryProjection, supportsSearchedCaseExpressions, supportsSelectDistinct, supportsSelectExpression, supportsSelectExpressionArrayType, supportsSelectWithoutFrom, supportsSelfJoins, supportsSetQueryLimitOffset, supportsSetQueryOrderBy, supportsSimilarTo, supportsStringAgg, supportsSubqueryCommonTableExpressions, supportsSubqueryInOn, supportsUnions, supportsUpsert, supportsWindowDistinctAggregates, supportsWindowFrameClause, supportsWindowFunctionCumeDist, supportsWindowFunctionNthValue, supportsWindowFunctionNtile, supportsWindowFunctionPercentRank, supportsWindowOrderByWithAggregates, useBindingsForDependentJoin
-
-
-
-
Method Detail
-
start
public void start() throws org.teiid.translator.TranslatorException- Overrides:
startin classorg.teiid.translator.ExecutionFactory<org.teiid.resource.api.ConnectionFactory,org.teiid.translator.ws.WSConnection>- Throws:
org.teiid.translator.TranslatorException
-
getDatabaseTimeZone
@TranslatorProperty(display="Database time zone", description="Time zone of the database, if different than Integration Server", advanced=true) public String getDatabaseTimeZone()
-
setDatabaseTimeZone
public void setDatabaseTimeZone(String databaseTimeZone)
-
getMetadata
public void getMetadata(org.teiid.metadata.MetadataFactory metadataFactory, org.teiid.translator.ws.WSConnection conn) throws org.teiid.translator.TranslatorException- Overrides:
getMetadatain classorg.teiid.translator.ExecutionFactory<org.teiid.resource.api.ConnectionFactory,org.teiid.translator.ws.WSConnection>- Throws:
org.teiid.translator.TranslatorException
-
getMetadataProcessor
public org.teiid.translator.MetadataProcessor<org.teiid.translator.ws.WSConnection> getMetadataProcessor()
- Overrides:
getMetadataProcessorin classorg.teiid.translator.ExecutionFactory<org.teiid.resource.api.ConnectionFactory,org.teiid.translator.ws.WSConnection>
-
createResultSetExecution
public org.teiid.translator.ResultSetExecution createResultSetExecution(org.teiid.language.QueryExpression command, org.teiid.translator.ExecutionContext executionContext, org.teiid.metadata.RuntimeMetadata metadata, org.teiid.translator.ws.WSConnection connection) throws org.teiid.translator.TranslatorException- Overrides:
createResultSetExecutionin classorg.teiid.translator.ExecutionFactory<org.teiid.resource.api.ConnectionFactory,org.teiid.translator.ws.WSConnection>- Throws:
org.teiid.translator.TranslatorException
-
createProcedureExecution
public org.teiid.translator.ProcedureExecution createProcedureExecution(org.teiid.language.Call command, org.teiid.translator.ExecutionContext executionContext, org.teiid.metadata.RuntimeMetadata metadata, org.teiid.translator.ws.WSConnection connection) throws org.teiid.translator.TranslatorException- Overrides:
createProcedureExecutionin classorg.teiid.translator.ExecutionFactory<org.teiid.resource.api.ConnectionFactory,org.teiid.translator.ws.WSConnection>- Throws:
org.teiid.translator.TranslatorException
-
createUpdateExecution
public org.teiid.translator.UpdateExecution createUpdateExecution(org.teiid.language.Command command, org.teiid.translator.ExecutionContext executionContext, org.teiid.metadata.RuntimeMetadata metadata, org.teiid.translator.ws.WSConnection connection) throws org.teiid.translator.TranslatorException- Overrides:
createUpdateExecutionin classorg.teiid.translator.ExecutionFactory<org.teiid.resource.api.ConnectionFactory,org.teiid.translator.ws.WSConnection>- Throws:
org.teiid.translator.TranslatorException
-
getSupportedFunctions
public List<String> getSupportedFunctions()
- Overrides:
getSupportedFunctionsin classorg.teiid.translator.ExecutionFactory<org.teiid.resource.api.ConnectionFactory,org.teiid.translator.ws.WSConnection>
-
getFunctionModifiers
public Map<String,org.teiid.translator.jdbc.FunctionModifier> getFunctionModifiers()
Return a map of function name to FunctionModifier.- Returns:
- Map of function name to FunctionModifier.
-
registerFunctionModifier
public void registerFunctionModifier(String name, org.teiid.translator.jdbc.FunctionModifier modifier)
Add theFunctionModifierto the set of known modifiers.- Parameters:
name-modifier-
-
supportsOdataFilter
@TranslatorProperty(display="Supports $Filter", description="True, $filter is supported", advanced=true) public boolean supportsOdataFilter()
-
setSupportsOdataFilter
public void setSupportsOdataFilter(boolean supports)
-
supportsOdataOrderBy
@TranslatorProperty(display="Supports $OrderBy", description="True, $orderby is supported", advanced=true) public boolean supportsOdataOrderBy()
-
setSupportsOdataOrderBy
public void setSupportsOdataOrderBy(boolean supports)
-
supportsOdataCount
@TranslatorProperty(display="Supports $count", description="True, $count is supported", advanced=true) public boolean supportsOdataCount()
-
setSupportsOdataCount
public void setSupportsOdataCount(boolean supports)
-
supportsOdataSkip
@TranslatorProperty(display="Supports $skip", description="True, $skip is supported", advanced=true) public boolean supportsOdataSkip()
-
setSupportsOdataSkip
public void setSupportsOdataSkip(boolean supports)
-
supportsOdataTop
@TranslatorProperty(display="Supports $top", description="True, $top is supported", advanced=true) public boolean supportsOdataTop()
-
setSupportsOdataTop
public void setSupportsOdataTop(boolean supports)
-
supportsOdataBooleanFunctionsWithComparison
@TranslatorProperty(display="Supports boolean functions with comparison", description="True, you can use \'substringsof(a, b) eq true\' for instance", advanced=true) public boolean supportsOdataBooleanFunctionsWithComparison()
-
setSupportsOdataBooleanFunctionsWithComparison
public void setSupportsOdataBooleanFunctionsWithComparison(boolean supports)
-
supportsCompareCriteriaEquals
public boolean supportsCompareCriteriaEquals()
- Overrides:
supportsCompareCriteriaEqualsin classorg.teiid.translator.ExecutionFactory<org.teiid.resource.api.ConnectionFactory,org.teiid.translator.ws.WSConnection>
-
supportsCompareCriteriaOrdered
public boolean supportsCompareCriteriaOrdered()
- Overrides:
supportsCompareCriteriaOrderedin classorg.teiid.translator.ExecutionFactory<org.teiid.resource.api.ConnectionFactory,org.teiid.translator.ws.WSConnection>
-
supportsIsNullCriteria
public boolean supportsIsNullCriteria()
- Overrides:
supportsIsNullCriteriain classorg.teiid.translator.ExecutionFactory<org.teiid.resource.api.ConnectionFactory,org.teiid.translator.ws.WSConnection>
-
supportsOrCriteria
public boolean supportsOrCriteria()
- Overrides:
supportsOrCriteriain classorg.teiid.translator.ExecutionFactory<org.teiid.resource.api.ConnectionFactory,org.teiid.translator.ws.WSConnection>
-
supportsNotCriteria
public boolean supportsNotCriteria()
- Overrides:
supportsNotCriteriain classorg.teiid.translator.ExecutionFactory<org.teiid.resource.api.ConnectionFactory,org.teiid.translator.ws.WSConnection>
-
supportsQuantifiedCompareCriteriaSome
public boolean supportsQuantifiedCompareCriteriaSome()
- Overrides:
supportsQuantifiedCompareCriteriaSomein classorg.teiid.translator.ExecutionFactory<org.teiid.resource.api.ConnectionFactory,org.teiid.translator.ws.WSConnection>
-
supportsQuantifiedCompareCriteriaAll
public boolean supportsQuantifiedCompareCriteriaAll()
- Overrides:
supportsQuantifiedCompareCriteriaAllin classorg.teiid.translator.ExecutionFactory<org.teiid.resource.api.ConnectionFactory,org.teiid.translator.ws.WSConnection>
-
supportsOrderBy
@TranslatorProperty(display="Supports ORDER BY", description="True, if this connector supports ORDER BY", advanced=true) public boolean supportsOrderBy()- Overrides:
supportsOrderByin classorg.teiid.translator.ExecutionFactory<org.teiid.resource.api.ConnectionFactory,org.teiid.translator.ws.WSConnection>
-
supportsOrderByUnrelated
public boolean supportsOrderByUnrelated()
- Overrides:
supportsOrderByUnrelatedin classorg.teiid.translator.ExecutionFactory<org.teiid.resource.api.ConnectionFactory,org.teiid.translator.ws.WSConnection>
-
supportsAggregatesCount
public boolean supportsAggregatesCount()
- Overrides:
supportsAggregatesCountin classorg.teiid.translator.ExecutionFactory<org.teiid.resource.api.ConnectionFactory,org.teiid.translator.ws.WSConnection>
-
supportsAggregatesCountStar
public boolean supportsAggregatesCountStar()
- Overrides:
supportsAggregatesCountStarin classorg.teiid.translator.ExecutionFactory<org.teiid.resource.api.ConnectionFactory,org.teiid.translator.ws.WSConnection>
-
supportsRowLimit
public boolean supportsRowLimit()
- Overrides:
supportsRowLimitin classorg.teiid.translator.ExecutionFactory<org.teiid.resource.api.ConnectionFactory,org.teiid.translator.ws.WSConnection>
-
supportsRowOffset
public boolean supportsRowOffset()
- Overrides:
supportsRowOffsetin classorg.teiid.translator.ExecutionFactory<org.teiid.resource.api.ConnectionFactory,org.teiid.translator.ws.WSConnection>
-
supportsOnlyLiteralComparison
public boolean supportsOnlyLiteralComparison()
- Overrides:
supportsOnlyLiteralComparisonin classorg.teiid.translator.ExecutionFactory<org.teiid.resource.api.ConnectionFactory,org.teiid.translator.ws.WSConnection>
-
useAnsiJoin
public boolean useAnsiJoin()
- Overrides:
useAnsiJoinin classorg.teiid.translator.ExecutionFactory<org.teiid.resource.api.ConnectionFactory,org.teiid.translator.ws.WSConnection>
-
retrieveValue
public Object retrieveValue(Object value, Class<?> expectedType)
- Parameters:
value-expectedType-- Returns:
-
convertToODataInput
public void convertToODataInput(org.teiid.language.Literal obj, StringBuilder sb)
-
-