Opened 2 years ago

Last modified 6 days ago

#3026 reviewing feature request

Integration into SymSpace

Reported by: dpiringe Owned by: swagner
Priority: medium Milestone: HeuristicLab 3.3.17
Component: General Version: branch
Keywords: Cc:


STP4.4 Interfacing beyond Mechatronics / K24401 - SymSpace

Change History (82)

comment:1 Changed 2 years ago by dpiringe

r17228 created a branch for the ticket

comment:2 Changed 23 months ago by dpiringe


  • added first prototype for:
    • creating templates
    • initialize a optimizer out of a template
  • first attempts to create the option to extend the template generation and initialisation (with Transformers -> json To IItem, IItem to json) without serializing/deserializing the whole IItem

comment:3 Changed 23 months ago by dpiringe


  • changed the namespace from ParameterTest to HeuristicLab.Manufacture
  • added an extension method for Type to get the distance of an interface based on the target type
  • renamed methods ToData, SetValue to Extract, Inject
  • new implementation of the template generation with transformers (not the final name)
  • started to use the new transformers for the instantiation of IOptimizer-objects (out of a template)
  • new transformers: LookupParameterTransformer and DummyTransformer

comment:4 Changed 23 months ago by dpiringe


  • deleted IItemExtensions.cs
  • fixed a bug in GetInterfaceDistance in TypeExtensions.cs -> generic types were ignored
  • lots of code clean ups
  • added new transformers: ParameterizedItemTransformer, MultiCheckedOperatorTransformer

comment:5 Changed 23 months ago by dpiringe


  • renamed ParameterData to Component
  • renamed File Template.cs to Component.cs

comment:6 Changed 23 months ago by dpiringe


  • deleted Util.cs
  • BaseTransformer merges now the component with its reference (if a reference exists) -> easier handling for transformers with parameterizedItems
  • MultiCheckedOperatorTransformer now sets the type name as default value
  • added a type list at the end of the template file -> is needed to instantiate objects
  • changed JCGenerator and JCInstantiator to test a format where FreeParameters and StaticParameters are saved as single Parameter array

comment:7 Changed 22 months ago by dpiringe

  • Status changed from new to accepted

comment:8 Changed 22 months ago by dpiringe


  • renamed CustomWriter to CustomJsonWriter and extracted it into a separate file
  • removed property ParameterizedItems from Component
  • added helper methods for path generation in Component
  • reverted the single parameter array idea back to the FreeParameters and StaticParameters idea
  • now there hidden parameters are also handled

comment:9 Changed 22 months ago by dpiringe

r17281: renamed Transformers -> ...Transformer to ...Converter, ITypeTransformer to IJsonItemConverter, Transformer to JsonItemConverter

comment:10 Changed 22 months ago by dpiringe

r17282: changed the converter selection from an automated mechanism (with interface distances) to an explicit mechanism (with priorities)

comment:11 Changed 22 months ago by dpiringe

r17283: renamed Component to JsonItem

comment:12 Changed 22 months ago by dpiringe

r17284: renamed namespace and project from HeuristicLab.Manufacture to HeuristicLab.JsonInterface

comment:13 Changed 22 months ago by dpiringe


  • added class for constants -> Constants
  • added new converter -> ValueLookupParameterConverter
  • fixed a bug with type extension IsEqualTo
  • fixed converter priorities

comment:14 Changed 22 months ago by dpiringe


  • changed project type from console to library
  • activated signing
  • lots of refactors in JCInstantiator and JsonItem

comment:15 Changed 22 months ago by dpiringe

r17323 added unit tests for HeuristicLab.JsonInterface

comment:16 Changed 22 months ago by dpiringe


  • added new project HeuristicLab.JsonInterface.App -> takes two arguments (template and config) to create an IOptimizer-Item, starts the run and writes the results to a file (currently hardcoded: C:\Workspace\test.txt)
  • made HeuristicLab.JsonInterface and HeuristicLab.JsonInterface.App to valid plugins
  • fixed a reference resolving bug with not-changeable parameters

