adorsys/datasafe

View on GitHub
docs/modular/sequences/fullsized/write_private.puml

Summary

Maintainability
Test Coverage
@startuml

skinparam SequenceMessageAlign center

activate WriteToPrivateImpl
' de.adorsys.datasafe.privatestore.impl.actions.WriteToPrivateImpl
WriteToPrivateImpl -> WriteToPrivateImpl : resolveFileLocation

activate WriteToPrivateImpl
' de.adorsys.datasafe.privatestore.impl.actions.WriteToPrivateImpl
WriteToPrivateImpl -> ProfileRetrievalService : privateProfile

activate ProfileRetrievalService
' de.adorsys.datasafe.business.api.deployment.profile.ProfileRetrievalService
ProfileRetrievalService -> DFSBasedProfileStorageImpl : privateProfile

activate DFSBasedProfileStorageImpl
' de.adorsys.datasafe.business.impl.profile.operations.DFSBasedProfileStorageImpl
DFSBasedProfileStorageImpl -> DFSSystem : systemDfs

activate DFSSystem
' de.adorsys.datasafe.business.impl.profile.operations.DFSSystem
DFSBasedProfileStorageImpl <-- DFSSystem : DFSAccess
deactivate DFSSystem

' de.adorsys.datasafe.business.impl.profile.operations.DFSBasedProfileStorageImpl
DFSBasedProfileStorageImpl -> DFSConnectionService : obtain

activate DFSConnectionService
' de.adorsys.datasafe.business.api.deployment.dfs.DFSConnectionService
DFSBasedProfileStorageImpl <-- DFSConnectionService : DFSConnection
deactivate DFSConnectionService

' de.adorsys.datasafe.business.impl.profile.operations.DFSBasedProfileStorageImpl
DFSBasedProfileStorageImpl -> DFSBasedProfileStorageImpl : locatePrivateProfile

activate DFSBasedProfileStorageImpl
' de.adorsys.datasafe.business.impl.profile.operations.DFSBasedProfileStorageImpl
DFSBasedProfileStorageImpl <-- DFSBasedProfileStorageImpl : BucketPath
deactivate DFSBasedProfileStorageImpl

' de.adorsys.datasafe.business.impl.profile.operations.DFSBasedProfileStorageImpl
DFSBasedProfileStorageImpl -> DFSConnection : getBlob

activate DFSConnection
' de.adorsys.dfs.connection.api.service.api.DFSConnection
DFSBasedProfileStorageImpl <-- DFSConnection : Payload
deactivate DFSConnection

' de.adorsys.datasafe.business.impl.profile.operations.DFSBasedProfileStorageImpl
DFSBasedProfileStorageImpl -> GsonSerde : fromJson

activate GsonSerde
' de.adorsys.datasafe.business.impl.profile.serde.GsonSerde
DFSBasedProfileStorageImpl <-- GsonSerde : T
deactivate GsonSerde

' de.adorsys.datasafe.business.impl.profile.operations.DFSBasedProfileStorageImpl
ProfileRetrievalService <-- DFSBasedProfileStorageImpl : UserPrivateProfile
deactivate DFSBasedProfileStorageImpl

' de.adorsys.datasafe.business.api.deployment.profile.ProfileRetrievalService
WriteToPrivateImpl <-- ProfileRetrievalService : UserPrivateProfile
deactivate ProfileRetrievalService

deactivate WriteToPrivateImpl

' de.adorsys.datasafe.privatestore.impl.actions.WriteToPrivateImpl
WriteToPrivateImpl -> BucketAccessService : privateAccessFor

activate BucketAccessService
' de.adorsys.datasafe.business.api.deployment.credentials.BucketAccessService
BucketAccessService -> BucketAccessServiceImpl : privateAccessFor

activate BucketAccessServiceImpl
' de.adorsys.datasafe.business.impl.profile.dfs.BucketAccessServiceImpl
BucketAccessServiceImpl -> DFSCredentialsService : privateUserCredentials

