[Proposal] Use unboxed boolean types in ResourceHandlerRequest
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 35/100
Research direction
Start by locating ResourceHandlerRequest and reviewing the two linked commits that introduced the boxed Boolean fields. Check how snapshotRequested and rollback are used, then determine whether primitive booleans are appropriate and whether existing tests cover null or boolean condition checks. Done means the rationale is resolved and the chosen flag types work safely for callers.
Written by the indexing model from the issue text.
Description
There are 2 recent changes that landed in ResourceHandlerRequest: https://github.com/aws-cloudformation/cloudformation-cli-java-plugin/commit/ebca1dc12e187b484ed599db65d726a6b23a14c0#diff-adfb207dac8dff5107b68b36280ccad4525f92176184ad2ffff9aa7e591b2e8a and https://github.com/aws-cloudformation/cloudformation-cli-java-plugin/commit/e34f0472d0bc67953f41d4ceb666a175d0a7fb2d#diff-adfb207dac8dff5107b68b36280ccad4525f92176184ad2ffff9aa7e591b2e8a.
Both changes favor boxed Boolean over primitive types.
As a result, the usage of this class implies on importing BooleanUtils or a similar helper in order to avoid constructions like: if (request.getSnapshotRequested() != null && request.getSnapshotRequested() == true) { ... }.
And the code that is performing a "naive" boolean comparison like: if (request.getSnapshotRequested()) { ... } will fail with a null-pointer exception.
The same stands for the rollback flag.
I wonder if var type boxing was done for some specific reasons? If there are no strict reasons, I would vote for unboxing them to simplify condition checking.
- Dominant language
- Java
- Stars
- 30
- Forks
- 48
- PR merge metrics
- No merged PRs in 30d
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from aws-cloudformation/cloudformation-cli-java-plugin
-
Difficulty 4/5 3-5 days Newbie friendliness 25/100
aws-cloudformation/cloudformation-cli-java-plugin#415 · 1 comment ·
-
Difficulty 4/5 3-5 days Newbie friendliness 42/100
-
Difficulty 5/5 Over a week Newbie friendliness 25/100
-
Difficulty 4/5 3-5 days Newbie friendliness 20/100
-
injectCredentialsAndInvokeV2 method in proxy class doesn't support API's like PutObject from S3. Open
Difficulty 5/5 Over a week Newbie friendliness 25/100
All issues in aws-cloudformation/cloudformation-cli-java-plugin
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
elastic/gradle-plugins#157 ·
-
enhancement Tools
Difficulty 1/5 Under an hour Newbie friendliness 75/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
apache/rocketmq-dashboard#5008 ·
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
-
DETECT_PARAMETER_NAMES=false silently disables @ConstructorProperties-based Creator detection too Open
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
FasterXML/jackson-databind#6229 ·