Example usage for com.google.common.collect ListMultimap get

List of usage examples for com.google.common.collect ListMultimap get

Introduction

In this page you can find the example usage for com.google.common.collect ListMultimap get.

Prototype

@Override
List<V> get(@Nullable K key);

Source Link

Document

Because the values for a given key may have duplicates and follow the insertion ordering, this method returns a List , instead of the java.util.Collection specified in the Multimap interface.

Usage

From source file:com.paolodragone.wsn.evaluation.FirstSenseBaseline.java

public static void main(String[] args) {
    try {/*w  w w  .j  a  v  a 2s . c o  m*/
        System.out.println("Loading...");

        // Readers
        WsnConfiguration configuration = WsnConfiguration.getInstance();
        Reader sensesFileReader = Files.newBufferedReader(configuration.getSensesFilePath());
        Reader termsFileReader = Files.newBufferedReader(configuration.getTermsFilePath());

        // Get sense Stream
        SensesDataSet sensesDataSet = new SensesDataSet();
        SensesDataSet sensesDataSetView;
        sensesDataSetView = sensesDataSet
                .getView(sensesDataSet.excludeColumns(SensesDataSet.SenseColumn.Gloss));
        Stream<Sense> senseStream = sensesDataSetView.getEntityStream(sensesFileReader).parallel();
        senseStream = Senses.filterValidSenses(senseStream);
        Collection<Sense> senses = DStreamSupport.toList(senseStream);
        Map<Integer, Sense> senseMap = DCollections.collectionToMap(senses, Sense::getId, new HashMap<>());

        TermsDataSet termsDataSet = new TermsDataSet();
        TermsDataSet termsDataSetView;
        termsDataSetView = termsDataSet.getView(termsDataSet.excludeColumns(TermsDataSet.TermColumn.Word));
        Stream<Term> termStream = Terms.filterValidTerms(termsDataSetView.getEntityStream(termsFileReader));
        TermsDataSet.setTerms(senseMap, termStream);

        ListMultimap<String, Sense> wordSensesMap = Senses.buildWordSensesMap(senses);

        List<SemanticEdge> semanticNetwork = new ArrayList<>();
        for (Sense sense : senses) {
            for (Term term : sense.getGlossTerms()) {
                List<Sense> targetSenses = wordSensesMap.get(term.getLemma());
                if (!targetSenses.isEmpty()) {
                    SemanticEdge semanticEdge = new SemanticEdge();
                    semanticEdge.setTermId(term.getId());
                    semanticEdge.setTargetSenseId(targetSenses.get(0).getId());
                    semanticEdge.setConfidence(1.0 / targetSenses.size());
                    semanticNetwork.add(semanticEdge);
                }
            }
        }

        Path semanticNetworkTestSetFilePath = configuration.getSemanticNetworkTestSetFilePath();
        Reader semanticNetworkTestSetReader = Files.newBufferedReader(semanticNetworkTestSetFilePath);
        SemanticNetworkDataSet semanticNetworkDataSet = new SemanticNetworkDataSet();
        Stream<SemanticEdge> semanticNetworkTestSetStream;
        semanticNetworkTestSetStream = semanticNetworkDataSet.getEntityStream(semanticNetworkTestSetReader);
        Collection<SemanticEdge> semanticNetworkTestSet = DStreamSupport.toList(semanticNetworkTestSetStream);

        System.out.println("Done.");

        TestSetEvaluator evaluator = new TestSetEvaluator();
        TestSetEvaluator.EvaluationResult result = evaluator.evaluateTestSet(semanticNetwork,
                semanticNetworkTestSet);

        System.out.println("Total test set: " + result.getSize());
        System.out.println("Not predicted: " + result.getNotPredicted());
        System.out.println("Accuracy: " + result.getAccuracy());
        System.out.println("Average confidence: " + result.getAverageConfidence());

    } catch (Exception e) {
        e.printStackTrace();
    }
}

