diff --git a/src/main/java/de/ozgcloud/xta/client/XtaClient.java b/src/main/java/de/ozgcloud/xta/client/XtaClient.java index efddfa5682a29c86537f45e5343836e8bcd64cad..03ca7b83dee7c8a16fdf3d01cf31cd3215335477 100644 --- a/src/main/java/de/ozgcloud/xta/client/XtaClient.java +++ b/src/main/java/de/ozgcloud/xta/client/XtaClient.java @@ -4,7 +4,7 @@ import jakarta.validation.constraints.NotBlank; import de.ozgcloud.xta.client.config.XtaClientConfig; import de.ozgcloud.xta.client.core.WrappedXtaService; -import de.ozgcloud.xta.client.model.Identifier; +import de.ozgcloud.xta.client.model.XtaIdentifier; import de.ozgcloud.xta.client.model.XtaMessage; import de.ozgcloud.xta.client.model.XtaMessageMetaDataListing; import genv3.de.xoev.transport.xta.x211.InvalidMessageIDException; @@ -49,7 +49,7 @@ public class XtaClient { return getStatusList(deriveIdentifier(clientIdentifier)); } - private XtaMessageMetaDataListing getStatusList(Identifier clientIdentifier) throws XTAWSTechnicalProblemException, PermissionDeniedException { + private XtaMessageMetaDataListing getStatusList(XtaIdentifier clientIdentifier) throws XTAWSTechnicalProblemException, PermissionDeniedException { return service.getStatusList(clientIdentifier, config.getMaxListItems()); } @@ -63,7 +63,7 @@ public class XtaClient { service.close(messageId, deriveIdentifier(clientIdentifier)); } - Identifier deriveIdentifier(String xtaIdentifier) { + XtaIdentifier deriveIdentifier(String xtaIdentifier) { return config.getClientIdentifiers().stream() .filter(id -> id.value().equals(xtaIdentifier)) .findFirst() diff --git a/src/main/java/de/ozgcloud/xta/client/config/XtaClientConfig.java b/src/main/java/de/ozgcloud/xta/client/config/XtaClientConfig.java index 1693d82a00092e5dc37e4a62fec5e1ff60cb91c0..184ce5b94144de8d8104d8da8fc46ffaf151cd69 100644 --- a/src/main/java/de/ozgcloud/xta/client/config/XtaClientConfig.java +++ b/src/main/java/de/ozgcloud/xta/client/config/XtaClientConfig.java @@ -19,7 +19,7 @@ import jakarta.validation.constraints.NotEmpty; import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.Positive; -import de.ozgcloud.xta.client.model.Identifier; +import de.ozgcloud.xta.client.model.XtaIdentifier; import lombok.Builder; import lombok.Getter; import lombok.RequiredArgsConstructor; @@ -32,7 +32,7 @@ import lombok.ToString; public class XtaClientConfig { @NotEmpty(message = "at least one client identifier is required") - private final List<@Valid Identifier> clientIdentifiers; + private final List<@Valid XtaIdentifier> clientIdentifiers; @NotBlank private final String managementServiceUrl; diff --git a/src/main/java/de/ozgcloud/xta/client/core/WrappedXtaService.java b/src/main/java/de/ozgcloud/xta/client/core/WrappedXtaService.java index f50f06a00ba45e1b5ec885feca77fc641d472104..14404f0d1ebfb819cea7954d7df9ce75a96d53bb 100644 --- a/src/main/java/de/ozgcloud/xta/client/core/WrappedXtaService.java +++ b/src/main/java/de/ozgcloud/xta/client/core/WrappedXtaService.java @@ -4,7 +4,7 @@ import jakarta.xml.ws.Holder; import de.ozgcloud.xta.client.mapper.RequestMapper; import de.ozgcloud.xta.client.mapper.ResponseMapper; -import de.ozgcloud.xta.client.model.Identifier; +import de.ozgcloud.xta.client.model.XtaIdentifier; import de.ozgcloud.xta.client.model.XtaMessage; import de.ozgcloud.xta.client.model.XtaMessageMetaDataListing; import genv3.de.xoev.transport.xta.x211.InvalidMessageIDException; @@ -29,11 +29,11 @@ public class WrappedXtaService { private final RequestMapper requestMapper; private final ResponseMapper responseMapper; - public void checkAccountActive(Identifier clientIdentifier) throws XTAWSTechnicalProblemException, PermissionDeniedException { + public void checkAccountActive(XtaIdentifier clientIdentifier) throws XTAWSTechnicalProblemException, PermissionDeniedException { ports.managementPort().checkAccountActive(requestMapper.mapPartyTypeFromIdentifier(clientIdentifier)); } - public XtaMessage getMessage(String messageId, Identifier clientIdentifier) + public XtaMessage getMessage(String messageId, XtaIdentifier clientIdentifier) throws XTAWSTechnicalProblemException, PermissionDeniedException, InvalidMessageIDException { final Holder<MessageMetaData> messageMetaDataHolder = new Holder<>(); var genericContentContainer = ports.msgBoxPort().getMessage( @@ -48,7 +48,7 @@ public class WrappedXtaService { ); } - public XtaMessageMetaDataListing getStatusList(Identifier clientIdentifier, int maxListItems) + public XtaMessageMetaDataListing getStatusList(XtaIdentifier clientIdentifier, int maxListItems) throws XTAWSTechnicalProblemException, PermissionDeniedException { final Holder<MsgBoxResponseType> fetchResponseHeader = new Holder<>(); var msgStatusListType = ports.msgBoxPort().getStatusList( @@ -69,12 +69,12 @@ public class WrappedXtaService { ); } - public String createMessageId(Identifier clientIdentifier) throws XTAWSTechnicalProblemException, PermissionDeniedException { + public String createMessageId(XtaIdentifier clientIdentifier) throws XTAWSTechnicalProblemException, PermissionDeniedException { return ports.managementPort().createMessageId( requestMapper.mapPartyTypeFromIdentifier(clientIdentifier)).getValue(); } - public Boolean lookupService(String service, Identifier reader, Identifier clientIdentifier) + public Boolean lookupService(String service, XtaIdentifier reader, XtaIdentifier clientIdentifier) throws XTAWSTechnicalProblemException, PermissionDeniedException, ParameterIsNotValidException { return responseMapper.isServiceAvailable( ports.managementPort().lookupService( @@ -83,7 +83,7 @@ public class WrappedXtaService { ); } - public void close(String messageId, Identifier clientIdentifier) + public void close(String messageId, XtaIdentifier clientIdentifier) throws XTAWSTechnicalProblemException, PermissionDeniedException, InvalidMessageIDException { ports.msgBoxPort().close( requestMapper.mapMsgBoxCloseRequestType(messageId), diff --git a/src/main/java/de/ozgcloud/xta/client/mapper/RequestMapper.java b/src/main/java/de/ozgcloud/xta/client/mapper/RequestMapper.java index 84b41491ad5ea7b31b735051be6c6713e7a95ea3..dbcefae05f4cc08fd37cce805c24915d34ad658d 100644 --- a/src/main/java/de/ozgcloud/xta/client/mapper/RequestMapper.java +++ b/src/main/java/de/ozgcloud/xta/client/mapper/RequestMapper.java @@ -5,7 +5,7 @@ import org.mapstruct.Mapper; import org.mapstruct.Mapping; import org.mapstruct.ReportingPolicy; -import de.ozgcloud.xta.client.model.Identifier; +import de.ozgcloud.xta.client.model.XtaIdentifier; import de.ozgcloud.xta.client.model.XtaFile; import de.ozgcloud.xta.client.model.XtaMessage; import de.ozgcloud.xta.client.model.XtaMessageMetaData; @@ -34,10 +34,10 @@ public interface RequestMapper { String CLOSE_REQUEST_ID = "1"; @Mapping(target = "securityToken", ignore = true) - PartyType mapPartyTypeFromIdentifier(Identifier identifier); + PartyType mapPartyTypeFromIdentifier(XtaIdentifier identifier); @Mapping(target = "type", constant = IDENTIFIER_TYPE) - PartyIdentifierType mapPartyIdentifierTypeFromIdentifier(Identifier value); + PartyIdentifierType mapPartyIdentifierTypeFromIdentifier(XtaIdentifier value); @Mapping(target = "maxListItems", source = "maxListItems") @Mapping(target = "listForm", constant = "MessageMetaData") @@ -87,12 +87,12 @@ public interface RequestMapper { AttributedURIType mapAttributedURIType(String value); @Mapping(target = "lookupServiceRequestList", expression = "java( List.of( mapLookupServiceRequestList(service, reader )) )") - LookupServiceRequest mapLookupServiceRequest(String service, Identifier reader); + LookupServiceRequest mapLookupServiceRequest(String service, XtaIdentifier reader); @Mapping(target = "lookupService", expression = "java( mapLookupServiceType(service, reader) )") - LookupServiceRequest.LookupServiceRequestList mapLookupServiceRequestList(String service, Identifier reader); + LookupServiceRequest.LookupServiceRequestList mapLookupServiceRequestList(String service, XtaIdentifier reader); - LookupServiceType mapLookupServiceType(String serviceType, Identifier reader); + LookupServiceType mapLookupServiceType(String serviceType, XtaIdentifier reader); @Mapping(target = "msgSelector.messageID", expression = "java( List.of( mapAttributedURIType(string) ) )") @Mapping(target = "msgPart", ignore = true) diff --git a/src/main/java/de/ozgcloud/xta/client/mapper/ResponseMapper.java b/src/main/java/de/ozgcloud/xta/client/mapper/ResponseMapper.java index 24d1ed9844a7b9bd1c80c5be0ce8e66dd204c858..97b9f39bded9267c8deaaffbf7fc235205013c93 100644 --- a/src/main/java/de/ozgcloud/xta/client/mapper/ResponseMapper.java +++ b/src/main/java/de/ozgcloud/xta/client/mapper/ResponseMapper.java @@ -6,7 +6,7 @@ import org.mapstruct.Mapper; import org.mapstruct.Mapping; import org.mapstruct.ReportingPolicy; -import de.ozgcloud.xta.client.model.Identifier; +import de.ozgcloud.xta.client.model.XtaIdentifier; import de.ozgcloud.xta.client.model.XtaFile; import de.ozgcloud.xta.client.model.XtaMessage; import de.ozgcloud.xta.client.model.XtaMessageMetaData; @@ -26,7 +26,7 @@ import genv3.eu.osci.ws.x2014.x10.transport.PartyIdentifierType; ) public interface ResponseMapper { - Identifier mapIdentifierFromPartyIdentifierType(PartyIdentifierType partyIdentifierType); + XtaIdentifier mapIdentifierFromPartyIdentifierType(PartyIdentifierType partyIdentifierType); @Mapping(target = "requestId", source = "response.msgBoxRequestID") @Mapping(target = "pendingMessageCount", source = "response.itemsPending", defaultValue = "0") diff --git a/src/main/java/de/ozgcloud/xta/client/model/Identifier.java b/src/main/java/de/ozgcloud/xta/client/model/XtaIdentifier.java similarity index 89% rename from src/main/java/de/ozgcloud/xta/client/model/Identifier.java rename to src/main/java/de/ozgcloud/xta/client/model/XtaIdentifier.java index 831ea82f5684efad5627d6412d37731db7d3e5f1..8ea86a7eeeaea8640df9f3a9a3fc623d6e98ffd9 100644 --- a/src/main/java/de/ozgcloud/xta/client/model/Identifier.java +++ b/src/main/java/de/ozgcloud/xta/client/model/XtaIdentifier.java @@ -6,7 +6,7 @@ import jakarta.validation.constraints.NotBlank; import lombok.Builder; @Builder -public record Identifier( +public record XtaIdentifier( @Nullable String name, @Nullable String category, @NotBlank String value diff --git a/src/main/java/de/ozgcloud/xta/client/model/XtaMessageMetaData.java b/src/main/java/de/ozgcloud/xta/client/model/XtaMessageMetaData.java index 87fee1fb81f3729aa310ccfe06dd12820a899320..707f4160ca6f837e89c8c7761df11deed673b6f0 100644 --- a/src/main/java/de/ozgcloud/xta/client/model/XtaMessageMetaData.java +++ b/src/main/java/de/ozgcloud/xta/client/model/XtaMessageMetaData.java @@ -16,8 +16,8 @@ public record XtaMessageMetaData( @NotBlank String messageTypeCode, @NotBlank String messageTypePayloadSchema, @NotBlank String messageId, - @NotNull @Valid Identifier authorIdentifier, - @NotNull @Valid Identifier readerIdentifier, + @NotNull @Valid XtaIdentifier authorIdentifier, + @NotNull @Valid XtaIdentifier readerIdentifier, @PositiveOrZero BigInteger messageSize ) { } diff --git a/src/test/java/de/ozgcloud/xta/client/XtaDevServerSetupExtension.java b/src/test/java/de/ozgcloud/xta/client/XtaDevServerSetupExtension.java index 966948ac929745a305cf4240f7aadadfe21e36b7..cfce630384aec2fb7e88ed14e9ecae70e93557fd 100644 --- a/src/test/java/de/ozgcloud/xta/client/XtaDevServerSetupExtension.java +++ b/src/test/java/de/ozgcloud/xta/client/XtaDevServerSetupExtension.java @@ -12,7 +12,7 @@ import com.google.common.io.Files; import de.ozgcloud.xta.client.config.XtaClientConfig; import de.ozgcloud.xta.client.core.WrappedXtaService; -import de.ozgcloud.xta.client.model.Identifier; +import de.ozgcloud.xta.client.model.XtaIdentifier; import de.ozgcloud.xta.client.model.XtaMessageMetaData; import genv3.de.xoev.transport.xta.x211.CodeFehlernummer; import genv3.de.xoev.transport.xta.x211.MessageSchemaViolationException; @@ -35,17 +35,17 @@ public class XtaDevServerSetupExtension implements BeforeAllCallback, BeforeEach private XtaClientFactory clientFactory; static final String BASE_URL = "https://li33-0005.dp.dsecurecloud.de/MB_XTA-WS/XTA210"; - static final Identifier CLIENT_IDENTIFIER3 = Identifier.builder() + static final XtaIdentifier CLIENT_IDENTIFIER3 = XtaIdentifier.builder() .value("gad:010103000000") .category("DMS Schleswig-Holstein") .name("Generischer Antragsdienst") .build(); - static final Identifier CLIENT_IDENTIFIER2 = Identifier.builder() + static final XtaIdentifier CLIENT_IDENTIFIER2 = XtaIdentifier.builder() .value("gae:test-environment@ozg-cloud.de") .category("Generischer Antragsempfänger") .name("OZG-Cloud Test") .build(); - static final Identifier CLIENT_IDENTIFIER1 = Identifier.builder() + static final XtaIdentifier CLIENT_IDENTIFIER1 = XtaIdentifier.builder() .value("gae:dev-environment@ozg-cloud.de") .category("Generischer Antragsempfänger") .name("OZG-Cloud Dev") @@ -97,7 +97,7 @@ public class XtaDevServerSetupExtension implements BeforeAllCallback, BeforeEach } @SneakyThrows - void sendTestMessage(Identifier author, Identifier reader) { + void sendTestMessage(XtaIdentifier author, XtaIdentifier reader) { var messageId = service.createMessageId(author); var message = XtaMessageExampleLoader.load( XtaMessageExampleLoader.MessageExampleConfig.builder() @@ -132,7 +132,7 @@ public class XtaDevServerSetupExtension implements BeforeAllCallback, BeforeEach } @SneakyThrows - private void closeAllMessages(Identifier clientId) { + private void closeAllMessages(XtaIdentifier clientId) { var result = service.getStatusList(clientId, 100); var messageIds = result.messages().stream() .map(XtaMessageMetaData::messageId) diff --git a/src/test/java/de/ozgcloud/xta/client/XtaMessageExampleLoader.java b/src/test/java/de/ozgcloud/xta/client/XtaMessageExampleLoader.java index 1d2c187942590a142908583f565aea04b7579699..4dfbf0247458fdb7291d300b9552a22d8ef23a79 100644 --- a/src/test/java/de/ozgcloud/xta/client/XtaMessageExampleLoader.java +++ b/src/test/java/de/ozgcloud/xta/client/XtaMessageExampleLoader.java @@ -25,7 +25,7 @@ import org.apache.commons.io.IOUtils; import org.jetbrains.annotations.NotNull; import org.yaml.snakeyaml.Yaml; -import de.ozgcloud.xta.client.model.Identifier; +import de.ozgcloud.xta.client.model.XtaIdentifier; import de.ozgcloud.xta.client.model.XtaFile; import de.ozgcloud.xta.client.model.XtaMessage; import de.ozgcloud.xta.client.model.XtaMessageMetaData; @@ -63,7 +63,7 @@ public class XtaMessageExampleLoader { return textContent -> fillTemplateString(textContent, templateValues); } - private static String identifierPart(Identifier identifier, int index) { + private static String identifierPart(XtaIdentifier identifier, int index) { return identifier == null ? "?" : identifier.value().split(":", 2)[index]; } @@ -71,8 +71,8 @@ public class XtaMessageExampleLoader { public record MessageExampleConfig( @NotBlank String messageLabel, @Nullable String messageId, - @Nullable Identifier author, - @Nullable Identifier reader) { + @Nullable XtaIdentifier author, + @Nullable XtaIdentifier reader) { } @SuppressWarnings("unchecked") @@ -129,9 +129,9 @@ public class XtaMessageExampleLoader { return configValue != null ? configValue : supplier.get(); } - private static Identifier mapIdentifier(Map<String, Object> identifier) { + private static XtaIdentifier mapIdentifier(Map<String, Object> identifier) { Function<String, String> getString = key -> (String) identifier.get(key); - return Identifier.builder() + return XtaIdentifier.builder() .name(getString.apply("name")) .value(getString.apply("value")) .category(getString.apply("category")) diff --git a/src/test/java/de/ozgcloud/xta/client/XtaTestServerSetupExtension.java b/src/test/java/de/ozgcloud/xta/client/XtaTestServerSetupExtension.java index dda6afeda97d60ea183a7e005487d3d08c81ccc5..2e89fb1a70af925110d7f4748ad0264528aa6a4c 100644 --- a/src/test/java/de/ozgcloud/xta/client/XtaTestServerSetupExtension.java +++ b/src/test/java/de/ozgcloud/xta/client/XtaTestServerSetupExtension.java @@ -13,7 +13,7 @@ import org.testcontainers.utility.DockerImageName; import de.ozgcloud.xta.client.config.XtaClientConfig; import de.ozgcloud.xta.client.core.WrappedXtaService; -import de.ozgcloud.xta.client.model.Identifier; +import de.ozgcloud.xta.client.model.XtaIdentifier; import de.ozgcloud.xta.client.model.XtaMessageMetaData; import genv3.de.xoev.transport.xta.x211.CodeFehlernummer; import genv3.de.xoev.transport.xta.x211.MessageSchemaViolationException; @@ -113,7 +113,7 @@ public class XtaTestServerSetupExtension implements BeforeAllCallback, AfterAllC } @SneakyThrows - String sendTestMessage(Identifier author, Identifier reader) { + String sendTestMessage(XtaIdentifier author, XtaIdentifier reader) { var messageId = service.createMessageId(author); var message = XtaMessageExampleLoader.load( XtaMessageExampleLoader.MessageExampleConfig.builder() @@ -149,7 +149,7 @@ public class XtaTestServerSetupExtension implements BeforeAllCallback, AfterAllC } @SneakyThrows - private void closeAllMessages(Identifier clientId) { + private void closeAllMessages(XtaIdentifier clientId) { var result = service.getStatusList(clientId, 100); var messageIds = result.messages().stream() .map(XtaMessageMetaData::messageId) diff --git a/src/test/java/de/ozgcloud/xta/client/factory/MessageMetaDataTestFactory.java b/src/test/java/de/ozgcloud/xta/client/factory/MessageMetaDataTestFactory.java index f3ce157e4d1c539a255974fb51f392bbe74fdbe0..e8f44dd04692818d1d8dd5203e7c6c741ad8f0fa 100644 --- a/src/test/java/de/ozgcloud/xta/client/factory/MessageMetaDataTestFactory.java +++ b/src/test/java/de/ozgcloud/xta/client/factory/MessageMetaDataTestFactory.java @@ -4,7 +4,7 @@ import static de.ozgcloud.xta.client.mapper.RequestMapper.*; import java.math.BigInteger; -import de.ozgcloud.xta.client.model.Identifier; +import de.ozgcloud.xta.client.model.XtaIdentifier; import genv3.eu.osci.ws.x2014.x10.transport.MessageMetaData; import genv3.eu.osci.ws.x2014.x10.transport.PartyIdentifierType; @@ -15,12 +15,12 @@ public class MessageMetaDataTestFactory { public static final String MESSAGE_TYPE_PAYLOAD_SCHEMA = "message-type-payload-schema"; public static final String BUSINESS_SCENARIO_CODE = "businessScenarioCode"; - public static final Identifier AUTHOR_IDENTIFIER = Identifier.builder() + public static final XtaIdentifier AUTHOR_IDENTIFIER = XtaIdentifier.builder() .value("authorIdentifier") .name("authorIdentifierName") .category("authorIdentifierCategory") .build(); - public static final Identifier READER_IDENTIFIER = Identifier.builder() + public static final XtaIdentifier READER_IDENTIFIER = XtaIdentifier.builder() .value("readerIdentifier") .name("readerIdentifierName") .category("readerIdentifierCategory") @@ -75,7 +75,7 @@ public class MessageMetaDataTestFactory { return messageMetaData; } - private static void assignIdentifier(Identifier identifier, PartyIdentifierType target) { + private static void assignIdentifier(XtaIdentifier identifier, PartyIdentifierType target) { target.setType(IDENTIFIER_TYPE); target.setValue(identifier.value()); target.setName(identifier.name()); diff --git a/src/test/java/de/ozgcloud/xta/client/factory/XtaClientConfigTestFactory.java b/src/test/java/de/ozgcloud/xta/client/factory/XtaClientConfigTestFactory.java index 43c31a93e57dbaf8e6fa77694932ce1882630cd0..0a4a4ea9af55462404c09f2a111bb4805d1a7b6f 100644 --- a/src/test/java/de/ozgcloud/xta/client/factory/XtaClientConfigTestFactory.java +++ b/src/test/java/de/ozgcloud/xta/client/factory/XtaClientConfigTestFactory.java @@ -16,19 +16,19 @@ import org.bouncycastle.jce.provider.BouncyCastleProvider; import org.bouncycastle.operator.jcajce.JcaContentSignerBuilder; import de.ozgcloud.xta.client.config.XtaClientConfig; -import de.ozgcloud.xta.client.model.Identifier; +import de.ozgcloud.xta.client.model.XtaIdentifier; import lombok.SneakyThrows; public class XtaClientConfigTestFactory { public static final String SELF_IDENTIFIER_VALUE = "dp:selfIdentifier"; - public static final Identifier SELF_IDENTIFIER = Identifier.builder() + public static final XtaIdentifier SELF_IDENTIFIER = XtaIdentifier.builder() .value(SELF_IDENTIFIER_VALUE) .category("Generic category") .name("Generic Name") .build(); public static final int MAX_LIST_ITEMS = 10; - public static final Identifier SELF_IDENTIFIER2 = Identifier.builder() + public static final XtaIdentifier SELF_IDENTIFIER2 = XtaIdentifier.builder() .value("dp:selfIdentifier2") .category("Generic category") .name("Generic Name")