diff --git a/build.gradle.kts b/build.gradle.kts index d898f7623..f2b51e451 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -14,6 +14,7 @@ plugins { `java-library` + } val edcScmConnection: String by project diff --git a/core/issuerservice/issuerservice-credentials/src/main/java/org/eclipse/edc/issuerservice/credentials/CredentialServiceExtension.java b/core/issuerservice/issuerservice-credentials/src/main/java/org/eclipse/edc/issuerservice/credentials/CredentialServiceExtension.java index d994ee785..804f92df0 100644 --- a/core/issuerservice/issuerservice-credentials/src/main/java/org/eclipse/edc/issuerservice/credentials/CredentialServiceExtension.java +++ b/core/issuerservice/issuerservice-credentials/src/main/java/org/eclipse/edc/issuerservice/credentials/CredentialServiceExtension.java @@ -36,6 +36,7 @@ @Extension(value = NAME) public class CredentialServiceExtension implements ServiceExtension { public static final String NAME = "Issuer Service Credential Service Extension"; + public static final String BITSTRING_STATUS_LIST_ENTRY = "BitstringStatusListEntry"; @Setting(description = "Alias for the private key that is intended for signing status list credentials", key = "edc.issuer.statuslist.signing.key.alias") private String privateKeyAlias; @@ -47,6 +48,7 @@ public class CredentialServiceExtension implements ServiceExtension { private TypeManager typeManager; @Inject private JwsSignerProvider jwsSignerProvider; + private StatusListInfoFactoryRegistry factory; @Provider @@ -54,7 +56,7 @@ public CredentialService getStatusListService(ServiceExtensionContext context) { var fact = getFactory(); // Bitstring StatusList is provided by default. others can be added via extensions - fact.register("BitstringStatusListEntry", new BitstringStatusListFactory(store, typeManager.getMapper())); + fact.register(BITSTRING_STATUS_LIST_ENTRY, new BitstringStatusListFactory(store)); var tokenGenerationService = new JwtGenerationService(jwsSignerProvider); return new CredentialServiceImpl(store, transactionContext, typeManager.getMapper(JSON_LD), context.getMonitor(), tokenGenerationService, diff --git a/core/issuerservice/issuerservice-credentials/src/main/java/org/eclipse/edc/issuerservice/credentials/statuslist/bitstring/BitstringStatusListFactory.java b/core/issuerservice/issuerservice-credentials/src/main/java/org/eclipse/edc/issuerservice/credentials/statuslist/bitstring/BitstringStatusListFactory.java index 162a55dd2..3f119a2b2 100644 --- a/core/issuerservice/issuerservice-credentials/src/main/java/org/eclipse/edc/issuerservice/credentials/statuslist/bitstring/BitstringStatusListFactory.java +++ b/core/issuerservice/issuerservice-credentials/src/main/java/org/eclipse/edc/issuerservice/credentials/statuslist/bitstring/BitstringStatusListFactory.java @@ -14,7 +14,6 @@ package org.eclipse.edc.issuerservice.credentials.statuslist.bitstring; -import com.fasterxml.jackson.databind.ObjectMapper; import org.eclipse.edc.iam.verifiablecredentials.spi.model.CredentialStatus; import org.eclipse.edc.identityhub.spi.verifiablecredentials.store.CredentialStore; import org.eclipse.edc.issuerservice.spi.credentials.statuslist.StatusListInfo; @@ -28,11 +27,9 @@ public class BitstringStatusListFactory implements StatusListInfoFactory { private final CredentialStore credentialStore; - private final ObjectMapper objectMapper; - public BitstringStatusListFactory(CredentialStore credentialStore, ObjectMapper objectMapper) { + public BitstringStatusListFactory(CredentialStore credentialStore) { this.credentialStore = credentialStore; - this.objectMapper = objectMapper; } @Override diff --git a/core/issuerservice/issuerservice-credentials/src/test/java/org/eclipse/edc/issuerservice/credentials/CredentialServiceImplTest.java b/core/issuerservice/issuerservice-credentials/src/test/java/org/eclipse/edc/issuerservice/credentials/CredentialServiceImplTest.java index 16a3e9753..44d3e257e 100644 --- a/core/issuerservice/issuerservice-credentials/src/test/java/org/eclipse/edc/issuerservice/credentials/CredentialServiceImplTest.java +++ b/core/issuerservice/issuerservice-credentials/src/test/java/org/eclipse/edc/issuerservice/credentials/CredentialServiceImplTest.java @@ -96,7 +96,7 @@ void setUp() throws JOSEException { when(tokenGenerationService.generate(any(), any())).thenReturn(Result.success(TokenRepresentation.Builder.newInstance().token("new-token").build())); monitor = mock(); var reg = new StatusListInfoFactoryRegistryImpl(); - reg.register("BitstringStatusListEntry", new BitstringStatusListFactory(credentialStore, objectMapper)); + reg.register("BitstringStatusListEntry", new BitstringStatusListFactory(credentialStore)); revocationService = new CredentialServiceImpl(credentialStore, new NoopTransactionContext(), objectMapper, monitor, tokenGenerationService, () -> "some-private-key", reg); } diff --git a/core/issuerservice/issuerservice-credentials/src/test/java/org/eclipse/edc/issuerservice/credentials/statuslist/bitstring/BitstringStatusListFactoryTest.java b/core/issuerservice/issuerservice-credentials/src/test/java/org/eclipse/edc/issuerservice/credentials/statuslist/bitstring/BitstringStatusListFactoryTest.java index 64cd91892..93655a21e 100644 --- a/core/issuerservice/issuerservice-credentials/src/test/java/org/eclipse/edc/issuerservice/credentials/statuslist/bitstring/BitstringStatusListFactoryTest.java +++ b/core/issuerservice/issuerservice-credentials/src/test/java/org/eclipse/edc/issuerservice/credentials/statuslist/bitstring/BitstringStatusListFactoryTest.java @@ -14,7 +14,6 @@ package org.eclipse.edc.issuerservice.credentials.statuslist.bitstring; -import com.fasterxml.jackson.databind.ObjectMapper; import org.eclipse.edc.iam.verifiablecredentials.spi.model.CredentialStatus; import org.eclipse.edc.identityhub.spi.verifiablecredentials.store.CredentialStore; import org.eclipse.edc.spi.result.StoreResult; @@ -31,8 +30,7 @@ class BitstringStatusListFactoryTest { private final CredentialStore credentialStore = mock(); - private final ObjectMapper objectMapper = new ObjectMapper(); - private final BitstringStatusListFactory factory = new BitstringStatusListFactory(credentialStore, objectMapper); + private final BitstringStatusListFactory factory = new BitstringStatusListFactory(credentialStore); @Test diff --git a/e2e-tests/admin-api-tests/src/test/java/org/eclipse/edc/identityhub/tests/CredentialApiEndToEndTest.java b/e2e-tests/admin-api-tests/src/test/java/org/eclipse/edc/identityhub/tests/CredentialApiEndToEndTest.java index 3605ab0c1..bdfd27a09 100644 --- a/e2e-tests/admin-api-tests/src/test/java/org/eclipse/edc/identityhub/tests/CredentialApiEndToEndTest.java +++ b/e2e-tests/admin-api-tests/src/test/java/org/eclipse/edc/identityhub/tests/CredentialApiEndToEndTest.java @@ -173,7 +173,6 @@ void revoke_whenCredentialNotFound(IssuerServiceEndToEndTestContext context, Cre var res = createRevocationCredential(EXAMPLE_REVOCATION_CREDENTIAL_WITH_STATUS_BIT_SET, EXAMPLE_REVOCATION_CREDENTIAL_JWT_WITH_STATUS_BIT_SET); // track the original bitstring - var originalBitstring = res.getVerifiableCredential().credential().getCredentialSubject().get(0).getClaim("", "encodedList"); credentialStore.create(res).orElseThrow(f -> new RuntimeException("Failed to create credential: " + f.getFailureDetail())); // missing: creation of the holder credential