Example usage for org.apache.commons.collections.map MultiKeyMap put

List of usage examples for org.apache.commons.collections.map MultiKeyMap put

Introduction

In this page you can find the example usage for org.apache.commons.collections.map MultiKeyMap put.

Prototype

public Object put(Object key, Object value) 

Source Link

Document

Puts the key and value into the map, where the key must be a non-null MultiKey object.

Usage

From source file:com.qq.tars.service.monitor.TARSPropertyMonitorService.java

private MultiKeyMap call(List<String> groupBy, List<String> conditions) throws IOException {
    String template = "{\"groupby\":%s,\"method\":\"query\",\"dataid\":\"tars_property\","
            + "\"filter\":%s,\"indexs\":[\"value\"]}";

    ObjectMapper mapper = new ObjectMapper();
    String request = String.format(template, mapper.writeValueAsString(groupBy),
            mapper.writeValueAsString(conditions));

    List<Pair<String, Integer>> addrs = adminService.getEndpoints("tars.tarsqueryproperty.NoTarsObj");
    if (addrs.isEmpty()) {
        throw new IOException("tars.tarsqueryproperty.NoTarsObj not found");
    }//w w w.  jav  a 2  s .  co  m

    Pair<String, Integer> addr = addrs.get(0);
    log.info("tars.tarsqueryproperty.NoTarsObj, use {}:{}", addr.getLeft(), addr.getRight());

    TCPClient client = new TCPClient(addr.getLeft(), addr.getRight());
    List<String> response = client.sendAndReceive(request.getBytes(), 60000);

    log.debug("request={}", request);
    log.debug("reponse={}", StringUtils.join(response, "\n"));

    String line1 = response.get(0);
    if (!line1.startsWith("Ret:")) {
        throw new IOException(String.format("line #1, doesn't start with \"Ret:\", line=%s", line1));
    }
    int ret = Integer.parseInt(line1.substring(line1.lastIndexOf(':') + 1));
    if (ret == -1) {
        throw new IOException(String.format("line #1, Ret=%s", ret));
    }

    String line6 = response.get(5);
    if (!line6.startsWith("linecount:")) {
        throw new IOException(String.format("line #6, doesn't start with \"linecount:\", line=%s", line6));
    }
    int count = Integer.parseInt(line6.substring(line6.lastIndexOf(':') + 1));
    if (count + 7 != response.size()) {
        throw new IOException(String.format("line #6, size not match, %s vs %s", count + 7, response.size()));
    }

    String lastLine = response.get(response.size() - 1);
    if (!"endline".equals(lastLine)) {
        throw new IOException(
                String.format("line #%s, doesn't equal to \"endline\", line=%s", response.size(), lastLine));
    }

    MultiKeyMap result = new MultiKeyMap();
    for (int i = 6; i < response.size() - 1; i++) {
        String line = StringUtils.removeEnd(response.get(i), ",");
        String[] tokens = line.split(",");
        if (tokens.length != groupBy.size() + 1) {
            throw new IOException(String.format("line format error, line=%s", line));
        }

        String[] key = new String[groupBy.size()];
        int j = 0;
        for (; j < key.length; j++) {
            key[j] = tokens[j];
        }

        double[] value = new double[] { Double.parseDouble(tokens[j]) };
        result.put(new MultiKey(key), value);
    }
    return result;
}

From source file:com.qq.tars.service.monitor.TARSStatMonitorService.java

