Skip to content
Snippets Groups Projects
Commit dfaa9c94 authored by OZGCloud's avatar OZGCloud
Browse files

PR Kommentare bearbeitet

parent c235e186
No related branches found
No related tags found
No related merge requests found
...@@ -49,7 +49,6 @@ ...@@ -49,7 +49,6 @@
<jaxb-maven-plugin.version>3.0.1</jaxb-maven-plugin.version> <jaxb-maven-plugin.version>3.0.1</jaxb-maven-plugin.version>
<ozg-info-manager-interface.version>0.10.0-22.8503e49-20240124.071709-1</ozg-info-manager-interface.version> <ozg-info-manager-interface.version>0.10.0-22.8503e49-20240124.071709-1</ozg-info-manager-interface.version>
<bayernid-proxy-interface.version>0.1.0</bayernid-proxy-interface.version> <bayernid-proxy-interface.version>0.1.0</bayernid-proxy-interface.version>
<opensaml.version>4.3.0</opensaml.version>
</properties> </properties>
<repositories> <repositories>
...@@ -159,28 +158,12 @@ ...@@ -159,28 +158,12 @@
<artifactId>mapstruct</artifactId> <artifactId>mapstruct</artifactId>
</dependency> </dependency>
<!-- open saml2 -->
<dependency>
<groupId>org.opensaml</groupId>
<artifactId>opensaml-core</artifactId>
<version>${opensaml.version}</version>
</dependency>
<dependency>
<groupId>org.opensaml</groupId>
<artifactId>opensaml-saml-api</artifactId>
<version>${opensaml.version}</version>
</dependency>
<dependency>
<groupId>org.opensaml</groupId>
<artifactId>opensaml-saml-impl</artifactId>
<version>${opensaml.version}</version>
</dependency>
<dependency> <dependency>
<groupId>org.springframework.security</groupId> <groupId>org.springframework.security</groupId>
<artifactId>spring-security-saml2-service-provider</artifactId> <artifactId>spring-security-saml2-service-provider</artifactId>
</dependency> </dependency>
<!-- grpc -->
<dependency> <dependency>
<groupId>net.devh</groupId> <groupId>net.devh</groupId>
<artifactId>grpc-server-spring-boot-starter</artifactId> <artifactId>grpc-server-spring-boot-starter</artifactId>
......
...@@ -35,7 +35,7 @@ import net.devh.boot.grpc.server.service.GrpcService; ...@@ -35,7 +35,7 @@ import net.devh.boot.grpc.server.service.GrpcService;
@GrpcService @GrpcService
@RequiredArgsConstructor @RequiredArgsConstructor
@ConditionalOnProperty(AntragraumProperties.PROPERTY_ANTRAGSRAUM_URL) @ConditionalOnProperty(AntragraumProperties.PROPERTY_ANTRAGSRAUM_URL)
public class AntragraumGrpcService extends AntragraumServiceGrpc.AntragraumServiceImplBase { class AntragraumGrpcService extends AntragraumServiceGrpc.AntragraumServiceImplBase {
private final AntragraumService antragraumService; private final AntragraumService antragraumService;
private final AntragraumNachrichtMapper mapper; private final AntragraumNachrichtMapper mapper;
......
...@@ -24,39 +24,21 @@ ...@@ -24,39 +24,21 @@
package de.ozgcloud.nachrichten.antragraum; package de.ozgcloud.nachrichten.antragraum;
import java.time.format.DateTimeFormatter; import org.mapstruct.CollectionMappingStrategy;
import java.util.Collections;
import java.util.Map;
import org.apache.commons.collections.MapUtils;
import org.mapstruct.Mapper; import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.NullValueCheckStrategy;
import de.ozgcloud.nachrichten.postfach.PostfachNachricht; import de.ozgcloud.nachrichten.postfach.PostfachNachricht;
@Mapper @Mapper(collectionMappingStrategy = CollectionMappingStrategy.ADDER_PREFERRED, nullValueCheckStrategy = NullValueCheckStrategy.ALWAYS)
interface AntragraumNachrichtMapper { interface AntragraumNachrichtMapper {
String DEFAULT_STATUS = "NEU"; String DEFAULT_STATUS = "NEU";
default GrpcRueckfrage toGrpc(PostfachNachricht postfachNachricht) { @Mapping(source = "sentAt", target = "sentAt", dateFormat = "yyyy-MM-dd'T'HH:mm:ss")
return GrpcRueckfrage.newBuilder() @Mapping(source = "mailBody", target = "text")
.setId(postfachNachricht.getId()) @Mapping(source = "subject", target = "vorgangName")
.setText(postfachNachricht.getMailBody()) @Mapping(source = "attachments", target = "attachmentFileIdList")
.setSendAt(postfachNachricht.getSentAt().format(DateTimeFormatter.ISO_LOCAL_DATE_TIME)) @Mapping(target = "status", constant = DEFAULT_STATUS)
.setVorgangName(postfachNachricht.getSubject()) GrpcRueckfrage toGrpc(PostfachNachricht postfachNachricht);
.setVorgangId(postfachNachricht.getVorgangId())
.setStatus(DEFAULT_STATUS)
.addAllAttachmentFileId(postfachNachricht.getAttachments())
.build();
}
@SuppressWarnings("unchecked")
default GrpcRueckfrage toGrpc(Map<String, Object> itemMap) {
var rueckfrageBuilder = GrpcRueckfrage.newBuilder()
.setId(MapUtils.getString(itemMap, PostfachNachricht.FIELD_ID))
.setVorgangId(MapUtils.getString(itemMap, PostfachNachricht.FIELD_VORGANG_ID))
.setVorgangName(MapUtils.getString(itemMap, PostfachNachricht.FIELD_SUBJECT))
.addAllAttachmentFileId((Iterable<String>) itemMap.getOrDefault(PostfachNachricht.FIELD_ATTACHMENTS, Collections.emptyList()));
return rueckfrageBuilder.build();
}
} }
...@@ -81,7 +81,7 @@ import net.shibboleth.utilities.java.support.xml.XMLParserException; ...@@ -81,7 +81,7 @@ import net.shibboleth.utilities.java.support.xml.XMLParserException;
@Configuration @Configuration
@ConditionalOnProperty(AntragraumProperties.PROPERTY_ANTRAGSRAUM_URL) @ConditionalOnProperty(AntragraumProperties.PROPERTY_ANTRAGSRAUM_URL)
public class BayernIdSamlConfiguration { class BayernIdSamlConfiguration {
private XMLObjectProviderRegistry registry; private XMLObjectProviderRegistry registry;
@Getter @Getter
private ParserPool parserPool; private ParserPool parserPool;
...@@ -104,13 +104,6 @@ public class BayernIdSamlConfiguration { ...@@ -104,13 +104,6 @@ public class BayernIdSamlConfiguration {
private ParserPool initParserPool() throws ComponentInitializationException { private ParserPool initParserPool() throws ComponentInitializationException {
var localParserPool = new BasicParserPool(); var localParserPool = new BasicParserPool();
localParserPool.setMaxPoolSize(100);
localParserPool.setCoalescing(true);
localParserPool.setIgnoreComments(true);
localParserPool.setIgnoreElementContentWhitespace(true);
localParserPool.setNamespaceAware(true);
localParserPool.setExpandEntityReferences(false);
localParserPool.setXincludeAware(false);
final var features = createFeatureMap(); final var features = createFeatureMap();
......
...@@ -63,10 +63,10 @@ class AntragraumNachrichtMapperTest { ...@@ -63,10 +63,10 @@ class AntragraumNachrichtMapperTest {
} }
@Test @Test
void shouldMapSendAt() { void shouldMapSentAt() {
var result = map(); var result = map();
assertThat(result.getSendAt()).isEqualTo(PostfachNachrichtTestFactory.SENT_AT.format(DateTimeFormatter.ISO_LOCAL_DATE_TIME)); assertThat(result.getSentAt()).isEqualTo(PostfachNachrichtTestFactory.SENT_AT.format(DateTimeFormatter.ISO_LOCAL_DATE_TIME));
} }
@Test @Test
......
...@@ -24,6 +24,7 @@ import static org.assertj.core.api.Assertions.*; ...@@ -24,6 +24,7 @@ import static org.assertj.core.api.Assertions.*;
import static org.mockito.Mockito.*; import static org.mockito.Mockito.*;
import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import org.mockito.Mock; import org.mockito.Mock;
import org.opensaml.saml.saml2.core.Attribute; import org.opensaml.saml.saml2.core.Attribute;
...@@ -34,6 +35,7 @@ import org.springframework.test.util.ReflectionTestUtils; ...@@ -34,6 +35,7 @@ import org.springframework.test.util.ReflectionTestUtils;
import de.ozgcloud.common.test.TestUtils; import de.ozgcloud.common.test.TestUtils;
@Disabled("Passende certificat und key file muessen local vorhanden sein")
class Saml2DecrypterTest { class Saml2DecrypterTest {
private Response samlResponse; private Response samlResponse;
......
-----BEGIN CERTIFICATE-----
MIIDsTCCApmgAwIBAgIUdw/27be5+2vj+MhGtoJjDsMsdDEwDQYJKoZIhvcNAQEL
BQAwaDELMAkGA1UEBhMCREUxDzANBgNVBAgMBkJheWVybjERMA8GA1UEBwwITXVl
bmNoZW4xDzANBgNVBAoMBm1nbSB0cDEkMCIGCSqGSIb3DQEJARYVamVucy5yZWVz
ZUBtZ20tdHAuY29tMB4XDTI0MDExNjEyMjI0OVoXDTI1MDExNTEyMjI0OVowaDEL
MAkGA1UEBhMCREUxDzANBgNVBAgMBkJheWVybjERMA8GA1UEBwwITXVlbmNoZW4x
DzANBgNVBAoMBm1nbSB0cDEkMCIGCSqGSIb3DQEJARYVamVucy5yZWVzZUBtZ20t
dHAuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA/HBBWBDSrEgd
wXkSy15V00EaVTyLgc4vh/JcDiGIYZSqmcMwBd+B1u36xbdBf/duEtCUymMNP48O
MjgFZtR6xn0meuR4NR6Ykn9mYGdU/GhldGuGv9XLAEAkVuTlo0H1QYyBS/6JwKQo
SsHDkJ3YwDwKcyOt7QtpSadRZjQEN3gDvWoRYjgXTxj2I1ovllmi0zOHsFi5PBIu
iPWUdJvBrHxpD/XVS9R/qzJpHPu3bjQ6UVRmhiZCUF7H5F/PQNwk+qXvjV0ooBeS
WWO5hywhk4OP4QEgbYMOSo20YukYX8TJEsum1pwIcQrw7kW4GyKaAycyRsa1fbM3
tEkj+TiBKwIDAQABo1MwUTAdBgNVHQ4EFgQUfDL/6R33SJodsONCvxKy96AtU18w
HwYDVR0jBBgwFoAUfDL/6R33SJodsONCvxKy96AtU18wDwYDVR0TAQH/BAUwAwEB
/zANBgkqhkiG9w0BAQsFAAOCAQEA+PCnvSwKU+bArTCIg5lfrwONbzKkjvPUymDN
YX3oj1wVEN75hNf0RD7Rr0//ZYT3Rt0G193gjDcH1gbGIYhMLeGGkxEous2l3O+p
RIQRR+hprjr6HzF8IphaJy1RbDwyGsXyLcyOylPL4cX9IjUdhklHiLZusBq95LSy
w7hsCOAL2+vn816O7yv+28EWXXbnP2XEUjW36nxcZvR6oTJUplXyHRuuJJTsOxGR
NuXA3UVgNbkdm1HnoSGpnsGdUKsUFoEmEJkcSdQRwxeH21WzYGOZmKMcvx2gObaS
P8tafWh5z4Jx+Z7z5WP72Jt44/lnVjaV8aGo0KHXwgqQOtYftQ==
-----END CERTIFICATE-----
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment