|
|
|
| Story Lead | BenScott |
| FEA | |
| Acceptance Criteria | |
|
< < |
| Passed acceptance test | No |
|
> > |
| Passed acceptance test | Yes |
|
|
Full story
The core Java code for JCCL is a complete mess. Among other problems, it fails to:
- Do event notifications correctly when objects change.
- Make it possible to support support multiple separate views into configuration.
|
< < |
- Support a ConfigChunk? version upgrade path
|
> > |
- Support a ConfigChunk version upgrade path
|
|
- Be readable
For some time now, I have been trying to refactor the existing code to no avail. The existing codebase is far to inflexible to support current configuration needs. Therefore, a complete rewrite of the core Java configuration code is required.
|
|
Implementation notes
I am renaming the following concepts in order to reduce the number of times I have to explain what a "Chunk" is:
|
< < |
- ConfigChunk? is now ConfigElement?
- ChunkDesc? is now ConfigDefinition?
- PropertyDesc? is now PropertyDefinition?
- A PropertyDesc?'s item is now a PropertyValueDefinition?
|
> > |
- ConfigChunk is now ConfigElement
- ChunkDesc is now ConfigDefinition
- PropertyDesc is now PropertyDefinition
- A PropertyDesc's item is now a PropertyValueDefinition
|
|
I am also revising the configuration definition file format in order to simplify configuration definition lookup rules and to support versioning. All version of each configuration definition shall be located in its own file named token.jdef. A search path shall be used to locate the configuration definition files. This allows us to no longer require the monolithic configuration definition file.
|
|
|
< < |
| Task | 3 | 3 | 0 | Low | | BenScott | Create ConfigElement? to replace ConfigChunk?. |
| Task | 3 | 3 | 0 | Low | | BenScott | Create ConfigDefinition? to replace ChunkDesc?. |
| Task | 3 | 2 | 0 | Low | | BenScott | Create PropertyDefinition? to replace PropertyDesc?. |
|
> > |
| Task | 3 | 3 | 0 | Low | | BenScott | Create ConfigElement to replace ConfigChunk. |
| Task | 3 | 3 | 0 | Low | | BenScott | Create ConfigDefinition to replace ChunkDesc. |
| Task | 3 | 2 | 0 | Low | | BenScott | Create PropertyDefinition to replace PropertyDesc. |
|
|
| Task | 3 | 1 | 0 | Medium | | BenScott | Create a framework for supporting multiple parsers to handle various file format versions. |
| Task | 6 | 8 | 0 | Medium | | BenScott | Write a parser for the new configuration definition file format. |
| Task | 6 | 7 | 0 | Medium | | BenScott | Write a parser for the configuration element file format. |
|
< < |
| Task | 16 | 0 | 16 | Low | | BenScott | Convert VrjConfig? over to the new API. |
| Task | 6 | 0 | 6 | Medium | | BenScott | Rewrite the C++ PropertyDesc?. |
| Task | 6 | 0 | 6 | Medium | | BenScott | Rewrite the C++ ChunkDesc?. |
| Task | 6 | 0 | 6 | Medium | | BenScott | Rewrite the C++ ConfigChunk?. |
|
> > |
| Task | 16 | 16 | 0 | Low | | BenScott | Convert VrjConfig over to the new API. |
| Task | 6 | 6 | 0 | Medium | | BenScott | Rewrite the C++ PropertyDesc. |
| Task | 6 | 6 | 0 | Medium | | BenScott | Rewrite the C++ ChunkDesc. |
| Task | 6 | 6 | 0 | Medium | | BenScott | Rewrite the C++ ConfigChunk. |
|
|
Task details:
|