Skip to content

Commit 410344f

Browse files
authored
Merge branch 'master' into fix/bump-poi-ooxml
2 parents 7840396 + f12d61b commit 410344f

File tree

12 files changed

+46
-22
lines changed

12 files changed

+46
-22
lines changed

common/src/main/java/com/genexus/ApplicationContext.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ public boolean checkIfResourceExist(String path)
132132
if (isSpringBootApp())
133133
return new ClassPathResource(path).exists();
134134
else
135-
return new File(path).exists();
135+
return new File(path).exists() || getClass().getClassLoader().getResource(path) != null;
136136
}
137137

138138
public void setEJBEngine(boolean isEJBEngine)

common/src/main/java/com/genexus/xml/XMLReader.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -785,7 +785,11 @@ public void open(String url)
785785
else
786786
{
787787
File xmlFile = new File(url);
788-
fileInputStream = new FileInputStream(xmlFile);
788+
if (xmlFile.exists())
789+
fileInputStream = new FileInputStream(xmlFile);
790+
else {
791+
fileInputStream = getClass().getClassLoader().getResourceAsStream(url);
792+
}
789793
}
790794
inputSource = new XMLInputSource(null, url, null, fileInputStream, null);
791795
if (documentEncoding.length() > 0)

gxcloudstorage-googlecloudstorage/pom.xml

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
<dependency>
2929
<groupId>com.google.cloud</groupId>
3030
<artifactId>google-cloud-storage</artifactId>
31-
<version>1.118.1</version>
31+
<version>2.58.1</version>
3232
<exclusions>
3333
<exclusion>
3434
<groupId>com.google.code.findbugs</groupId>
@@ -67,15 +67,17 @@
6767
<groupId>com.google.api.grpc</groupId>
6868
<artifactId>proto-google-iam-v1</artifactId>
6969
</exclusion>
70-
<exclusion>
71-
<groupId>com.google.protobuf</groupId>
72-
<artifactId>protobuf-java</artifactId>
73-
</exclusion>
7470
<exclusion>
7571
<groupId>com.google.protobuf</groupId>
7672
<artifactId>protobuf-java-util</artifactId>
7773
</exclusion>
7874
</exclusions>
7975
</dependency>
76+
<!-- overwrite grpc-netty-shaded from google-cloud-storage because of CVEs-->
77+
<dependency>
78+
<groupId>io.grpc</groupId>
79+
<artifactId>grpc-netty-shaded</artifactId>
80+
<version>1.75.0</version>
81+
</dependency>
8082
</dependencies>
8183
</project>

gxcryptocommon/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
<dependency>
2828
<groupId>org.apache.santuario</groupId>
2929
<artifactId>xmlsec</artifactId>
30-
<version>2.2.3</version>
30+
<version>${xmlsec.version}</version>
3131
<exclusions>
3232
<exclusion>
3333
<groupId>*</groupId>

java/src/main/java/com/genexus/GXutil.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,14 @@
1010
import com.genexus.common.interfaces.SpecificImplementation;
1111
import com.genexus.db.DataStoreProvider;
1212
import com.genexus.db.GXEmbedding;
13+
import com.genexus.internet.HttpClient;
1314
import com.genexus.internet.HttpContext;
1415
import com.genexus.internet.StringCollection;
1516
import com.genexus.platform.INativeFunctions;
1617
import com.genexus.platform.NativeFunctions;
1718
import com.genexus.util.*;
1819

20+
import org.apache.commons.io.IOUtils;
1921
import org.json.JSONObject;
2022
import org.apache.commons.lang3.StringUtils;
2123

@@ -1782,4 +1784,11 @@ public static String embeddingToStr(GXEmbedding embedding) {
17821784
return embedding.toString();
17831785
}
17841786

1787+
public static byte[] ImageUrlToBytes(String url) throws IOException{
1788+
HttpClient httpClient = new HttpClient();
1789+
httpClient.execute( "GET", url);
1790+
try (InputStream in = httpClient.getInputStream()) {
1791+
return IOUtils.toByteArray(in);
1792+
}
1793+
}
17851794
}

java/src/main/java/com/genexus/db/driver/GXPreparedStatement.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1391,10 +1391,10 @@ public void setBLOBFile(int index, String fileName, boolean isMultiMedia) throws
13911391
int queryIndex = fileName.lastIndexOf('?');
13921392
if (queryIndex > -1)
13931393
fileName = fileName.substring(0, queryIndex + 1) + PrivateUtilities.encodeURL(fileName.substring(queryIndex + 1));
1394-
URL fileURL = new URL(fileName);
1394+
String fileURL = fileName;
13951395
String blobPath = com.genexus.Preferences.getDefaultPreferences().getBLOB_PATH();
13961396
fileName = com.genexus.PrivateUtilities.getTempFileName(blobPath, CommonUtil.getFileName(fileName), CommonUtil.getFileType(fileName), true);
1397-
com.genexus.PrivateUtilities.InputStreamToFile(fileURL.openStream() ,fileName);
1397+
new com.genexus.util.GXFile(fileName).fromBytes(GXutil.ImageUrlToBytes(fileURL));
13981398
}
13991399
}
14001400
catch(MalformedURLException e)

