LionWeb-io / property-demo

0 stars 1 forks source link

add command to export combined metamodel #9

Closed enikao closed 1 year ago

enikao commented 1 year ago

essentially concatenate starlasu mm and properties mm

ftomassetti commented 1 year ago

This should be already be possible using the metamodel command together with the -c (or --combined) flag.

for example:

java -jar properties-parser/build/libs/properties-parser-all.jar metamodel -c

Produces as output:

Metamodel of Properties  (with StarLasu combined in the same file)  written into /Users/federico/repos/mps-meetup-2023/properties.lmm.json.

The resulting properties.lmm.json file is:

{
  "serializationFormatVersion": "1",
  "metamodels": [
    {
      "version": "1",
      "key": "LIonCore_M3"
    }
  ],
  "nodes": [
    {
      "id": "com_strumenta_StarLasu",
      "concept": {
        "metamodel": "LIonCore_M3",
        "version": "1",
        "key": "Metamodel"
      },
      "properties": [
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "Metamodel_name"
          },
          "value": "com.strumenta.StarLasu"
        },
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "version"
          },
          "value": "1"
        },
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "key"
          },
          "value": "com_strumenta_StarLasu"
        }
      ],
      "children": [
        {
          "containment": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "elements"
          },
          "children": [
            "StarLasu-ASTNode",
            "StarLasu-GenericErrorNode",
            "StarLasu-Named",
            "StarLasu-PossiblyNamed",
            "StarLasu-Position",
            "StarLasu-Char"
          ]
        }
      ],
      "references": [
        {
          "reference": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "dependsOn"
          },
          "targets": []
        }
      ],
      "parent": null
    },
    {
      "id": "StarLasu-ASTNode",
      "concept": {
        "metamodel": "LIonCore_M3",
        "version": "1",
        "key": "Concept"
      },
      "properties": [
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "abstract"
          },
          "value": "false"
        },
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "NamespacedEntity_name"
          },
          "value": "ASTNode"
        },
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "qualifiedName"
          },
          "value": "com.strumenta.StarLasu.ASTNode"
        },
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "key"
          },
          "value": "StarLasu-ASTNode"
        }
      ],
      "children": [
        {
          "containment": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "features"
          },
          "children": []
        }
      ],
      "references": [
        {
          "reference": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "Concept_extends"
          },
          "targets": []
        },
        {
          "reference": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "implements"
          },
          "targets": []
        }
      ],
      "parent": "com_strumenta_StarLasu"
    },
    {
      "id": "StarLasu-GenericErrorNode",
      "concept": {
        "metamodel": "LIonCore_M3",
        "version": "1",
        "key": "Concept"
      },
      "properties": [
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "abstract"
          },
          "value": "false"
        },
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "NamespacedEntity_name"
          },
          "value": "GenericErrorNode"
        },
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "qualifiedName"
          },
          "value": "com.strumenta.StarLasu.GenericErrorNode"
        },
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "key"
          },
          "value": "StarLasu-GenericErrorNode"
        }
      ],
      "children": [
        {
          "containment": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "features"
          },
          "children": []
        }
      ],
      "references": [
        {
          "reference": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "Concept_extends"
          },
          "targets": []
        },
        {
          "reference": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "implements"
          },
          "targets": []
        }
      ],
      "parent": "com_strumenta_StarLasu"
    },
    {
      "id": "StarLasu-Named",
      "concept": {
        "metamodel": "LIonCore_M3",
        "version": "1",
        "key": "ConceptInterface"
      },
      "properties": [
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "NamespacedEntity_name"
          },
          "value": "Named"
        },
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "qualifiedName"
          },
          "value": "com.strumenta.StarLasu.Named"
        },
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "key"
          },
          "value": "StarLasu-Named"
        }
      ],
      "children": [
        {
          "containment": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "features"
          },
          "children": []
        }
      ],
      "references": [
        {
          "reference": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "ConceptInterface_extends"
          },
          "targets": [
            {
              "resolveInfo": "PossiblyNamed",
              "reference": "StarLasu-PossiblyNamed"
            }
          ]
        }
      ],
      "parent": "com_strumenta_StarLasu"
    },
    {
      "id": "StarLasu-PossiblyNamed",
      "concept": {
        "metamodel": "LIonCore_M3",
        "version": "1",
        "key": "ConceptInterface"
      },
      "properties": [
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "NamespacedEntity_name"
          },
          "value": "PossiblyNamed"
        },
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "qualifiedName"
          },
          "value": "com.strumenta.StarLasu.PossiblyNamed"
        },
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "key"
          },
          "value": "StarLasu-PossiblyNamed"
        }
      ],
      "children": [
        {
          "containment": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "features"
          },
          "children": [
            "StarLasu-PossiblyNamed-name"
          ]
        }
      ],
      "references": [
        {
          "reference": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "ConceptInterface_extends"
          },
          "targets": []
        }
      ],
      "parent": "com_strumenta_StarLasu"
    },
    {
      "id": "StarLasu-PossiblyNamed-name",
      "concept": {
        "metamodel": "LIonCore_M3",
        "version": "1",
        "key": "Property"
      },
      "properties": [
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "optional"
          },
          "value": "true"
        },
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "derived"
          },
          "value": "false"
        },
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "NamespacedEntity_name"
          },
          "value": "name"
        },
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "qualifiedName"
          },
          "value": "com.strumenta.StarLasu.PossiblyNamed.name"
        },
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "key"
          },
          "value": "StarLasu-PossiblyNamed-name"
        }
      ],
      "children": [],
      "references": [
        {
          "reference": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "Property_type"
          },
          "targets": [
            {
              "resolveInfo": "String",
              "reference": "LIonCore_M3_String"
            }
          ]
        }
      ],
      "parent": "StarLasu-PossiblyNamed"
    },
    {
      "id": "StarLasu-Position",
      "concept": {
        "metamodel": "LIonCore_M3",
        "version": "1",
        "key": "PrimitiveType"
      },
      "properties": [
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "NamespacedEntity_name"
          },
          "value": "Position"
        },
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "qualifiedName"
          },
          "value": "com.strumenta.StarLasu.Position"
        },
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "key"
          },
          "value": "StarLasu-Position"
        }
      ],
      "children": [],
      "references": [],
      "parent": "com_strumenta_StarLasu"
    },
    {
      "id": "StarLasu-Char",
      "concept": {
        "metamodel": "LIonCore_M3",
        "version": "1",
        "key": "PrimitiveType"
      },
      "properties": [
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "NamespacedEntity_name"
          },
          "value": "Char"
        },
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "qualifiedName"
          },
          "value": "com.strumenta.StarLasu.Char"
        },
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "key"
          },
          "value": "StarLasu-Char"
        }
      ],
      "children": [],
      "references": [],
      "parent": "com_strumenta_StarLasu"
    },
    {
      "id": "io_lionweb_Properties",
      "concept": {
        "metamodel": "LIonCore_M3",
        "version": "1",
        "key": "Metamodel"
      },
      "properties": [
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "Metamodel_name"
          },
          "value": "io.lionweb.Properties"
        },
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "version"
          },
          "value": "1"
        },
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "key"
          },
          "value": "io_lionweb_Properties"
        }
      ],
      "children": [
        {
          "containment": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "elements"
          },
          "children": [
            "io_lionweb_Properties-PropertiesFile",
            "io_lionweb_Properties-Property",
            "io_lionweb_Properties-Value",
            "io_lionweb_Properties-BooleanValue",
            "io_lionweb_Properties-DecValue",
            "io_lionweb_Properties-IntValue",
            "io_lionweb_Properties-StringValue"
          ]
        }
      ],
      "references": [
        {
          "reference": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "dependsOn"
          },
          "targets": [
            {
              "resolveInfo": "com.strumenta.StarLasu",
              "reference": "com_strumenta_StarLasu"
            }
          ]
        }
      ],
      "parent": null
    },
    {
      "id": "io_lionweb_Properties-PropertiesFile",
      "concept": {
        "metamodel": "LIonCore_M3",
        "version": "1",
        "key": "Concept"
      },
      "properties": [
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "abstract"
          },
          "value": "false"
        },
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "NamespacedEntity_name"
          },
          "value": "PropertiesFile"
        },
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "qualifiedName"
          },
          "value": "io.lionweb.Properties.PropertiesFile"
        },
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "key"
          },
          "value": "io_lionweb_Properties-PropertiesFile"
        }
      ],
      "children": [
        {
          "containment": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "features"
          },
          "children": [
            "io_lionweb_Properties-PropertiesFile-props"
          ]
        }
      ],
      "references": [
        {
          "reference": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "Concept_extends"
          },
          "targets": [
            {
              "resolveInfo": "ASTNode",
              "reference": "StarLasu-ASTNode"
            }
          ]
        },
        {
          "reference": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "implements"
          },
          "targets": []
        }
      ],
      "parent": "io_lionweb_Properties"
    },
    {
      "id": "io_lionweb_Properties-PropertiesFile-props",
      "concept": {
        "metamodel": "LIonCore_M3",
        "version": "1",
        "key": "Containment"
      },
      "properties": [
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "multiple"
          },
          "value": "true"
        },
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "optional"
          },
          "value": "false"
        },
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "derived"
          },
          "value": "false"
        },
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "NamespacedEntity_name"
          },
          "value": "props"
        },
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "qualifiedName"
          },
          "value": "io.lionweb.Properties.PropertiesFile.props"
        },
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "key"
          },
          "value": "io_lionweb_Properties-PropertiesFile-props"
        }
      ],
      "children": [],
      "references": [
        {
          "reference": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "Link_type"
          },
          "targets": [
            {
              "resolveInfo": "Property",
              "reference": "io_lionweb_Properties-Property"
            }
          ]
        }
      ],
      "parent": "io_lionweb_Properties-PropertiesFile"
    },
    {
      "id": "io_lionweb_Properties-Property",
      "concept": {
        "metamodel": "LIonCore_M3",
        "version": "1",
        "key": "Concept"
      },
      "properties": [
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "abstract"
          },
          "value": "false"
        },
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "NamespacedEntity_name"
          },
          "value": "Property"
        },
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "qualifiedName"
          },
          "value": "io.lionweb.Properties.Property"
        },
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "key"
          },
          "value": "io_lionweb_Properties-Property"
        }
      ],
      "children": [
        {
          "containment": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "features"
          },
          "children": [
            "io_lionweb_Properties-Property-name",
            "io_lionweb_Properties-Property-value"
          ]
        }
      ],
      "references": [
        {
          "reference": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "Concept_extends"
          },
          "targets": [
            {
              "resolveInfo": "ASTNode",
              "reference": "StarLasu-ASTNode"
            }
          ]
        },
        {
          "reference": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "implements"
          },
          "targets": []
        }
      ],
      "parent": "io_lionweb_Properties"
    },
    {
      "id": "io_lionweb_Properties-Property-name",
      "concept": {
        "metamodel": "LIonCore_M3",
        "version": "1",
        "key": "Property"
      },
      "properties": [
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "optional"
          },
          "value": "false"
        },
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "derived"
          },
          "value": "false"
        },
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "NamespacedEntity_name"
          },
          "value": "name"
        },
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "qualifiedName"
          },
          "value": "io.lionweb.Properties.Property.name"
        },
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "key"
          },
          "value": "io_lionweb_Properties-Property-name"
        }
      ],
      "children": [],
      "references": [
        {
          "reference": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "Property_type"
          },
          "targets": [
            {
              "resolveInfo": "String",
              "reference": "LIonCore_M3_String"
            }
          ]
        }
      ],
      "parent": "io_lionweb_Properties-Property"
    },
    {
      "id": "io_lionweb_Properties-Property-value",
      "concept": {
        "metamodel": "LIonCore_M3",
        "version": "1",
        "key": "Containment"
      },
      "properties": [
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "multiple"
          },
          "value": "false"
        },
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "optional"
          },
          "value": "false"
        },
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "derived"
          },
          "value": "false"
        },
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "NamespacedEntity_name"
          },
          "value": "value"
        },
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "qualifiedName"
          },
          "value": "io.lionweb.Properties.Property.value"
        },
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "key"
          },
          "value": "io_lionweb_Properties-Property-value"
        }
      ],
      "children": [],
      "references": [
        {
          "reference": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "Link_type"
          },
          "targets": [
            {
              "resolveInfo": "Value",
              "reference": "io_lionweb_Properties-Value"
            }
          ]
        }
      ],
      "parent": "io_lionweb_Properties-Property"
    },
    {
      "id": "io_lionweb_Properties-Value",
      "concept": {
        "metamodel": "LIonCore_M3",
        "version": "1",
        "key": "Concept"
      },
      "properties": [
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "abstract"
          },
          "value": "false"
        },
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "NamespacedEntity_name"
          },
          "value": "Value"
        },
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "qualifiedName"
          },
          "value": "io.lionweb.Properties.Value"
        },
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "key"
          },
          "value": "io_lionweb_Properties-Value"
        }
      ],
      "children": [
        {
          "containment": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "features"
          },
          "children": []
        }
      ],
      "references": [
        {
          "reference": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "Concept_extends"
          },
          "targets": [
            {
              "resolveInfo": "ASTNode",
              "reference": "StarLasu-ASTNode"
            }
          ]
        },
        {
          "reference": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "implements"
          },
          "targets": []
        }
      ],
      "parent": "io_lionweb_Properties"
    },
    {
      "id": "io_lionweb_Properties-BooleanValue",
      "concept": {
        "metamodel": "LIonCore_M3",
        "version": "1",
        "key": "Concept"
      },
      "properties": [
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "abstract"
          },
          "value": "false"
        },
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "NamespacedEntity_name"
          },
          "value": "BooleanValue"
        },
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "qualifiedName"
          },
          "value": "io.lionweb.Properties.BooleanValue"
        },
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "key"
          },
          "value": "io_lionweb_Properties-BooleanValue"
        }
      ],
      "children": [
        {
          "containment": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "features"
          },
          "children": [
            "io_lionweb_Properties-BooleanValue-value"
          ]
        }
      ],
      "references": [
        {
          "reference": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "Concept_extends"
          },
          "targets": [
            {
              "resolveInfo": "Value",
              "reference": "io_lionweb_Properties-Value"
            }
          ]
        },
        {
          "reference": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "implements"
          },
          "targets": []
        }
      ],
      "parent": "io_lionweb_Properties"
    },
    {
      "id": "io_lionweb_Properties-BooleanValue-value",
      "concept": {
        "metamodel": "LIonCore_M3",
        "version": "1",
        "key": "Property"
      },
      "properties": [
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "optional"
          },
          "value": "false"
        },
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "derived"
          },
          "value": "false"
        },
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "NamespacedEntity_name"
          },
          "value": "value"
        },
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "qualifiedName"
          },
          "value": "io.lionweb.Properties.BooleanValue.value"
        },
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "key"
          },
          "value": "io_lionweb_Properties-BooleanValue-value"
        }
      ],
      "children": [],
      "references": [
        {
          "reference": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "Property_type"
          },
          "targets": [
            {
              "resolveInfo": "Boolean",
              "reference": "LIonCore_M3_Boolean"
            }
          ]
        }
      ],
      "parent": "io_lionweb_Properties-BooleanValue"
    },
    {
      "id": "io_lionweb_Properties-DecValue",
      "concept": {
        "metamodel": "LIonCore_M3",
        "version": "1",
        "key": "Concept"
      },
      "properties": [
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "abstract"
          },
          "value": "false"
        },
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "NamespacedEntity_name"
          },
          "value": "DecValue"
        },
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "qualifiedName"
          },
          "value": "io.lionweb.Properties.DecValue"
        },
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "key"
          },
          "value": "io_lionweb_Properties-DecValue"
        }
      ],
      "children": [
        {
          "containment": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "features"
          },
          "children": [
            "io_lionweb_Properties-DecValue-value"
          ]
        }
      ],
      "references": [
        {
          "reference": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "Concept_extends"
          },
          "targets": [
            {
              "resolveInfo": "Value",
              "reference": "io_lionweb_Properties-Value"
            }
          ]
        },
        {
          "reference": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "implements"
          },
          "targets": []
        }
      ],
      "parent": "io_lionweb_Properties"
    },
    {
      "id": "io_lionweb_Properties-DecValue-value",
      "concept": {
        "metamodel": "LIonCore_M3",
        "version": "1",
        "key": "Property"
      },
      "properties": [
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "optional"
          },
          "value": "false"
        },
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "derived"
          },
          "value": "false"
        },
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "NamespacedEntity_name"
          },
          "value": "value"
        },
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "qualifiedName"
          },
          "value": "io.lionweb.Properties.DecValue.value"
        },
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "key"
          },
          "value": "io_lionweb_Properties-DecValue-value"
        }
      ],
      "children": [],
      "references": [
        {
          "reference": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "Property_type"
          },
          "targets": [
            {
              "resolveInfo": "String",
              "reference": "LIonCore_M3_String"
            }
          ]
        }
      ],
      "parent": "io_lionweb_Properties-DecValue"
    },
    {
      "id": "io_lionweb_Properties-IntValue",
      "concept": {
        "metamodel": "LIonCore_M3",
        "version": "1",
        "key": "Concept"
      },
      "properties": [
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "abstract"
          },
          "value": "false"
        },
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "NamespacedEntity_name"
          },
          "value": "IntValue"
        },
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "qualifiedName"
          },
          "value": "io.lionweb.Properties.IntValue"
        },
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "key"
          },
          "value": "io_lionweb_Properties-IntValue"
        }
      ],
      "children": [
        {
          "containment": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "features"
          },
          "children": [
            "io_lionweb_Properties-IntValue-value"
          ]
        }
      ],
      "references": [
        {
          "reference": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "Concept_extends"
          },
          "targets": [
            {
              "resolveInfo": "Value",
              "reference": "io_lionweb_Properties-Value"
            }
          ]
        },
        {
          "reference": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "implements"
          },
          "targets": []
        }
      ],
      "parent": "io_lionweb_Properties"
    },
    {
      "id": "io_lionweb_Properties-IntValue-value",
      "concept": {
        "metamodel": "LIonCore_M3",
        "version": "1",
        "key": "Property"
      },
      "properties": [
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "optional"
          },
          "value": "false"
        },
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "derived"
          },
          "value": "false"
        },
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "NamespacedEntity_name"
          },
          "value": "value"
        },
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "qualifiedName"
          },
          "value": "io.lionweb.Properties.IntValue.value"
        },
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "key"
          },
          "value": "io_lionweb_Properties-IntValue-value"
        }
      ],
      "children": [],
      "references": [
        {
          "reference": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "Property_type"
          },
          "targets": [
            {
              "resolveInfo": "String",
              "reference": "LIonCore_M3_String"
            }
          ]
        }
      ],
      "parent": "io_lionweb_Properties-IntValue"
    },
    {
      "id": "io_lionweb_Properties-StringValue",
      "concept": {
        "metamodel": "LIonCore_M3",
        "version": "1",
        "key": "Concept"
      },
      "properties": [
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "abstract"
          },
          "value": "false"
        },
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "NamespacedEntity_name"
          },
          "value": "StringValue"
        },
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "qualifiedName"
          },
          "value": "io.lionweb.Properties.StringValue"
        },
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "key"
          },
          "value": "io_lionweb_Properties-StringValue"
        }
      ],
      "children": [
        {
          "containment": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "features"
          },
          "children": [
            "io_lionweb_Properties-StringValue-value"
          ]
        }
      ],
      "references": [
        {
          "reference": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "Concept_extends"
          },
          "targets": [
            {
              "resolveInfo": "Value",
              "reference": "io_lionweb_Properties-Value"
            }
          ]
        },
        {
          "reference": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "implements"
          },
          "targets": []
        }
      ],
      "parent": "io_lionweb_Properties"
    },
    {
      "id": "io_lionweb_Properties-StringValue-value",
      "concept": {
        "metamodel": "LIonCore_M3",
        "version": "1",
        "key": "Property"
      },
      "properties": [
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "optional"
          },
          "value": "false"
        },
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "derived"
          },
          "value": "false"
        },
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "NamespacedEntity_name"
          },
          "value": "value"
        },
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "qualifiedName"
          },
          "value": "io.lionweb.Properties.StringValue.value"
        },
        {
          "property": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "key"
          },
          "value": "io_lionweb_Properties-StringValue-value"
        }
      ],
      "children": [],
      "references": [
        {
          "reference": {
            "metamodel": "LIonCore_M3",
            "version": "1",
            "key": "Property_type"
          },
          "targets": [
            {
              "resolveInfo": "String",
              "reference": "LIonCore_M3_String"
            }
          ]
        }
      ],
      "parent": "io_lionweb_Properties-StringValue"
    }
  ]
}
enikao commented 1 year ago

Great! I should have asked for --help

Maybe we could add the option to https://github.com/LIonWeb-org/mps-meetup-2023/blob/main/properties-parser/Readme.md ?