@Override public DataSet parseFile(String fileUrl, char delimiter, boolean isFileRaw) { DataSet dataSet = new DataSet(); Random randomGenerator = new Random(); String dataSetId = FilenameUtils.getBaseName(fileUrl); // randomGenerator.nextInt(10000) // + ""; dataSet.setId(dataSetId); dataSet.setIsRaw(isFileRaw); if (!isFileRaw) { ArrayList<DataSetColumn> columns = new ArrayList<DataSetColumn>(); HashMap<String, DataSetValues<String>> data = new HashMap<String, DataSetValues<String>>(); try { FileReader fileReader = new FileReader(fileUrl); CSVReader reader = new CSVReader(fileReader, delimiter); List<String[]> entries = reader.readAll(); // My CSV Code String[] values = entries.get(0); for (int i = 0; i < values.length; i++) { String columnId = randomGenerator.nextInt(10000) + ""; DataSetColumn column = new DataSetColumn(columnId); column.setColumnType(ColumnType.TEXT); column.setName(values[i]); columns.add(column); ArrayList<String> columnValue = new ArrayList<String>(); DataSetValues<String> dataSetValues = new DataSetValues<String>(); dataSetValues.setColumnId(columnId); dataSetValues.setValues(columnValue); data.put(columnId, dataSetValues); } for (int j = 1; j < entries.size(); j++) { values = entries.get(j); for (int i = 0; i < columns.size(); i++) { data.get(columns.get(i).getId()).addValue(values[i]); } } reader.close(); fileReader.close(); } catch (Exception e) { // Catch exception if any System.err.println("Error: " + e.getMessage()); } dataSet.setColumns(columns); dataSet.setData(data); } else { try { String content = FileUtils.readFileToString(new File(fileUrl)); dataSet.setRawcontent(content); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } putDatasetinStaticMemory(dataSet); return dataSet; }