@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)); }
/** * Creates and return new DeviceManagementOperationNotification * * @param em * @param deviceManagementOperationCreator * @return * @throws KapuaException */ public static DeviceManagementOperation create(EntityManager em, DeviceManagementOperationCreator deviceManagementOperationCreator) throws KapuaException { // // Create DeviceManagementOperationNotification DeviceManagementOperationImpl deviceManagementOperationImpl = new DeviceManagementOperationImpl(deviceManagementOperationCreator.getScopeId()); deviceManagementOperationImpl.setStartedOn(deviceManagementOperationCreator.getStartedOn()); deviceManagementOperationImpl.setDeviceId(deviceManagementOperationCreator.getDeviceId()); deviceManagementOperationImpl.setOperationId(deviceManagementOperationCreator.getOperationId()); deviceManagementOperationImpl.setAppId(deviceManagementOperationCreator.getAppId()); deviceManagementOperationImpl.setAction(deviceManagementOperationCreator.getAction()); deviceManagementOperationImpl.setResource(deviceManagementOperationCreator.getResource()); deviceManagementOperationImpl.setStatus(deviceManagementOperationCreator.getStatus()); deviceManagementOperationImpl.setStatus(deviceManagementOperationCreator.getStatus()); deviceManagementOperationImpl.setInputProperties(deviceManagementOperationCreator.getInputProperties()); return ServiceDAO.create(em, deviceManagementOperationImpl); }