package is.idega.block.nationalregister.data;
import is.idega.block.nationalregister.business.NationalRegisterFileImportHandlerBean;
import java.io.File;
import java.util.ArrayList;
import java.util.Collection;
import com.idega.block.importer.data.GenericImportFile;
import com.idega.block.importer.data.ImportFile;
/**
* @author gimmi
*/
public class NationalRegisterImportFileE36 extends GenericImportFile implements ImportFile {
public NationalRegisterImportFileE36() {
super();
setRecordDilimiter("\n");
}
public NationalRegisterImportFileE36(File file) {
this();
setFile(file);
}
/**
* @see com.idega.block.importer.data.ImportFile#getRecords()
*/
public Collection getRecords() {
return super.getRecords();
}
/**
* @see com.idega.block.importer.data.ImportFile#getValuesFromRecordString(java.lang.String)
*/
public ArrayList getValuesFromRecordString(String recordString) {
ArrayList values = new ArrayList();
for (int i = 0; i < 27; i++) {
String value = getValueAtIndexFromRecordString(i,recordString);
if (value != null) {
values.add(value);
}
else {
values.add("");
}
}
return values;
}
/* (non-Javadoc)
* @see com.idega.block.importer.data.ImportFile#getValueAtIndexFromRecordString(int, java.lang.String)
*/
public String getValueAtIndexFromRecordString(int index, String recordString) {
try {
switch(index) {
case NationalRegisterFileImportHandlerBean.COLUMN_SYMBOL : return recordString.substring(0,2);
case NationalRegisterFileImportHandlerBean.COLUMN_OLD_ID : return recordString.substring(2,10);
case NationalRegisterFileImportHandlerBean.COLUMN_SSN : return recordString.substring(10,20);
case NationalRegisterFileImportHandlerBean.COLUMN_FAMILY_ID : return recordString.substring(20,30);
case NationalRegisterFileImportHandlerBean.COLUMN_COMMUNE : return recordString.substring(61,65); // Is actually 1 field that is 12 spaces long.
case NationalRegisterFileImportHandlerBean.COLUMN_STREET : return recordString.substring(65,69); // Used to be 3 fields (4/4/4), so I assume
case NationalRegisterFileImportHandlerBean.COLUMN_BUILDING : return recordString.substring(69,73); // that this is still the case
case NationalRegisterFileImportHandlerBean.COLUMN_SEX : return recordString.substring(76,77);
case NationalRegisterFileImportHandlerBean.COLUMN_MARITIAL_STATUS : return recordString.substring(77,78);
case NationalRegisterFileImportHandlerBean.COLUMN_EMPTY : return recordString.substring(78,80);
case NationalRegisterFileImportHandlerBean.COLUMN_NO_MAIL : return recordString.substring(80,81);
case NationalRegisterFileImportHandlerBean.COLUMN_NATIONALITY : return recordString.substring(81,83);
case NationalRegisterFileImportHandlerBean.COLUMN_PLACE_OF_BIRTH : return recordString.substring(83,87);
case NationalRegisterFileImportHandlerBean.COLUMN_DATE_OF_BIRTH : return recordString.substring(87, 95);
case NationalRegisterFileImportHandlerBean.COLUMN_NAME : return recordString.substring(95,126);
case NationalRegisterFileImportHandlerBean.COLUMN_SPOUSE_SSN : return recordString.substring(126,136);
case NationalRegisterFileImportHandlerBean.COLUMN_ADDRESS_CODE : return recordString.substring(136,148);
case NationalRegisterFileImportHandlerBean.COLUMN_DATE_OF_MODIFICATION : return recordString.substring(151,157);
case NationalRegisterFileImportHandlerBean.COLUMN_PLACEMENT_CODE : return recordString.substring(157,169);
case NationalRegisterFileImportHandlerBean.COLUMN_DATE_OF_CREATION : return recordString.substring(172,178);
case NationalRegisterFileImportHandlerBean.COLUMN_LAST_DOMESTIC_ADDRESS : return recordString.substring(178,190);
case NationalRegisterFileImportHandlerBean.COLUMN_AGENT_SSN : return recordString.substring(190,200);
case NationalRegisterFileImportHandlerBean.COLUMN_NEW : return recordString.substring(200, 201);
case NationalRegisterFileImportHandlerBean.COLUMN_PO : return recordString.substring(204,207);
case NationalRegisterFileImportHandlerBean.COLUMN_ADDRESS_NAME : return recordString.substring(207,228);
case NationalRegisterFileImportHandlerBean.COLUMN_ADDRESS : return recordString.substring(228,249);
case NationalRegisterFileImportHandlerBean.COLUMN_STATUS : return recordString.substring(272, 276);
//case NationalRegisterFileImportHandlerBean.COLUMN_PARISH : return recordString.substring(101,104);
default : return null;
}
}
catch(IndexOutOfBoundsException e) {
return null;
}
}
public String getEncoding() {
return "ISO-8859-1";
}
}