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 palli
*
* To change this generated comment edit the template variable "typecomment":
* Window>Preferences>Java>Templates.
* To enable and disable the creation of type comments go to
* Window>Preferences>Java>Code Generation.
*/
public class NationalRegisterImportFile extends GenericImportFile implements ImportFile {
public NationalRegisterImportFile() {
super();
setRecordDilimiter("\n");
}
public NationalRegisterImportFile(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 < 20; 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_NAME : return recordString.substring(30,61);
case NationalRegisterFileImportHandlerBean.COLUMN_COMMUNE : return recordString.substring(61,65);
case NationalRegisterFileImportHandlerBean.COLUMN_STREET : return recordString.substring(65,69);
case NationalRegisterFileImportHandlerBean.COLUMN_BUILDING : return recordString.substring(69,73);
case NationalRegisterFileImportHandlerBean.COLUMN_FLOOR : return recordString.substring(73,76);
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_SPOUSE_SSN : return recordString.substring(87,97);
case NationalRegisterFileImportHandlerBean.COLUMN_STATUS : return recordString.substring(97,101);
case NationalRegisterFileImportHandlerBean.COLUMN_PARISH : return recordString.substring(101,104);
case NationalRegisterFileImportHandlerBean.COLUMN_PO : return recordString.substring(104,107);
case NationalRegisterFileImportHandlerBean.COLUMN_ADDRESS : return recordString.substring(107,128);
default : return null;
}
}
catch(IndexOutOfBoundsException e) {
return null;
}
}
}