|Anonymous | Login||2017-12-14 20:03 MSK|
|My View | View Issues | Change Log | Roadmap|
|View Issue Details|
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0029217||Open CASCADE||[OCCT] OCCT:Application Framework||public||2017-10-12 14:47||2017-10-20 15:40|
|Product Version||[OCCT] 7.2.0|
|Target Version||[OCCT] 7.3.0*||Fixed in Version|
|Summary||0029217: Application Framework - nonsense API method XmlLDrivers::SetStorageVersion()|
|Description||The patch for #0028691 introduced new feature ability to save OCAF document within XML persistence formats which can be (theoretically?) opened by earlier OCCT versions - at least Open CASCADE 6.7.0.|
However, the way it was implemented (new global method XmlLDrivers::SetStorageVersion()) is quite questionable:
- No documentation provided anywhere, including API methods and Draw Harness command.
No description provided about possible side effects of settings version below last.
- Patch does not clarifies what has been introduced within version 9 comparing to 8.
- No any checks for supported/unsupported version numbers.
One may set any version.
Only test case bugs/caf/bug28691 suggests that at least 7 and 9 are valid numbers.
- No API provided returning actual (last) version of format.
- XmlLDrivers_DocumentRetrievalDriver also uses XmlLDrivers::StorageVersion()
resulting in read failure if application wants writing XML file
in compatible mode (e.g. set version 7) and then try reading file
written in latest format (9), which does not make sense.
|Tags||No tags attached.|
|Test case number|
Branch CR29217 has been created by vro.
Detailed log of new commits:
Date: Thu Oct 19 16:24:15 2017 +0300
0029217: Application Framework - nonsense API method XmlLDrivers::SetStorageVersion()
Could you review this fix from your case point of view.
- multiple definition of the document version in BinLDrivers, XmlLDrivers, ... is removed;
- a document version variable now belongs to each instance of the document (TDocStd_Document);
- it is possible to change the document version.
- a comment for the new methods of TDocStd_Document describe a purpose of the methods and how to use them.
The branch is compiled and tested: http://jenkins-test-10.nnov.opencascade.com/view/CR29217-master-vro/view/START%20BRANCH%20CERTIFICATION/ [^] [^]
Any remarks are welcome!
|2017-10-12 14:47||kgv||New Issue|
|2017-10-12 14:47||kgv||Assigned To||=> mpv|
|2017-10-12 14:47||kgv||Relationship added||related to 0028691|
|2017-10-12 14:54||kgv||Relationship added||related to 0029216|
|2017-10-12 14:54||mpv||Assigned To||mpv => vro|
|2017-10-19 16:25||git||Note Added: 0071646|
|2017-10-20 09:05||vro||Assigned To||vro => mpv|
|2017-10-20 09:05||vro||Status||new => resolved|
|2017-10-20 09:05||vro||Steps to Reproduce Updated||View Revisions|
|2017-10-20 15:34||mpv||Assigned To||mpv => kgv|
|2017-10-20 15:34||mpv||Note Added: 0071662|
|2017-10-20 15:40||kgv||Note Added: 0071664|
|2017-10-20 15:40||kgv||Steps to Reproduce Updated||View Revisions|
|2017-10-20 15:40||kgv||Assigned To||kgv => abv|
|Copyright © 2000 - 2017 MantisBT Team|