Merge branch 'RED-9375' into 'master'
RED-9375: use storageId for cache names everywhere, such that name may be updated by a user Closes RED-9375 See merge request redactmanager/redaction-service!448
This commit is contained in:
commit
67657e91b5
@ -40,7 +40,8 @@ public class ComponentMappingFileSystemCache {
|
||||
public File getComponentMappingFile(ComponentMappingMetadata metadata) {
|
||||
|
||||
Path mappingFile = getMappingFileFromMetadata(metadata);
|
||||
Path mappingFileMetaDataFile = mappingFile.resolveSibling(metadata.getName() + METADATA_SUFFIX);
|
||||
Path mappingFileMetaDataFile = getMappingMetadataFileFromMetadata(metadata);
|
||||
|
||||
synchronized (ComponentMappingFileSystemCache.class) {
|
||||
|
||||
if (fileExistsAndUpToDate(metadata, mappingFile, mappingFileMetaDataFile)) {
|
||||
@ -52,7 +53,7 @@ public class ComponentMappingFileSystemCache {
|
||||
InputStreamResource inputStreamResource = storageService.getObject(TenantContext.getTenantId(), metadata.getStorageId());
|
||||
|
||||
Files.write(mappingFile, inputStreamResource.getContentAsByteArray(), StandardOpenOption.WRITE, StandardOpenOption.TRUNCATE_EXISTING, StandardOpenOption.CREATE);
|
||||
|
||||
|
||||
mapper.writeValue(mappingFileMetaDataFile.toFile(), metadata);
|
||||
|
||||
return mappingFile.toFile();
|
||||
@ -87,6 +88,13 @@ public class ComponentMappingFileSystemCache {
|
||||
}
|
||||
|
||||
|
||||
private Path getMappingMetadataFileFromMetadata(ComponentMappingMetadata metadata) {
|
||||
|
||||
Path tenantStem = mappingFileDir.resolve(TenantContext.getTenantId());
|
||||
return tenantStem.resolve(metadata.getStorageId() + METADATA_SUFFIX);
|
||||
}
|
||||
|
||||
|
||||
private boolean fileExistsAndUpToDate(ComponentMappingMetadata metadata, Path mappingFile, Path mappingFileMetaDataFile) {
|
||||
|
||||
if (mappingFile.toFile().exists() && mappingFile.toFile().isFile() && mappingFileMetaDataFile.toFile().exists() && mappingFileMetaDataFile.toFile().isFile()) {
|
||||
|
||||
@ -4,6 +4,7 @@ import java.io.File;
|
||||
import java.io.FileReader;
|
||||
import java.io.Reader;
|
||||
import java.nio.charset.Charset;
|
||||
import java.time.Duration;
|
||||
import java.util.List;
|
||||
|
||||
import org.springframework.stereotype.Service;
|
||||
@ -36,7 +37,7 @@ public class ComponentMappingMemoryCache {
|
||||
public ComponentMappingMemoryCache(ComponentMappingFileSystemCache componentMappingFileSystemCache) {
|
||||
|
||||
this.fileSystemCache = componentMappingFileSystemCache;
|
||||
cache = CacheBuilder.newBuilder().maximumWeight(MAX_NUMBER_OF_LINES).weigher(COMPONENT_MAPPING_WEIGHER).build();
|
||||
cache = CacheBuilder.newBuilder().maximumWeight(MAX_NUMBER_OF_LINES).weigher(COMPONENT_MAPPING_WEIGHER).expireAfterAccess(Duration.ofDays(1)).build();
|
||||
}
|
||||
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user