import java.io.FileNotFoundException;
import java.io.FileReader;
import java.util.List;
import au.com.bytecode.opencsv.*;
import au.com.bytecode.opencsv.bean.ColumnPositionMappingStrategy;
import au.com.bytecode.opencsv.bean.CsvToBean;
/***
* Parse CSV Data and Map to OBJECTS
* @author Pallavi
*
*/
public class ParseCSV {
/**
* @param args
*/
public static void main(String[] args) {
String monitoringDataFilename = "/Users/palloabhi/Downloads/SANData-111485.csv";
String configutaionDataFilename = "/Users/palloabhi/Downloads/Sample_Org_Data_1.csv";
ParseCSV parseCSVFile = new ParseCSV();
System.out.println("Starting to parse CSV file and map to Java Bean");
parseCSVFile.loadMonitoringData(monitoringDataFilename);
parseCSVFile.loadConfigurationData(configutaionDataFilename);
}
/**
* Maps csv data to MonitoringData object
* @param filename
*/
private void loadMonitoringData(String filename) {
try {
// To ignore Processing of 1st row
CSVReader reader = new CSVReader(new FileReader(filename));
System.out.println("Loaded reader");
ColumnPositionMappingStrategy mappingStrategy = new ColumnPositionMappingStrategy();
mappingStrategy.setType(MonitoringData.class);
System.out.println("Set mapping");
// Columns for Monitor Data
String[] columns = new String[] { "io_type","io_channel", "lun",
"timestamp", "IP_address", "number_of_data_blocks","duration" ,"iops"};
mappingStrategy.setColumnMapping(columns);
CsvToBean csv = new CsvToBean();
List<MonitoringData> monitoringDataList = csv.parse(mappingStrategy, reader);
for (int i = 0; i < monitoringDataList.size(); i++) {
MonitoringData monitoringData = monitoringDataList.get(i);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
/**
* Maps csv data to ConfigurationData object
* @param filename
*/
private void loadConfigurationData(String filename) {
try {
// To ignore Processing of 1st row
CSVReader reader = new CSVReader(new FileReader(filename));
System.out.println("Loaded reader");
ColumnPositionMappingStrategy mappingStrategy = new ColumnPositionMappingStrategy();
mappingStrategy.setType(ConfigurationData.class);
System.out.println("Set mapping");
//Columns for Configuration Data
String[] columns = new String[] { "company","department", "user_Id",
"user_Name", "IP_address", "lun","io_channel"};
mappingStrategy.setColumnMapping(columns);
CsvToBean csv = new CsvToBean();
List<ConfigurationData> configurationDataList = csv.parse(mappingStrategy, reader);
for (int i = 0; i < configurationDataList.size(); i++) {
ConfigurationData configurationData = configurationDataList.get(i);
System.out.println(configurationData.user_Name);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}