Skip to content

Commit 3ea8cdb

Browse files
Prevent returning a 304 Not Modified response when a REST service does not access any tables (#832)
1 parent e96b344 commit 3ea8cdb

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

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

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,18 +74,22 @@ public void loadQueryTablesNone(String configurationDirectoryPath, ConcurrentHas
7474
GXFileCollection files = configurationDirectory.getFiles();
7575
XMLReader reader = new XMLReader();
7676
short ok;
77+
boolean anyTable=false;
7778
for(int i=1; i <= files.getItemCount(); i++) {
7879
Vector<String> lst = new Vector<String>();
7980
lst.add(FORCED_INVALIDATE); // Caso en que se invalido el cache manualmente
8081
AbstractGXFile xmlFile = files.item(i);
8182
reader.open(xmlFile.getAbsoluteName());
8283
ok = reader.readType(1, "Table");
8384
while (ok == 1) {
85+
anyTable=true;
8486
lst.add(normalizeKey(reader.getAttributeByName("name")));
8587
ok = reader.readType(1, "Table");
8688
}
8789
reader.close();
88-
qTables.put(normalizeKey(xmlFile.getNameNoExt()), lst);
90+
if (anyTable) {
91+
qTables.put(normalizeKey(xmlFile.getNameNoExt()), lst);
92+
}
8993
}
9094
}
9195

@@ -95,6 +99,7 @@ public void loadQueryTablesSpringBoot(String configurationDirectoryPath, Concurr
9599
XMLReader reader = new XMLReader();
96100
reader.setDocEncoding("UTF8");
97101
short ok;
102+
boolean anyTable=false;
98103
String xmlContent;
99104
for (int i = 0; i < resources.length; i++) {
100105
Vector<String> lst = new Vector<String>();
@@ -105,11 +110,14 @@ public void loadQueryTablesSpringBoot(String configurationDirectoryPath, Concurr
105110
reader.openFromString(xmlContent);
106111
ok = reader.readType(1, "Table");
107112
while (ok == 1) {
113+
anyTable=true;
108114
lst.add(normalizeKey(reader.getAttributeByName("name")));
109115
ok = reader.readType(1, "Table");
110116
}
111117
reader.close();
112-
qTables.put(normalizeKey(resources[i].getFilename().substring(0, resources[i].getFilename().lastIndexOf("."))), lst);
118+
if (anyTable) {
119+
qTables.put(normalizeKey(resources[i].getFilename().substring(0, resources[i].getFilename().lastIndexOf("."))), lst);
120+
}
113121
}
114122
}
115123
catch (IOException e) {

0 commit comments

Comments
 (0)