Skip to content

Commit d7a88c0

Browse files
author
Burak Serdar
committed
Minor coverity fixes
1 parent 3d62ee6 commit d7a88c0

File tree

2 files changed

+19
-16
lines changed

2 files changed

+19
-16
lines changed

crud/src/main/java/com/redhat/lightblue/assoc/QueryPlanChooser.java

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -146,21 +146,24 @@ private void iterateReferences(CompositeMetadata root, List<Conjunct> unassigned
146146
QueryPlanNode sourceNode = qplan.getNode(root);
147147
for (Path childPath : childPaths) {
148148
ResolvedReferenceField rrf = root.getDescendantReference(childPath);
149-
QueryPlanNode destNode = qplan.getNode(rrf.getReferencedMetadata());
150-
QueryPlanData qd = qplan.getEdgeData(sourceNode, destNode);
151-
if (qd == null) {
152-
qplan.setEdgeData(sourceNode, destNode, qd = qplan.newData());
153-
}
154-
qd.setReference(rrf);
155-
ReferenceField ref = rrf.getReferenceField();
156-
if (ref.getQuery() != null) {
157-
LOGGER.debug("Association query:{}", ref.getQuery());
158-
List<Conjunct> refQueryClauses = new ArrayList<>();
159-
rewriteQuery(ref.getQuery(), refQueryClauses, qplan, rrf);
160-
LOGGER.debug("Association query clauses:{}", refQueryClauses);
161-
assignQueriesToPlanNodesAndEdges(refQueryClauses, unassignedClauses);
162-
}
163-
iterateReferences(rrf.getReferencedMetadata(), unassignedClauses);
149+
if(rrf!=null) {
150+
QueryPlanNode destNode = qplan.getNode(rrf.getReferencedMetadata());
151+
QueryPlanData qd = qplan.getEdgeData(sourceNode, destNode);
152+
if (qd == null) {
153+
qplan.setEdgeData(sourceNode, destNode, qd = qplan.newData());
154+
}
155+
qd.setReference(rrf);
156+
ReferenceField ref = rrf.getReferenceField();
157+
if (ref.getQuery() != null) {
158+
LOGGER.debug("Association query:{}", ref.getQuery());
159+
List<Conjunct> refQueryClauses = new ArrayList<>();
160+
rewriteQuery(ref.getQuery(), refQueryClauses, qplan, rrf);
161+
LOGGER.debug("Association query clauses:{}", refQueryClauses);
162+
assignQueriesToPlanNodesAndEdges(refQueryClauses, unassignedClauses);
163+
}
164+
iterateReferences(rrf.getReferencedMetadata(), unassignedClauses);
165+
} else
166+
throw new RuntimeException("Cannot retrieve descendant reference for "+childPath);
164167
}
165168
} catch (Error e) {
166169
// rethrow lightblue error

crud/src/main/java/com/redhat/lightblue/mediator/Mediator.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -530,8 +530,8 @@ public Response explain(FindRequest req) {
530530
if (foundDocuments != null && !foundDocuments.isEmpty()) {
531531
ctx.setStatus(OperationStatus.COMPLETE);
532532
List<DocCtx> documents = ctx.getDocuments();
533-
response.setMatchCount(documents.size());
534533
if (documents != null) {
534+
response.setMatchCount(documents.size());
535535
List<JsonDoc> resultList = new ArrayList<>(documents.size());
536536
for (DocCtx doc : documents) {
537537
resultList.add(doc.getOutputDocument());

0 commit comments

Comments
 (0)