public Builder withRole(String role) { request.getRoles().add(role); return this; }
public Builder asGroup() { request.setNestedGroupToken(request.getDeviceToken()); request.setDeviceToken(null); return this; }
public Builder(String id) { request.setElementId(id); request.setType(GroupElementType.Device); }
public Object generate() throws SiteWhereException { List<DeviceGroupElementCreateRequest> list = new ArrayList<DeviceGroupElementCreateRequest>(); DeviceGroupElementCreateRequest r1 = new DeviceGroupElementCreateRequest(); r1.setType(GroupElementType.Group); r1.setElementId(ExampleData.DEVICEGROUP_SOUTHEAST.getToken()); r1.setRoles(Arrays.asList(new String[] { "region" })); list.add(r1); DeviceGroupElementCreateRequest r2 = new DeviceGroupElementCreateRequest(); r2.setType(GroupElementType.Group); r2.setElementId(ExampleData.DEVICEGROUP_NORTHEAST.getToken()); r2.setRoles(Arrays.asList(new String[] { "region" })); list.add(r2); DeviceGroupElementCreateRequest r3 = new DeviceGroupElementCreateRequest(); r3.setType(GroupElementType.Device); r3.setElementId(ExampleData.TRACKER.getHardwareId()); r3.setRoles(Arrays.asList(new String[] { "standalone" })); list.add(r3); return list; } }
public Builder(IDeviceGroupElement api) { request.setElementId(api.getElementId()); request.setType(api.getType()); if (api.getRoles() != null) { request.setRoles(new ArrayList<String>()); request.getRoles().addAll(api.getRoles()); } }
/** * Convert a device group element create request from GRPC to API. * * @param grpc * @return * @throws SiteWhereException */ public static DeviceGroupElementCreateRequest asApiDeviceGroupElementCreateRequest( GDeviceGroupElementCreateRequest grpc) throws SiteWhereException { DeviceGroupElementCreateRequest api = new DeviceGroupElementCreateRequest(); api.setDeviceToken(grpc.hasDeviceToken() ? grpc.getDeviceToken().getValue() : null); api.setNestedGroupToken(grpc.hasNestedGroupToken() ? grpc.getNestedGroupToken().getValue() : null); api.setRoles(grpc.getRolesList()); return api; }
public Object generate() throws SiteWhereException { List<DeviceGroupElementCreateRequest> list = new ArrayList<DeviceGroupElementCreateRequest>(); DeviceGroupElementCreateRequest r1 = new DeviceGroupElementCreateRequest(); r1.setType(GroupElementType.Group); r1.setElementId(ExampleData.DEVICEGROUP_NORTHEAST.getToken()); list.add(r1); return list; } }
public Builder asGroup() { request.setType(GroupElementType.Group); return this; }
public Builder(String deviceToken) { request.setDeviceToken(deviceToken); }
/** * Validate new elements to assure they reference real objects. * * @param elements * @param devices * @throws SiteWhereException */ protected void validateDeviceGroupElements(List<DeviceGroupElementCreateRequest> elements, IDeviceManagement devices) throws SiteWhereException { for (DeviceGroupElementCreateRequest request : elements) { switch (request.getType()) { case Device: { if (devices.getDeviceByHardwareId(request.getElementId()) == null) { throw new SiteWhereException("Referenced device does not exist: " + request.getElementId()); } break; } case Group: { if (devices.getDeviceGroup(request.getElementId()) == null) { throw new SiteWhereException("Referenced device group does not exist: " + request.getElementId()); } break; } } } }
public Builder withRole(String role) { request.getRoles().add(role); return this; }