public HashMapVirtualObject getByOid(PackageMetaData packageMetaData, DatabaseSession databaseSession, long roid, long oid) throws JsonParseException, JsonMappingException, IOException, QueryException, BimserverDatabaseException { Query query = new Query("test", packageMetaData); QueryPart queryPart = query.createQueryPart(); queryPart.addOid(oid); QueryObjectProvider queryObjectProvider = new QueryObjectProvider(databaseSession, bimServer, query, Collections.singleton(roid), packageMetaData); HashMapVirtualObject first = queryObjectProvider.next(); return first; }
JsonNode oidNode = objectNode.get("oid"); if (oidNode.isNumber()) { queryPart.addOid(oidNode.asLong()); } else { throw new QueryException("\"oid\" must be of type number"); JsonNode oidNode = oids.get(i); if (oidNode.isNumber()) { queryPart.addOid(oidNode.asLong()); } else { throw new QueryException("\"oids\"[" + i + "] must be of type number (" + oidNode + ")");
@Override public void execute(Transaction transaction) throws UserException, BimserverLockConflictException, BimserverDatabaseException, IOException, QueryException { PackageMetaData packageMetaData = transaction.getDatabaseSession().getMetaDataManager().getPackageMetaData(transaction.getProject().getSchema()); HashMapVirtualObject object = transaction.get(oid); if (object == null) { Query query = new Query(packageMetaData); QueryPart queryPart = query.createQueryPart(); queryPart.addOid(oid); QueryObjectProvider queryObjectProvider = new QueryObjectProvider(transaction.getDatabaseSession(), transaction.getBimServer(), query, Collections.singleton(transaction.getPreviousRevision().getOid()), packageMetaData); object = queryObjectProvider.next(); } if (object == null) { throw new UserException("Object with oid " + oid + " not found"); } if (!ChangeHelper.canBeChanged(eClass)) { throw new UserException("Only objects from the following schemas are allowed to be changed: Ifc2x3tc1 and IFC4, this object (" + eClass.getName() + ") is from the \"" + eClass.getEPackage().getName() + "\" package"); } transaction.deleted(object); } }
queryPart.addOid(oid);
public void loadExplicit(long oid) { try { IdEObjectImpl idEObjectImpl = (IdEObjectImpl) super.get(oid); if (idEObjectImpl != null && !idEObjectImpl.isLoadedOrLoading() && !assumeCompletePreload) { idEObjectImpl.setLoadingState(State.LOADING); modelState = ModelState.LOADING; Query query = new Query(getPackageMetaData()); QueryPart queryPart = query.createQueryPart(); queryPart.addOid(oid); JsonQueryObjectModelConverter converter = new JsonQueryObjectModelConverter(getPackageMetaData()); long topicId = bimServerClient.getServiceInterface().download(Collections.singleton(roid), converter.toJson(query).toString(), getJsonSerializerOid(), false); waitForDonePreparing(topicId); clientDebugInfo.incExplicit(); processDownload(topicId); bimServerClient.getServiceInterface().cleanupLongAction(topicId); idEObjectImpl.setLoadingState(State.LOADED); modelState = ModelState.NONE; } } catch (Exception e) { LOGGER.error("", e); } }
Query query = new Query(packageMetaData); QueryPart queryPart = query.createQueryPart(); queryPart.addOid(oid);
queryPart.addOid(oid);
queryPart.addOid(oid);
Query query = new Query(packageMetaData); QueryPart queryPart = query.createQueryPart(); queryPart.addOid(oid);
Query query = new Query(packageMetaData); QueryPart queryPart = query.createQueryPart(); queryPart.addOid(oid);
Query query = new Query(packageMetaData); QueryPart queryPart = query.createQueryPart(); queryPart.addOid(oid);
queryPart.addOid(oid);
if (geometry != null) { if (geometry.getData() == null || geometry.getData().getIndices() == null) { queryPart.addOid(geometry.getOid()); geometryInfoOidToOid.put(geometry.getOid(), ifcProduct.getOid());
queryPart.addOid(oid);
while (next != null) { long oid = next.getOid(); queryPart.addOid(oid); if (eClass.isSuperTypeOf(next.eClass())) { if (originalQuery.getQueryParts().get(0).getOids().contains(oid)) {
HashMapVirtualObject next = queryObjectProvider.next(); while (next != null) { newQueryPart.addOid(next.getOid()); next = queryObjectProvider.next();