Examples of CSVParser

There is one exception to the commonly-accepted parsing rules: Embedded line breaks in a quoted field are not parsed but instead interpreted as the premature end of a record. This was a deliberate decision given the scope of this parser and the fact that it parses only a single line of input. @author Johannes Rössel
  • weave.utils.CSVParser
    Parses and generates CSV-encoded tables. Also supports custom delimiters and quotes. @author adufilie

  • Examples of org.apache.commons.csv.CSVParser

            public CSVRecord parse(String input) throws IOException {
                // TODO Creating a new parser for each line seems terribly inefficient but
                // there's no public way to parse single lines via commons-csv. We should update
                // it to create a LineParser class like this one.
                CSVParser csvParser = new CSVParser(new StringReader(input), csvFormat);
                return Iterables.getFirst(csvParser, null);
            }
    View Full Code Here

    Examples of org.apache.commons.csv.CSVParser

          this.strategy = strategy;
          this.base = base;
        }

        void add(SolrInputDocument doc, int line, int column, String val) {
          CSVParser parser = new CSVParser(new StringReader(val), strategy);
          try {
            String[] vals = parser.getLine();
            if (vals!=null) {
              for (String v: vals) base.add(doc,line,column,v);
            } else {
              base.add(doc,line,column,val);
            }
    View Full Code Here

    Examples of org.apache.commons.csv.CSVParser

          for (int i=0; i<skipLines; i++) {
            r.readLine();
          }
        }

        CSVParser parser = new CSVParser(reader, strategy);

        // parse the fieldnames from the header of the file
        if (fieldnames==null) {
          fieldnames = parser.getLine();
          if (fieldnames==null) {
            throw new SolrException( SolrException.ErrorCode.BAD_REQUEST,"Expected fieldnames in CSV input");
          }
          prepareFields();
        }

        // read the rest of the CSV file
        for(;;) {
          int line = parser.getLineNumber()// for error reporting in MT mode
          String[] vals = parser.getLine();
          if (vals==null) break;

          if (vals.length != fields.length) {
            input_err("expected "+fields.length+" values but got "+vals.length, vals, line);
          }
    View Full Code Here

    Examples of org.apache.commons.csv.CSVParser

        }

        @Test
        public void testCSVCommonsUpsertBadEncapsulatedControlChars()
                throws Exception {
            CSVParser parser = null;
            PhoenixConnection conn = null;
            try {
                // Create table
                String statements = "CREATE TABLE IF NOT EXISTS "
                        + ENCAPSULATED_CHARS_TABLE
                        + "(MYKEY VARCHAR NOT NULL PRIMARY KEY, MYVALUE VARCHAR);";
                conn = DriverManager.getConnection(getUrl())
                        .unwrap(PhoenixConnection.class);
                PhoenixRuntime.executeStatements(conn,
                        new StringReader(statements), null);

                // Upsert CSV file
                CSVCommonsLoader csvUtil = new CSVCommonsLoader(conn,
                        ENCAPSULATED_CHARS_TABLE, Collections.<String> emptyList(),
                        true);
                try {
                    csvUtil.upsert(new StringReader(
                            CSV_VALUES_BAD_ENCAPSULATED_CONTROL_CHARS_WITH_HEADER));
                    fail();
                } catch (RuntimeException e) {
                    assertTrue(
                            e.getMessage(),
                            e.getMessage()
                                    .contains(
                                            "invalid char between encapsulated token and delimiter"));
                }
            } finally {
                if (parser != null)
                    parser.close();
                if (conn != null)
                    conn.close();
            }
        }
    View Full Code Here

    Examples of org.apache.commons.csv.CSVParser

            }
        }

        @Test
        public void testCSVCommonsUpsert_WithArray() throws Exception {
            CSVParser parser = null;
            PhoenixConnection conn = null;
            try {

                // Create table
                String statements = "CREATE TABLE IF NOT EXISTS ARRAY_TABLE "
                        + "(ID BIGINT NOT NULL PRIMARY KEY, VALARRAY INTEGER ARRAY);";
                conn = DriverManager.getConnection(getUrl()).unwrap(
                        PhoenixConnection.class);
                PhoenixRuntime.executeStatements(conn,
                        new StringReader(statements), null);

                // Upsert CSV file
                CSVCommonsLoader csvUtil = new CSVCommonsLoader(conn, "ARRAY_TABLE",
                        null, true, ',', '"', null, "!");
                csvUtil.upsert(
                        new StringReader("ID,VALARRAY\n"
                                + "1,2!3!4\n"));

                // Compare Phoenix ResultSet with CSV file content
                PreparedStatement statement = conn
                        .prepareStatement("SELECT ID, VALARRAY FROM ARRAY_TABLE");
                ResultSet phoenixResultSet = statement.executeQuery();
                assertTrue(phoenixResultSet.next());
                assertEquals(1L, phoenixResultSet.getLong(1));
                assertEquals(
                        PArrayDataType.instantiatePhoenixArray(PDataType.INTEGER, new Integer[]{2, 3, 4}),
                        phoenixResultSet.getArray(2));
                assertFalse(phoenixResultSet.next());
            } finally {
                if (parser != null)
                    parser.close();
                if (conn != null)
                    conn.close();
            }
        }
    View Full Code Here

    Examples of org.apache.commons.csv.CSVParser

                + "\n"
                + CSV_VALUES_BAD_ENCAPSULATED_CONTROL_CHARS;

        @Test
        public void testCSVCommonsUpsert() throws Exception {
            CSVParser parser = null;
            PhoenixConnection conn = null;
            try {

                // Create table
                String statements = "CREATE TABLE IF NOT EXISTS " + STOCK_TABLE
                        + "(SYMBOL VARCHAR NOT NULL PRIMARY KEY, COMPANY VARCHAR);";
                conn = DriverManager.getConnection(getUrl()).unwrap(
                        PhoenixConnection.class);
                PhoenixRuntime.executeStatements(conn,
                        new StringReader(statements), null);

                // Upsert CSV file
                CSVCommonsLoader csvUtil = new CSVCommonsLoader(conn, STOCK_TABLE,
                        Collections.<String> emptyList(), true);
                csvUtil.upsert(new StringReader(STOCK_CSV_VALUES_WITH_HEADER));

                // Compare Phoenix ResultSet with CSV file content
                PreparedStatement statement = conn
                        .prepareStatement("SELECT SYMBOL, COMPANY FROM "
                                + STOCK_TABLE);
                ResultSet phoenixResultSet = statement.executeQuery();
                parser = new CSVParser(new StringReader(
                        STOCK_CSV_VALUES_WITH_HEADER), csvUtil.getFormat());
                for (CSVRecord record : parser) {
                    assertTrue(phoenixResultSet.next());
                    int i = 0;
                    for (String value : record) {
                        assertEquals(value, phoenixResultSet.getString(i + 1));
                        i++;
                    }
                }
                assertFalse(phoenixResultSet.next());
            } finally {
                if (parser != null)
                    parser.close();
                if (conn != null)
                    conn.close();
            }
        }
    View Full Code Here

    Examples of org.apache.commons.csv.CSVParser

            }
        }

        @Test
        public void testTDVCommonsUpsert() throws Exception {
            CSVParser parser = null;
            PhoenixConnection conn = null;
            try {

                // Create table
                String statements = "CREATE TABLE IF NOT EXISTS " + STOCK_TABLE
                        + "(SYMBOL VARCHAR NOT NULL PRIMARY KEY, COMPANY VARCHAR);";
                conn = DriverManager.getConnection(getUrl()).unwrap(
                        PhoenixConnection.class);
                PhoenixRuntime.executeStatements(conn,
                        new StringReader(statements), null);

                // Upsert TDV file
                CSVCommonsLoader csvUtil = new CSVCommonsLoader(conn, STOCK_TABLE,Collections.<String> emptyList()
                        , true, '\t', '"', null, CSVCommonsLoader.DEFAULT_ARRAY_ELEMENT_SEPARATOR);
                csvUtil.upsert(new StringReader(STOCK_TDV_VALUES_WITH_HEADER));

                // Compare Phoenix ResultSet with CSV file content
                PreparedStatement statement = conn
                        .prepareStatement("SELECT SYMBOL, COMPANY FROM "
                                + STOCK_TABLE);
                ResultSet phoenixResultSet = statement.executeQuery();
                parser = new CSVParser(new StringReader(
                        STOCK_TDV_VALUES_WITH_HEADER), csvUtil.getFormat());
                for (CSVRecord record : parser) {
                    assertTrue(phoenixResultSet.next());
                    int i = 0;
                    for (String value : record) {
                        assertEquals(value, phoenixResultSet.getString(i + 1));
                        i++;
                    }
                }
                assertFalse(phoenixResultSet.next());
            } finally {
                if (parser != null)
                    parser.close();
                if (conn != null)
                    conn.close();
            }
        }
    View Full Code Here

    Examples of org.apache.commons.csv.CSVParser

            }
        }

        @Test
        public void testCSVUpsertWithCustomDelimiters() throws Exception {
            CSVParser parser = null;
            PhoenixConnection conn = null;
            try {
                // Create table
                String statements = "CREATE TABLE IF NOT EXISTS " + STOCK_TABLE
                        + "(SYMBOL VARCHAR NOT NULL PRIMARY KEY, COMPANY VARCHAR);";
                conn = DriverManager.getConnection(getUrl()).unwrap(
                        PhoenixConnection.class);
                PhoenixRuntime.executeStatements(conn,
                        new StringReader(statements), null);

                // Upsert CSV file
                CSVCommonsLoader csvUtil = new CSVCommonsLoader(conn, STOCK_TABLE,
                        Arrays.<String> asList(STOCK_COLUMNS), true,
                        '1', '2', '3', CSVCommonsLoader.DEFAULT_ARRAY_ELEMENT_SEPARATOR);
                csvUtil.upsert(new StringReader(STOCK_CSV_VALUES_WITH_DELIMITER));

                // Compare Phoenix ResultSet with CSV file content
                PreparedStatement statement = conn
                        .prepareStatement("SELECT SYMBOL, COMPANY FROM "
                                + STOCK_TABLE);
                ResultSet phoenixResultSet = statement.executeQuery();
                parser = new CSVParser(new StringReader(
                        STOCK_CSV_VALUES_WITH_DELIMITER), csvUtil.getFormat());
                for (CSVRecord record : parser) {
                    assertTrue(phoenixResultSet.next());
                    int i = 0;
                    for (String value : record) {
                        assertEquals(value, phoenixResultSet.getString(i + 1));
                        i++;
                    }
                }
                assertFalse(phoenixResultSet.next());
            } finally {
                if (parser != null)
                    parser.close();
                if (conn != null)
                    conn.close();
            }
        }
    View Full Code Here

    Examples of org.apache.commons.csv.CSVParser

            }
        }

        @Test
        public void testCSVUpsertWithColumns() throws Exception {
            CSVParser parser = null;
            PhoenixConnection conn = null;
            try {
                // Create table
                String statements = "CREATE TABLE IF NOT EXISTS " + STOCK_TABLE
                        + "(SYMBOL VARCHAR NOT NULL PRIMARY KEY, COMPANY VARCHAR);";
                conn = DriverManager.getConnection(getUrl())
                        .unwrap(PhoenixConnection.class);
                PhoenixRuntime.executeStatements(conn,
                        new StringReader(statements), null);

                // Upsert CSV file
                CSVCommonsLoader csvUtil = new CSVCommonsLoader(conn, STOCK_TABLE,
                        Arrays.<String> asList(STOCK_COLUMNS), true);
                // no header
                csvUtil.upsert(new StringReader(STOCK_CSV_VALUES));

                // Compare Phoenix ResultSet with CSV file content
                PreparedStatement statement = conn
                        .prepareStatement("SELECT SYMBOL, COMPANY FROM "
                                + STOCK_TABLE);
                ResultSet phoenixResultSet = statement.executeQuery();
                parser = new CSVParser(new StringReader(
                        STOCK_CSV_VALUES), csvUtil.getFormat());
                for (CSVRecord record : parser) {
                    assertTrue(phoenixResultSet.next());
                    int i = 0;
                    for (String value : record) {
                        assertEquals(value, phoenixResultSet.getString(i + 1));
                        i++;
                    }
                }

                assertFalse(phoenixResultSet.next());
            } finally {
                if (parser != null)
                    parser.close();
                if (conn != null)
                    conn.close();
            }
        }
    View Full Code Here

    Examples of org.apache.commons.csv.CSVParser

            }
        }

        @Test
        public void testCSVUpsertWithNoColumns() throws Exception {
            CSVParser parser = null;
            PhoenixConnection conn = null;
            try {
                // Create table
                String statements = "CREATE TABLE IF NOT EXISTS " + STOCK_TABLE
                        + "(SYMBOL VARCHAR NOT NULL PRIMARY KEY, COMPANY VARCHAR);";
                conn = DriverManager.getConnection(getUrl())
                        .unwrap(PhoenixConnection.class);
                PhoenixRuntime.executeStatements(conn,
                        new StringReader(statements), null);

                // Upsert CSV file
                CSVCommonsLoader csvUtil = new CSVCommonsLoader(conn, STOCK_TABLE,
                        null, true);
                csvUtil.upsert(new StringReader(STOCK_CSV_VALUES));

                // Compare Phoenix ResultSet with CSV file content
                PreparedStatement statement = conn
                        .prepareStatement("SELECT SYMBOL, COMPANY FROM "
                                + STOCK_TABLE);
                ResultSet phoenixResultSet = statement.executeQuery();
                parser = new CSVParser(new StringReader(
                        STOCK_CSV_VALUES), csvUtil.getFormat());
                for (CSVRecord record : parser) {
                    assertTrue(phoenixResultSet.next());
                    int i = 0;
                    for (String value : record) {
                        assertEquals(value, phoenixResultSet.getString(i + 1));
                        i++;
                    }
                }

                assertFalse(phoenixResultSet.next());
            } finally {
                if (parser != null)
                    parser.close();
                if (conn != null)
                    conn.close();
            }
        }
    View Full Code Here
    TOP
    Copyright © 2018 www.massapi.com. All rights reserved.
    All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.