in data-audit/kogito-addons-data-audit-jpa/kogito-addons-data-audit-jpa-common/src/main/java/org/kie/kogito/app/audit/jpa/queries/MappingFile.java [38:72]
public static String findInFile(String file, EntityManager entityManager, String queryName) {
ClassLoader cl = Thread.currentThread().getContextClassLoader();
cl = (cl == null) ? MappingFile.class.getClassLoader() : cl;
try (InputStream is = cl.getResourceAsStream(file)) {
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
// parse XML file
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse(is);
Node entityMappingsNode = doc.getFirstChild(); // entity-mappings
NodeList nativeQueries = entityMappingsNode.getChildNodes();
for (int i = 0; i < nativeQueries.getLength(); i++) {
Node nativeQuery = nativeQueries.item(i);
if ("named-native-query".equals(nativeQuery.getNodeName())) {
String name = nativeQuery.getAttributes().getNamedItem("name").getNodeValue();
String sqlQuery = null;
NodeList children = nativeQuery.getChildNodes();
for (int j = 0; j < children.getLength(); j++) {
Node query = children.item(j);
if ("query".equals(query.getNodeName())) {
sqlQuery = query.getTextContent();
}
}
if (name.equals(queryName)) {
return sqlQuery;
}
}
}
} catch (Exception e) {
return null;
}
return null;
}