X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms.jcr%2Fsrc%2Forg%2Fargeo%2Fcms%2Fjcr%2Facr%2FBasicSearchToQom.java;fp=org.argeo.cms.jcr%2Fsrc%2Forg%2Fargeo%2Fcms%2Fjcr%2Facr%2FBasicSearchToQom.java;h=e1cf8baed5516019f3829902212e2b227e2f3406;hb=940ce9759c33a2f409fb4491a05b0edb892584c7;hp=99b8392161e34758740b467fc9068a81812b25fa;hpb=033dd8183cf5963cf8fcfa30b02a0efd42ffeb67;p=gpl%2Fargeo-jcr.git diff --git a/org.argeo.cms.jcr/src/org/argeo/cms/jcr/acr/BasicSearchToQom.java b/org.argeo.cms.jcr/src/org/argeo/cms/jcr/acr/BasicSearchToQom.java index 99b8392..e1cf8ba 100644 --- a/org.argeo.cms.jcr/src/org/argeo/cms/jcr/acr/BasicSearchToQom.java +++ b/org.argeo.cms.jcr/src/org/argeo/cms/jcr/acr/BasicSearchToQom.java @@ -85,11 +85,13 @@ class BasicSearchToQom { javax.jcr.query.qom.Constraint currQomConstraint = toQomConstraint(constraints.get(0)); for (int i = 1; i < constraints.size(); i++) { Constraint c = constraints.get(i); - if (where.isUnion()) { - currQomConstraint = factory.or(currQomConstraint, toQomConstraint(c)); - } else { - currQomConstraint = factory.and(currQomConstraint, toQomConstraint(c)); - } + javax.jcr.query.qom.Constraint subQomConstraint = toQomConstraint(c); + if (subQomConstraint != null) // isContentClass leads to null QOM constraint + if (where.isUnion()) { + currQomConstraint = factory.or(currQomConstraint, subQomConstraint); + } else { + currQomConstraint = factory.and(currQomConstraint, subQomConstraint); + } } qomConstraint = currQomConstraint; }