From fa6d112efc856b66b41f83dde6a55fa34c356a35 Mon Sep 17 00:00:00 2001 From: Martin Vogel <martin.vogel@sinc.de> Date: Wed, 15 Jun 2022 14:49:50 +0200 Subject: [PATCH] #414 Add MetadataService impl stub and bind via guice --- .../api/services/metadata/MetadataService.java | 3 +-- .../fitko/fitconnect/dependency/SdkModule.java | 3 +++ .../fitko/fitconnect/impl/SubmissionSender.java | 6 +++++- .../impl/metadata/MetadataGenerationService.java | 16 ++++++++++++++++ .../impl/auth/OAuthTokenIntegrationTest.java | 2 +- 5 files changed, 26 insertions(+), 4 deletions(-) create mode 100644 impl/src/main/java/de/fitko/fitconnect/impl/metadata/MetadataGenerationService.java diff --git a/api/src/main/java/de/fitko/fitconnect/api/services/metadata/MetadataService.java b/api/src/main/java/de/fitko/fitconnect/api/services/metadata/MetadataService.java index 16a6e2efb..fc9440f07 100644 --- a/api/src/main/java/de/fitko/fitconnect/api/services/metadata/MetadataService.java +++ b/api/src/main/java/de/fitko/fitconnect/api/services/metadata/MetadataService.java @@ -22,8 +22,7 @@ public interface MetadataService { * * @param data the actual data payload (json or xml) * @param attachments list of 0..n attachments as binary data - * @param publicKey the publicKey the data and attachments are encrypted with * @return Metadata with hashes of the data and attachments to send */ - Metadata createMetadata(final Data data, final List<Attachment> attachments, final RSAKey publicKey); + Metadata createMetadata(final Data data, final List<Attachment> attachments); } diff --git a/dependency/src/main/java/de/fitko/fitconnect/dependency/SdkModule.java b/dependency/src/main/java/de/fitko/fitconnect/dependency/SdkModule.java index f5fa988d2..d4a2e265a 100644 --- a/dependency/src/main/java/de/fitko/fitconnect/dependency/SdkModule.java +++ b/dependency/src/main/java/de/fitko/fitconnect/dependency/SdkModule.java @@ -9,6 +9,7 @@ import de.fitko.fitconnect.api.services.Sender; import de.fitko.fitconnect.api.services.Subscriber; import de.fitko.fitconnect.api.services.auth.OAuthService; import de.fitko.fitconnect.api.services.crypto.CryptoService; +import de.fitko.fitconnect.api.services.metadata.MetadataService; import de.fitko.fitconnect.api.services.validation.CertificateValidator; import de.fitko.fitconnect.api.services.validation.MetadataValidator; import de.fitko.fitconnect.impl.SubmissionSender; @@ -16,6 +17,7 @@ import de.fitko.fitconnect.impl.SubmissionSubscriber; import de.fitko.fitconnect.impl.auth.DefaultOAuthService; import de.fitko.fitconnect.impl.crypto.JWECryptoService; import de.fitko.fitconnect.impl.http.ProxyConfig; +import de.fitko.fitconnect.impl.metadata.MetadataGenerationService; import de.fitko.fitconnect.impl.validation.KeyValidator; import de.fitko.fitconnect.impl.validation.MetadataSubmissionValidator; import org.slf4j.Logger; @@ -40,6 +42,7 @@ public class SdkModule extends AbstractModule { bind(CryptoService.class).to(JWECryptoService.class); bind(CertificateValidator.class).to(KeyValidator.class); bind(MetadataValidator.class).to(MetadataSubmissionValidator.class); + bind(MetadataService.class).to(MetadataGenerationService.class); bind(Sender.class).to(SubmissionSender.class); bind(Subscriber.class).to(SubmissionSubscriber.class); diff --git a/impl/src/main/java/de/fitko/fitconnect/impl/SubmissionSender.java b/impl/src/main/java/de/fitko/fitconnect/impl/SubmissionSender.java index b5d476c6a..a3953b0b9 100644 --- a/impl/src/main/java/de/fitko/fitconnect/impl/SubmissionSender.java +++ b/impl/src/main/java/de/fitko/fitconnect/impl/SubmissionSender.java @@ -12,6 +12,7 @@ import de.fitko.fitconnect.api.exceptions.AuthenticationException; import de.fitko.fitconnect.api.services.Sender; import de.fitko.fitconnect.api.services.auth.OAuthService; import de.fitko.fitconnect.api.services.crypto.CryptoService; +import de.fitko.fitconnect.api.services.metadata.MetadataService; import de.fitko.fitconnect.api.services.validation.CertificateValidator; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -26,14 +27,17 @@ public class SubmissionSender implements Sender { private final OAuthService authService; private final CertificateValidator certificateValidator; private final CryptoService cryptoService; + private final MetadataService metadataService; @Inject public SubmissionSender(final OAuthService authService, final CryptoService encryptionService, - final CertificateValidator certificateValidator) { + final CertificateValidator certificateValidator, + final MetadataService metadataService) { this.authService = authService; this.cryptoService = encryptionService; this.certificateValidator = certificateValidator; + this.metadataService = metadataService; } diff --git a/impl/src/main/java/de/fitko/fitconnect/impl/metadata/MetadataGenerationService.java b/impl/src/main/java/de/fitko/fitconnect/impl/metadata/MetadataGenerationService.java new file mode 100644 index 000000000..c15ae7fc2 --- /dev/null +++ b/impl/src/main/java/de/fitko/fitconnect/impl/metadata/MetadataGenerationService.java @@ -0,0 +1,16 @@ +package de.fitko.fitconnect.impl.metadata; + +import de.fitko.fitconnect.api.domain.model.metadata.Metadata; +import de.fitko.fitconnect.api.domain.model.metadata.attachment.Attachment; +import de.fitko.fitconnect.api.domain.model.metadata.data.Data; +import de.fitko.fitconnect.api.services.metadata.MetadataService; + +import java.util.List; + +public class MetadataGenerationService implements MetadataService { + + @Override + public Metadata createMetadata(Data data, List<Attachment> attachments) { + throw new UnsupportedOperationException("not yet implemented"); + } +} diff --git a/impl/src/test/java/fitconnect/impl/auth/OAuthTokenIntegrationTest.java b/impl/src/test/java/fitconnect/impl/auth/OAuthTokenIntegrationTest.java index 4be32b535..6a1e90e80 100644 --- a/impl/src/test/java/fitconnect/impl/auth/OAuthTokenIntegrationTest.java +++ b/impl/src/test/java/fitconnect/impl/auth/OAuthTokenIntegrationTest.java @@ -23,7 +23,7 @@ class OAuthTokenIntegrationTest { var scope = "send:region:DE"; var authService = new DefaultOAuthService( new RestTemplate(), tokenUrl); - final Sender sender = new SubmissionSender(authService, null, null); + final Sender sender = new SubmissionSender(authService, null, null, null); // When Optional<OAuthToken> token = sender.retrieveOAuthToken(clientId, secret, scope); -- GitLab