Search in sources :

Example 1 with Syntax

use of com.squareup.wire.Syntax in project apicurio-registry by Apicurio.

the class FileDescriptorUtils method toFileDescriptorProto.

private static FileDescriptorProto toFileDescriptorProto(String schemaDefinition, String protoFileName, Optional<String> optionalPackageName) {
    final ProtobufSchemaLoader.ProtobufSchemaLoaderContext protobufSchemaLoaderContext;
    try {
        protobufSchemaLoaderContext = ProtobufSchemaLoader.loadSchema(optionalPackageName, protoFileName, schemaDefinition);
    } catch (Exception e) {
        throw new RuntimeException(e);
    }
    FileDescriptorProto.Builder schema = FileDescriptorProto.newBuilder();
    ProtoFile element = protobufSchemaLoaderContext.getProtoFile();
    Schema schemaContext = protobufSchemaLoaderContext.getSchema();
    schema.setName(protoFileName);
    Syntax syntax = element.getSyntax();
    if (Syntax.PROTO_3.equals(syntax)) {
        schema.setSyntax(syntax.toString());
    }
    if (element.getPackageName() != null) {
        schema.setPackage(element.getPackageName());
    }
    for (ProtoType protoType : schemaContext.getTypes()) {
        if (!isParentLevelType(protoType, optionalPackageName)) {
            continue;
        }
        Type type = schemaContext.getType(protoType);
        if (type instanceof MessageType) {
            DescriptorProto message = messageElementToDescriptorProto((MessageType) type, schemaContext, element);
            schema.addMessageType(message);
        } else if (type instanceof EnumType) {
            EnumDescriptorProto message = enumElementToProto((EnumType) type);
            schema.addEnumType(message);
        }
    }
    for (Service service : element.getServices()) {
        ServiceDescriptorProto serviceDescriptorProto = serviceElementToProto(service);
        schema.addService(serviceDescriptorProto);
    }
    // dependencies on protobuf default types are always added
    for (String ref : element.getImports()) {
        schema.addDependency(ref);
    }
    for (String ref : element.getPublicImports()) {
        boolean add = true;
        for (int i = 0; i < schema.getDependencyCount(); i++) {
            if (schema.getDependency(i).equals(ref)) {
                schema.addPublicDependency(i);
                add = false;
            }
        }
        if (add) {
            schema.addDependency(ref);
            schema.addPublicDependency(schema.getDependencyCount() - 1);
        }
    }
    String javaPackageName = findOptionString(JAVA_PACKAGE_OPTION, element.getOptions());
    if (javaPackageName != null) {
        FileOptions options = DescriptorProtos.FileOptions.newBuilder().setJavaPackage(javaPackageName).build();
        schema.mergeOptions(options);
    }
    String javaOuterClassname = findOptionString(JAVA_OUTER_CLASSNAME_OPTION, element.getOptions());
    if (javaOuterClassname != null) {
        FileOptions options = DescriptorProtos.FileOptions.newBuilder().setJavaOuterClassname(javaOuterClassname).build();
        schema.mergeOptions(options);
    }
    Boolean javaMultipleFiles = findOptionBoolean(JAVA_MULTIPLE_FILES_OPTION, element.getOptions());
    if (javaMultipleFiles != null) {
        FileOptions options = DescriptorProtos.FileOptions.newBuilder().setJavaMultipleFiles(javaMultipleFiles).build();
        schema.mergeOptions(options);
    }
    Boolean javaStringCheckUtf8 = findOptionBoolean(JAVA_STRING_CHECK_UTF8_OPTION, element.getOptions());
    if (javaStringCheckUtf8 != null) {
        FileOptions options = DescriptorProtos.FileOptions.newBuilder().setJavaStringCheckUtf8(javaStringCheckUtf8).build();
        schema.mergeOptions(options);
    }
    Boolean javaGenericServices = findOptionBoolean(JAVA_GENERIC_SERVICES_OPTION, element.getOptions());
    if (javaGenericServices != null) {
        FileOptions options = DescriptorProtos.FileOptions.newBuilder().setJavaGenericServices(javaGenericServices).build();
        schema.mergeOptions(options);
    }
    Boolean ccGenericServices = findOptionBoolean(CC_GENERIC_SERVICES_OPTION, element.getOptions());
    if (ccGenericServices != null) {
        FileOptions options = DescriptorProtos.FileOptions.newBuilder().setCcGenericServices(ccGenericServices).build();
        schema.mergeOptions(options);
    }
    Boolean ccEnableArenas = findOptionBoolean(CC_ENABLE_ARENAS_OPTION, element.getOptions());
    if (ccEnableArenas != null) {
        FileOptions options = DescriptorProtos.FileOptions.newBuilder().setCcEnableArenas(ccEnableArenas).build();
        schema.mergeOptions(options);
    }
    String csharpNamespace = findOptionString(CSHARP_NAMESPACE_OPTION, element.getOptions());
    if (csharpNamespace != null) {
        FileOptions options = DescriptorProtos.FileOptions.newBuilder().setCsharpNamespace(csharpNamespace).build();
        schema.mergeOptions(options);
    }
    String goPackageName = findOptionString(GO_PACKAGE_OPTION, element.getOptions());
    if (goPackageName != null) {
        FileOptions options = DescriptorProtos.FileOptions.newBuilder().setGoPackage(goPackageName).build();
        schema.mergeOptions(options);
    }
    String objcClassPrefix = findOptionString(OBJC_CLASS_PREFIX_OPTION, element.getOptions());
    if (objcClassPrefix != null) {
        FileOptions options = DescriptorProtos.FileOptions.newBuilder().setObjcClassPrefix(objcClassPrefix).build();
        schema.mergeOptions(options);
    }
    Boolean phpGenericServices = findOptionBoolean(PHP_GENERIC_SERVICES_OPTION, element.getOptions());
    if (phpGenericServices != null) {
        FileOptions options = DescriptorProtos.FileOptions.newBuilder().setPhpGenericServices(phpGenericServices).build();
        schema.mergeOptions(options);
    }
    String phpClassPrefix = findOptionString(PHP_CLASS_PREFIX_OPTION, element.getOptions());
    if (phpClassPrefix != null) {
        FileOptions options = DescriptorProtos.FileOptions.newBuilder().setPhpClassPrefix(phpClassPrefix).build();
        schema.mergeOptions(options);
    }
    String phpMetadataNamespace = findOptionString(PHP_METADATA_NAMESPACE_OPTION, element.getOptions());
    if (phpMetadataNamespace != null) {
        FileOptions options = DescriptorProtos.FileOptions.newBuilder().setPhpMetadataNamespace(phpMetadataNamespace).build();
        schema.mergeOptions(options);
    }
    String phpNamespace = findOptionString(PHP_NAMESPACE_OPTION, element.getOptions());
    if (phpNamespace != null) {
        FileOptions options = DescriptorProtos.FileOptions.newBuilder().setPhpNamespace(phpNamespace).build();
        schema.mergeOptions(options);
    }
    Boolean pyGenericServices = findOptionBoolean(PY_GENERIC_SERVICES_OPTION, element.getOptions());
    if (pyGenericServices != null) {
        FileOptions options = DescriptorProtos.FileOptions.newBuilder().setPyGenericServices(pyGenericServices).build();
        schema.mergeOptions(options);
    }
    String rubyPackage = findOptionString(RUBY_PACKAGE_OPTION, element.getOptions());
    if (rubyPackage != null) {
        FileOptions options = DescriptorProtos.FileOptions.newBuilder().setRubyPackage(rubyPackage).build();
        schema.mergeOptions(options);
    }
    String swiftPrefix = findOptionString(SWIFT_PREFIX_OPTION, element.getOptions());
    if (swiftPrefix != null) {
        FileOptions options = DescriptorProtos.FileOptions.newBuilder().setSwiftPrefix(swiftPrefix).build();
        schema.mergeOptions(options);
    }
    FileOptions.OptimizeMode optimizeFor = findOption(OPTIMIZE_FOR_OPTION, element.getOptions()).map(o -> FileOptions.OptimizeMode.valueOf(o.getValue().toString())).orElse(null);
    if (optimizeFor != null) {
        FileOptions options = DescriptorProtos.FileOptions.newBuilder().setOptimizeFor(optimizeFor).build();
        schema.mergeOptions(options);
    }
    return schema.build();
}
Also used : QuaternionProto(com.google.type.QuaternionProto) Decimals(additionalTypes.Decimals) com.google.protobuf(com.google.protobuf) ServiceDescriptorProto(com.google.protobuf.DescriptorProtos.ServiceDescriptorProto) ReservedElement(com.squareup.wire.schema.internal.parser.ReservedElement) DescriptorValidationException(com.google.protobuf.Descriptors.DescriptorValidationException) Service(com.squareup.wire.schema.Service) Type(com.squareup.wire.schema.Type) Map(java.util.Map) MethodDescriptorProto(com.google.protobuf.DescriptorProtos.MethodDescriptorProto) OneofDescriptorProto(com.google.protobuf.DescriptorProtos.OneofDescriptorProto) PhoneNumberProto(com.google.type.PhoneNumberProto) ExprProto(com.google.type.ExprProto) FileDescriptor(com.google.protobuf.Descriptors.FileDescriptor) DayOfWeek(com.google.type.DayOfWeek) IntRange(kotlin.ranges.IntRange) ExtensionsElement(com.squareup.wire.schema.internal.parser.ExtensionsElement) Predicate(java.util.function.Predicate) MonthProto(com.google.type.MonthProto) Set(java.util.Set) FieldDescriptor(com.google.protobuf.Descriptors.FieldDescriptor) ProtoType(com.squareup.wire.schema.ProtoType) Collectors(java.util.stream.Collectors) EnumConstant(com.squareup.wire.schema.EnumConstant) IntervalProto(com.google.type.IntervalProto) Objects(java.util.Objects) List(java.util.List) EnumConstantElement(com.squareup.wire.schema.internal.parser.EnumConstantElement) FieldElement(com.squareup.wire.schema.internal.parser.FieldElement) PostalAddressProto(com.google.type.PostalAddressProto) EnumDescriptorProto(com.google.protobuf.DescriptorProtos.EnumDescriptorProto) FileDescriptorProto(com.google.protobuf.DescriptorProtos.FileDescriptorProto) TypeElement(com.squareup.wire.schema.internal.parser.TypeElement) Optional(java.util.Optional) OneOfElement(com.squareup.wire.schema.internal.parser.OneOfElement) EnumValueDescriptorProto(com.google.protobuf.DescriptorProtos.EnumValueDescriptorProto) ColorProto(com.google.type.ColorProto) FileOptions(com.google.protobuf.DescriptorProtos.FileOptions) TimeOfDayProto(com.google.type.TimeOfDayProto) Schema(com.squareup.wire.schema.Schema) OneOf(com.squareup.wire.schema.OneOf) OptionElement(com.squareup.wire.schema.internal.parser.OptionElement) Function(java.util.function.Function) ArrayList(java.util.ArrayList) HashSet(java.util.HashSet) LinkedHashMap(java.util.LinkedHashMap) Rpc(com.squareup.wire.schema.Rpc) Location(com.squareup.wire.schema.Location) ImmutableList(com.google.common.collect.ImmutableList) Syntax(com.squareup.wire.Syntax) MoneyProto(com.google.type.MoneyProto) RpcElement(com.squareup.wire.schema.internal.parser.RpcElement) MessageType(com.squareup.wire.schema.MessageType) LinkedHashSet(java.util.LinkedHashSet) LOWER_UNDERSCORE(com.google.common.base.CaseFormat.LOWER_UNDERSCORE) ProtoFileElement(com.squareup.wire.schema.internal.parser.ProtoFileElement) FieldDescriptorProto(com.google.protobuf.DescriptorProtos.FieldDescriptorProto) DateProto(com.google.type.DateProto) ProtoFile(com.squareup.wire.schema.ProtoFile) LatLng(com.google.type.LatLng) UPPER_CAMEL(com.google.common.base.CaseFormat.UPPER_CAMEL) CalendarPeriodProto(com.google.type.CalendarPeriodProto) EnumElement(com.squareup.wire.schema.internal.parser.EnumElement) TreeMap(java.util.TreeMap) Field(com.squareup.wire.schema.Field) ServiceElement(com.squareup.wire.schema.internal.parser.ServiceElement) Options(com.squareup.wire.schema.Options) LocalizedTextProto(com.google.type.LocalizedTextProto) EnumType(com.squareup.wire.schema.EnumType) ProtobufSchemaMetadata(metadata.ProtobufSchemaMetadata) Comparator(java.util.Comparator) DescriptorProto(com.google.protobuf.DescriptorProtos.DescriptorProto) Collections(java.util.Collections) MethodOptions(com.google.protobuf.DescriptorProtos.MethodOptions) FractionProto(com.google.type.FractionProto) MessageElement(com.squareup.wire.schema.internal.parser.MessageElement) EnumDescriptorProto(com.google.protobuf.DescriptorProtos.EnumDescriptorProto) ServiceDescriptorProto(com.google.protobuf.DescriptorProtos.ServiceDescriptorProto) Schema(com.squareup.wire.schema.Schema) ProtoFile(com.squareup.wire.schema.ProtoFile) Service(com.squareup.wire.schema.Service) DescriptorValidationException(com.google.protobuf.Descriptors.DescriptorValidationException) ProtoType(com.squareup.wire.schema.ProtoType) Type(com.squareup.wire.schema.Type) ProtoType(com.squareup.wire.schema.ProtoType) MessageType(com.squareup.wire.schema.MessageType) EnumType(com.squareup.wire.schema.EnumType) EnumType(com.squareup.wire.schema.EnumType) ServiceDescriptorProto(com.google.protobuf.DescriptorProtos.ServiceDescriptorProto) MethodDescriptorProto(com.google.protobuf.DescriptorProtos.MethodDescriptorProto) OneofDescriptorProto(com.google.protobuf.DescriptorProtos.OneofDescriptorProto) EnumDescriptorProto(com.google.protobuf.DescriptorProtos.EnumDescriptorProto) FileDescriptorProto(com.google.protobuf.DescriptorProtos.FileDescriptorProto) EnumValueDescriptorProto(com.google.protobuf.DescriptorProtos.EnumValueDescriptorProto) FieldDescriptorProto(com.google.protobuf.DescriptorProtos.FieldDescriptorProto) DescriptorProto(com.google.protobuf.DescriptorProtos.DescriptorProto) Syntax(com.squareup.wire.Syntax) FileDescriptorProto(com.google.protobuf.DescriptorProtos.FileDescriptorProto) MessageType(com.squareup.wire.schema.MessageType) FileOptions(com.google.protobuf.DescriptorProtos.FileOptions)

