View Issue Details

IDProjectCategoryView StatusLast Update
0019403Open CASCADEOCCT:Application Frameworkpublic2012-01-11 17:54
ReporterszyAssigned Toszy 
PrioritynormalSeverityfeature 
Status closedResolutionfixed 
OSAll 
Fixed in Version6.3.0 
Summary0019403: Adding DeltaOnModification functioanlity to set of Standard attributes
DescriptionThis patch adds new DeltaOnModification functionality for set of next standard
attributes: ByteArray, IntegerArray, RealArray, ExtStringArray, IntPackeMap.
With this patch the mentioned DeltaOnModification feature becomes ready to use
for specified attributes. The choice use or not this feature is driven by the
corresponding boolean variable <isDelta> of the <Set> command of the attributes.
The attached archive includes:
- <adm> directory with UDLIST file
- <work> directory with srcripts dedicated for attributes testing
- <src> directory with sources.
Additional information
and documentation updates
Documentation remark, added by SZY 2008-04-01 13:30:59:

New features:
Implemented the possibility to use the specified attributes as in standard mode
(default mode) when during CommitTransaction command the full attribute value is
backuping as in DeltaOnModification mode, when only delta of attribute value
relative to old state is backuping. The new feature can be used in case when
attribute's value (array or packed map) expected of very big size and using of
standard backup mode becomes not effective.
The implementation allows using in the same document the same attributes as in
standard mode as in DeltaOnModification mode. The choice is driven by boolean
parameter <isDelta> of the corresponding <Set> command of the specified attribute.
It is ready to use and doesn't requires any additional efforts from a developer.
The mode (Default delta of DeltaonModification) of attribute using is not
supposed to be changed after initial set. If it is requested by an application
business logic the attribute with undesirable mode removed using Forget command).
Changes:
Each modified attribute (using new feature) received new methods:
 GetDelta(me) returns Boolean from Standard;
 ---C++: inline

 SetDelta(me : mutable; isDelta : Boolean from Standard);
 ---C++: inline
 ---Purpose: for internal use only by the class developer!

 RemoveArray(me : mutable) is private;
 ---C++: inline
 DeltaOnModification(me; anOldAttribute : Attribute from TDF)
 returns DeltaOnModification from TDF is redefined virtual;
 ---Purpose : Makes a DeltaOnModification between <me> and
 -- <anOldAttribute>.

and new class supporting DeltaOnModification mechanism:
  TDataStd_DeltaOnModificationOfByteArray,
  TDataStd_DeltaOnModificationOfExtStringArray,
  TDataStd_DeltaOnModificationOfIntArray,
  TDataStd_DeltaOnModificationOfIntPackedMap,
  TDataStd_DeltaOnModificationOfRealArray.

Corresponding persistence classes for all supporting formats (Standard, BinOcaf,
XmlOcaf) were modified too.
Modified entities:
BinLDrivers:
  BinLDrivers.cxx
  BinLDrivers_DocumentRetrievalDriver.cxx
BinMDataStd:
  BinMDataStd.cdl
  BinMDataStd.cxx
  BinMDataStd_ByteArrayDriver.cxx
  BinMDataStd_ExtStringArrayDriver.cxx
  BinMDataStd_IntegerArrayDriver.cxx
  BinMDataStd_IntPackedMapDriver.cxx
  BinMDataStd_RealArrayDriver.cxx
DDataStd:
  DDataStd_BasicCommands.cxx
MDataStd:
  MDataStd.cdl
  MDataStd.cxx
  MDataStd_ByteArrayRetrievalDriver.cxx
  MDataStd_ByteArrayRetrievalDriver_1.cdl
  MDataStd_ByteArrayRetrievalDriver_1.cxx
  MDataStd_ByteArrayStorageDriver.cxx
  MDataStd_ExtStringArrayRetrievalDriver_1.cdl
  MDataStd_ExtStringArrayRetrievalDriver_1.cxx
  MDataStd_ExtStringArrayStorageDriver.cxx
  MDataStd_IntegerArrayRetrievalDriver_1.cdl
  MDataStd_IntegerArrayRetrievalDriver_1.cxx
  MDataStd_IntegerArrayStorageDriver.cxx
  MDataStd_IntPackedMapRetrievalDriver_1.cdl
  MDataStd_IntPackedMapRetrievalDriver_1.cxx
  MDataStd_IntPackedMapStorageDriver.cxx
  MDataStd_RealArrayRetrievalDriver_1.cdl
  MDataStd_RealArrayRetrievalDriver_1.cxx
  MDataStd_RealArrayStorageDriver.cxx