comment:17 Changed 22 months ago by dpiringe


  • changed the access modifiers in Constants from public to internal
  • added comments in JCGenerator
  • the config file for JCInstantiator is now optional
  • added Runner.cs (forgot last commit)

comment:18 Changed 22 months ago by dpiringe


  • added new project: HeuristicLab.JsonInterface.OptimizerIntegration -> to generate/load .json templates in HeuristicLab.Optimizer
  • added new menu dropdown items (Import/Export) in HeuristicLab.Optimizer -> they are only active when they have items
  • added item for Import/Export menu items (Json-Template), logic in file FileManager.cs in project HeuristicLab.JsonInterface.OptimizerIntegration
  • repositioned CloseMenuItem, CloseAllMenuItem and added new seperator in menu File (to separate import/export from save/open and close/closeAll)

comment:19 Changed 22 months ago by dpiringe

r17339 fixed a bug with path generation

comment:20 Changed 22 months ago by dpiringe


  • in JsonItem:
    • renamed property Default to Value
    • removed usage of Reference for ValueLookupParameter
    • created new property ActualName for the actual name and using property Value for the value of an ValueLookupParameter
  • fixed a bug in ValueTypeMatrixConverter -> now it correctly resizes ValueTypeMatrix<T>
  • fixed a bug in ValueParameterConverter -> when ActualValue is null, but there is data for it, a new instance will get created

comment:21 Changed 21 months ago by dpiringe

r17346 fixed a bug in ValueTypeArrayConverter -> now it correctly resizes ValueTypeArray<T>

comment:22 Changed 21 months ago by dpiringe


  • added ConvertableAttribute, a new attribute for classes/structs (usage: convertable with JsonInterface)
  • changed JCGenerator -> is now a static class with one public static method Instantiate
  • changed JCInstantiator -> is now a static class with one public static method GenerateTemplate
  • refactored JsonItem

comment:23 Changed 21 months ago by dpiringe


  • relocated GetMaxValue and GetMinValue from ValueTypeValueConverter into BaseConverter
  • fixed a bug in ConstrainedValueParameterConverter (from GetType().Name to ToString())
  • printing now PrettyNames for types
  • added comments
  • added StorableConverter.cs (not finished, maybe not a good converter)
  • added ValueRangeConverter.cs for DoubleRange and IntRange
  • added ParameterConverter.cs for default parameter conversion

comment:24 Changed 21 months ago by dpiringe


  • relocated BuildJsonItem from JCInstantiator into JsonItem
  • in JsonItem: removed JContainer usage in setter for Value (now in BuildJsonItem)

comment:25 Changed 20 months ago by dpiringe


  • added new Converters:
    • CheckedItemListConverter
    • ItemCollectionConverter
    • PrimitiveConverter: not implemented yet
    • ConfigurableConverter: maybe this converter can replace all others
  • added program for testing -> HeuristicLab.ConfigStarter
  • added the option to register converter with an attic guid

comment:26 Changed 20 months ago by dpiringe


  • extended the BaseConverter class to set the type of the extracted value and removed the assignment of type in all other converters
  • fixed a bug in ConfigurableConverter -> now it correctly iterates through all items from an IEnumerable and calls the extract callback
  • MultiCheckedOperatorConverter:
    • deleted unnecessary code line
    • now adds operators to parameters (instead of operator list, because the operator list will get removed in a future commit)
    • does not set the path of its added items anymore
  • ParameterBaseConverter removed unnecessary code lines
  • deleted ParameterBaseConverter
  • reimplemented StorableConverter to test it again (still not really useable, because it bloats the template massively)
  • fixed a pathing bug in ValueParameterConverter (extended ValueRangeConverter, ValueTypeArrayConverter, ValueTypeMatrixConverter, ValueTypeValueConverter to archive this)
  • JCGenerator now only writes a single array with parameters (only FreeParameters) and saves a .hl File to test a new type of implementation of the whole JsonInterface
  • fixed a bug in JsonItem -> now it replaces the name in path of the item (not the whole path as it was before)

