#506 closed enhancement (done)
New persistence exploration
Reported by: | epitzer | Owned by: | epitzer |
---|---|---|---|
Priority: | medium | Milestone: | HeuristicLab 3.3.0 |
Component: | Persistence | Version: | 3.2 |
Keywords: | Cc: |
Description
Exploration of new possibilities to re-implement serialization in HeuristicLab.
- Simplify usage for developers, i.e. attribute [Storable].
- Reduce memory usage by replacing the DOM based parser with something else (see #277)
Change History (64)
comment:1 Changed 16 years ago by epitzer
- Status changed from new to assigned
comment:2 Changed 16 years ago by epitzer
last comment should reference revision r1247
comment:3 Changed 16 years ago by epitzer
Evaluation of .NET native serialization (r1248).
comment:4 Changed 16 years ago by epitzer
Full serialization from object tree to XML. No de-serialization yet. (r1264)
comment:5 Changed 16 years ago by epitzer
Complete serialisation/deserialization cycle. (r1274)
Custom serialization poses one important problem: Either the custom serializer can instantiate the object (necessary for e.g. arrays) but its sub-components cannot reference it or a more complex mechanism has to be created.
comment:6 Changed 16 years ago by epitzer
Cleaner distinction between custom serialization and composite serialization. (r1276)
comment:7 Changed 16 years ago by epitzer
Configurable de-serializers. (r1279)
comment:8 Changed 16 years ago by epitzer
Split classes into more files. (r1280)
comment:9 Changed 16 years ago by epitzer
Proper deserialization of parent references. (r1281)
comment:10 Changed 16 years ago by epitzer
Serialization of double values. (r1312)
comment:11 Changed 16 years ago by epitzer
Serialization of multi dimensional arrays. (r1313)
comment:12 Changed 16 years ago by epitzer
comment:13 Changed 16 years ago by epitzer
added default constructors that include all serializers from the persistence assembly. (r1318)
comment:14 Changed 16 years ago by epitzer
fix ArraySerializer for Array datatype. (r1319)
comment:15 Changed 16 years ago by epitzer
store actual type information instead of declared type. (r1320)
comment:16 Changed 16 years ago by epitzer
automatic cloning with the help of Storable attributes and ICompoundSerializers. (r1321)
comment:17 Changed 16 years ago by epitzer
cached cloning. (r1322)
comment:18 Changed 16 years ago by epitzer
More compact XML Formatting (no empty names, referencable primitives, compact arrays & lists). (r1330)
comment:19 Changed 16 years ago by epitzer
Include storable attributes of base classes. (r1331)
comment:20 Changed 16 years ago by epitzer
Enable object instantiation using non-public default constructors. (r1332)
comment:21 Changed 16 years ago by epitzer
Initialize non-serialized values with specified default values. (r1336)
comment:22 Changed 16 years ago by epitzer
split off test case, include assembly names, format empty variable names (r1338)
comment:23 Changed 16 years ago by epitzer
support for compositve value types (r1339)
comment:24 Changed 16 years ago by epitzer
renamce primitive serializers to formatters and compound/custom serializers to decomposers. (r1348)
comment:25 Changed 16 years ago by epitzer
Central persistence configuration class. (r1349)
comment:26 Changed 16 years ago by epitzer
Implement a type cache. (r1355)
comment:27 Changed 16 years ago by epitzer
Unify token classes for parsing and formatting, make format specification mandatory. (r1356)
comment:28 Changed 16 years ago by epitzer
Pluginification and major refactoring. (r1357)
comment:29 Changed 16 years ago by epitzer
Better formatting configuration interface. (r1358)
comment:30 Changed 16 years ago by epitzer
Externalize tag names for XML formatting/parsing. (r1359)
comment:31 Changed 16 years ago by epitzer
Scrap Storable-based cloning & reorganize namespaces. (r1360)
comment:32 Changed 16 years ago by epitzer
Split all classes into their own file (r1361)
comment:33 Changed 16 years ago by epitzer
Add serializer class information to type cache. (r1362)
comment:34 Changed 16 years ago by epitzer
Convenience method for XML serialization and de-serizliation. (r1363)
comment:35 Changed 16 years ago by epitzer
Simple GUI configuration for decomposers. (r1373)
comment:36 Changed 16 years ago by epitzer
Almost complete GUI for persistence configuration. (r1382)
comment:37 Changed 16 years ago by epitzer
Complete GUI for persistence configuration. (r1398)
comment:38 Changed 16 years ago by epitzer
Deposit GUI-generated Configuration object at ConfigurationService. (r1400)
comment:39 Changed 16 years ago by epitzer
Initialize GUI with current configuration form ConfigurationService. (r1401)
comment:40 Changed 16 years ago by epitzer
New attribute for legitimately empty but storable classes. (r1404)
comment:41 Changed 16 years ago by epitzer
Add empty storable class attributes to classes (r1405)
comment:42 Changed 16 years ago by epitzer
Incorporate settings infrastructure. (r1406)
comment:43 Changed 16 years ago by epitzer
Abstract base class for formats to ensure comparability. (r1407)
comment:44 Changed 16 years ago by epitzer
Added Type decomposer for serialization of Type objects. (r1408)
comment:45 Changed 16 years ago by epitzer
Include decomposer configuration in dynamically created tab pages for every persistence configuration. (r1414)
comment:46 Changed 16 years ago by epitzer
Don't crash if user configuration cannot be loaded. (r1418)
comment:47 Changed 16 years ago by epitzer
Implement persistence of storables as decomposer. (r1419)
comment:48 Changed 16 years ago by epitzer
Remove old storable persistence mechanism. (r1420)
comment:49 Changed 16 years ago by epitzer
Remove unnecessary class attributes. (r1421)
comment:50 Changed 16 years ago by epitzer
New extension method to obtain a full name without version information an public key token. (r1422)
comment:51 Changed 16 years ago by epitzer
comment:52 Changed 16 years ago by epitzer
Use version invariant assembly qualified name and update plug-in assembly name. (r1425)
comment:53 Changed 16 years ago by epitzer
Bug fix type names for interfaces don't work with version invariant type names. (r1427)
comment:54 Changed 16 years ago by epitzer
Refactoring of Generator interface. (r1428)
comment:55 Changed 16 years ago by epitzer
View-only serializer for debugging purposes. (r1429)
comment:56 Changed 16 years ago by epitzer
Fix nasty copy&paste bug. (r1433)
comment:57 Changed 16 years ago by epitzer
Almost complete solution for correctly handling parent references. (r1434)
Currently enumerables can cause problems if they contain references to parents that have not yet been constructed. A potential delay of the add procedure will re-order the elements. Therefore, we currently have two array decomposers: a safe version that will never re-order enumerables but may fail on uninstantiated parents and a robust version that might re-order elements.
comment:58 Changed 16 years ago by epitzer
Properly deserialize enumerables with parent references, use single Setter delegate, fix id references of primitive values. (r1435)
comment:59 Changed 16 years ago by epitzer
Cleanup DeSerializer code. (r1437)
comment:60 Changed 16 years ago by epitzer
Include lower bounds in serialized arrays. (r1438)
comment:61 Changed 16 years ago by epitzer
- Resolution set to fixed
- Status changed from assigned to closed
merge persistence exploration branch into trunk as HL plugin. (r1454)
comment:62 Changed 16 years ago by swagner
- Summary changed from New Persistence Exploration to New persistence exploration
comment:63 Changed 14 years ago by swagner
- Milestone changed from Iteration 2 to Current
Milestone Iteration 2 deleted
comment:12 Changed 14 years ago by swagner
- Milestone changed from Current to HeuristicLab 3.3.0
Milestone Current deleted
Created new Branch with initial implementation of AutoStorable attribute (r1274).