From a48519b4bce68a1f49269a520535c0f96153749f Mon Sep 17 00:00:00 2001 From: Claudia Murialdo Date: Wed, 21 Feb 2024 11:02:11 -0300 Subject: [PATCH] Prevent returning a 304 Not Modified response when a REST service does not access any tables --- common/src/main/java/com/genexus/BaseProvider.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/common/src/main/java/com/genexus/BaseProvider.java b/common/src/main/java/com/genexus/BaseProvider.java index ea0a06257..c0ee6e758 100644 --- a/common/src/main/java/com/genexus/BaseProvider.java +++ b/common/src/main/java/com/genexus/BaseProvider.java @@ -74,6 +74,7 @@ public void loadQueryTablesNone(String configurationDirectoryPath, ConcurrentHas GXFileCollection files = configurationDirectory.getFiles(); XMLReader reader = new XMLReader(); short ok; + boolean anyTable=false; for(int i=1; i <= files.getItemCount(); i++) { Vector lst = new Vector(); lst.add(FORCED_INVALIDATE); // Caso en que se invalido el cache manualmente @@ -81,11 +82,14 @@ public void loadQueryTablesNone(String configurationDirectoryPath, ConcurrentHas reader.open(xmlFile.getAbsoluteName()); ok = reader.readType(1, "Table"); while (ok == 1) { + anyTable=true; lst.add(normalizeKey(reader.getAttributeByName("name"))); ok = reader.readType(1, "Table"); } reader.close(); - qTables.put(normalizeKey(xmlFile.getNameNoExt()), lst); + if (anyTable) { + qTables.put(normalizeKey(xmlFile.getNameNoExt()), lst); + } } } @@ -95,6 +99,7 @@ public void loadQueryTablesSpringBoot(String configurationDirectoryPath, Concurr XMLReader reader = new XMLReader(); reader.setDocEncoding("UTF8"); short ok; + boolean anyTable=false; String xmlContent; for (int i = 0; i < resources.length; i++) { Vector lst = new Vector(); @@ -105,11 +110,14 @@ public void loadQueryTablesSpringBoot(String configurationDirectoryPath, Concurr reader.openFromString(xmlContent); ok = reader.readType(1, "Table"); while (ok == 1) { + anyTable=true; lst.add(normalizeKey(reader.getAttributeByName("name"))); ok = reader.readType(1, "Table"); } reader.close(); - qTables.put(normalizeKey(resources[i].getFilename().substring(0, resources[i].getFilename().lastIndexOf("."))), lst); + if (anyTable) { + qTables.put(normalizeKey(resources[i].getFilename().substring(0, resources[i].getFilename().lastIndexOf("."))), lst); + } } } catch (IOException e) {