Class TopiaCsvImports

java.lang.Object
org.nuiton.topia.service.csv.in.TopiaCsvImports

public class TopiaCsvImports extends Object
Helper for csv imports.
Since:
2.6.12
Author:
Tony Chemit - chemit@codelutin.com
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected static final String
     
    protected static final String
     
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static <T extends org.nuiton.topia.persistence.TopiaEntityEnum, M extends org.nuiton.topia.persistence.metadata.MetaFilenameAware<T>>
    Map<M,File>
    discoverEntries(Iterable<M> possibleMetas, File directory, List<String> missingEntries)
    Discover all files that can be imported (as a table or an association) from a directory.
    static <T extends org.nuiton.topia.persistence.TopiaEntityEnum, M extends org.nuiton.topia.persistence.metadata.MetaFilenameAware<T>>
    Map<M,ZipEntry>
    discoverEntries(String entryPrefix, Iterable<M> possibleMetas, ZipFile zipFile, List<String> missingEntries)
    Discover all files that can be imported (as a table or an association) from a zipfile.
    static <T extends org.nuiton.topia.persistence.TopiaEntityEnum, E extends org.nuiton.topia.persistence.TopiaEntity>
    void
    importAllEntities(org.nuiton.topia.persistence.support.TopiaHibernateSupport hibernateSupport, org.nuiton.topia.persistence.TopiaDao<E> dao, org.nuiton.topia.persistence.metadata.TableMeta<T> meta, org.nuiton.csv.Import<E> importer, CsvImportResult<T> csvResult, int nbRowBuffer)
     
    static <T extends org.nuiton.topia.persistence.TopiaEntityEnum, E extends org.nuiton.topia.persistence.TopiaEntity>
    void
    importAllEntities(org.nuiton.topia.persistence.TopiaDao<E> dao, org.nuiton.topia.persistence.metadata.TableMeta<T> meta, org.nuiton.csv.Import<E> importer, CsvImportResult<T> csvResult)
     
    static <T extends org.nuiton.topia.persistence.TopiaEntityEnum, E extends org.nuiton.topia.persistence.TopiaEntity>
    Iterable<E>
    importAllEntitiesAndReturnThem(org.nuiton.topia.persistence.TopiaDao<E> dao, org.nuiton.topia.persistence.metadata.TableMeta<T> meta, org.nuiton.csv.Import<E> importer, CsvImportResult<T> csvResult)
     
    static <T extends org.nuiton.topia.persistence.TopiaEntityEnum>
    void
    importAssociation(Reader reader, ImportStrategy<T> importStrategy, org.nuiton.topia.persistence.metadata.AssociationMeta<T> meta, CsvImportResult<T> csvResult)
    To import a association (given by his meta) from a reader and a strategy.
    static <T extends org.nuiton.topia.persistence.TopiaEntityEnum>
    void
    importAssociation(org.nuiton.topia.persistence.support.TopiaSqlSupport sqlSupport, org.nuiton.topia.persistence.metadata.AssociationMeta<T> meta, Map<String, org.nuiton.topia.persistence.TopiaEntity> universe, org.nuiton.csv.ImportToMap importer, CsvImportResult<T> csvResult, int nbRowBuffer)
     
    static <T extends org.nuiton.topia.persistence.TopiaEntityEnum>
    void
    importAssociation(org.nuiton.topia.persistence.support.TopiaSqlSupport sqlSupport, org.nuiton.topia.persistence.metadata.AssociationMeta<T> meta, org.nuiton.csv.ImportToMap importer, CsvImportResult<T> csvResult, int nbRowBuffer)
     
    static <T extends org.nuiton.topia.persistence.TopiaEntityEnum>
    void
    importNMAssociation(org.nuiton.topia.persistence.support.TopiaSqlSupport sqlSupport, org.nuiton.topia.persistence.metadata.AssociationMeta<T> meta, Map<String, org.nuiton.topia.persistence.TopiaEntity> universe, org.nuiton.csv.ImportToMap importer, CsvImportResult<T> csvResult, int nbRowBuffer)
     
    static <T extends org.nuiton.topia.persistence.TopiaEntityEnum>
    void
    importNMAssociation(org.nuiton.topia.persistence.support.TopiaSqlSupport sqlSupport, org.nuiton.topia.persistence.metadata.AssociationMeta<T> meta, org.nuiton.csv.ImportToMap importer, CsvImportResult<T> csvResult, int nbRowBuffer)
     
    static <T extends org.nuiton.topia.persistence.TopiaEntityEnum, E extends org.nuiton.topia.persistence.TopiaEntity>
    void
    importNotExistingEntities(org.nuiton.topia.persistence.TopiaDao<E> dao, org.nuiton.topia.persistence.metadata.TableMeta<T> meta, Map<String, org.nuiton.topia.persistence.TopiaEntity> universe, org.nuiton.csv.Import<E> importer, CsvImportResult<T> csvResult)
     
    static <T extends org.nuiton.topia.persistence.TopiaEntityEnum, E extends org.nuiton.topia.persistence.TopiaEntity>
    void
    importTable(Reader reader, ImportStrategy<T> importStrategy, org.nuiton.topia.persistence.metadata.TableMeta<T> meta, CsvImportResult<T> csvResult)
    To import a table (given by his meta) from a reader and a strategy.
    static <T extends org.nuiton.topia.persistence.TopiaEntityEnum, E extends org.nuiton.topia.persistence.TopiaEntity>
    Iterable<E>
    importTableAndReturn(Reader reader, ImportStrategy<T> importStrategy, org.nuiton.topia.persistence.metadata.TableMeta<T> meta, CsvImportResult<T> csvResult)
    To import a table (given by his meta) from a reader and a strategy.

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

  • Constructor Details

    • TopiaCsvImports

      protected TopiaCsvImports()
  • Method Details

    • discoverEntries

      public static <T extends org.nuiton.topia.persistence.TopiaEntityEnum, M extends org.nuiton.topia.persistence.metadata.MetaFilenameAware<T>> Map<M,ZipEntry> discoverEntries(String entryPrefix, Iterable<M> possibleMetas, ZipFile zipFile, List<String> missingEntries)
      Discover all files that can be imported (as a table or an association) from a zipfile.
      Type Parameters:
      T - type of topia entity enum
      M - type of data to import (table or association)
      Parameters:
      entryPrefix - prefix where to find files in the zip
      possibleMetas - list of possible meta to be imported
      zipFile - zip file where to seek for csv files to import
      missingEntries - to fill missing files
      Returns:
      the map of found files indexed by his meta
    • discoverEntries

      public static <T extends org.nuiton.topia.persistence.TopiaEntityEnum, M extends org.nuiton.topia.persistence.metadata.MetaFilenameAware<T>> Map<M,File> discoverEntries(Iterable<M> possibleMetas, File directory, List<String> missingEntries)
      Discover all files that can be imported (as a table or an association) from a directory.
      Type Parameters:
      T - type of topia entity enum
      M - type of data to import (table or association)
      Parameters:
      possibleMetas - list of possible meta to be imported
      directory - directory where to seek for csv files to import
      missingEntries - to fill missing files
      Returns:
      the map of found files indexed by his meta
    • importTable

      public static <T extends org.nuiton.topia.persistence.TopiaEntityEnum, E extends org.nuiton.topia.persistence.TopiaEntity> void importTable(Reader reader, ImportStrategy<T> importStrategy, org.nuiton.topia.persistence.metadata.TableMeta<T> meta, CsvImportResult<T> csvResult) throws org.nuiton.topia.persistence.TopiaException, IOException
      To import a table (given by his meta) from a reader and a strategy. Result of import can be stored in an optional csv result.
      Type Parameters:
      T - type of entity enum
      E - type of data
      Parameters:
      reader - where to read csv data
      importStrategy - import strategy used to store csv data
      meta - meta of the data
      csvResult - optional csv result
      Throws:
      org.nuiton.topia.persistence.TopiaException - if any db problem while storing datas
      IOException - if any pb while reading csv data
      See Also:
    • importTableAndReturn

      public static <T extends org.nuiton.topia.persistence.TopiaEntityEnum, E extends org.nuiton.topia.persistence.TopiaEntity> Iterable<E> importTableAndReturn(Reader reader, ImportStrategy<T> importStrategy, org.nuiton.topia.persistence.metadata.TableMeta<T> meta, CsvImportResult<T> csvResult) throws org.nuiton.topia.persistence.TopiaException, IOException
      To import a table (given by his meta) from a reader and a strategy. Result of import can be stored in an optional csv result.
      Type Parameters:
      T - type of entity enum
      E - type of data
      Parameters:
      reader - where to read csv data
      importStrategy - import strategy used to store csv data
      meta - meta of the data
      csvResult - optional csv result
      Throws:
      org.nuiton.topia.persistence.TopiaException - if any db problem while storing datas
      IOException - if any pb while reading csv data
      See Also:
    • importAssociation

      public static <T extends org.nuiton.topia.persistence.TopiaEntityEnum> void importAssociation(Reader reader, ImportStrategy<T> importStrategy, org.nuiton.topia.persistence.metadata.AssociationMeta<T> meta, CsvImportResult<T> csvResult) throws IOException, org.nuiton.topia.persistence.TopiaException
      To import a association (given by his meta) from a reader and a strategy. Result of import can be stored in an optional csv result.
      Type Parameters:
      T - type of entity enum
      Parameters:
      reader - where to read csv data
      importStrategy - import strategy used to store csv data
      meta - meta of the data
      csvResult - optional csv result
      Throws:
      org.nuiton.topia.persistence.TopiaException - if any db problem while storing datas
      IOException - if any pb while reading csv data
      See Also:
    • importAllEntities

      public static <T extends org.nuiton.topia.persistence.TopiaEntityEnum, E extends org.nuiton.topia.persistence.TopiaEntity> void importAllEntities(org.nuiton.topia.persistence.TopiaDao<E> dao, org.nuiton.topia.persistence.metadata.TableMeta<T> meta, org.nuiton.csv.Import<E> importer, CsvImportResult<T> csvResult) throws org.nuiton.topia.persistence.TopiaException
      Throws:
      org.nuiton.topia.persistence.TopiaException
    • importAllEntities

      public static <T extends org.nuiton.topia.persistence.TopiaEntityEnum, E extends org.nuiton.topia.persistence.TopiaEntity> void importAllEntities(org.nuiton.topia.persistence.support.TopiaHibernateSupport hibernateSupport, org.nuiton.topia.persistence.TopiaDao<E> dao, org.nuiton.topia.persistence.metadata.TableMeta<T> meta, org.nuiton.csv.Import<E> importer, CsvImportResult<T> csvResult, int nbRowBuffer) throws org.nuiton.topia.persistence.TopiaException
      Throws:
      org.nuiton.topia.persistence.TopiaException
    • importAllEntitiesAndReturnThem

      public static <T extends org.nuiton.topia.persistence.TopiaEntityEnum, E extends org.nuiton.topia.persistence.TopiaEntity> Iterable<E> importAllEntitiesAndReturnThem(org.nuiton.topia.persistence.TopiaDao<E> dao, org.nuiton.topia.persistence.metadata.TableMeta<T> meta, org.nuiton.csv.Import<E> importer, CsvImportResult<T> csvResult) throws org.nuiton.topia.persistence.TopiaException
      Throws:
      org.nuiton.topia.persistence.TopiaException
    • importNotExistingEntities

      public static <T extends org.nuiton.topia.persistence.TopiaEntityEnum, E extends org.nuiton.topia.persistence.TopiaEntity> void importNotExistingEntities(org.nuiton.topia.persistence.TopiaDao<E> dao, org.nuiton.topia.persistence.metadata.TableMeta<T> meta, Map<String, org.nuiton.topia.persistence.TopiaEntity> universe, org.nuiton.csv.Import<E> importer, CsvImportResult<T> csvResult) throws org.nuiton.topia.persistence.TopiaException
      Throws:
      org.nuiton.topia.persistence.TopiaException
    • importAssociation

      public static <T extends org.nuiton.topia.persistence.TopiaEntityEnum> void importAssociation(org.nuiton.topia.persistence.support.TopiaSqlSupport sqlSupport, org.nuiton.topia.persistence.metadata.AssociationMeta<T> meta, org.nuiton.csv.ImportToMap importer, CsvImportResult<T> csvResult, int nbRowBuffer) throws org.nuiton.topia.persistence.TopiaException
      Throws:
      org.nuiton.topia.persistence.TopiaException
    • importNMAssociation

      public static <T extends org.nuiton.topia.persistence.TopiaEntityEnum> void importNMAssociation(org.nuiton.topia.persistence.support.TopiaSqlSupport sqlSupport, org.nuiton.topia.persistence.metadata.AssociationMeta<T> meta, org.nuiton.csv.ImportToMap importer, CsvImportResult<T> csvResult, int nbRowBuffer) throws org.nuiton.topia.persistence.TopiaException
      Throws:
      org.nuiton.topia.persistence.TopiaException
    • importNMAssociation

      public static <T extends org.nuiton.topia.persistence.TopiaEntityEnum> void importNMAssociation(org.nuiton.topia.persistence.support.TopiaSqlSupport sqlSupport, org.nuiton.topia.persistence.metadata.AssociationMeta<T> meta, Map<String, org.nuiton.topia.persistence.TopiaEntity> universe, org.nuiton.csv.ImportToMap importer, CsvImportResult<T> csvResult, int nbRowBuffer) throws org.nuiton.topia.persistence.TopiaException
      Throws:
      org.nuiton.topia.persistence.TopiaException
    • importAssociation

      public static <T extends org.nuiton.topia.persistence.TopiaEntityEnum> void importAssociation(org.nuiton.topia.persistence.support.TopiaSqlSupport sqlSupport, org.nuiton.topia.persistence.metadata.AssociationMeta<T> meta, Map<String, org.nuiton.topia.persistence.TopiaEntity> universe, org.nuiton.csv.ImportToMap importer, CsvImportResult<T> csvResult, int nbRowBuffer) throws org.nuiton.topia.persistence.TopiaException
      Throws:
      org.nuiton.topia.persistence.TopiaException