Example 2 with Syntax

use of com.squareup.wire.Syntax in project apicurio-registry by Apicurio.

the class FileDescriptorUtils method fileDescriptorToProtoFile.

public static ProtoFileElement fileDescriptorToProtoFile(FileDescriptorProto file) {
    String packageName = file.getPackage();
    if ("".equals(packageName)) {
        packageName = null;
    }
    Syntax syntax = null;
    switch(file.getSyntax()) {
        case PROTO2:
            syntax = Syntax.PROTO_2;
            break;
        case PROTO3:
            syntax = Syntax.PROTO_3;
            break;
        default:
            break;
    }
    ImmutableList.Builder<TypeElement> types = ImmutableList.builder();
    for (DescriptorProto md : file.getMessageTypeList()) {
        MessageElement message = toMessage(file, md);
        types.add(message);
    }
    for (EnumDescriptorProto ed : file.getEnumTypeList()) {
        EnumElement enumer = toEnum(ed);
        types.add(enumer);
    }
    ImmutableList.Builder<ServiceElement> services = ImmutableList.builder();
    for (ServiceDescriptorProto sv : file.getServiceList()) {
        ServiceElement service = toService(sv);
        services.add(service);
    }
    ImmutableList.Builder<String> imports = ImmutableList.builder();
    ImmutableList.Builder<String> publicImports = ImmutableList.builder();
    List<String> dependencyList = file.getDependencyList();
    Set<Integer> publicDependencyList = new HashSet<>(file.getPublicDependencyList());
    for (int i = 0; i < dependencyList.size(); i++) {
        String depName = dependencyList.get(i);
        if (publicDependencyList.contains(i)) {
            publicImports.add(depName);
        } else {
            imports.add(depName);
        }
    }
    ImmutableList.Builder<OptionElement> options = ImmutableList.builder();
    if (file.getOptions().hasJavaPackage()) {
        OptionElement option = new OptionElement(JAVA_PACKAGE_OPTION, stringKind, file.getOptions().getJavaPackage(), false);
        options.add(option);
    }
    if (file.getOptions().hasJavaOuterClassname()) {
        OptionElement option = new OptionElement(JAVA_OUTER_CLASSNAME_OPTION, stringKind, file.getOptions().getJavaOuterClassname(), false);
        options.add(option);
    }
    if (file.getOptions().hasJavaMultipleFiles()) {
        OptionElement option = new OptionElement(JAVA_MULTIPLE_FILES_OPTION, booleanKind, file.getOptions().getJavaMultipleFiles(), false);
        options.add(option);
    }
    if (file.getOptions().hasJavaGenericServices()) {
        OptionElement option = new OptionElement(JAVA_GENERIC_SERVICES_OPTION, booleanKind, file.getOptions().getJavaGenericServices(), false);
        options.add(option);
    }
    if (file.getOptions().hasJavaStringCheckUtf8()) {
        OptionElement option = new OptionElement(JAVA_STRING_CHECK_UTF8_OPTION, booleanKind, file.getOptions().getJavaStringCheckUtf8(), false);
        options.add(option);
    }
    if (file.getOptions().hasCcGenericServices()) {
        OptionElement option = new OptionElement(CC_GENERIC_SERVICES_OPTION, booleanKind, file.getOptions().getCcGenericServices(), false);
        options.add(option);
    }
    if (file.getOptions().hasCcEnableArenas()) {
        OptionElement option = new OptionElement(CC_ENABLE_ARENAS_OPTION, booleanKind, file.getOptions().getCcEnableArenas(), false);
        options.add(option);
    }
    if (file.getOptions().hasCsharpNamespace()) {
        OptionElement option = new OptionElement(CSHARP_NAMESPACE_OPTION, stringKind, file.getOptions().getCsharpNamespace(), false);
        options.add(option);
    }
    if (file.getOptions().hasGoPackage()) {
        OptionElement option = new OptionElement(GO_PACKAGE_OPTION, stringKind, file.getOptions().getGoPackage(), false);
        options.add(option);
    }
    if (file.getOptions().hasObjcClassPrefix()) {
        OptionElement option = new OptionElement(OBJC_CLASS_PREFIX_OPTION, stringKind, file.getOptions().getObjcClassPrefix(), false);
        options.add(option);
    }
    if (file.getOptions().hasPhpClassPrefix()) {
        OptionElement option = new OptionElement(PHP_CLASS_PREFIX_OPTION, stringKind, file.getOptions().getPhpClassPrefix(), false);
        options.add(option);
    }
    if (file.getOptions().hasPhpGenericServices()) {
        OptionElement option = new OptionElement(PHP_GENERIC_SERVICES_OPTION, booleanKind, file.getOptions().getPhpGenericServices(), false);
        options.add(option);
    }
    if (file.getOptions().hasPhpMetadataNamespace()) {
        OptionElement option = new OptionElement(PHP_METADATA_NAMESPACE_OPTION, stringKind, file.getOptions().getPhpMetadataNamespace(), false);
        options.add(option);
    }
    if (file.getOptions().hasPhpNamespace()) {
        OptionElement option = new OptionElement(PHP_NAMESPACE_OPTION, stringKind, file.getOptions().getPhpNamespace(), false);
        options.add(option);
    }
    if (file.getOptions().hasPyGenericServices()) {
        OptionElement option = new OptionElement(PY_GENERIC_SERVICES_OPTION, booleanKind, file.getOptions().getPyGenericServices(), false);
        options.add(option);
    }
    if (file.getOptions().hasRubyPackage()) {
        OptionElement option = new OptionElement(RUBY_PACKAGE_OPTION, stringKind, file.getOptions().getRubyPackage(), false);
        options.add(option);
    }
    if (file.getOptions().hasSwiftPrefix()) {
        OptionElement option = new OptionElement(SWIFT_PREFIX_OPTION, stringKind, file.getOptions().getSwiftPrefix(), false);
        options.add(option);
    }
    if (file.getOptions().hasOptimizeFor()) {
        OptionElement option = new OptionElement(OPTIMIZE_FOR_OPTION, enumKind, file.getOptions().getOptimizeFor(), false);
        options.add(option);
    }
    return new ProtoFileElement(DEFAULT_LOCATION, packageName, syntax, imports.build(), publicImports.build(), types.build(), services.build(), Collections.emptyList(), options.build());
}
Also used : EnumDescriptorProto(com.google.protobuf.DescriptorProtos.EnumDescriptorProto) ImmutableList(com.google.common.collect.ImmutableList) TypeElement(com.squareup.wire.schema.internal.parser.TypeElement) ServiceDescriptorProto(com.google.protobuf.DescriptorProtos.ServiceDescriptorProto) MessageElement(com.squareup.wire.schema.internal.parser.MessageElement) ProtoFileElement(com.squareup.wire.schema.internal.parser.ProtoFileElement) EnumElement(com.squareup.wire.schema.internal.parser.EnumElement) ServiceElement(com.squareup.wire.schema.internal.parser.ServiceElement) OptionElement(com.squareup.wire.schema.internal.parser.OptionElement) ServiceDescriptorProto(com.google.protobuf.DescriptorProtos.ServiceDescriptorProto) MethodDescriptorProto(com.google.protobuf.DescriptorProtos.MethodDescriptorProto) OneofDescriptorProto(com.google.protobuf.DescriptorProtos.OneofDescriptorProto) EnumDescriptorProto(com.google.protobuf.DescriptorProtos.EnumDescriptorProto) FileDescriptorProto(com.google.protobuf.DescriptorProtos.FileDescriptorProto) EnumValueDescriptorProto(com.google.protobuf.DescriptorProtos.EnumValueDescriptorProto) FieldDescriptorProto(com.google.protobuf.DescriptorProtos.FieldDescriptorProto) DescriptorProto(com.google.protobuf.DescriptorProtos.DescriptorProto) Syntax(com.squareup.wire.Syntax) HashSet(java.util.HashSet) LinkedHashSet(java.util.LinkedHashSet)