From source file:jp.ac.ipu.ds.nekottyo.toolmaven.CrowlInternetArchive.java

public static void main(String[] args) throws IOException {

    try {/*from w ww  .j a  v a2s  . co m*/
        Date date = new Date();
        Format sdf = new SimpleDateFormat("dd_km");
        String now = sdf.format(date);
        FileHandler fh = new FileHandler("DSNotify_" + now + ".log", true);
        fh.setFormatter(new java.util.logging.SimpleFormatter());
        LOG.addHandler(fh);
    } catch (SecurityException ex) {
        Logger.getLogger(CrowlInternetArchive.class.getName()).log(Level.SEVERE, null, ex);
    }

    List list = new ArrayList();

    try (Stream<String> stream = Files.lines(Paths.get(sourceFile), StandardCharsets.UTF_8)) {
        stream.parallel().forEach((String l) -> {
            try {
                ListMultimap<Integer, String> resultmap = crowlPastRDF(l);

                StringBuilder logInfo = new StringBuilder();
                logInfo.append(l).append("\n\t");

                resultmap.keySet().stream().forEach((Integer key) -> {
                    logInfo.append(key).append(":").append(resultmap.get(key).size()).append(" ");
                });
                String except404 = String
                        .valueOf(1 - ((double) resultmap.get(200).size() / resultmap.values().size()));
                System.out.println(resultmap.get(404));
                Path dist = Paths.get("./data/404list.txt");
                Files.write(dist, resultmap.get(404), Charset.defaultCharset());
                list.add(l + "," + except404);
                LOG.info(logInfo.append("\n\t").append(except404).toString());
            } catch (InterruptedException ex) {
                Logger.getLogger(CrowlInternetArchive.class.getName()).log(Level.SEVERE, null, ex);
            } catch (IOException ex) {
                Logger.getLogger(CrowlInternetArchive.class.getName()).log(Level.SEVERE, null, ex);
            }
        });
    }

    try {
        Path dest = Paths.get(resultFile);
        Files.write(dest, list, Charset.defaultCharset());
    } catch (Exception e) {
        LOG.severe(e.toString());
    }
}

From source file:com.paolodragone.wsn.evaluation.TermAnnotator.java

