List of usage examples for com.google.common.collect ArrayListMultimap create
public static <K, V> ArrayListMultimap<K, V> create()
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); } } }