Advertisement
Guest User

Untitled

a guest
Mar 22nd, 2019
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.67 KB | None | 0 0
  1. private Stream<PluginProtos.CodeGeneratorResponse.File> handleMessageType(final DescriptorProtos.DescriptorProto messageTypeDesc) {
  2. String fileName = javaPackage.replace(".", "/") + "/" + messageTypeDesc.getName() + JAVA_EXTENSION;
  3.  
  4. String builder_methods = messageTypeDesc.getFieldList().stream()
  5. .map(this::handleBuilderField)
  6. .filter(StringUtils::isNotBlank)
  7. .collect(Collectors.joining("\n\n"));
  8.  
  9. List<PluginProtos.CodeGeneratorResponse.File> files = new ArrayList<>();
  10. if (StringUtils.isNotBlank(builder_methods)) {
  11. String builderScopeStr = builder_methods + "\n\n";
  12.  
  13. files.add(PluginProtos.CodeGeneratorResponse.File
  14. .newBuilder()
  15. .setName(fileName)
  16. .setContent(builderScopeStr)
  17. .setInsertionPoint("builder_scope:" + fileDesc.getPackage() + "." + messageTypeDesc.getName())
  18. .build()
  19. );
  20. }
  21.  
  22. String classScopeStr = messageTypeDesc.getFieldList().stream()
  23. .filter(field -> field.getLabel() != DescriptorProtos.FieldDescriptorProto.Label.LABEL_REPEATED)
  24. .map(this::handleClassField)
  25. .filter(StringUtils::isNotBlank)
  26. .collect(Collectors.joining("\n\n"));
  27.  
  28. if (StringUtils.isNotBlank(classScopeStr)) {
  29. files.add(PluginProtos.CodeGeneratorResponse.File
  30. .newBuilder()
  31. .setName(fileName)
  32. .setContent(classScopeStr)
  33. .setInsertionPoint("class_scope:" + fileDesc.getPackage() + "." + messageTypeDesc.getName())
  34. .build()
  35. );
  36. }
  37.  
  38. // create a new file for protoc to write
  39. return files.stream();
  40. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement