Skip to content

Commit 1fe0fcf

Browse files
authored
Merge branch 'master' into fix/bump-wss4j
2 parents 7112a88 + 891dae9 commit 1fe0fcf

File tree

10 files changed

+81
-9
lines changed

10 files changed

+81
-9
lines changed

gxcloudstorage-azureblob/pom.xml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,5 +36,11 @@
3636
</exclusion>
3737
</exclusions>
3838
</dependency>
39+
<!-- overwrite azure-storage jackson-core dependency due to CVEs -->
40+
<dependency>
41+
<groupId>com.fasterxml.jackson.core</groupId>
42+
<artifactId>jackson-core</artifactId>
43+
<version>${jackson.version}</version>
44+
</dependency>
3945
</dependencies>
4046
</project>

gxobservability/pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,9 @@
3636
<version>${io.opentelemetry.version}</version>
3737
</dependency>
3838
<dependency>
39-
<groupId>io.opentelemetry</groupId>
39+
<groupId>io.opentelemetry.semconv</groupId>
4040
<artifactId>opentelemetry-semconv</artifactId>
41-
<version>1.30.1-alpha</version>
41+
<version>1.37.0</version>
4242
</dependency>
4343
<dependency>
4444
<groupId>io.opentelemetry</groupId>

gxspringboot/src/main/java/com/genexus/springboot/GXConfig.java

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,17 @@
66
import com.genexus.diagnostics.core.LogManager;
77
import com.genexus.servlet.CorsFilter;
88
import com.genexus.xml.GXXMLSerializable;
9+
910
import jakarta.annotation.PreDestroy;
11+
import org.glassfish.jersey.server.ResourceConfig;
12+
import org.glassfish.jersey.servlet.ServletContainer;
13+
import org.glassfish.jersey.servlet.ServletProperties;
1014
import org.springframework.boot.web.servlet.FilterRegistrationBean;
1115
import org.springframework.beans.factory.annotation.Value;
16+
import org.springframework.boot.web.servlet.ServletContextInitializer;
1217
import org.springframework.context.annotation.Bean;
1318
import org.springframework.context.annotation.Configuration;
19+
import org.springframework.core.Ordered;
1420
import org.springframework.core.io.ClassPathResource;
1521
import org.springframework.util.AntPathMatcher;
1622
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
@@ -19,6 +25,10 @@
1925
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
2026
import org.tuckey.web.filters.urlrewrite.UrlRewriteFilter;
2127

