Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Split rest endpoints and improve modularisation #817

Merged
merged 41 commits into from
Jul 22, 2019
Merged

Conversation

melowe
Copy link
Contributor

@melowe melowe commented Jul 13, 2019

  1. Move JAX-RS endpoints into distinct modules and don't use spring to instantiate JAX-RS objects.
  2. Move JPA focused code into distinct module to prevent circular dependency when trying to use DAOs in modules external to core/transaction
  3. Remove GRPC modules and related code
  4. Start phasing out loading spring managed objects via ServiceLocator, providing a ServiceFactory to limit access to ServiceLoader.

melowe added 30 commits July 5, 2019 12:49
Remove grpc dependencies
Ennforce version for jetty utils.
ServiceLocator.getServices() to ServiceFactory .
Conflicts:
	jaxrs-service/src/main/java/com/quorum/tessera/api/exception/KeyNotFoundExceptionMapper.java
	jaxrs-service/src/test/java/com/quorum/tessera/api/exception/KeyNotFoundExceptionMapperTest.java
2.Add mock p2p client factory for tests
3. Use serviceFactory to inject objects into payload publisher improving 
encapulation and meaning it can also be created via service loader. 
4. Add factory function to PayloadPublisher meaing altrenatives 
can be provided via class loader and META-INF/services
2.Add mock p2p client factory for tests
3. Use serviceFactory to inject objects into payload publisher improving 
encapulation and meaning it can also be created via service loader. 
4. Add factory function to PayloadPublisher meaing altrenatives 
can be provided via class loader and META-INF/services
@codecov-io
Copy link

codecov-io commented Jul 16, 2019

Codecov Report

❗ No coverage uploaded for pull request base (master@7bce6a7). Click here to learn what that means.
The diff coverage is 99.53%.

Impacted file tree graph

@@            Coverage Diff            @@
##             master     #817   +/-   ##
=========================================
  Coverage          ?   99.48%           
  Complexity        ?     2032           
=========================================
  Files             ?      305           
  Lines             ?     6000           
  Branches          ?      300           
=========================================
  Hits              ?     5969           
  Misses            ?        5           
  Partials          ?       26
Impacted Files Coverage Δ Complexity Δ
...om/quorum/tessera/grpc/p2p/TesseraGrpcService.java 100% <ø> (ø) 6 <0> (?)
...tessera/api/exception/SecurityExceptionMapper.java 100% <ø> (ø) 3 <0> (?)
...ava/com/quorum/tessera/api/common/ApiResource.java 100% <ø> (ø) 5 <0> (?)
...om/quorum/tessera/grpc/StreamObserverTemplate.java 100% <ø> (ø) 3 <0> (?)
...n/java/com/quorum/tessera/grpc/p2p/P2PGrpcApp.java 100% <ø> (ø) 3 <0> (?)
...src/main/java/com/quorum/tessera/grpc/GrpcApp.java 100% <ø> (ø) 6 <0> (?)
...n/java/com/quorum/tessera/grpc/api/Q2TGrpcApp.java 100% <ø> (ø) 3 <0> (?)
...java/com/quorum/tessera/client/GrpcClientImpl.java 100% <ø> (ø) 7 <0> (?)
...com/quorum/tessera/api/common/VersionResource.java 100% <ø> (ø) 3 <0> (?)
...um/tessera/grpc/p2p/P2PTransactionGrpcService.java 100% <ø> (ø) 9 <0> (?)
... and 65 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 7bce6a7...66b803b. Read the comment docs.

@melowe
Copy link
Contributor Author

melowe commented Jul 17, 2019

  1. Move JAX-RS endpoints into distinct modules and don't use spring to instantiate JAX-RS objects.
  2. Move JPA focused code into distinct module to prevent circular dependency when trying to use DAOs in modules external to core/transaction
  3. Remove GRPC modules and related code
  4. Start phasing out loading spring managed objects via ServiceLocator, providing a ServiceFactory to limit access to ServiceLoader.

@melowe melowe changed the title Split rest endpoints Split rest endpoints and improve modularisation Jul 17, 2019
@melowe melowe marked this pull request as ready for review July 17, 2019 13:06
@melowe melowe merged commit d94b76f into master Jul 22, 2019
@melowe melowe deleted the split-rest-endpoints branch July 22, 2019 12:49
@prd-fox prd-fox added 0.10.0 cleanup enhancement Non-user code enhancements labels Jul 28, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
0.10.0 cleanup enhancement Non-user code enhancements
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants