@Override public long count(KapuaQuery<DeviceManagementOperation> query) throws KapuaException { // // Argument Validation ArgumentValidator.notNull(query, "query"); ArgumentValidator.notNull(query.getScopeId(), "query.scopeId"); // // Check Access AUTHORIZATION_SERVICE.checkPermission(PERMISSION_FACTORY.newPermission(DeviceManagementRegistryDomains.DEVICE_MANAGEMENT_REGISTRY_DOMAIN, Actions.read, query.getScopeId())); // // Do count return entityManagerSession.onResult(em -> DeviceManagementOperationDAO.count(em, query)); }
@Override public void delete(KapuaId scopeId, KapuaId entityId) throws KapuaException { // // Argument Validation ArgumentValidator.notNull(scopeId, "scopeId"); ArgumentValidator.notNull(entityId, "deviceManagementOperationId"); // // Check Access AUTHORIZATION_SERVICE.checkPermission(PERMISSION_FACTORY.newPermission(DeviceManagementRegistryDomains.DEVICE_MANAGEMENT_REGISTRY_DOMAIN, Actions.delete, scopeId)); // // Check existence if (find(scopeId, entityId) == null) { throw new KapuaEntityNotFoundException(DeviceManagementOperation.TYPE, entityId); } // // Do delete entityManagerSession.onTransactedAction(em -> DeviceManagementOperationDAO.delete(em, scopeId, entityId)); } }
@Override public DeviceManagementOperation find(KapuaId scopeId, KapuaId entityId) throws KapuaException { // // Argument Validation ArgumentValidator.notNull(scopeId, "scopeId"); ArgumentValidator.notNull(entityId, "deviceManagementOperationId"); // // Check Access AUTHORIZATION_SERVICE.checkPermission(PERMISSION_FACTORY.newPermission(DeviceManagementRegistryDomains.DEVICE_MANAGEMENT_REGISTRY_DOMAIN, Actions.read, scopeId)); // // Do find return entityManagerSession.onResult(em -> DeviceManagementOperationDAO.find(em, scopeId, entityId)); }
@Override public DeviceManagementOperationListResult query(KapuaQuery<DeviceManagementOperation> query) throws KapuaException { // // Argument Validation ArgumentValidator.notNull(query, "query"); ArgumentValidator.notNull(query.getScopeId(), "query.scopeId"); // // Check Access AUTHORIZATION_SERVICE.checkPermission(PERMISSION_FACTORY.newPermission(DeviceManagementRegistryDomains.DEVICE_MANAGEMENT_REGISTRY_DOMAIN, Actions.read, query.getScopeId())); // // Do query return entityManagerSession.onResult(em -> DeviceManagementOperationDAO.query(em, query)); }
@Override public DeviceManagementOperation create(DeviceManagementOperationCreator creator) throws KapuaException { // // Argument Validation ArgumentValidator.notNull(creator, "deviceManagementOperationCreator"); ArgumentValidator.notNull(creator.getScopeId(), "deviceManagementOperationCreator.scopeId"); ArgumentValidator.notNull(creator.getStartedOn(), "deviceManagementOperationCreator.startedOn"); ArgumentValidator.notNull(creator.getDeviceId(), "deviceManagementOperationCreator.deviceId"); ArgumentValidator.notNull(creator.getOperationId(), "deviceManagementOperationCreator.operationId"); ArgumentValidator.notNull(creator.getStatus(), "deviceManagementOperationCreator.status"); ArgumentValidator.notNull(creator.getAppId(), "deviceManagementOperationCreator.appId"); ArgumentValidator.notNull(creator.getAction(), "deviceManagementOperationCreator.action"); // // Check access AUTHORIZATION_SERVICE.checkPermission(PERMISSION_FACTORY.newPermission(DeviceManagementRegistryDomains.DEVICE_MANAGEMENT_REGISTRY_DOMAIN, Actions.write, null)); // // Check device existence if (KapuaSecurityUtils.doPrivileged(() -> DEVICE_REGISTRY_SERVICE.find(creator.getScopeId(), creator.getDeviceId()) == null)) { throw new KapuaEntityNotFoundException(Device.TYPE, creator.getDeviceId()); } // // Do create return entityManagerSession.onTransactedInsert(em -> DeviceManagementOperationDAO.create(em, creator)); }
@Override public DeviceManagementOperation update(DeviceManagementOperation entity) throws KapuaException { // // Argument Validation ArgumentValidator.notNull(entity, "deviceManagementOperation"); ArgumentValidator.notNull(entity.getScopeId(), "deviceManagementOperation.scopeId"); ArgumentValidator.notNull(entity.getId(), "deviceManagementOperation.id"); ArgumentValidator.notNull(entity.getStartedOn(), "deviceManagementOperation.startedOn"); ArgumentValidator.notNull(entity.getDeviceId(), "deviceManagementOperation.deviceId"); ArgumentValidator.notNull(entity.getOperationId(), "deviceManagementOperation.operationId"); ArgumentValidator.notNull(entity.getStatus(), "deviceManagementOperation.status"); ArgumentValidator.notNull(entity.getAppId(), "deviceManagementOperation.appId"); ArgumentValidator.notNull(entity.getAction(), "deviceManagementOperation.action"); // // Check access AUTHORIZATION_SERVICE.checkPermission(PERMISSION_FACTORY.newPermission(DeviceManagementRegistryDomains.DEVICE_MANAGEMENT_REGISTRY_DOMAIN, Actions.write, null)); // // Check device existence if (KapuaSecurityUtils.doPrivileged(() -> DEVICE_REGISTRY_SERVICE.find(entity.getScopeId(), entity.getDeviceId()) == null)) { throw new KapuaEntityNotFoundException(Device.TYPE, entity.getDeviceId()); } // // Check existence if (find(entity.getScopeId(), entity.getId()) == null) { throw new KapuaEntityNotFoundException(DeviceManagementOperation.TYPE, entity.getId()); } // // Do update return entityManagerSession.onTransactedResult(em -> DeviceManagementOperationDAO.update(em, entity)); }