Java 类org.jooq.InsertValuesStep2 实例源码

项目:cattle    文件:DynamicSchemaDaoImpl.java   
@SuppressWarnings("unchecked")
@Override
public void createRoles(DynamicSchema dynamicSchema) {
    List<String> roles = (List<String>) CollectionUtils.toList(CollectionUtils.getNestedValue(dynamicSchema.getData(),
            "fields", "roles"));
    InsertValuesStep2<DynamicSchemaRoleRecord, Long, String> insertStart = create()
            .insertInto(DYNAMIC_SCHEMA_ROLE, DYNAMIC_SCHEMA_ROLE.DYNAMIC_SCHEMA_ID, DYNAMIC_SCHEMA_ROLE.ROLE);
    for (String role: roles) {
                insertStart = insertStart.values(dynamicSchema.getId(), role);
    }
    insertStart.execute();
}
项目:hmftools    文件:StructuralVariantAnnotationDAO.java   
@SuppressWarnings("unchecked")
public void write(final StructuralVariantAnalysis analysis) {
    final Timestamp timestamp = new Timestamp(new Date().getTime());

    final Map<Transcript, Integer> id = Maps.newHashMap();

    // NERA: load transcript annotations
    for (final StructuralVariantAnnotation annotation : analysis.annotations()) {
        for (final GeneAnnotation geneAnnotation : annotation.annotations()) {
            final InsertValuesStep13 inserter = context.insertInto(STRUCTURALVARIANTBREAKEND,
                    STRUCTURALVARIANTBREAKEND.MODIFIED,
                    STRUCTURALVARIANTBREAKEND.ISSTARTEND,
                    STRUCTURALVARIANTBREAKEND.STRUCTURALVARIANTID,
                    STRUCTURALVARIANTBREAKEND.GENE,
                    STRUCTURALVARIANTBREAKEND.GENEID,
                    STRUCTURALVARIANTBREAKEND.TRANSCRIPTID,
                    STRUCTURALVARIANTBREAKEND.ISCANONICALTRANSCRIPT,
                    STRUCTURALVARIANTBREAKEND.STRAND,
                    STRUCTURALVARIANTBREAKEND.EXONRANKUPSTREAM,
                    STRUCTURALVARIANTBREAKEND.EXONPHASEUPSTREAM,
                    STRUCTURALVARIANTBREAKEND.EXONRANKDOWNSTREAM,
                    STRUCTURALVARIANTBREAKEND.EXONPHASEDOWNSTREAM,
                    STRUCTURALVARIANTBREAKEND.EXONMAX);
            for (final Transcript transcript : geneAnnotation.transcripts()) {
                inserter.values(timestamp,
                        geneAnnotation.isStart(),
                        transcript.variant().primaryKey(),
                        geneAnnotation.geneName(),
                        geneAnnotation.stableId(),
                        transcript.transcriptId(),
                        transcript.isCanonical(),
                        geneAnnotation.strand(),
                        transcript.exonUpstream(),
                        transcript.exonUpstreamPhase(),
                        transcript.exonDownstream(),
                        transcript.exonDownstreamPhase(),
                        transcript.exonMax());
            }

            final List<UInteger> ids = inserter.returning(STRUCTURALVARIANTBREAKEND.ID).fetch().getValues(0, UInteger.class);
            if (ids.size() != geneAnnotation.transcripts().size()) {
                throw new RuntimeException("not all transcripts were inserted successfully");
            }

            for (int i = 0; i < ids.size(); i++) {
                id.put(geneAnnotation.transcripts().get(i), ids.get(i).intValue());
            }
        }
    }

    // NERA: load fusions
    final InsertValuesStep3 fusionInserter = context.insertInto(STRUCTURALVARIANTFUSION,
            STRUCTURALVARIANTFUSION.ISREPORTED,
            STRUCTURALVARIANTFUSION.FIVEPRIMEBREAKENDID,
            STRUCTURALVARIANTFUSION.THREEPRIMEBREAKENDID);
    for (final GeneFusion fusion : analysis.fusions()) {
        fusionInserter.values(fusion.reportable(), id.get(fusion.upstreamLinkedAnnotation()), id.get(fusion.downstreamLinkedAnnotation()));
    }
    fusionInserter.execute();

    // NERA: load disruptions
    final InsertValuesStep2 disruptionInserter = context.insertInto(STRUCTURALVARIANTDISRUPTION,
            STRUCTURALVARIANTDISRUPTION.ISREPORTED,
            STRUCTURALVARIANTDISRUPTION.BREAKENDID);
    for (final GeneDisruption disruption : analysis.disruptions()) {
        disruptionInserter.values(disruption.reportable(), id.get(disruption.linkedAnnotation()));
    }
    disruptionInserter.execute();
}