28+
import java.util.HashMap;
29+
import java.util.Map;
30+
import java.util.Set;
31+
2232
@Configuration
2333
@EnableWebMvc
2434
public class GXConfig implements WebMvcConfigurer {
@@ -82,6 +92,32 @@ public FilterRegistrationBean<UrlRewriteFilter> urlRewriteFilter() {
8292
return registrationBean;
8393
}
8494

95+
@Bean
96+
public ServletContextInitializer jerseyFilter() {
97+
Set<Class<?>> rrcs = JaxrsResourcesHolder.getAll();
98+
99+
if (rrcs.isEmpty()) {
100+
return sc -> {};
101+
}
102+
103+
ResourceConfig rc = new ResourceConfig();
104+
rc.registerClasses(rrcs.toArray(new Class<?>[0]));
105+
rc.property(ServletProperties.FILTER_FORWARD_ON_404, true);
106+
107+
ServletContainer container = new ServletContainer(rc);
108+
109+
FilterRegistrationBean<ServletContainer> reg = new FilterRegistrationBean<>(container);
110+
reg.addUrlPatterns("/rest/*");
111+
reg.setName("jersey-filter");
112+
reg.setOrder(Ordered.HIGHEST_PRECEDENCE + 1);
113+
114+
Map<String, String> initParams = new HashMap<>();
115+
initParams.put(ServletProperties.FILTER_CONTEXT_PATH, "/rest");
116+
reg.setInitParameters(initParams);
117+
118+
return reg;
119+
}
120+
85121
@PreDestroy
86122
public void onDestroy() {
87123
GXXMLSerializable.classesCacheMethods.clear();

gxspringboot/src/main/java/com/genexus/springboot/GXImportSelector.java

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
import java.io.IOException;
88
import java.io.InputStream;
99
import java.util.ArrayList;
10+
import java.util.HashSet;
11+
import java.util.Set;
1012

1113
import org.springframework.context.annotation.ImportSelector;
1214
import org.springframework.core.io.ClassPathResource;
@@ -20,26 +22,28 @@ public class GXImportSelector implements ImportSelector {
2022
@Override
2123
public String[] selectImports(AnnotationMetadata importingClassMetadata) {
2224
ArrayList<String> restImports = new ArrayList<>();
25+
Set<Class<?>> rrcs = new HashSet<Class<?>>();
2326
try {
2427
Resource[] resources = new PathMatchingResourcePatternResolver().getResources("classpath*:*.services");
2528
for (Resource resource : resources) {
26-
selectImport(restImports, resource.getFilename());
29+
selectImport(rrcs, restImports, resource.getFilename());
2730
}
2831
}
2932
catch (IOException e){
3033
logger.error("Error loading External Services classes ", e);
3134
}
3235

36+
JaxrsResourcesHolder.setAll(rrcs);
3337
addWebSocketsImport(restImports);
3438

3539
return restImports.toArray(new String[0]);
3640
}
3741

38-
private void selectImport(ArrayList<String> restImports, String servicesClassesFileName) {
42+
private void selectImport(Set<Class<?>> rrcs, ArrayList<String> restImports, String servicesClassesFileName) {
3943
try {
4044
InputStream is = new ClassPathResource(servicesClassesFileName).getInputStream();
4145
if (is != null) {
42-
WebUtils.AddExternalServicesFile(null, restImports, is);
46+
WebUtils.AddExternalServicesFile(rrcs, restImports, is);
4347

4448
is.close();
4549
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package com.genexus.springboot;
2+
3+
import java.util.LinkedHashSet;
4+
import java.util.Set;
5+
6+
public final class JaxrsResourcesHolder {
7+
private static final Set<Class<?>> RESOURCES = new LinkedHashSet<>();
8+
private JaxrsResourcesHolder() {}
9+
10+
public static void setAll(Set<Class<?>> rrcs) {
11+
RESOURCES.clear();
12+
if (rrcs != null) RESOURCES.addAll(rrcs);
13+
}
14+
15+
public static Set<Class<?>> getAll() {
16+
return new LinkedHashSet<>(RESOURCES);
17+
}
18+
}
19+

java/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@
157157
<dependency>
158158
<groupId>io.opentelemetry.instrumentation</groupId>
159159
<artifactId>opentelemetry-instrumentation-annotations</artifactId>
160-
<version>${io.opentelemetry.version}</version>
160+
<version>2.21.0</version>
161161
</dependency>
162162
<dependency>
163163
<groupId>org.apache.commons</groupId>

java/src/main/java/com/genexus/webpanels/WebUtils.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -523,7 +523,7 @@ public static void AddExternalServicesFile(Set<Class<?>> rrcs, ArrayList<String>
523523
if (serviceClass != null)
524524
if (rrcs != null)
525525
rrcs.add(serviceClass);
526-
else
526+
if (restImports != null)
527527
restImports.add(serviceClass.getName());
528528
}
529529
reader.close();

pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,12 @@
2222
<jersey.jakarta.version>3.0.4</jersey.jakarta.version>
2323
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
2424
<poi.version>5.4.1</poi.version>
25-
<jackson.version>2.14.1</jackson.version>
25+
<jackson.version>2.16.2</jackson.version>
2626
<junit.version>4.13.2</junit.version>
2727
<software.awssdk.version>2.35.6</software.awssdk.version>
2828
<software.azure.cosmos.version>4.74.0</software.azure.cosmos.version>
2929
<log4j.version>2.21.1</log4j.version>
30-
<io.opentelemetry.version>1.28.0</io.opentelemetry.version>
30+
<io.opentelemetry.version>1.56.0</io.opentelemetry.version>
3131
<org.bouncycastle.version>1.82</org.bouncycastle.version>
3232
<commons-io.version>2.15.1</commons-io.version>
3333
<commons-codec.version>1.15</commons-codec.version>

wrapperjakarta/pom.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,7 @@
123123
<groupId>org.springframework</groupId>
124124
<artifactId>spring-beans</artifactId>
125125
<version>5.3.28</version>
126+
<scope>provided</scope>
126127
</dependency>
127128
</dependencies>
128129

wrapperjavax/pom.xml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,12 @@
104104
</exclusion>
105105
</exclusions>
106106
</dependency>
107+
<!-- overwrite jaxws-rt woodstox-core dependency due to CVEs -->
108+
<dependency>
109+
<groupId>com.fasterxml.woodstox</groupId>
110+
<artifactId>woodstox-core</artifactId>
111+
<version>6.5.1</version>
112+
</dependency>
107113
</dependencies>
108114

109115
<build>

0 commit comments

Comments
 (0)