Java Code Examples for com.google.common.collect.ImmutableMap#Builder

The following examples show how to use com.google.common.collect.ImmutableMap#Builder . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: AbstractOrcDataSource.java    From spliceengine with GNU Affero General Public License v3.0 6 votes vote down vote up
private <K> Map<K, FixedLengthSliceInput> readSmallDiskRanges(Map<K, DiskRange> diskRanges)
        throws IOException
{
    if (diskRanges.isEmpty()) {
        return ImmutableMap.of();
    }

    Iterable<DiskRange> mergedRanges = mergeAdjacentDiskRanges(diskRanges.values(), maxMergeDistance, maxBufferSize);

    // read ranges
    Map<DiskRange, byte[]> buffers = new LinkedHashMap<>();
    for (DiskRange mergedRange : mergedRanges) {
        // read full range in one request
        byte[] buffer = new byte[mergedRange.getLength()];
        readFully(mergedRange.getOffset(), buffer);
        buffers.put(mergedRange, buffer);
    }

    ImmutableMap.Builder<K, FixedLengthSliceInput> slices = ImmutableMap.builder();
    for (Entry<K, DiskRange> entry : diskRanges.entrySet()) {
        slices.put(entry.getKey(), getDiskRangeSlice(entry.getValue(), buffers).getInput());
    }
    return slices.build();
}
 
Example 2
Source File: StoreLoader.java    From dremio-oss with Apache License 2.0 6 votes vote down vote up
/**
 * Builds a map of all store impls using the provided factory.
 * @param impls a set of implementations of the storeCreationFunction.
 * @param factory StoreBuildingFactory for building KVStore implementations.
 * @return a map of all kv store impls with the provided factory.
 */
@SuppressWarnings({ "rawtypes", "unchecked" })
public static ImmutableMap<Class<? extends StoreCreationFunction<?, ?, ?>>, KVStore<?, ?>> buildStores(
  Set<Class<? extends StoreCreationFunction>> impls, StoreBuildingFactory factory) {
  ImmutableMap.Builder builder = ImmutableMap.<Class<? extends StoreCreationFunction<?, ?, ?>>, KVStore<?, ?>>builder();

  for(Class<? extends StoreCreationFunction> functionClass : impls) {
    try {
      final KVStore<?, ?> store = functionClass.newInstance().build(factory);
      builder.put(functionClass, store);
    } catch (Exception e) {
      logger.warn("Unable to load StoreCreationFunction {}", functionClass.getSimpleName(), e);
    }
  }

  final ImmutableMap<Class<? extends StoreCreationFunction<?, ?, ?>>, KVStore<?, ?>> map = builder.build();
  logger.debug("Loaded the following StoreCreationFunctions: {}.", map.keySet());
  return map;
}
 
Example 3
Source File: BreakdownFunctions.java    From tac-kbp-eal with MIT License 6 votes vote down vote up
/**
 * @return A mapping from each breakdown type to inner maps. These inner maps map from the
 * categories for that breakdown type to confusion matrices for only that category.
 */
public static <SignatureType, ProvenanceType>
ImmutableMap<String, BrokenDownProvenancedConfusionMatrix<SignatureType, ProvenanceType>>
computeBreakdowns(
    ProvenancedConfusionMatrix<ProvenanceType> corpusConfusionMatrix,
    Map<String, Function<? super ProvenanceType, SignatureType>> breakdowns,
    Ordering<SignatureType> resultKeyOrdering) {
  final ImmutableMap.Builder<String, BrokenDownProvenancedConfusionMatrix<SignatureType, ProvenanceType>>
      printModes =
      ImmutableMap.builder();

  for (final Map.Entry<String, Function<? super ProvenanceType, SignatureType>> breakdownEntry : breakdowns
      .entrySet()) {
    printModes.put(breakdownEntry.getKey(),
        corpusConfusionMatrix.breakdown(breakdownEntry.getValue(),
            resultKeyOrdering));
  }
  return printModes.build();
}
 
Example 4
Source File: ExecutionModeFilterScript.java    From genie with Apache License 2.0 6 votes vote down vote up
/**
 * Evaluate the script and return true if this job should be forced to execute via agent, false if it should be
 * forced to execute in embedded mode, null if the script decides not explicitly flag this job for one or the other
 * execution mode.
 *
 * @param jobRequest the job request
 * @return An optional boolean value
 * @throws ScriptNotConfiguredException if the script is not yet successfully loaded and compiled
 * @throws ScriptExecutionException     if the script evaluation produces an error
 */
