Example usage for com.google.common.collect ImmutableMap get

List of usage examples for com.google.common.collect ImmutableMap get

Introduction

In this page you can find the example usage for com.google.common.collect ImmutableMap get.

Prototype

V get(Object key);

Source Link

Document

Returns the value to which the specified key is mapped, or null if this map contains no mapping for the key.

Usage

From source file:com.cognifide.aet.runner.conversion.SuiteMergeStrategy.java

private static void mergeUrl(Url currentUrl, Url patternUrl) {
    updateComment(currentUrl, patternUrl);
    final ImmutableMap<String, Step> collectors = FluentIterable.from(currentUrl.getSteps())
            .filter(COMPARATORS_FILTER).uniqueIndex(STEP_TO_MAP);

    for (Step patternStep : patternUrl.getSteps()) {
        if (isCollector(patternStep) && collectors.containsKey(patternStep.getName())) {
            mergeStep(collectors.get(patternStep.getName()), patternStep);
        }/* ww w. j  a  va 2 s .  c  om*/
    }
}

From source file:org.gradle.internal.component.external.model.ivy.RealisedIvyModuleResolveMetadata.java

private static Map<String, ConfigurationMetadata> realiseConfigurations(
        DefaultIvyModuleResolveMetadata metadata, VariantMetadataRules variantMetadataRules) {
    Map<Artifact, ModuleComponentArtifactMetadata> artifacts = new IdentityHashMap<Artifact, ModuleComponentArtifactMetadata>();
    IvyConfigurationHelper configurationHelper = new IvyConfigurationHelper(metadata.getArtifactDefinitions(),
            artifacts, metadata.getExcludes(), metadata.getDependencies(), metadata.getId());

    Map<String, ConfigurationMetadata> configurations = Maps
            .newHashMapWithExpectedSize(metadata.getConfigurationNames().size());
    ImmutableMap<String, Configuration> configurationDefinitions = metadata.getConfigurationDefinitions();
    for (String configurationName : metadata.getConfigurationNames()) {
        Configuration configuration = configurationDefinitions.get(configurationName);
        ImmutableSet<String> hierarchy = LazyToRealisedModuleComponentResolveMetadataHelper
                .constructHierarchy(configuration, configurationDefinitions);

        NameOnlyVariantResolveMetadata variant = new NameOnlyVariantResolveMetadata(configurationName);
        ImmutableAttributes variantAttributes = variantMetadataRules.applyVariantAttributeRules(variant,
                metadata.getAttributes());

        CapabilitiesMetadata capabilitiesMetadata = variantMetadataRules.applyCapabilitiesRules(variant,
                ImmutableCapabilities.EMPTY);

        configurations.put(configurationName,
                createConfiguration(configurationHelper, variantMetadataRules, metadata.getId(),
                        configurationName, configuration.isTransitive(), configuration.isVisible(), hierarchy,
                        configurationHelper.filterArtifacts(configurationName, hierarchy),
                        configurationHelper.filterExcludes(hierarchy), variantAttributes,
                        ImmutableCapabilities.of(capabilitiesMetadata.getCapabilities())));
    }/*from   w  ww. j  ava2  s.c  o m*/
    return configurations;
}

From source file:edu.buaa.satla.analysis.util.ImmutableMapMerger.java

/**
 * Join two maps taking the key into account, use {@code func} on duplicate values.
 * @param a input map//  w  w  w. j ava2  s  . com
 * @param b input map
 * @param func function to merge two values from different maps.
 * @return map containing the union of keys in {@code a} and {@code b}, which
 * contains the value from {@code a} if it contains only in {@code a}, value
 * from {@code b} if it is contained only in {@code b} and {@code func}
 * applied on value from {@code a} and a value from {@code b} otherwise.
 */
public static <K, V> ImmutableMap<K, V> merge(ImmutableMap<K, V> a, ImmutableMap<K, V> b,
        MergeFunc<K, V> func) {
    Set<K> allKeys = new HashSet<>();

    allKeys.addAll(a.keySet());
    allKeys.addAll(b.keySet());

    ImmutableMap.Builder<K, V> builder = ImmutableMap.builder();

    for (K key : allKeys) {
        if (a.containsKey(key) && !b.containsKey(key)) {
            builder.put(key, a.get(key));
        } else if (!a.containsKey(key) && b.containsKey(key)) {
            builder.put(key, b.get(key));
        } else {
            builder.put(key, func.apply(key, a.get(key), b.get(key)));
        }
    }
    return builder.build();
}

From source file:com.spectralogic.ds3contractcomparator.print.simpleprinter.Ds3TypeDiffSimplePrinter.java

