From aee5232a30d4eb86a5890f79a98e89d9af22fe42 Mon Sep 17 00:00:00 2001 From: Yanming Zhou Date: Fri, 6 Jun 2025 15:34:17 +0800 Subject: [PATCH] Use diamond operator where possible Signed-off-by: Yanming Zhou --- .../properties/McpStdioClientProperties.java | 7 +++---- .../MongoDBAtlasVectorStoreAutoConfiguration.java | 4 ++-- .../pdf/layout/ForkPDFLayoutTextStripper.java | 6 +++--- .../pdf/layout/PDFLayoutTextStripperByArea.java | 12 ++++++------ .../ai/anthropic/EventParsingTests.java | 2 +- .../ai/anthropic/client/AnthropicChatClientIT.java | 4 ++-- .../converse/BedrockConverseChatClientIT.java | 6 +++--- .../ai/huggingface/HuggingfaceChatModel.java | 2 +- .../ai/mistralai/MistralAiChatClientIT.java | 4 ++-- ...hatModelTypeReferenceBeanOutputConverterIT.java | 4 ++-- .../ai/openai/chat/OpenAiPaymentTransactionIT.java | 2 +- .../ai/openai/chat/client/OpenAiChatClientIT.java | 6 +++--- .../ai/chat/client/DefaultChatClient.java | 4 ++-- .../chat/client/ChatClientResponseEntityTests.java | 2 +- .../ai/document/DefaultContentFormatter.java | 6 +++--- .../org/springframework/ai/reader/JsonReader.java | 2 +- .../ai/template/NoOpTemplateRendererTests.java | 2 +- .../ai/chat/model/MessageAggregator.java | 6 +++--- .../springframework/ai/model/EmbeddingUtils.java | 2 +- .../ai/model/ModelOptionsUtils.java | 4 ++-- .../ai/template/st/StTemplateRendererTests.java | 2 +- .../vectorstore/cosmosdb/CosmosDBVectorStore.java | 2 +- .../ai/vectorstore/azure/AzureVectorStore.java | 2 +- .../mongodb/atlas/MongoDBAtlasVectorStoreIT.java | 4 ++-- .../atlas/MongoDbVectorStoreObservationIT.java | 4 ++-- .../ai/vectorstore/pgvector/PgVectorStore.java | 2 +- .../vectorstore/pinecone/PineconeVectorStore.java | 2 +- .../qdrant/QdrantFilterExpressionConverter.java | 14 +++++++------- .../ai/vectorstore/qdrant/QdrantValueFactory.java | 4 ++-- 29 files changed, 61 insertions(+), 62 deletions(-) diff --git a/auto-configurations/mcp/spring-ai-autoconfigure-mcp-client/src/main/java/org/springframework/ai/mcp/client/autoconfigure/properties/McpStdioClientProperties.java b/auto-configurations/mcp/spring-ai-autoconfigure-mcp-client/src/main/java/org/springframework/ai/mcp/client/autoconfigure/properties/McpStdioClientProperties.java index f4d013b7a8f..2b18ce3cda0 100644 --- a/auto-configurations/mcp/spring-ai-autoconfigure-mcp-client/src/main/java/org/springframework/ai/mcp/client/autoconfigure/properties/McpStdioClientProperties.java +++ b/auto-configurations/mcp/spring-ai-autoconfigure-mcp-client/src/main/java/org/springframework/ai/mcp/client/autoconfigure/properties/McpStdioClientProperties.java @@ -75,10 +75,9 @@ public Map getConnections() { private Map resourceToServerParameters() { try { - Map> stdioConnection = new ObjectMapper().readValue( - this.serversConfiguration.getInputStream(), - new TypeReference>>() { - }); + Map> stdioConnection = new ObjectMapper() + .readValue(this.serversConfiguration.getInputStream(), new TypeReference<>() { + }); Map mcpServerJsonConfig = stdioConnection.entrySet().iterator().next().getValue(); diff --git a/auto-configurations/vector-stores/spring-ai-autoconfigure-vector-store-mongodb-atlas/src/main/java/org/springframework/ai/vectorstore/mongodb/autoconfigure/MongoDBAtlasVectorStoreAutoConfiguration.java b/auto-configurations/vector-stores/spring-ai-autoconfigure-vector-store-mongodb-atlas/src/main/java/org/springframework/ai/vectorstore/mongodb/autoconfigure/MongoDBAtlasVectorStoreAutoConfiguration.java index 001e84e927e..2004e57918a 100644 --- a/auto-configurations/vector-stores/spring-ai-autoconfigure-vector-store-mongodb-atlas/src/main/java/org/springframework/ai/vectorstore/mongodb/autoconfigure/MongoDBAtlasVectorStoreAutoConfiguration.java +++ b/auto-configurations/vector-stores/spring-ai-autoconfigure-vector-store-mongodb-atlas/src/main/java/org/springframework/ai/vectorstore/mongodb/autoconfigure/MongoDBAtlasVectorStoreAutoConfiguration.java @@ -91,7 +91,7 @@ MongoDBAtlasVectorStore vectorStore(MongoTemplate mongoTemplate, EmbeddingModel @Bean public Converter mimeTypeToStringConverter() { - return new Converter() { + return new Converter<>() { @Override public String convert(MimeType source) { @@ -102,7 +102,7 @@ public String convert(MimeType source) { @Bean public Converter stringToMimeTypeConverter() { - return new Converter() { + return new Converter<>() { @Override public MimeType convert(String source) { diff --git a/document-readers/pdf-reader/src/main/java/org/springframework/ai/reader/pdf/layout/ForkPDFLayoutTextStripper.java b/document-readers/pdf-reader/src/main/java/org/springframework/ai/reader/pdf/layout/ForkPDFLayoutTextStripper.java index 25903d880e1..6c808317af1 100644 --- a/document-readers/pdf-reader/src/main/java/org/springframework/ai/reader/pdf/layout/ForkPDFLayoutTextStripper.java +++ b/document-readers/pdf-reader/src/main/java/org/springframework/ai/reader/pdf/layout/ForkPDFLayoutTextStripper.java @@ -54,7 +54,7 @@ public class ForkPDFLayoutTextStripper extends PDFTextStripper { public ForkPDFLayoutTextStripper() throws IOException { super(); this.previousTextPosition = null; - this.textLineList = new ArrayList(); + this.textLineList = new ArrayList<>(); } /** @@ -67,7 +67,7 @@ public void processPage(PDPage page) throws IOException { this.setCurrentPageWidth(pageRectangle.getWidth() * 1.4); super.processPage(page); this.previousTextPosition = null; - this.textLineList = new ArrayList(); + this.textLineList = new ArrayList<>(); } } @@ -124,7 +124,7 @@ private void writeLine(final List textPositionList) { } private void iterateThroughTextList(Iterator textIterator) { - List textPositionList = new ArrayList(); + List textPositionList = new ArrayList<>(); while (textIterator.hasNext()) { TextPosition textPosition = (TextPosition) textIterator.next(); diff --git a/document-readers/pdf-reader/src/main/java/org/springframework/ai/reader/pdf/layout/PDFLayoutTextStripperByArea.java b/document-readers/pdf-reader/src/main/java/org/springframework/ai/reader/pdf/layout/PDFLayoutTextStripperByArea.java index a5d39db89a7..74b4b7a03c2 100644 --- a/document-readers/pdf-reader/src/main/java/org/springframework/ai/reader/pdf/layout/PDFLayoutTextStripperByArea.java +++ b/document-readers/pdf-reader/src/main/java/org/springframework/ai/reader/pdf/layout/PDFLayoutTextStripperByArea.java @@ -39,13 +39,13 @@ */ public class PDFLayoutTextStripperByArea extends ForkPDFLayoutTextStripper { - private final List regions = new ArrayList(); + private final List regions = new ArrayList<>(); - private final Map regionArea = new HashMap(); + private final Map regionArea = new HashMap<>(); - private final Map>> regionCharacterList = new HashMap>>(); + private final Map>> regionCharacterList = new HashMap<>(); - private final Map regionText = new HashMap(); + private final Map regionText = new HashMap<>(); /** * Constructor. @@ -113,8 +113,8 @@ public void extractRegions(PDPage page) throws IOException { setStartPage(getCurrentPageNo()); setEndPage(getCurrentPageNo()); // reset the stored text for the region so this class can be reused. - ArrayList> regionCharactersByArticle = new ArrayList>(); - regionCharactersByArticle.add(new ArrayList()); + ArrayList> regionCharactersByArticle = new ArrayList<>(); + regionCharactersByArticle.add(new ArrayList<>()); this.regionCharacterList.put(regionName, regionCharactersByArticle); this.regionText.put(regionName, new StringWriter()); } diff --git a/models/spring-ai-anthropic/src/test/java/org/springframework/ai/anthropic/EventParsingTests.java b/models/spring-ai-anthropic/src/test/java/org/springframework/ai/anthropic/EventParsingTests.java index 9cd11068bfa..56af44b78a5 100644 --- a/models/spring-ai-anthropic/src/test/java/org/springframework/ai/anthropic/EventParsingTests.java +++ b/models/spring-ai-anthropic/src/test/java/org/springframework/ai/anthropic/EventParsingTests.java @@ -44,7 +44,7 @@ public void readEvents() throws IOException { String json = new DefaultResourceLoader().getResource("classpath:/sample_events.json") .getContentAsString(Charset.defaultCharset()); - List events = new ObjectMapper().readerFor(new TypeReference>() { + List events = new ObjectMapper().readerFor(new TypeReference<>() { }).readValue(json); diff --git a/models/spring-ai-anthropic/src/test/java/org/springframework/ai/anthropic/client/AnthropicChatClientIT.java b/models/spring-ai-anthropic/src/test/java/org/springframework/ai/anthropic/client/AnthropicChatClientIT.java index 5bd91be7ebb..569f41ddfd0 100644 --- a/models/spring-ai-anthropic/src/test/java/org/springframework/ai/anthropic/client/AnthropicChatClientIT.java +++ b/models/spring-ai-anthropic/src/test/java/org/springframework/ai/anthropic/client/AnthropicChatClientIT.java @@ -108,7 +108,7 @@ void listOutputConverterBean() { List actorsFilms = ChatClient.create(this.chatModel).prompt() .user("Generate the filmography of 5 movies for Tom Hanks and Bill Murray.") .call() - .entity(new ParameterizedTypeReference>() { + .entity(new ParameterizedTypeReference<>() { }); // @formatter:on @@ -141,7 +141,7 @@ void mapOutputConverter() { .user(u -> u.text("Provide me a List of {subject}") .param("subject", "an array of numbers from 1 to 9 under they key name 'numbers'")) .call() - .entity(new ParameterizedTypeReference>() { + .entity(new ParameterizedTypeReference<>() { }); // @formatter:on diff --git a/models/spring-ai-bedrock-converse/src/test/java/org/springframework/ai/bedrock/converse/BedrockConverseChatClientIT.java b/models/spring-ai-bedrock-converse/src/test/java/org/springframework/ai/bedrock/converse/BedrockConverseChatClientIT.java index 2c90d25be0e..f6c7733a431 100644 --- a/models/spring-ai-bedrock-converse/src/test/java/org/springframework/ai/bedrock/converse/BedrockConverseChatClientIT.java +++ b/models/spring-ai-bedrock-converse/src/test/java/org/springframework/ai/bedrock/converse/BedrockConverseChatClientIT.java @@ -88,7 +88,7 @@ void listOutputConverterString() { .user(u -> u.text("List five {subject}") .param("subject", "ice cream flavors")) .call() - .entity(new ParameterizedTypeReference>() { }); + .entity(new ParameterizedTypeReference<>() { }); // @formatter:on logger.info(collection.toString()); @@ -102,7 +102,7 @@ void listOutputConverterBean() { List actorsFilms = ChatClient.create(this.chatModel).prompt() .user("Generate the filmography of 5 movies for Tom Hanks and Bill Murray.") .call() - .entity(new ParameterizedTypeReference>() { + .entity(new ParameterizedTypeReference<>() { }); // @formatter:on @@ -135,7 +135,7 @@ void mapOutputConverter() { .user(u -> u.text("Provide me a List of {subject}") .param("subject", "an array of numbers from 1 to 9 under they key name 'numbers'")) .call() - .entity(new ParameterizedTypeReference>() { + .entity(new ParameterizedTypeReference<>() { }); // @formatter:on diff --git a/models/spring-ai-huggingface/src/main/java/org/springframework/ai/huggingface/HuggingfaceChatModel.java b/models/spring-ai-huggingface/src/main/java/org/springframework/ai/huggingface/HuggingfaceChatModel.java index 5546b4c54d2..01762f50949 100644 --- a/models/spring-ai-huggingface/src/main/java/org/springframework/ai/huggingface/HuggingfaceChatModel.java +++ b/models/spring-ai-huggingface/src/main/java/org/springframework/ai/huggingface/HuggingfaceChatModel.java @@ -101,7 +101,7 @@ public ChatResponse call(Prompt prompt) { String generatedText = generateResponse.getGeneratedText(); AllOfGenerateResponseDetails allOfGenerateResponseDetails = generateResponse.getDetails(); Map detailsMap = this.objectMapper.convertValue(allOfGenerateResponseDetails, - new TypeReference>() { + new TypeReference<>() { }); Generation generation = new Generation(new AssistantMessage(generatedText, detailsMap)); diff --git a/models/spring-ai-mistral-ai/src/test/java/org/springframework/ai/mistralai/MistralAiChatClientIT.java b/models/spring-ai-mistral-ai/src/test/java/org/springframework/ai/mistralai/MistralAiChatClientIT.java index 47971707e64..a02bc33cd84 100644 --- a/models/spring-ai-mistral-ai/src/test/java/org/springframework/ai/mistralai/MistralAiChatClientIT.java +++ b/models/spring-ai-mistral-ai/src/test/java/org/springframework/ai/mistralai/MistralAiChatClientIT.java @@ -123,7 +123,7 @@ void listOutputConverterBean() { List actorsFilms = ChatClient.create(this.chatModel).prompt() .user("Generate the filmography of 5 movies for Tom Hanks and Bill Murray.") .call() - .entity(new ParameterizedTypeReference>() { + .entity(new ParameterizedTypeReference<>() { }); // @formatter:on @@ -156,7 +156,7 @@ void mapOutputConverter() { .user(u -> u.text("Provide me a List of {subject}") .param("subject", "an array of numbers from 1 to 9 under they key name 'numbers'")) .call() - .entity(new ParameterizedTypeReference>() { + .entity(new ParameterizedTypeReference<>() { }); // @formatter:on diff --git a/models/spring-ai-openai/src/test/java/org/springframework/ai/openai/chat/OpenAiChatModelTypeReferenceBeanOutputConverterIT.java b/models/spring-ai-openai/src/test/java/org/springframework/ai/openai/chat/OpenAiChatModelTypeReferenceBeanOutputConverterIT.java index 239b281f3ca..2e2a25374f2 100644 --- a/models/spring-ai-openai/src/test/java/org/springframework/ai/openai/chat/OpenAiChatModelTypeReferenceBeanOutputConverterIT.java +++ b/models/spring-ai-openai/src/test/java/org/springframework/ai/openai/chat/OpenAiChatModelTypeReferenceBeanOutputConverterIT.java @@ -49,7 +49,7 @@ class OpenAiChatModelTypeReferenceBeanOutputConverterIT extends AbstractIT { void typeRefOutputConverterRecords() { BeanOutputConverter> outputConverter = new BeanOutputConverter<>( - new ParameterizedTypeReference>() { + new ParameterizedTypeReference<>() { }); @@ -78,7 +78,7 @@ void typeRefOutputConverterRecords() { void typeRefStreamOutputConverterRecords() { BeanOutputConverter> outputConverter = new BeanOutputConverter<>( - new ParameterizedTypeReference>() { + new ParameterizedTypeReference<>() { }); diff --git a/models/spring-ai-openai/src/test/java/org/springframework/ai/openai/chat/OpenAiPaymentTransactionIT.java b/models/spring-ai-openai/src/test/java/org/springframework/ai/openai/chat/OpenAiPaymentTransactionIT.java index d2cee2e2eae..d4435c105de 100644 --- a/models/spring-ai-openai/src/test/java/org/springframework/ai/openai/chat/OpenAiPaymentTransactionIT.java +++ b/models/spring-ai-openai/src/test/java/org/springframework/ai/openai/chat/OpenAiPaymentTransactionIT.java @@ -85,7 +85,7 @@ public void transactionPaymentStatuses(String functionName) { What is the status of my payment transactions 001, 002 and 003? """) .call() - .entity(new ParameterizedTypeReference>() { + .entity(new ParameterizedTypeReference<>() { }); diff --git a/models/spring-ai-openai/src/test/java/org/springframework/ai/openai/chat/client/OpenAiChatClientIT.java b/models/spring-ai-openai/src/test/java/org/springframework/ai/openai/chat/client/OpenAiChatClientIT.java index 66d6011e203..f98da332ba0 100644 --- a/models/spring-ai-openai/src/test/java/org/springframework/ai/openai/chat/client/OpenAiChatClientIT.java +++ b/models/spring-ai-openai/src/test/java/org/springframework/ai/openai/chat/client/OpenAiChatClientIT.java @@ -125,7 +125,7 @@ void listOutputConverterString() { .user(u -> u.text("List five {subject}") .param("subject", "ice cream flavors")) .call() - .entity(new ParameterizedTypeReference>() { + .entity(new ParameterizedTypeReference<>() { }); // @formatter:on @@ -140,7 +140,7 @@ void listOutputConverterBean() { List actorsFilms = ChatClient.create(this.chatModel).prompt() .user("Generate the filmography of 5 movies for Tom Hanks and Bill Murray.") .call() - .entity(new ParameterizedTypeReference>() { + .entity(new ParameterizedTypeReference<>() { }); // @formatter:on @@ -173,7 +173,7 @@ void mapOutputConverter() { .user(u -> u.text("Provide me a List of {subject}") .param("subject", "an array of numbers from 1 to 9 under they key name 'numbers'")) .call() - .entity(new ParameterizedTypeReference>() { + .entity(new ParameterizedTypeReference<>() { }); // @formatter:on diff --git a/spring-ai-client-chat/src/main/java/org/springframework/ai/chat/client/DefaultChatClient.java b/spring-ai-client-chat/src/main/java/org/springframework/ai/chat/client/DefaultChatClient.java index f5a1e8cd11a..54b489cbc6e 100644 --- a/spring-ai-client-chat/src/main/java/org/springframework/ai/chat/client/DefaultChatClient.java +++ b/spring-ai-client-chat/src/main/java/org/springframework/ai/chat/client/DefaultChatClient.java @@ -363,13 +363,13 @@ public DefaultCallResponseSpec(ChatClientRequest chatClientRequest, BaseAdvisorC @Override public ResponseEntity responseEntity(Class type) { Assert.notNull(type, "type cannot be null"); - return doResponseEntity(new BeanOutputConverter(type)); + return doResponseEntity(new BeanOutputConverter<>(type)); } @Override public ResponseEntity responseEntity(ParameterizedTypeReference type) { Assert.notNull(type, "type cannot be null"); - return doResponseEntity(new BeanOutputConverter(type)); + return doResponseEntity(new BeanOutputConverter<>(type)); } @Override diff --git a/spring-ai-client-chat/src/test/java/org/springframework/ai/chat/client/ChatClientResponseEntityTests.java b/spring-ai-client-chat/src/test/java/org/springframework/ai/chat/client/ChatClientResponseEntityTests.java index 07fb07d34cd..e7f381267e8 100644 --- a/spring-ai-client-chat/src/test/java/org/springframework/ai/chat/client/ChatClientResponseEntityTests.java +++ b/spring-ai-client-chat/src/test/java/org/springframework/ai/chat/client/ChatClientResponseEntityTests.java @@ -98,7 +98,7 @@ public void parametrizedResponseEntityTest() { .prompt() .user("Tell me about them") .call() - .responseEntity(new ParameterizedTypeReference>() { + .responseEntity(new ParameterizedTypeReference<>() { }); diff --git a/spring-ai-commons/src/main/java/org/springframework/ai/document/DefaultContentFormatter.java b/spring-ai-commons/src/main/java/org/springframework/ai/document/DefaultContentFormatter.java index ff8076fc296..f62bc471035 100644 --- a/spring-ai-commons/src/main/java/org/springframework/ai/document/DefaultContentFormatter.java +++ b/spring-ai-commons/src/main/java/org/springframework/ai/document/DefaultContentFormatter.java @@ -124,10 +124,10 @@ public String format(Document document, MetadataMode metadataMode) { protected Map metadataFilter(Map metadata, MetadataMode metadataMode) { if (metadataMode == MetadataMode.ALL) { - return new HashMap(metadata); + return new HashMap<>(metadata); } if (metadataMode == MetadataMode.NONE) { - return new HashMap(Collections.emptyMap()); + return new HashMap<>(Collections.emptyMap()); } Set usableMetadataKeys = new HashSet<>(metadata.keySet()); @@ -139,7 +139,7 @@ else if (metadataMode == MetadataMode.EMBED) { usableMetadataKeys.removeAll(this.excludedEmbedMetadataKeys); } - return new HashMap(metadata.entrySet() + return new HashMap<>(metadata.entrySet() .stream() .filter(e -> usableMetadataKeys.contains(e.getKey())) .collect(Collectors.toMap(e -> e.getKey(), e -> e.getValue()))); diff --git a/spring-ai-commons/src/main/java/org/springframework/ai/reader/JsonReader.java b/spring-ai-commons/src/main/java/org/springframework/ai/reader/JsonReader.java index 2ea446400b8..680798209e5 100644 --- a/spring-ai-commons/src/main/java/org/springframework/ai/reader/JsonReader.java +++ b/spring-ai-commons/src/main/java/org/springframework/ai/reader/JsonReader.java @@ -90,7 +90,7 @@ public List get() { } private Document parseJsonNode(JsonNode jsonNode, ObjectMapper objectMapper) { - Map item = objectMapper.convertValue(jsonNode, new TypeReference>() { + Map item = objectMapper.convertValue(jsonNode, new TypeReference<>() { }); var sb = new StringBuilder(); diff --git a/spring-ai-commons/src/test/java/org/springframework/ai/template/NoOpTemplateRendererTests.java b/spring-ai-commons/src/test/java/org/springframework/ai/template/NoOpTemplateRendererTests.java index caea33f01a8..94dd4010a30 100644 --- a/spring-ai-commons/src/test/java/org/springframework/ai/template/NoOpTemplateRendererTests.java +++ b/spring-ai-commons/src/test/java/org/springframework/ai/template/NoOpTemplateRendererTests.java @@ -86,7 +86,7 @@ void shouldNotAcceptNullVariables() { void shouldNotAcceptVariablesWithNullKeySet() { NoOpTemplateRenderer renderer = new NoOpTemplateRenderer(); String template = "Hello!"; - Map variables = new HashMap(); + Map variables = new HashMap<>(); variables.put(null, "Spring AI"); assertThatThrownBy(() -> renderer.apply(template, variables)).isInstanceOf(IllegalArgumentException.class) diff --git a/spring-ai-model/src/main/java/org/springframework/ai/chat/model/MessageAggregator.java b/spring-ai-model/src/main/java/org/springframework/ai/chat/model/MessageAggregator.java index 839d99e23d8..105f89c1c3b 100644 --- a/spring-ai-model/src/main/java/org/springframework/ai/chat/model/MessageAggregator.java +++ b/spring-ai-model/src/main/java/org/springframework/ai/chat/model/MessageAggregator.java @@ -60,9 +60,9 @@ public Flux aggregate(Flux fluxChatResponse, ChatGenerationMetadata.NULL); // Usage - AtomicReference metadataUsagePromptTokensRef = new AtomicReference(0); - AtomicReference metadataUsageGenerationTokensRef = new AtomicReference(0); - AtomicReference metadataUsageTotalTokensRef = new AtomicReference(0); + AtomicReference metadataUsagePromptTokensRef = new AtomicReference<>(0); + AtomicReference metadataUsageGenerationTokensRef = new AtomicReference<>(0); + AtomicReference metadataUsageTotalTokensRef = new AtomicReference<>(0); AtomicReference metadataPromptMetadataRef = new AtomicReference<>(PromptMetadata.empty()); AtomicReference metadataRateLimitRef = new AtomicReference<>(new EmptyRateLimit()); diff --git a/spring-ai-model/src/main/java/org/springframework/ai/model/EmbeddingUtils.java b/spring-ai-model/src/main/java/org/springframework/ai/model/EmbeddingUtils.java index 2ff3339e459..79683df1e64 100644 --- a/spring-ai-model/src/main/java/org/springframework/ai/model/EmbeddingUtils.java +++ b/spring-ai-model/src/main/java/org/springframework/ai/model/EmbeddingUtils.java @@ -72,7 +72,7 @@ public static Float[] toFloatArray(final float[] array) { public static List toList(float[] floats) { - List output = new ArrayList(); + List output = new ArrayList<>(); for (float value : floats) { output.add(value); } diff --git a/spring-ai-model/src/main/java/org/springframework/ai/model/ModelOptionsUtils.java b/spring-ai-model/src/main/java/org/springframework/ai/model/ModelOptionsUtils.java index 0ace8cc5800..cbb944c0de8 100644 --- a/spring-ai-model/src/main/java/org/springframework/ai/model/ModelOptionsUtils.java +++ b/spring-ai-model/src/main/java/org/springframework/ai/model/ModelOptionsUtils.java @@ -74,11 +74,11 @@ public abstract class ModelOptionsUtils { private static final List BEAN_MERGE_FIELD_EXCISIONS = List.of("class"); - private static final ConcurrentHashMap, List> REQUEST_FIELD_NAMES_PER_CLASS = new ConcurrentHashMap, List>(); + private static final ConcurrentHashMap, List> REQUEST_FIELD_NAMES_PER_CLASS = new ConcurrentHashMap<>(); private static final AtomicReference SCHEMA_GENERATOR_CACHE = new AtomicReference<>(); - private static TypeReference> MAP_TYPE_REF = new TypeReference>() { + private static TypeReference> MAP_TYPE_REF = new TypeReference<>() { }; diff --git a/spring-ai-template-st/src/test/java/org/springframework/ai/template/st/StTemplateRendererTests.java b/spring-ai-template-st/src/test/java/org/springframework/ai/template/st/StTemplateRendererTests.java index 4d4e979e869..1dd548c5c0e 100644 --- a/spring-ai-template-st/src/test/java/org/springframework/ai/template/st/StTemplateRendererTests.java +++ b/spring-ai-template-st/src/test/java/org/springframework/ai/template/st/StTemplateRendererTests.java @@ -94,7 +94,7 @@ void shouldNotAcceptNullVariables() { void shouldNotAcceptVariablesWithNullKeySet() { StTemplateRenderer renderer = StTemplateRenderer.builder().build(); String template = "Hello!"; - Map variables = new HashMap(); + Map variables = new HashMap<>(); variables.put(null, "Spring AI"); assertThatThrownBy(() -> renderer.apply(template, variables)).isInstanceOf(IllegalArgumentException.class) diff --git a/vector-stores/spring-ai-azure-cosmos-db-store/src/main/java/org/springframework/ai/vectorstore/cosmosdb/CosmosDBVectorStore.java b/vector-stores/spring-ai-azure-cosmos-db-store/src/main/java/org/springframework/ai/vectorstore/cosmosdb/CosmosDBVectorStore.java index ca2a817001a..7cd46a77604 100644 --- a/vector-stores/spring-ai-azure-cosmos-db-store/src/main/java/org/springframework/ai/vectorstore/cosmosdb/CosmosDBVectorStore.java +++ b/vector-stores/spring-ai-azure-cosmos-db-store/src/main/java/org/springframework/ai/vectorstore/cosmosdb/CosmosDBVectorStore.java @@ -151,7 +151,7 @@ private void initializeContainer(String containerName, String databaseName, int // handle hierarchical partition key PartitionKeyDefinition subPartitionKeyDefinition = new PartitionKeyDefinition(); - List pathsFromCommaSeparatedList = new ArrayList(); + List pathsFromCommaSeparatedList = new ArrayList<>(); String[] subPartitionKeyPaths = partitionKeyPath.split(","); Collections.addAll(pathsFromCommaSeparatedList, subPartitionKeyPaths); if (subPartitionKeyPaths.length > 1) { diff --git a/vector-stores/spring-ai-azure-store/src/main/java/org/springframework/ai/vectorstore/azure/AzureVectorStore.java b/vector-stores/spring-ai-azure-store/src/main/java/org/springframework/ai/vectorstore/azure/AzureVectorStore.java index 0f86bd10c9f..d1059711985 100644 --- a/vector-stores/spring-ai-azure-store/src/main/java/org/springframework/ai/vectorstore/azure/AzureVectorStore.java +++ b/vector-stores/spring-ai-azure-store/src/main/java/org/springframework/ai/vectorstore/azure/AzureVectorStore.java @@ -240,7 +240,7 @@ public List doSimilaritySearch(SearchRequest request) { final AzureSearchDocument entry = result.getDocument(AzureSearchDocument.class); Map metadata = (StringUtils.hasText(entry.metadata())) - ? JSONObject.parseObject(entry.metadata(), new TypeReference>() { + ? JSONObject.parseObject(entry.metadata(), new TypeReference<>() { }) : Map.of(); diff --git a/vector-stores/spring-ai-mongodb-atlas-store/src/test/java/org/springframework/ai/vectorstore/mongodb/atlas/MongoDBAtlasVectorStoreIT.java b/vector-stores/spring-ai-mongodb-atlas-store/src/test/java/org/springframework/ai/vectorstore/mongodb/atlas/MongoDBAtlasVectorStoreIT.java index 1f61bdf09ad..7d9cd22fec0 100644 --- a/vector-stores/spring-ai-mongodb-atlas-store/src/test/java/org/springframework/ai/vectorstore/mongodb/atlas/MongoDBAtlasVectorStoreIT.java +++ b/vector-stores/spring-ai-mongodb-atlas-store/src/test/java/org/springframework/ai/vectorstore/mongodb/atlas/MongoDBAtlasVectorStoreIT.java @@ -350,7 +350,7 @@ public EmbeddingModel embeddingModel() { @Bean public Converter mimeTypeToStringConverter() { - return new Converter() { + return new Converter<>() { @Override public String convert(MimeType source) { @@ -361,7 +361,7 @@ public String convert(MimeType source) { @Bean public Converter stringToMimeTypeConverter() { - return new Converter() { + return new Converter<>() { @Override public MimeType convert(String source) { diff --git a/vector-stores/spring-ai-mongodb-atlas-store/src/test/java/org/springframework/ai/vectorstore/mongodb/atlas/MongoDbVectorStoreObservationIT.java b/vector-stores/spring-ai-mongodb-atlas-store/src/test/java/org/springframework/ai/vectorstore/mongodb/atlas/MongoDbVectorStoreObservationIT.java index 20bf3db36b7..d116081314d 100644 --- a/vector-stores/spring-ai-mongodb-atlas-store/src/test/java/org/springframework/ai/vectorstore/mongodb/atlas/MongoDbVectorStoreObservationIT.java +++ b/vector-stores/spring-ai-mongodb-atlas-store/src/test/java/org/springframework/ai/vectorstore/mongodb/atlas/MongoDbVectorStoreObservationIT.java @@ -214,7 +214,7 @@ public EmbeddingModel embeddingModel() { @Bean public Converter mimeTypeToStringConverter() { - return new Converter() { + return new Converter<>() { @Override public String convert(MimeType source) { @@ -225,7 +225,7 @@ public String convert(MimeType source) { @Bean public Converter stringToMimeTypeConverter() { - return new Converter() { + return new Converter<>() { @Override public MimeType convert(String source) { diff --git a/vector-stores/spring-ai-pgvector-store/src/main/java/org/springframework/ai/vectorstore/pgvector/PgVectorStore.java b/vector-stores/spring-ai-pgvector-store/src/main/java/org/springframework/ai/vectorstore/pgvector/PgVectorStore.java index cc69b06ab45..21268ca958a 100644 --- a/vector-stores/spring-ai-pgvector-store/src/main/java/org/springframework/ai/vectorstore/pgvector/PgVectorStore.java +++ b/vector-stores/spring-ai-pgvector-store/src/main/java/org/springframework/ai/vectorstore/pgvector/PgVectorStore.java @@ -378,7 +378,7 @@ public List doSimilaritySearch(SearchRequest request) { public List embeddingDistance(String query) { return this.jdbcTemplate.query( "SELECT embedding " + this.comparisonOperator() + " ? AS distance FROM " + getFullyQualifiedTableName(), - new RowMapper() { + new RowMapper<>() { @Override public Double mapRow(ResultSet rs, int rowNum) throws SQLException { diff --git a/vector-stores/spring-ai-pinecone-store/src/main/java/org/springframework/ai/vectorstore/pinecone/PineconeVectorStore.java b/vector-stores/spring-ai-pinecone-store/src/main/java/org/springframework/ai/vectorstore/pinecone/PineconeVectorStore.java index 0f21192686e..b77d9b9b11e 100644 --- a/vector-stores/spring-ai-pinecone-store/src/main/java/org/springframework/ai/vectorstore/pinecone/PineconeVectorStore.java +++ b/vector-stores/spring-ai-pinecone-store/src/main/java/org/springframework/ai/vectorstore/pinecone/PineconeVectorStore.java @@ -301,7 +301,7 @@ private Struct metadataFiltersToStruct(String metadataFilters) { private Map extractMetadata(Struct metadataStruct) { try { String json = JsonFormat.printer().print(metadataStruct); - Map metadata = this.objectMapper.readValue(json, new TypeReference>() { + Map metadata = this.objectMapper.readValue(json, new TypeReference<>() { }); metadata.remove(this.pineconeContentFieldName); diff --git a/vector-stores/spring-ai-qdrant-store/src/main/java/org/springframework/ai/vectorstore/qdrant/QdrantFilterExpressionConverter.java b/vector-stores/spring-ai-qdrant-store/src/main/java/org/springframework/ai/vectorstore/qdrant/QdrantFilterExpressionConverter.java index 944b67ede7d..ab668a40276 100644 --- a/vector-stores/spring-ai-qdrant-store/src/main/java/org/springframework/ai/vectorstore/qdrant/QdrantFilterExpressionConverter.java +++ b/vector-stores/spring-ai-qdrant-store/src/main/java/org/springframework/ai/vectorstore/qdrant/QdrantFilterExpressionConverter.java @@ -42,9 +42,9 @@ public Filter convertExpression(Expression expression) { protected Filter convertOperand(Operand operand) { var context = Filter.newBuilder(); - List mustClauses = new ArrayList(); - List shouldClauses = new ArrayList(); - List mustNotClauses = new ArrayList(); + List mustClauses = new ArrayList<>(); + List shouldClauses = new ArrayList<>(); + List mustNotClauses = new ArrayList<>(); if (operand instanceof Expression expression) { if (expression.type() == ExpressionType.NOT && expression.left() instanceof Group group) { @@ -173,7 +173,7 @@ protected Condition buildInCondition(Key key, Value value) { if (firstValue instanceof String) { // If the first value is a string, then all values should be strings - List stringValues = new ArrayList(); + List stringValues = new ArrayList<>(); for (Object valueObj : valueList) { stringValues.add(valueObj.toString()); } @@ -181,7 +181,7 @@ protected Condition buildInCondition(Key key, Value value) { } else if (firstValue instanceof Number) { // If the first value is a number, then all values should be numbers - List longValues = new ArrayList(); + List longValues = new ArrayList<>(); for (Object valueObj : valueList) { Long longValue = Long.parseLong(valueObj.toString()); longValues.add(longValue); @@ -204,7 +204,7 @@ protected Condition buildNInCondition(Key key, Value value) { if (firstValue instanceof String) { // If the first value is a string, then all values should be strings - List stringValues = new ArrayList(); + List stringValues = new ArrayList<>(); for (Object valueObj : valueList) { stringValues.add(valueObj.toString()); } @@ -212,7 +212,7 @@ protected Condition buildNInCondition(Key key, Value value) { } else if (firstValue instanceof Number) { // If the first value is a number, then all values should be numbers - List longValues = new ArrayList(); + List longValues = new ArrayList<>(); for (Object valueObj : valueList) { Long longValue = Long.parseLong(valueObj.toString()); longValues.add(longValue); diff --git a/vector-stores/spring-ai-qdrant-store/src/main/java/org/springframework/ai/vectorstore/qdrant/QdrantValueFactory.java b/vector-stores/spring-ai-qdrant-store/src/main/java/org/springframework/ai/vectorstore/qdrant/QdrantValueFactory.java index b328f418985..98b0a4893f8 100644 --- a/vector-stores/spring-ai-qdrant-store/src/main/java/org/springframework/ai/vectorstore/qdrant/QdrantValueFactory.java +++ b/vector-stores/spring-ai-qdrant-store/src/main/java/org/springframework/ai/vectorstore/qdrant/QdrantValueFactory.java @@ -87,7 +87,7 @@ private static Value value(Object value) { } private static Value value(List elements) { - List values = new ArrayList(elements.size()); + List values = new ArrayList<>(elements.size()); for (Object element : elements) { values.add(value(element)); @@ -97,7 +97,7 @@ private static Value value(List elements) { } private static Value value(Object[] elements) { - List values = new ArrayList(elements.length); + List values = new ArrayList<>(elements.length); for (Object element : elements) { values.add(value(element));