Example usage for com.google.common.collect Multimap keySet

List of usage examples for com.google.common.collect Multimap keySet

Introduction

In this page you can find the example usage for com.google.common.collect Multimap keySet.

Prototype

Set<K> keySet();

Source Link

Document

Returns a view collection of all distinct keys contained in this multimap.

Usage

From source file:ps3joiner.Main.java

public static void mergeFiles(final Multimap<Path, Path> filesToJoin, final boolean dryRun,
        final boolean deleteSplitFiles) throws IOException {
    for (final Path wholeFilePath : filesToJoin.keySet()) {
        logger.trace("Rebuilding file {}", wholeFilePath);

        final Collection<Path> partialFiles = filesToJoin.get(wholeFilePath);

        try (final OutputStream out = new BufferedOutputStream(Files.newOutputStream(wholeFilePath))) {
            for (final Path partialFilePath : partialFiles) {
                logger.trace("Reading file {}", partialFilePath);

                try (final InputStream in = new BufferedInputStream(Files.newInputStream(partialFilePath))) {
                    if (!dryRun) {
                        ByteStreams.copy(in, out);
                    }//from   w  w  w  . j  a  v a2  s.c o  m
                }
                if (deleteSplitFiles && !dryRun) {
                    logger.trace("Deleting file {}", partialFilePath);
                    Files.delete(partialFilePath);
                }
            }
        }

        logger.trace("Closing file {}", wholeFilePath);
    }
}

From source file:ubicrypt.core.FileSynchronizer.java

static HashMap<UUID, FileProvenience> max(final Multimap<UUID, FileProvenience> input) {
    return input.keySet().stream().collect(HashMap::new,
            (map, uuid) -> map.put(uuid, input.get(uuid).stream().max((f1, f2) -> {
                switch (f1.getFile().getVclock().compare(f2.getFile().getVclock())) {
                case newer:
                    return 1;
                case older:
                    return -1;
                default:
                    return 0;
                }// w  w  w.ja  v a  2s . c  o m
            }).get()), HashMap::putAll);
}

From source file:org.crypto.sse.Partition.java

public static Multimap<Integer, String> partitioning(Multimap<String, String> lookup) {

    // Partitions Creation
    Set<String> keys = lookup.keySet();

    int partitionId = 0;
    Multimap<Integer, String> partitions = ArrayListMultimap.create();
    int counter2 = 0;

    for (String key : keys) {
        Set<Integer> keys2 = partitions.keySet();
        List<String> inter = (List<String>) lookup.get(key);
        List<String> interTMP = new ArrayList<String>(inter);

        Printer.debugln("Step number: " + counter2++ + "Number of keywords " + keys.size());

        Set<String> set = new HashSet<String>(interTMP);
        Multimap<Integer, String> partitionsTMP = ArrayListMultimap.create();

        for (Integer key2 : keys2) {

            if (!set.isEmpty()) {
                Set<String> tmp = new HashSet<String>(partitions.get(key2));

                Set<String> intersection = Sets.intersection(tmp, set);

                Set<String> difference;

                if (intersection.isEmpty()) {
                    difference = tmp;/* ww  w. j  a  va 2  s .  c  o m*/
                } else {
                    difference = Sets.difference(tmp, intersection);
                    set = Sets.difference(set, intersection);

                }

                if (!difference.isEmpty()) {
                    partitionId = partitionId + 1;
                    partitionsTMP.putAll(partitionId, difference);
                }

                if (!intersection.isEmpty()) {
                    partitionId = partitionId + 1;
                    partitionsTMP.putAll(partitionId, intersection);
                }

            } else {
                partitionId = partitionId + 1;
                partitionsTMP.putAll(partitionId, new HashSet<String>(partitions.get(key2)));
            }

        }

        interTMP = new ArrayList<String>(set);

        if (!interTMP.isEmpty()) {

            partitionId = partitionId + 1;
            partitionsTMP.putAll(partitionId, interTMP);

        }

        partitions = ArrayListMultimap.create(partitionsTMP);
        partitionsTMP.clear();
        interTMP.clear();

    }

    Printer.debugln("Partitions size " + partitions.keySet().size());
    Printer.debugln("\n");

    return partitions;
}

From source file:org.jclouds.util.Multimaps2.java

