public class LQLUtils
extends java.lang.Object
Constructor and Description |
---|
LQLUtils() |
Modifier and Type | Method and Description |
---|---|
static void |
addAliases(java.util.Set<java.lang.String> aliases,
com.endeca.mdex.eql_parser.types.SourceBase source) |
static void |
addNullGroupFilterToStatement(SemanticView view,
com.endeca.mdex.eql_parser.types.Statement statement)
Utility method to filter out NULL groups from a RETURN statement.
|
static void |
addNullGroupFilterToStatement(com.endeca.mdex.eql_parser.types.Statement statement)
Deprecated.
Use addNullGroupFilterToStatement(SemanticView, Statement) instead
|
static java.lang.String |
expressionToFilterString(com.endeca.mdex.eql_parser.types.ExpressionBase expr)
Converts the supplied ExpressionBase into a String suitable for serialization, such as persistence into a portlet's preferences.
|
static void |
fetchAttrKeysFromExpression(com.endeca.mdex.eql_parser.types.ExpressionBase expression,
java.util.ArrayList<java.lang.String> attrKeys)
Fetch original attribute keys from expression.
|
static void |
filterOutNullGroups(com.endeca.mdex.eql_parser.types.Query query)
Deprecated.
Use filterOutNullGroups(SemanticView, Query) instead
|
static void |
filterOutNullGroups(SemanticView view,
com.endeca.mdex.eql_parser.types.Query query)
Utility method to filter out NULL groups from the RETURN statement of a query.
|
static com.endeca.mdex.eql_parser.types.ExpressionBase |
filterStringToExpression(java.lang.String str)
Converts a previously serialized JAXB XML representation of an LQL expression back into a Java ExpressionBase object suitable for use in
runtime queries.
|
static PropertyType |
getAttributeDataType(com.endeca.mdex.conversation.types.ResultRecords results,
java.lang.String attributeKey)
Get the data type for the specified attribute from the attribute metadata for EQL results
|
static java.lang.String |
getAttributeKey(com.endeca.mdex.eql_parser.types.GroupingKeyBase groupBy) |
static java.util.List<java.lang.String> |
getAttributeKeys(java.util.Collection<com.endeca.mdex.eql_parser.types.GroupingKeyBase> groupBys)
Utility method to get a list of attribute keys from a list of GroupingKeyBase objects
|
static com.endeca.mdex.eql_parser.types.Statement |
getSimpleFlattenedStatement(SemanticView view,
java.util.List<java.lang.String> metricKeys,
java.util.List<java.lang.String> dimensionKeys,
java.lang.String flattenedStatementKey)
Utility method to get the simple flattened statement for specified dimensions Multi-assign with groupby menbers and single-assign with
groupby set
|
static java.util.Set<java.lang.String> |
getStatementAliases(com.endeca.mdex.eql_parser.types.Statement statement) |
static java.util.Set<java.lang.String> |
getStatementKeys(com.endeca.mdex.eql_parser.types.Query query) |
static boolean |
hasGroupingSetsFunctions(com.endeca.mdex.eql_parser.types.FunctionCallExpression fce) |
static boolean |
hasGroupingSetsFunctions(com.endeca.mdex.eql_parser.types.Query query)
Utility method to identify queries that use grouping sets functions.
|
static boolean |
hasGroupingSetsFunctions(com.endeca.mdex.eql_parser.types.Statement statement) |
static boolean |
hasGroupingSetsGroupBy(com.endeca.mdex.eql_parser.types.Query query)
Utility method to identify queries which use a grouping sets with a size > 1
|
static boolean |
hasGroupingSetsGroupBy(com.endeca.mdex.eql_parser.types.Statement statement) |
static com.endeca.mdex.eql_parser.types.ExpressionBase |
parseExpression(DataSource ds,
java.lang.String expression)
Parses an expression using the LQL Parsing service This involves a round trip and should be used only if absolutely necessary.
|
static void |
prefixDefineKeys(com.endeca.mdex.eql_parser.types.Query query,
java.lang.String prefix)
Prefixes all statement keys.
|
static void |
prefixExpression(com.endeca.mdex.eql_parser.types.ExpressionBase expression,
java.lang.String prefix,
java.util.Set<java.lang.String> statementKeys,
java.util.Set<java.lang.String> aliases)
Prefixes statement keys depending on the type of expression.
|
static void |
prefixSource(com.endeca.mdex.eql_parser.types.SourceBase source,
java.lang.String prefix,
java.util.Set<java.lang.String> statementKeys,
java.util.Set<java.lang.String> aliases)
Prefixes statement keys depending on the type of source.
|
static java.lang.String |
queryToString(com.endeca.mdex.eql_parser.types.Query query)
Converts the supplied Query into a String suitable for serialization, such as persistence into a portlet's preferences.
|
static com.endeca.mdex.eql_parser.types.Query |
stringToQuery(java.lang.String str)
Converts a previously serialized JAXB XML representation of an LQL Query back into a Java Query object suitable for use at runtime.
|
public static com.endeca.mdex.eql_parser.types.ExpressionBase parseExpression(DataSource ds, java.lang.String expression) throws DataSourceException, LQLException
ds
- a DataSourceexpression
- an expression to be parsedDataSourceException
LQLException
public static java.lang.String expressionToFilterString(com.endeca.mdex.eql_parser.types.ExpressionBase expr) throws LQLException
filterStringToExpression(String)
expr
- the ExpressionBase to serializeLQLException
- if the ExpressionBase could not be serialized to a stringpublic static com.endeca.mdex.eql_parser.types.ExpressionBase filterStringToExpression(java.lang.String str) throws LQLException
expressionToFilterString(ExpressionBase)
. Any other format is not
expected to work.str
- a JAXB representation of a wrapped ExpressionBaseLQLException
- if the string could not be used to generate an ExpressionBasepublic static java.lang.String queryToString(com.endeca.mdex.eql_parser.types.Query query) throws LQLException
stringToQuery(String)
query
- the Query to serializeLQLException
- if the Query could not be serialized to a stringpublic static com.endeca.mdex.eql_parser.types.Query stringToQuery(java.lang.String str) throws LQLException
queryToString(Query)
. Any other format is not expected to work.str
- a JAXB representation of a QueryLQLException
- if the string could not be used to generate a Querypublic static void prefixDefineKeys(com.endeca.mdex.eql_parser.types.Query query, java.lang.String prefix)
query
- prefix
- public static void prefixExpression(com.endeca.mdex.eql_parser.types.ExpressionBase expression, java.lang.String prefix, java.util.Set<java.lang.String> statementKeys, java.util.Set<java.lang.String> aliases)
expression
- prefix
- statementKeys
- public static void prefixSource(com.endeca.mdex.eql_parser.types.SourceBase source, java.lang.String prefix, java.util.Set<java.lang.String> statementKeys, java.util.Set<java.lang.String> aliases)
source
- prefix
- statementKeys
- public static void addAliases(java.util.Set<java.lang.String> aliases, com.endeca.mdex.eql_parser.types.SourceBase source)
public static java.util.Set<java.lang.String> getStatementKeys(com.endeca.mdex.eql_parser.types.Query query)
public static java.util.Set<java.lang.String> getStatementAliases(com.endeca.mdex.eql_parser.types.Statement statement)
public static boolean hasGroupingSetsGroupBy(com.endeca.mdex.eql_parser.types.Query query)
query
- public static boolean hasGroupingSetsGroupBy(com.endeca.mdex.eql_parser.types.Statement statement)
public static boolean hasGroupingSetsFunctions(com.endeca.mdex.eql_parser.types.Query query)
query
- public static boolean hasGroupingSetsFunctions(com.endeca.mdex.eql_parser.types.Statement statement)
public static boolean hasGroupingSetsFunctions(com.endeca.mdex.eql_parser.types.FunctionCallExpression fce)
@Deprecated public static void filterOutNullGroups(com.endeca.mdex.eql_parser.types.Query query)
query
- The query to be modified@Deprecated public static void addNullGroupFilterToStatement(com.endeca.mdex.eql_parser.types.Statement statement)
statement
- The statement to be modifiedpublic static void filterOutNullGroups(SemanticView view, com.endeca.mdex.eql_parser.types.Query query)
query
- The query to be modifiedpublic static void addNullGroupFilterToStatement(SemanticView view, com.endeca.mdex.eql_parser.types.Statement statement)
statement
- The statement to be modifiedpublic static java.util.List<java.lang.String> getAttributeKeys(java.util.Collection<com.endeca.mdex.eql_parser.types.GroupingKeyBase> groupBys)
public static java.lang.String getAttributeKey(com.endeca.mdex.eql_parser.types.GroupingKeyBase groupBy)
public static PropertyType getAttributeDataType(com.endeca.mdex.conversation.types.ResultRecords results, java.lang.String attributeKey)
eql
- attributeKey
- public static com.endeca.mdex.eql_parser.types.Statement getSimpleFlattenedStatement(SemanticView view, java.util.List<java.lang.String> metricKeys, java.util.List<java.lang.String> dimensionKeys, java.lang.String flattenedStatementKey)
view
- The semantic viewdimensionKeys
- The dimension keys which will be grouped byflattenedStatementKey
- The statement keypublic static void fetchAttrKeysFromExpression(com.endeca.mdex.eql_parser.types.ExpressionBase expression, java.util.ArrayList<java.lang.String> attrKeys)
expression
- The expression to be analysedattrKeys
- Current fetched out attribute keysCopyright 2003, 2014, Oracle and/or its affiliates. All rights reserved.