Currently there are a number of source files needed to get a complete view of the AAI schema information:

Auto-generated documentation of the AAI schema is the most complete at the moment (created by an OpenAPI/Swagger-like process).

 Problems encountered when working with the AAI model structure:

  • AAI uses RelationshipList as a generic linking class everywhere in the model – needs to be collapsed into the actual links
  • AAI uses collection classes (ex. Pnfs as a collection for Pnf) that add no information – need to be filtered out

Ideas regarding how to do the reverse-engineering with a minimum of manual rework of the model (NOTE: most of these are still TODO):



  • No labels

4 Comments

  1. FYI, the XSD files are not the primary source of schema information in AAI. The XSD is generated from the OXM:

    https://gerrit.onap.org/r/gitweb?p=aai/schema-service.git;a=tree;f=aai-schema/src/main/resources/onap/oxm;hb=HEAD


    The EdgeRule files are important. Note that they have an overlap with the OXM files because sub-object containment relationships in the OXM also require "TREE" EdgeRules which are denoted by the "contains-other-v" property.


    The Traversal custom queries are interesting from a usage perspective (there are clients of AAI find it useful to retrieve that information) but they do not define the schema, they only traverse what was defined above in the OXM and EdgeRules.


    For comparison with other diagrams you may generate, please see also my one-off attempt to visualise the graph:

  2. Jacqueline Beaulac is the file created by eclipse posted somewhere, or tracked in gerrit?

  3. I was able to generate/modify json file from aai_swagger_v16.yaml that I was able generate class diagram and apply OpenAPI profile in WAPIml


    swagger.json

    I wasn't able get yaml2json to work locally, so I used,


    http://central.maven.org/maven2/io/swagger/swagger-codegen-cli/2.4.7/swagger-codegen-cli-2.4.7.jar

    Rename swagger-codegen-cli-2.4.7.jar, swagger-codegen-cli.jar

    java -jar swagger-codegen-cli.jar generate -i aai_swagger_v16.yaml -l swagger

    And the resulting json file did not have patchDefinitions. So I updated the references

    "$ref" : "#/patchDefinitions"

    to

    "$ref" : "#/definitions"

    I found API references which repeated the same parameter twice would not properly load,

    as in,

    "/business/customers/customer/{global-customer-id}/service-subscriptions/service-subscription/{service-type}/service-instances/service-instance/{service-instance-id}/allotted-resources/allotted-resource/{id}/tunnel-xconnects/tunnel-xconnect/{id}

    replacing the id references in tunnel-xconnect with id1, passed that failure


    Two other failures that were identified in the error messages were


    Invalid UTF-8 start byte 0x92
    at [Source: java.io.FileInputStream@537c71aa; line: 52511, column: 71]

    change this line,

    "description" : "Aggregate route configs are used on the D2 IPE’s for the Voice services. In 1902, SDNC will create aggregate-route objects and write them to A&AI. \n###### Related Nodes\n- TO l3-network (PARENT of aggregate-route, aggregate-route BelongsTo l3-network, MANY2ONE)(4)\n\n-(4) IF this TO node is deleted, this AGGREGATE-ROUTE is DELETED also\n"
    to
    "description" : "Aggregate route configs are used on the D2 IPEs for the Voice services. In 1902, SDNC will create aggregate-route objects and write them to A&AI. \n###### Related Nodes\n- TO l3-network (PARENT of aggregate-route, aggregate-route BelongsTo l3-network, MANY2ONE)(4)\n\n-(4) IF this TO node is deleted, this AGGREGATE-ROUTE is DELETED also\n"

    Invalid UTF-8 start byte 0x85
    at [Source: java.io.FileInputStream@456d61b3; line: 60563, column: 57]

    changed
    "description" : "Design of zone [Medium/Large…]"

    to

    "description" : "Design of zone [Medium/Large]"


    1. William LaMont  I believe the "[Medium/Large...]" text is in the description field of the OXM as literal text. It appears to contain the Unicode Ellipsis character https://www.fileformat.info/info/unicode/char/2026/index.htm

      As Jacqueline Beaulac  says, Microsoft Word automatically inserts this as a replacement character, but that's not the only way it could get in.

      So the edit should occur in the original OXM files.

      As for the "patchDefinitions" reference, should I include that in the code changes already proposed for AAI-2441 - Getting issue details... STATUS ?