public static <K, V> Multimap<K, V> replaceEntries(Multimap<K, V> fromMultimap, Multimap<K, V> updates) {
    checkNotNull(fromMultimap, "input multimap");
    checkNotNull(updates, "updates");
    return ImmutableMultimap.<K, V>builder().putAll(withoutKeys(fromMultimap, updates.keySet())).putAll(updates)
            .build();// w  ww .  ja va2  s .c o  m
}

From source file:com.google.testing.testify.risk.frontend.server.util.DataRequestDocumentGenerator.java

/**
 * Returns an XML document describing the data requests.
 *//*from   ww w. ja  va  2 s.c  om*/
public static String generateDocument(List<DataRequest> allDataRequests) {
    try {
        DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance();
        DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder();
        Document document = docBuilder.newDocument();

        Element documentRoot = document.createElement("TestAnalytics");
        document.appendChild(documentRoot);

        // Group all requests by their parent project.
        Multimap<Long, DataRequest> requestsByProject = getRequestsByProject(allDataRequests);
        for (Long projectId : requestsByProject.keySet()) {
            Element projectElement = document.createElement("DataRequests");
            projectElement.setAttribute("ProjectID", Long.toString(projectId));
            documentRoot.appendChild(projectElement);

            // Group project requests by data source.
            Collection<DataRequest> projectRequests = requestsByProject.get(projectId);
            Multimap<String, DataRequest> requestsBySource = getRequestsByDataSource(projectRequests);
            for (String sourceName : requestsBySource.keySet()) {
                Element dataSourceElement = document.createElement("DataRequest");
                dataSourceElement.setAttribute("Type", sourceName);
                projectElement.appendChild(dataSourceElement);

                // Write out the configuration parameter strings for the data source.
                for (DataRequest request : requestsBySource.get(sourceName)) {
                    for (DataRequestOption option : request.getDataRequestOptions()) {
                        Element dataSourceParameter = document.createElement("Parameter");
                        dataSourceParameter.setAttribute("Name", option.getName());
                        dataSourceParameter.appendChild(document.createTextNode(option.getValue()));
                        dataSourceElement.appendChild(dataSourceParameter);
                    }
                }
            }
        }

        // Now dump the document in memory to a string.
        Transformer transformer = TransformerFactory.newInstance().newTransformer();
        DOMSource source = new DOMSource(document);
        StreamResult result = new javax.xml.transform.stream.StreamResult(new StringWriter());

        transformer.transform(source, result);
        return result.getWriter().toString();
        // COV_NF_START
    } catch (TransformerConfigurationException tce) {
        return "Error in transformer configuration.";
    } catch (TransformerException te) {
        return "Error transforming document.";
    } catch (ParserConfigurationException pce) {
        return "Error in parser configuration.";
    }
    // COV_NF_END
}

From source file:org.obiba.onyx.quartz.core.engine.questionnaire.util.QuestionnaireSharedCategory.java

/**
 * Return true is category associated to the given questionCategory is shared, false otherwise. we use this method if
 * question associated to questionCategory is not yet linked to the questionnaire.
 * (QuestionnaireFinder.findSharedCategories do not contains yet the category)
 * /*  ww  w. j  av a 2s . c o  m*/
 * @param question
 * @param questionCategory
 * @param category
 * @return
 */
public static boolean isSharedIfLink(final QuestionCategory questionCategory, Questionnaire questionnaire) {
    QuestionnaireFinder questionnaireFinder = QuestionnaireFinder.getInstance(questionnaire);
    questionnaire.setQuestionnaireCache(null);
    Multimap<Category, Question> categoriesFilterName = questionnaireFinder
            .findCategories(questionCategory.getCategory().getName());
    Collection<Category> categories = Collections2.filter(categoriesFilterName.keySet(),
            new Predicate<Category>() {

                @Override
                public boolean apply(Category input) {
                    return input == questionCategory.getCategory();
                }
            });
    if (categoriesFilterName.isEmpty() || categories.isEmpty()) {
        return false;
    }
    Collection<Question> questions = categoriesFilterName.get(categories.iterator().next());
    Collection<Question> otherQuestions = Collections2.filter(questions, new Predicate<Question>() {

        @Override
        public boolean apply(Question input) {
            return input != questionCategory.getQuestion();
        }
    });
    return !otherQuestions.isEmpty();
}

