1. 08 May, 2019 1 commit
  2. 06 May, 2019 1 commit
  3. 30 Apr, 2019 5 commits
  4. 29 Apr, 2019 2 commits
  5. 26 Apr, 2019 2 commits
  6. 24 Apr, 2019 11 commits
  7. 23 Apr, 2019 2 commits
  8. 15 Apr, 2019 3 commits
  9. 12 Apr, 2019 2 commits
  10. 10 Apr, 2019 1 commit
  11. 08 Apr, 2019 1 commit
  12. 04 Apr, 2019 4 commits
  13. 02 Apr, 2019 5 commits
    • hm-schuhba1's avatar
      Add new file · 6523d610
      hm-schuhba1 authored
      6523d610
    • hm-schuhba1's avatar
      How to use · bb1ee56e
      hm-schuhba1 authored
      bb1ee56e
    • hm-schuhba1's avatar
      Add ScenarioChecker for processors with MeasurementAreas · 4644867d
      hm-schuhba1 authored
      The ProcessorFlag interface is a marker interface used anywehre a
      specifc attribute of some DataProcessors are needed. For instnace
      the UsesMeasurementArea Interface is implemented by all Processors
      usinge one or more MeasurementAreas. In this example the interface
      exposes an array of given MeasurementAreaIds which can be used
      within the ScenarioChecker.
      
      These interfaces are therefore aribtraty flags used to filter a
      generic list of DataProcesors if needed.
      4644867d
    • hm-schuhba1's avatar
      Introduce json version v0.8 · 42ce721a
      hm-schuhba1 authored
      42ce721a
    • hm-schuhba1's avatar
      Rework MigraionAssistant · d2b3758a
      hm-schuhba1 authored
      MigrationAssistant
        |
        +-- IncidentMigrationAssistant (Deprecated)
        |
        +-- JsonMigrationAssistant
            |
            +--using JsonTransformation Interface
      
      The JsonTransformation interface is implemented by in two
      different ways:
      AbstractJsonTransformation
        |              implements JsonTransformation, JsonNodeExplorer
        |
        +-- JoltTransformation --> relying on Jolt [1]
        |
        +-- SimpleJsonTransformation --> relying on Jackson JsonNode
      
      The JsonTransformation interface provides a three step process
      of to transform a given scenario File were each consumes a JsonNode
      and returns the changed JsonNode.
      1) preHooks
      2) transformation
      3) postHooks
      
      The MigrationAssistant selects the correct implementation by
      using the JsonTransformationFactory which map a given Version
      to the corresponding implementation of some JsonTransformation.
      
      1. Subclass either JoltTransformation or SimpeJsonTransformation.
        (a) If JoltTransformation is used, a specialized transformation syntax
            must be used. See [1] for Doc.
        (b) If SimpleJsonTransformation is used no additional input is needed.
             The transformation is done by manually manipulating the Jackson
             JsonNode-Tree
      2. add annotation where X.X resembles the Version label i.e. "0.8"
         @MigrationTransformation(targetVersionLabel = "X.X")
      3. add the default constructor with no arguments and the
         call super constructor passing the Version
      4. Implement initDefaultHooks() and add the pre- and postHook
         LinkedList with JsonTransformationHooks
         (a) use add[Post|Pre][First|Last] methods.
         (b) add addPostHookLast(AbstractJsonTransformation::sort) to ensure
             the right sorting order within the scenario file.
      5. (optional) overwrite any of applyPreHooks, applyTransformation,
         applyPostHooks if needed.
      6. (optional) add generic JsonNode manipulations to JsonNodeExplorer
      
      This interface contains useful default implementation to navigate a
      JsonNode-Tree such as:
      
      path(jsonNode, "some/path/within/the/json") <-- will return empty nodes
                                                  with path das not exist
      pathMustExist(jsonNode, "some/path/within/the/json") <-- will throw
                                                           MigrationException
      renameField(node, "release", "version")  <-- rename keys
      
      iteratorProcessorsByType(jsonRoot, "org...PedestrianVelocityProcessor )
        <-- returns an iterator of JsonNodes representing a
        PedestrianVelocityProcessor
      
      [1]: https://github.com/bazaarvoice/joltSigned-off-by: hm-schuhba1's avatarhm-schuhba1 <stefan.schuhbaeck@hm.edu>
      d2b3758a