java/src/main/java/com/genexus/internet/HttpClientJavaLib.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,10 @@ public HttpClientJavaLib() {
9393
if (isFirstIpDnsEnabled()) {
9494
builder.setDnsResolver(FIRST_IP_DNS_RESOLVER);
9595
}
96+
String userAgent = clientCfg.getProperty("Client", "UserAgentHeader", "");
97+
if (!userAgent.isEmpty()) {
98+
builder.setUserAgent(userAgent);
99+
}
96100
httpClientBuilder = builder;
97101
cookies = new BasicCookieStore();
98102
streamsToClose = new Vector<>();

java/src/main/java/com/genexus/reports/PDFReportItext2.java

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99

1010
import com.genexus.ApplicationContext;
1111
import com.genexus.CommonUtil;
12+
import com.genexus.GXutil;
1213
import com.genexus.ModelContext;
1314
import com.genexus.platform.NativeFunctions;
1415
import com.genexus.webpanels.HttpContextWeb;
@@ -396,9 +397,8 @@ public void GxDrawBitMap(String bitmap, int left, int top, int right, int bottom
396397
}
397398
}
398399
}
399-
catch(java.lang.IllegalArgumentException ex) {//Puede ser una url absoluta
400-
java.net.URL url= new java.net.URL(bitmap);
401-
image = com.lowagie.text.Image.getInstance(url);
400+
catch(java.lang.IllegalArgumentException | IOException ex) {//Puede ser una url absoluta
401+
image = com.lowagie.text.Image.getInstance(GXutil.ImageUrlToBytes(bitmap));
402402
}
403403

404404
if (documentImages == null) {
@@ -443,9 +443,6 @@ public void GxDrawBitMap(String bitmap, int left, int top, int right, int bottom
443443
catch(DocumentException de) {
444444
log.error("GxDrawBitMap failed:", de);
445445
}
446-
catch(IOException ioe) {
447-
log.error("GxDrawBitMap failed:", ioe);
448-
}
449446
catch(Exception e) {
450447
log.error("GxDrawBitMap failed:", e);
451448
}

java/src/main/java/com/genexus/reports/PDFReportItext8.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import com.genexus.ApplicationContext;
44
import com.genexus.CommonUtil;
5+
import com.genexus.GXutil;
56
import com.genexus.ModelContext;
67
import com.genexus.platform.NativeFunctions;
78
import com.genexus.reports.fonts.PDFFont;
@@ -425,9 +426,8 @@ public void GxDrawBitMap(String bitmap, int left, int top, int right, int bottom
425426
}
426427
}
427428
}
428-
catch(java.lang.IllegalArgumentException ex) {
429-
URL url= new java.net.URL(bitmap);
430-
imageData = ImageDataFactory.create(url);
429+
catch(java.lang.IllegalArgumentException | com.itextpdf.io.exceptions.IOException ex) {
430+
imageData = ImageDataFactory.create(GXutil.ImageUrlToBytes(bitmap));
431431
}
432432

433433
if (documentImages == null) {

java/src/main/java/com/genexus/reports/PDFReportPDFBox.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99

1010
import com.genexus.ApplicationContext;
1111
import com.genexus.CommonUtil;
12+
import com.genexus.GXutil;
1213
import com.genexus.ModelContext;
1314
import com.genexus.platform.NativeFunctions;
1415
import com.genexus.webpanels.HttpContextWeb;
@@ -377,9 +378,8 @@ public void GxDrawBitMap(String bitmap, int left, int top, int right, int bottom
377378
}
378379
}
379380
}
380-
catch(java.lang.IllegalArgumentException ex) {
381-
URL url= new java.net.URL(bitmap);
382-
image = PDImageXObject.createFromByteArray(document, IOUtils.toByteArray(url.openStream()),bitmap);
381+
catch(java.lang.IllegalArgumentException | java.io.FileNotFoundException ex) {
382+
image = PDImageXObject.createFromByteArray(document, GXutil.ImageUrlToBytes(bitmap),bitmap);
383383
}
384384

385385
if (documentImages == null) {

0 commit comments

Comments
 (0)