activate DFSCredentialsService
' de.adorsys.datasafe.business.api.deployment.credentials.DFSCredentialsService
DFSCredentialsService -> DFSCredentialsServiceImpl : privateUserCredentials

activate DFSCredentialsServiceImpl
' de.adorsys.datasafe.business.impl.credentials.DFSCredentialsServiceImpl
DFSCredentialsServiceImpl -> DFSSystem : systemDfs

activate DFSSystem
' de.adorsys.datasafe.business.impl.profile.operations.DFSSystem
DFSCredentialsServiceImpl <-- DFSSystem : DFSAccess
deactivate DFSSystem

' de.adorsys.datasafe.business.impl.credentials.DFSCredentialsServiceImpl
DFSCredentialsService <-- DFSCredentialsServiceImpl : DFSCredentials
deactivate DFSCredentialsServiceImpl

' de.adorsys.datasafe.business.api.deployment.credentials.DFSCredentialsService
BucketAccessServiceImpl <-- DFSCredentialsService : DFSCredentials
deactivate DFSCredentialsService

' de.adorsys.datasafe.business.impl.profile.dfs.BucketAccessServiceImpl
BucketAccessService <-- BucketAccessServiceImpl : DFSAccess
deactivate BucketAccessServiceImpl

' de.adorsys.datasafe.business.api.deployment.credentials.BucketAccessService
WriteToPrivateImpl <-- BucketAccessService : DFSAccess
deactivate BucketAccessService

' de.adorsys.datasafe.privatestore.impl.actions.WriteToPrivateImpl
WriteToPrivateImpl -> PublicKeyService : publicKey

activate PublicKeyService
' de.adorsys.datasafe.business.api.deployment.keystore.PublicKeyService
PublicKeyService -> DFSPublicKeyServiceImpl : publicKey

activate DFSPublicKeyServiceImpl
' de.adorsys.datasafe.business.impl.profile.keys.DFSPublicKeyServiceImpl
DFSPublicKeyServiceImpl -> BucketAccessService : publicAccessFor

activate BucketAccessService
' de.adorsys.datasafe.business.api.deployment.credentials.BucketAccessService
BucketAccessService -> BucketAccessServiceImpl : publicAccessFor

activate BucketAccessServiceImpl
' de.adorsys.datasafe.business.impl.profile.dfs.BucketAccessServiceImpl
BucketAccessServiceImpl -> DFSCredentialsService : publicUserCredentials

activate DFSCredentialsService
' de.adorsys.datasafe.business.api.deployment.credentials.DFSCredentialsService
DFSCredentialsService -> DFSCredentialsServiceImpl : publicUserCredentials

activate DFSCredentialsServiceImpl
' de.adorsys.datasafe.business.impl.credentials.DFSCredentialsServiceImpl
DFSCredentialsServiceImpl -> DFSSystem : systemDfs

activate DFSSystem
' de.adorsys.datasafe.business.impl.profile.operations.DFSSystem
DFSCredentialsServiceImpl <-- DFSSystem : DFSAccess
deactivate DFSSystem

' de.adorsys.datasafe.business.impl.credentials.DFSCredentialsServiceImpl
DFSCredentialsService <-- DFSCredentialsServiceImpl : DFSCredentials
deactivate DFSCredentialsServiceImpl

' de.adorsys.datasafe.business.api.deployment.credentials.DFSCredentialsService
BucketAccessServiceImpl <-- DFSCredentialsService : DFSCredentials
deactivate DFSCredentialsService

' de.adorsys.datasafe.business.impl.profile.dfs.BucketAccessServiceImpl
BucketAccessService <-- BucketAccessServiceImpl : DFSAccess
deactivate BucketAccessServiceImpl

' de.adorsys.datasafe.business.api.deployment.credentials.BucketAccessService
DFSPublicKeyServiceImpl <-- BucketAccessService : DFSAccess
deactivate BucketAccessService

