private void processSubInclude(Query query, CanInclude parentInclude, JsonNode includeNode) throws QueryException { if (includeNode instanceof ObjectNode) { ObjectNode innerInclude = (ObjectNode)includeNode; parentInclude.addInclude(parseInclude(query, innerInclude, null, parentInclude)); } else if (includeNode.isTextual()) { String includeName = includeNode.asText(); if (includeName.contains(":")) { parentInclude.addIncludeReference(getDefineFromFile(includeName, true), includeName); } else { Include otherInclude = query.getDefine(includeName); if (otherInclude == null) { throw new QueryException("Cannot find define \"" + includeName + "\""); } parentInclude.addIncludeReference(otherInclude, includeName); } } else { throw new QueryException("\"include\" must be of type object or string"); } }
queryPart.addInclude(jsonQueryObjectModelConverter.getDefineFromFile(queryNameSpace + ":IfcAnnotationContainedInStructure", true)); } else { queryPart.addInclude(jsonQueryObjectModelConverter.getDefineFromFile(queryNameSpace + ":ContainedInStructure", true)); queryPart.addInclude(jsonQueryObjectModelConverter.getDefineFromFile(queryNameSpace + ":IsTypedBy", true)); queryPart.addInclude(jsonQueryObjectModelConverter.getDefineFromFile(queryNameSpace + ":Decomposes", true)); queryPart.addInclude(jsonQueryObjectModelConverter.getDefineFromFile(queryNameSpace + ":OwnerHistory", true)); Include representationInclude = jsonQueryObjectModelConverter.getDefineFromFile(queryNameSpace + ":RepresentationSpecificMapping", true); queryPart.addInclude(representationInclude); Include objectPlacement = jsonQueryObjectModelConverter.getDefineFromFile(queryNameSpace + ":ObjectPlacement", true); queryPart.addInclude(objectPlacement); if (packageMetaData.getEClass("IfcElement").isSuperTypeOf(eClass)) {
queryPart.addInclude(jsonQueryObjectModelConverter.getDefineFromFile(queryNameSpace + ":IfcAnnotationContainedInStructure", true)); } else { queryPart.addInclude(jsonQueryObjectModelConverter.getDefineFromFile(queryNameSpace + ":ContainedInStructure", true)); queryPart.addInclude(jsonQueryObjectModelConverter.getDefineFromFile(queryNameSpace + ":IsTypedBy", true)); Include representationInclude = jsonQueryObjectModelConverter.getDefineFromFile(queryNameSpace + ":Representation", true); Include objectPlacement = jsonQueryObjectModelConverter.getDefineFromFile(queryNameSpace + ":ObjectPlacement", true); Include decomposes = jsonQueryObjectModelConverter.getDefineFromFile(queryNameSpace + ":Decomposes", true); Include ownerHistory = jsonQueryObjectModelConverter.getDefineFromFile(queryNameSpace + ":OwnerHistory", true); fillsInclude.addInclude(jsonQueryObjectModelConverter.getDefineFromFile(queryNameSpace + ":ContainedInStructure", true)); materialsInclude.addType(eClass, false); materialsInclude.addField("HasAssociations"); materialsInclude.addInclude(jsonQueryObjectModelConverter.getDefineFromFile(queryNameSpace + ":IfcRelAssociatesMaterial", true));
String queryNameSpace = schema + "-" + type; if (type.contentEquals("stdlib")) { Include objectPlacement = jsonQueryObjectModelConverter.getDefineFromFile(queryNameSpace + ":ObjectPlacement", true);
Include objectPlacement = jsonQueryObjectModelConverter.getDefineFromFile(queryNameSpace + ":ObjectPlacement", true);