public Optional<Boolean> forceAgentExecution(
    final JobRequest jobRequest
) throws ScriptNotConfiguredException, ScriptExecutionException {
    final ImmutableMap.Builder<String, Object> builder = ImmutableMap.builder();
    try {
        builder.put(JOB_REQUEST_BINDING, this.objectMapper.writeValueAsString(jobRequest));
    } catch (final JsonProcessingException e) {
        throw new ScriptExecutionException("Failed to convert parameter: " + JOB_REQUEST_BINDING, e);
    }
    final Map<String, Object> scriptParameters = builder.build();

    final Object scriptOutput = this.evaluateScript(scriptParameters);
    log.debug("Execution mode selector returned: {} for job request: {}", scriptOutput, jobRequest);

    if (scriptOutput == null) {
        return Optional.empty();
    } else if (scriptOutput instanceof Boolean) {
        return Optional.of((Boolean) scriptOutput);
    }
    throw new ScriptExecutionException("Script returned unexpected value: " + scriptOutput);
}
 
Example 5
Source File: IcannReportingUploadAction.java    From nomulus with Apache License 2.0 6 votes vote down vote up
/**
 * Return a map with the Cursor and scope for each key in the keyMap. If the key from the keyMap
 * does not have an existing cursor, create a new cursor with a default cursorTime of the first of
 * next month.
 */
private ImmutableMap<Cursor, String> defaultNullCursorsToNextMonthAndAddToMap(
    Map<Key<Cursor>, Registry> keyMap, CursorType type, Map<Key<Cursor>, Cursor> cursorMap) {
  ImmutableMap.Builder<Cursor, String> cursors = new ImmutableMap.Builder<>();
  keyMap.forEach(
      (key, registry) -> {
        // Cursor time is defaulted to the first of next month since a new tld will not yet have a
        // report staged for upload.
        Cursor cursor =
            cursorMap.getOrDefault(
                key,
                Cursor.create(
                    type,
                    clock.nowUtc().withDayOfMonth(1).withTimeAtStartOfDay().plusMonths(1),
                    registry));
        if (!cursorMap.containsValue(cursor)) {
          tm().transact(() -> ofy().save().entity(cursor));
        }
        cursors.put(cursor, registry.getTldStr());
      });
  loadAndCompareAll(cursors.build(), type);
  return cursors.build();
}
 
Example 6
Source File: ProviderInfoRepository.java    From octo-rpc with Apache License 2.0 6 votes vote down vote up
public static ImmutableMap<String, Method> getServiceMethods(String serviceName) {
    ImmutableMap<String, Method> methodMap = serviceMethodsMap.get(serviceName);
    if (methodMap == null) {
        synchronized (ProviderInfoRepository.class) {
            methodMap = serviceMethodsMap.get(serviceName);
            if (methodMap == null) {
                Class interfaceClazz = serviceIfaceMap.get(serviceName);
                ImmutableMap.Builder<String, Method> methodMapBuilder = ImmutableMap.builder();
                for (Method method : interfaceClazz.getMethods()) {
                    methodMapBuilder.put(MethodUtil.generateMethodSignatureNoIfacePrefix(method), method);
                }
                methodMap = methodMapBuilder.build();
                serviceMethodsMap.putIfAbsent(serviceName, methodMap);
            }
        }
    }
    return methodMap;
}
 
Example 7
Source File: SnapshotsInProgress.java    From Elasticsearch with Apache License 2.0 6 votes vote down vote up
@Override
public SnapshotsInProgress readFrom(StreamInput in) throws IOException {
    Entry[] entries = new Entry[in.readVInt()];
    for (int i = 0; i < entries.length; i++) {
        SnapshotId snapshotId = SnapshotId.readSnapshotId(in);
        boolean includeGlobalState = in.readBoolean();
        State state = State.fromValue(in.readByte());
        int indices = in.readVInt();
        List<String> indexBuilder = new ArrayList<>();
        for (int j = 0; j < indices; j++) {
            indexBuilder.add(in.readString());
        }
        long startTime = in.readLong();
        ImmutableMap.Builder<ShardId, ShardSnapshotStatus> builder = ImmutableMap.builder();
        int shards = in.readVInt();
        for (int j = 0; j < shards; j++) {
            ShardId shardId = ShardId.readShardId(in);
            String nodeId = in.readOptionalString();
            State shardState = State.fromValue(in.readByte());
            builder.put(shardId, new ShardSnapshotStatus(nodeId, shardState));
        }
        entries[i] = new Entry(snapshotId, includeGlobalState, state, Collections.unmodifiableList(indexBuilder), startTime, builder.build());
    }
    return new SnapshotsInProgress(entries);
}
 
