Skip to content

Commit 1a986df

Browse files
geso02Copilot
andauthored
Remove all non null values that are returned (#813)
* Remove all non null values that are returned #630 * Trigger ECA validation * Update basyx.submodelregistry/basyx.submodelregistry-service/src/main/java/org/eclipse/digitaltwin/basyx/submodelregistry/service/configuration/WebMvcConfig.java Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update changes based on the review * Fix JSON configuration and remove unnecessary custom beans - Removed custom MappingJackson2HttpMessageConverter bean - Removed unnecessary WebMvcConfigurer - Updated ObjectMapper bean to use existing Jackson2ObjectMapperBuilder with: - NON_NULL serialization inclusion - Disabled WRITE_DATES_AS_TIMESTAMPS - Root cause: @EnableWebMvc was overriding Spring Boot defaults, breaking message converters and static resources - Now relies on Spring Boot auto-configuration for converters and static resources refs #640 --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
1 parent e8155ba commit 1a986df

4 files changed

Lines changed: 11 additions & 22 deletions

File tree

basyx.aasregistry/basyx.aasregistry-service/src/main/java/org/eclipse/digitaltwin/basyx/aasregistry/service/configuration/RestConfiguration.java

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -35,29 +35,18 @@
3535
import org.springframework.core.convert.converter.Converter;
3636
import org.springframework.format.FormatterRegistry;
3737
import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder;
38-
import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
39-
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
4038
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
4139

42-
import com.fasterxml.jackson.annotation.JsonInclude;
4340
import com.fasterxml.jackson.databind.SerializationFeature;
4441

4542
@Configuration
46-
@EnableWebMvc
4743
public class RestConfiguration extends BaSyxHTTPConfiguration implements WebMvcConfigurer {
4844

4945
@Bean
5046
public LocationBuilder locationBuilder() {
5147
return new DefaultLocationBuilder();
5248
}
5349

54-
@Bean
55-
public MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter() {
56-
Jackson2ObjectMapperBuilder builder = new Jackson2ObjectMapperBuilder().serializationInclusion(JsonInclude.Include.NON_NULL);
57-
builder.featuresToDisable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
58-
return new MappingJackson2HttpMessageConverter(builder.build());
59-
}
60-
6150
@Bean
6251
public CorsPathPatternProvider getAasRegistryServiceCorsUrlProvider() {
6352
return new CorsPathPatternProvider("/shell-descriptors/**");
@@ -72,6 +61,11 @@ public CorsPathPatternProvider getAasRegistryServiceDescriptionCorsUrlProvider()
7261
public SerializationExtension getExtension() {
7362
return new Aas4JHTTPSerializationExtension();
7463
}
64+
65+
@Bean
66+
public SerializationExtension getDisableExtension() {
67+
return builder -> builder.featuresToDisable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
68+
}
7569

7670
@Override
7771
public void addFormatters(FormatterRegistry registry) {

basyx.aasregistry/basyx.aasregistry-service/src/main/java/org/eclipse/digitaltwin/basyx/aasregistry/service/events/RegistryEventLogSink.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,6 @@
4242
public class RegistryEventLogSink implements RegistryEventSink {
4343

4444
@Autowired
45-
@Qualifier("mappingJackson2HttpMessageConverter")
4645
private MappingJackson2HttpMessageConverter converter;
4746

4847
@Override

basyx.submodelregistry/basyx.submodelregistry-service/src/main/java/org/eclipse/digitaltwin/basyx/submodelregistry/service/configuration/RestConfiguration.java

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@
4040
import com.fasterxml.jackson.databind.SerializationFeature;
4141

4242
@Configuration
43-
@EnableWebMvc
4443
public class RestConfiguration extends BaSyxHTTPConfiguration {
4544

4645
@Bean
@@ -52,14 +51,7 @@ public LocationBuilder submodelRegistryLocationBuilder() {
5251
public RestTemplate submodelRegistryRestTemplate() {
5352
return new RestTemplate();
5453
}
55-
56-
@Bean
57-
public MappingJackson2HttpMessageConverter submodelRegistryMappingJackson2HttpMessageConverter() {
58-
Jackson2ObjectMapperBuilder builder = new Jackson2ObjectMapperBuilder().serializationInclusion(JsonInclude.Include.NON_NULL);
59-
builder.featuresToDisable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
60-
return new MappingJackson2HttpMessageConverter(builder.build());
61-
}
62-
54+
6355
@Bean
6456
public CorsPathPatternProvider getSubmodelRegistryServiceCorsUrlProvider() {
6557
return new CorsPathPatternProvider("/submodel-descriptors/**");
@@ -74,4 +66,9 @@ public CorsPathPatternProvider getSubmodelRegistryServiceDescriptionCorsUrlProvi
7466
public SerializationExtension getSubmodelRegistryExtension() {
7567
return new Aas4JHTTPSerializationExtension();
7668
}
69+
70+
@Bean
71+
public SerializationExtension getDisableExtension() {
72+
return builder -> builder.featuresToDisable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
73+
}
7774
}

basyx.submodelregistry/basyx.submodelregistry-service/src/main/java/org/eclipse/digitaltwin/basyx/submodelregistry/service/events/RegistryEventLogSink.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,6 @@
4242
public class RegistryEventLogSink implements RegistryEventSink {
4343

4444
@Autowired
45-
@Qualifier("submodelRegistryMappingJackson2HttpMessageConverter")
4645
private MappingJackson2HttpMessageConverter converter;
4746

4847
@Override

0 commit comments

Comments
 (0)