Mantis Bug Tracker Workflow

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0029217Open CASCADE[OCCT] OCCT:Application Frameworkpublic2017-10-12 14:472017-10-20 15:40
Assigned Toabv 
PlatformOSOS Version
Product Version[OCCT] 7.2.0 
Target Version[OCCT] 7.3.0*Fixed in Version 
Summary0029217: Application Framework - nonsense API method XmlLDrivers::SetStorageVersion()
DescriptionThe 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.
TagsNo tags attached.
Test case number
Attached Files

- Relationships

-  Notes
git (administrator)
2017-10-19 16:25

Branch CR29217 has been created by vro.

SHA-1: 248dd6ca65ced8d4bd648f56a5eb6e3839b65c9d

Detailed log of new commits:

Author: vro
Date: Thu Oct 19 16:24:15 2017 +0300

    0029217: Application Framework - nonsense API method XmlLDrivers::SetStorageVersion()
mpv (developer)
2017-10-20 15:34

Dear KGV,

Could you review this fix from your case point of view.
kgv (developer)
2017-10-20 15:40

vro written:

- 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: [^] [^]

Any remarks are welcome!

- Issue History
Date Modified Username Field Change
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
Powered by Mantis Bugtracker