...
Jira Legacyserver System Jira serverId 4733707d-2057-3a0f-ae5e-4fd8aff50176 key CPS-2293
Module dependencies
Issues & Decisions NCMP CPS ...
Issue
...
Notes
...
Decision
...
This is an open issue
...
Do we need a analysis template?
...
is convention for (new) developers to guide them
...
01 Aug 2022 Luke Gleeson (Unlicensed) and Toine Siebelink agreed we do to have consistent study pages
...
This is a very important (blocking issue)
...
Package
Notes of packages which should not be there
Classes from illegal package
Decision
1 org.onap.cps.ncmp.rest
Code Blockorg.onap.cps.spi,
Code BlockConditionProperties
ModuleDefinition
ModuleReference
DataNode
DataNodeNotFoundException
AlreadyDefinedException
CpsException
DataValidationException
CPS Utils can be used everywhere in the project Models and exceptions should be moved under the ‘api’ package. And a separate package should be made for options and CascadeDeleteAllowed called ‘parameters’.
2 Code Blockorg.onap.cps.ncmp.impl
Code BlockNetworkCmProxyFacade
LockReasonCategory.LOCKED_MISBEHAVING
The Facade class should be split into an interface in the api package and an actually implementation in the impl. package.
LockReason category should be moved under the api package in NCMP Service. The resulting error should be examined by someone
3 org.onap.cps.ncmp.api
Code Blockorg.onap.cps.ncmp.impl
Code BlockCmHandleQueryService
CmHandleRegistrationService
InventoryPersistence
ParameterizedCmHandleQueryService
CmHandleQueryConditions
InventoryQueryConditions
YangModelCmHandle
TrustLevelManager
AlternateIdMatcher
YangDataConverter
The Facade class should be split into an interface in the api package and an actually implementation in the impl. package.
4 Code Blockorg.onap.cps.ncmp.config
Code BlockCpsApplicationContext
Needs further investigation, but probably fine. it is used in CmResourceAddress
class.
5 Code Blockorg.onap.cps.spi
Code BlockModuleDefinition
ModuleReference
This should be fine. look at the comments above!
6 org.onap.cps.ncmp.impl
Code Blockorg.onap.cps.cpspath
Code BlockCpsPathUtil
PathParsingException
Cps Path module should be declared as a common module for all.
7 Code Blockorg.onap.cps.events
Code BlockEventsPublisher
This should be kept in place to not duplicate code in the projects.
An exception should be made here.
8 Code Blockorg.onap.cps.impl
org/onap/cps/impl/utils/CpsValidator.java
interface should be moved to org/onap/cps/utils
9 Code Blockorg.onap.cps.spi
Code BlockDataNode
FetchDescendantsOption
DataValidationException
ModuleDefinition
ModuleReference
DataNode
DataNodeNotFoundException
AlreadyDefinedException
CpsException
FetchDescendantsOption should be moved into ‘spi.api’ along with PaginationOption and CascadeDeleteAllowed.
The rest of the classes is OK here
CPS Package
Notes of packages which should not be there
Classes from illegal package
Decision
1 org.onap.cps.rest.
Code Blockorg.onap.cps.spi
Code BlockAnchor
Dataspace
SchemaSet
CascadeDeleteAllowed
PaginationOption
DeltaReport
FetchDescendantsOption
AlreadyDefinedException
CpsAdminException
CpsException
CpsPathException
DataInUseException
DataNodeNotFoundException
DataValidationException
ModelValidationException
NotFoundInDataspaceException
ModelValidationException
These should be moved under spi.api and then allow their usage.
2 org.onap.cps.api.impl
All impl should be moved out odfthe api package, so in my opinion all of these are breaking the Arch rule
Code Blockorg.onap.cps.api,
org.onap.cps.api.impl,
org.onap.cps.events,
org.onap.cps.impl.utils,
org.onap.cps.spi,
org.onap.cps.utils,
org.onap.cps.cpspath.parser,
org.onap.cps.yang
See the comment on the left. The possible list of classes would be numerous, so I’m not detailing them.
Move the impl package from api.