Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Jira Legacy
serverSystem Jira
columnIdsissuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId4733707d-2057-3a0f-ae5e-4fd8aff50176
keyCPS-1152

Issue:

NCMP has an inconsistency between the JSON supplied/received and what exists in the database. This is producing issues such as those related to CM Handle querying.


Create a CM HandleGet a CM HandleQuery CM Handle
URIPOST: http://localhost:8883/ncmpInventory/v1/chGET:
http://localhost:8883/ncmp/v1/ch/CmHandle1
JSON BODY{
    "dmiPlugin": "http://{{WSL IP}}:8783",
    "createdCmHandles": [
        {
            "cmHandle": "CmHandle1",
            "cmHandleProperties": {
                "Books": "Sci-Fi Book"
            },
            "publicCmHandleProperties": {
                "Color": "yellow",
                "Size": "medium",
                "Shape": "circle"
            }
        }
    ]
}
N/A

{
    "cmHandleQueryParameters": [
        {
            "conditionName": "cmHandleWithCpsPath",
            "conditionParameters": [ {"cpsPath": "//state[@cm-handle-state='LOCKED']"} ]
        }
    ]
}

JSON RESPONSEN/A

{
    "cmHandle": "CmHandle1",
    "publicCmHandleProperties": [
        {
            "Color": "yellow",
            "Shape": "circle",
            "Size": "medium"
        }
    ],
    "state": {
        "cmHandleState": "LOCKED",
        "lockReason": {
            "reason": "LOCKED_MISBEHAVING",
            "details": "some-details"
        },
        "lastUpdateTime": "2022-08-08T10:21:16.123+0000"
    }
}

[
    {
        "cmHandle": "CmHandle1",
        "publicCmHandleProperties": [
            {
                "Shape": "circle",
                "Size": "medium",
                "Color": "yellow"
            }
        ],
        "state": {
            "cmHandleState": "LOCKED",
            "lockReason": {
                "reason": "LOCKED_MISBEHAVING",
                "details": "some-details"
            },
            "lastUpdateTime": "2022-08-08T10:11:15.320+0000"
        }
    }
]

Inconsistencies
  1. cmHandleProperties != additional-properties
  2. publicCmHandleProperties != public-properties


  1. cmHandle != id
  2. cmHandleState != cm-handle-state
  3. lockReason != lock-reason
  4. lastUpdateTime != last-update-time
  5. Same as cell left
  1. Same as cell left

...


DescriptionBackwards CompatibleConvention ImpactsOverall CPS Convention impactConsistency between yang model and JSONCostComments
1Change OpenApi to kebab-casingNo - This would involve changing what is in red above. So changes to cmhandle registration and JSON responses.
  • Java stays in camelCasing and changes the JSON to kebab-casing.
  • No breaking to Java to convention.
  • JSON does not have convention
. Inconsistency between our own APIs

Would expect all endpoints to use kebab-casing: dataspace-name, schema-set.
Is what we do have now

Solved

Some endpoints effected

Version management needed

Not backwards compatible is a big issue
2Change dmi-registry to camelCasingNo - Would involve internal changes. Only changes to CM Handle API.IEEE Guidelines state yang identifiers should be in kebab casing https://1.ieee802.org/yang-guidelines/Would expect all endpoints to use camel-casing: dataspaceName, schemaSet.
Not what we do now
SolvedLiquibase updatesNot even considering, too many impacts to codebase and breaks yang convention.
3Do nothing / DocumentNothing changesConforms to conventions Would expect all endpoints to use kebab-casing: dataspace-name, schema-set.
Is what we do have now
Inconsistencies not addressedDescribe in RTDTeam recommends 

Foreseen Impacts

Change OpenApi to kebab-casing

...