Bug 498419 - Duplicated entries in generated kmymoney xml file
Summary: Duplicated entries in generated kmymoney xml file
Status: RESOLVED NOT A BUG
Alias: None
Product: kmymoney
Classification: Applications
Component: file (other bugs)
Version First Reported In: git (master)
Platform: Other All
: NOR normal
Target Milestone: ---
Assignee: KMyMoney Devel Mailing List
URL:
Keywords:
Depends on:
Blocks: 498416
  Show dependency treegraph
 
Reported: 2025-01-09 10:11 UTC by Ralf Habacker
Modified: 2025-01-21 21:06 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments
test file (11.51 KB, text/xml)
2025-01-09 10:11 UTC, Ralf Habacker
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Ralf Habacker 2025-01-09 10:11:58 UTC
Created attachment 177224 [details]
test file

SUMMARY
A generated kmymoney-xml file contains a <FILEINFO> and a <KEYVALUEPAIRS> tag, as shown below:

<KMYMONEY-FILE>
  <FILEINFO>
    <CREATION_DATE date=“”/>
    <LAST_MODIFIED_DATE date=„2024-09-09T22:58:54+02:00“/>
    <VERSION id=“1”/>
    <FIXVERSION date=“”/>
    <APPVERSION id=„5.1.80-a82f24b57“/>
  </FILEINFO>
...

  <KEYVALUEPAIRS>
    <PAIR key=„LastModificationDate“ value=„2024-09-09T22:58:54+02:00“/>
    <PAIR key=“kmm-baseCurrency” value=“USD”/>
    <PAIR key=„kmm-id“ value=„{1bc5425b-d897-4dea-a489-2db5abd97368}“/>
  </KEYVALUEPAIRS>
</KMYMONEY-FILE>

This file contains duplicate xml tags as described below.

STEPS TO REPRODUCE
1. open the attached kmymoney file
2. check the contained xml tag <FILEINFO> 

OBSERVED RESULT
The xml tag <LAST_MODIFIED_DATE> is duplicated in the <KEYVALUEPAIRS> tag and with a correction for the bug 498416 also the <FIXVERSION>.

EXPECTED RESULT
No xml tags from the <FILEINFO> tag should be duplicated in the <KEYVALUEPAIRS> tag.

SOFTWARE/OS VERSIONS
Operating System: openSUSE Leap 15.6
KDE Plasma Version: 5.27.11
KDE Frameworks Version: 5.115.0
Qt Version: 5.15.12

ADDITIONAL INFORMATION
Comment 1 Ralf Habacker 2025-01-09 12:24:27 UTC
> Created attachment 177224 [details]
> The xml tag <LAST_MODIFIED_DATE> is duplicated in the <KEYVALUEPAIRS> tag
In fact the key is different, but the value is the same

> and with a correction for the bug 498416 also the <FIXVERSION>.
here the key is really duplicated.
Comment 2 Thomas Baumgart 2025-01-09 15:40:05 UTC
The reason for this is usually some form of backward compatibility. And since it does not hurt, I don't want to touch it right now.
Comment 3 Ralf Habacker 2025-01-18 17:43:57 UTC
Git commit bf9eceb8baef59f704632c34064105532aa1b792 by Ralf Habacker.
Committed on 18/01/2025 at 17:17.
Pushed by habacker into branch 'master'.

Add workaround for writing key value container into xml file

Without this workaround, a tag that is located in the FILEINFO
tag is duplicated in the KEYVALUEPAIRS tag.

M  +4    -1    kmymoney/plugins/xml/mymoneyxmlwriter.cpp

https://invent.kde.org/office/kmymoney/-/commit/bf9eceb8baef59f704632c34064105532aa1b792
Comment 4 Ralf Habacker 2025-01-21 21:06:43 UTC
Git commit 4bc12e2aee51167a817db3f9b3d45275cabbbb93 by Ralf Habacker.
Committed on 21/01/2025 at 19:01.
Pushed by habacker into branch 'master'.

Add member fileInfoModel to class MyMoneyFile

The newly introduced member contains information about the
imported file or database in contrast to the 'kmm-*'
key/values pairs contained in member parametersModel.

M  +2    -2    kmymoney/dialogs/kmymoneyfileinfodlg.cpp
M  +11   -3    kmymoney/mymoney/mymoneyfile.cpp
M  +5    -0    kmymoney/mymoney/mymoneyfile.h
M  +2    -2    kmymoney/mymoney/storage/mymoneystoragedump.cpp
M  +1    -1    kmymoney/plugins/sql/mymoneydbdef.cpp
M  +1    -3    kmymoney/plugins/xml/mymoneyxmlreader.cpp
M  +5    -5    kmymoney/plugins/xml/mymoneyxmlwriter.cpp
M  +9    -8    kmymoney/plugins/xml/tests/mymoneyxmlreader-test.cpp

https://invent.kde.org/office/kmymoney/-/commit/4bc12e2aee51167a817db3f9b3d45275cabbbb93