Merge branch 'DM-498' into 'master'
DM-498 - Fix 500 internal server error when overrides do not exist Closes DM-498 See merge request redactmanager/persistence-service!131
This commit is contained in:
commit
0b7a925757
@ -5,6 +5,7 @@ import com.iqser.red.persistence.service.v1.external.api.impl.controller.Dossier
|
||||
import com.iqser.red.persistence.service.v1.external.api.impl.controller.StatusController;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.service.ComponentOverrideService;
|
||||
import com.iqser.red.service.persistence.service.v1.api.shared.model.analysislog.componentlog.ComponentEntityReference;
|
||||
import com.iqser.red.service.persistence.service.v1.api.shared.model.analysislog.componentlog.ComponentLogCategory;
|
||||
import com.iqser.red.service.persistence.service.v1.api.shared.model.analysislog.componentlog.ComponentLogEntry;
|
||||
import com.iqser.red.service.persistence.service.v1.api.shared.model.component.ComponentsOverrides;
|
||||
import com.iqser.red.service.persistence.service.v2.api.external.model.Component;
|
||||
@ -47,14 +48,17 @@ public class ComponentControllerV2 implements ComponentResource {
|
||||
var overrides = componentOverrideService.getOverrides(dossierId, fileId);
|
||||
|
||||
Map<String, List<String>> components = new HashMap<>();
|
||||
componentLog.getComponentLogCategories().forEach(c -> {
|
||||
List<ComponentLogCategory> componentLogCategories = componentLog.getComponentLogCategories();
|
||||
if (componentLogCategories != null && !componentLogCategories.isEmpty()) {
|
||||
componentLogCategories.forEach(c -> {
|
||||
|
||||
if (overrides.getComponentOverrides().containsKey(c.getCategory())) {
|
||||
components.computeIfAbsent(c.getCategory(), (x) -> new ArrayList<>()).add(overrides.getComponentOverrides().get(c.getCategory()));
|
||||
} else {
|
||||
components.computeIfAbsent(c.getCategory(), (x) -> new ArrayList<>()).addAll(c.getComponentLogEntries().stream().map(ComponentLogEntry::getValue).toList());
|
||||
}
|
||||
});
|
||||
if (overrides.getComponentOverrides() != null && overrides.getComponentOverrides().containsKey(c.getCategory())) {
|
||||
components.computeIfAbsent(c.getCategory(), (x) -> new ArrayList<>()).add(overrides.getComponentOverrides().get(c.getCategory()));
|
||||
} else {
|
||||
components.computeIfAbsent(c.getCategory(), (x) -> new ArrayList<>()).addAll(c.getComponentLogEntries().stream().map(ComponentLogEntry::getValue).toList());
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
Map<String, List<Component>> componentsDetails = new HashMap<>();
|
||||
if (includeDetails) {
|
||||
|
||||
@ -39,9 +39,12 @@ public class ComponentOverrideService {
|
||||
@SneakyThrows
|
||||
public ComponentsOverrides getOverrides(String dossierId, String fileId) {
|
||||
|
||||
var exists = fileManagementStorageService.objectExists(dossierId, fileId, FileType.COMPONENTS);
|
||||
if (!exists) {
|
||||
return ComponentsOverrides.builder().build();
|
||||
}
|
||||
var existingComponentsBytes = fileManagementStorageService.getStoredObjectBytes(dossierId, fileId, FileType.COMPONENTS);
|
||||
var existingComponents = objectMapper.readValue(existingComponentsBytes, ComponentsOverrides.class);
|
||||
return existingComponents;
|
||||
return objectMapper.readValue(existingComponentsBytes, ComponentsOverrides.class);
|
||||
}
|
||||
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user