@Override public EndpointSpecificConfiguration save(EndpointSpecificConfigurationDto dto) { LOG.debug("Saving endpoint specific configuration {}", dto); CassandraEndpointSpecificConfiguration configuration = findByEndpointKeyHashAndConfigurationVersion(dto.getEndpointKeyHash(), dto.getConfigurationSchemaVersion()); if (configuration != null) { dto.setVersion(configuration.getVersion()); } configuration = save(new CassandraEndpointSpecificConfiguration(dto)); if (LOG.isTraceEnabled()) { LOG.trace("Saved: {}", configuration); } else { LOG.debug("Saved: {}", configuration != null); } return configuration; }
@Override public EndpointSpecificConfiguration save(EndpointSpecificConfigurationDto dto) { LOG.debug("Saving endpoint specific configuration {}", dto); MongoEndpointSpecificConfiguration configuration = (MongoEndpointSpecificConfiguration) findByEndpointKeyHashAndConfigurationVersion(dto.getEndpointKeyHash(), dto.getConfigurationSchemaVersion()); if (configuration != null) { dto.setVersion(configuration.getVersion()); } configuration = save(new MongoEndpointSpecificConfiguration(dto)); if (LOG.isTraceEnabled()) { LOG.trace("Saved: {}", configuration); } else { LOG.debug("Saved: {}", configuration != null); } return configuration; }
/** * All-args constructor. */ public MongoEndpointSpecificConfiguration(EndpointSpecificConfigurationDto dto) { this.endpointKeyHash = dto.getEndpointKeyHash(); this.configurationVersion = dto.getConfigurationSchemaVersion(); this.configuration = dto.getConfiguration(); this.version = dto.getVersion(); generateId(); }
@Override public EndpointSpecificConfigurationDto editEndpointSpecificConfiguration(EndpointSpecificConfigurationDto configuration) throws KaaAdminServiceException { checkAuthority(KaaAuthorityDto.TENANT_DEVELOPER, KaaAuthorityDto.TENANT_USER); try { checkEndpointProfile(configuration.getEndpointKeyHash()); return controlService.editEndpointSpecificConfiguration(configuration); } catch (Exception ex) { throw Utils.handleException(ex); } }
/** * Create new instance of <code>CassandraEndpointSpecificConfiguration</code>. * * @param dto is data transfer object contain data that * assign on fields of new instance */ public CassandraEndpointSpecificConfiguration(EndpointSpecificConfigurationDto dto) { this.endpointKeyHash = getByteBuffer(dto.getEndpointKeyHash()); this.configurationVersion = dto.getConfigurationSchemaVersion(); this.configuration = dto.getConfiguration(); this.version = dto.getVersion(); }
private void sendEndpointConfigurationRefreshMessage(EndpointSpecificConfigurationDto configuration) { byte[] endpointKeyHashBytes = configuration.getEndpointKeyHash(); EndpointProfileDto endpointProfile = endpointService.findEndpointProfileByKeyHash(endpointKeyHashBytes); if (!configuration.getConfigurationSchemaVersion().equals(endpointProfile.getConfigurationVersion())) { return; } checkNeighbors(); String endpointKeyHash = Base64Util.encode(configuration.getEndpointKeyHash()); ApplicationDto appDto = applicationService.findAppById(endpointProfile.getApplicationId()); OperationsNodeInfo server = resolve(endpointKeyHash); if (server != null) { ThriftEndpointConfigurationRefreshMessage msg = new ThriftEndpointConfigurationRefreshMessage(); msg.setAddress(new ThriftEntityAddress(appDto.getTenantId(), appDto.getApplicationToken(), ThriftClusterEntityType.ENDPOINT, ByteBuffer.wrap(endpointKeyHashBytes))); msg.setActorClassifier(ThriftActorClassifier.GLOBAL); if (LOG.isTraceEnabled()) { LOG.trace("Sending message {} to [{}]", msg, Neighbors.getServerId(server.getConnectionInfo())); } neighbors.sendMessage(server.getConnectionInfo(), OperationsServiceMsg.fromEndpointConfigurationRefresh(msg)); } else { LOG.warn("Can't find server for endpoint [{}]", endpointKeyHash); } }
@Override public EndpointSpecificConfigurationDto save(EndpointSpecificConfigurationDto configurationDto) { EndpointProfileDto profileDto = getEndpointProfileDto(configurationDto.getEndpointKeyHash()); if (configurationDto.getConfigurationSchemaVersion() == null) { configurationDto.setConfigurationSchemaVersion(profileDto.getConfigurationVersion()); } validateEndpointSpecificConfiguration(configurationDto, profileDto.getApplicationId()); return endpointSpecificConfigurationDao.save(configurationDto).toDto(); }