Free cookie consent management tool by TermsFeed Policy Generator

source: branches/3026_IntegrationIntoSymSpace/JsonInterfaceReadMe.txt @ 17625

Last change on this file since 17625 was 17483, checked in by dpiringe, 5 years ago

#3026:

  • added readme JsonInterfaceReadMe.txt
  • removed dead code
  • fixed a bug in JsonItemConverter -> now the type comparison should work as intended
File size: 2.0 KB
Line 
1Assemblies:
2  - HeuristicLab.JsonInterface
3  - HeuristicLab.JsonInterface.App (Application fÃŒr das AusfÃŒhren von Template-Konfig Kombinationen auf der Kommandozeile)
4  - HeuristicLab.JsonInterface.OptimizerIntegration (Importer/Exporter fÃŒr Templates aus dem Optimizer)
5
6eigenen Converter erstellen:
7  - IJsonItemConverter implementieren (oder von BaseConverter ableiten)
8  - "Priority", "ConvertableType" Eigenschaften und "Inject", "Extract" Methoden implementieren
9  - Converter werden zur Laufzeit gesucht (also egal in welchen Assembly der Converter existiert)
10  - es wird immer der Converter mit der höchsten PrioritÀt ausgewÀhlt ( = höchste Zahl)
11  - fÃŒr die Eigenschaft "ConvertableType" kann mit HEAL.Attic der Typ gefunden werden
12  - WICHTIG: immer den "Root"-Converter bei verschachtelte Converter-Aufrufe weiterreichen (verhindert Schleifen bei entsprechende Objektgraphen)
13
14
15eigenes JsonItem erstellen:
16  - IJsonItem implementieren (oder von einer abstrakten JsonItem-Klasse ableiten)
17  - fÃŒr De-/Serialisierung die Methoden "GenerateJObject" (Serialisierung) und "SetJObject" (Deserialisierung) ÃŒberschreiben
18  - fÃŒr die Validierung (ob z.B.: der Wert eines Items korrekt ist) die Methode "Validate" ÃŒberschreiben
19
20Ablauf:
21  1. Suche nach Convertern (bei der Initialisierung)
22  2. passender Converter wird fÃŒr ein IItem ausgewÀhlt
23  3. IItem wird dem Converter ÃŒbergeben (Extract/Inject)
24  4. bei Extract wird ein JsonItem-Baum zurÃŒckgegeben
25
26
27JCGenerator (Name nicht final):
28  - erzeugt Templates von einem "IOptimizer"-Objektes
29  - ACHTUNG: Templates bestehen immer aus zwei Files (.json, .hl)
30
31JsonTemplateInstantiator:
32  - erzeugt ein "IOptimizer"-Objekt aus einem Template (und gegebenfalls einer dazugehörigen konkreten Konfiguration)
33
34
35CLI Verwendung:
36  - HeuristicLab 3.3.exe /start:JsonInterface <Template-Pfad> <Konfig-Pfad> <Ausgabe-Pfad>
37  - in Konfig können Parameter des Templates direkt eingefÃŒgt und verÀndert werden
38  - "Results" werden bei der Template Erzeugung erst erkannt wenn auch bereits Werte in "Results" enthalten sind
Note: See TracBrowser for help on using the repository browser.