PDataStd:
  PDataStd.cdl
  PDataStd_ByteArray_1.cdl
  PDataStd_ByteArray_1.cxx
  PDataStd_ExtStringArray_1.cdl
  PDataStd_ExtStringArray_1.cxx
  PDataStd_IntegerArray_1.cdl
  PDataStd_IntegerArray_1.cxx
  PDataStd_IntPackedMap_1.cdl
  PDataStd_IntPackedMap_1.cxx
  PDataStd_RealArray_1.cdl
  PDataStd_RealArray_1.cxx
TDataStd:
  TDataStd.cdl
  TDataStd_ByteArray.cdl
  TDataStd_ByteArray.cxx
  TDataStd_ByteArray.lxx
  TDataStd_DeltaOnModificationOfByteArray.cdl
  TDataStd_DeltaOnModificationOfByteArray.cxx
  TDataStd_DeltaOnModificationOfExtStringArray.cdl
  TDataStd_DeltaOnModificationOfExtStringArray.cxx
  TDataStd_DeltaOnModificationOfIntArray.cdl
  TDataStd_DeltaOnModificationOfIntArray.cxx
  TDataStd_DeltaOnModificationOfIntPackedMap.cdl
  TDataStd_DeltaOnModificationOfIntPackedMap.cxx
  TDataStd_DeltaOnModificationOfRealArray.cdl
  TDataStd_DeltaOnModificationOfRealArray.cxx
  TDataStd_ExtStringArray.cdl
  TDataStd_ExtStringArray.cxx
  TDataStd_ExtStringArray.lxx
  TDataStd_Integer.cxx
  TDataStd_IntegerArray.cdl
  TDataStd_IntegerArray.cxx
  TDataStd_IntegerArray.lxx
  TDataStd_IntPackedMap.cdl
  TDataStd_IntPackedMap.cxx
  TDataStd_IntPackedMap.lxx
  TDataStd_RealArray.cdl
  TDataStd_RealArray.cxx
  TDataStd_RealArray.lxx
XmlLDrivers:
  XmlLDrivers.cdl
  XmlLDrivers.cxx
  XmlLDrivers_DocumentRetrievalDriver.cxx
  XmlLDrivers_DocumentStorageDriver.cxx
XmlMDataStd:
  XmlMDataStd.cdl
  XmlMDataStd.cxx
  XmlMDataStd_ByteArrayDriver.cxx
  XmlMDataStd_ExtStringArrayDriver.cxx
  XmlMDataStd_IntegerArrayDriver.cxx
  XmlMDataStd_IntPackedMapDriver.cxx
  XmlMDataStd_RealArrayDriver.cxx
TagsNo tags attached.
Test case number

Attached Files

  • DeltaOnModification-v1.tar.gz (55,184 bytes)
  • DeltaOnModification-v2.tar.gz (56,188 bytes)
  • 19279-19433-19308-19403-18570.tar.gz (118,094 bytes)

Activities

2008-03-28 14:17

 

DeltaOnModification-v1.tar.gz (55,184 bytes)

2008-04-01 13:18

 

DeltaOnModification-v2.tar.gz (56,188 bytes)

2008-05-08 13:20

 

19279-19433-19308-19403-18570.tar.gz (118,094 bytes)

Issue History

Date Modified Username Field Change
2008-03-28 16:38 bugmaster Assigned To bugmaster => szy
2008-03-28 16:38 bugmaster Status new => assigned
2008-04-15 12:19 szy Status assigned => resolved
2008-05-22 10:45 bugmaster Status resolved => tested
2008-05-22 10:59 bugmaster Status tested => verified
2009-06-23 19:11 bugmaster Status verified => closed
2009-06-23 19:11 bugmaster Resolution @0@ => fixed
2011-08-02 10:32 bugmaster Category OCCT:OCAF => OCCT:Application Framework
2012-01-11 17:54 atp Description Updated
2012-01-11 17:54 atp Additional Information Updated