private MultiKeyMap call(List<String> groupBy, List<String> conditions) throws IOException {
    String template = "{\"groupby\":%s,\"method\":\"query\",\"dataid\":\"tars_stat\","
            + "\"filter\":%s,\"indexs\":[\"succ_count\",\"timeout_count\",\"exce_count\",\"total_time\"]}";

    ObjectMapper mapper = new ObjectMapper();
    String request = String.format(template, mapper.writeValueAsString(groupBy),
            mapper.writeValueAsString(conditions));

    List<Pair<String, Integer>> addrs = adminService.getEndpoints("tars.tarsquerystat.NoTarsObj");
    if (addrs.isEmpty()) {
        throw new IOException("tars.tarsquerystat.NoTarsObj not found");
    }/*from www. j a v  a2 s. co m*/

    Pair<String, Integer> addr = addrs.get(0);
    log.info("tars.tarsquerystat.NoTarsObj, use {}:{}", addr.getLeft(), addr.getRight());

    TCPClient client = new TCPClient(addr.getLeft(), addr.getRight());
    List<String> response = client.sendAndReceive(request.getBytes(), 60000);

    log.debug("request={}", request);
    log.debug("reponse={}", StringUtils.join(response, "\n"));

    String line1 = response.get(0);
    if (!line1.startsWith("Ret:")) {
        throw new IOException(String.format("line #1, doesn't start with \"Ret:\", line=%s", line1));
    }
    int ret = Integer.parseInt(line1.substring(line1.lastIndexOf(':') + 1));
    if (ret == -1) {
        throw new IOException(String.format("line #1, Ret=%s", ret));
    }

    String line6 = response.get(5);
    if (!line6.startsWith("linecount:")) {
        throw new IOException(String.format("line #6, doesn't start with \"linecount:\", line=%s", line6));
    }
    int count = Integer.parseInt(line6.substring(line6.lastIndexOf(':') + 1));
    if (count + 7 != response.size()) {
        throw new IOException(String.format("line #6, size not match, %s vs %s", count + 7, response.size()));
    }

    String lastLine = response.get(response.size() - 1);
    if (!"endline".equals(lastLine)) {
        throw new IOException(
                String.format("line #%s, doesn't equal to \"endline\", line=%s", response.size(), lastLine));
    }

    MultiKeyMap result = new MultiKeyMap();
    for (int i = 6; i < response.size() - 1; i++) {
        String line = StringUtils.removeEnd(response.get(i), ",");
        String[] tokens = line.split(",");
        if (tokens.length != groupBy.size() + 4) {
            throw new IOException(String.format("line format error, line=%s", line));
        }

        String[] key = new String[groupBy.size()];
        int j = 0;
        for (; j < key.length; j++) {
            key[j] = tokens[j];
        }

        long[] value = new long[] { Long.parseLong(tokens[j++]), Long.parseLong(tokens[j++]),
                Long.parseLong(tokens[j++]), Long.parseLong(tokens[j]) };
        result.put(new MultiKey(key), value);
    }
    return result;
}

From source file:org.intermine.bio.dataconversion.FlyBaseProcessor.java

/**
 * {@inheritDoc}/*  w w  w  . j a va2  s.c  o  m*/
 */