From source file:de.unisb.cs.st.javalanche.mutation.runtime.testDriver.junit.Junit4Util.java

private static Class<?>[] getClasses(final Multimap<String, String> methods) throws ClassNotFoundException {
    Set<String> keySet = methods.keySet();
    List<Class<?>> classes = new ArrayList<Class<?>>();

    for (String className : keySet) {
        classes.add(Class.forName(className));
    }//from  w  ww .  ja  va2s .co  m
    return classes.toArray(new Class<?>[0]);
}

From source file:org.sonar.java.filters.SuppressWarningFilter.java

private static boolean issueShouldNotBeReported(FilterableIssue issue,
        Multimap<String, Integer> excludedLineByRule) {
    RuleKey issueRuleKey = issue.ruleKey();
    for (String excludedRule : excludedLineByRule.keySet()) {
        if (("all".equals(excludedRule) || isRuleKey(excludedRule, issueRuleKey))
                && !isSuppressWarningRule(issueRuleKey)) {
            Collection<Integer> excludedLines = excludedLineByRule.get(excludedRule);
            if (excludedLines.contains(issue.line())) {
                return true;
            }/*from  w w w  .  j  a v  a2 s  . co  m*/
        }
    }
    return false;
}

From source file:edu.isi.karma.modeling.research.ComputeGED.java

private static void computeGEDApp2() throws Exception {

    File ff = new File(Params.JGRAPHT_DIR);
    File[] files = ff.listFiles();

    DirectedWeightedMultigraph<Node, Link> gMain, gKarmaInitial, gKarmaFinal, gApp2;

    HashSet<File> fileSet = new HashSet<File>(Arrays.asList(files));

    Function<File, String> sameService = new Function<File, String>() {
        @Override/*from w w  w  .j  a va  2 s . co m*/
        public String apply(final File s) {
            return s.getName().substring(0, s.getName().indexOf('.'));
        }
    };

    Multimap<String, File> index = Multimaps.index(fileSet, sameService);

    for (String s : index.keySet()) {

        System.out.println(s);
        Collection<File> serviceFiles = index.get(s);
        gMain = null;
        gKarmaInitial = null;
        gKarmaFinal = null;
        gApp2 = null;

        for (File f : serviceFiles) {
            if (f.getName().endsWith(".main.jgraph")) {
                gMain = GraphUtil.deserialize(f.getPath());
            } else if (f.getName().endsWith(".karma.initial.jgraph")) {
                gKarmaInitial = GraphUtil.deserialize(f.getPath());
            } else if (f.getName().endsWith(".karma.final.jgraph")) {
                gKarmaFinal = GraphUtil.deserialize(f.getPath());
            } else if (f.getName().endsWith(".app2.jgraph")) {
                gApp2 = GraphUtil.deserialize(f.getPath());
            }
        }

        if (gMain == null)
            continue;
        String label;
        double distance;

        Map<String, DirectedWeightedMultigraph<Node, Link>> graphs = new TreeMap<String, DirectedWeightedMultigraph<Node, Link>>();

        label = "0- Main";
        graphs.put(label, gMain);

        if (gKarmaInitial != null) {
            distance = Util.getDistance(gMain, gKarmaInitial);
            label = "1-Karma Initial" + "-distance:" + distance;
            graphs.put(label, gKarmaInitial);
        }

        if (gKarmaFinal != null) {
            distance = Util.getDistance(gMain, gKarmaFinal);
            label = "3-Karma Final" + "-distance:" + distance;
            graphs.put(label, gKarmaFinal);
        }

        if (gApp2 != null) {
            distance = Util.getDistance(gMain, gApp2);
            label = "2-Output" + "-distance:" + distance;
            graphs.put(label, gApp2);
        }

        GraphVizUtil.exportJGraphToGraphvizFile(graphs, s, Params.OUTPUT_DIR + s + ".app2.out.dot");
    }
}

From source file:org.jclouds.glacier.util.AWSRequestSignerV4.java

private static String buildSignedHeaders(Multimap<String, String> canonicalizedHeadersMap) {
    return Joiner.on(';')
            .join(Iterables.transform(canonicalizedHeadersMap.keySet(), new Function<String, String>() {

                @Override/*from w  w w.  j av  a2s  .  c  o m*/
                public String apply(String input) {
                    return input.toLowerCase();
                }
            }));
}