Example 3 with Syntax

use of com.squareup.wire.Syntax in project apicurio-registry by Apicurio.

the class FileDescriptorUtils method toDynamicSchema.

/*
     * DynamicSchema is used as a temporary helper class and should not be exposed in the API.
     */
private static DynamicSchema toDynamicSchema(String name, ProtoFileElement rootElem, Map<String, ProtoFileElement> dependencies) {
    DynamicSchema.Builder schema = DynamicSchema.newBuilder();
    try {
        Syntax syntax = rootElem.getSyntax();
        if (syntax != null) {
            schema.setSyntax(syntax.toString());
        }
        if (rootElem.getPackageName() != null) {
            schema.setPackage(rootElem.getPackageName());
        }
        for (TypeElement typeElem : rootElem.getTypes()) {
            if (typeElem instanceof MessageElement) {
                MessageDefinition message = toDynamicMessage((MessageElement) typeElem);
                schema.addMessageDefinition(message);
            } else if (typeElem instanceof EnumElement) {
                EnumDefinition enumer = toDynamicEnum((EnumElement) typeElem);
                schema.addEnumDefinition(enumer);
            }
        }
        for (String ref : rootElem.getImports()) {
            ProtoFileElement dep = dependencies.get(ref);
            if (dep != null) {
                schema.addDependency(ref);
                schema.addSchema(toDynamicSchema(ref, dep, dependencies));
            }
        }
        for (String ref : rootElem.getPublicImports()) {
            ProtoFileElement dep = dependencies.get(ref);
            if (dep != null) {
                schema.addPublicDependency(ref);
                schema.addSchema(toDynamicSchema(ref, dep, dependencies));
            }
        }
        String javaPackageName = findOption("java_package", rootElem.getOptions()).map(o -> o.getValue().toString()).orElse(null);
        if (javaPackageName != null) {
            schema.setJavaPackage(javaPackageName);
        }
        String javaOuterClassname = findOption("java_outer_classname", rootElem.getOptions()).map(o -> o.getValue().toString()).orElse(null);
        if (javaOuterClassname != null) {
            schema.setJavaOuterClassname(javaOuterClassname);
        }
        Boolean javaMultipleFiles = findOption("java_multiple_files", rootElem.getOptions()).map(o -> Boolean.valueOf(o.getValue().toString())).orElse(null);
        if (javaMultipleFiles != null) {
            schema.setJavaMultipleFiles(javaMultipleFiles);
        }
        schema.setName(name);
        return schema.build();
    } catch (Descriptors.DescriptorValidationException e) {
        throw new IllegalStateException(e);
    }
}
Also used : QuaternionProto(com.google.type.QuaternionProto) Decimals(additionalTypes.Decimals) com.google.protobuf(com.google.protobuf) ServiceDescriptorProto(com.google.protobuf.DescriptorProtos.ServiceDescriptorProto) ReservedElement(com.squareup.wire.schema.internal.parser.ReservedElement) DescriptorValidationException(com.google.protobuf.Descriptors.DescriptorValidationException) Service(com.squareup.wire.schema.Service) Type(com.squareup.wire.schema.Type) Map(java.util.Map) MethodDescriptorProto(com.google.protobuf.DescriptorProtos.MethodDescriptorProto) OneofDescriptorProto(com.google.protobuf.DescriptorProtos.OneofDescriptorProto) PhoneNumberProto(com.google.type.PhoneNumberProto) ExprProto(com.google.type.ExprProto) FileDescriptor(com.google.protobuf.Descriptors.FileDescriptor) DayOfWeek(com.google.type.DayOfWeek) IntRange(kotlin.ranges.IntRange) ExtensionsElement(com.squareup.wire.schema.internal.parser.ExtensionsElement) Predicate(java.util.function.Predicate) MonthProto(com.google.type.MonthProto) Set(java.util.Set) FieldDescriptor(com.google.protobuf.Descriptors.FieldDescriptor) ProtoType(com.squareup.wire.schema.ProtoType) Collectors(java.util.stream.Collectors) EnumConstant(com.squareup.wire.schema.EnumConstant) IntervalProto(com.google.type.IntervalProto) Objects(java.util.Objects) List(java.util.List) EnumConstantElement(com.squareup.wire.schema.internal.parser.EnumConstantElement) FieldElement(com.squareup.wire.schema.internal.parser.FieldElement) PostalAddressProto(com.google.type.PostalAddressProto) EnumDescriptorProto(com.google.protobuf.DescriptorProtos.EnumDescriptorProto) FileDescriptorProto(com.google.protobuf.DescriptorProtos.FileDescriptorProto) TypeElement(com.squareup.wire.schema.internal.parser.TypeElement) Optional(java.util.Optional) OneOfElement(com.squareup.wire.schema.internal.parser.OneOfElement) EnumValueDescriptorProto(com.google.protobuf.DescriptorProtos.EnumValueDescriptorProto) ColorProto(com.google.type.ColorProto) FileOptions(com.google.protobuf.DescriptorProtos.FileOptions) TimeOfDayProto(com.google.type.TimeOfDayProto) Schema(com.squareup.wire.schema.Schema) OneOf(com.squareup.wire.schema.OneOf) OptionElement(com.squareup.wire.schema.internal.parser.OptionElement) Function(java.util.function.Function) ArrayList(java.util.ArrayList) HashSet(java.util.HashSet) LinkedHashMap(java.util.LinkedHashMap) Rpc(com.squareup.wire.schema.Rpc) Location(com.squareup.wire.schema.Location) ImmutableList(com.google.common.collect.ImmutableList) Syntax(com.squareup.wire.Syntax) MoneyProto(com.google.type.MoneyProto) RpcElement(com.squareup.wire.schema.internal.parser.RpcElement) MessageType(com.squareup.wire.schema.MessageType) LinkedHashSet(java.util.LinkedHashSet) LOWER_UNDERSCORE(com.google.common.base.CaseFormat.LOWER_UNDERSCORE) ProtoFileElement(com.squareup.wire.schema.internal.parser.ProtoFileElement) FieldDescriptorProto(com.google.protobuf.DescriptorProtos.FieldDescriptorProto) DateProto(com.google.type.DateProto) ProtoFile(com.squareup.wire.schema.ProtoFile) LatLng(com.google.type.LatLng) UPPER_CAMEL(com.google.common.base.CaseFormat.UPPER_CAMEL) CalendarPeriodProto(com.google.type.CalendarPeriodProto) EnumElement(com.squareup.wire.schema.internal.parser.EnumElement) TreeMap(java.util.TreeMap) Field(com.squareup.wire.schema.Field) ServiceElement(com.squareup.wire.schema.internal.parser.ServiceElement) Options(com.squareup.wire.schema.Options) LocalizedTextProto(com.google.type.LocalizedTextProto) EnumType(com.squareup.wire.schema.EnumType) ProtobufSchemaMetadata(metadata.ProtobufSchemaMetadata) Comparator(java.util.Comparator) DescriptorProto(com.google.protobuf.DescriptorProtos.DescriptorProto) Collections(java.util.Collections) MethodOptions(com.google.protobuf.DescriptorProtos.MethodOptions) FractionProto(com.google.type.FractionProto) MessageElement(com.squareup.wire.schema.internal.parser.MessageElement) TypeElement(com.squareup.wire.schema.internal.parser.TypeElement) MessageElement(com.squareup.wire.schema.internal.parser.MessageElement) ProtoFileElement(com.squareup.wire.schema.internal.parser.ProtoFileElement) DescriptorValidationException(com.google.protobuf.Descriptors.DescriptorValidationException) EnumElement(com.squareup.wire.schema.internal.parser.EnumElement) Syntax(com.squareup.wire.Syntax)

