Example usage for com.google.common.collect ArrayListMultimap create

List of usage examples for com.google.common.collect ArrayListMultimap create

Introduction

In this page you can find the example usage for com.google.common.collect ArrayListMultimap create.

Prototype

public static <K, V> ArrayListMultimap<K, V> create() 

Source Link

Document

Creates a new, empty ArrayListMultimap with the default initial capacities.

Usage

From source file:edu.byui.firstproject.helloWorld.login.java

/**
 * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
 * methods.// w w w.  j  av  a 2  s  . c o  m
 *
 * @param request servlet request
 * @param response servlet response
 * @throws ServletException if a servlet-specific error occurs
 * @throws IOException if an I/O error occurs
 */
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    response.setContentType("text/html;charset=UTF-8");

    // Check username
    if (request.getParameter("username") != null && request.getParameter("password") != null) {
        ServletContext context = getServletContext();

        File file = new File("users.txt");
        if (!file.exists()) {
            file.createNewFile();
            FileWriter fileWriter = new FileWriter(file.getAbsoluteFile(), true);
            BufferedWriter bw = new BufferedWriter(fileWriter);
            bw.write("curtis,123");
            bw.newLine();
            bw.write("me,123");
            bw.newLine();
            bw.close();
        }

        BufferedReader br = new BufferedReader(new FileReader("users.txt"));

        String line;
        Multimap<String, String> multimap = ArrayListMultimap.create();

        while ((line = br.readLine()) != null) {
            System.out.println(line);
            String[] s = line.split(",");
            multimap.put(s[0], s[1]);

        }
        String username = request.getParameter("username");
        String password = request.getParameter("password");

        boolean valid_login = false;
        if (multimap.containsKey(username)) {
            if (multimap.get(username).contains(password)) {
                valid_login = true;
            }
        }
        if (valid_login) {
            HttpSession session = request.getSession();
            session.setAttribute("username", username);
            session.setAttribute("incorrect_error", null);
            response.sendRedirect("forum.jsp");
        } else {
            HttpSession session = request.getSession();
            session.setAttribute("username", username);
            session.setAttribute("incorrect_error", null);
            response.sendRedirect("invalid.jsp");
        }
    }
}

From source file:com.datatorrent.common.metric.MetricsAggregator.java

@Override
public Map<String, Object> aggregate(long windowId,
        Collection<AutoMetric.PhysicalMetricsContext> physicalMetrics) {
    Multimap<String, Object> metricValues = ArrayListMultimap.create();

    for (AutoMetric.PhysicalMetricsContext pmCtx : physicalMetrics) {
        for (Map.Entry<String, Object> entry : pmCtx.getMetrics().entrySet()) {
            metricValues.put(entry.getKey(), entry.getValue());
        }//from ww  w .  jav  a2 s  . c o  m
    }

    Map<String, Object> aggregates = Maps.newHashMap();
    for (String metric : metricValues.keySet()) {
        List<LogicalMetricMeta> logicalMetricMetas = metricLogicalAggregates.get(metric);
        if (logicalMetricMetas != null) {
            for (LogicalMetricMeta logicalMetricMeta : logicalMetricMetas) {

                Object aggregatedVal = logicalMetricMeta.aggregator.aggregate(metricValues.get(metric));
                aggregates.put(logicalMetricMeta.name, aggregatedVal);
            }
        }
    }
    return aggregates;
}

From source file:ec.tss.tsproviders.jdbc.dsm.datasource.DataSourceManager.java

private DataSourceManager() {
    m_dataSources = new HashMap<>();
    m_registered = ArrayListMultimap.create();
    File defaultFolder = Files2.fromPath(StandardSystemProperty.USER_HOME.value(), ".jdemetra");
    defaultFile = new File(defaultFolder, "datasources.xml");
    AccountManager.INSTANCE.setManager(new AESContentManager(defaultFolder, KeyGen.retrieveKeySpec()));

    // Register known types of databases
    registerDataSourceProvider(DataSourceType.MYSQL.getSourceQualifier(), "Server", "Database");
    registerDataSourceProvider(DataSourceType.ORACLE.getSourceQualifier(), "Server", "Port", "SID");

    load();/*from w  w  w .j  a v  a  2  s .co m*/
}

From source file:eu.interedition.text.xml.module.TEIAwareAnnotationXMLTransformerModule.java

@Override
public void start(XMLTransformer transformer) {
    super.start(transformer);
    this.spanning = ArrayListMultimap.create();
    this.milestones = Maps.newHashMap();
}

From source file:com.facebook.buck.parser.ParserLeaseVendor.java

/**
 * @param maxParsersPerCell maximum number of parsers to create for a single cell.
 * @param parserFactory function used to create a new parser.
 *//*  w ww .  j  ava 2s.c  om*/
public ParserLeaseVendor(int maxParsersPerCell, Function<Cell, P> parserFactory) {
    this.maxParsersPerCell = maxParsersPerCell;
    this.parserFactory = parserFactory;
    this.createdParsers = ArrayListMultimap.create();
    this.parkedParsers = new HashMap<>();
    this.parserRequests = new HashMap<>();
    this.closed = new AtomicBoolean(false);
}

From source file:com.android.tools.idea.apk.viewer.dex.DexParser.java

@NotNull
private static Multimap<String, MethodReference> getMethodsByClassName(@NotNull DexBackedDexFile dexFile) {
    Multimap<String, MethodReference> methodsByClass = ArrayListMultimap.create();
    for (int i = 0, m = dexFile.getMethodCount(); i < m; i++) {
        MethodReference methodRef = new DexBackedMethodReference(dexFile, i);
        methodsByClass.put(methodRef.getDefiningClass(), methodRef);
    }/*from w  ww.  j  a v  a2s.c o m*/

    return methodsByClass;
}

