service.external.esv/src/main/java/com/hack23/cia/service/external/esv/impl/EsvGovernmentBodyOperationOutcomeReaderImpl.java
private List<GovernmentBodyAnnualOutcomeSummary> readCsvContent(final InputStream is,final String[] specificFields) throws IOException {
		final CSVParser parser = CSVParser.parse(new InputStreamReader(is,Charsets.UTF_8), CSVFormat.EXCEL.withHeader().withDelimiter(';'));
		final List<CSVRecord> records = parser.getRecords();
		records.remove(0);
		
		final Map<Integer, Map<String,String>> orgMinistryMap = createOrgMinistryMap(esvExcelReader.getDataPerMinistry(null));
		
		final List<GovernmentBodyAnnualOutcomeSummary> list = new ArrayList<>();
		
		for (final CSVRecord csvRecord : records) {
			final GovernmentBodyAnnualOutcomeSummary governmentBodyAnnualOutcomeSummary = new GovernmentBodyAnnualOutcomeSummary(csvRecord.get(MYNDIGHET), csvRecord.get(ORGANISATIONSNUMMER), orgMinistryMap.get(Integer.valueOf(csvRecord.get(YEAR))).get(csvRecord.get(ORGANISATIONSNUMMER).replaceAll("-", "")), Integer.parseInt(csvRecord.get(YEAR)));
			
			for (final String field : specificFields) {				
				governmentBodyAnnualOutcomeSummary.addDescriptionField(field,csvRecord.get(field));
			}
			
			addResultForMonth(governmentBodyAnnualOutcomeSummary,Month.JANUARY.getValue(),csvRecord.get(UTFALL_JANUARI));
			addResultForMonth(governmentBodyAnnualOutcomeSummary,Month.FEBRUARY.getValue(),csvRecord.get(UTFALL_FEBRUARI));
			addResultForMonth(governmentBodyAnnualOutcomeSummary,Month.MARCH.getValue(),csvRecord.get(UTFALL_MARS));
			
			addResultForMonth(governmentBodyAnnualOutcomeSummary,Month.APRIL.getValue(),csvRecord.get(UTFALL_APRIL));
			addResultForMonth(governmentBodyAnnualOutcomeSummary,Month.MAY.getValue(),csvRecord.get(UTFALL_MAJ));
			addResultForMonth(governmentBodyAnnualOutcomeSummary,Month.JUNE.getValue(),csvRecord.get(UTFALL_JUNI));
			
			addResultForMonth(governmentBodyAnnualOutcomeSummary,Month.JULY.getValue(),csvRecord.get(UTFALL_JULI));
			addResultForMonth(governmentBodyAnnualOutcomeSummary,Month.AUGUST.getValue(),csvRecord.get(UTFALL_AUGUSTI));
			addResultForMonth(governmentBodyAnnualOutcomeSummary,Month.SEPTEMBER.getValue(),csvRecord.get(UTFALL_SEPTEMBER));
			
			addResultForMonth(governmentBodyAnnualOutcomeSummary,Month.OCTOBER.getValue(),csvRecord.get(UTFALL_OKTOBER));
			addResultForMonth(governmentBodyAnnualOutcomeSummary,Month.NOVEMBER.getValue(),csvRecord.get(UTFALL_NOVEMBER));
			addResultForMonth(governmentBodyAnnualOutcomeSummary,Month.DECEMBER.getValue(),csvRecord.get(UTFALL_DECEMBER));
			
			list.add(governmentBodyAnnualOutcomeSummary);
		}
		
		return list;
	}
private List<GovernmentBodyAnnualOutcomeSummary> readCsvContent(final InputStream is,final String[] specificFields) throws IOException {
		final CSVParser parser = CSVParser.parse(new InputStreamReader(is,Charsets.UTF_8), CSVFormat.EXCEL.withHeader().withDelimiter(';'));
		final List<CSVRecord> records = parser.getRecords();
		records.remove(0);
		
		final Map<Integer, Map<String,String>> orgMinistryMap = createOrgMinistryMap(esvExcelReader.getDataPerMinistry(null));
		
		final List<GovernmentBodyAnnualOutcomeSummary> list = new ArrayList<>();
		
		for (final CSVRecord csvRecord : records) {
			final GovernmentBodyAnnualOutcomeSummary governmentBodyAnnualOutcomeSummary = new GovernmentBodyAnnualOutcomeSummary(csvRecord.get(MYNDIGHET), csvRecord.get(ORGANISATIONSNUMMER), orgMinistryMap.get(Integer.valueOf(csvRecord.get(YEAR))).get(csvRecord.get(ORGANISATIONSNUMMER).replaceAll("-", "")), Integer.parseInt(csvRecord.get(YEAR)));
			
			for (final String field : specificFields) {				
				governmentBodyAnnualOutcomeSummary.addDescriptionField(field,csvRecord.get(field));
			}
			
			addResultForMonth(governmentBodyAnnualOutcomeSummary,Month.JANUARY.getValue(),csvRecord.get(UTFALL_JANUARI));
			addResultForMonth(governmentBodyAnnualOutcomeSummary,Month.FEBRUARY.getValue(),csvRecord.get(UTFALL_FEBRUARI));
			addResultForMonth(governmentBodyAnnualOutcomeSummary,Month.MARCH.getValue(),csvRecord.get(UTFALL_MARS));
			
			addResultForMonth(governmentBodyAnnualOutcomeSummary,Month.APRIL.getValue(),csvRecord.get(UTFALL_APRIL));
			addResultForMonth(governmentBodyAnnualOutcomeSummary,Month.MAY.getValue(),csvRecord.get(UTFALL_MAJ));
			addResultForMonth(governmentBodyAnnualOutcomeSummary,Month.JUNE.getValue(),csvRecord.get(UTFALL_JUNI));
			
			addResultForMonth(governmentBodyAnnualOutcomeSummary,Month.JULY.getValue(),csvRecord.get(UTFALL_JULI));
			addResultForMonth(governmentBodyAnnualOutcomeSummary,Month.AUGUST.getValue(),csvRecord.get(UTFALL_AUGUSTI));
			addResultForMonth(governmentBodyAnnualOutcomeSummary,Month.SEPTEMBER.getValue(),csvRecord.get(UTFALL_SEPTEMBER));
			
			addResultForMonth(governmentBodyAnnualOutcomeSummary,Month.OCTOBER.getValue(),csvRecord.get(UTFALL_OKTOBER));
			addResultForMonth(governmentBodyAnnualOutcomeSummary,Month.NOVEMBER.getValue(),csvRecord.get(UTFALL_NOVEMBER));
			addResultForMonth(governmentBodyAnnualOutcomeSummary,Month.DECEMBER.getValue(),csvRecord.get(UTFALL_DECEMBER));
			
			list.add(governmentBodyAnnualOutcomeSummary);
		}
		
		return list;
	}