comment:27 Changed 20 months ago by dpiringe


  • added new converter RegressionProblemDataConverter
  • added new unit test class (only a skeleton)

comment:28 Changed 20 months ago by dpiringe


  • removed classes:
    • CheckedItemListConverter: unnecessary
    • ItemCollectionConverter: unnecessary
    • PrimitiveConverter: not possible to implement because it needs to Extract/Inject from/into objects (but interfaces pretends IItem)
    • StorableConverter: unnecessary
    • ConfigurableConverter: unnecessary
  • removed graphviz code in Heuristiclab.ConfigStarter/Program.cs
  • updated Constants
  • some simple code refactors in BaseConverter
  • in JsonItem:
    • renamed Parameters -> Children
    • removed Properties: Operators, Type, Reference, IsConfigurable, IsParameterizedItem
    • removed unnecessary/old code
  • implemented a new way to get data from an object, which is a matrix, in ValueTypeMatrixConverter method: CopyMatrixData
    • converts the object into an array -> rows: from array.Length, cols: when the length is > 0 pick length of first array of index 0 (it is saved as an array of arrays)
  • created a binding flag const in ValueRangeConverter to prevent duplicates in code

comment:29 Changed 19 months ago by dpiringe


  • deleted: ConvertableAttribute, DummyConverter, ObjectExtensions
  • renamed: CustomJsonWriter -> SingleLineArrayJsonWriter, JCInstantiator -> JsonTemplateInstantiator
  • added: JsonItemConverterFactory, UnsupportedJsonItem
  • IJsonItemConverter:
    • added two new properties: Priority and ConvertableType -> because converters are automatically collected by plugin infrastructure now
    • Extract, Inject references a root converter now -> typically an instance of JsonItemConverter -> to prevent cycles
  • JsonItemConverter:
    • now implements the interface IJsonItemConverter
    • is now a dynamic class
    • is only instantiable with an factory (JsonItemConverterFactory)
    • still has the old (but now public) static methods Extract and Inject (without ref param IJsonItemConverter root) -> creates instance with factory and calls methods of instance
    • removed register and unregister methods, because the factory collects all converters automatically now (on first call of Create)
    • has cycle detection for Extract and Inject
    • renamed method Get to GetConverter

comment:30 Changed 19 months ago by dpiringe


  • moved from usage of IAlgorithm to IOptimizer (in JCGenerator and JsonTemplateInstantiator)
  • added new converter: AlgorithmConverter

comment:31 Changed 19 months ago by dpiringe


  • fixed a bug in BaseConverter -> the range for percent values should be returned correctly now
  • fixed a bug in ConstrainedValueParameterConverter, ParameterizedItemConverter, ValueParameterConverter -> unsupported json items get filtered now
  • JCGenerator is now a dynamic class and can return all JsonItems for an IOptimizer now (instead of string only) + it is now possible to generate an template string with an IEnumerable<JsonItem>
  • added first version of an export dialog for JsonInterface
    • it is organized with a main view (for the dialog) and some user controls (for a better visualization of an JsonItem -> to reduce wrong user inputs)
    • the user controls inherit a base control, which organizes some base values of an JsonItem

comment:32 Changed 19 months ago by dpiringe


  • added a new way to setup the targeted result types
  • added new ui controls: NumericRangeControl, JsonItemArrayControl, JsonItemDefaultControl
  • redesigned export dialog -> now the user can navigate with a tree view
  • enhanced JsonItemVM

comment:33 Changed 18 months ago by dpiringe


  • added interfaces IJsonItem and IJsonItemValidator
  • replaced every reference JsonItem with IJsonItem

comment:34 Changed 18 months ago by dpiringe


  • simplified converter inheritance:
    • BaseConverter now only has Inject and Extract from IJsonItemConverter as abstract methods
    • removed ParameterBaseConverter
    • concrete converters have to initialize their JsonItem now -> enables better handling with different types of JsonItem

comment:35 Changed 18 months ago by dpiringe

r17408 moved JsonItem, ResultItem and UnsupportedJsonItem into new folder Models