' de.adorsys.datasafe.business.impl.profile.keys.DFSPublicKeyServiceImpl
DFSPublicKeyServiceImpl -> ProfileRetrievalService : publicProfile

activate ProfileRetrievalService
' de.adorsys.datasafe.business.api.deployment.profile.ProfileRetrievalService
ProfileRetrievalService -> DFSBasedProfileStorageImpl : publicProfile

activate DFSBasedProfileStorageImpl
' de.adorsys.datasafe.business.impl.profile.operations.DFSBasedProfileStorageImpl
DFSBasedProfileStorageImpl -> DFSSystem : systemDfs

activate DFSSystem
' de.adorsys.datasafe.business.impl.profile.operations.DFSSystem
DFSBasedProfileStorageImpl <-- DFSSystem : DFSAccess
deactivate DFSSystem

' de.adorsys.datasafe.business.impl.profile.operations.DFSBasedProfileStorageImpl
DFSBasedProfileStorageImpl -> DFSConnectionService : obtain

activate DFSConnectionService
' de.adorsys.datasafe.business.api.deployment.dfs.DFSConnectionService
DFSBasedProfileStorageImpl <-- DFSConnectionService : DFSConnection
deactivate DFSConnectionService

' de.adorsys.datasafe.business.impl.profile.operations.DFSBasedProfileStorageImpl
DFSBasedProfileStorageImpl -> DFSBasedProfileStorageImpl : locatePublicProfile

activate DFSBasedProfileStorageImpl
' de.adorsys.datasafe.business.impl.profile.operations.DFSBasedProfileStorageImpl
DFSBasedProfileStorageImpl <-- DFSBasedProfileStorageImpl : BucketPath
deactivate DFSBasedProfileStorageImpl

' de.adorsys.datasafe.business.impl.profile.operations.DFSBasedProfileStorageImpl
DFSBasedProfileStorageImpl -> DFSConnection : getBlob

activate DFSConnection
' de.adorsys.dfs.connection.api.service.api.DFSConnection
DFSBasedProfileStorageImpl <-- DFSConnection : Payload
deactivate DFSConnection

' de.adorsys.datasafe.business.impl.profile.operations.DFSBasedProfileStorageImpl
DFSBasedProfileStorageImpl -> GsonSerde : fromJson

activate GsonSerde
' de.adorsys.datasafe.business.impl.profile.serde.GsonSerde
DFSBasedProfileStorageImpl <-- GsonSerde : T
deactivate GsonSerde

' de.adorsys.datasafe.business.impl.profile.operations.DFSBasedProfileStorageImpl
ProfileRetrievalService <-- DFSBasedProfileStorageImpl : UserPublicProfile
deactivate DFSBasedProfileStorageImpl

' de.adorsys.datasafe.business.api.deployment.profile.ProfileRetrievalService
DFSPublicKeyServiceImpl <-- ProfileRetrievalService : UserPublicProfile
deactivate ProfileRetrievalService

' de.adorsys.datasafe.business.impl.profile.keys.DFSPublicKeyServiceImpl
DFSPublicKeyServiceImpl -> DFSConnectionService : obtain

activate DFSConnectionService
' de.adorsys.datasafe.business.api.deployment.dfs.DFSConnectionService
DFSPublicKeyServiceImpl <-- DFSConnectionService : DFSConnection
deactivate DFSConnectionService

' de.adorsys.datasafe.business.impl.profile.keys.DFSPublicKeyServiceImpl
DFSPublicKeyServiceImpl -> DFSSystem : publicKeyStoreAuth

activate DFSSystem
' de.adorsys.datasafe.business.impl.profile.operations.DFSSystem
DFSPublicKeyServiceImpl <-- DFSSystem : KeyStoreAuth
deactivate DFSSystem

' de.adorsys.datasafe.business.impl.profile.keys.DFSPublicKeyServiceImpl
DFSPublicKeyServiceImpl -> DFSConnection : getBlob

