Package org.teiid.translator.odata
Class ODataExecutionFactory
- java.lang.Object
-
- org.teiid.translator.ExecutionFactory<ConnectionFactory,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 ExecutionFactory<ConnectionFactory,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)
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.teiid.translator.ExecutionFactory
ExecutionFactory.Format, ExecutionFactory.NullOrder, ExecutionFactory.SupportedJoinCriteria, ExecutionFactory.TransactionSupport
-
-
Field Summary
Fields Modifier and Type Field Description static TimeZoneDEFAULT_TIME_ZONEprotected Map<String,FunctionModifier>functionModifiers-
Fields inherited from class org.teiid.translator.ExecutionFactory
DEFAULT_MAX_FROM_GROUPS, DEFAULT_MAX_IN_CRITERIA_SIZE, DEFAULT_MAX_PROJECTED_COLUMNS
-
-
Constructor Summary
Constructors Constructor Description ODataExecutionFactory()
-
Method Summary
-
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, supportsOnlyRelationshipStyleJoins, 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
-
-
-
-
Field Detail
-
DEFAULT_TIME_ZONE
public static final TimeZone DEFAULT_TIME_ZONE
-
functionModifiers
protected Map<String,FunctionModifier> functionModifiers
-
-
Method Detail
-
start
public void start() throws TranslatorException- Overrides:
startin classExecutionFactory<ConnectionFactory,WSConnection>- Throws:
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(MetadataFactory metadataFactory, WSConnection conn) throws TranslatorException
- Overrides:
getMetadatain classExecutionFactory<ConnectionFactory,WSConnection>- Throws:
TranslatorException
-
getMetadataProcessor
public MetadataProcessor<WSConnection> getMetadataProcessor()
- Overrides:
getMetadataProcessorin classExecutionFactory<ConnectionFactory,WSConnection>
-
createResultSetExecution
public ResultSetExecution createResultSetExecution(QueryExpression command, ExecutionContext executionContext, RuntimeMetadata metadata, WSConnection connection) throws TranslatorException
- Overrides:
createResultSetExecutionin classExecutionFactory<ConnectionFactory,WSConnection>- Throws:
TranslatorException
-
createProcedureExecution
public ProcedureExecution createProcedureExecution(Call command, ExecutionContext executionContext, RuntimeMetadata metadata, WSConnection connection) throws TranslatorException
- Overrides:
createProcedureExecutionin classExecutionFactory<ConnectionFactory,WSConnection>- Throws:
TranslatorException
-
createUpdateExecution
public UpdateExecution createUpdateExecution(Command command, ExecutionContext executionContext, RuntimeMetadata metadata, WSConnection connection) throws TranslatorException
- Overrides:
createUpdateExecutionin classExecutionFactory<ConnectionFactory,WSConnection>- Throws:
TranslatorException
-
getSupportedFunctions
public List<String> getSupportedFunctions()
- Overrides:
getSupportedFunctionsin classExecutionFactory<ConnectionFactory,WSConnection>
-
getFunctionModifiers
public Map<String,FunctionModifier> getFunctionModifiers()
Return a map of function name to FunctionModifier.- Returns:
- Map of function name to FunctionModifier.
-
registerFunctionModifier
public void registerFunctionModifier(String name, 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 classExecutionFactory<ConnectionFactory,WSConnection>
-
supportsCompareCriteriaOrdered
public boolean supportsCompareCriteriaOrdered()
- Overrides:
supportsCompareCriteriaOrderedin classExecutionFactory<ConnectionFactory,WSConnection>
-
supportsIsNullCriteria
public boolean supportsIsNullCriteria()
- Overrides:
supportsIsNullCriteriain classExecutionFactory<ConnectionFactory,WSConnection>
-
supportsOrCriteria
public boolean supportsOrCriteria()
- Overrides:
supportsOrCriteriain classExecutionFactory<ConnectionFactory,WSConnection>
-
supportsNotCriteria
public boolean supportsNotCriteria()
- Overrides:
supportsNotCriteriain classExecutionFactory<ConnectionFactory,WSConnection>
-
supportsQuantifiedCompareCriteriaSome
public boolean supportsQuantifiedCompareCriteriaSome()
- Overrides:
supportsQuantifiedCompareCriteriaSomein classExecutionFactory<ConnectionFactory,WSConnection>
-
supportsQuantifiedCompareCriteriaAll
public boolean supportsQuantifiedCompareCriteriaAll()
- Overrides:
supportsQuantifiedCompareCriteriaAllin classExecutionFactory<ConnectionFactory,WSConnection>
-
supportsOrderBy
@TranslatorProperty(display="Supports ORDER BY", description="True, if this connector supports ORDER BY", advanced=true) public boolean supportsOrderBy()
- Overrides:
supportsOrderByin classExecutionFactory<ConnectionFactory,WSConnection>
-
supportsOrderByUnrelated
public boolean supportsOrderByUnrelated()
- Overrides:
supportsOrderByUnrelatedin classExecutionFactory<ConnectionFactory,WSConnection>
-
supportsAggregatesCount
public boolean supportsAggregatesCount()
- Overrides:
supportsAggregatesCountin classExecutionFactory<ConnectionFactory,WSConnection>
-
supportsAggregatesCountStar
public boolean supportsAggregatesCountStar()
- Overrides:
supportsAggregatesCountStarin classExecutionFactory<ConnectionFactory,WSConnection>
-
supportsRowLimit
public boolean supportsRowLimit()
- Overrides:
supportsRowLimitin classExecutionFactory<ConnectionFactory,WSConnection>
-
supportsRowOffset
public boolean supportsRowOffset()
- Overrides:
supportsRowOffsetin classExecutionFactory<ConnectionFactory,WSConnection>
-
supportsOnlyLiteralComparison
public boolean supportsOnlyLiteralComparison()
- Overrides:
supportsOnlyLiteralComparisonin classExecutionFactory<ConnectionFactory,WSConnection>
-
useAnsiJoin
public boolean useAnsiJoin()
- Overrides:
useAnsiJoinin classExecutionFactory<ConnectionFactory,WSConnection>
-
retrieveValue
public Object retrieveValue(Object value, Class<?> expectedType)
- Parameters:
value-expectedType-- Returns:
-
convertToODataInput
public void convertToODataInput(Literal obj, StringBuilder sb)
-
-