Package au.com.bytecode.opencsv

Examples of au.com.bytecode.opencsv.CSVWriter


     * @param out
     * @param vt
     * @param write_header
     */
    public static void csv(Writer out, VoltTable vt, boolean header) {
        CSVWriter writer = new CSVWriter(out);
       
        if (header) {
            String cols[] = new String[vt.getColumnCount()];
            for (int i = 0; i < cols.length; i++) {
                cols[i] = vt.getColumnName(i);
            } // FOR
            writer.writeNext(cols);
        }
        vt.resetRowPosition();
        while (vt.advanceRow()) {
            String row[] = vt.getRowStringArray();
            assert(row != null);
            assert(row.length == vt.getColumnCount());
            writer.writeNext(row);
        } // WHILE
    }
View Full Code Here


            // Only write column names if it's the first partition (hack)
            boolean write_header = (this.executor.getPartitionId() == 0);
           
            for (Table catalog_tbl : catalogContext.database.getTables().values()) {
                File csv_file = new File(String.format("%s/%s.%02d.csv", directory, catalog_tbl.getName(), this.executor.getPartitionId()));
                CSVWriter writer = null;
                try {
                    writer = new CSVWriter(new FileWriter(csv_file));
                } catch (Exception ex) {
                    LOG.fatal(String.format("Failed to create CSVWriter for '%s'", csv_file), ex);
                    throw new RuntimeException(ex);
                }
               
                if (write_header) {
                    String cols[] = new String[catalog_tbl.getColumns().size()];
                    for (int i = 0; i < cols.length; i++) {
                        cols[i] = catalog_tbl.getColumns().get(i).getName();
                    } // FOR
                    writer.writeNext(cols);
                }

                int total = 0;
                while (true) {
                    LOG.debug(String.format("%s: offset=%d, limit=%d", catalog_tbl.getName(), total, batch_size));
                    VoltTable vt = this.executor.getExecutionEngine().serializeTable(catalog_tbl.getRelativeIndex());
                    assert(vt != null) : "Failed to get serialized table for " + catalog_tbl;
                    if (vt.getRowCount() == 0) break;
                    total += vt.getRowCount();
                    LOG.debug(String.format("Writing %d / %d tuples to '%s'", vt.getRowCount(), total, csv_file.getName()));
                   
                    // Dump table contents
                    while (vt.advanceRow()) {
                        String row[] = vt.getRowStringArray();
                        assert(row != null);
                        assert(row.length == vt.getColumnCount());
                        writer.writeNext(row);
                    } // WHILE
                } // WHILE
               
                try {
                    writer.close();
                } catch (Exception ex) {
                    throw new RuntimeException(ex);
                }
            } // FOR
            return new DependencySet(new int[] { (int)SysProcFragmentId.PF_dumpDistribute }, result);
View Full Code Here

            Double latitude = (Double)row[7];
            locations.put(code, Pair.of(latitude, longitude));
        } // FOR

        File output = new File("table.airport_distance.csv");
        CSVWriter writer = new CSVWriter(new FileWriter(output));
       
        // HEADER
        writer.writeNext(new String[]{ "D_AP_ID0", "D_AP_ID1", "D_DISTANCE" });

        // DATA
        long ctr = 0;
        String row[] = new String[3];
        for (Long id0 : locations.keySet()) {
            Pair<Double, Double> outer = locations.get(id0);
            row[0] = id0.toString();
           
            for (Long id1 : locations.keySet()) {
                if (id0.equals(id1)) continue;
                Pair<Double, Double> inner = locations.get(id1);
                Double distance = distance(outer, inner);
           
                row[1] = id1.toString();
                row[2] = distance.toString();
                writer.writeNext(row);
            } // FOR
            if (++ctr % 100 == 0) System.err.println(String.format("Processed %d / %d", ctr, locations.size()));
        } // FOR
    }
