Skip to content

Commit 7775a76

Browse files
committed
Refactor SummaryMetadataEnricher for readability
1 parent 698a531 commit 7775a76

File tree

1 file changed

+18
-13
lines changed

1 file changed

+18
-13
lines changed

spring-ai-core/src/main/java/org/springframework/ai/transformer/SummaryMetadataEnricher.java

Lines changed: 18 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
* 'section_summary', 'prev_section_summary', 'next_section_summary' metadata fields.
3535
*
3636
* @author Christian Tzolov
37+
* @since 1.0.0
3738
*/
3839
public class SummaryMetadataEnricher implements DocumentTransformer {
3940

@@ -51,11 +52,11 @@ public class SummaryMetadataEnricher implements DocumentTransformer {
5152
5253
Summarize the key topics and entities of the section.
5354
54-
Summary: """;
55+
Summary:""";
5556

5657
public enum SummaryType {
5758

58-
PREVIOUS, CURRENT, NEXT;
59+
PREVIOUS, CURRENT, NEXT
5960

6061
}
6162

@@ -105,21 +106,25 @@ public List<Document> apply(List<Document> documents) {
105106
}
106107

107108
for (int i = 0; i < documentSummaries.size(); i++) {
108-
Map<String, Object> summaryMetadata = new HashMap<>();
109-
if (i > 0 && this.summaryTypes.contains(SummaryType.PREVIOUS)) {
110-
summaryMetadata.put(PREV_SECTION_SUMMARY_METADATA_KEY, documentSummaries.get(i - 1));
111-
}
112-
if (i < (documentSummaries.size() - 1) && this.summaryTypes.contains(SummaryType.NEXT)) {
113-
summaryMetadata.put(NEXT_SECTION_SUMMARY_METADATA_KEY, documentSummaries.get(i + 1));
114-
}
115-
if (this.summaryTypes.contains(SummaryType.CURRENT)) {
116-
summaryMetadata.put(SECTION_SUMMARY_METADATA_KEY, documentSummaries.get(i));
117-
}
118-
109+
Map<String, Object> summaryMetadata = getSummaryMetadata(i, documentSummaries);
119110
documents.get(i).getMetadata().putAll(summaryMetadata);
120111
}
121112

122113
return documents;
123114
}
124115

116+
private Map<String, Object> getSummaryMetadata(int i, List<String> documentSummaries) {
117+
Map<String, Object> summaryMetadata = new HashMap<>();
118+
if (i > 0 && this.summaryTypes.contains(SummaryType.PREVIOUS)) {
119+
summaryMetadata.put(PREV_SECTION_SUMMARY_METADATA_KEY, documentSummaries.get(i - 1));
120+
}
121+
if (i < (documentSummaries.size() - 1) && this.summaryTypes.contains(SummaryType.NEXT)) {
122+
summaryMetadata.put(NEXT_SECTION_SUMMARY_METADATA_KEY, documentSummaries.get(i + 1));
123+
}
124+
if (this.summaryTypes.contains(SummaryType.CURRENT)) {
125+
summaryMetadata.put(SECTION_SUMMARY_METADATA_KEY, documentSummaries.get(i));
126+
}
127+
return summaryMetadata;
128+
}
129+
125130
}

0 commit comments

Comments
 (0)