...
Jira Legacy |
---|
server | System Jira |
---|
serverId | 4733707d-2057-3a0f-ae5e-4fd8aff50176 |
---|
key | CPS-2293 |
---|
|
Module dependencies
Issues & Decisions
...
NCMP
Notes | Decision | 1 | This is an open issue | 2 | Do we need a analysis template? | is convention for (new) developers to guide them | 3 | This is a very important (blocking issue) | ...
| Notes of packages which should not be there | Classes from illegal package | Decision |
---|
1 | org.onap.cps.ncmp.rest
| Code Block |
---|
org.onap.cps.spi, |
| Code Block |
---|
ConditionProperties
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 Block |
---|
org.onap.cps.ncmp.impl |
| Code Block |
---|
NetworkCmProxyFacade
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 Block |
---|
org.onap.cps.ncmp.impl |
| Code Block |
---|
CmHandleQueryService
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 Block |
---|
org.onap.cps.ncmp.config |
| Code Block |
---|
CpsApplicationContext |
| Needs further investigation, but probably fine. it is used in CmResourceAddress class. |
5 | Code Block |
---|
org.onap.cps.spi |
| Code Block |
---|
ModuleDefinition
ModuleReference |
| This should be fine. look at the comments above! |
6 | org.onap.cps.ncmp.impl
| Code Block |
---|
org.onap.cps.cpspath |
| Code Block |
---|
CpsPathUtil
PathParsingException |
| Cps Path module should be declared as a common module for all. |
7 | Code Block |
---|
org.onap.cps.events |
| Code Block |
---|
EventsPublisher |
| This should be kept in place to not duplicate code in the projects. An exception should be made here. |
8 | Code Block |
---|
org.onap.cps.impl |
| | org/onap/cps/impl/utils/CpsValidator.java interface should be moved to org/onap/cps/utils
|
9 | Code Block |
---|
org.onap.cps.spi |
| Code Block |
---|
DataNode
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 Block |
---|
org.onap.cps.spi |
| Code Block |
---|
Anchor
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 Block |
---|
org.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. |