View Full Code Here

    @Override
    public ProtoNetworkDescriptor writeProtoNetwork(ProtoNetwork pn,
            String protoNetworkRootPath) throws ProtoNetworkError {
        if (pn == null) throw new InvalidArgument("protoNetwork is null");

        CSVWriter allWriter;
        String path = asPath(protoNetworkRootPath, "all.tbl");
        try {
            allWriter = new CSVWriter(new FileWriter(path), '\t',
                    CSVWriter.NO_QUOTE_CHARACTER);
        } catch (IOException e) {
            final String msg = "Cannot open all tbl debug file for write";
            throw new ProtoNetworkError(path, msg, e);
        }

        CSVWriter tdvWriter;

        allWriter.writeNext(new String[] { "Document table" });

        // write document table
        DocumentTable dt = pn.getDocumentTable();
        File dfile = new File(protoNetworkRootPath + File.separator
                + "document.tbl");
        try {
            tdvWriter = new CSVWriter(new FileWriter(dfile), '\t',
                    CSVWriter.NO_QUOTE_CHARACTER);

            writeHeader(tdvWriter, allWriter, "DocumentIndex", "Name",
                    "Description", "Version", "Copyright", "Disclaimer",
                    "ContactInfo", "Authors", "Licenses");

            List<DocumentHeader> dhs = dt.getDocumentHeaders();
            for (int i = 0; i < dhs.size(); i++) {
                DocumentHeader dh = dhs.get(i);

                tdvWriter
                        .writeNext(new String[] {
                                String.valueOf(i),
                                dh.getName() == null ? "-" : dh.getName(),
                                dh.getDescription() == null ? "-" : dh
                                        .getDescription(),
                                dh.getVersion() == null ? "-" : dh.getVersion(),
                                dh.getCopyright() == null ? "-" : dh
                                        .getCopyright(),
                                dh.getDisclaimer() == null ? "-" : dh
                                        .getDisclaimer(),
                                dh.getContactInfo() == null ? "-" : dh
                                        .getContactInfo(),
                                dh.getAuthors() == null ? "-" : dh.getAuthors(),
                                dh.getLicenses() == null ? "-" : dh
                                        .getLicenses() });

                allWriter
                        .writeNext(new String[] {
                                String.valueOf(i),
                                dh.getName() == null ? "-" : dh.getName(),
                                dh.getDescription() == null ? "-" : dh
                                        .getDescription(),
                                dh.getVersion() == null ? "-" : dh.getVersion(),
                                dh.getCopyright() == null ? "-" : dh
                                        .getCopyright(),
                                dh.getDisclaimer() == null ? "-" : dh
                                        .getDisclaimer(),
                                dh.getContactInfo() == null ? "-" : dh
                                        .getContactInfo(),
                                dh.getAuthors() == null ? "-" : dh.getAuthors(),
                                dh.getLicenses() == null ? "-" : dh
                                        .getLicenses() });
            }

            tdvWriter.close();
        } catch (IOException e) {
            final String msg = "Cannot create document file for proto-network";
            throw new ProtoNetworkError(dfile.getAbsolutePath(), msg, e);
        }

        allWriter.writeNext(new String[0]);
        allWriter.writeNext(new String[] { "Namespace table" });

        // Write namespace table
        NamespaceTable nt = pn.getNamespaceTable();
        File nsfile = new File(protoNetworkRootPath + File.separator
                + "namespace.tbl");
        try {
            tdvWriter = new CSVWriter(new FileWriter(nsfile), '\t',
                    CSVWriter.NO_QUOTE_CHARACTER);

            writeHeader(tdvWriter, allWriter, "NamespaceIndex", "Prefix",
                    "ResourceLocation");

            for (TableNamespace ns : nt.getNamespaces()) {
                String nsp =
                        StringUtils.isBlank(ns.getPrefix()) ? "-" : ns
                                .getPrefix();

                tdvWriter.writeNext(new String[] {
                        String.valueOf(nt.getNamespaceIndex().get(ns)),
                        String.valueOf(nsp),
                        String.valueOf(ns.getResourceLocation()) });

                allWriter.writeNext(new String[] {
                        String.valueOf(nt.getNamespaceIndex().get(ns)),
                        String.valueOf(nsp),
                        String.valueOf(ns.getResourceLocation()) });
            }

            tdvWriter.close();
        } catch (IOException e) {
            final String msg = "Cannot create namespace file for proto-network";
            final String name = nsfile.getAbsolutePath();
            throw new ProtoNetworkError(name, msg, e);
        }

        allWriter.writeNext(new String[0]);
        allWriter.writeNext(new String[] { "Document Namespace table" });

        // Write document-namespace table
        path = asPath(protoNetworkRootPath, "document-namespace.tbl");
        File dnsfile = new File(path);
        try {
            tdvWriter = new CSVWriter(new FileWriter(dnsfile), '\t',
                    CSVWriter.NO_QUOTE_CHARACTER);

            writeHeader(tdvWriter, allWriter, "DocumentIndex", "NamespaceIndex");

            Map<Integer, List<Integer>> dnsi = nt.getDocumentNamespaces();
            for (final Entry<Integer, List<Integer>> e : dnsi.entrySet()) {
                Integer di = e.getKey();
                List<Integer> dnsl = e.getValue();
                if (noItems(dnsl)) continue;
                for (Integer nsi : dnsl) {
                    tdvWriter.writeNext(new String[] {
                            String.valueOf(di),
                            String.valueOf(nsi) });

                    allWriter.writeNext(new String[] {
                            String.valueOf(di),
                            String.valueOf(nsi) });
                }
            }
            tdvWriter.close();
        } catch (IOException e) {
            final String name = path;
            final String msg =
                    "Cannot create document namespace file for proto-network";
            throw new ProtoNetworkError(name, msg, e);
        }

        allWriter.writeNext(new String[0]);
        allWriter.writeNext(new String[] { "Parameter table" });

        // write parameter table
        ParameterTable parameterTable = pn.getParameterTable();
        NamespaceTable nsTable = pn.getNamespaceTable();
        File pfile = new File(protoNetworkRootPath + File.separator
                + "parameter.tbl");
        try {
            tdvWriter = new CSVWriter(new FileWriter(pfile), '\t',
                    CSVWriter.NO_QUOTE_CHARACTER);

            writeHeader(tdvWriter, allWriter, "ParameterIndex",
                    "NamespaceIndex", "Value", "(Global ParameterIndex)");

            for (final TableParameter parameter : parameterTable
                    .getTableParameters()) {
                // fetch the namespace value
                TableNamespace tn = parameter.getNamespace();
                Integer nsIndex = nsTable.getNamespaceIndex().get(tn);
                String nsValue = "-";
                if (nsIndex != null) {
                    nsValue = String.valueOf(nsIndex);
                }

                if (parameterTable.getGlobalIndex().isEmpty()) {
                    tdvWriter.writeNext(new String[] {
                            String.valueOf(parameterTable
                                    .getTableParameterIndex()
                                    .get(parameter)),
                            nsValue,
                            parameter.getValue() });

                    allWriter.writeNext(new String[] {
                            String.valueOf(parameterTable
                                    .getTableParameterIndex()
                                    .get(parameter)),
                            nsValue,
                            parameter.getValue() });
                } else {
                    Integer globalIndex = parameterTable.getGlobalIndex().get(
                            parameterTable.getTableParameterIndex().get(
                                    parameter));

                    tdvWriter.writeNext(new String[] {
                            String.valueOf(parameterTable
                                    .getTableParameterIndex().get(parameter)),
                            nsValue,
                            parameter.getValue(),
                            globalIndex.toString() });

                    allWriter.writeNext(new String[] {
                            String.valueOf(parameterTable
                                    .getTableParameterIndex().get(parameter)),
                            nsValue,
                            parameter.getValue(),
                            globalIndex.toString() });
                }
            }

            tdvWriter.close();
        } catch (IOException e) {
            final String msg = "Cannot create parameter file for proto-network";
            final String name = pfile.getAbsolutePath();
            throw new ProtoNetworkError(name, msg, e);
        }

        allWriter.writeNext(new String[0]);
        allWriter.writeNext(new String[] { "Term table" });

        // write term table
        TermTable termTable = pn.getTermTable();
        File tfile = new File(protoNetworkRootPath + File.separator
                + "term.tbl");
        try {
            tdvWriter = new CSVWriter(new FileWriter(tfile), '\t',
                    CSVWriter.NO_QUOTE_CHARACTER);

            writeHeader(tdvWriter, allWriter, "TermIndex", "Value",
                    "(Global TermIndex)");

            List<String> termValues = termTable.getTermValues();
            Map<Integer, Integer> tgi = termTable.getGlobalTermIndex();
            for (int i = 0; i < termValues.size(); i++) {

                if (tgi.isEmpty()) {
                    tdvWriter.writeNext(new String[] { String.valueOf(i),
                            termValues.get(i) });

                    allWriter.writeNext(new String[] { String.valueOf(i),
                            termValues.get(i) });
                } else {
                    Integer globalIndex = tgi.get(i);
                    tdvWriter.writeNext(new String[] { String.valueOf(i),
                            termValues.get(i),
                            globalIndex.toString() });

                    allWriter.writeNext(new String[] { String.valueOf(i),
                            termValues.get(i),
                            globalIndex.toString() });
                }
            }

            tdvWriter.close();
        } catch (IOException e) {
            final String msg = "Cannot create term file for proto-network";
            final String name = tfile.getAbsolutePath();
            throw new ProtoNetworkError(name, msg, e);
        }

        allWriter.writeNext(new String[0]);
        allWriter.writeNext(new String[] { "Term Parameter table" });

        // write term-parameter table
        TermParameterMapTable termParameterMapTable = pn
                .getTermParameterMapTable();
        File tpmtfile = new File(protoNetworkRootPath
                + File.separator + "term-parameter-map.tbl");
        try {
            tdvWriter = new CSVWriter(
                    new FileWriter(tpmtfile), '\t',
                    CSVWriter.NO_QUOTE_CHARACTER);

            writeHeader(tdvWriter, allWriter, "TermIndex", "ParameterIndex",
                    "Ordinal");

            for (final Integer termIndex : termParameterMapTable
                    .getTermParameterIndex().keySet()) {
                List<Integer> parameterIndexes = termParameterMapTable
                        .getTermParameterIndex().get(termIndex);

                int ord = 0;
                for (Integer parameterIndex : parameterIndexes) {
                    tdvWriter.writeNext(new String[] {
                            String.valueOf(termIndex),
                            String.valueOf(parameterIndex),
                            String.valueOf(ord) });

                    allWriter.writeNext(new String[] {
                            String.valueOf(termIndex),
                            String.valueOf(parameterIndex),
                            String.valueOf(ord) });

                    ord++;
                }
            }

            tdvWriter.close();
        } catch (IOException e) {
            final String name = tpmtfile.getAbsolutePath();
            final String msg = "Cannot create term to parameter mapping file " +
                    "for proto-network";
            throw new ProtoNetworkError(name, msg, e);
        }

        allWriter.writeNext(new String[0]);
        allWriter.writeNext(new String[] { "Statement table" });

        // write statement table
        StatementTable statementTable = pn.getStatementTable();
        File sfile = new File(protoNetworkRootPath + File.separator
                + "statement.tbl");
        try {
            tdvWriter = new CSVWriter(new FileWriter(sfile), '\t',
                    CSVWriter.NO_QUOTE_CHARACTER);

            writeHeader(tdvWriter, allWriter, "StatementIndex",
                    "SubjectTermIndex", "Relationship", "ObjectTermIndex",
                    "NestedSubjectTermIndex", "NestedRelationship",
                    "NestedObjectTermIndex");

            List<TableStatement> statements = statementTable.getStatements();
            for (int i = 0; i < statements.size(); i++) {
                TableStatement statement = statements.get(i);

                String si = String.valueOf(i);
                if (statement.getRelationshipName() == null) {
                    tdvWriter.writeNext(new String[] {
                            si,
                            String.valueOf(statement.getSubjectTermId()),
                            "-", "-", "-", "-", "-" });

                    allWriter.writeNext(new String[] {
                            si,
                            String.valueOf(statement.getSubjectTermId()),
                            "-", "-", "-", "-", "-" });
                } else if (statement.getObjectTermId() != null) {
                    tdvWriter.writeNext(new String[] {
                            si,
                            String.valueOf(statement.getSubjectTermId()),
                            statement.getRelationshipName(),
                            String.valueOf(statement.getObjectTermId()),
                            "-", "-", "-" });

                    allWriter.writeNext(new String[] {
                            si,
                            String.valueOf(statement.getSubjectTermId()),
                            statement.getRelationshipName(),
                            String.valueOf(statement.getObjectTermId()),
                            "-", "-", "-" });
                } else {
                    tdvWriter.writeNext(new String[] {
                            si,
                            String.valueOf(statement.getSubjectTermId()),
                            statement.getRelationshipName(),
                            String.valueOf(statement.getObjectTermId()),
                            String.valueOf(statement.getNestedSubject()),
                            statement.getNestedRelationship(),
                            String.valueOf(statement.getNestedObject()) });

                    allWriter.writeNext(new String[] {
                            si,
                            String.valueOf(statement.getSubjectTermId()),
                            statement.getRelationshipName(),
                            String.valueOf(statement.getObjectTermId()),
                            String.valueOf(statement.getNestedSubject()),
                            statement.getNestedRelationship(),
                            String.valueOf(statement.getNestedObject()) });
                }
            }

            tdvWriter.close();
        } catch (IOException e) {
            final String name = sfile.getAbsolutePath();
            final String msg = "Cannot create statement file for proto-network";
            throw new ProtoNetworkError(name, msg, e);
        }

        allWriter.writeNext(new String[0]);
        allWriter.writeNext(new String[] { "Statement Document table" });

        // Write document-statement table
        path = asPath(protoNetworkRootPath, "document-statement.tbl");
        File dsfile = new File(path);
        try {
            tdvWriter = new CSVWriter(new FileWriter(dsfile), '\t',
                    CSVWriter.NO_QUOTE_CHARACTER);

            writeHeader(tdvWriter, allWriter, "DocumentIndex", "StatementIndex");

            List<TableStatement> sts = statementTable.getStatements();
            Map<Integer, Integer> dsm = statementTable.getStatementDocument();
            for (int si = 0; si < sts.size(); si++) {

                tdvWriter.writeNext(new String[] {
                        String.valueOf(dsm.get(si)),
                        String.valueOf(si) });

                allWriter.writeNext(new String[] {
                        String.valueOf(dsm.get(si)),
                        String.valueOf(si) });
            }

            tdvWriter.close();
        } catch (IOException e) {
            final String name = path;
            final String msg =
                    "Cannot create document statement file for proto-network";
            throw new ProtoNetworkError(name, msg, e);
        }

        allWriter.writeNext(new String[0]);
        allWriter.writeNext(new String[] { "Annotation Definition table" });

        // Write annotation definition table
        AnnotationDefinitionTable adt = pn.getAnnotationDefinitionTable();
        File adfile = new File(protoNetworkRootPath + File.separator
                + "annotation-definition.tbl");
        try {
            tdvWriter = new CSVWriter(new FileWriter(adfile), '\t',
                    CSVWriter.NO_QUOTE_CHARACTER);

            writeHeader(tdvWriter, allWriter, "AnnotationDefinitionIndex",
                    "Name", "Description", "Usage", "Domain",
                    "AnnotationDefinitionType");

            for (final TableAnnotationDefinition ad : adt
                    .getAnnotationDefinitions()) {
                tdvWriter
                        .writeNext(new String[] {
                                String.valueOf(adt.getDefinitionIndex().get(ad)),
                                ad.getName(),
                                ad.getDescription() == null ? "-" : ad
                                        .getDescription(),
                                ad.getUsage() == null ? "-" : ad.getUsage(),
                                ad.getAnnotationDomain() == null ? "-" : ad
                                        .getAnnotationDomain(),
                                String.valueOf(ad.getAnnotationType()) });

                allWriter
                        .writeNext(new String[] {
                                String.valueOf(adt.getDefinitionIndex().get(ad)),
                                ad.getName(),
                                ad.getDescription() == null ? "-" : ad
                                        .getDescription(),
                                ad.getUsage() == null ? "-" : ad.getUsage(),
                                ad.getAnnotationDomain() == null ? "-" : ad
                                        .getAnnotationDomain(),
                                String.valueOf(ad.getAnnotationType()) });
            }

            tdvWriter.close();
        } catch (IOException e) {
            final String name = adfile.getAbsolutePath();
            final String msg =
                    "Cannot create annotation definition file for proto-network";
            throw new ProtoNetworkError(name, msg, e);
        }

        allWriter.writeNext(new String[0]);
        allWriter
                .writeNext(new String[] { "Document Annotation Definition table" });

        // Write document annotation definition table
        path =
                asPath(protoNetworkRootPath,
                        "document-annotation-definition.tbl");
        File dadfile = new File(path);
        try {
            tdvWriter = new CSVWriter(new FileWriter(dadfile), '\t',
                    CSVWriter.NO_QUOTE_CHARACTER);

            writeHeader(tdvWriter, allWriter, "DocumentIndex",
                    "AnnotationDefinitionIndex");

            Map<Integer, Set<Integer>> dnsi = adt
                    .getDocumentAnnotationDefinitions();
            for (final Entry<Integer, Set<Integer>> e : dnsi.entrySet()) {
                Integer di = e.getKey();
                Set<Integer> adl = e.getValue();
                if (noItems(adl)) continue;
                for (Integer adi : adl) {
                    tdvWriter.writeNext(new String[] {
                            String.valueOf(di),
                            String.valueOf(adi) });

                    allWriter.writeNext(new String[] {
                            String.valueOf(di),
                            String.valueOf(adi) });
                }
            }
            tdvWriter.close();
        } catch (IOException e) {
            final String name = path;
            final String msg = "Cannot create document annotation definition " +
                    "file for proto-network";
            throw new ProtoNetworkError(name, msg, e);
        }

        allWriter.writeNext(new String[0]);
        allWriter.writeNext(new String[] { "Annotation Value table" });

        // Write annotation value table
        AnnotationValueTable avt = pn.getAnnotationValueTable();
        File avfile = new File(protoNetworkRootPath + File.separator
                + "annotation-value.tbl");
        try {
            tdvWriter = new CSVWriter(new FileWriter(avfile), '\t',
                    CSVWriter.NO_QUOTE_CHARACTER);

            writeHeader(tdvWriter, allWriter, "AnnotationValueIndex",
                    "AnnotationDefinitionIndex", "AnnotationValue");

            Map<Integer, TableAnnotationValue> annotationIndex = avt
                    .getIndexValue();
            Set<Integer> annotationIds = annotationIndex.keySet();
            for (Integer annotationId : annotationIds) {
                TableAnnotationValue value = annotationIndex.get(annotationId);

                tdvWriter.writeNext(new String[] {
                        String.valueOf(annotationId),
                        String.valueOf(value.getAnnotationDefinitionId()),
                        value.getAnnotationValue() });
                allWriter.writeNext(new String[] {
                        String.valueOf(annotationId),
                        String.valueOf(value.getAnnotationDefinitionId()),
                        value.getAnnotationValue() });
            }

            tdvWriter.close();
        } catch (IOException e) {
            final String name = avfile.getAbsolutePath();
            final String msg =
                    "Cannot create annotation value file for proto-network";
            throw new ProtoNetworkError(name, msg, e);
        }

        allWriter.writeNext(new String[0]);
        allWriter.writeNext(new String[] { "Statement Annotation Map table" });

        // Write statement annotation map table
        StatementAnnotationMapTable samt = pn.getStatementAnnotationMapTable();
        File samtfile = new File(protoNetworkRootPath + File.separator
                + "statement-annotation-map.tbl");
        try {
            tdvWriter = new CSVWriter(new FileWriter(samtfile), '\t',
                    CSVWriter.NO_QUOTE_CHARACTER);

            writeHeader(tdvWriter, allWriter, "StatementIndex",
                    "AnnotationDefinitionIndex", "AnnotationValueIndex");

            for (final Map.Entry<Integer, Set<AnnotationPair>> same : samt
                    .getStatementAnnotationPairsIndex().entrySet()) {
                Integer sid = same.getKey();

                for (AnnotationPair ap : same.getValue()) {
                    tdvWriter.writeNext(new String[] {
                            String.valueOf(sid),
                            String.valueOf(ap.getAnnotationDefinitionId()),
                            String.valueOf(ap.getAnnotationValueId()) });

                    allWriter.writeNext(new String[] {
                            String.valueOf(sid),
                            String.valueOf(ap.getAnnotationDefinitionId()),
                            String.valueOf(ap.getAnnotationValueId()) });
                }
            }

            tdvWriter.close();
        } catch (IOException e) {
            final String name = samtfile.getAbsolutePath();
            final String msg = "Cannot create statement annotation map file " +
                    "for proto-network";
            throw new ProtoNetworkError(name, msg, e);
        }

        allWriter.writeNext(new String[0]);
        allWriter.writeNext(new String[] { "Proto Node Table" });

        // Write proto node table
        final ProtoNodeTable pnt = pn.getProtoNodeTable();
        final Map<Integer, Integer> eqn = pnt.getEquivalences();
        File pntf = new File(asPath(protoNetworkRootPath, "proto-node.tbl"));
        try {
            tdvWriter = new CSVWriter(new FileWriter(pntf), '\t',
                    CSVWriter.NO_QUOTE_CHARACTER);
            writeHeader(tdvWriter, allWriter, "ProtoNodeIndex", "Label",
                    "EquivalenceIndex");

            final List<String> nodes = pnt.getProtoNodes();
            int nodeId = 0;
            for (int i = 0, n = nodes.size(); i < n; i++) {
                String nodeidstr = String.valueOf(nodeId);
                String eqidstr = String.valueOf(eqn.get(i));
                tdvWriter.writeNext(new String[] {
                        nodeidstr,
                        nodes.get(i),
                        eqidstr });
                allWriter.writeNext(new String[] {
                        nodeidstr,
                        nodes.get(i),
                        eqidstr });

                nodeId++;
            }

            tdvWriter.close();
        } catch (IOException e) {
            final String name = pntf.getAbsolutePath();
            final String msg =
                    "Cannot create proto node file for proto-network";
            throw new ProtoNetworkError(name, msg, e);
        }

        allWriter.writeNext(new String[0]);
        allWriter.writeNext(new String[] { "Term Proto Node Table" });

        // Write term proto node table
        final TermTable tt = pn.getTermTable();
        File tpnf =
                new File(asPath(protoNetworkRootPath, "term-proto-node.tbl"));
        try {
            tdvWriter = new CSVWriter(new FileWriter(tpnf), '\t',
                    CSVWriter.NO_QUOTE_CHARACTER);
            writeHeader(tdvWriter, allWriter, "TermIndex", "ProtoNodeIndex");

            final List<String> terms = tt.getTermValues();
            final Map<Integer, Integer> visited = pnt.getTermNodeIndex();
            for (int i = 0, n = terms.size(); i < n; i++) {
                String nodeidstr = String.valueOf(visited.get(i));
                tdvWriter.writeNext(new String[] {
                        String.valueOf(i),
                        nodeidstr });
                allWriter.writeNext(new String[] {
                        String.valueOf(i),
                        nodeidstr });
            }

            tdvWriter.close();
        } catch (IOException e) {
            final String name = tpnf.getAbsolutePath();
            final String msg = "Cannot create term proto node file for " +
                    "proto-network";
            throw new ProtoNetworkError(name, msg, e);
        }

        allWriter.writeNext(new String[0]);
        allWriter.writeNext(new String[] { "Proto Edge Table" });

        // Write proto edge table
        final ProtoEdgeTable pet = pn.getProtoEdgeTable();
        final Map<Integer, Integer> edgeEq = pet.getEquivalences();
        File petf = new File(asPath(protoNetworkRootPath, "proto-edge.tbl"));
        try {
            tdvWriter = new CSVWriter(new FileWriter(petf), '\t',
                    CSVWriter.NO_QUOTE_CHARACTER);
            writeHeader(tdvWriter, allWriter, "ProtoEdgeIndex",
                    "SourceProtoNodeIndex", "Relationship",
                    "TargetProtoNodeIndex", "EquivalenceIndex");

            final List<TableProtoEdge> edges = pet.getProtoEdges();
            for (int i = 0, n = edges.size(); i < n; i++) {
                final TableProtoEdge edge = edges.get(i);

                final String ei = String.valueOf(i);
                final String source = String.valueOf(edge.getSource());
                final String rel = edge.getRel();
                final String target = String.valueOf(edge.getTarget());

                String eqIndex = edgeEq.get(i).toString();

                tdvWriter.writeNext(new String[] { ei, source, rel, target,
                        eqIndex });
                allWriter.writeNext(new String[] { ei, source, rel, target,
                        eqIndex });
            }

            tdvWriter.close();
        } catch (IOException e) {
            final String name = tpnf.getAbsolutePath();
            final String msg = "Cannot create proto edge file for " +
                    "proto-network";
            throw new ProtoNetworkError(name, msg, e);
        }

        allWriter.writeNext(new String[0]);
        allWriter.writeNext(new String[] { "Proto Edge Statement Table" });

        // Write proto edge statement table
        final List<TableProtoEdge> edges = pet.getProtoEdges();
        File spet =
                new File(asPath(protoNetworkRootPath,
                        "proto-edge-statement.tbl"));
        try {
            tdvWriter = new CSVWriter(new FileWriter(spet), '\t',
                    CSVWriter.NO_QUOTE_CHARACTER);
            writeHeader(tdvWriter, allWriter, "ProtoEdgeIndex",
                    "StatementIndex");

            final Map<Integer, Set<Integer>> edgeStmts =
                    pet.getEdgeStatements();
            for (int i = 0, n = edges.size(); i < n; i++) {
                final String ei = String.valueOf(i);

                final Set<Integer> stmts = edgeStmts.get(i);
                if (hasItems(stmts)) {
                    for (final Integer stmt : stmts) {
                        final String stmtstring = String.valueOf(stmt);
                        tdvWriter.writeNext(new String[] { ei, stmtstring });
                        allWriter.writeNext(new String[] { ei, stmtstring });
                    }
                }
            }

            tdvWriter.close();
        } catch (IOException e) {
            final String name = tpnf.getAbsolutePath();
            final String msg = "Cannot create proto edge file for " +
                    "proto-network";
            throw new ProtoNetworkError(name, msg, e);
View Full Code Here

      // can be stored in String, Text, or some other classes.
      outputFields[c] = fieldStringOI.getPrimitiveJavaObject(field);
    }

    final StringWriter writer = new StringWriter();
    final CSVWriter csv = newWriter(writer, separatorChar, quoteChar, escapeChar);

    try {
      csv.writeNext(outputFields);
      csv.close();

      return new Text(writer.toString());
    } catch (final IOException ioe) {
      throw new SerDeException(ioe);
    }
View Full Code Here

    }
  }

  private CSVWriter newWriter(final Writer writer, char separator, char quote, char escape) {
    if (CSVWriter.DEFAULT_ESCAPE_CHARACTER == escape) {
      return new CSVWriter(writer, separator, quote, "");
    } else {
      return new CSVWriter(writer, separator, quote, escape, "");
    }
  }
