Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...


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 service 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

curerntly 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

Code Block
titleGeneric folder (package structure)
api\feature1\someServiceSomeService.class
api\feature1\models\specificModelclassSpecificModelClass
api\feature1\exceptions\sepcificExceptionSpecificException.class
api\feature2\someServiceSomeService.class
api\feature2\models\specificModelclassSpecificModelclass
api\feature2\exceptions\sepcificExceptionSpecificException.class
api\models\commonModelCommonModel.class
api\exeptions\commonexceptionCommonException.class

impl\feature1\someServiceImplSomeServiceImpl.class
impl\feature1\helperPackage\somHelperSpecificHelper.class
impl\feature2\someServiceImplSomeServiceImpl.class

exceptions\someInternalException.class
utils\commonHelperCommonHelper.class


Proposed DataJobs Structure

Proposed structure (not complete but indicative):

Code Block
titledatajobs
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

...