aws-cloudformation / aws-cloudformation/cloudformation-cli-java-plugin

Codegen doesn't support nullable types

Đang mở
#149 1 bình luận 0 reaction 0 người được giao Xem trên GitHub
bug question
Ngôn ngữ chính
Java
Star
30
Fork
48
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

This is the property that I’m trying to define:

"Canceled": {
"description": "POSIX Timestamp of cancellation of this downtime (null if not canceled)",
"type": ["integer", "null"]
},

This should be ok according to JsonSchema, but `cfn-cli generate` fails and rpdk.log contains this:

```
Traceback (most recent call last):
File "/Users/.../programming/aws-cloudformation-rpdk-nightly/env/lib/python3.7/site-packages/rpdk/core/cli.py", line 95, in main
args.command(args)
File "/Users/.../programming/aws-cloudformation-rpdk-nightly/env/lib/python3.7/site-packages/rpdk/core/generate.py", line 15, in generate
project.generate()
File "/Users/.../programming/aws-cloudformation-rpdk-nightly/env/lib/python3.7/site-packages/rpdk/core/project.py", line 190, in generate
return self._plugin.generate(self)
File "/Users/.../programming/aws-cloudformation-rpdk-nightly/env/lib/python3.7/site-packages/rpdk/java/codegen.py", line 255, in generate
pojos = pojo_resolver.resolve_pojos()
File "/Users/.../programming/aws-cloudformation-rpdk-nightly/env/lib/python3.7/site-packages/rpdk/java/pojo_resolver.py", line 58, in resolve_pojos
java_property_map[prop_name] = self._java_property_type(prop_schema)
File "/Users/.../programming/aws-cloudformation-rpdk-nightly/env/lib/python3.7/site-packages/rpdk/java/pojo_resolver.py", line 88, in _java_property_type
return primitive_types_map[json_type]
TypeError: unhashable type: 'list'
```

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Hướng nghiên cứu

Lỗi nằm trong rpdk/java/pojo_resolver.py, tại _java_property_type, được gọi qua cfn-cli generate; hãy bắt đầu từ đó và tái hiện lỗi bằng schema nullable Canceled. Công việc được hoàn tất khi quá trình tạo thành công cho thuộc tính ["integer", "null"] mà không có lỗi unhashable-list.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
java
Lĩnh vực
tooling
Loại issue
Lỗi
Độ khó
2/5
Thời gian dự kiến
1-3 giờ
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Đặc tả rõ ràng
Mức phù hợp với người mới
35/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.