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) {
|
public File getComponentMappingFile(ComponentMappingMetadata metadata) {
|
||||||
|
|
||||||
Path mappingFile = getMappingFileFromMetadata(metadata);
|
Path mappingFile = getMappingFileFromMetadata(metadata);
|
||||||
Path mappingFileMetaDataFile = mappingFile.resolveSibling(metadata.getName() + METADATA_SUFFIX);
|
Path mappingFileMetaDataFile = getMappingMetadataFileFromMetadata(metadata);
|
||||||
|
|
||||||
synchronized (ComponentMappingFileSystemCache.class) {
|
synchronized (ComponentMappingFileSystemCache.class) {
|
||||||
|
|
||||||
if (fileExistsAndUpToDate(metadata, mappingFile, mappingFileMetaDataFile)) {
|
if (fileExistsAndUpToDate(metadata, mappingFile, mappingFileMetaDataFile)) {
|
||||||
@ -52,7 +53,7 @@ public class ComponentMappingFileSystemCache {
|
|||||||
InputStreamResource inputStreamResource = storageService.getObject(TenantContext.getTenantId(), metadata.getStorageId());
|
InputStreamResource inputStreamResource = storageService.getObject(TenantContext.getTenantId(), metadata.getStorageId());
|
||||||
|
|
||||||
Files.write(mappingFile, inputStreamResource.getContentAsByteArray(), StandardOpenOption.WRITE, StandardOpenOption.TRUNCATE_EXISTING, StandardOpenOption.CREATE);
|
Files.write(mappingFile, inputStreamResource.getContentAsByteArray(), StandardOpenOption.WRITE, StandardOpenOption.TRUNCATE_EXISTING, StandardOpenOption.CREATE);
|
||||||
|
|
||||||
mapper.writeValue(mappingFileMetaDataFile.toFile(), metadata);
|
mapper.writeValue(mappingFileMetaDataFile.toFile(), metadata);
|
||||||
|
|
||||||
return mappingFile.toFile();
|
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) {
|
private boolean fileExistsAndUpToDate(ComponentMappingMetadata metadata, Path mappingFile, Path mappingFileMetaDataFile) {
|
||||||
|
|
||||||
if (mappingFile.toFile().exists() && mappingFile.toFile().isFile() && mappingFileMetaDataFile.toFile().exists() && mappingFileMetaDataFile.toFile().isFile()) {
|
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.FileReader;
|
||||||
import java.io.Reader;
|
import java.io.Reader;
|
||||||
import java.nio.charset.Charset;
|
import java.nio.charset.Charset;
|
||||||
|
import java.time.Duration;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
@ -36,7 +37,7 @@ public class ComponentMappingMemoryCache {
|
|||||||
public ComponentMappingMemoryCache(ComponentMappingFileSystemCache componentMappingFileSystemCache) {
|
public ComponentMappingMemoryCache(ComponentMappingFileSystemCache componentMappingFileSystemCache) {
|
||||||
|
|
||||||
this.fileSystemCache = 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