@Override public String apply(Field field) { return field.getSimpleName(); } }));
@Override public String getSimpleName() { return protoField.getSimpleName(); }
@Override public String apply(Field field) { return field.getSimpleName(); } }));
/** * Returns the JSON name of the field. */ public String getJsonName() { return CaseFormat.LOWER_UNDERSCORE.to(CaseFormat.LOWER_CAMEL, getSimpleName()); }
/** * Returns the JSON name of the field. */ public String getJsonName() { return CaseFormat.LOWER_UNDERSCORE.to(CaseFormat.LOWER_CAMEL, getSimpleName()); }
@Override public String apply(Field field) { return CaseFormat.LOWER_UNDERSCORE.to(CaseFormat.LOWER_CAMEL, field.getSimpleName()); } }));
@Override public String apply(Field field) { return CaseFormat.LOWER_UNDERSCORE.to(CaseFormat.LOWER_CAMEL, field.getSimpleName()); } }));
static ResourceNameMessageConfig createResourceNameMessageConfig( MessageType message, Map<Resource, ProtoFile> allResources, Map<ResourceSet, ProtoFile> allResourceSets, ProtoParser protoParser) { ImmutableMap.Builder<String, String> builder = ImmutableMap.builder(); for (Field field : message.getFields()) { String baseName = protoParser.getResourceOrSetEntityName(field); if (!Strings.isNullOrEmpty(baseName)) { builder.put(field.getSimpleName(), baseName); continue; } String resourceType = protoParser.getResourceReferenceName(field, allResources, allResourceSets); if (!Strings.isNullOrEmpty(resourceType)) { builder.put(field.getSimpleName(), resourceType); } } ImmutableMap<String, String> fieldEntityMap = builder.build(); if (fieldEntityMap.isEmpty()) { // Return a null config when no fields were resource types; this is so empty proto annotations // don't override the GAPIC config resource name configs. return null; } return new AutoValue_ResourceNameMessageConfig(message.getFullName(), fieldEntityMap); }
@Test public void testGetEmptyResource() { MessageType book = libraryProtoFile .getMessages() .stream() .filter(m -> m.getSimpleName().equals("Book")) .findFirst() .get(); Field authorBookField = book.getFields().stream().filter(f -> f.getSimpleName().equals("author")).findFirst().get(); assertThat(protoParser.getResource(authorBookField)).isNull(); }
@Test public void testGetResourcePath() { Field shelfNameField = shelf.getFields().stream().filter(f -> f.getSimpleName().equals("name")).findFirst().get(); assertThat(protoParser.getResource(shelfNameField).getPath()).isEqualTo("shelves/{shelf_id}"); }
@VisitsBefore void visit(MessageType message) { // Add the message to the set of known types. addType(message.getLocation(), message.getFullName(), TypeRef.of(message)); // Add the message's package to the set of known packages addPackage(message.getFile().getFullName()); // Build the field-by-name map for this message, and record field simple names. Map<String, Field> fieldByName = Maps.newLinkedHashMap(); for (Field field : message.getFields()) { fieldNames.add(field.getSimpleName()); Field old = fieldByName.put(field.getSimpleName(), field); if (old != null) { model .getDiagReporter() .report( Diag.error( field.getLocation(), "Duplicate declaration of field '%s'. Previous location: %s", field.getSimpleName(), old.getLocation().getDisplayString())); } } message.setFieldByNameMap(ImmutableMap.copyOf(fieldByName)); }
@VisitsBefore void visit(MessageType message) { // Add the message to the set of known types. addType(message.getLocation(), message.getFullName(), TypeRef.of(message)); // Add the message's package to the set of known packages addPackage(message.getFile().getFullName()); // Build the field-by-name map for this message, and record field simple names. Map<String, Field> fieldByName = Maps.newLinkedHashMap(); for (Field field : message.getFields()) { fieldNames.add(field.getSimpleName()); Field old = fieldByName.put(field.getSimpleName(), field); if (old != null) { model .getDiagReporter() .report( Diag.error( field.getLocation(), "Duplicate declaration of field '%s'. Previous location: %s", field.getSimpleName(), old.getLocation().getDisplayString())); } } message.setFieldByNameMap(ImmutableMap.copyOf(fieldByName)); }
@Test public void testGetResourceType() { MessageType getShelfRequest = libraryProtoFile .getMessages() .stream() .filter(m -> m.getSimpleName().equals("GetShelfRequest")) .findFirst() .get(); Field shelves = getShelfRequest .getFields() .stream() .filter(f -> f.getSimpleName().equals("name")) .findFirst() .get(); String shelfType = protoParser.getResourceReference(shelves); assertThat(shelfType).isEqualTo("Shelf"); }
@Test public void testGetResourceTypeEntityNameFromOneof() { MessageType getBookFromAnywhereRequest = libraryProtoFile .getMessages() .stream() .filter(m -> m.getSimpleName().equals("GetBookFromAnywhereRequest")) .findFirst() .get(); Field nameField = getBookFromAnywhereRequest .getFields() .stream() .filter(f -> f.getSimpleName().equals("name")) .findFirst() .get(); assertThat(protoParser.getResourceReferenceName(nameField, resourceDefs, resourceSetDefs)) .isEqualTo("BookOneOf"); Field altBookNameField = getBookFromAnywhereRequest .getFields() .stream() .filter(f -> f.getSimpleName().equals("alt_book_name")) .findFirst() .get(); assertThat( protoParser.getResourceReferenceName(altBookNameField, resourceDefs, resourceSetDefs)) .isEqualTo("Book"); }
if (messageConfig.getEntityNameForField(field.getSimpleName()) != null) { fieldsByMessage.put(msg.getFullName(), new ProtoField(field));
/** * Returns oneof config for the field of a given type, or null if the field is not a part of any * oneofs */ public OneofConfig getOneOfConfig(String fieldName) { MessageType message = this.getProtoType().getMessageType(); for (Oneof oneof : message.getOneofs()) { for (Field field : oneof.getFields()) { if (field.getSimpleName().equals(fieldName)) { return new AutoValue_OneofConfig( Name.from(oneof.getName()), message, new ProtoField(field)); } } } return null; } }
@Test public void testGetResourceSet() { Field bookNameField = book.getFields().stream().filter(f -> f.getSimpleName().equals("name")).findFirst().get(); ResourceSet bookResourceSet = protoParser.getResourceSet(bookNameField); assertThat(bookResourceSet).isNotNull(); assertThat(bookResourceSet.getName()).isEqualTo("BookOneOf"); assertThat(bookResourceSet.getResourcesCount()).isEqualTo(1); assertThat(bookResourceSet.getResources(0)) .isEqualTo(Resource.newBuilder().setName("DeletedBook").setPath("_deleted-book_").build()); assertThat(bookResourceSet.getResourceReferencesList()).containsExactly("ArchivedBook", "Book"); }
.get(); shelfNameField = shelf.getFields().stream().filter(f -> f.getSimpleName().equals("name")).findFirst().get(); .get(); shelfNameField = shelf.getFields().stream().filter(f -> f.getSimpleName().equals("name")).findFirst().get();
com.google.protobuf.Field.Builder coreFieldBuilder = com.google.protobuf.Field.newBuilder() .setName(field.getSimpleName()) .setNumber(field.getNumber()) .setKind(toCoreFieldKind(field.getProto()))
com.google.protobuf.Field.Builder coreFieldBuilder = com.google.protobuf.Field.newBuilder() .setName(field.getSimpleName()) .setNumber(field.getNumber()) .setKind(toCoreFieldKind(field.getProto()))