public static void main(String[] args) {
    try {//from   ww w  .  j  av  a  2 s  .  co m
        System.out.println("Loading...");

        WsnConfiguration configuration = WsnConfiguration.getInstance();
        Reader sensesFileReader = Files.newBufferedReader(configuration.getSensesFilePath());
        Reader termsFileReader = Files.newBufferedReader(configuration.getTermsFilePath());

        SensesDataSet sensesDataSet = new SensesDataSet();
        Stream<Sense> senseStream = sensesDataSet.getEntityStream(sensesFileReader);
        Collection<Sense> senses = DStreamSupport.toList(senseStream);
        Map<Integer, Sense> senseMap = DCollections.collectionToMap(senses, Sense::getId, new HashMap<>());

        TermsDataSet termsDataSet = new TermsDataSet();
        TermsDataSet.setTerms(senseMap, termsDataSet.getEntityStream(termsFileReader));

        ListMultimap<String, Sense> wordSensesMap = Senses.buildWordSensesMap(senses);

        System.out.println("Done.");

        TermAnnotator annotator = new TermAnnotator();
        Iterator<Sense> senseIterator = senseStream.iterator();
        if (senseIterator.hasNext()) {
            Sense sense = senseIterator.next();
            Term term = sense.getGlossTerms().get(1);
            List<Sense> targetSenses = wordSensesMap.get(term.getLemma().toLowerCase());
            annotator.annotateTerm(term, targetSenses);
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
}

From source file:org.apache.ctakes.temporal.data.analysis.CompareFeatureStructures.java

public static void main(String[] args) throws Exception {
    Options options = CliFactory.parseArguments(Options.class, args);
    List<Class<?>> annotationClasses = Lists.newArrayList();
    for (String annotationClassName : options.getAnnotationClassNames()) {
        annotationClasses.add(Class.forName(annotationClassName));
    }/* w ww.j  av  a 2s.co  m*/

    MyersDiff<String> stringDiff = new MyersDiff<String>();
    MyersDiff<FeatureStructure> fsDiff = new MyersDiff<FeatureStructure>(new FeatureStructureEqualizer());

    File originalDir = options.getDirectory1();
    File revisedDir = options.getDirectory2();
    Patch<String> dirPatch = stringDiff.diff(originalDir.list(), revisedDir.list());
    if (!dirPatch.getDeltas().isEmpty()) {
        log("--- %s files\n", originalDir);
        log("+++ %s files\n", revisedDir);
        log(dirPatch);
    } else {
        for (String fileName : originalDir.list()) {
            File originalFile = new File(originalDir, fileName);
            File revisedFile = new File(revisedDir, fileName);
            JCas originalJCas = readXMI(originalFile);
            JCas revisedJCas = readXMI(revisedFile);
            List<String> originalViews = getViewNames(originalJCas);
            List<String> revisedViews = getViewNames(revisedJCas);
            Patch<String> viewsPatch = stringDiff.diff(originalViews, revisedViews);
            if (!viewsPatch.getDeltas().isEmpty()) {
                log("--- %s views\n", originalFile);
                log("+++ %s views\n", revisedFile);
                log(viewsPatch);
            } else {
                for (String viewName : originalViews) {
                    JCas originalView = originalJCas.getView(viewName);
                    JCas revisedView = revisedJCas.getView(viewName);
                    List<FeatureStructure> originalFSes = toFeatureStructures(originalView, annotationClasses);
                    List<FeatureStructure> revisedFSes = toFeatureStructures(revisedView, annotationClasses);
                    Patch<FeatureStructure> fsPatch = fsDiff.diff(originalFSes, revisedFSes);
                    if (!fsPatch.getDeltas().isEmpty()) {
                        log("--- %s view %s\n", originalFile, viewName);
                        log("+++ %s view %s\n", revisedFile, viewName);
                        for (Delta<FeatureStructure> fsDelta : fsPatch.getDeltas()) {
                            logHeader(fsDelta);
                            switch (fsDelta.getType()) {
                            case DELETE:
                            case INSERT:
                                log(fsDelta);
                                break;
                            case CHANGE:
                                List<String> originalLines = toLines(fsDelta.getOriginal().getLines());
                                List<String> revisedLines = toLines(fsDelta.getRevised().getLines());
                                Patch<String> linesPatch = stringDiff.diff(originalLines, revisedLines);
                                ListMultimap<Integer, String> deletes = ArrayListMultimap.create();
                                ListMultimap<Integer, String> inserts = ArrayListMultimap.create();
                                Set<Integer> skips = Sets.newHashSet();
                                for (Delta<String> linesDelta : linesPatch.getDeltas()) {
                                    Chunk<String> originalChunk = linesDelta.getOriginal();
                                    Chunk<String> revisedChunk = linesDelta.getRevised();
                                    int start = originalChunk.getPosition();
                                    deletes.putAll(start, originalChunk.getLines());
                                    inserts.putAll(start, revisedChunk.getLines());
                                    for (int i = start; i < start + originalChunk.size(); ++i) {
                                        skips.add(i);
                                    }
                                }
                                for (int i = 0; i < originalLines.size(); ++i) {
                                    if (!skips.contains(i)) {
                                        log(" %s\n", originalLines.get(i));
                                    }
                                    for (String line : deletes.get(i)) {
                                        log("-%s\n", line);
                                    }
                                    for (String line : inserts.get(i)) {
                                        log("+%s\n", line);
                                    }
                                }
                                break;
                            }
                        }
                    }
                }
            }
        }
    }

}

From source file:com.zimbra.cs.mailbox.VCardParamsAndValue.java

public static String getFirstValue(String key, ListMultimap<String, VCardParamsAndValue> mmap) {
    List<VCardParamsAndValue> vals = mmap.get(key);
    if (vals == null || vals.isEmpty()) {
        return null;
    }/*www  .  ja  va2s.  com*/
    return vals.get(0).getValue();
}

From source file:chess_.engine.classic.player.ai.PawnStructureAnalyzer.java

private static int calculateIsolatedPawnPenalty(final ListMultimap<Integer, Piece> pawnsOnColumnTable) {
    int numIsolatedPawns = 0;
    if (!pawnsOnColumnTable.get(0).isEmpty() && pawnsOnColumnTable.get(1).isEmpty()) {
        numIsolatedPawns += pawnsOnColumnTable.get(0).size();
    }/* w ww .  ja v a2  s. c  o  m*/
    for (int i = 1; i < BOARD_COLUMNS.size() - 1; i++) {
        if (!pawnsOnColumnTable.get(i).isEmpty()
                && (pawnsOnColumnTable.get(i - 1).isEmpty() && pawnsOnColumnTable.get(i + 1).isEmpty())) {
            numIsolatedPawns += pawnsOnColumnTable.get(i).size();
        }
    }
    if (!pawnsOnColumnTable.get(BOARD_COLUMNS.size() - 1).isEmpty()
            && pawnsOnColumnTable.get(BOARD_COLUMNS.size() - 2).isEmpty()) {
        numIsolatedPawns += pawnsOnColumnTable.get(BOARD_COLUMNS.size() - 1).size();
    }
    return numIsolatedPawns * ISOLATED_PAWN_PENALTY;
}

From source file:org.eclipselabs.spray.xtext.util.Modules3.java

public static Module mixin(Module... m) {
    List<Module> modules = new ArrayList<Module>(m.length);
    ListMultimap<String, Module> modulesMap = getOverrideModuleMap();

    for (Module module : m) {
        modules.add(module);//from  ww w . j  a v a 2s .c om
        for (Module overrideModule : modulesMap.get(module.getClass().getName())) {
            LOG.debug("Overriding Module " + module.getClass().getName() + " with "
                    + overrideModule.getClass().getName());
            modules.add(overrideModule);
        }
    }
    return Modules2.mixin(modules.toArray(m));
}

From source file:com.google.gitiles.GitwebRedirectFilter.java

private static String getFirst(ListMultimap<String, String> params, String name) {
    return Iterables.getFirst(params.get(checkNotNull(name)), null);
}

From source file:chess_.engine.classic.player.ai.PawnStructureAnalyzer.java

private static int calculateDoubledPawnPenalty(final ListMultimap<Integer, Piece> pawnsOnColumnTable) {
    int numDoubledPawns = 0;
    for (int i = 0; i < BOARD_COLUMNS.size(); i++) {
        final int numPawnsOnColumn = pawnsOnColumnTable.get(i).size();
        if (numPawnsOnColumn > 1) {
            numDoubledPawns += pawnsOnColumnTable.get(i).size();
        }//from   w w w  . j a  va 2s.c o  m
    }
    return numDoubledPawns * DOUBLED_PAWN_PENALTY;
}

From source file:com.google.gitiles.LogServlet.java

private static Optional<ObjectId> getStart(ListMultimap<String, String> params, ObjectReader reader)
        throws IOException {
    List<String> values = params.get(START_PARAM);
    switch (values.size()) {
    case 0:/*from www  .j a  va 2 s  . c  o  m*/
        return Optional.absent();
    case 1:
        Collection<ObjectId> ids = reader.resolve(AbbreviatedObjectId.fromString(values.get(0)));
        if (ids.size() != 1) {
            return null;
        }
        return Optional.of(Iterables.getOnlyElement(ids));
    default:
        return null;
    }
}