Example 8
Source File: DefaultClassInfo.java    From buck with Apache License 2.0 6 votes vote down vote up
private ImmutableMap<Field, Boolean> parameterFieldsFromFields(Class<?> clazz) {
  Field[] fields = clazz.getDeclaredFields();
  ImmutableMap.Builder<Field, Boolean> fieldsBuilder =
      ImmutableMap.builderWithExpectedSize(fields.length);
  Field ignoredField = null;
  for (Field field : fields) {
    field.setAccessible(true);
    // static fields can be ignored and volatile fields are used for handling lazy field states.
    if (Modifier.isStatic(field.getModifiers()) || Modifier.isVolatile(field.getModifiers())) {
      ignoredField = field;
      continue;
    }
    boolean isLazy = ignoredField != null && ignoredField.getName().endsWith("LAZY_INIT_BIT");
    fieldsBuilder.put(field, isLazy);
  }
  return fieldsBuilder.build();
}
 
Example 9
Source File: CampaignName.java    From google-ads-java with Apache License 2.0 5 votes vote down vote up
public Map<String, String> getFieldValuesMap() {
  if (fieldValuesMap == null) {
    synchronized (this) {
      if (fieldValuesMap == null) {
        ImmutableMap.Builder<String, String> fieldMapBuilder = ImmutableMap.builder();
        fieldMapBuilder.put("customer", customer);
        fieldMapBuilder.put("campaign", campaign);
        fieldValuesMap = fieldMapBuilder.build();
      }
    }
  }
  return fieldValuesMap;
}
 
Example 10
Source File: DistanceViewName.java    From google-ads-java with Apache License 2.0 5 votes vote down vote up
public Map<String, String> getFieldValuesMap() {
  if (fieldValuesMap == null) {
    synchronized (this) {
      if (fieldValuesMap == null) {
        ImmutableMap.Builder<String, String> fieldMapBuilder = ImmutableMap.builder();
        fieldMapBuilder.put("customer", customer);
        fieldMapBuilder.put("distanceView", distanceView);
        fieldValuesMap = fieldMapBuilder.build();
      }
    }
  }
  return fieldValuesMap;
}
 
Example 11
Source File: TypeUtil.java    From j2objc with Apache License 2.0 5 votes vote down vote up
public TypeUtil(ParserEnvironment env, ElementUtil elementUtil) {
  this.javacElements = env.elementUtilities();
  this.javacTypes = env.typeUtilities();
  this.elementUtil = elementUtil;

  javaObject = javacElements.getTypeElement("java.lang.Object");
  javaString = javacElements.getTypeElement("java.lang.String");
  javaClass = javacElements.getTypeElement("java.lang.Class");
  javaNumber = javacElements.getTypeElement("java.lang.Number");
  javaThrowable = javacElements.getTypeElement("java.lang.Throwable");
  TypeElement javaCloneable = javacElements.getTypeElement("java.lang.Cloneable");

  ImmutableMap.Builder<TypeElement, TypeElement> typeMapBuilder =
      ImmutableMap.<TypeElement, TypeElement>builder()
      .put(javaObject, NS_OBJECT)
      .put(javaString, NS_STRING)
      .put(javaClass, IOS_CLASS)
      .put(javaNumber, NS_NUMBER)
      .put(javaCloneable, NS_COPYING);

  TypeElement typeNSException = javacElements.getTypeElement("com.google.j2objc.NSException");
  TypeElement typeNSFastEnumeration =
      javacElements.getTypeElement("com.google.j2objc.NSFastEnumeration");

  // Types could be null if the user is not using jre_emul.jar as the boot path.
  if (typeNSException != null) {
    typeMapBuilder.put(typeNSException, NS_EXCEPTION);
  }
  if (typeNSFastEnumeration != null) {
    typeMapBuilder.put(typeNSFastEnumeration, NS_FASTENUMERATION);
  }

  javaToObjcTypeMap = typeMapBuilder.build();
}
 
