Class DesignerNamedQueryManager

java.lang.Object
com.inductiveautomation.ignition.designer.db.namedquery.DesignerNamedQueryManager
All Implemented Interfaces:
NamedQueryManager

public class DesignerNamedQueryManager extends Object implements NamedQueryManager
  • Constructor Details

  • Method Details

    • beginTransaction

      public String beginTransaction(String projectName, String datasource, int isolationLevel, long timeout) throws Exception
      Description copied from interface: NamedQueryManager
      Registers a transaction, but does not actually begin it until a query is invoked in that transaction. This lets us have a beginTransaction without client protection that doesn't risk getting our connection pool clobbered. Returns null if project does not exist or has not started up.
      Specified by:
      beginTransaction in interface NamedQueryManager
      Throws:
      Exception
    • execute

      public Object execute(String projectName, String queryPath, Map<String,Object> parameters, boolean canCache, boolean canLimit, String tx, boolean getKey) throws Exception
      Description copied from interface: NamedQueryManager
      Executes a named query that exists on the provided queryPath. If the Named Query has parameters, values for each parameter should be supplied in the parameters map that conform to their data type. If the Named Query cannot be found at the supplied path, the required parameters aren't present, or their types are incorrect an Exception is thrown.
      Specified by:
      execute in interface NamedQueryManager
      queryPath - The path to the Named Query. Must not be null
      parameters - A parameter map for the named query. Keys being the parameter name and values their corresponding value. Must not be null
      canCache - If true, will cache if the query config is set to cache
      canLimit - If true, will limit the results if the query config is set to limit
      tx - If this field is not blank, will make this query part of a transaction
      getKey - If update query, will return new PK if true otherwise returns number of rows affected.
      Returns:
      Object of query results. May be null
      Throws:
      Exception - If query not found or query generates an exception
    • execute

      public Object execute(String projectName, NamedQuery query, Map<String,Object> parameters, boolean canCache, boolean canLimit, String tx, boolean getKey) throws Exception
      Description copied from interface: NamedQueryManager
      Executes a named query that exists on the provided queryPath. If the Named Query has parameters, values for each parameter should be supplied in the parameters map that conform to their data type. If the Named Query cannot be found at the supplied path, the required parameters aren't present, or their types are incorrect an Exception is thrown.
      Specified by:
      execute in interface NamedQueryManager
      Parameters:
      projectName - The name of the effective project the named queries whose cache you wish to clear reside in.
      query - The NamedQuery to execute. Must not be null
      parameters - A parameter map for the named query. Keys being the parameter name and values their corresponding value. Must not be null
      canCache - If true, will cache if the query config is set to cache
      canLimit - If true, will limit the results if the query config is set to limit
      Returns:
      Object of query results. May be null
      Throws:
      Exception - If query not found or query generates an exception
    • executeSFquery

      public boolean executeSFquery(String project, String path, Map<String,Object> parameters) throws Exception
      Description copied from interface: NamedQueryManager
      Executes an update query that exists on the provided queryPath through the Store & Forward system. If the Named Query cannot be found at the supplied path, the required parameters aren't present, or their types are incorrect an Exception is thrown.
      Specified by:
      executeSFquery in interface NamedQueryManager
      Parameters:
      project - Project the query resides in. Not empty or null.
      path - Path to the query resource. Not empty or null.
      parameters - A parameter map for the named query. Keys being the parameter name and values their corresponding value. Must not be null
      Returns:
      True if successfully sent to store and forward system.
      Throws:
      Exception - If required values are empty or don't exist, or if query is not an Update query.
    • getQueryFromPath

      @Nullable public NamedQuery getQueryFromPath(String project, String queryPath) throws Exception
      Description copied from interface: NamedQueryManager
      Returns the Cached NamedQuery based on the provided queryPath. Useful for checking permissions.
      Specified by:
      getQueryFromPath in interface NamedQueryManager
      queryPath - Path to Named Query resource
      Returns:
      NamedQuery resource or null if not found.
      Throws:
      Exception - If query or the project are not found
    • clearCache

      public void clearCache(String project, Set<String> namedQueries) throws Exception
      Description copied from interface: NamedQueryManager
      Clears the named query caches of the passed paths to the named queries.
      Specified by:
      clearCache in interface NamedQueryManager
      Parameters:
      project - the name of the effective project the named queries whose cache you wish to clear reside in.
      namedQueries - a set of paths to the named queries that we want to clear. Must not be null.
      Throws:
      Exception - If query or the project are not found
    • clearAllCaches

      public void clearAllCaches(String project) throws Exception
      Description copied from interface: NamedQueryManager
      Clears all Named Query caches for this project.
      Specified by:
      clearAllCaches in interface NamedQueryManager
      Parameters:
      project - The name of the effective project whose named queries' cache you wish to clear.
      Throws:
      Exception - If the project is not found