public QueryStackFrame(QueryObjectProvider queryObjectProvider, QueryContext reusable) throws JsonParseException, JsonMappingException, IOException { this.queryObjectProvider = queryObjectProvider; this.reusable = reusable; Query query = queryObjectProvider.getQuery(); queryIterator = query.getQueryParts().iterator(); }
public QueryObjectProvider(DatabaseSession databaseSession, BimServer bimServer, Query query, Set<Long> roids, PackageMetaData packageMetaData) throws IOException, QueryException { this.databaseSession = databaseSession; this.bimServer = bimServer; this.query = query; this.roids = roids; this.packageMetaData = packageMetaData; stack = new ArrayDeque<StackFrame>(); stack.push(new StartFrame(this, roids)); for (QueryPart queryPart : query.getQueryParts()) { if (queryPart.hasOids()) { goingToRead.addAll(queryPart.getOids()); } } }
@Override public void newObject(HashMapVirtualObject next) { if (eClass.isSuperTypeOf(next.eClass())) { if (next.eGet(GeometryRunner.this.streamingGeometryGenerator.representationFeature) != null) { if (originalQuery.getQueryParts().get(0).getOids().contains(next.getOid())) { objects.add(next); } } } } });
for (QueryPart queryPart : query.getQueryParts()) { ObjectNode queryPartNode = OBJECT_MAPPER.createObjectNode(); if (queryPart.hasTypes()) {
throw new QueryException("At least one roid required"); for (QueryPart queryPart : queryObjectProvider.getQuery().getQueryParts()) { Tiles tiles = queryPart.getTiles(); if (tiles != null) {
public boolean hasReadOrIsGoingToRead(EClass eClass) { for (QueryPart queryPart : query.getQueryParts()) { boolean allNull = queryPart.getGuids() == null && queryPart.getNames() == null && queryPart.getOids() == null && queryPart.getInBoundingBox() == null && queryPart.getProperties() == null && queryPart.getClassifications() == null; if (queryPart.hasTypes()) { if (typeDefContains(queryPart, eClass)) { if (allNull) { return true; } } } else { return allNull; } } return false; }
queryPart.addOid(oid); if (eClass.isSuperTypeOf(next.eClass())) { if (originalQuery.getQueryParts().get(0).getOids().contains(oid)) { job.addObject(next.getOid(), next.eClass().getName());
for (QueryPart queryPart : query.getQueryParts()) { if (queryPart.hasReferences()) { for (Reference reference : queryPart.getReferences()) {