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

Compare with Current View Page History

« Previous Version 5 Next »

References

CPS-2240 - Getting issue details... STATUS

Issues & Decisions


IssueNotes Decision
1use api and impl folders

Team agreed on separate top level ap and impl folders. Common impl folders can be at top level ie. not under impl.
any class in api should not depend (i.e. nor import) anything from impl or common folders!!!  

2use feature based packages

Team agreed to use the current 4 services (or 5 depending on inventory)  as feature folders directly under api and impl

  • datajobs
  • cmhandlequeries (TBC)
  • proxydataservice (TBC passtrough data services)
  • cacheddataservice(TBC cached data services)
  • inventory (TBC)
3when to use common packages

when in doubt use common package ie exceptions might be re-used for otrerh features in teh futures 

4scope

currently only ncmp-service in scope. 

5plan

team agreed to do trial with 'datajobs' first. Code need to be reviewed by both teams. Once this is completed we will adress 'legacy' services

Proposed Generic Structure

Generic folder (package structure)
api\feature1\SomeService.class
api\feature1\models\SpecificModelClass
api\feature1\exceptions\SpecificException.class
api\feature2\SomeService.class
api\feature2\models\SpecificModelclass
api\feature2\exceptions\SpecificException.class
api\models\CommonModel.class
api\exeptions\CommonException.class

impl\feature1\SomeServiceImpl.class
impl\feature1\helperPackage\SpecificHelper.class
impl\feature2\SomeServiceImpl.class

exceptions\someInternalException.class
utils\CommonHelper.class


Proposed DataJobs Structure

Proposed structure (not complete but indicative):

datajobs
api\datajobs\DataJobsService.class
api\datajobs\models\DataJobMetadata.class
api\datajobs\models\DataJobReadRequest.class
api\datajobs\models\DataJobWriteRequest.class

impl\datajobs\DataJobsServiceImpl.class

exceptions\NoAlternateIdParentFoundException.class
utils\AlternateIdMatcher.class
  • No labels