Class DataSourceConfigurationManager

java.lang.Object
com.inet.report.config.datasource.DataSourceConfigurationManager

public class DataSourceConfigurationManager extends Object
This is the main class to manage data source configurations in i-net Clear Reports. A datasource configuration defines from which location/ by which way the data for a report will set. For GUI application you can open the DataSource-Manager dialog with DataSourceConfigurationManager.openDataSourceManagerDialog(Frame,DataSourceConfiguration). If a data source configuration is already created, it is easy to configure a report to use this configuration. The datasource configuration will be stored by using java.util.prefs.Preferences.
Since:
7.0
See Also:
  • Field Details

    • NO_STORE

      public static final int NO_STORE
      This scope does not store the configuration. It is for one time usage.
      Since:
      20.0
      See Also:
    • SYSTEM_PREFERENCES

      public static final int SYSTEM_PREFERENCES
      This scope store the configuration in the system preferences. The current user need the required rights.
      See Also:
    • USER_PREFERENCES

      public static final int USER_PREFERENCES
      This scope store the configuration in the user preferences. The current user need the required rights. In a not signed Java applet the user does not have the rights. On Windows the system account of a service has also not the rights.
      See Also:
    • ALL_PREFERENCES

      @Deprecated public static final int ALL_PREFERENCES
      Deprecated.
      As of i-net Clear Reports 20.0
      This scope is used to return all (without APPLICATION) configurations.
      See Also:
    • TEMPORARY_PREFERENCES

      public static final int TEMPORARY_PREFERENCES
      This scope store the configuration only in the memory.
      Since:
      7.5
      See Also:
    • USER_SESSION

      public static final int USER_SESSION
      This scope store the configuration in the servlet session. It is only in a servlet environment available.
      Since:
      11.1
      See Also:
    • APPLICATION

      public static final int APPLICATION
      This scope store the configuration in the persistence of the application.
      Since:
      20.0
      See Also:
  • Method Details

    • getUniqueName

      public static String getUniqueName(String configurationName, int preferenceScope)
      Creates a unique configuration name from the supplied name for the given scope.
      Parameters:
      configurationName - the name that will be used as a basis for the unique name.
      preferenceScope - Possible values:
      • DataSourceConfigurationManager.SYSTEM_PREFERENCES
      • DataSourceConfigurationManager.USER_PREFERENCES
      • DataSourceConfigurationManager.TEMPORARY_PREFERENCES
      • DataSourceConfigurationManager.USER_SESSION
      • DataSourceConfigurationManager.ALL_PREFERENCES
      Returns:
      String - a unique configuration name.
      Since:
      7.5
    • getDataSourceConfigurationNames

      public static String[] getDataSourceConfigurationNames()
      Returns the configuration names of all DataSourceConfigurations stored for user and system scope.
      Returns:
      String[] which contains the datasource configuration names.
      Since:
      7.5
      See Also:
    • getDataSourceConfigurationNames

      public static String[] getDataSourceConfigurationNames(int preferenceScope)
      Returns the configuration names of all DataSourceConfigurations stored for the given scope.
      Parameters:
      preferenceScope - Possible values:
      • DataSourceConfigurationManager.SYSTEM_PREFERENCES
      • DataSourceConfigurationManager.USER_PREFERENCES
      • DataSourceConfigurationManager.TEMPORARY_PREFERENCES
      • DataSourceConfigurationManager.USER_SESSION
      • DataSourceConfigurationManager.ALL_PREFERENCES
      Returns:
      String[] which contains the datasource configuration names.
      Throws:
      IllegalArgumentException - if the given preferenceScope parameter is not equal to a valid parameter value listed below.
      Since:
      7.5
      See Also:
    • getDataSourceConfigurations

      public static DataSourceConfiguration[] getDataSourceConfigurations(int scope)
      Returns the DataSourceConfiguration objects stored for the given scope.
      Parameters:
      scope - Possible values:
      • SYSTEM_PREFERENCES
      • USER_PREFERENCES
      • TEMPORARY_PREFERENCES
      • USER_SESSION
      • APPLICATION
      Returns:
      DataSourceConfiguration[] which contains the datasource configurations of the given scope.
      Throws:
      IllegalArgumentException - if the given preferenceScope parameter is not equal to a valid parameter value listed below.
      IllegalStateException - If the scope is USER_SCOPE and no HttpSession is available.
      Since:
      7.5
      See Also:
    • getDataSourceConfiguration

      public static DataSourceConfiguration getDataSourceConfiguration(String configurationName, int preferenceScope)
      Returns the DataSourceConfiguration specified by the given configuration name and scope.
      Parameters:
      configurationName - the name identifies the datasource configuration.
      preferenceScope - Possible values:
      • DataSourceConfigurationManager.SYSTEM_PREFERENCES
      • DataSourceConfigurationManager.USER_PREFERENCES
      • DataSourceConfigurationManager.ALL_PREFERENCES
      Returns:
      DataSourceConfiguration - the specified configuration if exists OR
      null - if the specified configuration does not exist.
      Throws:
      IllegalArgumentException - if the given preferenceScope parameter is not equal to a valid parameter value listed below.
      IllegalStateException - If the scope is USER_SCOPE and no HttpSession is available.
      Since:
      7.5
    • exists

      public static boolean exists(String configurationName)
      Checks if the DataSourceConfiguration specified by the given configuration name does exist for user or system scope.
      Parameters:
      configurationName - the name identifies the datasource configuration.
      Returns:
      true - if the datasource configuration is known, otherwise false.
      Since:
      7.5
      See Also:
    • isWriteable

      public static boolean isWriteable(int preferenceScope)
      Check if the scope is writable. The temporary scope is ever writable.
      Parameters:
      preferenceScope - Possible values:
      • DataSourceConfigurationManager.SYSTEM_PREFERENCES
      • DataSourceConfigurationManager.USER_PREFERENCES
      • DataSourceConfigurationManager.TEMPORARY_PREFERENCES
      • DataSourceConfigurationManager.USER_SESSION
      • DataSourceConfigurationManager.ALL_PREFERENCES
      Returns:
      true if the scope is writable.
      Throws:
      IllegalArgumentException - if the given preferenceScope parameter is not equal to a valid parameter value listed below.
      Since:
      7.5
    • isReadable

      public static boolean isReadable(int preferenceScope)
      Check if the scope is readable. The temporary scope and all scope are ever readable.
      Parameters:
      preferenceScope - Possible values:
      • DataSourceConfigurationManager.SYSTEM_PREFERENCES
      • DataSourceConfigurationManager.USER_PREFERENCES
      • DataSourceConfigurationManager.TEMPORARY_PREFERENCES
      • DataSourceConfigurationManager.USER_SESSION
      • DataSourceConfigurationManager.ALL_PREFERENCES
      Returns:
      true if the scope is readable.
      Throws:
      IllegalArgumentException - if the given preferenceScope parameter is not equal to a valid parameter value listed below.
      Since:
      7.5
    • exists

      public static boolean exists(String configurationName, int preferenceScope)
      Checks if the DataSourceConfiguration specified by the given configuration name does exist for the given scope.
      Parameters:
      configurationName - the name identifies the datasource configuration.
      preferenceScope - Possible values:
      • DataSourceConfigurationManager.SYSTEM_PREFERENCES
      • DataSourceConfigurationManager.USER_PREFERENCES
      • DataSourceConfigurationManager.APPLICATION
      • DataSourceConfigurationManager.TEMPORARY_PREFERENCES
      • DataSourceConfigurationManager.USER_SESSION
      Returns:
      true if the datasource configuration exist for the given scope, otherwise false.
      Since:
      7.5
      See Also:
    • createDataSourceConfiguration

      public static DataSourceConfiguration createDataSourceConfiguration(String configurationName, int scope) throws SecurityException
      Creates a new DataSourceConfiguration using the first parameter as configuration name. Afterwards the configuration properties will be saved for user or system scope, considering the second parameter.
      This method ensures that the name of each created configuration object is unique. If the given configuration name is already used by an existing configuration in the same scope, the name will be changed by appending a count.
      Parameters:
      configurationName - the name identifies the specific datasource configuration. Must not be empty or null
      scope - determines the scope for the new configuration.
      Possible values:
      • DataSourceConfigurationManager.SYSTEM_PREFERENCES
      • DataSourceConfigurationManager.USER_PREFERENCES
      • DataSourceConfigurationManager.APPLICATION
      • DataSourceConfigurationManager.TEMPORARY_PREFERENCES
      • DataSourceConfigurationManager.USER_SESSION
      Returns:
      DataSourceConfiguration - a new datasource configuration object.
      Throws:
      NullPointerException - If the supplied configuration name is null.
      IllegalArgumentException - If the supplied configuration name is empty or if the given preferenceScope parameter is not equal to a valid parameter value listed below.
      SecurityException - if there is no write access to the given Java Preferences
      Since:
      7.5
      See Also:
    • removeDatasourceConfigurations

      public static void removeDatasourceConfigurations(DataSourceConfiguration[] configs, int preferenceScope)
      Removes a collection of DataSourceConfigurations from the given scope.
      Parameters:
      configs - An array of DataSourceConfigurations to remove.
      preferenceScope - Possible values:
      • DataSourceConfigurationManager.SYSTEM_PREFERENCES
      • DataSourceConfigurationManager.USER_PREFERENCES
      • DataSourceConfigurationManager.APPLICATION
      Since:
      7.5
    • removeDatasourceConfiguration

      @Deprecated public static void removeDatasourceConfiguration(String configurationName, int preferenceScope) throws IllegalArgumentException, SecurityException
      Deprecated.
      As of i-net Clear Reports 20.0, use removeDatasourceConfiguration(DataSourceConfiguration) instead
      Removes the datasource configuration from the given scope.
      Parameters:
      configurationName - the unique name identifies the configuration.
      preferenceScope - Possible values:
      • DataSourceConfigurationManager.SYSTEM_PREFERENCES
      • DataSourceConfigurationManager.USER_PREFERENCES
      • DataSourceConfigurationManager.APPLICATION
      • DataSourceConfigurationManager.TEMPORARY_PREFERENCES
      • DataSourceConfigurationManager.USER_SESSION
      Throws:
      IllegalArgumentException - If the supplied configuration name is
      SecurityException - if you have no write rights to the preferences scope. null or empty or if the given preferenceScope parameter is not equal to a valid parameter value listed below.
      Since:
      7.5
      See Also:
    • removeDatasourceConfiguration

      public static void removeDatasourceConfiguration(DataSourceConfiguration dsc) throws IllegalArgumentException, SecurityException
      Removes the datasource configuration. The method will take care of removing the datasource configuration from the scope it is currently stored in.
      Parameters:
      dsc - the datasource configuration to remove
      Throws:
      IllegalArgumentException - If the supplied configuration is null
      SecurityException - if you have no write rights to the preferences scope. null or empty or if the given preferenceScope parameter is not equal to a valid parameter value listed below.
      Since:
      20.0
      See Also:
    • forceImportDataSourceConfigurations

      public static void forceImportDataSourceConfigurations(int preferenceScope, File fileToImport) throws ReportException, SecurityException
      Imports data source configurations, replacing any existing ones with the same name
      Parameters:
      preferenceScope - scope to import into. Possible values:
      • DataSourceConfigurationManager.SYSTEM_PREFERENCES
      • DataSourceConfigurationManager.USER_PREFERENCES
      • DataSourceConfigurationManager.APPLICATION
      • DataSourceConfigurationManager.TEMPORARY_PREFERENCES
      • DataSourceConfigurationManager.USER_SESSION
      fileToImport - representation of the XML file which contains the data source configurations for import
      Throws:
      ReportException - If the file can't be imported.
      SecurityException - if there is no write access to the given Java Preferences
      Since:
      10.0
      See Also:
    • importDataSourceConfigurations

      public static void importDataSourceConfigurations(int preferenceScope, File importFile) throws ReportException
      Imports one or more data source configurations from an XML file. The supplied DataSourceConfiguration will be renamed if a DataSourceConfiguration with this name already exists.
      Parameters:
      preferenceScope - Possible values:
      • DataSourceConfigurationManager.SYSTEM_PREFERENCES
      • DataSourceConfigurationManager.USER_PREFERENCES
      • DataSourceConfigurationManager.APPLICATION
      • DataSourceConfigurationManager.TEMPORARY_PREFERENCES
      • DataSourceConfigurationManager.USER_SESSION
      importFile - representation of the XML file which contains the data source configurations for import
      Throws:
      ReportException - If the file can't imported.
      Since:
      7.5
      See Also:
    • importDataSourceConfigurations

      public static void importDataSourceConfigurations(int preferenceScope, File importFile, boolean ignoreIfExist) throws ReportException, SecurityException
      Imports one or more data source configurations from an XML file.
      Parameters:
      preferenceScope - Possible values:
      • DataSourceConfigurationManager.SYSTEM_PREFERENCES
      • DataSourceConfigurationManager.USER_PREFERENCES
      • DataSourceConfigurationManager.APPLICATION
      • DataSourceConfigurationManager.TEMPORARY_PREFERENCES
      • DataSourceConfigurationManager.USER_SESSION
      importFile - representation of the XML file which contains the data source configurations for import
      ignoreIfExist - True if the supplied DataSourceConfiguration should be ignored if a DataSourceConfiguration with this name already exists or false if the supplied DataSourceConfiguration should be renamed if a DataSourceConfiguration with this name already exists.
      Throws:
      ReportException - If the file can't import.
      SecurityException - if there is no write access to the given Java Preferences
      Since:
      7.5
      See Also:
    • importDataSourceConfigurations

      public static DataSourceConfiguration[] importDataSourceConfigurations(int preferenceScope, InputStream importStream) throws ReportException
      Imports one or more data source configurations from an XML file. The supplied DataSourceConfiguration will be renamed if a DataSourceConfiguration with this name already exists.
      Parameters:
      preferenceScope - Possible values:
      • DataSourceConfigurationManager.SYSTEM_PREFERENCES
      • DataSourceConfigurationManager.USER_PREFERENCES
      • DataSourceConfigurationManager.TEMPORARY_PREFERENCES
      • DataSourceConfigurationManager.USER_SESSION
      importStream - input stream of the XML content which contains the data source configurations for import
      Returns:
      returns the list of configurations found in the import file
      Throws:
      ReportException - If the file can't imported.
      Since:
      7.5
      See Also:
    • importDataSourceConfigurations

      public static DataSourceConfiguration[] importDataSourceConfigurations(int preferenceScope, InputStream importStream, boolean ignoreIfExist) throws ReportException, SecurityException
      Imports one or more data source configurations from an XML file.
      Parameters:
      preferenceScope - Possible values:
      • DataSourceConfigurationManager.SYSTEM_PREFERENCES
      • DataSourceConfigurationManager.USER_PREFERENCES
      • DataSourceConfigurationManager.TEMPORARY_PREFERENCES
      • DataSourceConfigurationManager.USER_SESSION
      importStream - input stream of the XML content which contains the data source configurations for import
      ignoreIfExist - True if the supplied DataSourceConfiguration should be ignored if a DataSourceConfiguration with this name already exists or false if the supplied DataSourceConfiguration should be renamed if a DataSourceConfiguration with this name already exists.
      Returns:
      returns the list of configurations found by the import
      Throws:
      ReportException - If the file can't import.
      SecurityException - if there is no write access to the given Java Preferences
      Since:
      20.0
      See Also:
    • exportDataSourceConfigurations

      public static void exportDataSourceConfigurations(DataSourceConfiguration[] configs, File exportFile) throws ReportException
      Exports data source configurations to the given file in an XML format.
      Parameters:
      configs - Array which contains the DataSourceConfigurations for export
      exportFile - representation of the target XML file
      Throws:
      ReportException - if any error occur on saving
      Since:
      7.5
      See Also:
    • exportDataSourceConfigurations

      public static void exportDataSourceConfigurations(DataSourceConfiguration[] configs, OutputStream stream) throws ReportException
      Exports data source configurations to the given file in an XML format.
      Parameters:
      configs - Array which contains the DataSourceConfigurations for export
      stream - the target XML output
      Throws:
      ReportException - if any error occur on saving
      Since:
      20.0
      See Also:
    • addDataSourceConfigurationListener

      public static void addDataSourceConfigurationListener(DataSourceConfigurationChangeListener dscl)
      Add here a DataSourceConfigurationChangeListener to get informed when a DataSourceConfiguration was edited.
      Parameters:
      dscl - the DataSourceConfigurationChangeListener that get informed about changes of DataSourceConfiguration objects.
      Since:
      7.5
    • getDataSourceConfigurationListeners

      public static DataSourceConfigurationChangeListener[] getDataSourceConfigurationListeners()
      Returns the list of listeners. This can be used to fire own events to all registered listeners.
      Returns:
      an array of DataSourceConfigurationChangeListener
      Since:
      8.0
    • removeDataSourceConfigurationListener

      public static void removeDataSourceConfigurationListener(DataSourceConfigurationChangeListener dscl)
      Removes the listener from list. It will receive no notification after unregistering.
      Parameters:
      dscl - the listener to be removed.
      Since:
      7.5
    • getDataSource

      public static DataSourceConfiguration getDataSource(String name)
      Returns the DataSourceConfiguration specified by the given name. The search order is session, temporary, application, user, system
      Parameters:
      name - the name identifies the data source.
      Returns:
      DataSourceConfiguration - the specified data source if exists OR null
      Since:
      20.0
    • getDataSource

      public static DataSourceConfiguration getDataSource(com.inet.id.GUID uid)
      Returns the DataSourceConfiguration specified by the given uid. This method does not search in the session scope.
      Parameters:
      uid - the unique id of the data source.
      Returns:
      DataSourceConfiguration - the specified data source if exists OR null
      Since:
      20.0