Example 12
Source File: ImportTestUtils.java    From ArchUnit with Apache License 2.0 5 votes vote down vote up
private static Map<String, Object> mapOf(Annotation annotation, Class<?> annotatedClass, ClassesByTypeName importedClasses) {
    ImmutableMap.Builder<String, Object> result = ImmutableMap.builder();
    for (Method method : annotation.annotationType().getDeclaredMethods()) {
        result.put(method.getName(), get(annotation, annotatedClass, method.getName(), importedClasses));
    }
    return result.build();
}
 
Example 13
Source File: StarlarkRuleImplementationFunctionsTest.java    From bazel with Apache License 2.0 5 votes vote down vote up
private void defineTestMethods() throws Exception {
  ImmutableMap.Builder<String, Object> env = ImmutableMap.builder();
  Starlark.addMethods(env, this);
  for (Map.Entry<String, Object> entry : env.build().entrySet()) {
    ev.update(entry.getKey(), entry.getValue());
  }
}
 
Example 14
Source File: Bug381381TestLanguageParser.java    From xtext-eclipse with Eclipse Public License 2.0 5 votes vote down vote up
private static void init(ImmutableMap.Builder<AbstractElement, String> builder, Bug381381TestLanguageGrammarAccess grammarAccess) {
	builder.put(grammarAccess.getCopyFieldNameToVariableStmtAccess().getGroup(), "rule__CopyFieldNameToVariableStmt__Group__0");
	builder.put(grammarAccess.getCopyFieldNameToVariableStmtAccess().getGroup_1_0(), "rule__CopyFieldNameToVariableStmt__Group_1_0__0");
	builder.put(grammarAccess.getCopyFieldNameToVariableStmtAccess().getGroup_1_1(), "rule__CopyFieldNameToVariableStmt__Group_1_1__0");
	builder.put(grammarAccess.getCopyFieldNameToVariableStmtAccess().getGroup_1_2(), "rule__CopyFieldNameToVariableStmt__Group_1_2__0");
	builder.put(grammarAccess.getModelAccess().getStmtAssignment(), "rule__Model__StmtAssignment");
	builder.put(grammarAccess.getCopyFieldNameToVariableStmtAccess().getLineAssignment_1_0_4(), "rule__CopyFieldNameToVariableStmt__LineAssignment_1_0_4");
	builder.put(grammarAccess.getCopyFieldNameToVariableStmtAccess().getColumnAssignment_1_0_6(), "rule__CopyFieldNameToVariableStmt__ColumnAssignment_1_0_6");
	builder.put(grammarAccess.getCopyFieldNameToVariableStmtAccess().getNameAssignment_1_1_3(), "rule__CopyFieldNameToVariableStmt__NameAssignment_1_1_3");
	builder.put(grammarAccess.getCopyFieldNameToVariableStmtAccess().getUnorderedGroup_1(), "rule__CopyFieldNameToVariableStmt__UnorderedGroup_1");
}
 
Example 15
Source File: DataAdditionCmdHandler.java    From dremio-oss with Apache License 2.0 5 votes vote down vote up
/**
 * Helper method to create map of key, value pairs, the value is a Java type object.
 * @param args
 * @return
 */
@VisibleForTesting
public void createStorageOptionsMap(final SqlNodeList args) {
  if (args == null || args.size() == 0) {
    return;
  }

  final ImmutableMap.Builder<String, Object> storageOptions = ImmutableMap.builder();
  for (SqlNode operand : args) {
    if (operand.getKind() != SqlKind.ARGUMENT_ASSIGNMENT) {
      throw UserException.unsupportedError()
        .message("Unsupported argument type. Only assignment arguments (param => value) are supported.")
        .build(logger);
    }
    final List<SqlNode> operandList = ((SqlCall) operand).getOperandList();

    final String name = ((SqlIdentifier) operandList.get(1)).getSimple();
    SqlNode literal = operandList.get(0);
    if (!(literal instanceof SqlLiteral)) {
      throw UserException.unsupportedError()
        .message("Only literals are accepted for storage option values")
        .build(logger);
    }

    Object value = ((SqlLiteral)literal).getValue();
    if (value instanceof NlsString) {
      value = ((NlsString)value).getValue();
    }
    storageOptions.put(name, value);
  }

  this.storageOptionsMap = storageOptions.build();
}
 