comment:36 Changed 18 months ago by dpiringe


  • deleted JsonItemArrayControl and JsonItemDefaultControl
  • redesigned architecture for JsonItem: now there are different types of JsonItem (IntJsonItem, BoolJsonItem, ...) -> for better type safety and expandability
  • fixed bug in BaseConverter for GetMinValue and GetMaxValue for IntValue, but ignored for other value types (DoubleValue, DateTimeValue, ...) because the redesign of JsonItem-Architecture can make these two methods obsolet soon
  • fixed bug in JsonItemConverter to prevent null pointer exceptions
  • refactored value and range converters -> removed complicated generic ValueTypeValueConverter and ValueRangeConverter and implemented the necessary methods directly in concrete classes (improves readability and removes the need of reflection)
  • redesigned view handling in OptimizerIntegration -> dynamically seaches for JsonItemVMBase implementations, which are connected with a view
    • this enables better scaling with more user controls
  • JsonItemVMBase implements MVVM architecture

comment:37 Changed 18 months ago by dpiringe


  • deleted JsonItemVM
  • reduced code duplicates in JsonItemValueControl
  • implemented logic for entering ranges -> automatically sets to min/max value of datatype when checkbox is not checked

comment:38 Changed 18 months ago by dpiringe

r17412 code cleanup

comment:39 Changed 18 months ago by dpiringe


  • added initial VM (ArrayValueVM) and control for array values (JsonItemArrayValueControl)
  • new types of JsonItems for better type safety:
    • for arrays: DoubleArrayJsonItem, IntArrayJsonItem, BoolArrayJsonItem
    • for matrix: DoubleMatrixJsonItem, IntMatrixJsonItem, BoolMatrixJsonItem
  • refactored ValueTypeArrayConverter and ValueTypeMatrixConverter -> better type safety with new JsonItems
  • enhanced StringValueVM and implemented JsonItemValidValuesControl with MVVM architecture
  • the VM of JsonItemBaseControl is now protected (was private)
  • improved JsonItem<V,R> -> now handles JTokens correctly

comment:40 Changed 18 months ago by dpiringe


  • refactored ranged based VMs -> created new 'base' class for ranged based VMs RangedValueBaseVM
  • renamed AddChilds to AddChildren
  • implemented ArrayValueVM and JsonItemArrayValueControl
  • added ranges for array and matrix values

comment:41 Changed 18 months ago by dpiringe


  • renamed JsonItemArrayValueControl to JsonItemMultiValueControl
  • extracted converter logic from property Value in JsonItem<V,R> into new private method ConvertObject
  • added references to TreeNode and TreeView in JsonItemVMBase -> for additional user feedback when enabling/disabling an item (changes the fore color of referenced node)
  • changed implementation and interplay between ArrayValueVM and JsonItemMultiValueControl -> removed the direct access of property DataSource of DataGridView -> now: dynamically adds new columns/rows and accesses grid cells manually (better handling with matrices)
  • added new VM MatrixValueVM

comment:42 Changed 18 months ago by dpiringe


  • tree view is expanded on default now
  • fixed a bug with wrong anchors in JsonItemRangeControl and JsonItemValueControl
  • fixed a bug with wrong width for loaded user controls in ExportJsonDialog

comment:43 Changed 18 months ago by dpiringe


  • added property Description in IJsonItem and updated all construction calls
  • updated UnsupportedJsonItem with unsupported property Description
  • updated JsonItemBaseControl and JsonItemVMBase for new property Description

comment:44 Changed 18 months ago by dpiringe


  • set read-only to false for name input (in JsonItemBaseControl)
  • result items now can be selected/deselected in export dialog
  • removed metadata.problem property and renamed metadata.optimizer property to TemplateName in json template
  • fixed bug with wrong description for result items in AlgorithmConverter
  • refactored a lot of code in JCGenerator and added the need for a directory path (location for the template files)
  • fixed a null reference bug in JsonItemValidator (cannot try to iterate through possible null referenced collections)

