com.gisgraphy.importer
Class GeonamesAlternateNamesExtracter

java.lang.Object
  extended by com.gisgraphy.importer.AbstractSimpleImporterProcessor
      extended by 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
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
           
 
Fields inherited from class com.gisgraphy.importer.AbstractSimpleImporterProcessor
COMMENT_START, currentFile, importerConfig, in, internationalisationService, logger, readFileLine, status, statusMessage, totalReadLine, transactionManager, txDefinition, txStatus
 
Constructor Summary
GeonamesAlternateNamesExtracter()
          Default Constructor
 
Method Summary
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  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, onFileProcessed, 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

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

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 © 2012. All Rights Reserved.