@Override
protected Map<MultiKey, List<ConfigAction>> getConfig(int taxonId) {
    MultiKeyMap map = config.get(new Integer(taxonId));
    if (map == null) {
        map = new MultiKeyMap();
        config.put(new Integer(taxonId), map);

        // synomym configuration example: for features of class "Gene", if the type name of
        // the synonym is "fullname" and "is_current" is true, set the "name" attribute of
        // the new Gene to be this synonym and then make a Synonym object
        map.put(new MultiKey("synonym", "Gene", "fullname", Boolean.TRUE),
                Arrays.asList(new SetFieldConfigAction("name")));
        map.put(new MultiKey("synonym", "Gene", "fullname", Boolean.FALSE),
                Arrays.asList(CREATE_SYNONYM_ACTION));
        map.put(new MultiKey("synonym", "Gene", "symbol", Boolean.TRUE),
                Arrays.asList(new SetFieldConfigAction("symbol")));
        map.put(new MultiKey("synonym", "Gene", "symbol", Boolean.FALSE), Arrays.asList(CREATE_SYNONYM_ACTION));

        // dbxref table configuration example: for features of class "Gene", where the
        // db.name is "FlyBase Annotation IDs" and "is_current" is true, set the
        // "secondaryIdentifier" attribute of the new Gene to be this dbxref and then make a
        // Synonym object
        map.put(new MultiKey("dbxref", "Gene", FLYBASE_DB_NAME + " Annotation IDs", Boolean.TRUE),
                Arrays.asList(new SetFieldConfigAction("secondaryIdentifier")));
        map.put(new MultiKey("dbxref", "Gene", FLYBASE_DB_NAME + " Annotation IDs", Boolean.FALSE),
                Arrays.asList(CREATE_SYNONYM_ACTION));
        // null for the "is_current" means either TRUE or FALSE is OK.

        map.put(new MultiKey("dbxref", "Gene", FLYBASE_DB_NAME, null), Arrays.asList(CREATE_SYNONYM_ACTION));

        map.put(new MultiKey("dbxref", "MRNA", FLYBASE_DB_NAME + " Annotation IDs", Boolean.TRUE),
                Arrays.asList(new SetFieldConfigAction("secondaryIdentifier")));
        map.put(new MultiKey("dbxref", "TransposableElementInsertionSite", "drosdel", null),
                Arrays.asList(new SetFieldConfigAction("symbol")));

        map.put(new MultiKey("synonym", "ChromosomeStructureVariation", "fullname", Boolean.TRUE),
                Arrays.asList(new SetFieldConfigAction("name")));
        map.put(new MultiKey("synonym", "ChromosomalDeletion", "fullname", Boolean.TRUE),
                Arrays.asList(new SetFieldConfigAction("name")));
        map.put(new MultiKey("synonym", "ChromosomalDuplication", "fullname", Boolean.TRUE),
                Arrays.asList(new SetFieldConfigAction("name")));
        map.put(new MultiKey("synonym", "ChromosomalInversion", "fullname", Boolean.TRUE),
                Arrays.asList(new SetFieldConfigAction("name")));
        map.put(new MultiKey("synonym", "ChromosomalTranslocation", "fullname", Boolean.TRUE),
                Arrays.asList(new SetFieldConfigAction("name")));
        map.put(new MultiKey("synonym", "ChromosomalTransposition", "fullname", Boolean.TRUE),
                Arrays.asList(new SetFieldConfigAction("name")));

        map.put(new MultiKey("synonym", "MRNA", "symbol", Boolean.TRUE),
                Arrays.asList(new SetFieldConfigAction("symbol")));
        map.put(new MultiKey("synonym", "MRNA", "symbol", Boolean.FALSE), Arrays.asList(CREATE_SYNONYM_ACTION));
        map.put(new MultiKey("dbxref", "MRNA", FLYBASE_DB_NAME + " Annotation IDs", null),
                Arrays.asList(CREATE_SYNONYM_ACTION));
        map.put(new MultiKey("dbxref", "MRNA", FLYBASE_DB_NAME, null), Arrays.asList(CREATE_SYNONYM_ACTION));

        // set the Allele.gene when there is an alleleof relationship between Allele and Gene
        map.put(new MultiKey("relationship", "Allele", "alleleof", "Gene"),
                Arrays.asList(new SetFieldConfigAction("gene")));

        // Set the protein reference in the MRNA - "rev_relationship" means that the
        // relationship table actually has Protein, producedby, MRNA.  We configure like
        // this so we can set a reference in MRNA rather than protein
        map.put(new MultiKey("rev_relationship", "MRNA", "producedby", "Protein"),
                Arrays.asList(new SetFieldConfigAction("protein")));

        map.put(new MultiKey("relationship", "CDNAClone", "derived_assoc_cdna_clone", "Gene"),
                Arrays.asList(new SetFieldConfigAction("gene")));

        map.put(new MultiKey("relationship", "Gene", "producedby", "Protein"),
                Arrays.asList(new SetFieldConfigAction("proteins")));

        // featureprop configuration example: for features of class "Gene", if the type name
        // of the prop is "cyto_range", set the "cytoLocation" attribute of the
        // new Gene to be this property
        map.put(new MultiKey("prop", "Gene", "cyto_range"),
                Arrays.asList(new SetFieldConfigAction("cytoLocation")));
        map.put(new MultiKey("prop", "Gene", "symbol"), Arrays.asList(CREATE_SYNONYM_ACTION));
        map.put(new MultiKey("prop", "TransposableElementInsertionSite", "curated_cytological_location"),
                Arrays.asList(new SetFieldConfigAction("cytoLocation")));
        ConfigAction alleleClassConfigAction = new AlleleClassSetFieldAction("alleleClass");
        map.put(new MultiKey("prop", "Allele", "promoted_allele_class"),
                Arrays.asList(alleleClassConfigAction));
        // library config example: for features of class "CDNAClone", if the type name
        // of the library is "stage", set the "stage" attribute of the
        // new CDNAClone to be this property
        map.put(new MultiKey("library", "CDNAClone", "stage"),
                Arrays.asList(new SetFieldConfigAction("stage")));
        // anatomy term config example:  for features of class "CDNAClone" if there is an
        // anatomy term, set a reference in CDNAClone.tissueSource
        // See #2173
        //            map.put(new MultiKey("anatomyterm", "CDNAClone", null),
        //                    Arrays.asList(new SetFieldConfigAction("tissueSource")));

        // feature_cvterm example for Transposition: we create a featureTerms collection in the
        // Transposition objects containing SequenceOntologyTerm objects.  For the current
        // feature we create one SequenceOntologyTerm object for each associated "SO" cvterm.
        // We set the "name" field of the SequenceOntologyTerm to be the name from the cvterm
        // table.
        // TODO fixme
        //            List<String> chromosomeStructureVariationClassNames =
        //                Arrays.asList("ChromosomeStructureVariation", "ChromosomalDeletion",
        //                        "ChromosomalDuplication", "ChromosomalInversion",
        //                        "ChromosomalTranslocation", "ChromosomalTransposition");
        //            for (String className: chromosomeStructureVariationClassNames) {
        //                map.put(new MultiKey("cvterm", className, "SO"),
        //                        Arrays.asList(new CreateCollectionAction("SOTerm", "abberationSOTerms",
        //                                "name", true)));
        //            }
        // feature configuration example: for features of class "Exon", from "FlyBase",
        // set the Gene.symbol to be the "name" field from the chado feature
        map.put(new MultiKey("feature", "Exon", FLYBASE_DB_NAME, "name"),
                Arrays.asList(new SetFieldConfigAction("symbol")));
        map.put(new MultiKey("feature", "Allele", FLYBASE_DB_NAME, "name"),
                Arrays.asList(new SetFieldConfigAction("symbol")));

        // DO_NOTHING_ACTION means skip the name from this feature
        map.put(new MultiKey("feature", "Chromosome", FLYBASE_DB_NAME, "name"),
                Arrays.asList(DO_NOTHING_ACTION));

        map.put(new MultiKey("feature", "ChromosomeBand", FLYBASE_DB_NAME, "name"),
                Arrays.asList(DO_NOTHING_ACTION));

        map.put(new MultiKey("feature", "TransposableElementInsertionSite", FLYBASE_DB_NAME, "name"),
                Arrays.asList(new SetFieldConfigAction("symbol", PB_INSERTION_PATTERN),
                        new SetFieldConfigAction("secondaryIdentifier")));

        map.put(new MultiKey("feature", "Gene", FLYBASE_DB_NAME, "uniquename"),
                Arrays.asList(new SetFieldConfigAction("primaryIdentifier")));
        map.put(new MultiKey("feature", "Gene", FLYBASE_DB_NAME, "name"), Arrays.asList(DO_NOTHING_ACTION));

        map.put(new MultiKey("feature", "ChromosomeStructureVariation", FLYBASE_DB_NAME, "name"),
                Arrays.asList(new SetFieldConfigAction("secondaryIdentifier")));

        // just make a Synonym because the secondaryIdentifier and the symbol are set from the
        // dbxref and synonym tables
        map.put(new MultiKey("feature", "MRNA", FLYBASE_DB_NAME, "name"),
                Arrays.asList(new CreateSynonymAction()));

        map.put(new MultiKey("feature", "PointMutation", FLYBASE_DB_NAME, "uniquename"),
                Arrays.asList(new SetFieldConfigAction("name"), new SetFieldConfigAction("primaryIdentifier")));
        // name isn't set in flybase:
        map.put(new MultiKey("feature", "PointMutation", FLYBASE_DB_NAME, "name"),
                Arrays.asList(DO_NOTHING_ACTION));

        map.put(new MultiKey("dbxref", "Protein", FLYBASE_DB_NAME + " Annotation IDs", Boolean.TRUE),
                Arrays.asList(CREATE_SYNONYM_ACTION));
        map.put(new MultiKey("feature", "Protein", FLYBASE_DB_NAME, "name"),
                Arrays.asList(CREATE_SYNONYM_ACTION));
        map.put(new MultiKey("feature", "Protein", FLYBASE_DB_NAME, "uniquename"),
                Arrays.asList(new SetFieldConfigAction("secondaryIdentifier")));
        map.put(new MultiKey("dbxref", "Protein", "GB_protein", Boolean.TRUE),
                Arrays.asList(new SetFieldConfigAction("genbankIdentifier"), CREATE_SYNONYM_ACTION));

        // transposable_element and natural_transposable_element
        map.put(new MultiKey("feature", "TransposableElement", FLYBASE_DB_NAME, "name"), Arrays
                .asList(new SetFieldConfigAction("secondaryIdentifier"), new SetFieldConfigAction("symbol")));
        map.put(new MultiKey("feature", "NaturalTransposableElement", FLYBASE_DB_NAME, "name"), Arrays
                .asList(new SetFieldConfigAction("secondaryIdentifier"), new SetFieldConfigAction("symbol")));
        map.put(new MultiKey("relationship", "TransposableElement", "producedby", "NaturalTransposableElement"),
                Arrays.asList(new SetFieldConfigAction("insertedElement")));
        map.put(new MultiKey("synonym", "NaturalTransposableElement", "fullname", Boolean.TRUE),
                Arrays.asList(new SetFieldConfigAction("name")));
    }
    return map;
}

