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

Codegen doesn't support nullable types

Ouverte
#149 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub
bug question
Langage dominant
Java
Étoiles
30
Forks
48
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

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'
```

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

L’échec se trouve dans rpdk/java/pojo_resolver.py, dans _java_property_type, atteint via cfn-cli generate ; commencez par là et reproduisez-le avec le schéma nullable Canceled. C’est terminé lorsque la génération réussit pour la propriété ["integer", "null"] sans l’erreur unhashable-list.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
java
Domaine
tooling
Type d'issue
Bug
Difficulté
2/5
Temps estimé
1-3 heures
Activité
À l'abandon
Clarté
Clairement spécifiée
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.