Free cookie consent management tool by TermsFeed Policy Generator

Opened 16 years ago

Closed 14 years ago

Last modified 14 years ago

#548 closed task (done)

Review new persistence framework

Reported by: epitzer Owned by: epitzer
Priority: medium Milestone: HeuristicLab 3.3.0
Component: Persistence Version: 3.2
Keywords: Cc:

Description

The new persistence framework has been merged into the trunk as HL plugin and is ready to be criticized.

Change History (75)

comment:1 Changed 16 years ago by swagner

  • Summary changed from Review New Persistence Framework to Review new persistence framework

comment:2 Changed 16 years ago by epitzer

Numerous small changes, coding conventions, renames, mini refactoring (r1542)

comment:3 Changed 16 years ago by epitzer

  • Owner changed from gkronber to epitzer
  • Status changed from new to assigned

comment:4 Changed 16 years ago by epitzer

Replace final fixes for broken parent references with separation of instance creation with meta information. (r1553)

comment:5 Changed 16 years ago by epitzer

XML formatters for all primitive numeric types. (r1554)

comment:6 Changed 16 years ago by epitzer

More renaming and refactoring. (r1555)

comment:7 Changed 16 years ago by epitzer

Namespace refactoring. (r1556)

comment:8 Changed 16 years ago by epitzer

  • Stricter requirements for IDs in serialization tokens. (r1562)
  • Mark decomposers as empty storable class. (r1563)

comment:9 Changed 16 years ago by epitzer

  • Stronger typing for formatters with the help of generics.
  • Separate format and serial data type.

(r1564)

comment:10 Changed 16 years ago by epitzer

Adapt Persistence.GUI to new formatter structure. (r1565)

comment:11 Changed 16 years ago by epitzer

Format white space. (Ctrl-K, Ctrl-D) (r1566)

comment:12 Changed 16 years ago by epitzer

One file per class; rename ViewOnlyFormat -> DebugStringFormat (r1567)

comment:13 Changed 16 years ago by epitzer

Move Persistence.Test to subfolder. (r1568) Update persistence tests. (r1569)

comment:14 Changed 16 years ago by epitzer

Streamline XML generation with StringBuilders (r1570)

comment:15 Changed 16 years ago by epitzer

Reset/Re-initialize persistence configuration within GUI. (r1611)

comment:16 Changed 16 years ago by epitzer

namespace refactoring (r1612)

comment:17 Changed 16 years ago by epitzer

Rename sources fill to fit class name (r1613)

comment:18 Changed 16 years ago by epitzer

fail early if deserializer for type in type cache is unavailable. (r1619)

comment:19 Changed 16 years ago by epitzer

replace Getter and Setter delegates with .NET stock Func<object> and Action<object> (r1620)

comment:20 Changed 16 years ago by epitzer

New test case to ensure some coding conventions. (r1621)

comment:21 Changed 16 years ago by epitzer

Namespace refactoring, visibility check (r1623)

comment:22 Changed 16 years ago by epitzer

Added PersistenceException used consistently for all error conditions in the persistence framework (r1625)

comment:23 Changed 16 years ago by epitzer

suspend layout during dynamic GUI generation (r1642)

comment:24 Changed 16 years ago by epitzer

support for default disabled decomposers, re-activate number2string decomposer with negative priority. (r1644)

comment:25 Changed 16 years ago by epitzer

Implement missing primitive formatter for char and add more comprehensive tests. (r1652)

comment:26 Changed 16 years ago by epitzer

more testing. (r1653)

comment:27 Changed 16 years ago by epitzer

Streamline formatter configuration interface. Source types are already embedded in formatter generic type. (r1654)

comment:28 Changed 16 years ago by epitzer

Separate TypeExtensions into its own file. (r1658)

comment:29 Changed 16 years ago by epitzer

Add missing attributes and create type hierarchy for formatters. (r1659)

comment:30 Changed 16 years ago by epitzer

Display a MessageBox if persistence application settings are corrupted. (r1660)

comment:31 Changed 15 years ago by epitzer

reset ZipEntry data to make binary objects comparable (r2718)

comment:32 Changed 15 years ago by epitzer

incorporate persistence fixes from test branch (r2734, r2735, r2736 -> r2737)

comment:33 Changed 15 years ago by epitzer

fix handling of PublicKeyToken in TypeNameParser (r2859)

comment:34 Changed 15 years ago by epitzer

Add using around ZipFile to prevent a locked file in case of a deserialization exception (r2874)

comment:35 Changed 15 years ago by epitzer

Ignore assemblies that fail to load during type discovery in configuration services (r2876)

comment:36 Changed 15 years ago by epitzer

Add support for serialization of structs (r2939)

comment:37 Changed 15 years ago by epitzer

unwrap exceptions during constructor call when deserializing storable objects (r2990)

comment:38 Changed 15 years ago by epitzer

add justifications for rejecting a type for serialization in ICompositeSerializer (r2993)

