com.gisgraphy.importer

## Class GeonamesAlternateNamesExtracter

- java.lang.Object
- - com.gisgraphy.importer.AbstractSimpleImporterProcessor
  - - com.gisgraphy.importer.GeonamesAlternateNamesExtracter

- All Implemented Interfaces:
    IImporterProcessor

      public class GeonamesAlternateNamesExtracter
      extends AbstractSimpleImporterProcessor

  Extract the alternateNames into separate files : one for country, one for adm1 and one for adm2
  Author:
    David Masclet

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected File` | `adm1file`
    `protected OutputStreamWriter` | `adm1fileOutputStreamWriter`
    `protected Map<Long,String>` | `adm1Map`
    `protected File` | `adm2file`
    `protected OutputStreamWriter` | `adm2fileOutputStreamWriter`
    `protected Map<Long,String>` | `adm2Map`
    `protected File` | `countryFile`
    `protected OutputStreamWriter` | `countryfileOutputStreamWriter`
    `protected Map<Long,String>` | `countryMap`
    `protected File` | `featuresFile`
    `protected OutputStreamWriter` | `featuresfileOutputStreamWriter`
    `protected static org.slf4j.Logger` | `logger`

    - ### Fields inherited from class com.gisgraphy.importer.AbstractSimpleImporterProcessor

      `COMMENT_START, currentFile, importerConfig, in, internationalisationService, readFileLine, status, statusMessage, totalReadLine, transactionManager, txDefinition, txStatus`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `GeonamesAlternateNamesExtracter()` Default Constructor

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | `flushAndClear()` Should flush and clear all the Daos that are used by the processor.
    `protected File[]` | `getFiles()`
    `protected int` | `getNumberOfColumns()`
    `protected void` | `initFiles()`
    `protected boolean` | `lineIsAnAlternateNameForAdm1(Long featureId)`
    `protected boolean` | `lineIsAnAlternateNameForCountry(Long featureId)`
    `protected boolean` | `lineIsAnAlternatNameForAdm2(Long featureId)`
    `protected void` | `onFileProcessed(File file)` hook to do when the file has been processed without error
    `protected Map<Long,String>` | `populateMapFromList(List<Long> list)`
    `protected void` | `processData(String line)` Process a read line of the geonames file, must be implemented by the concrete class
    `List<NameValueDTO<Integer>>` | `rollback()` /!
    `void` | `setAdmDao(IAdmDao admDao)`
    `protected void` | `setCommitFlushMode()` Will flush after every commit
    `void` | `setCountryDao(ICountryDao countryDao)`
    `void` | `setup()` Template method that can be override.
    `boolean` | `shouldBeSkipped()`
    `protected boolean` | `shouldIgnoreComments()` Whether the filter should ignore the comments (i.e. lines starting with #)
    `protected boolean` | `shouldIgnoreFirstLine()` Template Method : Whether the processor should ignore the first line of the input
    `protected void` | `tearDown()` Template method that can be override.

    - ### Methods inherited from class com.gisgraphy.importer.AbstractSimpleImporterProcessor

      `checkNumberOfColumn, commit, countLines, decrementReadedFileLine, dumpFields, getCurrentFileName, getMaxInsertsBeforeFlush, getNumberOfLinesToProcess, getReadFileLine, getStatus, getStatusMessage, getTotalReadLine, incrementReadedFileLine, isEmptyField, isEndOfDocument, needCommit, process, processError, readLineAndProcessData, resetStatus, rollbackTransaction, setImporterConfig, setInternationalisationService, setTransactionManager, startTransaction`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### logger

          protected static final org.slf4j.Logger logger

    - #### adm1file

          protected File adm1file

    - #### adm2file

          protected File adm2file

    - #### countryFile

          protected File countryFile

    - #### featuresFile

          protected File featuresFile

    - #### adm1fileOutputStreamWriter

          protected OutputStreamWriter adm1fileOutputStreamWriter

    - #### adm2fileOutputStreamWriter

          protected OutputStreamWriter adm2fileOutputStreamWriter

    - #### countryfileOutputStreamWriter

          protected OutputStreamWriter countryfileOutputStreamWriter

    - #### featuresfileOutputStreamWriter

          protected OutputStreamWriter featuresfileOutputStreamWriter

    - #### countryMap

          protected Map<Long,String> countryMap

    - #### adm1Map

          protected Map<Long,String> adm1Map

    - #### adm2Map

          protected Map<Long,String> adm2Map

  - ### Constructor Detail

    - #### GeonamesAlternateNamesExtracter

          public GeonamesAlternateNamesExtracter()

      Default Constructor

  - ### Method Detail

    - #### onFileProcessed

          protected void onFileProcessed(File file)

      Description copied from class: `AbstractSimpleImporterProcessor`
      hook to do when the file has been processed without error
      Overrides:
        `onFileProcessed` in class `AbstractSimpleImporterProcessor`

    - #### processData

          protected void processData(String line)

      Description copied from class: `AbstractSimpleImporterProcessor`
      Process a read line of the geonames file, must be implemented by the concrete class
      Specified by:
        `processData` in class `AbstractSimpleImporterProcessor`
      Parameters:
        `line` - the line to process

    - #### lineIsAnAlternatNameForAdm2

          protected boolean lineIsAnAlternatNameForAdm2(Long featureId)

    - #### lineIsAnAlternateNameForAdm1

          protected boolean lineIsAnAlternateNameForAdm1(Long featureId)

    - #### lineIsAnAlternateNameForCountry

          protected boolean lineIsAnAlternateNameForCountry(Long featureId)

    - #### shouldBeSkipped

          public boolean shouldBeSkipped()

      Specified by:
        `shouldBeSkipped` in interface `IImporterProcessor`
      Overrides:
        `shouldBeSkipped` in class `AbstractSimpleImporterProcessor`
      Returns:
        true if the processor should Not be executed

    - #### tearDown

          protected void tearDown()

      Description copied from class: `AbstractSimpleImporterProcessor`
      Template method that can be override. This method is called after the end of the process. it is not called for each file processed. You should always call super.tearDown() when you overide this method
      Overrides:
        `tearDown` in class `AbstractSimpleImporterProcessor`

    - #### initFiles

          protected void initFiles()

    - #### setup

          public void setup()

      Description copied from class: `AbstractSimpleImporterProcessor`
      Template method that can be override. This method is called before the process start. it is not called for each file processed.
      Overrides:
        `setup` in class `AbstractSimpleImporterProcessor`

    - #### populateMapFromList

          protected Map<Long,String> populateMapFromList(List<Long> list)

    - #### shouldIgnoreFirstLine

          protected boolean shouldIgnoreFirstLine()

      Description copied from class: `AbstractSimpleImporterProcessor`
      Template Method : Whether the processor should ignore the first line of the input
      Specified by:
        `shouldIgnoreFirstLine` in class `AbstractSimpleImporterProcessor`
      Returns:
        true if the processor should ignore first line

    - #### shouldIgnoreComments

          protected boolean shouldIgnoreComments()

      Description copied from class: `AbstractSimpleImporterProcessor`
      Whether the filter should ignore the comments (i.e. lines starting with #)
      Specified by:
        `shouldIgnoreComments` in class `AbstractSimpleImporterProcessor`
      See Also:
        `AbstractSimpleImporterProcessor.COMMENT_START`

    - #### setCommitFlushMode

          protected void setCommitFlushMode()

      Description copied from class: `AbstractSimpleImporterProcessor`
      Will flush after every commit
      Specified by:
        `setCommitFlushMode` in class `AbstractSimpleImporterProcessor`
      See Also:
        `AbstractSimpleImporterProcessor.flushAndClear()`

    - #### flushAndClear

          protected void flushAndClear()

      Description copied from class: `AbstractSimpleImporterProcessor`
      Should flush and clear all the Daos that are used by the processor. This avoid memory leak
      Specified by:
        `flushAndClear` in class `AbstractSimpleImporterProcessor`

    - #### getNumberOfColumns

          protected int getNumberOfColumns()

      Specified by:
        `getNumberOfColumns` in class `AbstractSimpleImporterProcessor`
      Returns:
        the number of fields the processed Geonames file should have

    - #### getFiles

          protected File[] getFiles()

      Specified by:
        `getFiles` in class `AbstractSimpleImporterProcessor`
      Returns:
        The files to be process
      See Also:
        `ImporterHelper`

    - #### rollback

          public List<NameValueDTO<Integer>> rollback()

      Description copied from interface: `IImporterProcessor`
      /!\ USE THIS METHOD VERY CAREFULLY /!\ : If you call this function, all the imported data for the specified importer will be deleted
      Returns:
        a NameValueDTO with the name of the deleted object and the number of deleted Object. No entry will be return for Object that were 0 object will be deleted except if an error occurred during the deletion.

    - #### setAdmDao

          public void setAdmDao(IAdmDao admDao)

    - #### setCountryDao

          public void setCountryDao(ICountryDao countryDao)

Copyright © 2015. All rights reserved.