comment:45 Changed 18 months ago by dpiringe


  • removed unnecessary code in FileManager
  • updated ExportJsonDialog and Testprogram (Heuristiclab.ConfigStarter/Program.cs) to use the new GenerateTemplate method

comment:46 Changed 18 months ago by dpiringe


  • fixed a bug in HeuristicLab.JsonInterface.App -> now the Runner checks if the instantiated optimizer is an EngineAlgorithm, if true: Engine = SequentialEngine (engine can be configured in later versions)
  • added a TabControl in ExportJsonDialog for parameters and results
  • updated parameter tree view with checkboxes (and linked them with VM)
  • renamed ActivatedResults to Results for templates
  • fixed a bug with injection of operators in MultiCheckedOperatorConverter -> now operators of an ValueParameter get set correctly
  • updated MultiCheckedOperatorConverter to extract/inject parameters of operators
  • fixed bug with path for template -> removed usage of method Path.GetDirectoryName, returned wrong results
  • splitted cache for JsonItemConverter into a cache for injection and extraction
  • JsonTemplateInstantiator now uses first item in objects array instead of searching for an object with template name

comment:47 Changed 18 months ago by dpiringe


  • added new CLI argument StringArgument
  • removed unnecessary check in StartArgument
  • changed output format from simple .txt to .json in HeuristicLab.JsonInterface.App.Runner
  • user has to enter output path now when executing JsonInterface on console

comment:48 Changed 18 months ago by dpiringe


  • added support for string values without range limitation (dropdown gets automatically replaced by textbox)
  • fixed a UI bug for JsonItemValidValuesControl -> now the control resizes correctly
  • fixed a bug in AlgorithmConverter -> now it searches for the ItemName (instead of Name) in method Inject
  • fixed a bug in StringValueConverter -> now it sets the correct name

comment:49 Changed 18 months ago by dpiringe


  • added two new methods in IJsonItem -> FixatePath and LoosenPath to fixate/loosen the path (to enable name changing without effects on path)
  • set IsInRange to virtual and made overrides for IntMatrixJsonItem and DoubleMatrixJsonItem (IsInRange is a bad name and needs to be renamed in future versions)
  • implemented basic validation feedback with ErrorProvider for some inputs (templateName, Name, Range)
  • now all items gets validated before export (validation errors are shown with ErrorHandling.ShowErrorDialog)
  • added a check in AlgorithmConverter to prevent an exception for accessing the first element of an empty IEnumerable

comment:50 Changed 18 months ago by dpiringe


  • made interfaces for array/matrix JsonItems and for their VMs aswell (IArrayJsonItem, IArrayJsonItemVM, IMatrixJsonItem, IMatrixJsonItemVM), incl. base classes (ArrayJsonItemBase, ArrayValueVM, MatrixJsonItemBase, MatrixValueVM)
  • changed inheritance structure for already existing array/matrix JsonItems -> they inherit now from new base array/matrix base classes
  • added input elements to configure the size of an matrix or array in JsonItemMultiValueControl (incl. VM binding and validation)
  • splitted file JsonItems.cs into separate files for their corresponding types (IntJsonItems.cs, DoubleJsonItems.cs, BoolJsonItems.cs, StringJsonItem.cs, DateTimeJsonItem.cs)
  • changed location of deserialization of json values from JsonTemplateInstantiator into IJsonItem (implemented in JsonItem and set to virtual, overridden in MatrixJsonItemBase and ArrayJsonItemBase)
  • added new CLI argument StringArgument
  • some little UI improvements (location fixes, anchor fixes, ...)

comment:51 Changed 17 months ago by dpiringe


  • renamed ResultItem to ResultJsonItem
  • implemented RegressionProblemDataConverter
  • added support for "named matrices" (named = rows and columns have names) -> INamedMatrixJsonItem incl. base classes and views
  • added a bool property Active in IJsonItem -> marks items, which should be written into the template

comment:52 Changed 17 months ago by dpiringe


  • the runs of an optimizer gets cleared before starting it in HeuristicLab.JsonInterface.App.Runner now
  • all runs of an optimizer gets cleared when exporting it with ExportJsonDialog
  • fixed a bug in CommandLineArgumentHandling: now always returns a StringArgument when all conditions are false

