Skip to content
Rubén Díaz edited this page Jul 7, 2017 · 26 revisions

JSON Plug-in

At the moment the plug-in can be used for merge generic JSOn files and Sencha Architect generation depending on the merge strategy defined at the templates.

Trigger Extensions

As for the Sencha Architect generation the input is a java object, the trigger expressions (including matchers and variable assignments) are implemented as Java.

Merger extensions

There are currently these merge strategies:

Generic JSON Merge

  • merge strategy jsonmerge(add the new code respecting the existent is case of conflict)

  • merge strategy jsonmerge_override (add the new code overwriting the existent in case of conflict)

Sencha Architect

  • merge strategy sencharchmerge(add the new code respecting the existent is case of conflict)

  • merge strategy sencharchmerge_override (add the new code overwriting the existent in case of conflict)

    1. JsonArray’s will be ignored / replaced in total

    2. JsonObjects in conclict will be processed recursively ignoring adding non existent elements.

Merge Process

Generic JSON Merging

The merge process will be:

  1. Add non existent JSON Objects from patch file to base file.

  2. For existent object in both files, will add non existent keys from patch to base object. This process will be done recursively for all existent objects.

  3. For Json Arrays existent in both files, the arryas will be just concatenated.

Sencha Architect JSON Merging

The process is similar for the generic merging, but it only takes into account some specific keys for Sencha Architect itself because these keys need specific actions:

  • Ext.grid.column.Column

  • cn

  • type

  • name

  • userConfig

  • reference

  • Ext.form.Label

  • designerId

  • viewControllerInstanceId

  • viewModelInstanceId

  • Ext.grid.Panel

  • Ext.app.Controller

Clone this wiki locally