{
  "class": "root:org.kevoree.ContainerRoot@1490350483197",
  "generated_KMF_ID": "1490350483197",
  "nodes": [
    {
      "class": "org.kevoree.ContainerNode@node1",
      "name": "node1",
      "started": "false",
      "typeDefinition": [
        "/packages[kevoree]/typeDefinitions[name=JavascriptNode,version=1]"
      ],
      "hosts": [],
      "host": [],
      "groups": [],
      "dictionary": [
        {
          "class": "org.kevoree.Dictionary@0.0",
          "generated_KMF_ID": "0.0",
          "values": [
            {
              "class": "org.kevoree.Value@logLevel",
              "name": "logLevel",
              "value": "INFO"
            }
          ]
        }
      ],
      "fragmentDictionary": [],
      "metaData": [],
      "components": [],
      "networkInformation": []
    },
    {
      "class": "org.kevoree.ContainerNode@node0",
      "name": "node0",
      "started": "false",
      "typeDefinition": [
        "/packages[kevoree]/typeDefinitions[name=JavascriptNode,version=1]"
      ],
      "hosts": [],
      "host": [],
      "groups": [],
      "dictionary": [
        {
          "class": "org.kevoree.Dictionary@0.0",
          "generated_KMF_ID": "0.0",
          "values": [
            {
              "class": "org.kevoree.Value@logLevel",
              "name": "logLevel",
              "value": "INFO"
            }
          ]
        }
      ],
      "fragmentDictionary": [],
      "metaData": [],
      "components": [],
      "networkInformation": []
    }
  ],
  "repositories": [],
  "hubs": [],
  "mBindings": [],
  "groups": [
    {
      "class": "org.kevoree.Group@sync",
      "name": "sync",
      "started": "false",
      "typeDefinition": [
        "/packages[kevoree]/typeDefinitions[name=WSGroup,version=1]"
      ],
      "subNodes": [],
      "dictionary": [
        {
          "class": "org.kevoree.Dictionary@0.0",
          "generated_KMF_ID": "0.0",
          "values": [
            {
              "class": "org.kevoree.Value@filter",
              "name": "filter",
              "value": ""
            },
            {
              "class": "org.kevoree.Value@onConnect",
              "name": "onConnect",
              "value": ""
            },
            {
              "class": "org.kevoree.Value@onDisconnect",
              "name": "onDisconnect",
              "value": ""
            },
            {
              "class": "org.kevoree.Value@master",
              "name": "master",
              "value": ""
            }
          ]
        }
      ],
      "fragmentDictionary": [],
      "metaData": []
    }
  ],
  "packages": [
    {
      "class": "org.kevoree.Package@kevoree",
      "name": "kevoree",
      "packages": [],
      "typeDefinitions": [
        {
          "class": "org.kevoree.GroupType@name=WSGroup,version=1",
          "abstract": "false",
          "name": "WSGroup",
          "version": "1",
          "deployUnits": [
            "/packages[kevoree]/deployUnits[hashcode=ca43b985c3e5dfb28c9e6664f4c9822e,name=org.kevoree.library.java.ws,version=5.4.0-SNAPSHOT]",
            "/packages[kevoree]/deployUnits[hashcode=8cbee1039c3a0926a3a1d963230608c7,name=kevoree-group-ws,version=5.3.3-beta.3]"
          ],
          "superTypes": [],
          "dictionaryType": [
            {
              "class": "org.kevoree.DictionaryType@0.0",
              "generated_KMF_ID": "0.0",
              "attributes": [
                {
                  "class": "org.kevoree.DictionaryAttribute@filter",
                  "fragmentDependant": "false",
                  "optional": "true",
                  "name": "filter",
                  "state": "false",
                  "datatype": "STRING",
                  "defaultValue": "",
                  "genericTypes": []
                },
                {
                  "class": "org.kevoree.DictionaryAttribute@onConnect",
                  "fragmentDependant": "false",
                  "optional": "true",
                  "name": "onConnect",
                  "state": "false",
                  "datatype": "STRING",
                  "defaultValue": "",
                  "genericTypes": []
                },
                {
                  "class": "org.kevoree.DictionaryAttribute@onDisconnect",
                  "fragmentDependant": "false",
                  "optional": "true",
                  "name": "onDisconnect",
                  "state": "false",
                  "datatype": "STRING",
                  "defaultValue": "",
                  "genericTypes": []
                },
                {
                  "class": "org.kevoree.DictionaryAttribute@port",
                  "fragmentDependant": "true",
                  "optional": "true",
                  "name": "port",
                  "state": "false",
                  "datatype": "INT",
                  "defaultValue": "9000",
                  "genericTypes": []
                },
                {
                  "class": "org.kevoree.DictionaryAttribute@master",
                  "fragmentDependant": "false",
                  "optional": "true",
                  "name": "master",
                  "state": "false",
                  "datatype": "STRING",
                  "defaultValue": "",
                  "genericTypes": []
                }
              ]
            }
          ],
          "metaData": [
            {
              "class": "org.kevoree.Value@description",
              "name": "description",
              "value": "This group uses <strong>WebSockets</strong> to propagate models over the connected nodes.<br/>If the attribute <strong>master</strong> is specified (using the instance name of one of the connected nodes) then a WebSocket server will be listening on that node using the <strong>port</strong> attribute specified in the fragment dictionary of that particular node and every other nodes connected to that group will try to connect to that <strong>master</strong> node.</br>If <strong>master</strong> is empty, then every connected node will try to start a WebSocket server using their <strong>port</strong> fragment attribute.<br/><br/>The attributes <strong>onConnect</strong> and <strong>onDisconnect</strong> expects KevScript strings to be given to them optionally. If set, <strong>onConnect</strong> KevScript will be executed on the <strong>master</strong> node when a new client connects to the master server (and <strong>onDisconnect</strong> will be executed when a node disconnects from the master server)<br/><br/><em>NB: onConnect & onDisconnect can reference the current node that triggered the process by using this notation: {nodeName}</em><br/><em>NB2: {groupName} is also available and resolves to the current WSGroup instance name</em><br/><em>NB3: onConnect & onDisconnect are not triggered if the client nodeName does not match the regex given in the <strong>filter</strong> parameter</em>"
            }
          ]
        },
        {
          "class": "org.kevoree.NodeType@name=JavascriptNode,version=1",
          "abstract": "false",
          "name": "JavascriptNode",
          "version": "1",
          "deployUnits": [
            "/packages[kevoree]/deployUnits[hashcode=49398733bb33b2a3f44e04081fbb2876,name=kevoree-node-javascript,version=5.4.0-beta.9]"
          ],
          "superTypes": [],
          "dictionaryType": [
            {
              "class": "org.kevoree.DictionaryType@0.0",
              "generated_KMF_ID": "0.0",
              "attributes": [
                {
                  "class": "org.kevoree.DictionaryAttribute@logLevel",
                  "fragmentDependant": "false",
                  "optional": "false",
                  "name": "logLevel",
                  "state": "false",
                  "datatype": "STRING",
                  "defaultValue": "INFO",
                  "genericTypes": []
                }
              ]
            }
          ],
          "metaData": [
            {
              "class": "org.kevoree.Value@description",
              "name": "description",
              "value": "Kevoree JS standard node platform"
            }
          ]
        }
      ],
      "deployUnits": [
        {
          "class": "org.kevoree.DeployUnit@hashcode=ca43b985c3e5dfb28c9e6664f4c9822e,name=org.kevoree.library.java.ws,version=5.4.0-SNAPSHOT",
          "name": "org.kevoree.library.java.ws",
          "hashcode": "ca43b985c3e5dfb28c9e6664f4c9822e",
          "url": "org.kevoree.library.java:org.kevoree.library.java.ws:5.4.0-SNAPSHOT",
          "version": "5.4.0-SNAPSHOT",
          "requiredLibs": [],
          "filters": [
            {
              "class": "org.kevoree.Value@class:WSGroup:1",
              "name": "class:WSGroup:1",
              "value": "org.kevoree.library.WSGroup"
            },
            {
              "class": "org.kevoree.Value@class:RemoteWSGroup:1",
              "name": "class:RemoteWSGroup:1",
              "value": "org.kevoree.library.RemoteWSGroup"
            },
            {
              "class": "org.kevoree.Value@platform",
              "name": "platform",
              "value": "java"
            },
            {
              "class": "org.kevoree.Value@class:RemoteWSChan:1",
              "name": "class:RemoteWSChan:1",
              "value": "org.kevoree.library.RemoteWSChan"
            },
            {
              "class": "org.kevoree.Value@class:WSFeedbackGroup:1",
              "name": "class:WSFeedbackGroup:1",
              "value": "org.kevoree.library.WSFeedbackGroup"
            },
            {
              "class": "org.kevoree.Value@class:WSChan:1",
              "name": "class:WSChan:1",
              "value": "org.kevoree.library.WSChan"
            },
            {
              "class": "org.kevoree.Value@repo_kevoree-oss",
              "name": "repo_kevoree-oss",
              "value": "https://oss.sonatype.org/content/groups/public/"
            },
            {
              "class": "org.kevoree.Value@repo_sonatype-nexus-snapshots",
              "name": "repo_sonatype-nexus-snapshots",
              "value": "https://oss.sonatype.org/content/repositories/snapshots"
            },
            {
              "class": "org.kevoree.Value@repo_central",
              "name": "repo_central",
              "value": "https://repo.maven.apache.org/maven2"
            }
          ]
        },
        {
          "class": "org.kevoree.DeployUnit@hashcode=8cbee1039c3a0926a3a1d963230608c7,name=kevoree-group-ws,version=5.3.3-beta.3",
          "name": "kevoree-group-ws",
          "hashcode": "8cbee1039c3a0926a3a1d963230608c7",
          "url": "",
          "version": "5.3.3-beta.3",
          "requiredLibs": [],
          "filters": [
            {
              "class": "org.kevoree.Value@platform",
              "name": "platform",
              "value": "js"
            }
          ]
        },
        {
          "class": "org.kevoree.DeployUnit@hashcode=49398733bb33b2a3f44e04081fbb2876,name=kevoree-node-javascript,version=5.4.0-beta.9",
          "name": "kevoree-node-javascript",
          "hashcode": "49398733bb33b2a3f44e04081fbb2876",
          "url": "",
          "version": "5.4.0-beta.9",
          "requiredLibs": [],
          "filters": [
            {
              "class": "org.kevoree.Value@platform",
              "name": "platform",
              "value": "js"
            }
          ]
        }
      ]
    }
  ]
}
