Repository: ignite Updated Branches: refs/heads/ignite-2.0 5ef610c07 -> 9649733ce
IGNITE-5036: @QuerySqlField and @QueryTextField can no longer be applied to methods. This closes #1863. Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/9649733c Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/9649733c Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/9649733c Branch: refs/heads/ignite-2.0 Commit: 9649733ce561166e308b53393e252d7efa087964 Parents: 5ef610c Author: tledkov-gridgain <[email protected]> Authored: Tue Apr 25 17:34:05 2017 +0300 Committer: devozerov <[email protected]> Committed: Tue Apr 25 17:34:05 2017 +0300 ---------------------------------------------------------------------- .../examples/IndexingBridgeMethodTest.java | 93 -------------------- .../IgniteExamplesJ8SelfTestSuite.java | 2 - .../cassandra/common/PropertyMappingHelper.java | 21 +---- .../persistence/KeyPersistenceSettings.java | 18 ++-- .../store/cassandra/persistence/PojoField.java | 21 +---- .../cassandra/persistence/PojoKeyField.java | 7 -- .../cassandra/persistence/PojoValueField.java | 6 -- .../persistence/ValuePersistenceSettings.java | 12 ++- .../org/apache/ignite/tests/pojos/Person.java | 10 ++- .../org/apache/ignite/tests/pojos/Product.java | 7 -- .../apache/ignite/tests/pojos/ProductOrder.java | 8 -- .../internal/jdbc2/JdbcResultSetSelfTest.java | 2 +- .../cache/query/annotations/QuerySqlField.java | 2 +- .../cache/query/annotations/QueryTextField.java | 4 +- .../configuration/CacheConfiguration.java | 26 ------ .../cache/GridCacheQueryTestValue.java | 2 +- .../IgniteCacheAbstractFieldsQuerySelfTest.java | 29 +----- .../cache/IgniteCacheDistributedJoinTest.java | 6 +- 18 files changed, 30 insertions(+), 246 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/9649733c/examples/src/test/java8/org/apache/ignite/java8/examples/IndexingBridgeMethodTest.java ---------------------------------------------------------------------- diff --git a/examples/src/test/java8/org/apache/ignite/java8/examples/IndexingBridgeMethodTest.java b/examples/src/test/java8/org/apache/ignite/java8/examples/IndexingBridgeMethodTest.java deleted file mode 100644 index 2837ed6..0000000 --- a/examples/src/test/java8/org/apache/ignite/java8/examples/IndexingBridgeMethodTest.java +++ /dev/null @@ -1,93 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.ignite.java8.examples; - - -import org.apache.ignite.Ignite; -import org.apache.ignite.IgniteCache; -import org.apache.ignite.cache.query.SqlFieldsQuery; -import org.apache.ignite.cache.query.annotations.QuerySqlField; -import org.apache.ignite.configuration.CacheConfiguration; -import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest; - -/** - * Test covering bridge methods changes in Java 8. - */ -public class IndexingBridgeMethodTest extends GridCommonAbstractTest { - /** - * @throws Exception If failed. - */ - public void testBridgeMethod() throws Exception { - Ignite ignite = startGrid(); - - CacheConfiguration<Integer, MyType> ccfg = new CacheConfiguration<>(); - - ccfg.setName("mytype"); - ccfg.setIndexedTypes(Integer.class, MyType.class); - - IgniteCache<Integer,MyType> c = ignite.getOrCreateCache(ccfg); - - for (int i = 0; i < 100; i++) - c.put(i, new MyType(i)); - - assertEquals(100L, c.query(new SqlFieldsQuery( - "select count(*) from MyType")).getAll().get(0).get(0)); - assertEquals(15, c.query(new SqlFieldsQuery( - "select id from MyType where _key = 15")).getAll().get(0).get(0)); - assertEquals(25, c.query(new SqlFieldsQuery( - "select _key from MyType where id = 25")).getAll().get(0).get(0)); - } - - /** {@inheritDoc} */ - @Override protected void afterTestsStopped() throws Exception { - stopAllGrids(); - } - - /** - * Classes implementing this method, will have bridge method. - */ - private static interface HasId<T extends Number> { - /** - * @return ID. - */ - public T getId(); - } - - /** - * - */ - private static class MyType implements HasId<Integer> { - /** */ - private int id; - - /** - * @param id Id. - */ - private MyType(int id) { - this.id = id; - } - - /** - * @return ID. - */ - @QuerySqlField(index = true) - @Override public Integer getId() { - return id; - } - } -} http://git-wip-us.apache.org/repos/asf/ignite/blob/9649733c/examples/src/test/java8/org/apache/ignite/java8/testsuites/IgniteExamplesJ8SelfTestSuite.java ---------------------------------------------------------------------- diff --git a/examples/src/test/java8/org/apache/ignite/java8/testsuites/IgniteExamplesJ8SelfTestSuite.java b/examples/src/test/java8/org/apache/ignite/java8/testsuites/IgniteExamplesJ8SelfTestSuite.java index 7b62ea8..9a5f36a 100644 --- a/examples/src/test/java8/org/apache/ignite/java8/testsuites/IgniteExamplesJ8SelfTestSuite.java +++ b/examples/src/test/java8/org/apache/ignite/java8/testsuites/IgniteExamplesJ8SelfTestSuite.java @@ -24,7 +24,6 @@ import org.apache.ignite.java8.examples.CacheExamplesMultiNodeSelfTest; import org.apache.ignite.java8.examples.CacheExamplesSelfTest; import org.apache.ignite.java8.examples.EventsExamplesMultiNodeSelfTest; import org.apache.ignite.java8.examples.EventsExamplesSelfTest; -import org.apache.ignite.java8.examples.IndexingBridgeMethodTest; import org.apache.ignite.java8.examples.MessagingExamplesSelfTest; import org.apache.ignite.testframework.GridTestUtils; @@ -46,7 +45,6 @@ public class IgniteExamplesJ8SelfTestSuite extends TestSuite { TestSuite suite = new TestSuite("Ignite Examples Test Suite"); - suite.addTest(new TestSuite(IndexingBridgeMethodTest.class)); suite.addTest(new TestSuite(CacheExamplesSelfTest.class)); suite.addTest(new TestSuite(BasicExamplesSelfTest.class)); http://git-wip-us.apache.org/repos/asf/ignite/blob/9649733c/modules/cassandra/store/src/main/java/org/apache/ignite/cache/store/cassandra/common/PropertyMappingHelper.java ---------------------------------------------------------------------- diff --git a/modules/cassandra/store/src/main/java/org/apache/ignite/cache/store/cassandra/common/PropertyMappingHelper.java b/modules/cassandra/store/src/main/java/org/apache/ignite/cache/store/cassandra/common/PropertyMappingHelper.java index 64b784b..cb89bf0 100644 --- a/modules/cassandra/store/src/main/java/org/apache/ignite/cache/store/cassandra/common/PropertyMappingHelper.java +++ b/modules/cassandra/store/src/main/java/org/apache/ignite/cache/store/cassandra/common/PropertyMappingHelper.java @@ -20,7 +20,6 @@ package org.apache.ignite.cache.store.cassandra.common; import com.datastax.driver.core.DataType; import com.datastax.driver.core.Row; import java.beans.PropertyDescriptor; -import java.lang.annotation.Annotation; import java.math.BigDecimal; import java.math.BigInteger; import java.net.InetAddress; @@ -103,25 +102,12 @@ public class PropertyMappingHelper { * Extracts all property descriptors from a class. * * @param clazz class which property descriptors should be extracted. - * @param primitive boolean flag indicating that only property descriptors for primitive properties should be extracted. + * @param primitive boolean flag indicating that only property descriptors for primitive properties + * should be extracted. * * @return list of class property descriptors */ public static List<PropertyDescriptor> getPojoPropertyDescriptors(Class clazz, boolean primitive) { - return getPojoPropertyDescriptors(clazz, null, primitive); - } - - /** - * Extracts all property descriptors having specific annotation from a class. - * - * @param clazz class which property descriptors should be extracted. - * @param annotation annotation to look for. - * @param primitive boolean flag indicating that only property descriptors for primitive properties should be extracted. - * - * @return list of class property descriptors - */ - public static <T extends Annotation> List<PropertyDescriptor> getPojoPropertyDescriptors(Class clazz, - Class<T> annotation, boolean primitive) { PropertyDescriptor[] descriptors = PropertyUtils.getPropertyDescriptors(clazz); List<PropertyDescriptor> list = new ArrayList<>(descriptors == null ? 1 : descriptors.length); @@ -133,8 +119,7 @@ public class PropertyMappingHelper { if (descriptor.getReadMethod() == null || (primitive && !isPrimitivePropertyDescriptor(descriptor))) continue; - if (annotation == null || descriptor.getReadMethod().getAnnotation(annotation) != null) - list.add(descriptor); + list.add(descriptor); } return list; http://git-wip-us.apache.org/repos/asf/ignite/blob/9649733c/modules/cassandra/store/src/main/java/org/apache/ignite/cache/store/cassandra/persistence/KeyPersistenceSettings.java ---------------------------------------------------------------------- diff --git a/modules/cassandra/store/src/main/java/org/apache/ignite/cache/store/cassandra/persistence/KeyPersistenceSettings.java b/modules/cassandra/store/src/main/java/org/apache/ignite/cache/store/cassandra/persistence/KeyPersistenceSettings.java index c614abf..c12c3e8 100644 --- a/modules/cassandra/store/src/main/java/org/apache/ignite/cache/store/cassandra/persistence/KeyPersistenceSettings.java +++ b/modules/cassandra/store/src/main/java/org/apache/ignite/cache/store/cassandra/persistence/KeyPersistenceSettings.java @@ -22,8 +22,6 @@ import java.util.LinkedList; import java.util.List; import org.apache.ignite.IgniteException; -import org.apache.ignite.cache.affinity.AffinityKeyMapped; -import org.apache.ignite.cache.query.annotations.QuerySqlField; import org.apache.ignite.cache.store.cassandra.common.PropertyMappingHelper; import org.w3c.dom.Element; import org.w3c.dom.NodeList; @@ -214,12 +212,8 @@ public class KeyPersistenceSettings extends PersistenceSettings { if (el == null) { for (PropertyDescriptor desc : descriptors) { - boolean valid = desc.getWriteMethod() != null || - desc.getReadMethod().getAnnotation(QuerySqlField.class) != null || - desc.getReadMethod().getAnnotation(AffinityKeyMapped.class) != null; - - // Skip POJO field if it's read-only and is not annotated with @QuerySqlField or @AffinityKeyMapped. - if (valid) + // Skip POJO field if it's read-only + if (desc.getWriteMethod() != null) list.add(new PojoKeyField(desc)); } @@ -256,11 +250,8 @@ public class KeyPersistenceSettings extends PersistenceSettings { * @return POJO field descriptors for partition key. */ private List<PropertyDescriptor> getPartitionKeyDescriptors() { - List<PropertyDescriptor> primitivePropDescriptors = PropertyMappingHelper.getPojoPropertyDescriptors(getJavaClass(), - AffinityKeyMapped.class, true); - - primitivePropDescriptors = primitivePropDescriptors != null && !primitivePropDescriptors.isEmpty() ? - primitivePropDescriptors : PropertyMappingHelper.getPojoPropertyDescriptors(getJavaClass(), true); + List<PropertyDescriptor> primitivePropDescriptors = PropertyMappingHelper.getPojoPropertyDescriptors( + getJavaClass(), true); boolean valid = false; @@ -281,6 +272,7 @@ public class KeyPersistenceSettings extends PersistenceSettings { } /** + * @param partKeyFields List of fields. * @return POJO field descriptors for cluster key. */ private List<PropertyDescriptor> getClusterKeyDescriptors(List<PojoField> partKeyFields) { http://git-wip-us.apache.org/repos/asf/ignite/blob/9649733c/modules/cassandra/store/src/main/java/org/apache/ignite/cache/store/cassandra/persistence/PojoField.java ---------------------------------------------------------------------- diff --git a/modules/cassandra/store/src/main/java/org/apache/ignite/cache/store/cassandra/persistence/PojoField.java b/modules/cassandra/store/src/main/java/org/apache/ignite/cache/store/cassandra/persistence/PojoField.java index 99b96d5..566c0b9 100644 --- a/modules/cassandra/store/src/main/java/org/apache/ignite/cache/store/cassandra/persistence/PojoField.java +++ b/modules/cassandra/store/src/main/java/org/apache/ignite/cache/store/cassandra/persistence/PojoField.java @@ -21,9 +21,7 @@ import com.datastax.driver.core.DataType; import com.datastax.driver.core.Row; import java.beans.PropertyDescriptor; import java.io.Serializable; -import java.lang.reflect.Method; import org.apache.ignite.IgniteException; -import org.apache.ignite.cache.query.annotations.QuerySqlField; import org.apache.ignite.cache.store.cassandra.common.PropertyMappingHelper; import org.apache.ignite.cache.store.cassandra.serializer.Serializer; import org.w3c.dom.Element; @@ -86,19 +84,9 @@ public abstract class PojoField implements Serializable { public PojoField(PropertyDescriptor desc) { this.name = desc.getName(); - Method rdMthd = desc.getReadMethod(); - - QuerySqlField sqlField = rdMthd != null && rdMthd.getAnnotation(QuerySqlField.class) != null - ? rdMthd.getAnnotation(QuerySqlField.class) - : desc.getWriteMethod() == null ? null : desc.getWriteMethod().getAnnotation(QuerySqlField.class); - - col = sqlField != null && sqlField.name() != null && - !sqlField.name().trim().isEmpty() ? sqlField.name() : name.toLowerCase(); + col = name.toLowerCase(); init(desc); - - if (sqlField != null) - init(sqlField); } /** @@ -202,13 +190,6 @@ public abstract class PojoField implements Serializable { } /** - * Initializes field info from annotation. - * - * @param sqlField {@link QuerySqlField} annotation. - */ - protected abstract void init(QuerySqlField sqlField); - - /** * Initializes field info from property descriptor. * * @param desc {@link PropertyDescriptor} descriptor. http://git-wip-us.apache.org/repos/asf/ignite/blob/9649733c/modules/cassandra/store/src/main/java/org/apache/ignite/cache/store/cassandra/persistence/PojoKeyField.java ---------------------------------------------------------------------- diff --git a/modules/cassandra/store/src/main/java/org/apache/ignite/cache/store/cassandra/persistence/PojoKeyField.java b/modules/cassandra/store/src/main/java/org/apache/ignite/cache/store/cassandra/persistence/PojoKeyField.java index ec37411..bf1d40e 100644 --- a/modules/cassandra/store/src/main/java/org/apache/ignite/cache/store/cassandra/persistence/PojoKeyField.java +++ b/modules/cassandra/store/src/main/java/org/apache/ignite/cache/store/cassandra/persistence/PojoKeyField.java @@ -18,7 +18,6 @@ package org.apache.ignite.cache.store.cassandra.persistence; import java.beans.PropertyDescriptor; -import org.apache.ignite.cache.query.annotations.QuerySqlField; import org.w3c.dom.Element; /** @@ -78,10 +77,4 @@ public class PojoKeyField extends PojoField { public SortOrder getSortOrder() { return sortOrder; } - - /** {@inheritDoc} */ - @Override protected void init(QuerySqlField sqlField) { - if (sqlField.descending()) - sortOrder = SortOrder.DESC; - } } http://git-wip-us.apache.org/repos/asf/ignite/blob/9649733c/modules/cassandra/store/src/main/java/org/apache/ignite/cache/store/cassandra/persistence/PojoValueField.java ---------------------------------------------------------------------- diff --git a/modules/cassandra/store/src/main/java/org/apache/ignite/cache/store/cassandra/persistence/PojoValueField.java b/modules/cassandra/store/src/main/java/org/apache/ignite/cache/store/cassandra/persistence/PojoValueField.java index fcdd408..9d25b60 100644 --- a/modules/cassandra/store/src/main/java/org/apache/ignite/cache/store/cassandra/persistence/PojoValueField.java +++ b/modules/cassandra/store/src/main/java/org/apache/ignite/cache/store/cassandra/persistence/PojoValueField.java @@ -18,7 +18,6 @@ package org.apache.ignite.cache.store.cassandra.persistence; import java.beans.PropertyDescriptor; -import org.apache.ignite.cache.query.annotations.QuerySqlField; import org.w3c.dom.Element; /** @@ -135,9 +134,4 @@ public class PojoValueField extends PojoField { return builder.append(";").toString(); } - - /** {@inheritDoc} */ - @Override protected void init(QuerySqlField sqlField) { - // No-op. - } } http://git-wip-us.apache.org/repos/asf/ignite/blob/9649733c/modules/cassandra/store/src/main/java/org/apache/ignite/cache/store/cassandra/persistence/ValuePersistenceSettings.java ---------------------------------------------------------------------- diff --git a/modules/cassandra/store/src/main/java/org/apache/ignite/cache/store/cassandra/persistence/ValuePersistenceSettings.java b/modules/cassandra/store/src/main/java/org/apache/ignite/cache/store/cassandra/persistence/ValuePersistenceSettings.java index f117fb6..b737e2c 100644 --- a/modules/cassandra/store/src/main/java/org/apache/ignite/cache/store/cassandra/persistence/ValuePersistenceSettings.java +++ b/modules/cassandra/store/src/main/java/org/apache/ignite/cache/store/cassandra/persistence/ValuePersistenceSettings.java @@ -22,7 +22,6 @@ import java.util.Collections; import java.util.LinkedList; import java.util.List; -import org.apache.ignite.cache.query.annotations.QuerySqlField; import org.apache.ignite.cache.store.cassandra.common.PropertyMappingHelper; import org.w3c.dom.Element; import org.w3c.dom.NodeList; @@ -85,13 +84,12 @@ public class ValuePersistenceSettings extends PersistenceSettings { List<PojoField> list = new LinkedList<>(); if (fieldNodes == null || fieldNodes.getLength() == 0) { - List<PropertyDescriptor> primitivePropDescriptors = PropertyMappingHelper.getPojoPropertyDescriptors(getJavaClass(), true); - for (PropertyDescriptor desc : primitivePropDescriptors) { - boolean valid = desc.getWriteMethod() != null || - desc.getReadMethod().getAnnotation(QuerySqlField.class) != null; + List<PropertyDescriptor> primitivePropDescriptors = + PropertyMappingHelper.getPojoPropertyDescriptors(getJavaClass(), true); - // Skip POJO field if it's read-only and is not annotated with @QuerySqlField. - if (valid) + for (PropertyDescriptor desc : primitivePropDescriptors) { + // Skip POJO field if it's read-only + if (desc.getWriteMethod() != null) list.add(new PojoValueField(desc)); } http://git-wip-us.apache.org/repos/asf/ignite/blob/9649733c/modules/cassandra/store/src/test/java/org/apache/ignite/tests/pojos/Person.java ---------------------------------------------------------------------- diff --git a/modules/cassandra/store/src/test/java/org/apache/ignite/tests/pojos/Person.java b/modules/cassandra/store/src/test/java/org/apache/ignite/tests/pojos/Person.java index 16b64bd..89d4851 100644 --- a/modules/cassandra/store/src/test/java/org/apache/ignite/tests/pojos/Person.java +++ b/modules/cassandra/store/src/test/java/org/apache/ignite/tests/pojos/Person.java @@ -17,8 +17,6 @@ package org.apache.ignite.tests.pojos; -import org.apache.ignite.cache.query.annotations.QuerySqlField; - import java.io.Externalizable; import java.io.IOException; import java.io.ObjectInput; @@ -40,6 +38,9 @@ public class Person implements Externalizable { private String lastName; /** */ + private String fullName; + + /** */ private int age; /** */ @@ -178,6 +179,7 @@ public class Person implements Externalizable { @SuppressWarnings("UnusedDeclaration") public void setFirstName(String name) { firstName = name; + fullName = firstName + " " + lastName; } /** */ @@ -190,6 +192,7 @@ public class Person implements Externalizable { @SuppressWarnings("UnusedDeclaration") public void setLastName(String name) { lastName = name; + fullName = firstName + " " + lastName; } /** */ @@ -200,9 +203,8 @@ public class Person implements Externalizable { /** */ @SuppressWarnings("UnusedDeclaration") - @QuerySqlField public String getFullName() { - return firstName + " " + lastName; + return fullName; } /** */ http://git-wip-us.apache.org/repos/asf/ignite/blob/9649733c/modules/cassandra/store/src/test/java/org/apache/ignite/tests/pojos/Product.java ---------------------------------------------------------------------- diff --git a/modules/cassandra/store/src/test/java/org/apache/ignite/tests/pojos/Product.java b/modules/cassandra/store/src/test/java/org/apache/ignite/tests/pojos/Product.java index f8eadf4..624b27b 100644 --- a/modules/cassandra/store/src/test/java/org/apache/ignite/tests/pojos/Product.java +++ b/modules/cassandra/store/src/test/java/org/apache/ignite/tests/pojos/Product.java @@ -17,8 +17,6 @@ package org.apache.ignite.tests.pojos; -import org.apache.ignite.cache.query.annotations.QuerySqlField; - /** * Simple POJO to store information about product */ @@ -72,7 +70,6 @@ public class Product { } /** */ - @QuerySqlField(index = true) public long getId() { return id; } @@ -83,7 +80,6 @@ public class Product { } /** */ - @QuerySqlField public String getType() { return type; } @@ -94,7 +90,6 @@ public class Product { } /** */ - @QuerySqlField(index = true) public String getTitle() { return title; } @@ -105,7 +100,6 @@ public class Product { } /** */ - @QuerySqlField public String getDescription() { return description; } @@ -116,7 +110,6 @@ public class Product { } /** */ - @QuerySqlField public float getPrice() { return price; } http://git-wip-us.apache.org/repos/asf/ignite/blob/9649733c/modules/cassandra/store/src/test/java/org/apache/ignite/tests/pojos/ProductOrder.java ---------------------------------------------------------------------- diff --git a/modules/cassandra/store/src/test/java/org/apache/ignite/tests/pojos/ProductOrder.java b/modules/cassandra/store/src/test/java/org/apache/ignite/tests/pojos/ProductOrder.java index bafc8f3..31c881e 100644 --- a/modules/cassandra/store/src/test/java/org/apache/ignite/tests/pojos/ProductOrder.java +++ b/modules/cassandra/store/src/test/java/org/apache/ignite/tests/pojos/ProductOrder.java @@ -17,8 +17,6 @@ package org.apache.ignite.tests.pojos; -import org.apache.ignite.cache.query.annotations.QuerySqlField; - import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; @@ -91,7 +89,6 @@ public class ProductOrder { } /** */ - @QuerySqlField(index = true) public long getId() { return id; } @@ -102,7 +99,6 @@ public class ProductOrder { } /** */ - @QuerySqlField(index = true) public long getProductId() { return productId; } @@ -113,7 +109,6 @@ public class ProductOrder { } /** */ - @QuerySqlField public Date getDate() { return date; } @@ -124,7 +119,6 @@ public class ProductOrder { } /** */ - @QuerySqlField public int getAmount() { return amount; } @@ -135,13 +129,11 @@ public class ProductOrder { } /** */ - @QuerySqlField public float getPrice() { return price; } /** */ - @QuerySqlField public String getDayMillisecond() { return FORMAT.format(date); } http://git-wip-us.apache.org/repos/asf/ignite/blob/9649733c/modules/clients/src/test/java/org/apache/ignite/internal/jdbc2/JdbcResultSetSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/clients/src/test/java/org/apache/ignite/internal/jdbc2/JdbcResultSetSelfTest.java b/modules/clients/src/test/java/org/apache/ignite/internal/jdbc2/JdbcResultSetSelfTest.java index 64a077e..8fb651d 100644 --- a/modules/clients/src/test/java/org/apache/ignite/internal/jdbc2/JdbcResultSetSelfTest.java +++ b/modules/clients/src/test/java/org/apache/ignite/internal/jdbc2/JdbcResultSetSelfTest.java @@ -654,10 +654,10 @@ public class JdbcResultSetSelfTest extends GridCommonAbstractTest { protected boolean boolVal3; /** */ + @QuerySqlField(index = false) protected boolean boolVal4; /** */ - @QuerySqlField(index = false) public boolean isBoolVal4() { return boolVal4; } http://git-wip-us.apache.org/repos/asf/ignite/blob/9649733c/modules/core/src/main/java/org/apache/ignite/cache/query/annotations/QuerySqlField.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/cache/query/annotations/QuerySqlField.java b/modules/core/src/main/java/org/apache/ignite/cache/query/annotations/QuerySqlField.java index 48402b5..94dbea1 100644 --- a/modules/core/src/main/java/org/apache/ignite/cache/query/annotations/QuerySqlField.java +++ b/modules/core/src/main/java/org/apache/ignite/cache/query/annotations/QuerySqlField.java @@ -31,7 +31,7 @@ import org.apache.ignite.internal.processors.cache.query.CacheQuery; */ @Documented @Retention(RetentionPolicy.RUNTIME) -@Target({ElementType.METHOD, ElementType.FIELD}) +@Target({ElementType.FIELD}) public @interface QuerySqlField { /** * Specifies whether cache should maintain an index for this field or not. http://git-wip-us.apache.org/repos/asf/ignite/blob/9649733c/modules/core/src/main/java/org/apache/ignite/cache/query/annotations/QueryTextField.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/cache/query/annotations/QueryTextField.java b/modules/core/src/main/java/org/apache/ignite/cache/query/annotations/QueryTextField.java index 55809b6..1e01b6a 100644 --- a/modules/core/src/main/java/org/apache/ignite/cache/query/annotations/QueryTextField.java +++ b/modules/core/src/main/java/org/apache/ignite/cache/query/annotations/QueryTextField.java @@ -25,14 +25,14 @@ import java.lang.annotation.Target; import org.apache.ignite.internal.processors.cache.query.CacheQuery; /** - * Annotation for fields or getters to be indexed for full text + * Annotation for fields to be indexed for full text * search using Lucene. For more information * refer to {@link CacheQuery} documentation. * @see CacheQuery */ @Documented @Retention(RetentionPolicy.RUNTIME) -@Target({ElementType.METHOD, ElementType.FIELD, ElementType.TYPE}) +@Target({ElementType.FIELD, ElementType.TYPE}) public @interface QueryTextField { // No-op. } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ignite/blob/9649733c/modules/core/src/main/java/org/apache/ignite/configuration/CacheConfiguration.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/configuration/CacheConfiguration.java b/modules/core/src/main/java/org/apache/ignite/configuration/CacheConfiguration.java index 219e0b1..8a3874f 100644 --- a/modules/core/src/main/java/org/apache/ignite/configuration/CacheConfiguration.java +++ b/modules/core/src/main/java/org/apache/ignite/configuration/CacheConfiguration.java @@ -2141,32 +2141,6 @@ public class CacheConfiguration<K, V> extends MutableConfiguration<K, V> { processAnnotation(key, sqlAnn, txtAnn, cls, c, field.getType(), prop, type); } } - - for (Method mtd : c.getDeclaredMethods()) { - if (mtd.isBridge()) - continue; - - QuerySqlField sqlAnn = mtd.getAnnotation(QuerySqlField.class); - QueryTextField txtAnn = mtd.getAnnotation(QueryTextField.class); - - if (sqlAnn != null || txtAnn != null) { - if (mtd.getParameterTypes().length != 0) - throw new CacheException("Getter with QuerySqlField " + - "annotation cannot have parameters: " + mtd); - - ClassProperty prop = new ClassProperty(mtd); - - prop.parent(parent); - - // Add parent property before its possible nested properties so that - // resulting parent column comes before columns corresponding to those - // nested properties in the resulting table - that way nested - // properties override will happen properly (first parent, then children). - type.addProperty(prop, key, true); - - processAnnotation(key, sqlAnn, txtAnn, cls, c, mtd.getReturnType(), prop, type); - } - } } } http://git-wip-us.apache.org/repos/asf/ignite/blob/9649733c/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheQueryTestValue.java ---------------------------------------------------------------------- diff --git a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheQueryTestValue.java b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheQueryTestValue.java index 4d19b1a..116049f 100644 --- a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheQueryTestValue.java +++ b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheQueryTestValue.java @@ -32,6 +32,7 @@ public class GridCacheQueryTestValue implements Serializable { private String field1; /** */ + @QuerySqlField private int field2; /** */ @@ -72,7 +73,6 @@ public class GridCacheQueryTestValue implements Serializable { * * @return Field. */ - @QuerySqlField public int getField2() { return field2; } http://git-wip-us.apache.org/repos/asf/ignite/blob/9649733c/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheAbstractFieldsQuerySelfTest.java ---------------------------------------------------------------------- diff --git a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheAbstractFieldsQuerySelfTest.java b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheAbstractFieldsQuerySelfTest.java index 8c8828d..fedeef6 100644 --- a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheAbstractFieldsQuerySelfTest.java +++ b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheAbstractFieldsQuerySelfTest.java @@ -310,7 +310,7 @@ public abstract class IgniteCacheAbstractFieldsQuerySelfTest extends GridCommonA Map<String, String> fields = meta.fields("Organization"); assert fields != null; - assertEquals("Fields: " + fields, 5, fields.size()); + assertEquals("Fields: " + fields, 4, fields.size()); if (binaryMarshaller) { assert Object.class.getName().equals(fields.get("_VAL")); @@ -605,7 +605,7 @@ public abstract class IgniteCacheAbstractFieldsQuerySelfTest extends GridCommonA int cnt = 0; for (List<?> row : res) { - assertEquals(10, row.size()); + assertEquals(9, row.size()); if (cnt == 0) { assert new AffinityKey<>("p1", "o1").equals(row.get(0)); @@ -860,23 +860,6 @@ public abstract class IgniteCacheAbstractFieldsQuerySelfTest extends GridCommonA /** * @throws Exception If failed. */ - public void testMethodAnnotationWithoutGet() throws Exception { - if (!binaryMarshaller) { - QueryCursor<List<?>> qry = - orgCache.query(sqlFieldsQuery("select methodField from Organization where methodField='name-A'") - .setPageSize(10)); - - List<List<?>> flds = qry.getAll(); - - assertEquals(1, flds.size()); - - assertEquals("name-A", flds.get(0).get(0)); - } - } - - /** - * @throws Exception If failed. - */ public void testPaginationGet() throws Exception { QueryCursor<List<?>> qry = intCache.query(sqlFieldsQuery("select _key, _val from Integer").setPageSize(10)); @@ -1060,14 +1043,6 @@ public abstract class IgniteCacheAbstractFieldsQuerySelfTest extends GridCommonA this.name = name; } - /** - * @return Generated method value. - */ - @QuerySqlField - public String methodField() { - return "name-" + name; - } - /** {@inheritDoc} */ @Override public boolean equals(Object o) { if (this == o) http://git-wip-us.apache.org/repos/asf/ignite/blob/9649733c/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheDistributedJoinTest.java ---------------------------------------------------------------------- diff --git a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheDistributedJoinTest.java b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheDistributedJoinTest.java index a553c3f..e69b5ec 100644 --- a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheDistributedJoinTest.java +++ b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheDistributedJoinTest.java @@ -234,12 +234,15 @@ public class IgniteCacheDistributedJoinTest extends GridCommonAbstractTest { */ public static class X { /** */ + @QuerySqlField(index = true) public long a; /** */ + @QuerySqlField(index = true) public long b; /** */ + @QuerySqlField(index = true) public long c; /** @@ -254,19 +257,16 @@ public class IgniteCacheDistributedJoinTest extends GridCommonAbstractTest { } /** */ - @QuerySqlField(index = true) public long getA() { return a; } /** */ - @QuerySqlField(index = true) public long getB() { return b; } /** */ - @QuerySqlField(index = true) public long getC() { return c; }