comment:53 Changed 17 months ago by dpiringe


  • fixed a type conversion bug in RangeVM
  • implemented logic for JsonItemRangeControl

comment:54 Changed 17 months ago by dpiringe


  • Runner now uses SymbolicDataAnalysisExpressionMATLABFormatter to save instances of ISymbolicRegressionSolution
  • refactored user controls for detail view of json items, now they do not inherit from JsonItemBaseControl -> JsonItemBaseControl uses now an extra control
    • this change was made for fluid repositioning of controls (e.g. when no ActualName is present)

comment:55 Changed 17 months ago by dpiringe


  • deleted INamedMatrixJsonItem and all corresponding classes/views, because of bad design
  • added ILookupJsonItem and IValueLookupJsonItem (incl. all corresponding implementations, VMs, Views)
  • added IResultJsonItem
  • changed type of property Control from JsonItemBaseControl to UserControl in IJsonItemVM (because the details control now builds up with linked user controls -> allows better construction of dynamic controls)
  • added all properties of INamedMatrixJsonItem in IMatrixJsonItem
  • refactored a lot of views for better usage (TableLayoutPanel is used a lot now -> for better item positioning)
  • property ActualName is now located in ILookupJsonItem instead of IJsonItem

comment:56 Changed 17 months ago by dpiringe


  • refactored inheritance structure of json items, now the default JsonItem is an abstract class without properties Value and Range -> splitted up into new interfaces
  • updated view models for new json item structure
  • updated SingleLineArrayJsonWriter

comment:57 Changed 17 months ago by dpiringe


  • refactored JsonTemplateInstantiator -> now returns a InstantiatorResult which contains the optimizer and an IEnumerable of IResultJsonItem
  • code cleanup in JCGenerator
  • relocated the serialization of json items into IJsonItem with method GenerateJObject (virtual base implementation in JsonItem)
    • this allows custom serialization for json items (example: ValueLookupJsonItem)
    • items of interface IIntervalRestrictedJsonItem have a custom implementation of GenerateJObject -> hides Minimum and Maximum if the values are the physically min/max of their type
  • code cleanup in BaseConverter

comment:58 Changed 17 months ago by dpiringe


  • removed type extension for type comparison (was a complicated comparison, which should not be a public extension method for Type)
    • comparison is now located (as private method) in JsonItemConverter
    • also simplified it a lot (did some tests to measure the relevance of specific checks -> last check got completely removed)

comment:59 Changed 17 months ago by dpiringe


  • refactored json item validation process -> every method now returns a ValidationResult containing bool Success (true if validation is successful) and IEnumerable<string> Errors (error messages)
    • this design allows to specify error messages directly in json items

comment:60 Changed 17 months ago by dpiringe


  • added readme JsonInterfaceReadMe.txt
  • removed dead code
  • fixed a bug in JsonItemConverter -> now the type comparison should work as intended

comment:61 Changed 17 months ago by dpiringe


  • fixed a bug with JsonItemMultiValueControl -> the size of the matrix should now be saved correctly
  • fixed a bug with RegressionProblemDataConverter -> should now set the row/col sizes correctly
  • simplified the code for saving matrix data in JsonItemMultiValueControl, MatrixValueVM and ArrayValueVM
  • removed unnecessary casts

comment:62 Changed 17 months ago by dpiringe


  • fixed a bug in ConstrainedValueParameterConverter -> added an extra check to get the correct child
  • fixed a bug in JsonItemValidator -> now the error messages get appended correctly
  • fixed a validation bug in JsonItemMultiValueControl -> now it should not validate a readonly textbox anymore

comment:63 Changed 15 months ago by dpiringe


  • added error output for failed runner initialization
  • reorganised some final view models
  • TargetedJsonItemType (in JsonItemVMBase) now automatically returns the type of the defined JsonItem
  • code cleanup
  • refactored RegressionProblemDataConverter
  • added lots of comments
  • added new view for StringArrayJsonItem
  • added new UI component for concrete restricted items and used it in JsonItemConcreteItemArrayControl and JsonItemValidValuesControl

