2016-04-21 2 views
0

Unterstützt Opendaylight (Beryllium) YANG RPC-Datenmodellierungstypen wie anyxml/anydata?Opendaylight YANG RPC-Modellierung für anyxml/anydata-Typen

Ich war an der Entwicklung einer Opendaylight Controller App beteiligt, in der ich eine dynamische JSON-Daten als Teil von RPC (NorthBound API) veröffentlichen muss.

Hier ist meine YANG RPC Definition:

rpc service_discovery{ 
    input { 
     leaf service_account_id{ 
      type string; 
     } 
     leaf action{ 
      type string; 
     } 
    } 
    output { 
     list discoveryList{ 
      anyxml service_element; 
     } 
    } 
} 

diese YANG IETF documentation zur Definition anyxml/anydata Typen Geworben

Wenn ich diese YANG bauen, kann ich nicht JAVA-Schnittstellen/Klassen, die gegen anyxml Art sehen konnte, und bin nicht sicher, wie man die JAVA-Implementierung entsprechend diesen Typen durchführt. Dies blockiert mich bei der Veröffentlichung der dynamischen JSON, die ich von SouthBound API erhalten habe.

Hier sind die Beispieldaten, die ich in der Ausgabe veröffentlichen möchte. Die Schwierigkeit hierbei ist, dass die JSON-Attribute dynamisch sind, so dass es nicht möglich ist, sie in YANG statisch zu definieren. Also habe ich mich für anyxml entschieden.

[ { 
    "id_1": "123245", 
    "name_1": "test1", 
    "deployment_1": "prod", 
    "type_1": "cloud" 
    }, 
    { 
    "id_2": "33455", 
    "name_2": "Test2", 
    "deployment_2": "QA", 
    "type_2": "container" 
    } ] 

Bitte schlagen Sie mir das YANG-Modell für die oben genannten Daten in der Ausgabe veröffentlicht werden.

Antwort

0

Da Sie "anyxml service_element" als Ausgabetyp für die "list discoveryList" angegeben haben, können Sie nicht erwarten, dass sie als Klasse/Schnittstelle generiert wird.

output { 
    anyxml service_element { 
     description: ......... 
    } 
} 
+0

Dank @Bhavesh für die Antwort:

Sie können Ihre Ausgabe zu sein wie modifizieren. Eigentlich wollte ich die folgende Art von Daten veröffentlichen, die von Typ ** Liste von JSON ** in der Ausgabe. Die Schwierigkeit hierbei ist, dass die JSON-Attribute dynamisch sind, so dass es nicht möglich ist, sie in YANG statisch zu definieren. Also habe ich mich für anyxml entschieden. '[{ "ID_1": "123245", "NAME_1": "Test1" "deployment_1": "Prod" "TYPE_1": "Wolke" }, { "ID_2":" 33455" , "name_2": "Test2", "deployment_2": "QA", "type_2": "Container" }] ' vorschlagen Bitte mir das YANG Modell für die obigen Beispieldaten in Ausgabe veröffentlicht werden . – Jayaprakash

Verwandte Themen