List of usage examples for com.google.common.collect ImmutableListMultimap builder
public static <K, V> Builder<K, V> builder()
From source file:co.paralleluniverse.comsat.webactors.servlet.ServletHttpRequest.java
@Override public ListMultimap<String, String> getHeaders() { if (headers == null) { ImmutableListMultimap.Builder<String, String> mm = ImmutableListMultimap.builder();// LinkedHashMultimap.create(); for (Enumeration<String> hs = request.getHeaderNames(); hs.hasMoreElements();) { String h = hs.nextElement(); for (Enumeration<String> hv = request.getHeaders(h); hv.hasMoreElements();) mm.put(h, hv.nextElement()); }/* w ww . ja v a2s. c o m*/ this.headers = mm.build(); } return headers; }
From source file:co.paralleluniverse.comsat.webactors.servlet.HttpRequestWrapper.java
@Override public final ListMultimap<String, String> getHeaders() { if (headers == null) { final ImmutableListMultimap.Builder<String, String> mm = ImmutableListMultimap.builder();// LinkedHashMultimap.create(); for (final Enumeration<String> hs = request.getHeaderNames(); hs.hasMoreElements();) { final String h = hs.nextElement(); for (final Enumeration<String> hv = request.getHeaders(h); hv.hasMoreElements();) // Normalize header names by their conversion to lower case mm.put(h.toLowerCase(Locale.ENGLISH), hv.nextElement()); }/*from w ww .j a v a2 s . c om*/ this.headers = mm.build(); } return headers; }
From source file:com.facebook.presto.tpch.TpchIndexedData.java
private static IndexedTable indexTable(TpchTable table, double scaleFactor, final List<String> outputColumns, List<String> keyColumns) { List<Integer> keyPositions = FluentIterable.from(keyColumns).transform(new Function<String, Integer>() { @Override//from ww w . j a va 2s . c o m public Integer apply(String columnName) { int position = outputColumns.indexOf(columnName); checkState(position != -1); return position; } }).toList(); RecordSet recordSet = getRecordSet(table, scaleFactor, outputColumns); ImmutableListMultimap.Builder<MaterializedTuple, MaterializedTuple> indexedValuesBuilder = ImmutableListMultimap .builder(); List<Type> outputTypes = recordSet.getColumnTypes(); List<Type> keyTypes = extractPositionValues(outputTypes, keyPositions); RecordCursor cursor = recordSet.cursor(); while (cursor.advanceNextPosition()) { List<Object> values = extractValues(cursor, outputTypes); List<Object> keyValues = extractPositionValues(values, keyPositions); indexedValuesBuilder.put(new MaterializedTuple(keyValues), new MaterializedTuple(values)); } return new IndexedTable(keyColumns, keyTypes, outputColumns, outputTypes, indexedValuesBuilder.build()); }
From source file:org.janusgraph.graphdb.types.vertices.JanusGraphSchemaVertex.java
@Override public Iterable<Entry> getRelated(TypeDefinitionCategory def, Direction dir) { assert dir == Direction.OUT || dir == Direction.IN; ListMultimap<TypeDefinitionCategory, Entry> rels = dir == Direction.OUT ? outRelations : inRelations; if (rels == null) { ImmutableListMultimap.Builder<TypeDefinitionCategory, Entry> b = ImmutableListMultimap.builder(); Iterable<JanusGraphEdge> edges; if (isLoaded()) { StandardJanusGraphTx tx = tx(); edges = (Iterable) RelationConstructor.readRelation(this, tx.getGraph().getSchemaCache() .getSchemaRelations(longId(), BaseLabel.SchemaDefinitionEdge, dir), tx); } else {// w w w .j a v a2 s . c om edges = query().type(BaseLabel.SchemaDefinitionEdge).direction(dir).edges(); } for (JanusGraphEdge edge : edges) { JanusGraphVertex oth = edge.vertex(dir.opposite()); assert oth instanceof JanusGraphSchemaVertex; TypeDefinitionDescription desc = edge.valueOrNull(BaseKey.SchemaDefinitionDesc); Object modifier = null; if (desc.getCategory().hasDataType()) { assert desc.getModifier() != null && desc.getModifier().getClass().equals(desc.getCategory().getDataType()); modifier = desc.getModifier(); } b.put(desc.getCategory(), new Entry((JanusGraphSchemaVertex) oth, modifier)); } rels = b.build(); if (dir == Direction.OUT) outRelations = rels; else inRelations = rels; } assert rels != null; return rels.get(def); }
From source file:org.eclipse.xtext.xtext.RuleNames.java
public RuleNames(Grammar grammar, boolean installAdapter) { this.contextGrammar = grammar; Adapter adapter = new Adapter(this); if (installAdapter) { installAdapterIfMissing(adapter, grammar); }/* ww w . j ava 2 s. co m*/ List<AbstractRule> allRules = GrammarUtil.allRules(grammar); ImmutableListMultimap.Builder<String, AbstractRule> simpleNameToRulesBuilder = ImmutableListMultimap .builder(); ImmutableMap.Builder<String, AbstractRule> qualifiedNameToRuleBuilder = ImmutableMap.builder(); ImmutableBiMap.Builder<String, AbstractRule> uniqueNameToRuleBuilder = ImmutableBiMap.builder(); ImmutableBiMap.Builder<String, AbstractRule> antlrNameToRuleBuilder = ImmutableBiMap.builder(); Map<String, AbstractRule> names = Maps.newHashMap(); Set<String> usedAntlrNames = Sets.newHashSet(); Set<String> usedUniqueNames = Sets.newHashSet(); for (AbstractRule rule : allRules) { String name = rule.getName(); simpleNameToRulesBuilder.put(name, rule); String qualifiedName = getQualifiedName(rule); qualifiedNameToRuleBuilder.put(qualifiedName, rule); String uniqueName = name; String antlrRuleName; if (names.containsKey(name)) { name = qualifiedName; uniqueName = getInheritedUniqueName(rule, usedUniqueNames); antlrRuleName = getInheritedAntlrRuleName(rule, usedAntlrNames); } else { antlrRuleName = getDefaultAntlrRuleName(rule); } names.put(name, rule); if (!usedUniqueNames.add(uniqueName)) { throw new IllegalStateException(uniqueName); } uniqueNameToRuleBuilder.put(uniqueName, rule); if (!usedAntlrNames.add(antlrRuleName)) { throw new IllegalStateException(antlrRuleName); } antlrNameToRuleBuilder.put(antlrRuleName, rule); if (installAdapter) { installAdapterIfMissing(adapter, rule); } } simpleNameToRules = simpleNameToRulesBuilder.build(); qualifiedNameToRule = qualifiedNameToRuleBuilder.build(); nameToRule = ImmutableBiMap.copyOf(names); uniqueNameToRule = uniqueNameToRuleBuilder.build(); antlrNameToRule = antlrNameToRuleBuilder.build(); this.allRules = ImmutableList.copyOf(allRules); }
From source file:rx.transformer.GuavaTransformers.java
/** * Returns a Transformer<T,ImmutableListMultimap<K,V>> that maps an Observable<T> to an Observable<ImmutableListMultimap<K,V>>><br><br> * with a given Func1<T,K> keyMapper and Func1<T,V> valueMapper *//*from www. ja va 2 s. com*/ public static <T, K, V> Observable.Transformer<T, ImmutableListMultimap<K, V>> toImmutableListMultimap( final Func1<T, K> keyMapper, final Func1<T, V> valueMapper) { return new Observable.Transformer<T, ImmutableListMultimap<K, V>>() { @Override public Observable<ImmutableListMultimap<K, V>> call(Observable<T> observable) { return observable.collect(new Func0<ImmutableListMultimap.Builder<K, V>>() { @Override public ImmutableListMultimap.Builder<K, V> call() { return ImmutableListMultimap.builder(); } }, new Action2<ImmutableListMultimap.Builder<K, V>, T>() { @Override public void call(ImmutableListMultimap.Builder<K, V> builder, T t) { builder.put(keyMapper.call(t), valueMapper.call(t)); } }).map(new Func1<ImmutableListMultimap.Builder<K, V>, ImmutableListMultimap<K, V>>() { @Override public ImmutableListMultimap<K, V> call(ImmutableListMultimap.Builder<K, V> builder) { return builder.build(); } }); } }; }
From source file:io.airlift.jaxrs.testing.JaxrsTestingHttpProcessor.java
@Override public Response handle(Request request) throws Exception { // prepare request to jax-rs resource MultivaluedMap<String, Object> requestHeaders = new MultivaluedHashMap<>(); for (Map.Entry<String, String> entry : request.getHeaders().entries()) { requestHeaders.add(entry.getKey(), entry.getValue()); }//from w w w. java 2s.com Invocation.Builder invocationBuilder = client.target(request.getUri()).request().headers(requestHeaders); Invocation invocation; if (request.getBodyGenerator() == null) { invocation = invocationBuilder.build(request.getMethod()); } else { ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); request.getBodyGenerator().write(byteArrayOutputStream); byteArrayOutputStream.close(); byte[] bytes = byteArrayOutputStream.toByteArray(); Entity<byte[]> entity = Entity.entity(bytes, (String) getOnlyElement(requestHeaders.get("Content-Type"))); invocation = invocationBuilder.build(request.getMethod(), entity); } // issue request, and handle exceptions javax.ws.rs.core.Response result; try { result = invocation.invoke(javax.ws.rs.core.Response.class); } catch (ProcessingException exception) { if (trace) { log.warn(exception.getCause(), "%-8s %s -> Exception", request.getMethod(), request.getUri()); } // Peel out the exception we threw in jax-rs resource implementation // to facilitate testing exceptional paths if (exception.getCause() instanceof Exception) { throw (Exception) exception.getCause(); } throw exception; } catch (Throwable throwable) { if (trace) { log.warn(throwable, "%-8s %s -> Fail", request.getMethod(), request.getUri()); } throw throwable; } // process response from jax-rs resource ImmutableListMultimap.Builder<String, String> responseHeaders = ImmutableListMultimap.builder(); for (Map.Entry<String, List<String>> headerEntry : result.getStringHeaders().entrySet()) { for (String value : headerEntry.getValue()) { responseHeaders.put(headerEntry.getKey(), value); } } if (trace) { log.warn("%-8s %s -> OK", request.getMethod(), request.getUri()); } return new TestingResponse(HttpStatus.fromStatusCode(result.getStatus()), responseHeaders.build(), result.readEntity(byte[].class)); }
From source file:auto.cursor.processor.AbstractMethodExtractor.java
ImmutableListMultimap<String, String> abstractMethods(JavaTokenizer tokenizer, String packageName) { ImmutableListMultimap.Builder<String, String> abstractMethods = ImmutableListMultimap.builder(); Deque<String> classStack = new ArrayDeque<String>(); classStack.addLast(packageName);//from www .j ava2 s.c om int braceDepth = 1; boolean sawAbstract = false; String className = null; for (String previousToken = "", token = tokenizer .nextToken(); token != null; previousToken = token, token = tokenizer.nextToken()) { boolean topLevel = (braceDepth == classStack.size()); if (className != null) { if (Character.isJavaIdentifierStart(className.charAt(0)) && !className.equals("instanceof")) { String container = classStack.getLast(); // container might be empty in the case of a packageless class classStack.add(container.isEmpty() ? className : container + "." + className); } className = null; } if (token.equals("{")) { braceDepth++; sawAbstract = false; } else if (token.equals("}")) { braceDepth--; if (topLevel) { classStack.removeLast(); } } else if (topLevel) { if (token.equals("class") || token.equals("interface")) { className = tokenizer.nextToken(); } else if (token.equals("abstract")) { sawAbstract = true; } else if (token.equals("(")) { if (sawAbstract && Character.isJavaIdentifierStart(previousToken.charAt(0))) { abstractMethods.put(classStack.getLast(), previousToken); } sawAbstract = false; } } } return abstractMethods.build(); }
From source file:co.paralleluniverse.comsat.webactors.servlet.ServletHttpRequest.java
@Override public Multimap<String, String> getParameters() { if (params == null) { ImmutableListMultimap.Builder<String, String> mm = ImmutableListMultimap.builder(); for (Enumeration<String> ps = request.getParameterNames(); ps.hasMoreElements();) { String p = ps.nextElement(); String[] pvs = request.getParameterValues(p); if (pvs != null) { for (String pv : pvs) mm.put(p, pv);// w w w .j ava 2 s . c om } } this.params = mm.build(); } return params; }
From source file:com.google.auto.value.processor.AbstractMethodExtractor.java
ImmutableListMultimap<String, String> abstractMethods(EclipseHackTokenizer tokenizer, String packageName) { ImmutableListMultimap.Builder<String, String> abstractMethods = ImmutableListMultimap.builder(); Deque<String> classStack = new ArrayDeque<String>(); classStack.addLast(packageName);//from w w w . j a v a 2 s. c o m int braceDepth = 1; boolean sawAbstract = false; String className = null; for (String previousToken = "", token = tokenizer .nextToken(); token != null; previousToken = token, token = tokenizer.nextToken()) { boolean topLevel = (braceDepth == classStack.size()); if (className != null) { if (Character.isJavaIdentifierStart(className.charAt(0)) && !className.equals("instanceof")) { String container = classStack.getLast(); // container might be empty in the case of a packageless class classStack.add(container.isEmpty() ? className : container + "." + className); } className = null; } if (token.equals("{")) { braceDepth++; sawAbstract = false; } else if (token.equals("}")) { braceDepth--; if (topLevel) { classStack.removeLast(); } } else if (topLevel) { if (token.equals("class") || token.equals("interface")) { className = tokenizer.nextToken(); } else if (token.equals("abstract")) { sawAbstract = true; } else if (token.equals("(")) { if (sawAbstract && Character.isJavaIdentifierStart(previousToken.charAt(0))) { abstractMethods.put(classStack.getLast(), previousToken); } sawAbstract = false; } } } return abstractMethods.build(); }