I'm not seeing the correct behavior for
http://ibs-forrestc-ux1/render-ws/v1/owner/Forrest/project/M247514_Rorb_1/stack/BIGALIGN2_MARCH24c_MBP_deconvnew/resolvedTiles?minZ=20&maxZ=22
The first result being
{"transformIdToSpecMap":{},"tileIdToSpecMap":{"300000013013011":{"tileId":"300000013013011","layout":{"sectionId":"13","temca":"Leica","camera":"zyla","imageRow":0,"imageCol":0,"stageX":5098.46462998,"stageY":-44640.4308487,"rotation":0.0},"z":13.0,"minX":53991.0,"minY":-176145.0,"maxX":124299.0,"maxY":-107911.0,"width":2048.0,"height":2048.0,"minIntensity":0.0,"maxIntensity":40000.0,"mipmapLevels":{"0":
z=13, clearly wrong..
log shows..
INFO [org.janelia.render.service.RenderDataService] getResolvedTiles: entry, owner=Forrest, project=M247514_Rorb_1, stack=BIGALIGN2_MARCH24c_MBP_deconvnew, minZ=20.0, maxZ=22.0, groupId=null, minX=null, maxX=null, minY=null, maxY=null
So i suspect the mongo call below... and i'm not a mongo expert but is it possible this is performing a logical OR as written and not an AND?
private Document getGroupQuery(final Double minZ,
final Double maxZ,
final String groupId,
final Double minX,
final Double maxX,
final Double minY,
final Double maxY)
throws IllegalArgumentException {
final Document groupQuery = new Document();
if ((minZ != null) && minZ.equals(maxZ)) {
groupQuery.append("z", minZ);
} else {
if (minZ != null) {
groupQuery.append("z", new Document(QueryOperators.GTE, minZ));
}
if (maxZ != null) {
groupQuery.append("z", new Document(QueryOperators.LTE, maxZ));
}
}
if (groupId != null) {
groupQuery.append("groupId", groupId);
}
if (minX != null) {
groupQuery.append("maxX", new Document(QueryOperators.GTE, minX));
}
if (maxX != null) {
groupQuery.append("minX", new Document(QueryOperators.LTE, maxX));
}
if (minY != null) {
groupQuery.append("maxY", new Document(QueryOperators.GTE, minY));
}
if (maxY != null) {
groupQuery.append("minY", new Document(QueryOperators.LTE, maxY));
}
return groupQuery;
}