Package org.eclipse.birt.core.data
Class ExpressionUtil
- java.lang.Object
-
- org.eclipse.birt.core.data.ExpressionUtil
-
public final class ExpressionUtil extends java.lang.ObjectThis class help to manipulate expressions.
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringDATA_INDICATORprefix for column bindings in Cubestatic java.lang.StringDATASET_ROW_INDICATORprefix for dataset rowstatic java.lang.StringDIMENSION_INDICATORprefix for dimensionstatic java.lang.StringEXPRESSION_VALUE_SUFFIXstatic java.lang.StringMEASURE_INDICATORprefix for measurestatic java.lang.StringPARAMETER_INDICATORprefix for parameterstatic java.lang.StringROW_INDICATORprefix for rowstatic java.lang.StringVARIABLE_INDICATORprefix for variable
-
Constructor Summary
Constructors Constructor Description ExpressionUtil()
-
Method Summary
All Methods Static Methods Concrete Methods Deprecated Methods Modifier and Type Method Description static java.lang.StringcreateDataSetRowExpression(java.lang.String rowName)Return a dataSetRow expression text according to given row name.static java.lang.StringcreateJSDataExpression(java.lang.String dataName)Return a JS data expression text according to given data name.static java.lang.StringcreateJSDataSetRowExpression(java.lang.String rowName)Return a JS dataSetRow expression text according to given row name.static java.lang.StringcreateJSDimensionExpression(java.lang.String dimensionName, java.lang.String levelName)Return a JS dimension expression text according to given dimension and measure name.By default it is reference to "ID" attribute of that level.static java.lang.StringcreateJSDimensionExpression(java.lang.String dimensionName, java.lang.String levelName, java.lang.String attributeName)Return a JS dimension expression text according to given dimension and measure name.static java.lang.StringcreateJSMeasureExpression(java.lang.String measureName)Return a JS measure expression text according to given measure name.static java.lang.StringcreateJSParameterExpression(java.lang.String parameterName)Return a JS parameter expression text according to given row name.static java.lang.StringcreateJSParameterValueExpression(java.lang.String parameterName)Return a JavaScript parameter value according to an expression.static java.lang.StringcreateJSRowExpression(java.lang.String rowName)Return a JS row expression text according to given row name.static java.lang.StringcreateRowExpression(int index)Deprecated.static java.lang.StringcreateRowExpression(java.lang.String rowName)Return a row expression text according to given row name.static java.util.List<IColumnBinding>extractColumnExpressions(java.lang.String oldExpression)Extract all column expression infostatic java.util.List<IColumnBinding>extractColumnExpressions(java.lang.String oldExpression, boolean mode)Deprecated.useextractColumnExpressions( String, String )insteadstatic java.util.List<IColumnBinding>extractColumnExpressions(java.lang.String oldExpression, java.lang.String indicator)Extract all column expression infostatic java.lang.StringgenerateConstantExpr(java.lang.String input, int dataType)Generate a Javascript constant expression by user input string and target BIRT data type.static java.util.Set<java.lang.String>getAllReferencedMeasures(java.lang.String expr)static IColumnBindinggetColumnBinding(java.lang.String oldExpression)Return an IColumnBinding instance according to given oldExpression.static java.lang.StringgetColumnBindingName(java.lang.String oldExpression)Get the simplest column binding name.static java.lang.StringgetColumnName(java.lang.String oldExpression)Get the simplest column binding name.static java.lang.StringgetDataSetNameWithoutPrefix(java.lang.String fullDataSetName)Gets the data set name with the given full name.static java.util.Set<IDimLevel>getReferencedDimLevel(java.lang.String expr)static java.lang.StringgetReferencedMeasure(java.lang.String expr)Deprecated.replaced by getAllReferencedMeasuresstatic java.lang.String[]getSourceDataSetNames(java.lang.String jointColumName)static booleanhasAggregation(java.lang.String expression)whethter the expression has aggregationstatic booleanisScalarParamReference(java.lang.String expression)whether the exression is report paramter reference.The pattern should like params["aa"].if yes, return true.static java.lang.StringreplaceParameterName(java.lang.String expr, java.lang.String paramOldName, java.lang.String paramNewName)static voidresetSuffix()When tests repeat, the static suffix has a wrong value.static java.lang.StringtoNewExpression(java.lang.String oldExpression)Translate the old expression with "row" as indicator to new expression using "dataSetRow" as indicator.static java.lang.StringupdateParentQueryReferenceExpression(java.lang.String oldExpression, boolean isParameterBinding)Translate the old expression with "rows" as parent query indicator to new expression using "row._outer" as parent query indicator.
-
-
-
Field Detail
-
ROW_INDICATOR
public static final java.lang.String ROW_INDICATOR
prefix for row- See Also:
- Constant Field Values
-
DATASET_ROW_INDICATOR
public static final java.lang.String DATASET_ROW_INDICATOR
prefix for dataset row- See Also:
- Constant Field Values
-
PARAMETER_INDICATOR
public static final java.lang.String PARAMETER_INDICATOR
prefix for parameter- See Also:
- Constant Field Values
-
MEASURE_INDICATOR
public static final java.lang.String MEASURE_INDICATOR
prefix for measure- See Also:
- Constant Field Values
-
DIMENSION_INDICATOR
public static final java.lang.String DIMENSION_INDICATOR
prefix for dimension- See Also:
- Constant Field Values
-
DATA_INDICATOR
public static final java.lang.String DATA_INDICATOR
prefix for column bindings in Cube- See Also:
- Constant Field Values
-
EXPRESSION_VALUE_SUFFIX
public static java.lang.String EXPRESSION_VALUE_SUFFIX
-
VARIABLE_INDICATOR
public static final java.lang.String VARIABLE_INDICATOR
prefix for variable- See Also:
- Constant Field Values
-
-
Method Detail
-
createRowExpression
public static java.lang.String createRowExpression(java.lang.String rowName)
Return a row expression text according to given row name.- Parameters:
rowName-- Returns:
-
resetSuffix
public static void resetSuffix()
When tests repeat, the static suffix has a wrong value. This method enables tests to reset the suffix.
-
createDataSetRowExpression
public static java.lang.String createDataSetRowExpression(java.lang.String rowName)
Return a dataSetRow expression text according to given row name.- Parameters:
rowName-- Returns:
-
createJSRowExpression
public static java.lang.String createJSRowExpression(java.lang.String rowName)
Return a JS row expression text according to given row name.- Parameters:
rowName-- Returns:
-
createJSMeasureExpression
public static java.lang.String createJSMeasureExpression(java.lang.String measureName)
Return a JS measure expression text according to given measure name.- Parameters:
measureName-- Returns:
-
createJSDataExpression
public static java.lang.String createJSDataExpression(java.lang.String dataName)
Return a JS data expression text according to given data name.- Parameters:
dataName-- Returns:
-
createJSDimensionExpression
public static java.lang.String createJSDimensionExpression(java.lang.String dimensionName, java.lang.String levelName)Return a JS dimension expression text according to given dimension and measure name.By default it is reference to "ID" attribute of that level.- Parameters:
dimensionName-levelName-- Returns:
-
createJSDimensionExpression
public static java.lang.String createJSDimensionExpression(java.lang.String dimensionName, java.lang.String levelName, java.lang.String attributeName)Return a JS dimension expression text according to given dimension and measure name.- Parameters:
dimensionName-levelName-attributeName-- Returns:
-
createJSDataSetRowExpression
public static java.lang.String createJSDataSetRowExpression(java.lang.String rowName)
Return a JS dataSetRow expression text according to given row name.- Parameters:
rowName-- Returns:
-
createJSParameterExpression
public static java.lang.String createJSParameterExpression(java.lang.String parameterName)
Return a JS parameter expression text according to given row name.- Parameters:
rowName-- Returns:
-
createJSParameterValueExpression
public static java.lang.String createJSParameterValueExpression(java.lang.String parameterName)
Return a JavaScript parameter value according to an expression.- Parameters:
expression-- Returns:
-
createRowExpression
@Deprecated public static java.lang.String createRowExpression(int index)
Deprecated.Return a row expression text according to given row index, which is 1-based.- Parameters:
index-- Returns:
-
extractColumnExpressions
public static java.util.List<IColumnBinding> extractColumnExpressions(java.lang.String oldExpression) throws BirtException
Extract all column expression info- Parameters:
oldExpression-- Returns:
- Throws:
BirtException
-
getColumnBindingName
public static java.lang.String getColumnBindingName(java.lang.String oldExpression) throws BirtExceptionGet the simplest column binding name. Such as row["col1"] pattern, we will return the column name "col1"- Parameters:
oldExpression-- Returns:
- Throws:
BirtException
-
getColumnName
public static java.lang.String getColumnName(java.lang.String oldExpression) throws BirtExceptionGet the simplest column binding name. Such as dataSetRow["col1"] pattern, we will return the column name "col1"- Parameters:
oldExpression-- Returns:
- Throws:
BirtException
-
extractColumnExpressions
@Deprecated public static java.util.List<IColumnBinding> extractColumnExpressions(java.lang.String oldExpression, boolean mode) throws BirtException
Deprecated.useextractColumnExpressions( String, String )insteadExtract all column expression info- Parameters:
oldExpression-mode- if true, it means to compile the "row" expression.else extract "dataSetRow" expression- Returns:
- Throws:
BirtException
-
extractColumnExpressions
public static java.util.List<IColumnBinding> extractColumnExpressions(java.lang.String oldExpression, java.lang.String indicator) throws BirtException
Extract all column expression info- Parameters:
oldExpression-mode- if true, it means to compile the "row" expression.else extract "dataSetRow" expression- Returns:
- Throws:
BirtException
-
hasAggregation
public static boolean hasAggregation(java.lang.String expression)
whethter the expression has aggregation- Parameters:
oldExpression-- Returns:
- Throws:
BirtException
-
getColumnBinding
public static IColumnBinding getColumnBinding(java.lang.String oldExpression)
Return an IColumnBinding instance according to given oldExpression.- Parameters:
oldExpression-- Returns:
-
toNewExpression
public static java.lang.String toNewExpression(java.lang.String oldExpression)
Translate the old expression with "row" as indicator to new expression using "dataSetRow" as indicator.- Parameters:
oldExpression-- Returns:
-
updateParentQueryReferenceExpression
public static java.lang.String updateParentQueryReferenceExpression(java.lang.String oldExpression, boolean isParameterBinding)Translate the old expression with "rows" as parent query indicator to new expression using "row._outer" as parent query indicator.- Parameters:
oldExpression-isParameterBinding-- Returns:
-
isScalarParamReference
public static boolean isScalarParamReference(java.lang.String expression)
whether the exression is report paramter reference.The pattern should like params["aa"].if yes, return true. else return false;- Parameters:
expression-
-
getSourceDataSetNames
public static java.lang.String[] getSourceDataSetNames(java.lang.String jointColumName)
- Parameters:
jointColumName-- Returns:
-
getDataSetNameWithoutPrefix
public static java.lang.String getDataSetNameWithoutPrefix(java.lang.String fullDataSetName)
Gets the data set name with the given full name. The full name may contain the library namespace.For example,
- "dataSet1" is extracted from "new_library.dataSet1"
- Parameters:
fullDataSetName- the data set- Returns:
- the name
-
getReferencedDimLevel
public static java.util.Set<IDimLevel> getReferencedDimLevel(java.lang.String expr) throws CoreException
- Parameters:
expr-- Returns:
- Throws:
CoreException
-
getReferencedMeasure
@Deprecated public static java.lang.String getReferencedMeasure(java.lang.String expr) throws CoreExceptionDeprecated.replaced by getAllReferencedMeasures- Parameters:
expr-- Returns:
- get the first measure name in this expression
- Throws:
CoreException
-
getAllReferencedMeasures
public static java.util.Set<java.lang.String> getAllReferencedMeasures(java.lang.String expr) throws CoreException- Parameters:
expr-- Returns:
- get the referenced measure name in this expression
- Throws:
CoreException
-
replaceParameterName
public static java.lang.String replaceParameterName(java.lang.String expr, java.lang.String paramOldName, java.lang.String paramNewName)- Parameters:
expr-paramOldName-paramNewName-- Returns:
-
generateConstantExpr
public static java.lang.String generateConstantExpr(java.lang.String input, int dataType) throws BirtExceptionGenerate a Javascript constant expression by user input string and target BIRT data type.- Parameters:
input- user input string.dataType- target BIRT data type. available values defined inorg.eclipse.birt.core.data.DataType- Returns:
- generated Javascript constant expression text
- Throws:
BIRTExceptionBirtException
-
-