Example 16
Source File: BuildToken.java    From intellij with Apache License 2.0 5 votes vote down vote up
private static ImmutableMap<TokenKind, BuildToken> createMap() {
  ImmutableMap.Builder<TokenKind, BuildToken> builder = ImmutableMap.builder();
  for (TokenKind kind : TokenKind.values()) {
    builder.put(kind, new BuildToken(kind));
  }
  return builder.build();
}
 
Example 17
Source File: PartialContentAssistTestLanguageParser.java    From xtext-core with Eclipse Public License 2.0 4 votes vote down vote up
@Inject
public NameMappings(PartialContentAssistTestLanguageGrammarAccess grammarAccess) {
	ImmutableMap.Builder<AbstractElement, String> builder = ImmutableMap.builder();
	init(builder, grammarAccess);
	this.mappings = builder.build();
}
 
Example 18
Source File: LogicalPlanner.java    From presto with Apache License 2.0 4 votes vote down vote up
private RelationPlan createAnalyzePlan(Analysis analysis, Analyze analyzeStatement)
{
    TableHandle targetTable = analysis.getAnalyzeTarget().get();

    // Plan table scan
    Map<String, ColumnHandle> columnHandles = metadata.getColumnHandles(session, targetTable);
    ImmutableList.Builder<Symbol> tableScanOutputs = ImmutableList.builder();
    ImmutableMap.Builder<Symbol, ColumnHandle> symbolToColumnHandle = ImmutableMap.builder();
    ImmutableMap.Builder<String, Symbol> columnNameToSymbol = ImmutableMap.builder();
    TableMetadata tableMetadata = metadata.getTableMetadata(session, targetTable);
    for (ColumnMetadata column : tableMetadata.getColumns()) {
        Symbol symbol = symbolAllocator.newSymbol(column.getName(), column.getType());
        tableScanOutputs.add(symbol);
        symbolToColumnHandle.put(symbol, columnHandles.get(column.getName()));
        columnNameToSymbol.put(column.getName(), symbol);
    }

    TableStatisticsMetadata tableStatisticsMetadata = metadata.getStatisticsCollectionMetadata(
            session,
            targetTable.getCatalogName().getCatalogName(),
            tableMetadata.getMetadata());

    TableStatisticAggregation tableStatisticAggregation = statisticsAggregationPlanner.createStatisticsAggregation(tableStatisticsMetadata, columnNameToSymbol.build());
    StatisticAggregations statisticAggregations = tableStatisticAggregation.getAggregations();
    List<Symbol> groupingSymbols = statisticAggregations.getGroupingSymbols();

    PlanNode planNode = new StatisticsWriterNode(
            idAllocator.getNextId(),
            new AggregationNode(
                    idAllocator.getNextId(),
                    TableScanNode.newInstance(idAllocator.getNextId(), targetTable, tableScanOutputs.build(), symbolToColumnHandle.build()),
                    statisticAggregations.getAggregations(),
                    singleGroupingSet(groupingSymbols),
                    ImmutableList.of(),
                    AggregationNode.Step.SINGLE,
                    Optional.empty(),
                    Optional.empty()),
            new StatisticsWriterNode.WriteStatisticsReference(targetTable),
            symbolAllocator.newSymbol("rows", BIGINT),
            tableStatisticsMetadata.getTableStatistics().contains(ROW_COUNT),
            tableStatisticAggregation.getDescriptor());
    return new RelationPlan(planNode, analysis.getScope(analyzeStatement), planNode.getOutputSymbols());
}
 
Example 19
Source File: Bug348199TestLanguageParser.java    From xtext-eclipse with Eclipse Public License 2.0 4 votes vote down vote up
@Inject
public NameMappings(Bug348199TestLanguageGrammarAccess grammarAccess) {
	ImmutableMap.Builder<AbstractElement, String> builder = ImmutableMap.builder();
	init(builder, grammarAccess);
	this.mappings = builder.build();
}
 
Example 20
Source File: PlanPrinter.java    From Elasticsearch with Apache License 2.0 4 votes vote down vote up
private ImmutableMap.Builder<String, Object> dqlPlanNode(AbstractProjectionsPhase phase, ImmutableMap.Builder<String, Object> b) {
    if (phase.hasProjections()) {
        b.put("projections", projections(phase.projections()));
    }
    return b;
}