default void addManagementNotification(KapuaId scopeId, KapuaId operationId, Date updateOn, OperationStatus operationStatus, String resource, Integer progress) throws KapuaException { DeviceManagementOperation deviceManagementOperation = getDeviceManagementOperation(scopeId, operationId); ManagementOperationNotificationCreator managementOperationNotificationCreator = MANAGEMENT_OPERATION_NOTIFICATION_FACTORY.newCreator(scopeId); managementOperationNotificationCreator.setOperationId(deviceManagementOperation.getId()); managementOperationNotificationCreator.setSentOn(updateOn); managementOperationNotificationCreator.setStatus(operationStatus); managementOperationNotificationCreator.setResource(resource); managementOperationNotificationCreator.setProgress(progress); MANAGEMENT_OPERATION_NOTIFICATION_REGISTRY_SERVICE.create(managementOperationNotificationCreator); }
/** * Creates and return new DeviceManagementOperationNotification * * @param em * @param managementOperationNotificationCreator * @return * @throws KapuaException */ public static ManagementOperationNotification create(EntityManager em, ManagementOperationNotificationCreator managementOperationNotificationCreator) throws KapuaException { // // Create DeviceManagementOperationNotification ManagementOperationNotificationImpl managementOperationNotification = new ManagementOperationNotificationImpl(managementOperationNotificationCreator.getScopeId()); managementOperationNotification.setOperationId(managementOperationNotificationCreator.getOperationId()); managementOperationNotification.setSentOn(managementOperationNotificationCreator.getSentOn()); managementOperationNotification.setStatus(managementOperationNotificationCreator.getStatus()); managementOperationNotification.setResource(managementOperationNotificationCreator.getResource()); managementOperationNotification.setProgress(managementOperationNotificationCreator.getProgress()); return ServiceDAO.create(em, managementOperationNotification); }
@Override public ManagementOperationNotification create(ManagementOperationNotificationCreator creator) throws KapuaException { // // Argument Validation ArgumentValidator.notNull(creator, "managementOperationNotificationCreator"); ArgumentValidator.notNull(creator.getScopeId(), "managementOperationNotificationCreator.scopeId"); ArgumentValidator.notNull(creator.getOperationId(), "managementOperationNotificationCreator.operationId"); ArgumentValidator.notNull(creator.getSentOn(), "managementOperationNotificationCreator.sentOn"); ArgumentValidator.notNull(creator.getStatus(), "managementOperationNotificationCreator.status"); ArgumentValidator.notNull(creator.getProgress(), "managementOperationNotificationCreator.progress"); ArgumentValidator.notNegative(creator.getProgress(), "managementOperationNotificationCreator.progress"); // // Check access authorizationService.checkPermission(permissionFactory.newPermission(DeviceManagementRegistryDomains.DEVICE_MANAGEMENT_REGISTRY_DOMAIN, Actions.write, null)); // // Check operation existence if (KapuaSecurityUtils.doPrivileged(() -> deviceManagementOperationRegistryService.find(creator.getScopeId(), creator.getOperationId()) == null)) { throw new KapuaEntityNotFoundException(DeviceManagementOperation.TYPE, creator.getOperationId()); } // // Do create return entityManagerSession.onTransactedInsert(em -> ManagementOperationNotificationDAO.create(em, creator)); }