List of usage examples for org.apache.commons.csv CSVFormat newFormat
public static CSVFormat newFormat(final char delimiter)
From source file:org.structr.function.FromCsvFunction.java
@Override public Object apply(ActionContext ctx, final GraphObject entity, final Object[] sources) { if (sources != null && sources.length > 0) { if (sources[0] != null) { try { final List<Map<String, String>> objects = new LinkedList<>(); final String source = sources[0].toString(); String delimiter = ";"; String quoteChar = "\""; String recordSeparator = "\n"; switch (sources.length) { case 4: recordSeparator = (String) sources[3]; case 3: quoteChar = (String) sources[2]; case 2: delimiter = (String) sources[1]; break; }/*from w w w .j ava2 s. c o m*/ CSVFormat format = CSVFormat.newFormat(delimiter.charAt(0)).withHeader(); format = format.withQuote(quoteChar.charAt(0)); format = format.withRecordSeparator(recordSeparator); format = format.withIgnoreEmptyLines(true); format = format.withIgnoreSurroundingSpaces(true); format = format.withSkipHeaderRecord(true); format = format.withQuoteMode(QuoteMode.ALL); CSVParser parser = new CSVParser(new StringReader(source), format); for (final CSVRecord record : parser.getRecords()) { objects.add(record.toMap()); } return objects; } catch (Throwable t) { t.printStackTrace(); } } return ""; } return usage(ctx.isJavaScriptContext()); }
From source file:org.tanaguru.referentiel.creator.CodeGeneratorMojo.java
/** * * @return//from ww w . j a va2s . c o m */ private Iterable<CSVRecord> getCsv() { // we parse the csv file to extract the first line and get the headers LineIterator lineIterator; try { lineIterator = FileUtils.lineIterator(dataFile, Charset.defaultCharset().name()); } catch (IOException ex) { Logger.getLogger(CodeGeneratorMojo.class.getName()).log(Level.SEVERE, null, ex); lineIterator = null; } String[] csvHeaders = lineIterator.next().split(String.valueOf(delimiter)); isCriterionPresent = extractCriterionFromCsvHeader(csvHeaders); try { extractAvailableLangsFromCsvHeader(csvHeaders); } catch (I18NLanguageNotFoundException ex) { Logger.getLogger(CodeGeneratorMojo.class.getName()).log(Level.SEVERE, null, ex); return null; } // from here we just add each line to a build to re-create the csv content // without the first line. StringBuilder strb = new StringBuilder(); while (lineIterator.hasNext()) { strb.append(lineIterator.next()); strb.append("\n"); } Reader in; try { in = new StringReader(strb.toString()); CSVFormat csvf = CSVFormat.newFormat(delimiter).withHeader(csvHeaders); return csvf.parse(in); } catch (FileNotFoundException ex) { Logger.getLogger(CodeGeneratorMojo.class.getName()).log(Level.SEVERE, null, ex); return null; } catch (IOException ex) { Logger.getLogger(CodeGeneratorMojo.class.getName()).log(Level.SEVERE, null, ex); return null; } }
From source file:org.tanaguru.rules.doc.utils.updateAw22toRgaa30.CopyFiles.java
private Iterable<CSVRecord> getCsv(ResourceBundle resourceBundle) { // we parse the csv file to extract the first line and get the headers LineIterator lineIterator;/*from w ww . j a va 2 s .co m*/ try { lineIterator = FileUtils.lineIterator(FileUtils.getFile(resourceBundle.getString("export.csvPath"))); } catch (IOException ex) { Logger.getLogger(CopyFiles.class.getName()).log(Level.SEVERE, null, ex); lineIterator = null; } String[] csvHeaders = lineIterator.next().split(String.valueOf(delimiter)); // from here we just add each line to a build to re-create the csv content // without the first line. StringBuilder strb = new StringBuilder(); while (lineIterator.hasNext()) { strb.append(lineIterator.next()); strb.append("\n"); } Reader in; try { in = new StringReader(strb.toString()); CSVFormat csvf = CSVFormat.newFormat(delimiter).withHeader(csvHeaders); return csvf.parse(in); } catch (FileNotFoundException ex) { Logger.getLogger(CopyFiles.class.getName()).log(Level.SEVERE, null, ex); return null; } catch (IOException ex) { Logger.getLogger(CopyFiles.class.getName()).log(Level.SEVERE, null, ex); return null; } }
From source file:org.trustedanalytics.resourceserver.data.DataProvider.java
public List<List<String>> getParsedContent(String path) throws IllegalArgumentException, IOException { InputStream is = inputStreamProvider.getInputStream(new Path(path)); List<List<String>> result = null; try (CSVParser parser = new CSVParser(new InputStreamReader(is), CSVFormat.newFormat(','))) { result = parser.getRecords().stream().map(row -> Lists.newArrayList(row.iterator())) .collect(Collectors.toList()); } catch (Exception e) { LOGGER.log(Level.SEVERE, "Error parsing CSV file", e); }/* w w w . j a v a 2 s . co m*/ return result; }
From source file:org.wso2.carbon.event.simulator.core.internal.generator.csv.util.CSVReader.java
/** * parseFile() method is used to parse the CSV file using the delimiter specified in CSV simulation Configuration * * @param delimiter delimiter to be used when parsing CSV file * @throws IOException if an error occurs when creating a CSVReader *///from w w w. ja va 2 s. co m private CSVParser parseFile(String delimiter) throws IOException { switch (delimiter) { case ",": return new CSVParser(fileReader, CSVFormat.DEFAULT); case ";": return new CSVParser(fileReader, CSVFormat.EXCEL); case "\\t": return new CSVParser(fileReader, CSVFormat.TDF); default: return new CSVParser(fileReader, CSVFormat.newFormat(delimiter.charAt(0))); } }
From source file:org.wso2.carbon.event.simulator.csvFeedSimulation.core.CSVFeedEventSimulator.java
/** * This method must be called within a synchronized block to avoid multiple file simulators from running simultaneously. * Read the values from uploaded CSV file and convert those values into event and send those events to * input handler/*from w w w . j a va 2s .c o m*/ * <p> * <p> * To read the CSV file It uses CSV parser Library. * {@link <a href="https://commons.apache.org/proper/commons-csv/apidocs/org/apache/commons/csv/CSVParser.html">CSVParser</a>} * </p> * <p> * <p> * CSV file can be separated by one of these fallowing character , , ; , \t by default * It has capability to have user defined delimiter * Any field may be quoted (with double quotes) * Fields with embedded commas or delimiter characters must be double quoted. * </p> * <p> * Initialize CSVParser * * @param executionPlanDto ExecutionPlanDto * @param csvFileConfig CSVFileSimulationDto */ private void sendEvent(ExecutionPlanDto executionPlanDto, CSVFileSimulationDto csvFileConfig) { /* return no of events read from CSV file during ever iteration */ long noOfEvents = 0; int delay = csvFileConfig.getDelay(); /* Reader for reading character streams from file */ Reader in = null; /* CSVParser to read CSV Values */ CSVParser csvParser = null; if (delay <= 0) { log.warn("Events will be sent continuously since the delay between events are set to " + delay + "milliseconds"); delay = 0; } try { /* Initialize Reader */ in = new FileReader(String.valueOf(Paths.get(System.getProperty("java.io.tmpdir"), csvFileConfig.getFileDto().getFileInfo().getFileName()))); /* Initialize CSVParser with appropriate CSVFormat according to delimiter */ switch (csvFileConfig.getDelimiter()) { case ",": csvParser = CSVParser.parse(in, CSVFormat.DEFAULT); break; case ";": csvParser = CSVParser.parse(in, CSVFormat.EXCEL); break; case "\\t": csvParser = CSVParser.parse(in, CSVFormat.TDF); break; default: csvParser = CSVParser.parse(in, CSVFormat.newFormat(csvFileConfig.getDelimiter().charAt(0))); } int attributeSize = executionPlanDto.getInputStreamDtoMap().get(csvFileConfig.getStreamName()) .getStreamAttributeDtos().size(); /* Iterate through the CSV file line by line */ for (CSVRecord record : csvParser) { try { synchronized (this) { if (isStopped) { isStopped = false; break; } if (isPaused) { this.wait(); } } if (record.size() != attributeSize) { log.warn("No of attribute is not equal to attribute size: " + attributeSize + " is needed" + "in Row no:" + noOfEvents + 1); } String[] attributes = new String[attributeSize]; noOfEvents = csvParser.getCurrentLineNumber(); for (int i = 0; i < record.size(); i++) { attributes[i] = record.get(i); } //convert Attribute values into event Event event = EventConverter.eventConverter(csvFileConfig.getStreamName(), attributes, executionPlanDto); // TODO: 13/12/16 delete sout System.out.println("Input Event " + Arrays.deepToString(event.getEventData())); // //send the event to input handler send(csvFileConfig.getStreamName(), event); //delay between two events if (delay > 0) { Thread.sleep(delay); } } catch (EventSimulationException e) { log.error("Event dropped due to Error occurred during generating an event" + e.getMessage()); } catch (InterruptedException e) { log.error("Error occurred during send event" + e.getMessage()); } } } catch (IllegalArgumentException e) { // TODO: 02/12/16 proper error message throw new EventSimulationException("File Parameters are null" + e.getMessage()); } catch (FileNotFoundException e) { throw new EventSimulationException( "File not found :" + csvFileConfig.getFileDto().getFileInfo().getFileName()); } catch (IOException e) { throw new EventSimulationException("Error occurred while reading the file"); } finally { try { if (in != null && csvParser != null) in.close(); csvParser.close(); } catch (IOException e) { throw new EventSimulationException("Error occurred during closing the file"); } } }
From source file:org.wso2.carbon.event.simulator.randomdatafeedsimulation.bean.CustomBasedAttribute.java
/** * Method to split the data list into seperated values and assign it to customDataList * * @param customData String that has data list values * Initial string format is ""CEP,Siddhi",ESB,DAS" *//*from w w w .j a v a2 s .co m*/ public void setCustomData(String customData) { CSVParser csvParser = null; List<String> dataList = null; try { csvParser = CSVParser.parse(customData, CSVFormat.newFormat(',').withQuote('/')); dataList = new ArrayList<>(); for (CSVRecord record : csvParser) { for (int i = 0; i < record.size(); i++) { dataList.add(record.get(i)); } } } catch (IOException e) { throw new EventSimulationException("I/O error occurs :" + e.getMessage()); } catch (IllegalArgumentException e) { throw new EventSimulationException("Data set is null :" + e.getMessage()); } customDataList = dataList.toArray(new String[dataList.size()]); }
From source file:otn.mobile.bl.TrackServicesHandler.java
public OtnServiceTrackResponse addTracks(OtnServiceTrackRequest request) { //*********************** Variables *************************** OtnServiceTrackResponse response = new OtnServiceTrackResponse(); User users;//www.ja v a 2 s .c om TransportType transport_type = null; Weather weather; WeatherType weather_type; Apps app = null; Source source = null; Track track = new Track(); Track subTracks; TrackRating track_rating; TrackRatingType track_rating_type; ArrayList<OtnServiceSubTracksResponse> trackList = new ArrayList<OtnServiceSubTracksResponse>(); ArrayList<OtnServiceWeatherRatings> weatherListparams = null; ArrayList<OtnServiceGeometryPoints> geometryPointsListparams = null; byte[] trackFileCsv = null; //************************* Action **************************** System.out.println("------------Start---------------"); try { //**********************find user***************************** users = em.find(User.class, request.getUserId()); if (users != null) { System.out.println("====================================="); System.out.println("user id " + users.getUserId()); } else { System.out.println("====================================="); System.out.println("user not found"); em.getTransaction().begin(); users = new User(); users.setUserId(request.getUserId()); em.persist(users); em.flush(); em.getTransaction().commit(); em.clear(); System.out.println("user created"); } //***********************find transportID****************************** if (request.getTransportId() != 0) { transport_type = em.find(TransportType.class, request.getTransportId()); if (transport_type != null) { System.out.println("====================================="); System.out.println("transport id " + transport_type.getTransportTypeId()); track.setTransportTypeId(transport_type); } else { response.setMessage("transport type id does not exist"); response.setResponseCode(1); return response; } } //***********************find weatherID****************************** // if (request.getWeatherId() != 0) { // weather = em.find(WeatherType.class, request.getWeatherId()); // // if (weather != null) { // System.out.println("====================================="); // System.out.println("weather id " + weather.getWeatherId()); // // } else { // response.setMessage("weather condition id does not exist"); // response.setResponseCode(1); // return response; // } // } //***********************find app name****************************** if (request.getAppId() != 0) { app = em.find(Apps.class, request.getAppId()); if (app != null) { System.out.println("====================================="); System.out.println("app id " + app.getName()); track.setAppId(app); } else { response.setMessage("application does not exist"); response.setResponseCode(1); return response; } } //***********************find sourceId****************************** if (request.getSourceId() != 0) { source = em.find(Source.class, request.getSourceId()); if (source != null) { System.out.println("====================================="); System.out.println("source id " + source.getName()); track.setRouteSourceId(source); } else { response.setMessage("source type id does not exist"); response.setResponseCode(1); return response; } } //***************Create track record**************************** em.getTransaction().begin(); if (request.getName() != null) { track.setName(request.getName()); } else { track.setName(""); } track.setDescription(request.getDescription()); if (request.getPicture() != null) { track.setPicture(request.getPicture()); } track.setDistance(request.getDistance()); track.setDuration(request.getDuration()); track.setSpeed(request.getSpeed()); track.setElevation(request.getElevation()); if (request.getTrackFileCsv() != null) { // String csvFile = new String(request.getTrackFileCsv()); trackFileCsv = Base64.encodeBase64(request.getTrackFileCsv()); track.setTrackFileCsv(trackFileCsv); } track.setRouteKlm(request.getRoute_kml()); track.setLatStart(request.getLat_start()); track.setLongStart(request.getLon_start()); track.setLatEnd(request.getLat_end()); track.setLongEnd(request.getLon_end()); track.setCreationDate(new Date()); track.setDatetimeStart(request.getDatetime_start()); track.setDatetimeEnd(request.getDatetime_end()); track.setUserId(users); track.setIsPublic(request.isIs_public()); track.setStartAddress(request.getStart_address()); track.setEndAddress(request.getEnd_address()); if (request.getTrackRatings().size() > 0) { OtnServiceTrackResponse rate_response = checkTrackRateAndType(request.getTrackRatings()); if (rate_response.getResponseCode() == 0) { em.persist(track); em.flush(); em.getTransaction().commit(); em.clear(); for (OtnServicePoiRatings trackRatingList : request.getTrackRatings()) { em.getTransaction().begin(); track_rating = new TrackRating(); track_rating_type = em.find(TrackRatingType.class, trackRatingList.getRatingTypeId()); track_rating.setTrackId(track); track_rating.setTrackRatingTypeId(track_rating_type); track_rating.setRate(trackRatingList.getRate()); track_rating.setUserId(users); em.persist(track_rating); em.flush(); em.getTransaction().commit(); em.clear(); response.setMessage("success"); response.setResponseCode(0); } } else { response.setMessage(rate_response.getMessage()); response.setResponseCode(rate_response.getResponseCode()); return response; } } else { em.persist(track); em.flush(); em.getTransaction().commit(); em.clear(); response.setMessage("success"); response.setResponseCode(0); } //***********************find weatherID****************************** if (request.getWeatherList().size() > 0) { if (track.getTrackId() == 0) { em.persist(track); em.flush(); em.getTransaction().commit(); em.clear(); } weatherListparams = new ArrayList<OtnServiceWeatherRatings>(); for (OtnServiceWeatherRatings weatherList : request.getWeatherList()) { em.getTransaction().begin(); weather = new Weather(); weather_type = em.find(WeatherType.class, weatherList.getWeatherTypeId()); if (weather_type == null) { response.setMessage("weather id does not exist"); response.setResponseCode(1); return response; } weather.setTrackId(track); weather.setWeatherTypeId(weather_type); em.persist(weather); em.flush(); em.getTransaction().commit(); em.clear(); response.setMessage("success"); response.setResponseCode(0); weatherListparams.add(new OtnServiceWeatherRatings(weather_type.getWeatherId())); } response.setWeatherList(weatherListparams); } //***********************insert geometry points****************************** // insert startPoint List<OtnServiceGeometryPoints> startPointsList = new ArrayList<OtnServiceGeometryPoints>(); OtnServiceGeometryPoints startPoints = new OtnServiceGeometryPoints(); startPoints.setLatitude(request.getLat_start()); startPoints.setLongitude(request.getLon_start()); startPointsList.add(startPoints); // insert endPoint List<OtnServiceGeometryPoints> endPointsList = new ArrayList<OtnServiceGeometryPoints>(); OtnServiceGeometryPoints endPoints = new OtnServiceGeometryPoints(); endPoints.setLatitude(request.getLat_end()); endPoints.setLongitude(request.getLon_end()); endPointsList.add(endPoints); /** * decode csv String */ if (request.getTrackFileCsv() != null) { String trackFilecsvDecode = new String(request.getTrackFileCsv()); /** * write file to folder */ String urlfile = Base_url + System.currentTimeMillis() + ".csv"; BufferedWriter writer = new BufferedWriter(new FileWriter(urlfile)); writer.append(trackFilecsvDecode); writer.close(); // System.out.println("csv " + trackFilecsvDecode); // set delimeter CSVFormat format = CSVFormat.newFormat(';').withHeader(); //parse csv format String // log.info("1 "); CSVParser parser = new CSVParser(new StringReader(trackFilecsvDecode), format); List<OtnServiceGeometryPoints> geomPoints = new ArrayList<OtnServiceGeometryPoints>(); //parse records (in the example 2 records) List timestamp = new ArrayList<String>(); for (CSVRecord record : parser) { timestamp.add(record.get("Timestamp")); // System.out.println("latitude " + record.get("Latitude")); // System.out.println("Longitude " + record.get("Longitude")); // System.out.println("Timestamp " + record.get("Timestamp")); // log.info("2"); geomPoints.add(new OtnServiceGeometryPoints(Double.parseDouble(record.get("Latitude")), Double.parseDouble(record.get("Longitude")))); } // System.out.println("number " + total_records); // System.out.println("first time" + timestamp.get(0)); // System.out.println("end time" + timestamp.get(timestamp.size() - 1)); String start_date = timestamp.get(0).toString(); String end_date = timestamp.get(timestamp.size() - 1).toString(); parser.close(); // log.info("3"); // if (request.getGeometryPoints() != null) { // geomPoints = request.getGeometryPoints(); // // } insertGeometryPoints(track.getTrackId(), geomPoints, startPointsList, endPointsList, start_date, end_date, urlfile); } response.setName(track.getName()); response.setTrackId(track.getTrackId()); response.setDescription(track.getDescription()); response.setDistance(track.getDistance()); response.setDuration(track.getDuration()); if (transport_type != null) { response.setTransportName(transport_type.getName()); } response.setSpeed(track.getSpeed()); response.setElevation(track.getElevation()); response.setLat_start(track.getLatStart()); response.setLon_start(track.getLongStart()); response.setLat_end(track.getLatEnd()); response.setLon_end(track.getLongEnd()); response.setDatetime_start(track.getDatetimeStart()); response.setDatetime_end(track.getDatetimeEnd()); response.setUserId(users.getUserId()); response.setIs_public(track.getIsPublic()); response.setRoute_kml(track.getRouteKlm()); response.setTrackFileCsv(Base64.decodeBase64(track.getTrackFileCsv())); if (app != null) { response.setAppName(app.getName()); } response.setStart_address(track.getStartAddress()); response.setEnd_address(track.getEndAddress()); // if (weather != null) { // response.setWeatherCondition(weather.getCondition()); // } if (source != null) { response.setSourceName(source.getName()); } return response; // } } catch (Exception e) { e.printStackTrace(); response.setMessage("failure"); response.setResponseCode(2); } finally { return response; } }
From source file:strawn.evariant.rainsorter.data.qclcdstations.QCWeatherStationLoader.java
private static Iterable<CSVRecord> getCSVRecords() throws FileNotFoundException, IOException { Reader in = new FileReader(QCLCD_STATION_DISK_LOCATION); return CSVFormat.newFormat(QCLCD_STATION_DELIMITER).withHeader().parse(in); }
From source file:strawn.evariant.rainsorter.unused.WeatherStationLoader.java
public static Iterable<CSVRecord> getCSVRecords() throws FileNotFoundException, IOException { Reader in = new FileReader(WeatherStationFileInfo.LOCATION); return CSVFormat.newFormat(WeatherStationFileInfo.DELIMITER).withHeader().parse(in); }