comment:64 Changed 15 months ago by dpiringe


  • added new converter: BatchRunConverter, ExperimentConverter
  • fixed a bug with the path of the .hl file in JCGenerator
  • fixed a bug with a redundant search for a suitable converter in JsonItemConverter
  • added a restriction for TargetVariable and AllowedInputVariables in RegressionProblemDataConverter
  • removed unnecessary code in Runner

comment:65 Changed 14 months ago by dpiringe


  • added an extra loop to add empty default results in Runner (to prevent not existing results)
  • fixed a bug in JsonItemValidValuesControl, now the dropdown should not reset the default value

comment:66 Changed 14 months ago by dpiringe


  • added a simple form control for JsonInterface to use it without CLI

comment:67 Changed 14 months ago by dpiringe


  • renamed JCGenerator to JsonTemplateGenerator

comment:68 Changed 14 months ago by dpiringe


  • JCGenerator changed name to JsonTemplateGenerator

comment:69 Changed 13 months ago by dpiringe


  • added a check to stop a paused IOptimizer

comment:70 Changed 6 months ago by dpiringe


  • removed the option to set the value for JsonItems via exporter
    • reworked some base controls
    • added new controls for JsonItem specific properties (e.g. ArrayResizable)
    • deleted a lot of obsolet controls
  • removed the Enable checkbox in the detail view of JsonItems
  • exporter now clones the IOptimizer object
  • added a check + message for unsupported exports
  • list of JsonItems now includes unsupported JsonItems (disabled and marked with 'unsupported')
  • refactored the converter type check
    • now every converter has to specify its supported type(s)

comment:71 Changed 6 months ago by dpiringe


  • moved JsonItems from Models to JsonItems
  • moved WinForms controls from Shared to Views

comment:72 Changed 6 months ago by dpiringe


  • added ResultFormatter to add an extra layer of result transformation logic (converting a result value to a string with a defined logic, e.g. MatlabResultFormatter for ISymbolicRegressionSolution)
  • extended the IResultJsonItem with two properties for result formatting
  • added a new control to selected a result formatter for a result value
  • refactored the Runner for the new result formatting process

comment:73 Changed 5 months ago by dpiringe


  • removed property ConvertableType from all converters
  • removed the option to fixate or loosen the path of JsonItems (obsolete)
  • added a abstract formatter SymbolicRegressionSolutionFormatterBase as base formatter for ISymbolicRegressionSolution
  • unified the construction of exporter controls
  • code cleanup

comment:74 Changed 4 months ago by dpiringe


  • renamed ResultFormatter to ResultFormatters
  • adjusted some UI components (changed margins/paddings/sizes of some controls)

comment:75 Changed 4 months ago by dpiringe

  • Owner changed from dpiringe to swagner
  • Status changed from accepted to reviewing


  • merged trunk into branch

comment:76 Changed 3 months ago by dpiringe


  • deleted the project Heuristiclab.ConfigStarter (was only for testing purposes)

comment:77 Changed 13 days ago by dpiringe


  • fixed a bug in Runner: the zip-method created wrong pairs (because the lists are unordered)
  • fixed a bug in SymbolicRegressionSolutionFormatterBase: the method now checks the target type as well

comment:78 Changed 13 days ago by dpiringe


  • merged trunk into branch

comment:79 Changed 7 days ago by dpiringe


  • added check for missing path property
  • added functionality for relative .hl file paths

comment:80 Changed 7 days ago by dpiringe


  • fixed wrong inheritance for RangedJsonItem
  • added VariableRanges automatic injection for RegressionProblemDataConverter

comment:81 Changed 6 days ago by dpiringe


  • fixed the injection of VariableRanges in RegressionProblemDataConverter (now: the entries in IntervalCollection get replaced instead of the whole collection object)

comment:82 Changed 6 days ago by dpiringe


  • fixed injection of new matrix value in ValueTypeMatrixConverter
Note: See TracTickets for help on using tickets.