private QueryContextResponse createRoomQueryResponse(EntityId queryEntityId) { QueryContextResponse queryContextResponse = new QueryContextResponse(); List<ContextElementResponse> contextElementResponseList = new ArrayList<>(); if ((queryEntityId.getIsPattern()) && (queryEntityId.getId().equals("Room*"))) { for (int varTemp : tempTab) { for (int varRoom = 1; varRoom < 5; varRoom++) { for (int varFloor = 1; varFloor < 4; varFloor++) { ContextElement contextElement = new ContextElement(); String name = "Room" + varFloor + varRoom; EntityId entityId = new EntityId(name, "Room", false); contextElement.setEntityId(entityId); int value = ((varTemp + (2 * varFloor) + varRoom)); ContextAttribute tempContextAttribute = new ContextAttribute("temperature", "double", String.valueOf(value)); ContextAttribute floorContextAttribute = new ContextAttribute("floor", "string", "Floor" + varFloor); List<ContextAttribute> contextAttributeList = new ArrayList<>(); contextAttributeList.add(tempContextAttribute); contextAttributeList.add(floorContextAttribute); contextElement.setContextAttributeList(contextAttributeList); ContextElementResponse contextElementResponse = new ContextElementResponse(); contextElementResponse.setContextElement(contextElement); contextElementResponse.setStatusCode(new StatusCode(CodeEnum.CODE_200)); contextElementResponseList.add(contextElementResponse); } } } } else { String id = queryEntityId.getId(); int varFloor = Integer.parseInt(String.valueOf(id.charAt(4))); int varRoom = Integer.parseInt(String.valueOf(id.charAt(5))); Random rand = new Random(); int i = rand.nextInt(tempTab.length); int varTemp = tempTab[i]; ContextElement contextElement = new ContextElement(); contextElement.setEntityId(queryEntityId); int value = ((varTemp + (2 * varFloor) + varRoom)); ContextAttribute tempContextAttribute = new ContextAttribute("temperature", "double", String.valueOf(value)); ContextAttribute floorContextAttribute = new ContextAttribute("floor", "string", "Floor" + varFloor); List<ContextAttribute> contextAttributeList = new ArrayList<>(); contextAttributeList.add(tempContextAttribute); contextAttributeList.add(floorContextAttribute); contextElement.setContextAttributeList(contextAttributeList); ContextElementResponse contextElementResponse = new ContextElementResponse(); contextElementResponse.setContextElement(contextElement); contextElementResponse.setStatusCode(new StatusCode(CodeEnum.CODE_200)); contextElementResponseList.add(contextElementResponse); } queryContextResponse.setContextElementResponses(contextElementResponseList); return queryContextResponse; }
@Override public QueryContextResponse queryContext(final QueryContext query) { logger.info("=> queryContext: {}", query.toString()); // check if the incoming query is on Room EntityId queryEntityId = query.getEntityIdList().get(0); if (queryEntityId.getId().contains("Room")) { return createRoomQueryResponse(queryEntityId); } else if (queryEntityId.getId().contains("Shutter")) { return createShutterQueryResponse(queryEntityId); } else { QueryContextResponse queryResponse = new QueryContextResponse(); queryResponse.setErrorCode(new StatusCode(CodeEnum.CODE_404, queryEntityId.getId())); return queryResponse; } }
private QueryContextResponse createShutterQueryResponse(EntityId queryEntityId) { QueryContextResponse queryContextResponse = new QueryContextResponse(); List<ContextElementResponse> contextElementResponseList = new ArrayList<>(); Random rand = new Random(); if ((queryEntityId.getIsPattern()) && (queryEntityId.getId().equals("Shutter*"))) { for (int varRoom = 1; varRoom < 5; varRoom++) { for (int varFloor = 1; varFloor < 4; varFloor++) { ContextElement contextElement = new ContextElement(); String name = "Shutter" + varFloor + varRoom; EntityId entityId = new EntityId(name, "Room", false); contextElement.setEntityId(entityId); int i = rand.nextInt(statusTab.length); String varStatus = statusTab[i]; ContextAttribute statusContextAttribute = new ContextAttribute("status", "string", varStatus); List<ContextAttribute> contextAttributeList = new ArrayList<>(); contextAttributeList.add(statusContextAttribute); contextElement.setContextAttributeList(contextAttributeList); ContextElementResponse contextElementResponse = new ContextElementResponse(); contextElementResponse.setContextElement(contextElement); contextElementResponse.setStatusCode(new StatusCode(CodeEnum.CODE_200)); contextElementResponseList.add(contextElementResponse); } } } else { int i = rand.nextInt(statusTab.length); String varStatus = statusTab[i]; ContextElement contextElement = new ContextElement(); contextElement.setEntityId(queryEntityId); ContextAttribute statusContextAttribute = new ContextAttribute("status", "string", varStatus); List<ContextAttribute> contextAttributeList = new ArrayList<>(); contextAttributeList.add(statusContextAttribute); contextElement.setContextAttributeList(contextAttributeList); ContextElementResponse contextElementResponse = new ContextElementResponse(); contextElementResponse.setContextElement(contextElement); contextElementResponse.setStatusCode(new StatusCode(CodeEnum.CODE_200)); contextElementResponseList.add(contextElementResponse); } queryContextResponse.setContextElementResponses(contextElementResponseList); return queryContextResponse; }