/**
 * Prints the changes between two {@link ImmutableList} of {@link Ds3Element}. If both lists are
 * empty, then nothing is printed.//w  ww  .  j av  a2s .  com
 */
private static void printEnumConstants(final ImmutableList<Ds3EnumConstant> oldEnums,
        final ImmutableList<Ds3EnumConstant> newEnums, final WriterHelper writer,
        final boolean printProperties) {
    if (isEmpty(oldEnums) && isEmpty(newEnums)) {
        //do not print empty values
        return;
    }
    writer.append(indent(INDENT)).append("EnumConstants:").append("\n");

    final ImmutableSet<String> enumNames = getEnumConstantNameUnion(oldEnums, newEnums);
    final ImmutableMap<String, Ds3EnumConstant> oldMap = toEnumConstantMap(oldEnums);
    final ImmutableMap<String, Ds3EnumConstant> newMap = toEnumConstantMap(newEnums);

    enumNames.forEach(
            name -> printEnumConstantDiff(oldMap.get(name), newMap.get(name), writer, printProperties));
}

From source file:com.facebook.presto.sql.planner.LambdaCaptureDesugaringRewriter.java

private static Expression replaceSymbols(Expression expression, ImmutableMap<Symbol, Symbol> symbolMapping) {
    return ExpressionTreeRewriter.rewriteWith(new ExpressionRewriter<Void>() {
        @Override/* w  w  w. j  a  va2s . com*/
        public Expression rewriteSymbolReference(SymbolReference node, Void context,
                ExpressionTreeRewriter<Void> treeRewriter) {
            Symbol mapTo = symbolMapping.get(new Symbol(node.getName()));
            if (mapTo == null) {
                return node;
            }
            return mapTo.toSymbolReference();
        }
    }, expression);
}

From source file:org.gradle.internal.component.external.model.maven.RealisedMavenModuleResolveMetadata.java

/**
 * Factory method to transform a {@link DefaultMavenModuleResolveMetadata}, which is lazy, in a realised version.
 *
 * @param metadata the lazy metadata to transform
 * @return the realised version of the metadata
 *//*from w w  w . j  a v a 2  s.  co  m*/
public static RealisedMavenModuleResolveMetadata transform(DefaultMavenModuleResolveMetadata metadata) {
    VariantMetadataRules variantMetadataRules = metadata.getVariantMetadataRules();
    ImmutableList<? extends ComponentVariant> variants = LazyToRealisedModuleComponentResolveMetadataHelper
            .realiseVariants(metadata, variantMetadataRules, metadata.getVariants());

    boolean computeDerivedVariants = metadata.getVariants().size() == 0;
    List<ConfigurationMetadata> derivedVariants = Lists.newArrayListWithCapacity(2);
    Map<String, ConfigurationMetadata> configurations = Maps
            .newHashMapWithExpectedSize(metadata.getConfigurationNames().size());
    for (String configurationName : metadata.getConfigurationNames()) {
        ImmutableMap<String, Configuration> configurationDefinitions = metadata.getConfigurationDefinitions();
        Configuration configuration = configurationDefinitions.get(configurationName);

        NameOnlyVariantResolveMetadata variant = new NameOnlyVariantResolveMetadata(configurationName);
        ImmutableAttributes variantAttributes = variantMetadataRules.applyVariantAttributeRules(variant,
                metadata.getAttributes());
        CapabilitiesMetadata capabilitiesMetadata = variantMetadataRules.applyCapabilitiesRules(variant,
                ImmutableCapabilities.EMPTY);

        RealisedConfigurationMetadata realisedConfiguration = createConfiguration(variantMetadataRules,
                metadata.getId(), configurationName, configuration.isTransitive(), configuration.isVisible(),
                LazyToRealisedModuleComponentResolveMetadataHelper.constructHierarchy(configuration,
                        configurationDefinitions),
                metadata.getDependencies(), metadata.isImprovedPomSupportEnabled(), variantAttributes,
                ImmutableCapabilities.of(capabilitiesMetadata.getCapabilities()));
        configurations.put(configurationName, realisedConfiguration);

        if (computeDerivedVariants) {
            if (configurationName.equals("compile")) {
                derivedVariants.add(withUsageAttribute(realisedConfiguration, Usage.JAVA_API,
                        metadata.getAttributesFactory(), variantAttributes, metadata.getObjectInstantiator()));
            } else if (configurationName.equals("runtime")) {
                derivedVariants.add(withUsageAttribute(realisedConfiguration, Usage.JAVA_RUNTIME,
                        metadata.getAttributesFactory(), variantAttributes, metadata.getObjectInstantiator()));
            }
        }
    }
    return new RealisedMavenModuleResolveMetadata(metadata, variants, derivedVariants, configurations);
}

