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

Compare with Current View Page History

Version 1 Next »

Jira Ticket:

CCSDK-2752 - Getting issue details... STATUS

Decisions

#

Description

Details

Decisions

1

Assume flat attributes (no complex data types) but data could be stored as json object in SPI impl. for convenience/PoC



2SPI Implementation NOT using Model (service) current ENM SPI does!

Open Issues

#

Description

Details

Decisions

1Are we going to have XPath/query builder?
  • We should decide based on what the users want to use/is easy to use
  • We don't want a query builder that eventually mimics XPaths functionality, use what is defined already XPATH sa a based but maybe supplement with a xpath-builder

2

Having a fluent interface in my opinion would be way more intuitive and practical. E.g.

//AND of two restrictions

Restriction and(Restriction firstRestriction,  Restriction secondRestriction)

//OR of two restrictions

Restriction or(Restriction firstRestriction,  Restriction secondRestriction)

//NOT of a restriction

Restriction not(Restriction restriction)

This will give any user of the API an intuitive way to build a complex query and the developer of the API a tree to navigate and translate to SQL (or any other query language). A developer could do something the likes of myQuery.setRestriction(restriction1.and(restrcition2).and(restriction3))



3

SPI should be type safe (the SPI impl. has no access to models)

    1. All numeric types could be passed as ‘long’ in Java

We can do validation but still store as a string (JSON object).


ENM SPI Study

Details about the ENM SPI can be found here: https://wiki.onap.org/pages/resumedraft.action?draftId=92998891&draftShareId=2f0190f4-bc97-47b7-bd82-6561f3606575&


Proposed Future Implementation of CPS SPI

Data SPI


Name


Definition

 Capabilities




Module SPI


Name


Definition

 Capabilities

1

Module Interface


Provides CRUD operations on a module set.

  • Create a module set
  • Merge a module set
  • Read all modules
  • Validate modules
  • Update a module set
  • Create a module set and validate it against a module reference (using a separate SPI)

Query SPI


Name


Definition

 Capabilities

1






  • No labels