Skip to content

Commit c952c2b

Browse files
authored
chore: fix after upstream changes on state filtering (#605)
1 parent 699f87e commit c952c2b

File tree

6 files changed

+34
-4
lines changed

6 files changed

+34
-4
lines changed

core/common-core/src/main/java/org/eclipse/edc/identityhub/defaults/store/InMemoryHolderCredentialRequestStore.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
package org.eclipse.edc.identityhub.defaults.store;
1616

1717
import org.eclipse.edc.identityhub.spi.credential.request.model.HolderCredentialRequest;
18+
import org.eclipse.edc.identityhub.spi.credential.request.model.HolderRequestState;
1819
import org.eclipse.edc.identityhub.spi.credential.request.store.HolderCredentialRequestStore;
1920
import org.eclipse.edc.spi.query.CriterionOperatorRegistry;
2021
import org.eclipse.edc.spi.query.QuerySpec;
@@ -30,7 +31,7 @@ public InMemoryHolderCredentialRequestStore(Clock clock, CriterionOperatorRegist
3031
}
3132

3233
public InMemoryHolderCredentialRequestStore(String leaserId, Clock clock, CriterionOperatorRegistry criterionOperatorRegistry) {
33-
super(HolderCredentialRequest.class, leaserId, clock, criterionOperatorRegistry);
34+
super(HolderCredentialRequest.class, leaserId, clock, criterionOperatorRegistry, state -> HolderRequestState.valueOf(state).code());
3435
}
3536

3637
@Override

core/issuerservice/issuerservice-core/src/main/java/org/eclipse/edc/issuerservice/defaults/store/InMemoryIssuanceProcessStore.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
package org.eclipse.edc.issuerservice.defaults.store;
1616

1717
import org.eclipse.edc.issuerservice.spi.issuance.model.IssuanceProcess;
18+
import org.eclipse.edc.issuerservice.spi.issuance.model.IssuanceProcessStates;
1819
import org.eclipse.edc.issuerservice.spi.issuance.process.store.IssuanceProcessStore;
1920
import org.eclipse.edc.spi.query.CriterionOperatorRegistry;
2021
import org.eclipse.edc.spi.query.QuerySpec;
@@ -31,7 +32,7 @@ public InMemoryIssuanceProcessStore(Clock clock, CriterionOperatorRegistry crite
3132
}
3233

3334
public InMemoryIssuanceProcessStore(String leaserId, Clock clock, CriterionOperatorRegistry criterionOperatorRegistry) {
34-
super(IssuanceProcess.class, leaserId, clock, criterionOperatorRegistry);
35+
super(IssuanceProcess.class, leaserId, clock, criterionOperatorRegistry, state -> IssuanceProcessStates.valueOf(state).code());
3536
}
3637

3738
@Override

extensions/store/sql/holder-credential-request-store-sql/src/main/java/org/eclipse/edc/identityhub/store/sql/credentialrequest/schema/schema/postgres/HolderCredentialRequestMapping.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414

1515
package org.eclipse.edc.identityhub.store.sql.credentialrequest.schema.schema.postgres;
1616

17+
import org.eclipse.edc.identityhub.spi.credential.request.model.HolderRequestState;
1718
import org.eclipse.edc.identityhub.store.sql.credentialrequest.schema.HolderCredentialRequestStoreStatements;
1819
import org.eclipse.edc.sql.lease.StatefulEntityMapping;
1920
import org.eclipse.edc.sql.translation.JsonFieldTranslator;
@@ -31,7 +32,7 @@ public class HolderCredentialRequestMapping extends StatefulEntityMapping {
3132
public static final String FIELD_PENDING_ISSUANCE = "pending";
3233

3334
public HolderCredentialRequestMapping(HolderCredentialRequestStoreStatements statements) {
34-
super(statements);
35+
super(statements, state -> HolderRequestState.valueOf(state).code());
3536
add(FIELD_PARTICIPANT_ID, statements.getParticipantIdColumn());
3637
add(FIELD_ISSUER_DID, statements.getIssuerDidColumn());
3738
add(FIELD_CREDENTIAL_TYPES, new JsonFieldTranslator(statements.getCredentialTypesColumn()));

extensions/store/sql/issuance-process-store-sql/src/main/java/org/eclipse/edc/issuerservice/store/sql/issuanceprocess/schema/postgres/IssuanceProcessMapping.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414

1515
package org.eclipse.edc.issuerservice.store.sql.issuanceprocess.schema.postgres;
1616

17+
import org.eclipse.edc.issuerservice.spi.issuance.model.IssuanceProcessStates;
1718
import org.eclipse.edc.issuerservice.store.sql.issuanceprocess.IssuanceProcessStoreStatements;
1819
import org.eclipse.edc.sql.lease.StatefulEntityMapping;
1920
import org.eclipse.edc.sql.translation.JsonArrayTranslator;
@@ -34,7 +35,7 @@ public class IssuanceProcessMapping extends StatefulEntityMapping {
3435
private static final String FIELD_PENDING = "pending";
3536

3637
public IssuanceProcessMapping(IssuanceProcessStoreStatements statements) {
37-
super(statements);
38+
super(statements, state -> IssuanceProcessStates.valueOf(state).code());
3839
add(FIELD_ID, statements.getIdColumn());
3940
add(FIELD_PARTICIPANT_ID, statements.getParticipantIdColumn());
4041
add(FIELD_ISSUER_CONTEXT_ID, statements.getIssuerContextIdColumn());

spi/holder-credential-request-spi/src/testFixtures/java/org/eclipse/edc/identityhub/credential/request/test/HolderCredentialRequestStoreTestBase.java

+13
Original file line numberDiff line numberDiff line change
@@ -404,6 +404,19 @@ void queryByState() {
404404
assertThat(result).hasSize(1).usingRecursiveFieldByFieldElementComparator().containsExactly(request);
405405
}
406406

407+
@Test
408+
void queryByStateAsString() {
409+
var request = createHolderRequest("testprocess1");
410+
getStore().save(request);
411+
412+
var query = QuerySpec.Builder.newInstance()
413+
.filter(List.of(new Criterion("state", "=", HolderRequestState.from(request.getState()).name())))
414+
.build();
415+
416+
var result = getStore().query(query);
417+
assertThat(result).hasSize(1).usingRecursiveFieldByFieldElementComparator().containsExactly(request);
418+
}
419+
407420
@Test
408421
void queryByIssuerDid() {
409422

spi/issuerservice/issuerservice-issuance-spi/src/testFixtures/java/org/eclipse/edc/issuerservice/spi/issuance/process/store/IssuanceProcessStoreTestBase.java

+13
Original file line numberDiff line numberDiff line change
@@ -403,6 +403,19 @@ void queryByState() {
403403
assertThat(result).hasSize(1).usingRecursiveFieldByFieldElementComparator().containsExactly(issuanceProcess);
404404
}
405405

406+
@Test
407+
void queryByStateAsString() {
408+
var issuanceProcess = createIssuanceProcess("testprocess1");
409+
getStore().save(issuanceProcess);
410+
411+
var query = QuerySpec.Builder.newInstance()
412+
.filter(List.of(new Criterion("state", "=", IssuanceProcessStates.from(issuanceProcess.getState()).name())))
413+
.build();
414+
415+
var result = getStore().query(query).toList();
416+
assertThat(result).hasSize(1).usingRecursiveFieldByFieldElementComparator().containsExactly(issuanceProcess);
417+
}
418+
406419
@Test
407420
void queryByParticipantId() {
408421

0 commit comments

Comments
 (0)