You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by an...@apache.org on 2025/03/07 10:33:57 UTC

(ignite-extensions) 01/01: IGNITE-24729 Spring Data: Fix checkstyle for the module.

This is an automated email from the ASF dual-hosted git repository.

anovikov pushed a commit to branch ignite-24729
in repository https://gitbox.apache.org/repos/asf/ignite-extensions.git

commit 1078f7b907e7650397ec1ab6648525bb0996d012
Author: nva <an...@apache.org>
AuthorDate: Fri Mar 7 17:28:26 2025 +0700

    IGNITE-24729 Spring Data: Fix checkstyle for the module.
---
 .../repository/query/IgniteCustomConversions.java  | 30 +++++++++++++++++-----
 .../repository/query/IgniteRepositoryQuery.java    | 15 +++++++----
 .../support/IgniteRepositoryFactory.java           | 13 +++++-----
 .../IgniteSpringDataConversionsTest.java           | 18 +++++++++++--
 .../CustomConvertersApplicationConfiguration.java  | 12 +++++++--
 .../org/apache/ignite/springdata/misc/Person.java  |  8 +++++-
 .../ignite/springdata/misc/PersonRepository.java   |  1 +
 7 files changed, 74 insertions(+), 23 deletions(-)

diff --git a/modules/spring-data-ext/spring-data/src/main/java/org/apache/ignite/springdata/repository/query/IgniteCustomConversions.java b/modules/spring-data-ext/spring-data/src/main/java/org/apache/ignite/springdata/repository/query/IgniteCustomConversions.java
index c23f7486..060839c1 100644
--- a/modules/spring-data-ext/spring-data/src/main/java/org/apache/ignite/springdata/repository/query/IgniteCustomConversions.java
+++ b/modules/spring-data-ext/spring-data/src/main/java/org/apache/ignite/springdata/repository/query/IgniteCustomConversions.java
@@ -29,8 +29,10 @@ import org.springframework.data.convert.CustomConversions;
 import org.springframework.data.convert.WritingConverter;
 import org.springframework.data.mapping.model.SimpleTypeHolder;
 
