This pull request fixes issue #10, #11 and allows to build the library outside of EBI with the addition of the ebi-repos profile switch.
The fix for #11 was quite involved since it required changes of the column order string generation and calculation. It is now controlled by a new property in MZTabConstants, with a reasonable number of digits to accomodate up to 99.999 optional columns. The previous issue was caused by (unchecked) overwriting of the columns registered in the factory, whenever the previously used, two digit order code exceeded 99 and rolled to 100. Since only the first two digits were used before, column 100 got assigned the key 10, which was already assigned to a stable column. I have updated the existing tests to pass, adapting some of the test assumptions to the new scheme, however, the fix may have downstream effects that I am not aware of. I have also added a test to demonstrate that issue #11 has been resolved.
This pull request fixes issue #10, #11 and allows to build the library outside of EBI with the addition of the ebi-repos profile switch.
The fix for #11 was quite involved since it required changes of the column order string generation and calculation. It is now controlled by a new property in MZTabConstants, with a reasonable number of digits to accomodate up to 99.999 optional columns. The previous issue was caused by (unchecked) overwriting of the columns registered in the factory, whenever the previously used, two digit order code exceeded 99 and rolled to 100. Since only the first two digits were used before, column 100 got assigned the key 10, which was already assigned to a stable column. I have updated the existing tests to pass, adapting some of the test assumptions to the new scheme, however, the fix may have downstream effects that I am not aware of. I have also added a test to demonstrate that issue #11 has been resolved.