From source file:org.intermine.bio.dataconversion.ModEncodeFeatureProcessor.java

/**
 * {@inheritDoc}//from  w  ww. j a  v  a2 s . c om
 *
 * see FlyBaseProcessor for many more examples of configuration
 */
@Override
protected Map<MultiKey, List<ConfigAction>> getConfig(int taxonId) {
    MultiKeyMap map = config.get(new Integer(taxonId));
    if (map == null) {
        map = new MultiKeyMap();
        config.put(new Integer(taxonId), map);
        //feature configuration example: for features of class "Gene", from "modENCODE",
        //set the Gene.symbol to be the "name" field from the chado feature
        // map.put(new MultiKey("feature", "Gene", MODENCODE_SOURCE_NAME, "name"),
        // Arrays.asList(new SetFieldConfigAction("symbol")));

        // TODO: check possible conflicts with our sql matching
        // map.put(new MultiKey("relationship", "ESTMatch", "evidence_for_feature", "Intron"),
        //        Arrays.asList(new SetFieldConfigAction("intron")));
        map.put(new MultiKey("relationship", "ThreePrimeUTR", "adjacent_to", "CDS"),
                Arrays.asList(new SetFieldConfigAction("CDS")));
        map.put(new MultiKey("relationship", "PolyASite", "derives_from", "ThreePrimeRACEClone"),
                Arrays.asList(new SetFieldConfigAction("threePrimeRACEClone")));
        map.put(new MultiKey("relationship", "ThreePrimeRST", "derives_from", "ThreePrimeRACEClone"),
                Arrays.asList(new SetFieldConfigAction("threePrimeRACEClone")));
        // evidence_for_feature
        map.put(new MultiKey("relationship", "OverlappingESTSet", "evidence_for_feature", "TranscriptRegion"),
                Arrays.asList(new SetFieldConfigAction("supportedFeatures")));
        map.put(new MultiKey("relationship", "ExperimentalFeature", "evidence_for_feature", "Transcript"),
                Arrays.asList(new SetFieldConfigAction("supportedFeatures")));
        map.put(new MultiKey("relationship", "ExperimentalFeature", "evidence_for_feature", "Exon"),
                Arrays.asList(new SetFieldConfigAction("supportedFeatures")));
        map.put(new MultiKey("relationship", "ExperimentalFeature", "evidence_for_feature", "Intron"),
                Arrays.asList(new SetFieldConfigAction("supportedFeatures")));
        map.put(new MultiKey("relationship", "ExperimentalFeature", "evidence_for_feature", "ExonRegion"),
                Arrays.asList(new SetFieldConfigAction("supportedFeatures")));
        map.put(new MultiKey("relationship", "Intron", "evidence_for_feature", "PolypeptideRegion"),
                Arrays.asList(new SetFieldConfigAction("supportedFeatures")));
        // partial_evidence_for_feature
        map.put(new MultiKey("relationship", "OverlappingESTSet", "partial_evidence_for_feature", "MRNA"),
                Arrays.asList(new SetFieldConfigAction("supportedFeatures")));
        map.put(new MultiKey("relationship", "TranscriptRegion", "partial_evidence_for_feature", "MRNA"),
                Arrays.asList(new SetFieldConfigAction("supportedFeatures")));
        // complete_evidence_for_feature
        map.put(new MultiKey("relationship", "ThreePrimeUST", "complete_evidence_for_feature", "ThreePrimeUTR"),
                Arrays.asList(new SetFieldConfigAction("supportedFeatures")));
        map.put(new MultiKey("relationship", "OverlappingESTSet", "complete_evidence_for_feature", "Intron"),
                Arrays.asList(new SetFieldConfigAction("supportedFeatures")));
        map.put(new MultiKey("relationship", "OverlappingESTSet", "complete_evidence_for_feature", "PolyASite"),
                Arrays.asList(new SetFieldConfigAction("supportedFeatures")));
        map.put(new MultiKey("relationship", "OverlappingESTSet", "complete_evidence_for_feature",
                "SL1AcceptorSite"), Arrays.asList(new SetFieldConfigAction("supportedFeatures")));
        map.put(new MultiKey("relationship", "OverlappingESTSet", "complete_evidence_for_feature",
                "SL2AcceptorSite"), Arrays.asList(new SetFieldConfigAction("supportedFeatures")));
        map.put(new MultiKey("relationship", "OverlappingESTSet", "complete_evidence_for_feature",
                "TranscriptionEndSite"), Arrays.asList(new SetFieldConfigAction("supportedFeatures")));
        map.put(new MultiKey("relationship", "OverlappingESTSet", "complete_evidence_for_feature", "TSS"),
                Arrays.asList(new SetFieldConfigAction("supportedFeatures")));
        // full_evidence_for_feature
        //          map.put(new MultiKey("relationship", "OverlappingESTSet",
        //                  "full_evidence_for_feature", "Gene"),
        //                  Arrays.asList(new SetFieldConfigAction("supportedFeatures")));
        map.put(new MultiKey("relationship", "OverlappingESTSet", "full_evidence_for_feature", "MRNA"),
                Arrays.asList(new SetFieldConfigAction("supportedFeatures")));
        map.put(new MultiKey("relationship", "TranscriptRegion", "full_evidence_for_feature", "MRNA"),
                Arrays.asList(new SetFieldConfigAction("supportedFeatures")));
        // additional properties
        map.put(new MultiKey("prop", "CDS", "status"), Arrays.asList(new SetFieldConfigAction("status")));
        map.put(new MultiKey("prop", "CDS", "wormpep"), Arrays.asList(new SetFieldConfigAction("wormpep")));
        map.put(new MultiKey("prop", "MRNA", "cds"), Arrays.asList(new SetFieldConfigAction("CDS")));
        map.put(new MultiKey("prop", "MRNA", "wormpep"), Arrays.asList(new SetFieldConfigAction("wormpep")));
        map.put(new MultiKey("prop", "PolyASite", "external_evidence"),
                Arrays.asList(new SetFieldConfigAction("externalEvidence")));
        map.put(new MultiKey("prop", "ThreePrimeRST", "genbank_acc"),
                Arrays.asList(new SetFieldConfigAction("GenBankAcc")));
        map.put(new MultiKey("prop", "ThreePrimeRST", "ncbi_dbest"),
                Arrays.asList(new SetFieldConfigAction("NCBIdbEST")));
        map.put(new MultiKey("prop", "ThreePrimeUTR", "external_evidence"),
                Arrays.asList(new SetFieldConfigAction("externalEvidence")));
        map.put(new MultiKey("prop", "BindingSite", "qvalue"),
                Arrays.asList(new SetFieldConfigAction("qvalue")));
        map.put(new MultiKey("prop", "Exon", "acceptor"), Arrays.asList(new SetFieldConfigAction("acceptor")));
        map.put(new MultiKey("prop", "Exon", "connected_to_wormbase_transcript"),
                Arrays.asList(new SetFieldConfigAction("connectedToWormbaseTranscript")));
        map.put(new MultiKey("prop", "Exon", "donor"), Arrays.asList(new SetFieldConfigAction("donor")));
        map.put(new MultiKey("prop", "Exon", "overlapping_wormbase_transcript"),
                Arrays.asList(new SetFieldConfigAction("overlappingWormbaseTranscript")));
        map.put(new MultiKey("prop", "Exon", "polyA"), Arrays.asList(new SetFieldConfigAction("polyA")));
        map.put(new MultiKey("prop", "Exon", "tes"), Arrays.asList(new SetFieldConfigAction("tes")));
        map.put(new MultiKey("prop", "Exon", "tsl"), Arrays.asList(new SetFieldConfigAction("tsl")));
        map.put(new MultiKey("prop", "Exon", "tss"), Arrays.asList(new SetFieldConfigAction("tss")));
        map.put(new MultiKey("prop", "OverlappingESTSet", "fdr"),
                Arrays.asList(new SetFieldConfigAction("fdr")));
        map.put(new MultiKey("prop", "OverlappingESTSet", "fp"), Arrays.asList(new SetFieldConfigAction("fp")));
        map.put(new MultiKey("prop", "OverlappingESTSet", "overlap"),
                Arrays.asList(new SetFieldConfigAction("overlap")));
        map.put(new MultiKey("prop", "OverlappingESTSet", "reads"),
                Arrays.asList(new SetFieldConfigAction("reads")));
        map.put(new MultiKey("prop", "OverlappingESTSet", "strands_confirmed"),
                Arrays.asList(new SetFieldConfigAction("strandsConfirmed")));
        map.put(new MultiKey("prop", "OverlappingESTSet", "trimT"),
                Arrays.asList(new SetFieldConfigAction("trimT")));
        map.put(new MultiKey("prop", "Transcript", "transcribed"),
                Arrays.asList(new SetFieldConfigAction("transcribed")));
        map.put(new MultiKey("prop", "TranscriptRegion", "marginal_fpr"),
                Arrays.asList(new SetFieldConfigAction("marginalFpr")));
        map.put(new MultiKey("prop", "TranscriptRegion", "marginal_sensitivity"),
                Arrays.asList(new SetFieldConfigAction("marginalSensitivity")));
        map.put(new MultiKey("prop", "TranscriptRegion", "mean_intensity"),
                Arrays.asList(new SetFieldConfigAction("meanIntensity")));
        map.put(new MultiKey("prop", "TranscriptRegion", "rank_score"),
                Arrays.asList(new SetFieldConfigAction("rankScore")));
        map.put(new MultiKey("prop", "SequenceFeature", "prediction_status"),
                Arrays.asList(new SetFieldConfigAction("predictionStatus")));
        map.put(new MultiKey("prop", "SequenceFeature", "note"),
                Arrays.asList(new SetFieldConfigAction("note")));
    }
    return map;
}