+import static java.util.Collections.emptyList;
+
 /**
- * Custom conversions implementation.
+ * Custom conversion implementation.
  * An application can define its own converter by defining the following bean:
  * <pre>
  * {@code
@@ -42,8 +44,8 @@ import org.springframework.data.mapping.model.SimpleTypeHolder;
  * </pre>
  */
 public class IgniteCustomConversions extends CustomConversions {
-
-    private static final StoreConversions STORE_CONVERSIONS;
+    /** Default converters. */
+    private static final StoreConversions DEFAULT_CONVERTERS;
 
     static {
         List<Object> converters = new ArrayList<>();
@@ -51,19 +53,31 @@ public class IgniteCustomConversions extends CustomConversions {
         converters.add(new TimestampToDateConverter());
 
         List<Object> storeConverters = Collections.unmodifiableList(converters);
-        STORE_CONVERSIONS = StoreConversions.of(SimpleTypeHolder.DEFAULT, storeConverters);
+        DEFAULT_CONVERTERS = StoreConversions.of(SimpleTypeHolder.DEFAULT, storeConverters);
     }
 
+    /**
+     * Default constructor.
+     */
     public IgniteCustomConversions() {
-        this(Collections.emptyList());
+        this(emptyList());
     }
 
+    /**
+     * Constructor.
+     *
+     * @param converters Custom converters to register.
+     */
     public IgniteCustomConversions(List<?> converters) {
-        super(STORE_CONVERSIONS, converters);
+        super(DEFAULT_CONVERTERS, converters);
     }
 
+    /**
+     * {@link Timestamp} to {@link LocalDateTime} converter.
+     */
     @WritingConverter
     static class TimestampToLocalDateTimeConverter implements Converter<Timestamp, LocalDateTime> {
+        /** {@inheritDoc} */
         @Override public LocalDateTime convert(Timestamp source) {
             return source.toInstant()
                 .atZone(ZoneId.systemDefault())
@@ -71,8 +85,12 @@ public class IgniteCustomConversions extends CustomConversions {
         }
     }
 
+    /**
+     * {@link Timestamp} to {@link Date} converter.
+     */
     @WritingConverter
     static class TimestampToDateConverter implements Converter<Timestamp, Date> {
+        /** {@inheritDoc} */
         @Override public Date convert(Timestamp source) {
             return new Date((source).getTime());
         }
diff --git a/modules/spring-data-ext/spring-data/src/main/java/org/apache/ignite/springdata/repository/query/IgniteRepositoryQuery.java b/modules/spring-data-ext/spring-data/src/main/java/org/apache/ignite/springdata/repository/query/IgniteRepositoryQuery.java
index 5615890a..d1243126 100644
--- a/modules/spring-data-ext/spring-data/src/main/java/org/apache/ignite/springdata/repository/query/IgniteRepositoryQuery.java
+++ b/modules/spring-data-ext/spring-data/src/main/java/org/apache/ignite/springdata/repository/query/IgniteRepositoryQuery.java
@@ -250,6 +250,7 @@ public class IgniteRepositoryQuery implements RepositoryQuery {
     /** Static query configuration. */
     private final DynamicQueryConfig staticQueryConfiguration;
 
+    /** Conversion service. */
     private final ConversionService conversionService;
 
     /**
@@ -895,12 +896,16 @@ public class IgniteRepositoryQuery implements RepositoryQuery {
         }
     }
 
+    /**
+     * @param source Source object.
+     * @param targetType Target type.
+     * @return Converted object.
+     */
     private <T> T convert(Object source, Class<?> targetType) {
-        if (conversionService.canConvert(source.getClass(), targetType)) {
-            return (T) conversionService.convert(source, targetType);
-        } else {
-            return (T) source;
-        }
+        if (conversionService.canConvert(source.getClass(), targetType))
+            return (T)conversionService.convert(source, targetType);
+
+        return (T)source;
     }
 
     /**
diff --git a/modules/spring-data-ext/spring-data/src/main/java/org/apache/ignite/springdata/repository/support/IgniteRepositoryFactory.java b/modules/spring-data-ext/spring-data/src/main/java/org/apache/ignite/springdata/repository/support/IgniteRepositoryFactory.java
index d4d79661..63e37959 100644
--- a/modules/spring-data-ext/spring-data/src/main/java/org/apache/ignite/springdata/repository/support/IgniteRepositoryFactory.java
+++ b/modules/spring-data-ext/spring-data/src/main/java/org/apache/ignite/springdata/repository/support/IgniteRepositoryFactory.java
@@ -33,7 +33,6 @@ import org.springframework.context.ConfigurableApplicationContext;
 import org.springframework.context.expression.StandardBeanExpressionResolver;
 import org.springframework.core.convert.ConversionService;
 import org.springframework.core.convert.support.DefaultConversionService;
-import org.springframework.core.convert.support.GenericConversionService;
 import org.springframework.data.convert.CustomConversions;
 import org.springframework.data.repository.core.EntityInformation;
 import org.springframework.data.repository.core.RepositoryInformation;
@@ -68,6 +67,7 @@ public class IgniteRepositoryFactory extends RepositoryFactorySupport {
     /** Ignite proxy instance associated with the current repository. */
     private final IgniteProxy ignite;
 
+    /** Conversion service. */
     private final ConversionService conversionService;
 
     /**
@@ -77,7 +77,7 @@ public class IgniteRepositoryFactory extends RepositoryFactorySupport {
     public IgniteRepositoryFactory(ApplicationContext ctx, Class<?> repoInterface) {
         ignite = ctx.getBean(IgniteProxy.class, repoInterface);
 
-        ConfigurableApplicationContext configurableCtx = (ConfigurableApplicationContext) ctx;
+        ConfigurableApplicationContext configurableCtx = (ConfigurableApplicationContext)ctx;
         if (configurableCtx.getBeanNamesForType(CustomConversions.class).length == 0) {
             configurableCtx.getBeanFactory().registerSingleton(CustomConversions.class.getCanonicalName(), new IgniteCustomConversions());
         }
@@ -87,11 +87,10 @@ public class IgniteRepositoryFactory extends RepositoryFactorySupport {
             null);
 
         CustomConversions customConversions = configurableCtx.getBean(CustomConversions.class);
-        DefaultConversionService defaultConversionService = new DefaultConversionService();
-        if (defaultConversionService instanceof GenericConversionService) {
-            customConversions.registerConvertersIn(defaultConversionService);
-        }
-        conversionService = defaultConversionService;
+        DefaultConversionService dfltConversionSrvc = new DefaultConversionService();
+        customConversions.registerConvertersIn(dfltConversionSrvc);
+
+        conversionService = dfltConversionSrvc;
 
         RepositoryConfig cfg = getRepositoryConfiguration(repoInterface);
 
diff --git a/modules/spring-data-ext/spring-data/src/test/java/org/apache/ignite/springdata/IgniteSpringDataConversionsTest.java b/modules/spring-data-ext/spring-data/src/test/java/org/apache/ignite/springdata/IgniteSpringDataConversionsTest.java
index a99463ad..045e704d 100644
--- a/modules/spring-data-ext/spring-data/src/test/java/org/apache/ignite/springdata/IgniteSpringDataConversionsTest.java
+++ b/modules/spring-data-ext/spring-data/src/test/java/org/apache/ignite/springdata/IgniteSpringDataConversionsTest.java
@@ -26,6 +26,9 @@ import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
 import org.junit.Test;
 import org.springframework.context.annotation.AnnotationConfigApplicationContext;
 
+/**
+ * Test for Ignite Spring Data conversions.
+ */
 public class IgniteSpringDataConversionsTest extends GridCommonAbstractTest {
     /** Repository. */
     protected PersonRepository repo;
@@ -33,10 +36,12 @@ public class IgniteSpringDataConversionsTest extends GridCommonAbstractTest {
     /** Context. */
     protected static AnnotationConfigApplicationContext ctx;
 
+    /** {@inheritDoc} */
     @Override protected void beforeTest() {
         ctx = new AnnotationConfigApplicationContext();
     }
 
+    /** */
     @Test
     public void testPutGetWithDefaultConverters() {
         init(ApplicationConfiguration.class);
@@ -46,6 +51,7 @@ public class IgniteSpringDataConversionsTest extends GridCommonAbstractTest {
         assertEquals(person, savePerson(person));
     }
 
+    /** */
     @Test
     public void testPutGetWithCustomConverters() {
         init(CustomConvertersApplicationConfiguration.class);
@@ -55,13 +61,20 @@ public class IgniteSpringDataConversionsTest extends GridCommonAbstractTest {
         assertNull(savePerson(person).getCreatedAt());
     }
 
-    private void init(Class<? extends ApplicationConfiguration> applicationConfiguration) {
-        ctx.register(applicationConfiguration);
+    /**
+     * @param componentClasses Component classes.
+     */
+    private void init(Class<? extends ApplicationConfiguration> componentClasses) {
+        ctx.register(componentClasses);
         ctx.refresh();
 
         repo = ctx.getBean(PersonRepository.class);
     }
 
+    /**
+     * @param person Person to save.
+     * @return Saved person.
+     */
     private Person savePerson(Person person) {
         int id = 1;
 
@@ -71,6 +84,7 @@ public class IgniteSpringDataConversionsTest extends GridCommonAbstractTest {
         return repo.selectByFirstNameWithCreatedAt(person.getFirstName()).get(0);
     }
 
+    /** {@inheritDoc} */
     @Override protected void afterTest() {
         ctx.close();
     }
diff --git a/modules/spring-data-ext/spring-data/src/test/java/org/apache/ignite/springdata/misc/CustomConvertersApplicationConfiguration.java b/modules/spring-data-ext/spring-data/src/test/java/org/apache/ignite/springdata/misc/CustomConvertersApplicationConfiguration.java
index 69faeaff..8ed9507a 100644
--- a/modules/spring-data-ext/spring-data/src/test/java/org/apache/ignite/springdata/misc/CustomConvertersApplicationConfiguration.java
+++ b/modules/spring-data-ext/spring-data/src/test/java/org/apache/ignite/springdata/misc/CustomConvertersApplicationConfiguration.java
@@ -19,22 +19,30 @@ package org.apache.ignite.springdata.misc;
 
 import java.sql.Timestamp;
 import java.time.LocalDateTime;
-import java.util.Arrays;
 import org.apache.ignite.springdata.repository.query.IgniteCustomConversions;
 import org.springframework.context.annotation.Bean;
 import org.springframework.core.convert.converter.Converter;
 import org.springframework.data.convert.CustomConversions;
 
+import static java.util.Collections.singletonList;
+
 /**
  *  Test configuration that overrides default converter for LocalDateTime type.
  */
 public class CustomConvertersApplicationConfiguration extends ApplicationConfiguration {
+    /**
+     * @return Custom conversions bean.
+     */
     @Bean
     public CustomConversions customConversions() {
-        return new IgniteCustomConversions(Arrays.asList(new LocalDateTimeWriteConverter()));
+        return new IgniteCustomConversions(singletonList(new LocalDateTimeWriteConverter()));
     }
 
+    /**
+     * Converter for {@link Timestamp} to {@link LocalDateTime}.
+     */
     static class LocalDateTimeWriteConverter implements Converter<Timestamp, LocalDateTime> {
+        /** {@inheritDoc} */
         @Override public LocalDateTime convert(Timestamp source) {
             return null;
         }
diff --git a/modules/spring-data-ext/spring-data/src/test/java/org/apache/ignite/springdata/misc/Person.java b/modules/spring-data-ext/spring-data/src/test/java/org/apache/ignite/springdata/misc/Person.java
index d810c6bc..98eff8ce 100644
--- a/modules/spring-data-ext/spring-data/src/test/java/org/apache/ignite/springdata/misc/Person.java
+++ b/modules/spring-data-ext/spring-data/src/test/java/org/apache/ignite/springdata/misc/Person.java
@@ -40,6 +40,7 @@ public class Person {
     @QuerySqlField
     private Date birthday;
 
+    /** Created at. */
     @QuerySqlField
     private LocalDateTime createdAt;
 
@@ -53,6 +54,11 @@ public class Person {
         birthday = new Date();
     }
 
+    /**
+     * @param firstName First name.
+     * @param secondName Second name.
+     * @param createdAt Created at.
+     */
     public Person(String firstName, String secondName, LocalDateTime createdAt) {
         this.firstName = firstName;
         this.secondName = secondName;
@@ -123,4 +129,4 @@ public class Person {
     @Override public int hashCode() {
         return Objects.hash(firstName, secondName, birthday);
     }
-}
\ No newline at end of file
+}
diff --git a/modules/spring-data-ext/spring-data/src/test/java/org/apache/ignite/springdata/misc/PersonRepository.java b/modules/spring-data-ext/spring-data/src/test/java/org/apache/ignite/springdata/misc/PersonRepository.java
index 1c180d92..c845bb30 100644
--- a/modules/spring-data-ext/spring-data/src/test/java/org/apache/ignite/springdata/misc/PersonRepository.java
+++ b/modules/spring-data-ext/spring-data/src/test/java/org/apache/ignite/springdata/misc/PersonRepository.java
@@ -120,6 +120,7 @@ public interface PersonRepository extends IgniteRepository<Person, Integer> {
     @Query("SELECT secondName FROM Person WHERE firstName REGEXP ?")
     public List<String> selectField(String val, Pageable pageable);
 
+    /** */
     @Query("SELECT firstName, secondName, birthday, createdAt FROM Person WHERE firstName = ?")
     public List<Person> selectByFirstNameWithCreatedAt(String name);