@Override public String etagFor(ElasticProfile entityFromServer) { return entityHashingService.md5ForEntity(entityFromServer); }
public String md5ForEntity(AdminsConfig config) { String cacheKey = cacheKey(config, "cacheKey"); return getFromCache(config, cacheKey); }
private String getFromCache(Object domainObject, String cacheKey) { String cachedMD5 = getFromCache(cacheKey); if (cachedMD5 != null) { return cachedMD5; } String md5 = computeMd5For(domainObject); goCache.put(ETAG_CACHE_KEY, cacheKey, md5); return md5; }
public void updatePluginSettings(PluginSettings newPluginSettings, Username currentUser, LocalizedOperationResult result, String md5) { final String pluginId = newPluginSettings.getPluginId(); final String keyToLockOn = keyToLockOn(pluginId); synchronized (keyToLockOn) { if (hasPermission(currentUser, result)) { final PluginSettings pluginSettingsFromDB = getPluginSettings(pluginId); if (pluginSettingsFromDB == null) { result.notFound(LocalizedMessage.resourceNotFound("Plugin Settings", pluginId), HealthStateType.notFound()); return; } if (!entityHashingService.md5ForEntity(pluginSettingsFromDB).equals(md5)) { result.stale(LocalizedMessage.staleResourceConfig("Plugin Settings", pluginId)); return; } updatePluginSettingsAndNotifyPluginSettingsChangeListeners(result, newPluginSettings); if (result.isSuccessful()) { entityHashingService.removeFromCache(newPluginSettings, pluginId); } } } }
public void removeFromCache(Object domainObject, String name) { goCache.remove(ETAG_CACHE_KEY, cacheKey(domainObject, name)); }
private String cacheKey(Object domainObject, String name) { return getClass(domainObject) + "." + name; }
private String cacheKey(Object domainObject, CaseInsensitiveString name) { return cacheKey(domainObject, name.toLower()); }
@Override public String etagFor(EnvironmentConfig entityFromServer) { return entityHashingService.md5ForEntity(entityFromServer); }
public String md5ForEntity(DataSharingSettings dataSharingSettings) { String cacheKey = cacheKey(dataSharingSettings, "data_sharing_settings"); return getFromCache(cacheKey, dataSharingSettings); }
@Override public String etagFor(PipelineTemplateConfig pipelineTemplateConfig) { return entityHashingService.md5ForEntity(pipelineTemplateConfig); }
public String md5ForEntity(EnvironmentConfig config) { String cacheKey = cacheKey(config, config.name()); return getFromCache(config, cacheKey); }
@Override public String etagFor(Role entityFromServer) { return entityHashingService.md5ForEntity(entityFromServer); }
public String md5ForEntity(Role config) { String cacheKey = cacheKey(config, config.getName()); return getFromCache(config, cacheKey); }
@Override public String etagFor(PipelineConfig pipelineConfig) { return entityHashingService.md5ForEntity(pipelineConfig); }
public String md5ForEntity(PipelineConfigs pipelineConfigs) { String cacheKey = cacheKey(pipelineConfigs, pipelineConfigs.getGroup()); return getFromCache(pipelineConfigs, cacheKey); }
@Override public String etagFor(ArtifactStore entityFromServer) { return entityHashingService.md5ForEntity(entityFromServer); }
public String md5ForEntity(PipelineConfig config) { String cacheKey = cacheKey(config, config.name()); return getFromCache(config, cacheKey); }
@Override public String etagFor(AdminsConfig entityFromServer) { return entityHashingService.md5ForEntity(entityFromServer); }
public String md5ForEntity(SecurityAuthConfig config) { String cacheKey = cacheKey(config, config.getId()); return getFromCache(config, cacheKey); }
@Override public String etagFor(AdminsConfig entityFromServer) { return entityHashingService.md5ForEntity(entityFromServer); }