code: public void importData(CmsObject cms, I_CmsReport report, CmsImportParameters parameters)
      throws CmsImportExportException, CmsXmlException, CmsRoleViolationException, CmsException {
  
          // check the required role permissions
          OpenCms.getRoleManager().checkRole(cms, CmsRole.DATABASE_MANAGER);
  
          try {
              OpenCms.fireCmsEvent(
                  new CmsEvent(I_CmsEventListener.EVENT_CLEAR_CACHES, Collections.<String, Object> emptyMap()));
              I_CmsImportExportHandler handler = getImportExportHandler(parameters);
              synchronized (handler) {
                  handler.setImportParameters(parameters);
                  handler.importData(cms, report);
              }
          } finally {
              OpenCms.fireCmsEvent(
                  new CmsEvent(I_CmsEventListener.EVENT_CLEAR_CACHES, Collections.<String, Object> emptyMap()));
          }
      }
docs: Checks if the current user has permissions to import data into the Cms,
  and if so, creates a new import handler instance that imports the data.<p>
  
  @param cms the current OpenCms context object
  @param report a Cms report to print log messages
  @param parameters the import parameters
  
  @throws CmsRoleViolationException if the current user is not allowed to import the OpenCms database
  @throws CmsImportExportException if operation was not successful
  @throws CmsXmlException if the manifest of the import could not be unmarshalled
  @throws CmsException in case of errors accessing the VFS
  
  @see I_CmsImportExportHandler
  @see #importData(CmsObject, String, String, I_CmsReport)