Michiel van der Wulp commited my patch to the documentation which includes the C++ generator documentation. Daniele Tamino created two of the above issues, but, I must check the problems I had with duplicate tagged values. In the ArgoUML GUI the duplicated values are shown and reloaded correctly. Maybe this is only replicable when the tagged values are queried like when the C++ module tries to find it... No, it works correctly, so, the warning and TODO will be replaced with a hint to use multiple times the tag.
The issues are:
I have already successfully created the appendix. DocBook is very verbose and for an unexperienced person like me it is awkward to have a slow iteraction to see what errors exist in the file – I'm generating the documentation and this takes very long because the manual is the last to be processed; it also bails on the first error, so, each error cost me a lot! I know that some nice eclipse plugin exists, but, I would like to have the functionality of verifying the syntax in Vim. I guess I must look for this...
Another option is to use a separate validator, like the NetBeans XML module, but, that seams
to be a bit overkill! There must be something in the Vim plugin universe ;-) On second thought, I'll give a chance to Netbeans... Yeah, it works like a charm! Just open the
argomanual.xml file and validate :-))
New issues: C++ generator limitation, duplicated tags in ArgoUML and inaccuracies in the documentation readme
While working in the documentation of the C++ module I found that there exists a serious limitation in the way some tagged values are used. The problem is with tagged values for things that the modeler might want to introduce multiple times. An example is the
header_incl tag which value is set to a file name that will be included in the header. Well, this is something that is typically done several times.
Although ArgoUML allows entering the same tag more than once with different values, its internals get confused and every tag disappears. I think that this qualifies as a bug and I'll try to fix it.
So, without the option to repeat the same tag several times with different values, one as the possibility to either use tag prefixes or assume some separation character in the tagged value value. I think the latest is better and will propose it in a possible fix.
TODO: create issue for ArgoUML allowing creation of duplicated tagged values.
TODO: create issue for C++ module use of some tagged values so that it allows multiple values to be specified.
TODO: submit the documentation readme corrections.
I finished the test for
DerivedFromAbstract.cxx translation unit and made a new test that looks for duplicates when reverse is repeated. The
ModelerImpl now passes the tests defined in
TestCppImport. I will now take some time off from implementing reverse engineering for C++ in ArgoUML and write the C++ module appendix of the ArgoUML user manual (issue #2857).
The ArgoUML documentation is written in the DocBook format. It takes the form of a group of XML files according to the DocBook XML. The cookbook explains very well this and I will try to follow those instructions. As stated above, the C++ module will be documented as an appendix, so, this means that I'll create a new XML file in
/cvs/argouml/documentation/manual, which I'll name
app_cppmod.xml. I'll try to keep the appendix simple, and mainly put in there the information for the code generation users. Latter I might ask collaboration from Daniele to review and add details regarding his new developments.