public class ParameterUtil
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
NULL
String to pass to an empty list -> new Object[NULL]
|
Constructor and Description |
---|
ParameterUtil() |
Modifier and Type | Method and Description |
---|---|
static boolean |
allParametersAreHidden(java.util.Map<java.lang.String,QueryParameter> map)
See if all parameters are hidden
|
static boolean |
allParametersHaveDefaults(java.util.Map<java.lang.String,QueryParameter> map)
See if all parameters have default values
|
static boolean |
checkForParametersWithDefaultSource(Report report)
Check if report has at least a parameter with a default source (will need a connection to get values)
|
static java.util.Map<java.lang.String,QueryParameter> |
getChildDependentParameters(java.util.List<QueryParameter> params,
QueryParameter p)
Get child dependent parameters
|
static java.util.Map<java.lang.String,QueryParameter> |
getChildDependentParameters(Report report,
QueryParameter p)
Get child dependent parameters
|
static java.util.Map<java.lang.String,QueryParameter> |
getChildDependentParameters(Report report,
java.lang.String parameterName)
Get child dependent parameters
|
static java.util.List<IdName> |
getColumnValues(java.sql.Connection con,
java.lang.String schema,
java.lang.String table,
java.lang.String columnName,
java.lang.String shownColumnName,
byte orderBy)
Get values from a column in the database
|
static java.lang.String |
getDebugParameters(java.util.Map<java.lang.String,? extends java.lang.Object> parametersValues)
Get a string representation of all parameters values
|
static java.util.ArrayList<java.io.Serializable> |
getDefaultSourceValues(java.sql.Connection con,
QueryParameter qp)
Get values for a default source
|
static java.util.Map<java.lang.String,QueryParameter> |
getOrderedParametersMap(ro.nextreports.engine.queryexec.Query query,
java.util.Map<java.lang.String,QueryParameter> allParameters)
Get ordered parameters map (dependent parameters are after their dependents) where the key is the parameter name and
the value is the parameter
The result will contain also the hidden parameters and all parameters used just inside other parameters.
|
static QueryParameter |
getParameterByName(java.util.List<QueryParameter> params,
java.lang.String parameterName)
Get parameter by name
|
static QueryParameter |
getParameterByName(Report report,
java.lang.String parameterName)
Get parameter by name
|
static java.lang.Object |
getParameterValueFromString(java.lang.String parameterClass,
java.lang.String value)
Get parameter value from a string represenation
|
static java.lang.Object |
getParameterValueFromString(java.lang.String parameterClass,
java.lang.String value,
java.text.SimpleDateFormat sdf)
Get parameter value from a string represenation
|
static java.lang.Object |
getParameterValueFromStringWithPattern(java.lang.String parameterClass,
java.lang.String value,
java.lang.String pattern)
Get parameter value from a string represenation using a pattern
|
static java.util.List<IdName> |
getParameterValues(java.sql.Connection con,
QueryParameter parameter)
Get values for a parameter from a database
If a parameter is dependent of another parameter(s) his values will not be loaded
|
static java.util.List<IdName> |
getParameterValues(java.sql.Connection con,
QueryParameter qp,
java.util.Map<java.lang.String,QueryParameter> map,
java.util.Map<java.lang.String,java.io.Serializable> vals)
Get values for a dependent parameter sql
All parent parameters must have the values in the map.
|
static java.util.Map<java.lang.String,QueryParameter> |
getParentDependentParameters(java.util.List<QueryParameter> params,
QueryParameter p)
Get parent dependent parameters
|
static java.util.Map<java.lang.String,QueryParameter> |
getParentDependentParameters(Report report,
QueryParameter p)
Get parent dependent parameters
|
static java.util.List<IdName> |
getRuntimeParameterValues(java.sql.Connection con,
QueryParameter qp,
java.util.Map<java.lang.String,QueryParameter> map,
java.util.Map<java.lang.String,java.lang.Object> vals)
Get values for a parameter sql at runtime
All parent parameters must have the values in the map.
|
static java.util.List<IdName> |
getSelectValues(java.sql.Connection con,
java.lang.String select,
boolean sort,
byte orderBy)
Get values returned by a select (with one or two fields)
|
static java.util.Map<java.lang.String,QueryParameter> |
getUsedHiddenParametersMap(Report report)
Get used hidden parameters map where the key is the parameter name and the value is the parameter
Not all the report parameters have to be used, some may only be defined for further usage.
|
static java.util.Map<java.lang.String,QueryParameter> |
getUsedNotHiddenParametersMap(Report report)
Get used parameters map where the key is the parameter name and the value is the parameter
Not all the report parameters have to be used, some may only be defined for further usage.
|
static java.util.Map<java.lang.String,QueryParameter> |
getUsedParametersMap(ro.nextreports.engine.queryexec.Query query,
java.util.Map<java.lang.String,QueryParameter> allParameters)
Get used parameters map where the key is the parameter name and the value is the parameter
Not all the report parameters have to be used, some may only be defined for further usage.
|
static java.util.Map<java.lang.String,QueryParameter> |
getUsedParametersMap(Report report)
Get used parameters map where the key is the parameter name and the value is the parameter
Not all the report parameters have to be used, some may only be defined for further usage.
|
static java.util.Map<java.lang.String,QueryParameter> |
getUsedParametersMap(java.lang.String sql,
java.util.Map<java.lang.String,QueryParameter> allParameters)
Get used parameters map where the key is the parameter name and the value is the parameter
Not all the report parameters have to be used, some may only be defined for further usage.
|
static void |
initAllRuntimeParameterValues(java.sql.Connection conn,
QueryParameter param,
java.util.Map<java.lang.String,QueryParameter> map,
java.util.Map<java.lang.String,java.lang.Object> parameterValues)
Init parameter values map with all the values from select source of a parameter at runtime
|
static void |
initAllRuntimeParameterValues(QueryParameter param,
java.util.List<IdName> values,
java.util.Map<java.lang.String,java.lang.Object> parameterValues)
Init parameter values map with all the values
|
static void |
initDefaultParameterValues(java.sql.Connection conn,
QueryParameter param,
java.util.Map<java.lang.String,java.lang.Object> parameterValues)
Init parameter values map with the default values (static or dynamic) of a parameter
|
static void |
initDefaultParameterValues(QueryParameter param,
java.util.List<java.io.Serializable> defValues,
java.util.Map<java.lang.String,java.lang.Object> parameterValues)
Init parameter values map with the default values
|
static void |
initDefaultSParameterValues(java.sql.Connection conn,
QueryParameter param,
java.util.Map<java.lang.String,java.io.Serializable> parameterValues)
Init parameter values map with the default values (static or dynamic) of a parameter
|
static void |
initDefaultSParameterValues(QueryParameter param,
java.util.List<java.io.Serializable> defValues,
java.util.Map<java.lang.String,java.io.Serializable> parameterValues)
Init parameter values map with the default values
|
static void |
initNotHiddenDefaultParameterValues(java.sql.Connection conn,
Report report,
java.util.Map<java.lang.String,java.lang.Object> parameterValues)
Init parameter values map with the default values (static or dynamic) for all not-hidden parameters of a report
|
static void |
initStaticDefaultParameterValues(QueryParameter param,
java.util.Map<java.lang.String,java.lang.Object> parameterValues)
Init parameter values map with the static default values of a parameter
|
static void |
initStaticNotHiddenDefaultParameterValues(Report report,
java.util.Map<java.lang.String,java.lang.Object> parameterValues)
Init parameter values map with the static default values for all not-hidden parameters of a report
|
static java.util.Map<java.lang.String,QueryParameter> |
intersectParametersMap(java.util.List<Report> reports)
Get a map with all the identical parameters for a list of reports
|
static boolean |
isDateTime(QueryParameter qp)
Test if a parameter has a date or time class name: Date, Time, Timestamp
|
void |
parametersAreDefined(Report report)
Test if all parameters used in the report are defined
|
static java.util.Map<java.lang.String,QueryParameter> |
toMap(java.util.List<QueryParameter> parameters)
Convert a list of QueryParameter object to a map where the key is the parameter name
and the value is the parameter
|
public static final java.lang.String NULL
public void parametersAreDefined(Report report) throws ro.nextreports.engine.util.ParameterNotFoundException
report
- report objectro.nextreports.engine.util.ParameterNotFoundException
- if a parameter used in the report is not definedpublic static java.util.List<IdName> getParameterValues(java.sql.Connection con, QueryParameter parameter) throws java.sql.SQLException, ro.nextreports.engine.querybuilder.sql.dialect.DialectException
con
- connection to databaseparameter
- parameterjava.sql.SQLException
- if an error to sql execution appearsro.nextreports.engine.querybuilder.sql.dialect.DialectException
- if dialect not foundpublic static java.util.List<IdName> getColumnValues(java.sql.Connection con, java.lang.String schema, java.lang.String table, java.lang.String columnName, java.lang.String shownColumnName, byte orderBy) throws java.sql.SQLException, ro.nextreports.engine.querybuilder.sql.dialect.DialectException
con
- database connectionschema
- schema nametable
- tablecolumnName
- column nameshownColumnName
- shown column nameorderBy
- order byjava.sql.SQLException
- if an error to sql execution appearsro.nextreports.engine.querybuilder.sql.dialect.DialectException
- if dialect is not foundpublic static java.util.List<IdName> getSelectValues(java.sql.Connection con, java.lang.String select, boolean sort, byte orderBy) throws java.sql.SQLException, ro.nextreports.engine.querybuilder.sql.dialect.DialectException
con
- database connectionselect
- selectsort
- if true sort after idorderBy
- order by name or idjava.sql.SQLException
- if an error to sql execution appearsro.nextreports.engine.querybuilder.sql.dialect.DialectException
- if dialect is not foundpublic static java.util.List<IdName> getRuntimeParameterValues(java.sql.Connection con, QueryParameter qp, java.util.Map<java.lang.String,QueryParameter> map, java.util.Map<java.lang.String,java.lang.Object> vals) throws java.lang.Exception
con
- database connectionqp
- parametermap
- report map of parametersvals
- map of parameter valuesjava.lang.Exception
- if an exception occurspublic static java.util.List<IdName> getParameterValues(java.sql.Connection con, QueryParameter qp, java.util.Map<java.lang.String,QueryParameter> map, java.util.Map<java.lang.String,java.io.Serializable> vals) throws java.lang.Exception
con
- database connectionqp
- parametermap
- report map of parametersvals
- map of parameter valuesjava.lang.Exception
- if an exception occurspublic static java.util.ArrayList<java.io.Serializable> getDefaultSourceValues(java.sql.Connection con, QueryParameter qp) throws java.lang.Exception
con
- connectionqp
- parameterjava.lang.Exception
- if select failespublic static java.util.Map<java.lang.String,QueryParameter> getChildDependentParameters(Report report, java.lang.String parameterName)
report
- next report objectparameterName
- current parameter namepublic static java.util.Map<java.lang.String,QueryParameter> getChildDependentParameters(Report report, QueryParameter p)
report
- next report objectp
- current parameterpublic static java.util.Map<java.lang.String,QueryParameter> getChildDependentParameters(java.util.List<QueryParameter> params, QueryParameter p)
params
- list of parametersp
- current parameterpublic static java.util.Map<java.lang.String,QueryParameter> getParentDependentParameters(Report report, QueryParameter p)
report
- next report objectp
- current parameterpublic static java.util.Map<java.lang.String,QueryParameter> getParentDependentParameters(java.util.List<QueryParameter> params, QueryParameter p)
params
- list of parametersp
- current parameterpublic static QueryParameter getParameterByName(Report report, java.lang.String parameterName)
report
- next report objectparameterName
- parameter namepublic static QueryParameter getParameterByName(java.util.List<QueryParameter> params, java.lang.String parameterName)
params
- list of parametersparameterName
- parameter namepublic static java.util.Map<java.lang.String,QueryParameter> getUsedParametersMap(Report report)
report
- next report objectpublic static java.util.Map<java.lang.String,QueryParameter> getUsedNotHiddenParametersMap(Report report)
report
- next report objectpublic static java.util.Map<java.lang.String,QueryParameter> getUsedHiddenParametersMap(Report report)
report
- next report objectpublic static java.util.Map<java.lang.String,QueryParameter> getUsedParametersMap(ro.nextreports.engine.queryexec.Query query, java.util.Map<java.lang.String,QueryParameter> allParameters)
query
- query objectallParameters
- parameters mappublic static java.util.Map<java.lang.String,QueryParameter> getOrderedParametersMap(ro.nextreports.engine.queryexec.Query query, java.util.Map<java.lang.String,QueryParameter> allParameters)
query
- query objectallParameters
- parameters mappublic static java.util.Map<java.lang.String,QueryParameter> getUsedParametersMap(java.lang.String sql, java.util.Map<java.lang.String,QueryParameter> allParameters)
sql
- sqlallParameters
- parameters mappublic static boolean allParametersAreHidden(java.util.Map<java.lang.String,QueryParameter> map)
map
- map of parameterspublic static boolean allParametersHaveDefaults(java.util.Map<java.lang.String,QueryParameter> map)
map
- map of parameterspublic static void initAllRuntimeParameterValues(QueryParameter param, java.util.List<IdName> values, java.util.Map<java.lang.String,java.lang.Object> parameterValues) throws ro.nextreports.engine.queryexec.QueryException
param
- parametervalues
- all parameter valuesparameterValues
- map of parameter valuesro.nextreports.engine.queryexec.QueryException
- if could not get parameter valuespublic static void initDefaultParameterValues(QueryParameter param, java.util.List<java.io.Serializable> defValues, java.util.Map<java.lang.String,java.lang.Object> parameterValues) throws ro.nextreports.engine.queryexec.QueryException
param
- parameterdefValues
- default valuesparameterValues
- map of parameter valuesro.nextreports.engine.queryexec.QueryException
- if could not get default parameter valuespublic static void initDefaultSParameterValues(QueryParameter param, java.util.List<java.io.Serializable> defValues, java.util.Map<java.lang.String,java.io.Serializable> parameterValues) throws ro.nextreports.engine.queryexec.QueryException
param
- parameterdefValues
- default valuesparameterValues
- map of parameter valuesro.nextreports.engine.queryexec.QueryException
- if could not get default parameter valuespublic static void initStaticDefaultParameterValues(QueryParameter param, java.util.Map<java.lang.String,java.lang.Object> parameterValues) throws ro.nextreports.engine.queryexec.QueryException
param
- parameterparameterValues
- map of parameter valuesro.nextreports.engine.queryexec.QueryException
- if could not get default parameter valuespublic static void initDefaultParameterValues(java.sql.Connection conn, QueryParameter param, java.util.Map<java.lang.String,java.lang.Object> parameterValues) throws ro.nextreports.engine.queryexec.QueryException
conn
- database connectionparam
- parameterparameterValues
- map of parameter valuesro.nextreports.engine.queryexec.QueryException
- if could not get default parameter valuespublic static void initAllRuntimeParameterValues(java.sql.Connection conn, QueryParameter param, java.util.Map<java.lang.String,QueryParameter> map, java.util.Map<java.lang.String,java.lang.Object> parameterValues) throws ro.nextreports.engine.queryexec.QueryException
conn
- database connectionparam
- parametermap
- report map of parametersparameterValues
- map of parameter valuesro.nextreports.engine.queryexec.QueryException
- if could not get parameter valuespublic static void initDefaultSParameterValues(java.sql.Connection conn, QueryParameter param, java.util.Map<java.lang.String,java.io.Serializable> parameterValues) throws ro.nextreports.engine.queryexec.QueryException
conn
- database connectionparam
- parameterparameterValues
- map of parameter valuesro.nextreports.engine.queryexec.QueryException
- if could not get default parameter valuespublic static void initStaticNotHiddenDefaultParameterValues(Report report, java.util.Map<java.lang.String,java.lang.Object> parameterValues) throws ro.nextreports.engine.queryexec.QueryException
report
- reportparameterValues
- map of parameter valuesro.nextreports.engine.queryexec.QueryException
- if could not get default parameter valuespublic static void initNotHiddenDefaultParameterValues(java.sql.Connection conn, Report report, java.util.Map<java.lang.String,java.lang.Object> parameterValues) throws ro.nextreports.engine.queryexec.QueryException
conn
- database connectionreport
- reportparameterValues
- map of parameter valuesro.nextreports.engine.queryexec.QueryException
- if could not get default parameter valuespublic static boolean checkForParametersWithDefaultSource(Report report)
report
- reportpublic static java.util.Map<java.lang.String,QueryParameter> toMap(java.util.List<QueryParameter> parameters)
parameters
- list of parameterspublic static java.lang.Object getParameterValueFromString(java.lang.String parameterClass, java.lang.String value) throws java.lang.Exception
parameterClass
- parameter classvalue
- string value representationjava.lang.Exception
- if string value cannot be parsepublic static java.lang.Object getParameterValueFromStringWithPattern(java.lang.String parameterClass, java.lang.String value, java.lang.String pattern) throws java.lang.Exception
parameterClass
- parameter classvalue
- string value representationpattern
- value patternjava.lang.Exception
- if string value cannot be parsepublic static java.lang.Object getParameterValueFromString(java.lang.String parameterClass, java.lang.String value, java.text.SimpleDateFormat sdf) throws java.lang.Exception
parameterClass
- parameter classvalue
- string value representationsdf
- SimpleDateFormat used to parse Date from Stringjava.lang.Exception
- if string value cannot be parsepublic static java.util.Map<java.lang.String,QueryParameter> intersectParametersMap(java.util.List<Report> reports)
reports
- list of reportspublic static java.lang.String getDebugParameters(java.util.Map<java.lang.String,? extends java.lang.Object> parametersValues)
parametersValues
- map of parameterspublic static boolean isDateTime(QueryParameter qp)
qp
- parameter