Example usage for org.apache.commons.csv CSVFormat newFormat

List of usage examples for org.apache.commons.csv CSVFormat newFormat

Introduction

In this page you can find the example usage for org.apache.commons.csv CSVFormat newFormat.

Prototype

public static CSVFormat newFormat(final char delimiter) 

Source Link

Document

Creates a new CSV format with the specified delimiter.

Usage

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);
}