Example usage for com.google.common.collect Multimaps forMap

List of usage examples for com.google.common.collect Multimaps forMap

Introduction

In this page you can find the example usage for com.google.common.collect Multimaps forMap.

Prototype

public static <K, V> SetMultimap<K, V> forMap(Map<K, V> map) 

Source Link

Document

Returns a multimap view of the specified map.

Usage

From source file:com.palantir.atlasdb.table.generation.ColumnValues.java

public static <T extends Persistable> Entry<Cell, byte[]> toCellValue(T key, ColumnValue<?> value) {
    Multimap<T, ? extends ColumnValue<?>> singletonMultimap = Multimaps
            .forMap(Collections.singletonMap(key, value));
    Map<Cell, byte[]> cellValues = toCellValues(singletonMultimap);
    return Iterables.getOnlyElement(cellValues.entrySet());
}

From source file:org.jclouds.jenkins.v1.binders.BindMapToOptionalParams.java

@SuppressWarnings("unchecked")
@Override//from  www .  j a v a  2s . c om
public <R extends HttpRequest> R bindToRequest(R request, Object input) {
    checkArgument(checkNotNull(input, "input") instanceof Map, "this binder is only valid for Maps!");
    Map<String, String> map = (Map<String, String>) input;
    return (R) request.toBuilder().replaceQueryParams(Multimaps.forMap(map)).build();
}

From source file:at.ac.univie.isc.asio.jaxrs.MediaTypeConverter.java

@Override
protected com.google.common.net.MediaType doForward(@Nonnull final javax.ws.rs.core.MediaType input) {
    return com.google.common.net.MediaType.create(input.getType(), input.getSubtype())
            .withParameters(Multimaps.forMap(input.getParameters()));
}

From source file:org.jclouds.atmos.binders.BindUserMetadataToHeaders.java

@SuppressWarnings("unchecked")
@Override//from  w  w w. j a  v  a2s.c o  m
public <R extends HttpRequest> R bindToRequest(R request, Object input) {
    checkArgument(checkNotNull(input, "input") instanceof UserMetadata,
            "this binder is only valid for UserMetadatas!");
    checkNotNull(request, "request");
    return (R) request.toBuilder().replaceHeaders(Multimaps.forMap(apply(UserMetadata.class.cast(input))))
            .build();
}

From source file:org.jclouds.aws.ec2.binders.BindLaunchSpecificationToFormParams.java

@SuppressWarnings("unchecked")
@Override// w ww. j av a  2 s  . c  o m
public <R extends HttpRequest> R bindToRequest(R request, Object input) {
    checkArgument(input instanceof LaunchSpecification, "this binder is only valid for LaunchSpecifications!");
    LaunchSpecification launchSpec = LaunchSpecification.class.cast(input);
    return (R) request.toBuilder().replaceFormParams(Multimaps.forMap(apply(launchSpec))).build();
}

From source file:org.jclouds.blobstore.binders.BindMapToHeadersWithPrefix.java

@SuppressWarnings("unchecked")
@Override//from   w  ww  . j av a2 s  . c om
public <R extends HttpRequest> R bindToRequest(R request, Object input) {
    checkArgument(checkNotNull(input, "input") instanceof Map<?, ?>, "this binder is only valid for Maps!");
    checkNotNull(request, "request");

    Map<String, String> userMetadata = Maps2.transformKeys((Map<String, String>) input, FN);
    return (R) request.toBuilder().replaceHeaders(Multimaps.forMap(userMetadata)).build();
}

From source file:org.jclouds.ec2.util.IpPermissions.java

/**
 * don't rely on this being here.. it will move
 *//* ww w.j av a 2  s . c  om*/
@Beta
public static Multimap<String, String> buildFormParametersForIndex(final int index, IpPermission permission) {
    Map<String, String> headers = Maps.newLinkedHashMap();
    headers.put("IpPermissions.%d.IpProtocol", permission.getIpProtocol().toString());
    headers.put("IpPermissions.%d.FromPort", permission.getFromPort() + "");
    headers.put("IpPermissions.%d.ToPort", permission.getToPort() + "");
    String prefix = "IpPermissions.%d.IpRanges.";
    int i = 0;
    for (String cidrIp : checkNotNull(permission.getCidrBlocks(), "cidrIps")) {
        headers.put(prefix + i++ + ".CidrIp", cidrIp);
    }
    prefix = "IpPermissions.%d.Groups.";
    i = 0;
    for (String groupId : checkNotNull(permission.getGroupIds(), "groupIds")) {
        headers.put(prefix + i++ + ".GroupId", groupId);
    }
    prefix = "IpPermissions.%d.Groups.";
    i = 0;
    for (Entry<String, String> tenantIdGroupNamePair : checkNotNull(permission.getTenantIdGroupNamePairs(),
            "tenantIdGroupNamePairs").entries()) {
        headers.put(prefix + i + ".UserId", tenantIdGroupNamePair.getKey());
        headers.put(prefix + i + ".GroupId", tenantIdGroupNamePair.getValue());
        i++;
    }
    prefix = "IpPermissions.%d.IpRanges.";
    i = 0;
    for (String cidrIp : checkNotNull(permission.getCidrBlocks(), "cidrIps")) {
        headers.put(prefix + i++ + ".CidrIp", cidrIp);
    }
    return Multimaps.forMap(Maps2.transformKeys(headers, new Function<String, String>() {

        @Override
        public String apply(String arg0) {
            return String.format(arg0, index);
        }

    }));
}

From source file:org.zalando.logbook.spring.MockHttpRequest.java

@Override
public Multimap<String, String> getHeaders() {
    return Multimaps.forMap(headers);
}

From source file:org.jclouds.joyent.sdc.v6_5.options.CreateMachineOptions.java

@Override
public Multimap<String, String> buildQueryParameters() {
    Multimap<String, String> params = super.buildQueryParameters();
    if (name != null)
        params.put("name", name);
    if (pkg != null)
        params.put("package", pkg);
    params.putAll(Multimaps.forMap(Maps2.transformKeys(metadata, new Function<String, String>() {

        @Override/*  w w  w  .j av  a 2 s .com*/
        public String apply(String input) {
            return "metadata." + input;
        }

    })));
    return params;
}

From source file:org.jclouds.aws.binders.BindMapToIndexedFormParams.java

@SuppressWarnings("unchecked")
@Override//from w  w w. j a va 2  s  .c o  m
public <R extends HttpRequest> R bindToRequest(R request, Object input) {
    if (checkNotNull(input, "input") instanceof Iterable)
        input = Maps.uniqueIndex((Iterable<String>) input, new Function<String, String>() {
            int index = 1;

            @Override
            public String apply(String input) {
                return index++ + "";
            }
        });
    checkArgument(checkNotNull(input, "input") instanceof Map, "this binder is only valid for Map");
    Map<String, String> mapping = (Map<String, String>) input;

    ImmutableMap.Builder<String, String> builder = ImmutableMap.builder();
    int amazonOneBasedIndex = 1; // according to docs, counters must start
                                 // with 1
    for (Entry<String, String> entry : mapping.entrySet()) {
        // not null by contract
        builder.put(format(keyPattern, amazonOneBasedIndex), entry.getKey());
        builder.put(format(valuePattern, amazonOneBasedIndex), entry.getValue());
        amazonOneBasedIndex++;
    }
    Multimap<String, String> forms = Multimaps.forMap(builder.build());
    return forms.size() == 0 ? request : (R) request.toBuilder().replaceFormParams(forms).build();
}