Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

What is the distinction between Dictionary and ControlledDictionary? #469

Closed
4 tasks done
ajnelson-nist opened this issue Aug 23, 2022 · 4 comments · Fixed by #476
Closed
4 tasks done

What is the distinction between Dictionary and ControlledDictionary? #469

ajnelson-nist opened this issue Aug 23, 2022 · 4 comments · Fixed by #476

Comments

@ajnelson-nist
Copy link
Contributor

ajnelson-nist commented Aug 23, 2022

While implementing Issue 430, I observed types:Dictionary and types:ControlledDictionary are both parentless classes. I could not see a reason that ControlledDictionary would not be a subclass of Dictionary.

The practical difference I see between the two is the corresponding entry class, where ControlledDictionaryEntry verbally describes a constraint on a set of values. There is no implementation of such a constraint.

Is the intent for ControlledDictionary to be a disjoint class from Dictionary, and likewise for their Entry classes?

Coordination

  • Tracking in Jira ticket OC-22
  • Administrative review completed
  • Implementation merged into develop
  • Milestone linked
  • Documentation logged in pending release page
@sbarnum
Copy link
Contributor

sbarnum commented Aug 25, 2022

I believe you are correct. I believe ControlledDictionary should be a subclass of Dictionary (and ControlledDictionaryEntry a subclass of DictionaryEntry) as the difference is them is simply a narrowing constraint on the set of values allowed in the types:key property of ControlledDictionaryEntry class.

@ajnelson-nist
Copy link
Contributor Author

I will implement subclassing as a bugfix.

@ajnelson-nist ajnelson-nist added this to the UCO 1.0.0 milestone Aug 25, 2022
@ajnelson-nist
Copy link
Contributor Author

Once PR 418 is merged, I'll file a PR to fix this.

ajnelson-nist added a commit that referenced this issue Aug 30, 2022
No effects were observed on Make-managed files.

References:
* #469

Signed-off-by: Alex Nelson <alexander.nelson@nist.gov>
@ajnelson-nist ajnelson-nist linked a pull request Aug 30, 2022 that will close this issue
11 tasks
@ajnelson-nist
Copy link
Contributor Author

Implementation is being tested in PR 476.

ajnelson-nist added a commit to casework/CASE-Archive that referenced this issue Aug 30, 2022
No effects were observed on Make-managed files.

References:
* ucoProject/UCO#469

Signed-off-by: Alex Nelson <alexander.nelson@nist.gov>
ajnelson-nist added a commit to casework/CASE-Examples that referenced this issue Aug 30, 2022
No effects were observed on Make-managed files.

References:
* ucoProject/UCO#469

Signed-off-by: Alex Nelson <alexander.nelson@nist.gov>
ajnelson-nist added a commit to casework/casework.github.io that referenced this issue Aug 30, 2022
A follow-on patch will regenerate Make-managed files.

References:
* ucoProject/UCO#469

Signed-off-by: Alex Nelson <alexander.nelson@nist.gov>
ajnelson-nist added a commit to casework/casework.github.io that referenced this issue Aug 30, 2022
References:
* ucoProject/UCO#469

Signed-off-by: Alex Nelson <alexander.nelson@nist.gov>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants