You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

CPS-817 - Getting issue details... STATUS

Creating a new get cm handle endpoint.

REST layer

  • nmcp.yml
    • New endpoint for retrieveCmHandleByName to retrieve cm handle details by the cm handles name/id.
  • NetworkComProxyController.java
    • New method retrieveCmHandleByName() which calls a new method getCmHandleDetails from NetworkCmProxyDataService
  • NetworkCmProxyController.groovy
    • Add test for scenario above.

Service Layer

  • NetworkCmProxyDataService.java
    • New getCmHandleDetails() method to be overwritten.
  • NetworkCmProxyDataServiceImp.java
    • Implement getCmHandleDetails and call retrieveCmHandleDetails from the persistence layer.

Persistence Layer

PersistenceCmHandleRetriever.java

  • New method retrieveCmHandleDetails().

API details

Description

URI

Sample Response Body

Get Cm Handle details by name.

GET

 {ncmpRoot}/ncmp/v1/ch/PNFDemo

{
    "cmHandle": "Bookstore",
    "cmHandleProperties": [
        {
            "Public-Book1": "Public Sci-Fi Book",
            "Public-Book2": "Public Horror Book",
            "Public-Book3": "Public Crime Book"
        }
    ]
}

Open Issues

Currently within CPS we have two separate models for CmHandles these being CmHandle and PersistenceCmHandle. These are both very similar models, the primary difference being that persistenceCmHandle also contains references to the dmiServiceName, the dmiDataServiceName and the dmiModelServiceName as seen below.

CmHandle.java
/**
 * CmHandle.
 */
@Validated
@Getter
@Setter
@NoArgsConstructor
public class CmHandle {

    @JsonProperty("cmHandle")
    private String cmHandleID;

    @JsonSetter(nulls = Nulls.AS_EMPTY)
    @JsonProperty("cmHandleProperties")
    private Map<String, String> dmiProperties = Collections.emptyMap();

    @JsonSetter(nulls = Nulls.AS_EMPTY)
    @JsonProperty("publicCmHandleProperties")
    private Map<String, String> publicProperties = Collections.emptyMap();

}

PersistenceCmHandle.java
/**
 * DmiRegistry.
 */
@Getter
@Setter
@NoArgsConstructor
public class PersistenceCmHandle {

    private String id;

    @JsonProperty("dmi-service-name")
    private String dmiServiceName;

    @JsonProperty("dmi-data-service-name")
    private String dmiDataServiceName;

    @JsonProperty("dmi-model-service-name")
    private String dmiModelServiceName;

    @JsonProperty("additional-properties")
    private List<Property> dmiProperties;

    @JsonProperty("public-properties")
    private List<Property> publicProperties;


  • No labels