java.lang.Object
com.denodo.scheduler.client.commons.utils.QueryUtil

public final class QueryUtil extends Object
Utility class for parameterized queries
Since:
5.0
  • Method Details

    • fixQuery

      public static String fixQuery(String query)
      Removes carriage return characters from query
    • isNonParameterizedQuery

      public static boolean isNonParameterizedQuery(String query)
      Returns false if the given query is a parameterized one: 'SELECT f1, f2, f3 FROM v1 WHERE f1=@f1 AND f2=@f2'. A variable in a parameterized query must be specified by prefixing it with the symbol '@'. A non parameterized query only could have escaped '@'.
    • obtainQueryParams

      public static Collection<String> obtainQueryParams(String query)
      Returns the name of the parameters of a parameterized query of the form: 'SELECT f1, f2, f3 FROM v1 WHERE f1=@f1 AND f2=@f2'.
    • interpolateQuery

      public static String interpolateQuery(String query, Map<String,Object> params)
      Obtains a valid statement filling the parameters with the values supplied.
      Parameters:
      params - a Map of <String paramName, Object paramValue>
    • unescapeQuery

      public static String unescapeQuery(String query)
      Unescape unsafe characters. Returns a string with each "\@" sequence replaced with the actual "@".
      Parameters:
      query -
      Returns:
      a string with each "\@" sequence replaced with the actual "@".
    • unescapeQueryParam

      public static String unescapeQueryParam(String query)
      Unescape unsafe characters. Returns a string with each "\@" sequence replaced with the actual "@".
      Parameters:
      query -
      Returns:
      a string with each "\@" sequence replaced with the actual "@".
    • unescapeQueryParam

      public static String unescapeQueryParam(String query, String value)
    • escapeQueryParam

      public static String escapeQueryParam(String query)
      Escape unsafe characters. Returns a string with each "=","?" and "&" sequence replaced with "\\=","\\?" and "\\&".
      Parameters:
      query -
      Returns:
      a string with each "=","?" and "&" sequence replaced with "\\=","\\?" and "\\&".
    • escapeQueryParam

      public static String escapeQueryParam(String query, String value)
    • stripSemicolon

      public static String stripSemicolon(String query)
    • buildMap

      public static Map<String,String> buildMap(String query)
      Parameters:
      query - follow a 'name then equal sign then value then ampersand' convention.
      Returns:
      a Map of pairs name of attribute/value. If query is null an empty Map is returned.
    • buildFromMap

      public static String buildFromMap(String element, Map<String,Object> parameters)
      Parameters:
      element -
      parameters - a Map of pairs name of attribute/value.
      Returns:
      a query defined as element[?parameters] and the parameters following the 'name then equal sign then value then ampersand' convention.
    • getViewNameFromQuery

      public static String getViewNameFromQuery(String query)