diff --git a/src/main/java/eu/sshopencloud/marketplace/services/items/ItemCrudService.java b/src/main/java/eu/sshopencloud/marketplace/services/items/ItemCrudService.java index 1059d64fb1d44aa87aba6c0cd9f99b98252a1afd..6be9660b4eb486d0738da66a5ad4e80abdb9f925 100644 --- a/src/main/java/eu/sshopencloud/marketplace/services/items/ItemCrudService.java +++ b/src/main/java/eu/sshopencloud/marketplace/services/items/ItemCrudService.java @@ -217,7 +217,7 @@ abstract class ItemCrudService history = loadItemHistory(currentItem); - for (Item historicalItem : history) { + for (Item historicalItem : history) if (historicalItem.getSource() != null) { if (sourceId.equals(historicalItem.getSource().getId()) && sourceItemId.equals( - historicalItem.getSourceItemId())) { - // FIX ME whether check also an information contributor - System importer ? + historicalItem.getSourceItemId()) && historicalItem.getInformationContributor().isSystemContributor()) { return historicalItem; } } - } return null; } diff --git a/src/main/java/eu/sshopencloud/marketplace/services/items/ItemsComparator.java b/src/main/java/eu/sshopencloud/marketplace/services/items/ItemsComparator.java index 9408470286db6c2fdde4251587a79dde608acdf2..de07fa6d4288c8ec03a2bf411fab9fdaf725bf10 100644 --- a/src/main/java/eu/sshopencloud/marketplace/services/items/ItemsComparator.java +++ b/src/main/java/eu/sshopencloud/marketplace/services/items/ItemsComparator.java @@ -576,13 +576,12 @@ public class ItemsComparator { return itemsDifferencesCore; } - public ItemDto toDto(Item item) { switch (item.getCategory()) { case TOOL_OR_SERVICE: return ToolMapper.INSTANCE.toDto((Tool) item); case TRAINING_MATERIAL: - return TrainingMaterialMapper.INSTANCE.toDto((TrainingMaterial) item); + return TrainingMaterialMapper.INSTANCE.toDto( (TrainingMaterial) item); case PUBLICATION: return PublicationMapper.INSTANCE.toDto((Publication) item); case DATASET: @@ -596,6 +595,25 @@ public class ItemsComparator { } } + public ItemDto toDtoSource(Item item) { + switch (item.getCategory()) { + case TOOL_OR_SERVICE: + return ToolMapper.INSTANCE.toDto(item); + case TRAINING_MATERIAL: + return TrainingMaterialMapper.INSTANCE.toDto(item); + case PUBLICATION: + return PublicationMapper.INSTANCE.toDto(item); + case DATASET: + return DatasetMapper.INSTANCE.toDto(item); + case WORKFLOW: + return WorkflowMapper.INSTANCE.toDto(item); + case STEP: + return StepMapper.INSTANCE.toDto(item); + default: + return null; + } + } + public ItemsDifferencesDto differentiateComposedOf(WorkflowDto item, WorkflowDto other, ItemsDifferencesDto differences) { int itemSize = item.getComposedOf() != null ? item.getComposedOf().size() : 0;