Skip to content

Commit 67e664e

Browse files
authored
Merge pull request #21 from Schi11er/schilling
bug fix: CatalogItem property labels.de deleted on create relationship causes wrong query results for search lists
2 parents 498fbb5 + cfb955d commit 67e664e

File tree

2 files changed

+14
-7
lines changed

2 files changed

+14
-7
lines changed

src/main/java/de/bentrm/datacat/catalog/domain/IndexingPreSaveEventListener.java

+13-5
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,24 @@
44
import org.neo4j.ogm.session.event.EventListenerAdapter;
55
import org.springframework.stereotype.Component;
66

7+
import lombok.extern.slf4j.Slf4j;
8+
79
import java.util.Map;
810
import java.util.stream.Collectors;
911

1012
/**
11-
* This class supports indexing of catalog entry nodes for multilingual full text search queries.
13+
* This class supports indexing of catalog entry nodes for multilingual full
14+
* text search queries.
1215
*/
16+
@Slf4j
1317
@Component
1418
class IndexingPreSaveEventListener extends EventListenerAdapter {
1519

1620
/**
17-
* The property {@link CatalogItem#getLabels()} represents a map all translations
18-
* mapped to their language tag. The persisted structure is used to index full text
21+
* The property {@link CatalogItem#getLabels()} represents a map all
22+
* translations
23+
* mapped to their language tag. The persisted structure is used to index full
24+
* text
1925
* queries honouring the current locale of the user.
2026
*
2127
* @param event The persistence event.
@@ -26,8 +32,10 @@ public void onPreSave(Event event) {
2632
final Map<String, String> labels = catalogItem.getNames().stream()
2733
.collect(Collectors.toMap(Translation::getLanguageTag, Translation::getValue));
2834

29-
catalogItem.getLabels().clear();
30-
catalogItem.getLabels().putAll(labels);
35+
if (labels.size() > 0) {
36+
catalogItem.getLabels().clear();
37+
catalogItem.getLabels().putAll(labels);
38+
}
3139
}
3240
}
3341
}

src/main/java/de/bentrm/datacat/catalog/repository/CatalogValidationQuery.java

+1-2
Original file line numberDiff line numberDiff line change
@@ -116,8 +116,7 @@ WITH x.id AS paths, count(*) AS IDCount
116116
""")
117117
List<List<String>> findMultipleIDs();
118118

119-
/* Finde Elemente mit identischer Bezeichnung */
120-
// AND (x)-[:TAGGED]->()<-[:TAGGED]-(y) bei Fachmodell Gruppe Klasse Merkmalsgruppe Datenvorlage
119+
/* Finde Elemente mit identischer Bezeichnung innerhalb eines Types*/
121120
@Query("""
122121
MATCH (x)-[:NAMED]->(v)
123122
MATCH (y)-[:NAMED]->(z)

0 commit comments

Comments
 (0)