View Full Code Here

        false /* strict quotes off: don't ignore unquoted strings */,
        true /* ignore leading white-space */ );
  }

  public static CSVWriter newWriter(OutputStream outgoing, CSVProperties props) {
    return new CSVWriter(new OutputStreamWriter(
        outgoing, Charset.forName(props.charset)),
        props.delimiter.charAt(0), props.quote.charAt(0),
        props.escape.charAt(0));
  }
View Full Code Here

                SystemConfiguration.getSystemConfiguration();

        KamInfo kamInfo = loadKAMInfo(kamName, filePath, cfg);

        PKAMWriter pkw = null;
        CSVWriter tabbedWriter = null;
        KAMExportDAO kdao = null;
        try {
            pkw = new PKAMWriter(filePath);
            tabbedWriter = new CSVWriter(pkw, FIELD_SEPARATOR,
                    CSVParser.DEFAULT_QUOTE_CHARACTER,
                    CSVParser.DEFAULT_ESCAPE_CHARACTER);

            final DBConnection kcc = createKAMConnection(kamName, cfg);
            kdao = new KAMExportDAO(kcc, kamInfo.getSchemaName());
            for (KAMStoreTables1_0 kamTable : KAMStoreTables1_0.values()) {
                tabbedWriter.writeNext(new String[] { "["
                        + kamTable.getTableName() + "]" });

                // write out column headers
                // tabbedWriter.writeNext(kamTable.getOtherColumnNames());

                // query all rows for the current kam table
                List<String[]> allRows = kdao.getAllRowsForTable(kamTable);

                // write data as tsv if there is any
                if (hasItems(allRows)) {
                    for (String[] row : allRows) {
                        tabbedWriter.writeNext(row);
                    }
                }
            }
        } catch (IOException e) {
            throw new PKAMSerializationFailure(kamName, e.getMessage());
        } catch (SQLException e) {
            throw new PKAMSerializationFailure(kamName, e.getMessage());
        } finally {
            // close tabbed-data writer
            if (tabbedWriter != null) {
                try {
                    tabbedWriter.close();
                } catch (IOException e1) {}
            }

            // close kam catalog connection
            if (kdao != null) {
View Full Code Here

   * @throws IllegalArgumentException if {@code csvData == null}
   */
  public static void writeCsv(List<String[]> csvData, String fileName) throws IOException {
    Preconditions.checkNotNull(csvData, "Cannot write null CSV data to file.");

    CSVWriter writer = null;
    try {
      writer = new CSVWriter(new FileWriter(fileName));
      for (String[] line : csvData) {
        writer.writeNext(line);
      }
    } finally {
      if (writer != null) {
        writer.close();
      }
    }
  }
View Full Code Here

            }
            lines.add(line);
        }

        StringWriter swriter = new StringWriter();
        CSVWriter writer = new CSVWriter(swriter,   DEFAULT_SEPARATOR_CHAR.charAt(0),
                                                    DEFAULT_QUOTE_CHAR.charAt(0),
                                                    DEFAULT_ESCAPE_CHAR.charAt(0));

        writer.writeAll(lines);
        writer.close();

        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        BufferedWriter bWriter = new BufferedWriter(new OutputStreamWriter(baos));
        bWriter.write(swriter.toString());
        bWriter.close();
View Full Code Here

TOP

Related Classes of au.com.bytecode.opencsv.CSVWriter

Copyright © 2018 www.massapicom. 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.