@Override protected Multimap<String, org.apache.calcite.schema.Function> getFunctionMultimap() { final ImmutableMultimap.Builder<String, org.apache.calcite.schema.Function> builder = ImmutableMultimap.builder(); for (Map.Entry<String, DruidViewMacro> entry : viewManager.getViews().entrySet()) { builder.put(entry); } return builder.build(); }
/** * Map of child->parent. Neither the Keys or values can be null. */ public DefaultInputModuleHierarchy(DefaultInputModule root, Map<DefaultInputModule, DefaultInputModule> parents) { ImmutableMultimap.Builder<DefaultInputModule, DefaultInputModule> childrenBuilder = new ImmutableMultimap.Builder<>(); for (Map.Entry<DefaultInputModule, DefaultInputModule> e : parents.entrySet()) { childrenBuilder.put(e.getValue(), e.getKey()); } this.children = childrenBuilder.build(); this.parents = Collections.unmodifiableMap(new HashMap<>(parents)); this.root = root; }
public void testIndexIterator() { final Multimap<String, Object> stringToObject = new ImmutableMultimap.Builder<String, Object>() .put("1", 1) .put("1", 1L) .put("1", "1") .put("2", 2) .put("2", 2L) .build(); ImmutableMultimap<String, Object> outputMap = Multimaps.index(stringToObject.values().iterator(), Functions.toStringFunction()); assertEquals(stringToObject, outputMap); }
public void testIndex() { final Multimap<String, Object> stringToObject = new ImmutableMultimap.Builder<String, Object>() .put("1", 1) .put("1", 1L) .put("1", "1") .put("2", 2) .put("2", 2L) .build(); ImmutableMultimap<String, Object> outputMap = Multimaps.index(stringToObject.values(), Functions.toStringFunction()); assertEquals(stringToObject, outputMap); }
static ImmutableMultimap<Object, Object> instantiate( SerializationStreamReader reader, ImmutableMultimap.Builder<Object, Object> builder) throws SerializationException { int keyCount = reader.readInt(); for (int i = 0; i < keyCount; ++i) { Object key = reader.readObject(); int valueCount = reader.readInt(); for (int j = 0; j < valueCount; ++j) { Object value = reader.readObject(); builder.put(key, value); } } return builder.build(); }
public void testInvertFrom() { ImmutableMultimap<Integer, String> empty = ImmutableMultimap.of(); // typical usage example - sad that ArrayListMultimap.create() won't work Multimap<String, Integer> multimap = Multimaps.invertFrom(empty, ArrayListMultimap.<String, Integer>create()); assertTrue(multimap.isEmpty()); ImmutableMultimap<Integer, String> single = new ImmutableMultimap.Builder<Integer, String>().put(1, "one").put(2, "two").build(); // copy into existing multimap assertSame(multimap, Multimaps.invertFrom(single, multimap)); ImmutableMultimap<String, Integer> expected = new ImmutableMultimap.Builder<String, Integer>().put("one", 1).put("two", 2).build(); assertEquals(expected, multimap); }
public void testBuilder_withMutableEntry() { ImmutableMultimap.Builder<String, Integer> builder = new Builder<>(); final StringHolder holder = new StringHolder(); holder.string = "one"; Entry<String, Integer> entry = new AbstractMapEntry<String, Integer>() { @Override public String getKey() { return holder.string; } @Override public Integer getValue() { return 1; } }; builder.put(entry); holder.string = "two"; assertEquals(Arrays.asList(1), builder.build().get("one")); }
private ImmutableMultimap<ResourceId, ConfigValue> getClaimedConfigs( Iterable<ModuleSplit> moduleSplits) { ImmutableMultimap.Builder<ResourceId, ConfigValue> result = new ImmutableMultimap.Builder<>(); for (ModuleSplit moduleSplit : moduleSplits) { checkState( moduleSplit.getResourceTable().isPresent(), "Resource table not found in the density split."); for (Package pkg : moduleSplit.getResourceTable().get().getPackageList()) { for (Type type : pkg.getTypeList()) { for (Entry entry : type.getEntryList()) { for (ConfigValue configValue : entry.getConfigValueList()) { result.put(ResourceId.create(pkg, type, entry), configValue); } } } } } return result.build(); }
@Test void testFilterReplacesOldValues() throws IOException, NoSuchAlgorithmException, InvalidKeyException { HttpRequest request = newRequest(inputHeaders().put(AtmosHeaders.SIGNATURE, "foo") .put(HttpHeaders.DATE, "foo").put(AtmosHeaders.DATE, "foo").put(AtmosHeaders.UID, "foo") .build()); request = filter.filter(request); assertEquals(request.getFirstHeaderOrNull(AtmosHeaders.SIGNATURE), EXPECTED_SIGNATURE); }
AttributesByFirstLetter(Iterable<ValueAttribute> attributes) { ImmutableMultimap.Builder<Character, ValueAttribute> builder = ImmutableMultimap.builder(); for (ValueAttribute attribute : attributes) { String name = attribute.getMarshaledName(); char firstChar = name.charAt(0); builder.put(firstChar, attribute); } byFirst = builder.build(); asMap = byFirst.asMap(); }
public DependenciesValidator(final JsonNode digest) { super("dependencies"); /* * Property dependencies */ final ImmutableMultimap.Builder<String, String> mapBuilder = ImmutableMultimap.builder(); final Map<String, JsonNode> map = JacksonUtils.asMap(digest.get("propertyDeps")); String key; for (final Map.Entry<String, JsonNode> entry: map.entrySet()) { key = entry.getKey(); for (final JsonNode element: entry.getValue()) mapBuilder.put(key, element.textValue()); } propertyDeps = mapBuilder.build(); /* * Schema dependencies */ final ImmutableSet.Builder<String> setBuilder = ImmutableSet.builder(); for (final JsonNode node: digest.get("schemaDeps")) setBuilder.add(node.textValue()); schemaDeps = setBuilder.build(); }
final ImmutableMultimap.Builder<String, FieldValue> builder = ImmutableMultimap.builder(); final ImmutableSet.Builder<String> disallowedKeys = ImmutableSet.builder(); builder.put(defaultField, createFieldValue(defaultFieldKey, entry, false)); continue; builder.put(translatedKey.getDbField(), createFieldValue(translatedKey, v, negate)); } else { builder.put(defaultField, createFieldValue(defaultFieldKey, v, negate)); return new SearchQuery(queryString, builder.build(), disallowedKeys.build());
/** * Creates a graph from a list of node pairs (encoded as strings, e.g. "ab" means that this graph * has an edge between 'a' and 'b'). * * <p>The {@code successors} are always returned in alphabetical order. */ private static SuccessorsFunction<Character> createGraph(boolean directed, String... edges) { ImmutableMultimap.Builder<Character, Character> graphMapBuilder = ImmutableMultimap.builder(); for (String edge : edges) { checkArgument( edge.length() == 2, "Expecting each edge to consist of 2 characters but got %s", edge); char node1 = edge.charAt(0); char node2 = edge.charAt(1); graphMapBuilder.put(node1, node2); if (!directed) { graphMapBuilder.put(node2, node1); } } final ImmutableMultimap<Character, Character> graphMap = graphMapBuilder.build(); return new SuccessorsFunction<Character>() { @Override public Iterable<? extends Character> successors(Character node) { checkArgument( graphMap.containsKey(node) || graphMap.containsValue(node), "Node %s is not an element of this graph", node); return Ordering.natural().immutableSortedCopy(graphMap.get(node)); } }; }
public Set<ContentPack> loadAllLatest() { final Set<ContentPack> allContentPacks = loadAll(); final ImmutableMultimap.Builder<ModelId, ContentPack> byIdBuilder = ImmutableMultimap.builder(); for (ContentPack contentPack : allContentPacks) { byIdBuilder.put(contentPack.id(), contentPack); } final ImmutableMultimap<ModelId, ContentPack> contentPacksById = byIdBuilder.build(); final ImmutableSet.Builder<ContentPack> latestContentPacks = ImmutableSet.builderWithExpectedSize(contentPacksById.keySet().size()); for (ModelId id : contentPacksById.keySet()) { final ImmutableCollection<ContentPack> contentPacks = contentPacksById.get(id); final ContentPack latestContentPackRevision = Collections.max(contentPacks, Comparator.comparingInt(Revisioned::revision)); latestContentPacks.add(latestContentPackRevision); } return latestContentPacks.build(); }
private static PrincipalPrivileges buildInitialPrivilegeSet(String tableOwner) { return new PrincipalPrivileges( ImmutableMultimap.<String, HivePrivilegeInfo>builder() .put(tableOwner, new HivePrivilegeInfo(HivePrivilege.SELECT, true)) .put(tableOwner, new HivePrivilegeInfo(HivePrivilege.INSERT, true)) .put(tableOwner, new HivePrivilegeInfo(HivePrivilege.UPDATE, true)) .put(tableOwner, new HivePrivilegeInfo(HivePrivilege.DELETE, true)) .build(), ImmutableMultimap.of()); }
ImmutableMultimap.Builder<ByteBuffer, ByteBuffer> indexColumnsBuilder = ImmutableMultimap.builder(); Map<ByteBuffer, Map<ByteBuffer, Type>> indexColumnTypesBuilder = new HashMap<>(); indexColumnsBuilder.put(family, qualifier); indexColumns = indexColumnsBuilder.build(); indexColumnTypes = ImmutableMap.copyOf(indexColumnTypesBuilder);
protected Multimap<String, FieldEntry> getterMappings(Class<?> iface) { ImmutableMultimap.Builder<String, FieldEntry> builder = ImmutableMultimap.builder(); for (Map.Entry<String, Method> getter : TaskInvocationHandler.fieldGetters(iface).entries()) { Method getterMethod = getter.getValue(); String fieldName = getter.getKey(); if (getterMethod.getAnnotation(ConfigInject.class) != null) { // InjectEntry continue; } Type fieldType = getterMethod.getGenericReturnType(); final Optional<String> jsonKey = getJsonKey(getterMethod, fieldName); if (!jsonKey.isPresent()) { // skip this field continue; } final Optional<String> defaultJsonString = getDefaultJsonString(getterMethod); builder.put(jsonKey.get(), new FieldEntry(fieldName, fieldType, defaultJsonString)); } return builder.build(); }