private List < GovernmentBodyAnnualOutcomeSummary > readCsvContent ( final InputStream is , final String [ ] specificFields ) throws IOException { final CSVParser parser = CSVParser . parse ( new InputStreamReader ( is , Charsets . UTF_8 ) , CSVFormat . EXCEL . withHeader ( ) . withDelimiter ( ' ' ) ) ; final List < CSVRecord > records = parser . getRecords ( ) ; records . remove ( 0 ) ; final Map < Integer , Map < String , String > > orgMinistryMap = createOrgMinistryMap ( esvExcelReader . getDataPerMinistry ( null ) ) ; final List < GovernmentBodyAnnualOutcomeSummary > list = new ArrayList <> ( ) ; for ( final CSVRecord csvRecord : records ) { final GovernmentBodyAnnualOutcomeSummary governmentBodyAnnualOutcomeSummary = new GovernmentBodyAnnualOutcomeSummary ( csvRecord . get ( MYNDIGHET ) , csvRecord . get ( ORGANISATIONSNUMMER ) , orgMinistryMap . get ( Integer . valueOf ( csvRecord . get ( YEAR ) ) ) . get ( csvRecord . get ( ORGANISATIONSNUMMER ) . replaceAll ( "-" , "" ) ) , Integer . parseInt ( csvRecord . get ( YEAR ) ) ) ; for ( final String field : specificFields ) { governmentBodyAnnualOutcomeSummary . addDescriptionField ( field , csvRecord . get ( field ) ) ; } addResultForMonth ( governmentBodyAnnualOutcomeSummary , Month . JANUARY . getValue ( ) , csvRecord . get ( UTFALL_JANUARI ) ) ; addResultForMonth ( governmentBodyAnnualOutcomeSummary , Month . FEBRUARY . getValue ( ) , csvRecord . get ( UTFALL_FEBRUARI ) ) ; addResultForMonth ( governmentBodyAnnualOutcomeSummary , Month . MARCH . getValue ( ) , csvRecord . get ( UTFALL_MARS ) ) ; addResultForMonth ( governmentBodyAnnualOutcomeSummary , Month . APRIL . getValue ( ) , csvRecord . get ( UTFALL_APRIL ) ) ; addResultForMonth ( governmentBodyAnnualOutcomeSummary , Month . MAY . getValue ( ) , csvRecord . get ( UTFALL_MAJ ) ) ; addResultForMonth ( governmentBodyAnnualOutcomeSummary , Month . JUNE . getValue ( ) , csvRecord . get ( UTFALL_JUNI ) ) ; addResultForMonth ( governmentBodyAnnualOutcomeSummary , Month . JULY . getValue ( ) , csvRecord . get ( UTFALL_JULI ) ) ; addResultForMonth ( governmentBodyAnnualOutcomeSummary , Month . AUGUST . getValue ( ) , csvRecord . get ( UTFALL_AUGUSTI ) ) ; addResultForMonth ( governmentBodyAnnualOutcomeSummary , Month . SEPTEMBER . getValue ( ) , csvRecord . get ( UTFALL_SEPTEMBER ) ) ; addResultForMonth ( governmentBodyAnnualOutcomeSummary , Month . OCTOBER . getValue ( ) , csvRecord . get ( UTFALL_OKTOBER ) ) ; addResultForMonth ( governmentBodyAnnualOutcomeSummary , Month . NOVEMBER . getValue ( ) , csvRecord . get ( UTFALL_NOVEMBER ) ) ; addResultForMonth ( governmentBodyAnnualOutcomeSummary , Month . DECEMBER . getValue ( ) , csvRecord . get ( UTFALL_DECEMBER ) ) ; list . add ( governmentBodyAnnualOutcomeSummary ) ; } return list ; }
Read csv content.

@param is
the is
@param specificFields
the specific fields
@return the list
@throws IOException
Signals that an I/O exception has occurred.
Read csv content .