@Override public List<IArea> getAreaChildren(String token) throws SiteWhereException { IArea existing = getAreaByToken(token); if (existing == null) { throw new SiteWhereSystemException(ErrorCode.InvalidAreaToken, ErrorLevel.ERROR); } MongoCollection<Document> areas = getMongoClient().getAreasCollection(); Document query = new Document(MongoArea.PROP_PARENT_AREA_ID, existing.getId()); Document sort = new Document(MongoArea.PROP_NAME, 1); SearchResults<IArea> matches = MongoPersistence.search(IArea.class, areas, query, sort, SearchCriteria.ALL, LOOKUP); return matches.getResults(); }
/** * Common logic for creating a device assignment from a request. * * @param request * @param customer * @param area * @param asset * @param device * @return * @throws SiteWhereException */ public static DeviceAssignment deviceAssignmentCreateLogic(IDeviceAssignmentCreateRequest request, ICustomer customer, IArea area, IAsset asset, IDevice device) throws SiteWhereException { DeviceAssignment assignment = new DeviceAssignment(); Persistence.entityCreateLogic(request, assignment); assignment.setCustomerId(customer != null ? customer.getId() : null); assignment.setAreaId(area != null ? area.getId() : null); assignment.setAssetId(asset != null ? asset.getId() : null); assignment.setDeviceId(device.getId()); assignment.setDeviceTypeId(device.getDeviceTypeId()); assignment.setActiveDate(new Date()); assignment.setStatus(request.getStatus() != null ? request.getStatus() : DeviceAssignmentStatus.Active); return assignment; }
/** * Common logic for creating a zone based on an incoming request. * * @param request * @param area * @param uuid * @return * @throws SiteWhereException */ public static Zone zoneCreateLogic(IZoneCreateRequest request, IArea area, String uuid) throws SiteWhereException { Zone zone = new Zone(); Persistence.entityCreateLogic(request, zone); zone.setAreaId(area.getId()); zone.setName(request.getName()); zone.setBorderColor(request.getBorderColor()); zone.setFillColor(request.getFillColor()); zone.setOpacity(request.getOpacity()); zone.setBounds(Location.copy(request.getBounds())); return zone; }
/** * Common logic for creating new area object and populating it from request. * * @param request * @param areaType * @param parentArea * @return * @throws SiteWhereException */ public static Area areaCreateLogic(IAreaCreateRequest request, IAreaType areaType, IArea parentArea) throws SiteWhereException { Area area = new Area(); Persistence.brandedEntityCreateLogic(request, area); area.setAreaTypeId(areaType.getId()); area.setParentAreaId(parentArea != null ? parentArea.getId() : null); area.setName(request.getName()); area.setDescription(request.getDescription()); area.setImageUrl(request.getImageUrl()); area.setBounds(Location.copy(request.getBounds())); return area; }
target.setAreaId(area.getId());