Skip to end of metadata
Go to start of metadata

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

Compare with Current View Page History

« Previous Version 8 Current »

References

CPS-2293 - Getting issue details... STATUS

Module dependencies

Issues & Decisions

NCMP

Package

Notes of packages which should not  be there

Classes from illegal package

Decision

1

org.onap.cps.ncmp.rest

org.onap.cps.spi,
ConditionProperties
ModuleDefinition
ModuleReference
DataNode
DataNodeNotFoundException
AlreadyDefinedException
CpsException
DataValidationException

CPS Utils can be used everywhere in the project

Apart from ConditionProperties the use of the classes is OK.
Just allow spi.model and spi.exceptions.

2
org.onap.cps.ncmp.impl
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

org.onap.cps.ncmp.impl
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
org.onap.cps.ncmp.config
CpsApplicationContext

Needs further investigation, but probably fine.
it is used in CmResourceAddress class.

5
org.onap.cps.spi
ModuleDefinition
ModuleReference

This should be fine. look at the comments above!

6

org.onap.cps.ncmp.impl

org.onap.cps.cpspath
CpsPathUtil
PathParsingException

Cps Path module should be declared as a common module for all.

7
org.onap.cps.events
EventsPublisher

This should be kept in place to not duplicate code in the projects.

An exception should be made here.

8
org.onap.cps.impl
CpsValidator

org/onap/cps/impl/utils/CpsValidator.java interface should be moved to org/onap/cps/utils

9
org.onap.cps.spi
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.

org.onap.cps.spi
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

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.

  • No labels