Example 4 with Syntax

use of com.squareup.wire.Syntax in project aws-glue-schema-registry by awslabs.

the class FileDescriptorUtils method fileDescriptorToProtoFile.

public static ProtoFileElement fileDescriptorToProtoFile(FileDescriptorProto file) {
    String packageName = file.getPackage();
    if ("".equals(packageName)) {
        packageName = null;
    }
    Syntax syntax = null;
    switch(file.getSyntax()) {
        case PROTO2:
            syntax = Syntax.PROTO_2;
            break;
        case PROTO3:
            syntax = Syntax.PROTO_3;
            break;
        default:
            break;
    }
    ImmutableList.Builder<TypeElement> types = ImmutableList.builder();
    for (DescriptorProto md : file.getMessageTypeList()) {
        MessageElement message = toMessage(file, md);
        types.add(message);
    }
    for (EnumDescriptorProto ed : file.getEnumTypeList()) {
        EnumElement enumer = toEnum(ed);
        types.add(enumer);
    }
    ImmutableList.Builder<ServiceElement> services = ImmutableList.builder();
    for (ServiceDescriptorProto sv : file.getServiceList()) {
        ServiceElement service = toService(sv);
        services.add(service);
    }
    ImmutableList.Builder<String> imports = ImmutableList.builder();
    ImmutableList.Builder<String> publicImports = ImmutableList.builder();
    List<String> dependencyList = file.getDependencyList();
    Set<Integer> publicDependencyList = new HashSet<>(file.getPublicDependencyList());
    for (int i = 0; i < dependencyList.size(); i++) {
        String depName = dependencyList.get(i);
        if (publicDependencyList.contains(i)) {
            publicImports.add(depName);
        } else {
            imports.add(depName);
        }
    }
    ImmutableList.Builder<OptionElement> options = ImmutableList.builder();
    if (file.getOptions().hasJavaPackage()) {
        OptionElement option = new OptionElement(JAVA_PACKAGE_OPTION, stringKind, file.getOptions().getJavaPackage(), false);
        options.add(option);
    }
    if (file.getOptions().hasJavaOuterClassname()) {
        OptionElement option = new OptionElement(JAVA_OUTER_CLASSNAME_OPTION, stringKind, file.getOptions().getJavaOuterClassname(), false);
        options.add(option);
    }
    if (file.getOptions().hasJavaMultipleFiles()) {
        OptionElement option = new OptionElement(JAVA_MULTIPLE_FILES_OPTION, booleanKind, file.getOptions().getJavaMultipleFiles(), false);
        options.add(option);
    }
    if (file.getOptions().hasJavaGenericServices()) {
        OptionElement option = new OptionElement(JAVA_GENERIC_SERVICES_OPTION, booleanKind, file.getOptions().getJavaGenericServices(), false);
        options.add(option);
    }
    if (file.getOptions().hasJavaStringCheckUtf8()) {
        OptionElement option = new OptionElement(JAVA_STRING_CHECK_UTF8_OPTION, booleanKind, file.getOptions().getJavaStringCheckUtf8(), false);
        options.add(option);
    }
    if (file.getOptions().hasCcGenericServices()) {
        OptionElement option = new OptionElement(CC_GENERIC_SERVICES_OPTION, booleanKind, file.getOptions().getCcGenericServices(), false);
        options.add(option);
    }
    if (file.getOptions().hasCcEnableArenas()) {
        OptionElement option = new OptionElement(CC_ENABLE_ARENAS_OPTION, booleanKind, file.getOptions().getCcEnableArenas(), false);
        options.add(option);
    }
    if (file.getOptions().hasCsharpNamespace()) {
        OptionElement option = new OptionElement(CSHARP_NAMESPACE_OPTION, stringKind, file.getOptions().getCsharpNamespace(), false);
        options.add(option);
    }
    if (file.getOptions().hasGoPackage()) {
        OptionElement option = new OptionElement(GO_PACKAGE_OPTION, stringKind, file.getOptions().getGoPackage(), false);
        options.add(option);
    }
    if (file.getOptions().hasObjcClassPrefix()) {
        OptionElement option = new OptionElement(OBJC_CLASS_PREFIX_OPTION, stringKind, file.getOptions().getObjcClassPrefix(), false);
        options.add(option);
    }
    if (file.getOptions().hasPhpClassPrefix()) {
        OptionElement option = new OptionElement(PHP_CLASS_PREFIX_OPTION, stringKind, file.getOptions().getPhpClassPrefix(), false);
        options.add(option);
    }
    if (file.getOptions().hasPhpGenericServices()) {
        OptionElement option = new OptionElement(PHP_GENERIC_SERVICES_OPTION, booleanKind, file.getOptions().getPhpGenericServices(), false);
        options.add(option);
    }
    if (file.getOptions().hasPhpMetadataNamespace()) {
        OptionElement option = new OptionElement(PHP_METADATA_NAMESPACE_OPTION, stringKind, file.getOptions().getPhpMetadataNamespace(), false);
        options.add(option);
    }
    if (file.getOptions().hasPhpNamespace()) {
        OptionElement option = new OptionElement(PHP_NAMESPACE_OPTION, stringKind, file.getOptions().getPhpNamespace(), false);
        options.add(option);
    }
    if (file.getOptions().hasPyGenericServices()) {
        OptionElement option = new OptionElement(PY_GENERIC_SERVICES_OPTION, booleanKind, file.getOptions().getPyGenericServices(), false);
        options.add(option);
    }
    if (file.getOptions().hasRubyPackage()) {
        OptionElement option = new OptionElement(RUBY_PACKAGE_OPTION, stringKind, file.getOptions().getRubyPackage(), false);
        options.add(option);
    }
    if (file.getOptions().hasSwiftPrefix()) {
        OptionElement option = new OptionElement(SWIFT_PREFIX_OPTION, stringKind, file.getOptions().getSwiftPrefix(), false);
        options.add(option);
    }
    if (file.getOptions().hasOptimizeFor()) {
        OptionElement option = new OptionElement(OPTIMIZE_FOR_OPTION, enumKind, file.getOptions().getOptimizeFor(), false);
        options.add(option);
    }
    return new ProtoFileElement(DEFAULT_LOCATION, packageName, syntax, imports.build(), publicImports.build(), types.build(), services.build(), Collections.emptyList(), options.build());
}
Also used : EnumDescriptorProto(com.google.protobuf.DescriptorProtos.EnumDescriptorProto) ImmutableList(com.google.common.collect.ImmutableList) TypeElement(com.squareup.wire.schema.internal.parser.TypeElement) ServiceDescriptorProto(com.google.protobuf.DescriptorProtos.ServiceDescriptorProto) MessageElement(com.squareup.wire.schema.internal.parser.MessageElement) ProtoFileElement(com.squareup.wire.schema.internal.parser.ProtoFileElement) EnumElement(com.squareup.wire.schema.internal.parser.EnumElement) ServiceElement(com.squareup.wire.schema.internal.parser.ServiceElement) OptionElement(com.squareup.wire.schema.internal.parser.OptionElement) ServiceDescriptorProto(com.google.protobuf.DescriptorProtos.ServiceDescriptorProto) MethodDescriptorProto(com.google.protobuf.DescriptorProtos.MethodDescriptorProto) OneofDescriptorProto(com.google.protobuf.DescriptorProtos.OneofDescriptorProto) EnumDescriptorProto(com.google.protobuf.DescriptorProtos.EnumDescriptorProto) FileDescriptorProto(com.google.protobuf.DescriptorProtos.FileDescriptorProto) EnumValueDescriptorProto(com.google.protobuf.DescriptorProtos.EnumValueDescriptorProto) FieldDescriptorProto(com.google.protobuf.DescriptorProtos.FieldDescriptorProto) DescriptorProto(com.google.protobuf.DescriptorProtos.DescriptorProto) Syntax(com.squareup.wire.Syntax) HashSet(java.util.HashSet) LinkedHashSet(java.util.LinkedHashSet)

