public List<Book> getBookListFromData(String bookRecordString){		
		ArrayList<Book> books= new ArrayList<Book>();	
		
		//Create an array of Strings for each record. This is done by splitting the 
		//bookRecordString by "/n" as each record is in a new line		
		String[] recordArray = bookRecordString.split("\n");
	
		//First line is the header which we ignore
		for (int i=1; i< recordArray.length; i++){
			//Split the each record into the fields by splitting by ','
			String[] record= recordArray[i].split(",");
			
			//If the length of the record array is not 4 we discard it 
			//as an invalid record
			if (record.length != 4){				
				logger.warn("Invalid number of columns in row "+ i);				
			} else {
				//Create a book object
				Book book = createBookFromStringArray(record);
				
				if (book != null){
					books.add(book);	
				}							
			}			
		}
		
		return books;			
	}