comment:39 Changed 15 years ago by epitzer

Make StorableClass attribute compulsory for StorableSerializer to work, add named property StorableClassType to choose between Empty and MarkedOnly, later other options will be added. (r2994)

comment:40 Changed 15 years ago by abeham

Added StorableClass attribute to some more classes in r2995

comment:41 Changed 15 years ago by abeham

Updated StorableClass attribute on smoe more classes in r2996

comment:42 Changed 15 years ago by swagner

Updated StorableClass attribute on some more classes in r3000.

comment:43 Changed 15 years ago by epitzer

Add missing constructors and hooks (r3002)

comment:44 Changed 15 years ago by epitzer

Add utility to test coverage of persistence support and storable consistency (r3003)

comment:45 Changed 15 years ago by epitzer

add complete persistence API docs (r3004)

comment:46 Changed 15 years ago by epitzer

add support for type information interleaving and subsequently true streaming (r3005)

comment:47 Changed 15 years ago by epitzer

more descriptive persistence error message (r3007)

comment:48 Changed 15 years ago by epitzer

invoke storable hooks in more predictable orders, call hooks defined on base classes first. (r3010)

comment:49 Changed 15 years ago by epitzer

Update API docs. (r3016)

comment:50 Changed 15 years ago by epitzer

Merge StorableClassType.Empty into StorableClassType.MarkedOnly and make it the default if not specified (r3017)

comment:51 Changed 15 years ago by swagner

Restructured persistence code of read-only observable collections in r3019.

comment:52 Changed 15 years ago by epitzer

Move attribute discovery from attribute classes to StorableSerializer (in preparation for unified discovery and handling of AllFields, AllProperties, ...) (r3025)

comment:53 Changed 15 years ago by epitzer

uncomment broken persistence analysis (r3027)

comment:54 Changed 15 years ago by epitzer

add more API docs (r3028)

comment:55 Changed 15 years ago by epitzer

add support for automatic serialization of fields and properties (r3029)

comment:56 Changed 15 years ago by epitzer

prevent excessive caching of reflection information by re-instantiating serializers for every run (r3030)

comment:57 Changed 15 years ago by epitzer

collect all storable caches into storable serializer to reduce prolonged memory usage (r3031)

comment:58 Changed 15 years ago by epitzer

make most serializers internal and complete API documentation (r3036)

comment:59 Changed 15 years ago by epitzer

prevent exceptions during configuration (instead of catching them) (r3037)

comment:60 Changed 15 years ago by swagner

Added missing StorableClass attributes in r3201.

comment:61 Changed 15 years ago by epitzer

correctly allow interleaving of storable and empty classes (r3205)

comment:62 Changed 15 years ago by epitzer

Replace XML reader to ensure proper parsing of line endings especially inside CDATA blocks (r3293)

comment:63 Changed 15 years ago by epitzer

replace repeated calls through reflection with generated code for a twofold speedup (r3553)

comment:64 Changed 15 years ago by epitzer

circumvent code generation for hooks on 64bit systems, this is a bug in the CLR (r3554)

comment:65 Changed 15 years ago by epitzer

throw Exception if class is marked [Storable] but cannot be serialized with the StorableSerializer (r3577)

comment:66 Changed 15 years ago by epitzer

Use callvirt in generated code for calling hooks (r3579)

comment:67 Changed 15 years ago by epitzer

remove 32bit guard [new code generation works for all configurations (Release/Debug) x (x86/x64/Any)] (r3606)

comment:68 Changed 15 years ago by epitzer

correct and speed-up serialization for number enumerables (r3811)

comment:75 Changed 14 years ago by gkronber

Turned of 'Treat warnings as errors' option in the release configuration of the persistence plugin to allow release builds without compiler errors with r3987.

comment:76 Changed 14 years ago by gkronber

Last edited 14 years ago by gkronber (previous) (diff)

comment:77 Changed 14 years ago by gkronber

Last edited 14 years ago by gkronber (previous) (diff)

comment:79 Changed 14 years ago by abeham

This ticket should be closed (at version 3.3), and new ones opened that document changes to the persistence framework since the release (r3917 and later).

The reason is that we're adding a ChangeLog based on tickets and version information. It would be good to see new features / enhancements and bug fixes when the persistence is upgraded to 3.3.1 in the changelog.

Please create e.g. a ticket "Improve saving and loading speed" marked as enhancement with version set to 3.3 where the respective changes are listed. The milestone currently does not matter. Please do so for the other changes as well.

comment:80 Changed 14 years ago by epitzer

  • Resolution set to fixed
  • Status changed from assigned to closed

comment:81 Changed 14 years ago by swagner

  • Milestone changed from Iteration 4 to Current

Milestone Iteration 4 deleted

comment:11 Changed 14 years ago by swagner

  • Milestone changed from Current to HeuristicLab 3.3.0

Milestone Current deleted

Note: See TracTickets for help on using tickets.