Example 5 with Syntax

use of com.squareup.wire.Syntax in project aws-glue-schema-registry by awslabs.

the class FileDescriptorUtils method toFileDescriptorProto.

private static FileDescriptorProto toFileDescriptorProto(String schemaDefinition, String protoFileName, Optional<String> optionalPackageName) {
    final ProtobufSchemaLoader.ProtobufSchemaLoaderContext protobufSchemaLoaderContext;
    try {
        protobufSchemaLoaderContext = ProtobufSchemaLoader.loadSchema(optionalPackageName, protoFileName, schemaDefinition);
    } catch (Exception e) {
        throw new RuntimeException(e);
    }
    FileDescriptorProto.Builder schema = FileDescriptorProto.newBuilder();
    ProtoFile element = protobufSchemaLoaderContext.getProtoFile();
    Schema schemaContext = protobufSchemaLoaderContext.getSchema();
    schema.setName(protoFileName);
    Syntax syntax = element.getSyntax();
    if (Syntax.PROTO_3.equals(syntax)) {
        schema.setSyntax(syntax.toString());
    }
    if (element.getPackageName() != null) {
        schema.setPackage(element.getPackageName());
    }
    for (ProtoType protoType : schemaContext.getTypes()) {
        if (!isParentLevelType(protoType, optionalPackageName)) {
            continue;
        }
        Type type = schemaContext.getType(protoType);
        if (type instanceof MessageType) {
            DescriptorProto message = messageElementToDescriptorProto((MessageType) type, schemaContext, element);
            schema.addMessageType(message);
        } else if (type instanceof EnumType) {
            EnumDescriptorProto message = enumElementToProto((EnumType) type);
            schema.addEnumType(message);
        }
    }
    for (Service service : element.getServices()) {
        ServiceDescriptorProto serviceDescriptorProto = serviceElementToProto(service);
        schema.addService(serviceDescriptorProto);
    }
    // dependencies on protobuf default types are always added
    for (String ref : element.getImports()) {
        schema.addDependency(ref);
    }
    for (String ref : element.getPublicImports()) {
        boolean add = true;
        for (int i = 0; i < schema.getDependencyCount(); i++) {
            if (schema.getDependency(i).equals(ref)) {
                schema.addPublicDependency(i);
                add = false;
            }
        }
        if (add) {
            schema.addDependency(ref);
            schema.addPublicDependency(schema.getDependencyCount() - 1);
        }
    }
    String javaPackageName = findOptionString(JAVA_PACKAGE_OPTION, element.getOptions());
    if (javaPackageName != null) {
        FileOptions options = DescriptorProtos.FileOptions.newBuilder().setJavaPackage(javaPackageName).build();
        schema.mergeOptions(options);
    }
    String javaOuterClassname = findOptionString(JAVA_OUTER_CLASSNAME_OPTION, element.getOptions());
    if (javaOuterClassname != null) {
        FileOptions options = DescriptorProtos.FileOptions.newBuilder().setJavaOuterClassname(javaOuterClassname).build();
        schema.mergeOptions(options);
    }
    Boolean javaMultipleFiles = findOptionBoolean(JAVA_MULTIPLE_FILES_OPTION, element.getOptions());
    if (javaMultipleFiles != null) {
        FileOptions options = DescriptorProtos.FileOptions.newBuilder().setJavaMultipleFiles(javaMultipleFiles).build();
        schema.mergeOptions(options);
    }
    Boolean javaStringCheckUtf8 = findOptionBoolean(JAVA_STRING_CHECK_UTF8_OPTION, element.getOptions());
    if (javaStringCheckUtf8 != null) {
        FileOptions options = DescriptorProtos.FileOptions.newBuilder().setJavaStringCheckUtf8(javaStringCheckUtf8).build();
        schema.mergeOptions(options);
    }
    Boolean javaGenericServices = findOptionBoolean(JAVA_GENERIC_SERVICES_OPTION, element.getOptions());
    if (javaGenericServices != null) {
        FileOptions options = DescriptorProtos.FileOptions.newBuilder().setJavaGenericServices(javaGenericServices).build();
        schema.mergeOptions(options);
    }
    Boolean ccGenericServices = findOptionBoolean(CC_GENERIC_SERVICES_OPTION, element.getOptions());
    if (ccGenericServices != null) {
        FileOptions options = DescriptorProtos.FileOptions.newBuilder().setCcGenericServices(ccGenericServices).build();
        schema.mergeOptions(options);
    }
    Boolean ccEnableArenas = findOptionBoolean(CC_ENABLE_ARENAS_OPTION, element.getOptions());
    if (ccEnableArenas != null) {
        FileOptions options = DescriptorProtos.FileOptions.newBuilder().setCcEnableArenas(ccEnableArenas).build();
        schema.mergeOptions(options);
    }
    String csharpNamespace = findOptionString(CSHARP_NAMESPACE_OPTION, element.getOptions());
    if (csharpNamespace != null) {
        FileOptions options = DescriptorProtos.FileOptions.newBuilder().setCsharpNamespace(csharpNamespace).build();
        schema.mergeOptions(options);
    }
    String goPackageName = findOptionString(GO_PACKAGE_OPTION, element.getOptions());
    if (goPackageName != null) {
        FileOptions options = DescriptorProtos.FileOptions.newBuilder().setGoPackage(goPackageName).build();
        schema.mergeOptions(options);
    }
    String objcClassPrefix = findOptionString(OBJC_CLASS_PREFIX_OPTION, element.getOptions());
    if (objcClassPrefix != null) {
        FileOptions options = DescriptorProtos.FileOptions.newBuilder().setObjcClassPrefix(objcClassPrefix).build();
        schema.mergeOptions(options);
    }
    Boolean phpGenericServices = findOptionBoolean(PHP_GENERIC_SERVICES_OPTION, element.getOptions());
    if (phpGenericServices != null) {
        FileOptions options = DescriptorProtos.FileOptions.newBuilder().setPhpGenericServices(phpGenericServices).build();
        schema.mergeOptions(options);
    }
    String phpClassPrefix = findOptionString(PHP_CLASS_PREFIX_OPTION, element.getOptions());
    if (phpClassPrefix != null) {
        FileOptions options = DescriptorProtos.FileOptions.newBuilder().setPhpClassPrefix(phpClassPrefix).build();
        schema.mergeOptions(options);
    }
    String phpMetadataNamespace = findOptionString(PHP_METADATA_NAMESPACE_OPTION, element.getOptions());
    if (phpMetadataNamespace != null) {
        FileOptions options = DescriptorProtos.FileOptions.newBuilder().setPhpMetadataNamespace(phpMetadataNamespace).build();
        schema.mergeOptions(options);
    }
    String phpNamespace = findOptionString(PHP_NAMESPACE_OPTION, element.getOptions());
    if (phpNamespace != null) {
        FileOptions options = DescriptorProtos.FileOptions.newBuilder().setPhpNamespace(phpNamespace).build();
        schema.mergeOptions(options);
    }
    Boolean pyGenericServices = findOptionBoolean(PY_GENERIC_SERVICES_OPTION, element.getOptions());
    if (pyGenericServices != null) {
        FileOptions options = DescriptorProtos.FileOptions.newBuilder().setPyGenericServices(pyGenericServices).build();
        schema.mergeOptions(options);
    }
    String rubyPackage = findOptionString(RUBY_PACKAGE_OPTION, element.getOptions());
    if (rubyPackage != null) {
        FileOptions options = DescriptorProtos.FileOptions.newBuilder().setRubyPackage(rubyPackage).build();
        schema.mergeOptions(options);
    }
    String swiftPrefix = findOptionString(SWIFT_PREFIX_OPTION, element.getOptions());
    if (swiftPrefix != null) {
        FileOptions options = DescriptorProtos.FileOptions.newBuilder().setSwiftPrefix(swiftPrefix).build();
        schema.mergeOptions(options);
    }
    FileOptions.OptimizeMode optimizeFor = findOption(OPTIMIZE_FOR_OPTION, element.getOptions()).map(o -> FileOptions.OptimizeMode.valueOf(o.getValue().toString())).orElse(null);
    if (optimizeFor != null) {
        FileOptions options = DescriptorProtos.FileOptions.newBuilder().setOptimizeFor(optimizeFor).build();
        schema.mergeOptions(options);
    }
    return schema.build();
}
Also used : DescriptorProtos(com.google.protobuf.DescriptorProtos) QuaternionProto(com.google.type.QuaternionProto) ServiceDescriptorProto(com.google.protobuf.DescriptorProtos.ServiceDescriptorProto) ReservedElement(com.squareup.wire.schema.internal.parser.ReservedElement) DescriptorValidationException(com.google.protobuf.Descriptors.DescriptorValidationException) Service(com.squareup.wire.schema.Service) Type(com.squareup.wire.schema.Type) EmptyProto(com.google.protobuf.EmptyProto) Map(java.util.Map) MethodDescriptorProto(com.google.protobuf.DescriptorProtos.MethodDescriptorProto) OneofDescriptorProto(com.google.protobuf.DescriptorProtos.OneofDescriptorProto) PhoneNumberProto(com.google.type.PhoneNumberProto) ExprProto(com.google.type.ExprProto) FileDescriptor(com.google.protobuf.Descriptors.FileDescriptor) DayOfWeek(com.google.type.DayOfWeek) IntRange(kotlin.ranges.IntRange) ExtensionsElement(com.squareup.wire.schema.internal.parser.ExtensionsElement) Predicate(java.util.function.Predicate) MonthProto(com.google.type.MonthProto) Set(java.util.Set) FieldDescriptor(com.google.protobuf.Descriptors.FieldDescriptor) ProtoType(com.squareup.wire.schema.ProtoType) Collectors(java.util.stream.Collectors) EnumConstant(com.squareup.wire.schema.EnumConstant) StructProto(com.google.protobuf.StructProto) IntervalProto(com.google.type.IntervalProto) Objects(java.util.Objects) DurationProto(com.google.protobuf.DurationProto) FieldMaskProto(com.google.protobuf.FieldMaskProto) List(java.util.List) EnumConstantElement(com.squareup.wire.schema.internal.parser.EnumConstantElement) FieldElement(com.squareup.wire.schema.internal.parser.FieldElement) PostalAddressProto(com.google.type.PostalAddressProto) EnumDescriptorProto(com.google.protobuf.DescriptorProtos.EnumDescriptorProto) FileDescriptorProto(com.google.protobuf.DescriptorProtos.FileDescriptorProto) TypeElement(com.squareup.wire.schema.internal.parser.TypeElement) Optional(java.util.Optional) SourceContextProto(com.google.protobuf.SourceContextProto) OneOfElement(com.squareup.wire.schema.internal.parser.OneOfElement) EnumValueDescriptorProto(com.google.protobuf.DescriptorProtos.EnumValueDescriptorProto) ColorProto(com.google.type.ColorProto) TypeProto(com.google.protobuf.TypeProto) FileOptions(com.google.protobuf.DescriptorProtos.FileOptions) TimeOfDayProto(com.google.type.TimeOfDayProto) Schema(com.squareup.wire.schema.Schema) OneOf(com.squareup.wire.schema.OneOf) OptionElement(com.squareup.wire.schema.internal.parser.OptionElement) Function(java.util.function.Function) ArrayList(java.util.ArrayList) HashSet(java.util.HashSet) LinkedHashMap(java.util.LinkedHashMap) Rpc(com.squareup.wire.schema.Rpc) Location(com.squareup.wire.schema.Location) ImmutableList(com.google.common.collect.ImmutableList) Syntax(com.squareup.wire.Syntax) MoneyProto(com.google.type.MoneyProto) RpcElement(com.squareup.wire.schema.internal.parser.RpcElement) AnyProto(com.google.protobuf.AnyProto) MessageType(com.squareup.wire.schema.MessageType) LinkedHashSet(java.util.LinkedHashSet) LOWER_UNDERSCORE(com.google.common.base.CaseFormat.LOWER_UNDERSCORE) WrappersProto(com.google.protobuf.WrappersProto) ProtoFileElement(com.squareup.wire.schema.internal.parser.ProtoFileElement) FieldDescriptorProto(com.google.protobuf.DescriptorProtos.FieldDescriptorProto) DateProto(com.google.type.DateProto) ProtoFile(com.squareup.wire.schema.ProtoFile) ApiProto(com.google.protobuf.ApiProto) LatLng(com.google.type.LatLng) UPPER_CAMEL(com.google.common.base.CaseFormat.UPPER_CAMEL) CalendarPeriodProto(com.google.type.CalendarPeriodProto) EnumElement(com.squareup.wire.schema.internal.parser.EnumElement) TreeMap(java.util.TreeMap) TimestampProto(com.google.protobuf.TimestampProto) Field(com.squareup.wire.schema.Field) ServiceElement(com.squareup.wire.schema.internal.parser.ServiceElement) Options(com.squareup.wire.schema.Options) LocalizedTextProto(com.google.type.LocalizedTextProto) EnumType(com.squareup.wire.schema.EnumType) Comparator(java.util.Comparator) DescriptorProto(com.google.protobuf.DescriptorProtos.DescriptorProto) Collections(java.util.Collections) MethodOptions(com.google.protobuf.DescriptorProtos.MethodOptions) FractionProto(com.google.type.FractionProto) MessageElement(com.squareup.wire.schema.internal.parser.MessageElement) EnumDescriptorProto(com.google.protobuf.DescriptorProtos.EnumDescriptorProto) ServiceDescriptorProto(com.google.protobuf.DescriptorProtos.ServiceDescriptorProto) Schema(com.squareup.wire.schema.Schema) ProtoFile(com.squareup.wire.schema.ProtoFile) Service(com.squareup.wire.schema.Service) DescriptorValidationException(com.google.protobuf.Descriptors.DescriptorValidationException) ProtoType(com.squareup.wire.schema.ProtoType) Type(com.squareup.wire.schema.Type) ProtoType(com.squareup.wire.schema.ProtoType) MessageType(com.squareup.wire.schema.MessageType) EnumType(com.squareup.wire.schema.EnumType) EnumType(com.squareup.wire.schema.EnumType) ServiceDescriptorProto(com.google.protobuf.DescriptorProtos.ServiceDescriptorProto) MethodDescriptorProto(com.google.protobuf.DescriptorProtos.MethodDescriptorProto) OneofDescriptorProto(com.google.protobuf.DescriptorProtos.OneofDescriptorProto) EnumDescriptorProto(com.google.protobuf.DescriptorProtos.EnumDescriptorProto) FileDescriptorProto(com.google.protobuf.DescriptorProtos.FileDescriptorProto) EnumValueDescriptorProto(com.google.protobuf.DescriptorProtos.EnumValueDescriptorProto) FieldDescriptorProto(com.google.protobuf.DescriptorProtos.FieldDescriptorProto) DescriptorProto(com.google.protobuf.DescriptorProtos.DescriptorProto) Syntax(com.squareup.wire.Syntax) FileDescriptorProto(com.google.protobuf.DescriptorProtos.FileDescriptorProto) MessageType(com.squareup.wire.schema.MessageType) FileOptions(com.google.protobuf.DescriptorProtos.FileOptions)