From source file:org.apache.hadoop.yarn.nodelabels.NodeLabelTestBase.java

public static void assertLabelsToNodesEquals(Map<String, Set<NodeId>> expected,
        ImmutableMap<String, Set<NodeId>> actual) {
    Assert.assertEquals(expected.size(), actual.size());
    for (String k : expected.keySet()) {
        Assert.assertTrue(actual.containsKey(k));
        Set<NodeId> expectedS1 = new HashSet<>(expected.get(k));
        Set<NodeId> actualS2 = new HashSet<>(actual.get(k));
        Assert.assertEquals(expectedS1, actualS2);
        Assert.assertTrue(expectedS1.containsAll(actualS2));
    }/*from   w w  w .  j  a  v a  2s .  c o  m*/
}

From source file:dagger.internal.codegen.SubcomponentNames.java

private static ImmutableBiMap<ComponentDescriptor, String> disambiguateConflictingSimpleNames(
        Collection<ComponentDescriptor> components, ImmutableMap<ComponentDescriptor, Namer> componentNamers) {
    Map<String, ComponentDescriptor> generatedSimpleNames = new LinkedHashMap<>();

    // Let's see if we can get away with using simpleName() everywhere.
    for (ComponentDescriptor component : components) {
        Namer namer = componentNamers.get(component);
        if (generatedSimpleNames.containsKey(namer.simpleName())) {
            break;
        }/*from w ww .ja va2 s  .c  om*/
        generatedSimpleNames.put(namer.simpleName(), component);
    }

    if (generatedSimpleNames.size() != components.size()) {
        // Simple approach didn't work out, let's use more complicated names.
        // We keep them small to fix https://github.com/google/dagger/issues/421.
        generatedSimpleNames.clear();
        UniqueNameSet nameSet = new UniqueNameSet();
        for (ComponentDescriptor component : components) {
            Namer namer = componentNamers.get(component);
            String simpleName = namer.simpleName();
            String basePrefix = namer.uniquingPrefix();
            generatedSimpleNames.put(format("%s_%s", nameSet.getUniqueName(basePrefix), simpleName), component);
        }
    }
    return ImmutableBiMap.copyOf(generatedSimpleNames).inverse();
}

From source file:org.apache.hadoop.yarn.nodelabels.NodeLabelTestBase.java

public static void assertLabelsInfoToNodesEquals(Map<NodeLabel, Set<NodeId>> expected,
        ImmutableMap<NodeLabel, Set<NodeId>> actual) {
    Assert.assertEquals(expected.size(), actual.size());
    for (NodeLabel k : expected.keySet()) {
        Assert.assertTrue(actual.containsKey(k));
        Set<NodeId> expectedS1 = new HashSet<>(expected.get(k));
        Set<NodeId> actualS2 = new HashSet<>(actual.get(k));
        Assert.assertEquals(expectedS1, actualS2);
        Assert.assertTrue(expectedS1.containsAll(actualS2));
    }/*from   w w w .ja  v a2s .  com*/
}

From source file:com.telefonica.iot.cygnus.management.GUIHandlers.java

/**
 * Handles GET /points.//  w ww . j  a v  a  2s  .  c om
 * @param response
 * @param channels
 * @throws IOException
 */
public static void getPoints(HttpServletResponse response, ImmutableMap<String, Channel> channels)
        throws IOException {
    // add a new source row
    String sourceColumns = "";

    // add a new channel row
    String channelColumns = "\"count\"";
    String point = "[" + numPoints;

    for (String key : channels.keySet()) {
        Channel channel = channels.get(key);
        channelColumns += ",\"" + channel.getName() + "\"";

        if (channel instanceof CygnusChannel) {
            CygnusChannel cygnusChannel = (CygnusChannel) channel;
            point += "," + cygnusChannel.getNumEvents();
        } // if12
    } // for

    point += "]";

    if (channelRows.length() == 0) {
        channelRows += point;
    } else {
        channelRows += "," + point;
    } // if else

    // add a new sink row
    String sinkColumns = "";

    // increase the points counter
    numPoints++;

    // return the points
    response.setContentType("application/json; charset=utf-8");
    response.setStatus(HttpServletResponse.SC_OK);
    response.getWriter()
            .println("{\"source_points\":{\"columns\":[" + sourceColumns + "],\"rows\":[" + SOURCE_ROWS + "]},"
                    + "\"channel_points\":{\"columns\":[" + channelColumns + "],\"rows\":[" + channelRows
                    + "]}," + "\"sink_points\":{\"columns\":[" + sinkColumns + "],\"rows\":[" + SINK_ROWS
                    + "]}}");
}