activate DFSConnection
' de.adorsys.dfs.connection.api.service.api.DFSConnection
DFSPublicKeyServiceImpl <-- DFSConnection : Payload
deactivate DFSConnection

' de.adorsys.datasafe.business.impl.profile.keys.DFSPublicKeyServiceImpl
DFSPublicKeyServiceImpl -> KeyStoreService : getPublicKeys

activate KeyStoreService
' de.adorsys.datasafe.business.api.deployment.keystore.KeyStoreService
KeyStoreService -> KeyStoreServiceImpl : getPublicKeys

activate KeyStoreServiceImpl
' de.adorsys.datasafe.encrypiton.impl.keystore.KeyStoreServiceImpl
KeyStoreService <-- KeyStoreServiceImpl : List
deactivate KeyStoreServiceImpl

' de.adorsys.datasafe.business.api.deployment.keystore.KeyStoreService
DFSPublicKeyServiceImpl <-- KeyStoreService : List

' de.adorsys.datasafe.business.impl.profile.keys.DFSPublicKeyServiceImpl
PublicKeyService <-- DFSPublicKeyServiceImpl : PublicKeyIDWithPublicKey
deactivate DFSPublicKeyServiceImpl

' de.adorsys.datasafe.business.api.deployment.keystore.PublicKeyService
WriteToPrivateImpl <-- PublicKeyService : PublicKeyIDWithPublicKey
deactivate PublicKeyService

' de.adorsys.datasafe.privatestore.impl.actions.WriteToPrivateImpl
WriteToPrivateImpl -> DocumentWriteService : write

activate DocumentWriteService
' de.adorsys.datasafe.business.api.deployment.document.DocumentWriteService
DocumentWriteService -> CMSDocumentWriteService : write

activate CMSDocumentWriteService
' de.adorsys.datasafe.encrypiton.impl.document.CMSDocumentWriteServiceriteService
CMSDocumentWriteService -> DFSConnectionService : obtain

activate DFSConnectionService
' de.adorsys.datasafe.business.api.deployment.dfs.DFSConnectionService
CMSDocumentWriteService <-- DFSConnectionService : DFSConnection
deactivate DFSConnectionService

' de.adorsys.datasafe.encrypiton.impl.document.CMSDocumentWriteServiceriteService
CMSDocumentWriteService -> CMSEncryptionService : encrypt

activate CMSEncryptionService
' de.adorsys.datasafe.business.api.encryption.cmsencryption.CMSEncryptionService
CMSEncryptionService -> CMSEncryptionServiceImpl : encrypt

activate CMSEncryptionServiceImpl
' de.adorsys.datasafe.encrypiton.impl.cmsencryption.CMSEncryptionServiceImpl
CMSEncryptionService <-- CMSEncryptionServiceImpl : CMSEnvelopedData
deactivate CMSEncryptionServiceImpl

' de.adorsys.datasafe.business.api.encryption.cmsencryption.CMSEncryptionService
CMSDocumentWriteService <-- CMSEncryptionService : CMSEnvelopedData
deactivate CMSEncryptionService

' de.adorsys.datasafe.encrypiton.impl.document.cmsocument.CMSDocumentWriteService
CMSDocumentWriteService -> DFSConnection : putBlob

activate DFSConnection
' de.adorsys.dfs.connection.api.service.api.DFSConnection
CMSDocumentWriteService <-- DFSConnection :  
deactivate DFSConnection

' de.adorsys.datasafe.encrypiton.impl.document.cmsocument.CMSDocumentWriteService
DocumentWriteService <-- CMSDocumentWriteService :  
deactivate CMSDocumentWriteService

' de.adorsys.datasafe.business.api.deployment.document.DocumentWriteService
WriteToPrivateImpl <-- DocumentWriteService :  
deactivate DocumentWriteService

deactivate WriteToPrivateImpl

@enduml