Aggregations

Syntax (com.squareup.wire.Syntax)8 EnumElement (com.squareup.wire.schema.internal.parser.EnumElement)8 MessageElement (com.squareup.wire.schema.internal.parser.MessageElement)8 OptionElement (com.squareup.wire.schema.internal.parser.OptionElement)8 ProtoFileElement (com.squareup.wire.schema.internal.parser.ProtoFileElement)8 ServiceElement (com.squareup.wire.schema.internal.parser.ServiceElement)8 TypeElement (com.squareup.wire.schema.internal.parser.TypeElement)8 ImmutableList (com.google.common.collect.ImmutableList)7 DescriptorProto (com.google.protobuf.DescriptorProtos.DescriptorProto)7 EnumDescriptorProto (com.google.protobuf.DescriptorProtos.EnumDescriptorProto)7 EnumValueDescriptorProto (com.google.protobuf.DescriptorProtos.EnumValueDescriptorProto)7 FieldDescriptorProto (com.google.protobuf.DescriptorProtos.FieldDescriptorProto)7 FileDescriptorProto (com.google.protobuf.DescriptorProtos.FileDescriptorProto)7 MethodDescriptorProto (com.google.protobuf.DescriptorProtos.MethodDescriptorProto)7 OneofDescriptorProto (com.google.protobuf.DescriptorProtos.OneofDescriptorProto)7 ServiceDescriptorProto (com.google.protobuf.DescriptorProtos.ServiceDescriptorProto)7 HashSet (java.util.HashSet)7 LinkedHashSet (java.util.LinkedHashSet)5 LOWER_UNDERSCORE (com.google.common.base.CaseFormat.LOWER_UNDERSCORE)4 UPPER_CAMEL (com.google.common.base.CaseFormat.UPPER_CAMEL)4