From source file:itemrender.client.export.ItemList.java

@SuppressWarnings("unchecked")
public static void updateList() {
    LinkedList<ItemStack> items = new LinkedList<ItemStack>();
    LinkedList<ItemStack> permutations = new LinkedList<ItemStack>();
    ListMultimap<Item, ItemStack> itemMap = ArrayListMultimap.create();

    for (Item item : (Iterable<Item>) Item.itemRegistry) {

        if (item == null)
            continue;

        try {/*from w  w w .  j  av  a2 s.  com*/
            permutations.clear();

            if (permutations.isEmpty())
                item.getSubItems(item, null, permutations);

            if (permutations.isEmpty())
                damageSearch(item, permutations);

            items.addAll(permutations);
            itemMap.putAll(item, permutations);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    ItemList.items = items;
    ItemList.itemMap = itemMap;
}

From source file:com.foundationdb.server.test.mt.util.TimeMarkerComparison.java

/** See {@link #combineTimeMarkers(TimeMarker...)}. */
static List<List<String>> combineTimeMarkers(Collection<TimeMarker> timeMarkers) {
    // Sort by time, list of lists of messages from all markers
    ListMultimap<Long, List<String>> timeToMarks = Multimaps
            .newListMultimap(new TreeMap<Long, Collection<List<String>>>(), new Supplier<List<List<String>>>() {
                @Override/*from www. jav a2 s . c o  m*/
                public List<List<String>> get() {
                    return new ArrayList<>();
                }
            });
    for (TimeMarker tm : timeMarkers) {
        for (Entry<Long, List<String>> entry : Multimaps.asMap(tm.getMarks()).entrySet()) {
            timeToMarks.put(entry.getKey(), entry.getValue());
        }
    }
    // Concatenate into final ordering
    List<List<String>> output = new ArrayList<>();
    for (List<List<String>> singleTimeMarks : Multimaps.asMap(timeToMarks).values()) {
        // Split a given Marker's messages apart, coalesce overlapping timestamps from multiple Marker's
        ListMultimap<Integer, String> split = ArrayListMultimap.create();
        for (List<String> marks : singleTimeMarks) {
            for (int i = 0; i < marks.size(); ++i) {
                split.put(i, marks.get(i));
            }
        }
        // Sort any coalesced and output
        for (List<String> marks : Multimaps.asMap(split).values()) {
            Collections.sort(marks);
            output.add(marks);
        }
    }
    return output;
}

From source file:de.unipassau.isl.evs.ssh.master.network.broadcast.ModuleBroadcaster.java

private Message createUpdateMessage() {
    final SlaveController slaveController = requireComponent(SlaveController.KEY);
    final List<Slave> slaves = slaveController.getSlaves();
    final ListMultimap<Slave, Module> modulesAtSlave = ArrayListMultimap.create();

    for (Slave slave : slaves) {
        modulesAtSlave.putAll(slave, slaveController.getModulesOfSlave(slave.getSlaveID()));
    }/*from www. jav  a 2s .co  m*/

    return new Message(new ModulesPayload(modulesAtSlave, slaves));
}

From source file:com.mgmtp.perfload.perfalyzer.binning.RequestFilesMerger.java

public void mergeFiles(final List<PerfAlyzerFile> inputFiles) throws IOException {
    Predicate<PerfAlyzerFile> predicate1 = perfAlyzerFilePartsMatchWildcards("measuring", "*",
            "requestsPerInterval");
    Predicate<PerfAlyzerFile> predicate2 = perfAlyzerFilePartsMatchWildcards("measuring", "*",
            "aggregatedResponseTimes");

    Predicate<PerfAlyzerFile> predicateOr = predicate1.or(predicate2);

    Set<PerfAlyzerFile> paFiles = inputFiles.stream().filter(predicateOr).collect(toSet());
    ListMultimap<String, PerfAlyzerFile> byOperationMultimap = ArrayListMultimap.create();

    for (PerfAlyzerFile paf : paFiles) {
        byOperationMultimap.put(paf.getFileNameParts().get(1), paf);
    }/*  w  ww  .j a v  a 2  s  .co m*/

    StrTokenizer tokenizer = StrTokenizer.getCSVInstance();
    tokenizer.setDelimiterChar(DELIMITER);

    for (String operation : byOperationMultimap.keySet()) {
        List<PerfAlyzerFile> list = byOperationMultimap.get(operation);

        checkState(list.size() == 2, "Two files are required by operation but found %d for '%s'", list.size(),
                operation);

        List<String> resultLines = newArrayListWithCapacity(2);

        PerfAlyzerFile paf1 = list.stream().filter(predicate1).findFirst().get();
        File file1 = new File(binnedDir, paf1.getFile().getPath());
        List<String> lines1 = Files.readLines(file1, Charsets.UTF_8);

        PerfAlyzerFile paf2 = list.stream().filter(predicate2).findFirst().get();
        File file2 = new File(binnedDir, paf2.getFile().getPath());
        List<String> lines2 = Files.readLines(file2, Charsets.UTF_8);

        if (lines1.size() == lines2.size()) {
            File resultFile = new File(binnedDir,
                    paf1.copy().removeFileNamePart(2).addFileNamePart("aggregated").getFile().getPath());

            for (int i = 0; i < lines1.size(); ++i) {
                String line1 = get(lines1, i);
                String line2 = get(lines2, i);
                resultLines.add(line1 + DELIMITER + line2);
            }

            writeLines(resultFile, Charsets.UTF_8.name(), resultLines);

            deleteQuietly(file1);
            deleteQuietly(file2);
        } else {
            log.warn("Files to merge must have the same number of lines. Merging not possible: {}", list);
        }
    }
}