/** * Formats {@code fmt} with the field numbers, concatenated, if a descriptor is available to * resolve them to field names. Otherwise it uses the raw integers. * * @param fmt Format string that must contain exactly one '%s' and no other format parameters. */ private static String resolveFieldNumbers( Optional<Descriptor> optDescriptor, String fmt, Iterable<Integer> fieldNumbers) { if (optDescriptor.isPresent()) { Descriptor descriptor = optDescriptor.get(); List<String> strings = Lists.newArrayList(); for (int fieldNumber : fieldNumbers) { FieldDescriptor field = descriptor.findFieldByNumber(fieldNumber); strings.add(field != null ? field.toString() : String.format("%d (?)", fieldNumber)); } return String.format(fmt, join(strings)); } else { return String.format(fmt, join(fieldNumbers)); } }
private static Map<Object, Object> toProtoMap(@NullableDecl Object container) { if (container == null) { return Collections.emptyMap(); } List<?> entryMessages = (List<?>) container; Map<Object, Object> retVal = Maps.newHashMap(); for (Object entry : entryMessages) { Message message = (Message) entry; Object key = message.getAllFields().get(message.getDescriptorForType().findFieldByNumber(1)); Object value = message.getAllFields().get(message.getDescriptorForType().findFieldByNumber(2)); retVal.put(key, value); } return retVal; }
@Override public void validate( Descriptor rootDescriptor, FieldDescriptorValidator fieldDescriptorValidator) { super.validate(rootDescriptor, fieldDescriptorValidator); for (int fieldNumber : fieldNumbers) { FieldDescriptor fieldDescriptor = rootDescriptor.findFieldByNumber(fieldNumber); checkArgument( fieldDescriptor != null, "Message type %s has no field with number %s.", rootDescriptor.getFullName(), fieldNumber); fieldDescriptorValidator.validate(fieldDescriptor); } }
@Override void validate(Descriptor descriptor) { super.validate(descriptor); for (int fieldNumber : fieldNumbers) { checkArgument( descriptor.findFieldByNumber(fieldNumber) != null, "Message type %s has no field with number %s.", descriptor.getFullName(), fieldNumber); } }
protected List<Object> fetchResultValues(RecordQueryPlan plan, final int fieldNumber, Opener opener, TestHelpers.DangerousConsumer<FDBRecordContext> checkDiscarded) throws Exception { return fetchResultValues(plan, opener, rec -> rec.getField(rec.getDescriptorForType().findFieldByNumber(fieldNumber)), checkDiscarded); }
protected static DynamicMessage buildRecord3Dynamic(@Nonnull String name, @Nullable Integer intValue, @Nullable String stringValue) { final Descriptors.Descriptor descriptor = TestRecordsNulls3Proto.MyNullRecord.getDescriptor(); DynamicMessage.Builder builder = DynamicMessage.newBuilder(descriptor); builder.setField(descriptor.findFieldByNumber(TestRecordsNulls3Proto.MyNullRecord.NAME_FIELD_NUMBER), name); if (intValue != null) { builder.setField(descriptor.findFieldByNumber(TestRecordsNulls3Proto.MyNullRecord.INT_VALUE_FIELD_NUMBER), intValue); } if (stringValue != null) { builder.setField(descriptor.findFieldByNumber(TestRecordsNulls3Proto.MyNullRecord.STRING_VALUE_FIELD_NUMBER), stringValue); } return builder.build(); }
protected static DynamicMessage buildRecord2Dynamic(@Nonnull String name, @Nullable Integer intValue, @Nullable String stringValue) { final Descriptors.Descriptor descriptor = TestRecordsNulls2Proto.MyNullRecord.getDescriptor(); DynamicMessage.Builder builder = DynamicMessage.newBuilder(descriptor); builder.setField(descriptor.findFieldByNumber(TestRecordsNulls3Proto.MyNullRecord.NAME_FIELD_NUMBER), name); if (intValue != null) { builder.setField(descriptor.findFieldByNumber(TestRecordsNulls3Proto.MyNullRecord.INT_VALUE_FIELD_NUMBER), intValue); } if (stringValue != null) { builder.setField(descriptor.findFieldByNumber(TestRecordsNulls3Proto.MyNullRecord.STRING_VALUE_FIELD_NUMBER), stringValue); } return builder.build(); }
field = type.findFieldByNumber(Integer.parseInt(name)); unknown = true;
field = type.findFieldByNumber(fieldNumber); } else { field = null;
field = type.findFieldByNumber(fieldNumber); } else { field = null;
if (fieldDescriptor.isMapField()) { return TypeSignature.ofMap( newFieldTypeInfo(fieldDescriptor.getMessageType().findFieldByNumber(1)), newFieldTypeInfo(fieldDescriptor.getMessageType().findFieldByNumber(2)));
FieldDescriptor mapFieldDescriptor, FluentEqualityConfig mapConfig) { FieldDescriptor keyFieldDescriptor = mapFieldDescriptor.getMessageType().findFieldByNumber(1); FieldDescriptor valueFieldDescriptor = mapFieldDescriptor.getMessageType().findFieldByNumber(2); FieldDescriptorOrUnknown valueFieldDescriptorOrUnknown = FieldDescriptorOrUnknown.fromFieldDescriptor(valueFieldDescriptor);
map = newMapForField(context, fieldDescriptor); int mapSize = this.builder.getRepeatedFieldCount(fieldDescriptor); Descriptors.FieldDescriptor keyField = fieldDescriptor.getMessageType().findFieldByNumber(1); Descriptors.FieldDescriptor valueField = fieldDescriptor.getMessageType().findFieldByNumber(2); RubyDescriptor kvDescriptor = (RubyDescriptor) getDescriptorForField(context, fieldDescriptor); RubyClass kvClass = (RubyClass) kvDescriptor.msgclass(context);
public FieldDescriptor get(GeneratedMessage.Builder builder) { int fieldNumber = ((Internal.EnumLite) invokeOrDie(caseMethodBuilder, builder)).getNumber(); if (fieldNumber > 0) { return descriptor.findFieldByNumber(fieldNumber); } return null; }
@Test public void newListInfo() throws Exception { final TypeSignature list = GrpcDocServicePlugin.newFieldTypeInfo( ReconnectInfo.getDescriptor().findFieldByNumber(ReconnectInfo.BACKOFF_MS_FIELD_NUMBER)); assertThat(list).isEqualTo(TypeSignature.ofContainer("repeated", GrpcDocServicePlugin.INT32)); }
public FieldDescriptor get(final GeneratedMessageV3 message) { int fieldNumber = ((Internal.EnumLite) invokeOrDie(caseMethod, message)).getNumber(); if (fieldNumber > 0) { return descriptor.findFieldByNumber(fieldNumber); } return null; }
public FieldDescriptor get(GeneratedMessageV3.Builder builder) { int fieldNumber = ((Internal.EnumLite) invokeOrDie(caseMethodBuilder, builder)).getNumber(); if (fieldNumber > 0) { return descriptor.findFieldByNumber(fieldNumber); } return null; }
@Test public void newMapInfo() throws Exception { final TypeSignature map = GrpcDocServicePlugin.newFieldTypeInfo( StreamingOutputCallRequest.getDescriptor().findFieldByNumber( StreamingOutputCallRequest.OPTIONS_FIELD_NUMBER)); assertThat(map).isEqualTo(TypeSignature.ofMap(GrpcDocServicePlugin.STRING, GrpcDocServicePlugin.INT32)); }
public FieldDescriptor get(final GeneratedMessage message) { int fieldNumber = ((Internal.EnumLite) invokeOrDie(caseMethod, message)).getNumber(); if (fieldNumber > 0) { return descriptor.findFieldByNumber(fieldNumber); } return null; }
private RubyMap newMapForField(ThreadContext context, Descriptors.FieldDescriptor fieldDescriptor) { RubyDescriptor mapDescriptor = (RubyDescriptor) getDescriptorForField(context, fieldDescriptor); Descriptors.FieldDescriptor keyField = fieldDescriptor.getMessageType().findFieldByNumber(1); Descriptors.FieldDescriptor valueField = fieldDescriptor.getMessageType().findFieldByNumber(2); IRubyObject keyType = RubySymbol.newSymbol(context.runtime, keyField.getType().name()); IRubyObject valueType = RubySymbol.newSymbol(context.runtime, valueField.getType().name()); if (valueField.getType() == Descriptors.FieldDescriptor.Type.MESSAGE) { RubyFieldDescriptor rubyFieldDescriptor = (RubyFieldDescriptor) mapDescriptor.lookup(context, context.runtime.newString("value")); RubyDescriptor rubyDescriptor = (RubyDescriptor) rubyFieldDescriptor.getSubType(context); return (RubyMap) cMap.newInstance(context, keyType, valueType, rubyDescriptor.msgclass(context), Block.NULL_BLOCK); } else { return (RubyMap) cMap.newInstance(context, keyType, valueType, Block.NULL_BLOCK); } }