http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/7b1a738d/modules/core/src/main/java/org/gridgain/grid/cache/eviction/lru/GridCacheLruEvictionPolicyMBean.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/cache/eviction/lru/GridCacheLruEvictionPolicyMBean.java
 
b/modules/core/src/main/java/org/gridgain/grid/cache/eviction/lru/GridCacheLruEvictionPolicyMBean.java
deleted file mode 100644
index 32b7020..0000000
--- 
a/modules/core/src/main/java/org/gridgain/grid/cache/eviction/lru/GridCacheLruEvictionPolicyMBean.java
+++ /dev/null
@@ -1,58 +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.gridgain.grid.cache.eviction.lru;
-
-import org.apache.ignite.mbean.*;
-
-/**
- * MBean for {@code LRU} eviction policy.
- */
-@IgniteMBeanDescription("MBean for LRU cache eviction policy.")
-public interface GridCacheLruEvictionPolicyMBean {
-    /**
-     * Gets name of metadata attribute used to store eviction policy data.
-     *
-     * @return Name of metadata attribute used to store eviction policy data.
-     */
-    @IgniteMBeanDescription("Name of metadata attribute used to store eviction 
policy data.")
-    public String getMetaAttributeName();
-
-    /**
-     * Gets maximum allowed cache size.
-     *
-     * @return Maximum allowed cache size.
-     */
-    @IgniteMBeanDescription("Maximum allowed cache size.")
-    public int getMaxSize();
-
-    /**
-     * Sets maximum allowed cache size.
-     *
-     * @param max Maximum allowed cache size.
-     */
-    @IgniteMBeanDescription("Sets maximum allowed cache size.")
-    public void setMaxSize(int max);
-
-    /**
-     * Gets current queue size.
-     *
-     * @return Current queue size.
-     */
-    @IgniteMBeanDescription("Current queue size.")
-    public int getCurrentSize();
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/7b1a738d/modules/core/src/main/java/org/gridgain/grid/cache/eviction/lru/package.html
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/cache/eviction/lru/package.html 
b/modules/core/src/main/java/org/gridgain/grid/cache/eviction/lru/package.html
deleted file mode 100644
index b3d5e88..0000000
--- 
a/modules/core/src/main/java/org/gridgain/grid/cache/eviction/lru/package.html
+++ /dev/null
@@ -1,23 +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.
-  -->
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd";>
-<html>
-<body>
-    <!-- Package description. -->
-    Contains cache LRU eviction policy implementations.
-</body>
-</html>

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/7b1a738d/modules/core/src/main/java/org/gridgain/grid/cache/eviction/package.html
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/cache/eviction/package.html 
b/modules/core/src/main/java/org/gridgain/grid/cache/eviction/package.html
deleted file mode 100644
index 24ff600..0000000
--- a/modules/core/src/main/java/org/gridgain/grid/cache/eviction/package.html
+++ /dev/null
@@ -1,23 +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.
-  -->
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd";>
-<html>
-<body>
-    <!-- Package description. -->
-    Contains cache eviction policy implementations.
-</body>
-</html>

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/7b1a738d/modules/core/src/main/java/org/gridgain/grid/cache/eviction/random/GridCacheRandomEvictionPolicy.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/cache/eviction/random/GridCacheRandomEvictionPolicy.java
 
b/modules/core/src/main/java/org/gridgain/grid/cache/eviction/random/GridCacheRandomEvictionPolicy.java
deleted file mode 100644
index f49531f..0000000
--- 
a/modules/core/src/main/java/org/gridgain/grid/cache/eviction/random/GridCacheRandomEvictionPolicy.java
+++ /dev/null
@@ -1,121 +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.gridgain.grid.cache.eviction.random;
-
-import org.apache.ignite.*;
-import org.apache.ignite.cache.*;
-import org.gridgain.grid.cache.*;
-import org.gridgain.grid.cache.eviction.*;
-import org.gridgain.grid.util.typedef.*;
-import org.gridgain.grid.util.typedef.internal.*;
-
-import static org.gridgain.grid.cache.GridCachePeekMode.*;
-
-/**
- * Cache eviction policy which will select random cache entry for eviction if 
cache
- * size exceeds the {@link #getMaxSize()} parameter. This implementation is
- * extremely light weight, lock-free, and does not create any data structures 
to maintain
- * any order for eviction.
- * <p>
- * Random eviction will provide the best performance over any key set in which 
every
- * key has the same probability of being accessed.
- */
-public class GridCacheRandomEvictionPolicy<K, V> implements 
GridCacheEvictionPolicy<K, V>,
-    GridCacheRandomEvictionPolicyMBean {
-    /** Maximum size. */
-    private volatile int max = CacheConfiguration.DFLT_CACHE_SIZE;
-
-    /**
-     * Constructs random eviction policy with all defaults.
-     */
-    public GridCacheRandomEvictionPolicy() {
-        // No-op.
-    }
-
-    /**
-     * Constructs random eviction policy with maximum size.
-     *
-     * @param max Maximum allowed size of cache before entry will start 
getting evicted.
-     */
-    public GridCacheRandomEvictionPolicy(int max) {
-        A.ensure(max > 0, "max > 0");
-
-        this.max = max;
-    }
-
-    /**
-     * Gets maximum allowed size of cache before entry will start getting 
evicted.
-     *
-     * @return Maximum allowed size of cache before entry will start getting 
evicted.
-     */
-    @Override public int getMaxSize() {
-        return max;
-    }
-
-    /**
-     * Sets maximum allowed size of cache before entry will start getting 
evicted.
-     *
-     * @param max Maximum allowed size of cache before entry will start 
getting evicted.
-     */
-    @Override public void setMaxSize(int max) {
-        A.ensure(max > 0, "max > 0");
-
-        this.max = max;
-    }
-
-    /** {@inheritDoc} */
-    @Override public void onEntryAccessed(boolean rmv, GridCacheEntry<K, V> 
entry) {
-        if (!entry.isCached())
-            return;
-
-        GridCache<K, V> cache = entry.projection().cache();
-
-        int size = cache.size();
-
-        for (int i = max; i < size; i++) {
-            GridCacheEntry<K, V> e = cache.randomEntry();
-
-            if (e != null)
-                e.evict();
-        }
-    }
-
-    /**
-     * Checks entry for empty value.
-     *
-     * @param entry Entry to check.
-     * @return {@code True} if entry is empty.
-     */
-    private boolean empty(GridCacheEntry<K, V> entry) {
-        try {
-            return entry.peek(F.asList(GLOBAL)) == null;
-        }
-        catch (IgniteCheckedException e) {
-            U.error(null, e.getMessage(), e);
-
-            assert false : "Should never happen: " + e;
-
-            return false;
-        }
-    }
-
-    /** {@inheritDoc} */
-    @Override public String toString() {
-        return S.toString(GridCacheRandomEvictionPolicy.class, this);
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/7b1a738d/modules/core/src/main/java/org/gridgain/grid/cache/eviction/random/GridCacheRandomEvictionPolicyMBean.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/cache/eviction/random/GridCacheRandomEvictionPolicyMBean.java
 
b/modules/core/src/main/java/org/gridgain/grid/cache/eviction/random/GridCacheRandomEvictionPolicyMBean.java
deleted file mode 100644
index 937ac9a..0000000
--- 
a/modules/core/src/main/java/org/gridgain/grid/cache/eviction/random/GridCacheRandomEvictionPolicyMBean.java
+++ /dev/null
@@ -1,42 +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.gridgain.grid.cache.eviction.random;
-
-import org.apache.ignite.mbean.*;
-
-/**
- * MBean for {@code random} eviction policy.
- */
-@IgniteMBeanDescription("MBean for random cache eviction policy.")
-public interface GridCacheRandomEvictionPolicyMBean {
-    /**
-     * Gets maximum allowed cache size.
-     *
-     * @return Maximum allowed cache size.
-     */
-    @IgniteMBeanDescription("Maximum allowed cache size.")
-    public int getMaxSize();
-
-    /**
-     * Sets maximum allowed cache size.
-     *
-     * @param max Maximum allowed cache size.
-     */
-    @IgniteMBeanDescription("Sets maximum allowed cache size.")
-    public void setMaxSize(int max);
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/7b1a738d/modules/core/src/main/java/org/gridgain/grid/cache/eviction/random/package.html
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/cache/eviction/random/package.html
 
b/modules/core/src/main/java/org/gridgain/grid/cache/eviction/random/package.html
deleted file mode 100644
index 0236bb0..0000000
--- 
a/modules/core/src/main/java/org/gridgain/grid/cache/eviction/random/package.html
+++ /dev/null
@@ -1,23 +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.
-  -->
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd";>
-<html>
-<body>
-    <!-- Package description. -->
-    Contains cache randomized eviction policy implementations.
-</body>
-</html>

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/7b1a738d/modules/core/src/main/java/org/gridgain/grid/cache/package.html
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/cache/package.html 
b/modules/core/src/main/java/org/gridgain/grid/cache/package.html
deleted file mode 100644
index 2d7869a..0000000
--- a/modules/core/src/main/java/org/gridgain/grid/cache/package.html
+++ /dev/null
@@ -1,24 +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.
-  -->
-
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd";>
-<html>
-<body>
-    <!-- Package description. -->
-    Contains main <b>Data Grid APIs.</b>
-</body>
-</html>

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/7b1a738d/modules/core/src/main/java/org/gridgain/grid/cache/query/GridCacheContinuousQuery.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/cache/query/GridCacheContinuousQuery.java
 
b/modules/core/src/main/java/org/gridgain/grid/cache/query/GridCacheContinuousQuery.java
deleted file mode 100644
index ef4b4c8..0000000
--- 
a/modules/core/src/main/java/org/gridgain/grid/cache/query/GridCacheContinuousQuery.java
+++ /dev/null
@@ -1,342 +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.gridgain.grid.cache.query;
-
-import org.apache.ignite.*;
-import org.apache.ignite.cluster.*;
-import org.apache.ignite.lang.*;
-import org.gridgain.grid.cache.*;
-import org.jetbrains.annotations.*;
-
-import java.util.*;
-
-/**
- * API for configuring and executing continuous cache queries.
- * <p>
- * Continuous queries are executed as follows:
- * <ol>
- * <li>
- *  Query is sent to requested grid nodes. Note that for {@link 
GridCacheMode#LOCAL LOCAL}
- *  and {@link GridCacheMode#REPLICATED REPLICATED} caches query will be 
always executed
- *  locally.
- * </li>
- * <li>
- *  Each node iterates through existing cache data and registers listeners 
that will
- *  notify about further updates.
- * <li>
- *  Each key-value pair is passed through optional filter and if this filter 
returns
- *  true, key-value pair is sent to the master node (the one that executed 
query).
- *  If filter is not provided, all pairs are sent.
- * </li>
- * <li>
- *  When master node receives key-value pairs, it notifies the local callback.
- * </li>
- * </ol>
- * <h2 class="header">NOTE</h2>
- * Under some concurrent circumstances callback may get several notifications
- * for one cache update. This should be taken into account when implementing 
callback.
- * <h1 class="header">Query usage</h1>
- * As an example, suppose we have cache with {@code 'Person'} objects and we 
need
- * to query all persons with salary above 1000.
- * <p>
- * Here is the {@code Person} class:
- * <pre name="code" class="java">
- * public class Person {
- *     // Name.
- *     private String name;
- *
- *     // Salary.
- *     private double salary;
- *
- *     ...
- * }
- * </pre>
- * <p>
- * You can create and execute continuous query like so:
- * <pre name="code" class="java">
- * // Create new continuous query.
- * qry = cache.createContinuousQuery();
- *
- * // Callback that is called locally when update notifications are received.
- * // It simply prints out information about all created persons.
- * qry.callback(new GridPredicate2&lt;UUID, Collection&lt;Map.Entry&lt;UUID, 
Person&gt;&gt;&gt;() {
- *     &#64;Override public boolean apply(UUID uuid, 
Collection&lt;Map.Entry&lt;UUID, Person&gt;&gt; entries) {
- *         for (Map.Entry&lt;UUID, Person&gt; e : entries) {
- *             Person p = e.getValue();
- *
- *             X.println("&gt;&gt;&gt;");
- *             X.println("&gt;&gt;&gt; " + p.getFirstName() + " " + 
p.getLastName() +
- *                 "'s salary is " + p.getSalary());
- *             X.println("&gt;&gt;&gt;");
- *         }
- *
- *         return true;
- *     }
- * });
- *
- * // This query will return persons with salary above 1000.
- * qry.filter(new GridPredicate2&lt;UUID, Person&gt;() {
- *     &#64;Override public boolean apply(UUID uuid, Person person) {
- *         return person.getSalary() &gt; 1000;
- *     }
- * });
- *
- * // Execute query.
- * qry.execute();
- * </pre>
- * This will execute query on all nodes that have cache you are working with 
and notify callback
- * with both data that already exists in cache and further updates.
- * <p>
- * To stop receiving updates call {@link #close()} method:
- * <pre name="code" class="java">
- * qry.cancel();
- * </pre>
- * Note that one query instance can be executed only once. After it's 
cancelled, it's non-operational.
- * If you need to repeat execution, use {@link 
GridCacheQueries#createContinuousQuery()} method to create
- * new query.
- */
-public interface GridCacheContinuousQuery<K, V> extends AutoCloseable {
-    /**
-     * Default buffer size. Size of {@code 1} means that all entries
-     * will be sent to master node immediately (buffering is disabled).
-     */
-    public static final int DFLT_BUF_SIZE = 1;
-
-    /** Maximum default time interval after which buffer will be flushed (if 
buffering is enabled). */
-    public static final long DFLT_TIME_INTERVAL = 0;
-
-    /**
-     * Default value for automatic unsubscription flag. Remote filters
-     * will be unregistered by default if master node leaves topology.
-     */
-    public static final boolean DFLT_AUTO_UNSUBSCRIBE = true;
-
-    /**
-     * Sets local callback. This callback is called only
-     * in local node when new updates are received.
-     * <p>
-     * The callback predicate accepts ID of the node from where updates
-     * are received and collection of received entries. Note that
-     * for removed entries value will be {@code null}.
-     * <p>
-     * If the predicate returns {@code false}, query execution will
-     * be cancelled.
-     * <p>
-     * <b>WARNING:</b> all operations that involve any kind of JVM-local
-     * or distributed locking (e.g., synchronization or transactional
-     * cache operations), should be executed asynchronously without
-     * blocking the thread that called the callback. Otherwise, you
-     * can get deadlocks.
-     *
-     * @param cb Local callback.
-     * @deprecated Deprecated in favor of {@link 
#localCallback(IgniteBiPredicate)} method.
-     */
-    @Deprecated
-    public void callback(@Nullable IgniteBiPredicate<UUID, 
Collection<Map.Entry<K, V>>> cb);
-
-    /**
-     * Gets local callback. See {@link #callback(IgniteBiPredicate)} for more 
information.
-     *
-     * @return Local callback.
-     * @deprecated Deprecated in favor of {@link #localCallback()} method.
-     */
-    @Deprecated
-    public IgniteBiPredicate<UUID, Collection<Map.Entry<K, V>>> callback();
-
-    /**
-     * Sets optional key-value filter. This filter is called before
-     * entry is sent to the master node.
-     * <p>
-     * <b>WARNING:</b> all operations that involve any kind of JVM-local
-     * or distributed locking (e.g., synchronization or transactional
-     * cache operations), should be executed asynchronously without
-     * blocking the thread that called the filter. Otherwise, you
-     * can get deadlocks.
-     *
-     * @param filter Key-value filter.
-     * @deprecated Deprecated in favor of {@link 
#remoteFilter(org.apache.ignite.lang.IgnitePredicate)} method.
-     */
-    @Deprecated
-    public void filter(@Nullable IgniteBiPredicate<K, V> filter);
-
-    /**
-     * Gets key-value filter. See {@link #filter(IgniteBiPredicate)} for more 
information.
-     *
-     * @return Key-value filter.
-     * @deprecated Deprecated in favor of {@link #remoteFilter()} method.
-     */
-    @Deprecated
-    @Nullable public IgniteBiPredicate<K, V> filter();
-
-    /**
-     * Sets local callback. This callback is called only
-     * in local node when new updates are received.
-     * <p>
-     * The callback predicate accepts ID of the node from where updates
-     * are received and collection of received entries. Note that
-     * for removed entries value will be {@code null}.
-     * <p>
-     * If the predicate returns {@code false}, query execution will
-     * be cancelled.
-     * <p>
-     * <b>WARNING:</b> all operations that involve any kind of JVM-local
-     * or distributed locking (e.g., synchronization or transactional
-     * cache operations), should be executed asynchronously without
-     * blocking the thread that called the callback. Otherwise, you
-     * can get deadlocks.
-     *
-     * @param locCb Local callback.
-     */
-    public void localCallback(IgniteBiPredicate<UUID, 
Collection<GridCacheContinuousQueryEntry<K, V>>> locCb);
-
-    /**
-     * Gets local callback. See {@link #callback(IgniteBiPredicate)} for more 
information.
-     *
-     * @return Local callback.
-     */
-    @Nullable public IgniteBiPredicate<UUID, 
Collection<GridCacheContinuousQueryEntry<K, V>>> localCallback();
-
-    /**
-     * Sets optional key-value filter. This filter is called before
-     * entry is sent to the master node.
-     * <p>
-     * <b>WARNING:</b> all operations that involve any kind of JVM-local
-     * or distributed locking (e.g., synchronization or transactional
-     * cache operations), should be executed asynchronously without
-     * blocking the thread that called the filter. Otherwise, you
-     * can get deadlocks.
-     *
-     * @param filter Key-value filter.
-     */
-    public void remoteFilter(@Nullable 
IgnitePredicate<GridCacheContinuousQueryEntry<K, V>> filter);
-
-    /**
-     * Gets key-value filter. See {@link #filter(IgniteBiPredicate)} for more 
information.
-     *
-     * @return Key-value filter.
-     */
-    @Nullable public IgnitePredicate<GridCacheContinuousQueryEntry<K, V>> 
remoteFilter();
-
-    /**
-     * Sets buffer size.
-     * <p>
-     * When a cache update happens, entry is first put into a buffer.
-     * Entries from buffer will be sent to the master node only if
-     * the buffer is full or time provided via {@link #timeInterval(long)}
-     * method is exceeded.
-     * <p>
-     * Default buffer size is {@code 1} which means that entries will
-     * be sent immediately (buffering is disabled).
-     *
-     * @param bufSize Buffer size.
-     */
-    public void bufferSize(int bufSize);
-
-    /**
-     * Gets buffer size. See {@link #bufferSize(int)} for more information.
-     *
-     * @return Buffer size.
-     */
-    public int bufferSize();
-
-    /**
-     * Sets time interval.
-     * <p>
-     * When a cache update happens, entry is first put into a buffer.
-     * Entries from buffer will be sent to the master node only if
-     * the buffer is full (its size can be provided via {@link 
#bufferSize(int)}
-     * method) or time provided via this method is exceeded.
-     * <p>
-     * Default time interval is {@code 0} which means that time check is
-     * disabled and entries will be sent only when buffer is full.
-     *
-     * @param timeInterval Time interval.
-     */
-    public void timeInterval(long timeInterval);
-
-    /**
-     * Gets time interval. See {@link #timeInterval(long)} for more 
information.
-     *
-     * @return Gets time interval.
-     */
-    public long timeInterval();
-
-    /**
-     * Sets automatic unsubscribe flag.
-     * <p>
-     * This flag indicates that query filters on remote nodes should be 
automatically
-     * unregistered if master node (node that initiated the query) leaves 
topology.
-     * If this flag is {@code false}, filters will be unregistered only when
-     * the query is cancelled from master node, and won't ever be unregistered 
if
-     * master node leaves grid.
-     * <p>
-     * Default value for this flag is {@code true}.
-     *
-     * @param autoUnsubscribe Automatic unsubscription flag.
-     */
-    public void autoUnsubscribe(boolean autoUnsubscribe);
-
-    /**
-     * Gets automatic unsubscribe flag. See {@link #autoUnsubscribe(boolean)}
-     * for more information.
-     *
-     * @return Automatic unsubscribe flag.
-     */
-    public boolean isAutoUnsubscribe();
-
-    /**
-     * Starts continuous query execution on the whole grid.
-     * <p>
-     * Note that if grid contains nodes without appropriate cache,
-     * these nodes will be filtered out.
-     * <p>
-     * Also note that for {@link GridCacheMode#LOCAL LOCAL}
-     * and {@link GridCacheMode#REPLICATED REPLICATED} caches
-     * query will be always executed locally.
-     *
-     * @throws IgniteCheckedException In case of error.
-     */
-    public void execute() throws IgniteCheckedException;
-
-    /**
-     * Starts continuous query execution on provided set of nodes.
-     * <p>
-     * Note that if provided projection contains nodes without
-     * appropriate cache, these nodes will be filtered out.
-     * <p>
-     * Also note that for {@link GridCacheMode#LOCAL LOCAL}
-     * and {@link GridCacheMode#REPLICATED REPLICATED} caches
-     * query will be always executed locally.
-     *
-     * @param prj Grid projection.
-     * @throws IgniteCheckedException In case of error.
-     */
-    public void execute(@Nullable ClusterGroup prj) throws 
IgniteCheckedException;
-
-    /**
-     * Stops continuous query execution.
-     * <p>
-     * Note that one query instance can be executed only once.
-     * After it's cancelled, it's non-operational.
-     * If you need to repeat execution, use {@link 
GridCacheQueries#createContinuousQuery()}
-     * method to create new query.
-     *
-     * @throws IgniteCheckedException In case of error.
-     */
-    @Override public void close() throws IgniteCheckedException;
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/7b1a738d/modules/core/src/main/java/org/gridgain/grid/cache/query/GridCacheContinuousQueryEntry.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/cache/query/GridCacheContinuousQueryEntry.java
 
b/modules/core/src/main/java/org/gridgain/grid/cache/query/GridCacheContinuousQueryEntry.java
deleted file mode 100644
index 23d88a8..0000000
--- 
a/modules/core/src/main/java/org/gridgain/grid/cache/query/GridCacheContinuousQueryEntry.java
+++ /dev/null
@@ -1,49 +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.gridgain.grid.cache.query;
-
-import org.jetbrains.annotations.*;
-
-import java.io.*;
-import java.util.*;
-
-/**
- * Entry used for continuous query notifications.
- */
-public interface GridCacheContinuousQueryEntry<K, V> extends Map.Entry<K, V>, 
Serializable {
-    /**
-     * Gets entry key.
-     *
-     * @return Entry key.
-     */
-    @Override public K getKey();
-
-    /**
-     * Gets entry new value. New value may be null, if entry is being removed.
-     *
-     * @return Entry new value.
-     */
-    @Override @Nullable public V getValue();
-
-    /**
-     * Gets entry old value. Old value may be null if entry is being inserted 
(not updated).
-     *
-     * @return Gets entry old value.
-     */
-    @Nullable public V getOldValue();
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/7b1a738d/modules/core/src/main/java/org/gridgain/grid/cache/query/GridCacheQueries.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/cache/query/GridCacheQueries.java
 
b/modules/core/src/main/java/org/gridgain/grid/cache/query/GridCacheQueries.java
deleted file mode 100644
index 3e65146..0000000
--- 
a/modules/core/src/main/java/org/gridgain/grid/cache/query/GridCacheQueries.java
+++ /dev/null
@@ -1,151 +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.gridgain.grid.cache.query;
-
-import org.apache.ignite.lang.*;
-import org.jetbrains.annotations.*;
-
-import java.util.*;
-
-/**
- * Facade for creating distributed queries. It contains various {@code 
'createXxxQuery(..)'}
- * methods for {@code SQL}, {@code TEXT}, and {@code SCAN} query creation (see 
{@link GridCacheQuery}
- * for more information).
- * <p>
- * Instance of {@code GridCacheQueries} is obtained from cache projection as 
follows:
- * <pre name="code" class="java">
- * GridCacheQueries q = GridGain.grid().cache("myCache").queries();
- * </pre>
- */
-public interface GridCacheQueries<K, V> {
-    /**
-     * Creates user's SQL query, queried class, and query clause which is 
generally
-     * a where clause. For more information refer to {@link GridCacheQuery} 
documentation.
-     *
-     * @param cls Query class.
-     * @param clause Query clause.
-     * @return Created query.
-     */
-    public GridCacheQuery<Map.Entry<K, V>> createSqlQuery(Class<?> cls, String 
clause);
-
-    /**
-     * Creates user's SQL query, queried class, and query clause which is 
generally
-     * a where clause. For more information refer to {@link GridCacheQuery} 
documentation.
-     *
-     * @param clsName Query class name.
-     * @param clause Query clause.
-     * @return Created query.
-     */
-    public GridCacheQuery<Map.Entry<K, V>> createSqlQuery(String clsName, 
String clause);
-
-    /**
-     * Creates user's SQL fields query for given clause. For more information 
refer to
-     * {@link GridCacheQuery} documentation.
-     *
-     * @param qry Query.
-     * @return Created query.
-     */
-    public GridCacheQuery<List<?>> createSqlFieldsQuery(String qry);
-
-    /**
-     * Creates user's full text query, queried class, and query clause.
-     * For more information refer to {@link GridCacheQuery} documentation.
-     *
-     * @param clsName Query class name.
-     * @param search Search clause.
-     * @return Created query.
-     */
-    public GridCacheQuery<Map.Entry<K, V>> createFullTextQuery(String clsName, 
String search);
-
-    /**
-     * Creates user's full text query, queried class, and query clause.
-     * For more information refer to {@link GridCacheQuery} documentation.
-     *
-     * @param cls Query class.
-     * @param search Search clause.
-     * @return Created query.
-     */
-    public GridCacheQuery<Map.Entry<K, V>> createFullTextQuery(Class<?> cls, 
String search);
-
-    /**
-     * Creates user's predicate based scan query.
-     *
-     * @param filter Scan filter.
-     * @return Created query.
-     */
-    public GridCacheQuery<Map.Entry<K, V>> createScanQuery(@Nullable 
IgniteBiPredicate<K, V> filter);
-
-    /**
-     * Creates new continuous query.
-     * <p>
-     * For more information refer to {@link GridCacheContinuousQuery} 
documentation.
-     *
-     * @return Created continuous query.
-     * @see GridCacheContinuousQuery
-     */
-    public GridCacheContinuousQuery<K, V> createContinuousQuery();
-
-    /**
-     * Forces this cache to rebuild all search indexes of given value type. 
Sometimes indexes
-     * may hold references to objects that have already been removed from 
cache. Although
-     * not affecting query results, these objects may consume extra memory. 
Rebuilding
-     * indexes will remove any redundant references that may have temporarily 
got stuck
-     * inside in-memory index.
-     *
-     * @param cls Value type to rebuild indexes for.
-     *
-     * @return Future that will be completed when rebuilding of all indexes is 
finished.
-     */
-    public IgniteFuture<?> rebuildIndexes(Class<?> cls);
-
-    /**
-     * Forces this cache to rebuild all search indexes of given value type. 
Sometimes indexes
-     * may hold references to objects that have already been removed from 
cache. Although
-     * not affecting query results, these objects may consume extra memory. 
Rebuilding
-     * indexes will remove any redundant references that may have temporarily 
got stuck
-     * inside in-memory index.
-     *
-     * @param typeName Value type name to rebuild indexes for.
-     *
-     * @return Future that will be completed when rebuilding of all indexes is 
finished.
-     */
-    public IgniteFuture<?> rebuildIndexes(String typeName);
-
-    /**
-     * Forces this cache to rebuild search indexes of all types. Sometimes 
indexes
-     * may hold references to objects that have already been removed from 
cache. Although
-     * not affecting query results, these objects may consume extra memory. 
Rebuilding
-     * indexes will remove any redundant references that may have temporarily 
got stuck
-     * inside in-memory index.
-     *
-     * @return Future that will be completed when rebuilding of all indexes is 
finished.
-     */
-    public IgniteFuture<?> rebuildAllIndexes();
-
-    /**
-     * Accumulated metrics for all queries executed for this cache.
-     *
-     * @return Cache query metrics.
-     */
-    public GridCacheQueryMetrics metrics();
-
-    /**
-     * Resets accumulated metrics.
-     */
-    public void resetMetrics();
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/7b1a738d/modules/core/src/main/java/org/gridgain/grid/cache/query/GridCacheQuery.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/cache/query/GridCacheQuery.java 
b/modules/core/src/main/java/org/gridgain/grid/cache/query/GridCacheQuery.java
deleted file mode 100644
index c6c3622..0000000
--- 
a/modules/core/src/main/java/org/gridgain/grid/cache/query/GridCacheQuery.java
+++ /dev/null
@@ -1,297 +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.gridgain.grid.cache.query;
-
-import org.apache.ignite.cluster.*;
-import org.apache.ignite.configuration.*;
-import org.apache.ignite.lang.*;
-import org.gridgain.grid.cache.*;
-import org.gridgain.grid.cache.affinity.*;
-import org.jetbrains.annotations.*;
-
-/**
- * Main API for configuring and executing cache queries.
- * <p>
- * Cache queries are created from {@link GridCacheQueries} API via any of the 
available
- * {@code createXXXQuery(...)} methods.
- * <h1 class="header">SQL Queries</h1>
- * {@code SQL} query allows to execute distributed cache
- * queries using standard SQL syntax. All values participating in where clauses
- * or joins must be annotated with {@link GridCacheQuerySqlField} annotation. 
Query can be created
- * with {@link GridCacheQueries#createSqlQuery(Class, String)} method.
- * <h2 class="header">Field Queries</h2>
- * By default {@code select} clause is ignored as query result contains full 
objects.
- * If it is needed to select individual fields, use {@link 
GridCacheQueries#createSqlFieldsQuery(String)} method.
- * This type of query replaces full objects with individual fields. Note that 
selected fields
- * must be annotated with {@link GridCacheQuerySqlField} annotation.
- * <h2 class="header">Cross-Cache Queries</h2>
- * You are allowed to query data from several caches. Cache that this query 
was created on is
- * treated as default schema in this case. Other caches can be referenced by 
their names.
- * <p>
- * Note that cache name is case sensitive and has to always be specified in 
double quotes.
- * Here is an example of cross cache query (note that 'replicated' and 
'partitioned' are
- * cache names for replicated and partitioned caches accordingly):
- * <pre name="code" class="java">
- * GridCacheQuery&lt;Map.Entry&lt;Integer, FactPurchase&gt;&gt; storePurchases 
= cache.queries().createSqlQuery(
- *     Purchase.class,
- *     "from \"replicated\".Store, \"partitioned\".Purchase where 
Store.id=Purchase.storeId and Store.id=?");
- * </pre>
- * <h2 class="header">Custom functions in SQL queries.</h2>
- * It is possible to write custom Java methods and call then form SQL queries. 
These methods must be public static
- * and annotated with {@link GridCacheQuerySqlFunction}. Classes containing 
these methods must be registered in
- * {@link GridQueryConfiguration#setIndexCustomFunctionClasses(Class[])}.
- * <h1 class="header">Full Text Queries</h1>
- * GridGain supports full text queries based on Apache Lucene engine. This 
queries are created by
- * {@link GridCacheQueries#createFullTextQuery(Class, String)} method. Note 
that all fields that
- * are expected to show up in text query results must be annotated with {@link 
GridCacheQueryTextField}
- * annotation.
- * <h1 class="header">Scan Queries</h1>
- * Sometimes when it is known in advance that SQL query will cause a full data 
scan, or whenever data set
- * is relatively small, the full scan query may be used. This query will 
iterate over all cache
- * entries, skipping over entries that don't pass the optionally provided 
key-value filter
- * (see {@link 
GridCacheQueries#createScanQuery(org.apache.ignite.lang.IgniteBiPredicate)} 
method).
- * <h2 class="header">Limitations</h2>
- * Data in GridGain cache is usually distributed across several nodes,
- * so some queries may not work as expected. Keep in mind following limitations
- * (not applied if data is queried from one node only):
- * <ul>
- *     <li>
- *         {@code Group by} and {@code sort by} statements are applied 
separately
- *         on each node, so result set will likely be incorrectly grouped or 
sorted
- *         after results from multiple remote nodes are grouped together.
- *     </li>
- *     <li>
- *         Aggregation functions like {@code sum}, {@code max}, {@code avg}, 
etc.
- *         are also applied on each node. Therefore you will get several 
results
- *         containing aggregated values, one for each node.
- *     </li>
- *     <li>
- *         Joins will work correctly only if joined objects are stored in
- *         collocated mode or at least one side of the join is stored in
- *         {@link GridCacheMode#REPLICATED} cache. Refer to
- *         {@link GridCacheAffinityKey} javadoc for more information about 
colocation.
- *     </li>
- * </ul>
- * <h1 class="header">Query usage</h1>
- * As an example, suppose we have data model consisting of {@code 'Employee'} 
and {@code 'Organization'}
- * classes defined as follows:
- * <pre name="code" class="java">
- * public class Organization {
- *     // Indexed field.
- *     &#64;GridCacheQuerySqlField(index = true)
- *     private long id;
- *
- *     // Indexed field.
- *     &#64;GridCacheQuerySqlField(index = true)
- *     private String name;
- *     ...
- * }
- *
- * public class Person {
- *     // Indexed field.
- *     &#64;GridCacheQuerySqlField(index = true)
- *     private long id;
- *
- *     // Indexed field (Organization ID, used as a foreign key).
- *     &#64;GridCacheQuerySqlField(index = true)
- *     private long orgId;
- *
- *     // Without SQL field annotation, this field cannot be used in queries.
- *     private String name;
- *
- *     // Not indexed field.
- *     &#64;GridCacheQuerySqlField
- *     private double salary;
- *
- *     // Index for text search.
- *     &#64;GridCacheQueryTextField
- *     private String resume;
- *     ...
- * }
- * </pre>
- * Then you can create and execute queries that check various salary ranges 
like so:
- * <pre name="code" class="java">
- * GridCache&lt;Long, Person&gt; cache = G.grid().cache();
- * ...
- * // Create query which selects salaries based on range for all employees
- * // that work for a certain company.
- * GridCacheQuery&lt;Map.Entry&lt;Long, Person&gt;&gt; qry = 
cache.queries().createSqlQuery(Person.class,
- *     "from Person, Organization where Person.orgId = Organization.id " +
- *         "and Organization.name = ? and Person.salary &gt; ? and 
Person.salary &lt;= ?");
- *
- * // Query all nodes to find all cached GridGain employees
- * // with salaries less than 1000.
- * qry.execute("GridGain", 0, 1000);
- *
- * // Query only remote nodes to find all remotely cached GridGain employees
- * // with salaries greater than 1000 and less than 2000.
- * qry.projection(grid.remoteProjection()).execute("GridGain", 1000, 2000);
- * </pre>
- * Here is a possible query that will use Lucene text search to scan all 
resumes to
- * check if employees have {@code Master} degree:
- * <pre name="code" class="java">
- * GridCacheQuery&lt;Map.Entry&lt;Long, Person&gt;&gt; mastersQry =
- *     cache.queries().createFullTextQuery(Person.class, "Master");
- *
- * // Query all cache nodes.
- * mastersQry.execute();
- * </pre>
- * <h1 class="header">Geo-Spatial Indexes and Queries</h1>
- * GridGain also support <b>Geo-Spatial Indexes</b>. Here is an example of 
geo-spatial index:
- * <pre name="code" class="java">
- * private class MapPoint implements Serializable {
- *     // Geospatial index.
- *     &#64;GridCacheQuerySqlField(index = true)
- *     private com.vividsolutions.jts.geom.Point location;
- *
- *     // Not indexed field.
- *     &#64;GridCacheQuerySqlField
- *     private String name;
- *
- *     public MapPoint(com.vividsolutions.jts.geom.Point location, String 
name) {
- *         this.location = location;
- *         this.name = name;
- *     }
- * }
- * </pre>
- * Example of spatial query on the geo-indexed field from above:
- * <pre name="code" class="java">
- * com.vividsolutions.jts.geom.GeometryFactory factory = new 
com.vividsolutions.jts.geom.GeometryFactory();
- *
- * com.vividsolutions.jts.geom.Polygon square = factory.createPolygon(new 
Coordinate[] {
- *     new com.vividsolutions.jts.geom.Coordinate(0, 0),
- *     new com.vividsolutions.jts.geom.Coordinate(0, 100),
- *     new com.vividsolutions.jts.geom.Coordinate(100, 100),
- *     new com.vividsolutions.jts.geom.Coordinate(100, 0),
- *     new com.vividsolutions.jts.geom.Coordinate(0, 0)
- * });
- *
- * Map.Entry<String, UserData> records = 
cache.queries().createSqlQuery(MapPoint.class, "select * from MapPoint where 
location && ?")
- *     .queryArguments(square)
- *     .execute()
- *     .get();
- * </pre>
- */
-public interface GridCacheQuery<T> {
-    /** Default query page size. */
-    public static final int DFLT_PAGE_SIZE = 1024;
-
-    /**
-     * Sets result page size. If not provided, {@link #DFLT_PAGE_SIZE} will be 
used.
-     * Results are returned from queried nodes one page at a tme.
-     *
-     * @param pageSize Page size.
-     * @return {@code this} query instance for chaining.
-     */
-    public GridCacheQuery<T> pageSize(int pageSize);
-
-    /**
-     * Sets query timeout. {@code 0} means there is no timeout (this
-     * is a default value).
-     *
-     * @param timeout Query timeout.
-     * @return {@code this} query instance for chaining.
-     */
-    public GridCacheQuery<T> timeout(long timeout);
-
-    /**
-     * Sets whether or not to keep all query results local. If not - only the 
current page
-     * is kept locally. Default value is {@code true}.
-     *
-     * @param keepAll Keep results or not.
-     * @return {@code this} query instance for chaining.
-     */
-    public GridCacheQuery<T> keepAll(boolean keepAll);
-
-    /**
-     * Sets whether or not to include backup entries into query result. This 
flag
-     * is {@code false} by default.
-     *
-     * @param incBackups Query {@code includeBackups} flag.
-     * @return {@code this} query instance for chaining.
-     */
-    public GridCacheQuery<T> includeBackups(boolean incBackups);
-
-    /**
-     * Sets whether or not to deduplicate query result set. If this flag is 
{@code true}
-     * then query result will not contain some key more than once even if 
several nodes
-     * returned entries with the same keys. Default value is {@code false}.
-     *
-     * @param dedup Query {@code enableDedup} flag.
-     * @return {@code this} query instance for chaining.
-     */
-    public GridCacheQuery<T> enableDedup(boolean dedup);
-
-    /**
-     * Sets optional grid projection to execute this query on.
-     *
-     * @param prj Projection.
-     * @return {@code this} query instance for chaining.
-     */
-    public GridCacheQuery<T> projection(ClusterGroup prj);
-
-    /**
-     * Executes the query and returns the query future. Caller may decide to 
iterate
-     * over the returned future directly in which case the iterator may block 
until
-     * the next value will become available, or wait for the whole query to 
finish
-     * by calling any of the {@code 'get(..)'} methods on the returned future. 
If
-     * {@link #keepAll(boolean)} flag is set to {@code false}, then {@code 
'get(..)'}
-     * methods will only return the last page received, otherwise all pages 
will be
-     * accumulated and returned to user as a collection.
-     * <p>
-     * Note that if the passed in grid projection is a local node, then query
-     * will be executed locally without distribution to other nodes.
-     * <p>
-     * Also note that query state cannot be changed (clause, timeout etc.), 
except
-     * arguments, if this method was called at least once.
-     *
-     * @param args Optional arguments.
-     * @return Future for the query result.
-     */
-    public GridCacheQueryFuture<T> execute(@Nullable Object... args);
-
-    /**
-     * Executes the query the same way as {@link #execute(Object...)} method 
but reduces result remotely.
-     *
-     * @param rmtReducer Remote reducer.
-     * @param args Optional arguments.
-     * @return Future for the query result.
-     */
-    public <R> GridCacheQueryFuture<R> execute(IgniteReducer<T, R> rmtReducer, 
@Nullable Object... args);
-
-    /**
-     * Executes the query the same way as {@link #execute(Object...)} method 
but transforms result remotely.
-     *
-     * @param rmtTransform Remote transformer.
-     * @param args Optional arguments.
-     * @return Future for the query result.
-     */
-    public <R> GridCacheQueryFuture<R> execute(IgniteClosure<T, R> 
rmtTransform, @Nullable Object... args);
-
-    /**
-     * Gets metrics for this query.
-     *
-     * @return Query metrics.
-     */
-    public GridCacheQueryMetrics metrics();
-
-    /**
-     * Resets metrics for this query.
-     */
-    public void resetMetrics();
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/7b1a738d/modules/core/src/main/java/org/gridgain/grid/cache/query/GridCacheQueryConfiguration.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/cache/query/GridCacheQueryConfiguration.java
 
b/modules/core/src/main/java/org/gridgain/grid/cache/query/GridCacheQueryConfiguration.java
deleted file mode 100644
index 89733be..0000000
--- 
a/modules/core/src/main/java/org/gridgain/grid/cache/query/GridCacheQueryConfiguration.java
+++ /dev/null
@@ -1,203 +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.gridgain.grid.cache.query;
-
-import java.io.*;
-import java.util.*;
-
-/**
- * Query configuration object.
- */
-public class GridCacheQueryConfiguration implements Serializable {
-    /** */
-    private static final long serialVersionUID = 0L;
-
-    /** Collection of query type metadata. */
-    private Collection<GridCacheQueryTypeMetadata> typeMeta;
-
-    /** Query type resolver. */
-    private GridCacheQueryTypeResolver typeRslvr;
-
-    /** */
-    private boolean idxPrimitiveKey;
-
-    /** */
-    private boolean idxPrimitiveVal;
-
-    /** */
-    private boolean idxFixedTyping;
-
-    /** */
-    private boolean escapeAll;
-
-    /**
-     * Default constructor.
-     */
-    public GridCacheQueryConfiguration() {
-        // No-op.
-    }
-
-    /**
-     * @param cfg Configuration to copy.
-     */
-    public GridCacheQueryConfiguration(GridCacheQueryConfiguration cfg) {
-        typeMeta = cfg.getTypeMetadata();
-        typeRslvr = cfg.getTypeResolver();
-        idxPrimitiveKey = cfg.isIndexPrimitiveKey();
-        idxPrimitiveVal = cfg.isIndexPrimitiveValue();
-        idxFixedTyping = cfg.isIndexFixedTyping();
-        escapeAll = cfg.isEscapeAll();
-    }
-
-    /**
-     * Gets collection of query type metadata objects.
-     *
-     * @return Collection of query type metadata.
-     */
-    public Collection<GridCacheQueryTypeMetadata> getTypeMetadata() {
-        return typeMeta;
-    }
-
-    /**
-     * Sets collection of query type metadata objects.
-     *
-     * @param typeMeta Collection of query type metadata.
-     */
-    public void setTypeMetadata(Collection<GridCacheQueryTypeMetadata> 
typeMeta) {
-        this.typeMeta = typeMeta;
-    }
-
-    /**
-     * Gets query type resolver.
-     *
-     * @return Query type resolver.
-     */
-    public GridCacheQueryTypeResolver getTypeResolver() {
-        return typeRslvr;
-    }
-
-    /**
-     * Sets query type resolver.
-     *
-     * @param typeRslvr Query type resolver.
-     */
-    public void setTypeResolver(GridCacheQueryTypeResolver typeRslvr) {
-        this.typeRslvr = typeRslvr;
-    }
-
-    /**
-     * Gets flag indicating whether SQL engine should index by key in cases
-     * where key is primitive type
-     *
-     * @return {@code True} if primitive keys should be indexed.
-     */
-    public boolean isIndexPrimitiveKey() {
-        return idxPrimitiveKey;
-    }
-
-    /**
-     * Sets flag indicating whether SQL engine should index by key in cases
-     * where key is primitive type.
-     *
-     * @param idxPrimitiveKey {@code True} if primitive keys should be indexed.
-     */
-    public void setIndexPrimitiveKey(boolean idxPrimitiveKey) {
-        this.idxPrimitiveKey = idxPrimitiveKey;
-    }
-
-    /**
-     * Gets flag indicating whether SQL engine should index by value in cases
-     * where value is primitive type
-     *
-     * @return {@code True} if primitive values should be indexed.
-     */
-    public boolean isIndexPrimitiveValue() {
-        return idxPrimitiveVal;
-    }
-
-    /**
-     * Sets flag indexing whether SQL engine should index by value in cases
-     * where value is primitive type.
-     *
-     * @param idxPrimitiveVal {@code True} if primitive values should be 
indexed.
-     */
-    public void setIndexPrimitiveValue(boolean idxPrimitiveVal) {
-        this.idxPrimitiveVal = idxPrimitiveVal;
-    }
-
-    /**
-     * This flag essentially controls whether all values of the same type have
-     * identical key type.
-     * <p>
-     * If {@code false}, SQL engine will store all keys in BINARY form to make 
it possible to store
-     * the same value type with different key types. If {@code true}, key type 
will be converted
-     * to respective SQL type if it is possible, hence, improving performance 
of queries.
-     * <p>
-     * Setting this value to {@code false} also means that {@code '_key'} 
column cannot be indexed and
-     * cannot participate in query where clauses. The behavior of using '_key' 
column in where
-     * clauses with this flag set to {@code false} is undefined.
-     *
-     * @return {@code True} if SQL engine should try to convert values to 
their respective SQL
-     *      types for better performance.
-     */
-    public boolean isIndexFixedTyping() {
-        return idxFixedTyping;
-    }
-
-    /**
-     * This flag essentially controls whether key type is going to be identical
-     * for all values of the same type.
-     * <p>
-     * If false, SQL engine will store all keys in BINARY form to make it 
possible to store
-     * the same value type with different key types. If true, key type will be 
converted
-     * to respective SQL type if it is possible, which may provide significant 
performance
-     * boost.
-     *
-     * @param idxFixedTyping {@code True} if SQL engine should try to convert 
values to their respective SQL
-     *      types for better performance.
-     */
-    public void setIndexFixedTyping(boolean idxFixedTyping) {
-        this.idxFixedTyping = idxFixedTyping;
-    }
-
-    /**
-     * If {@code true}, then table name and all column names in 'create table' 
SQL
-     * generated for SQL engine are escaped with double quotes. This flag 
should be set if table name of
-     * column name is H2 reserved word or is not valid H2 identifier (e.g. 
contains space or hyphen).
-     * <p>
-     * Note if this flag is set then table and column name in SQL queries also 
must be escaped with double quotes.
-
-     * @return Flag value.
-     */
-    public boolean isEscapeAll() {
-        return escapeAll;
-    }
-
-    /**
-     * If {@code true}, then table name and all column names in 'create table' 
SQL
-     * generated for SQL engine are escaped with double quotes. This flag 
should be set if table name of
-     * column name is H2 reserved word or is not valid H2 identifier (e.g. 
contains space or hyphen).
-     * <p>
-     * Note if this flag is set then table and column name in SQL queries also 
must be escaped with double quotes.
-
-     * @param escapeAll Flag value.
-     */
-    public void setEscapeAll(boolean escapeAll) {
-        this.escapeAll = escapeAll;
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/7b1a738d/modules/core/src/main/java/org/gridgain/grid/cache/query/GridCacheQueryFuture.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/cache/query/GridCacheQueryFuture.java
 
b/modules/core/src/main/java/org/gridgain/grid/cache/query/GridCacheQueryFuture.java
deleted file mode 100644
index 7af5ce4..0000000
--- 
a/modules/core/src/main/java/org/gridgain/grid/cache/query/GridCacheQueryFuture.java
+++ /dev/null
@@ -1,66 +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.gridgain.grid.cache.query;
-
-import org.apache.ignite.*;
-import org.apache.ignite.lang.*;
-import org.jetbrains.annotations.*;
-
-import java.util.*;
-
-/**
- * Cache query future returned by query execution.
- * Refer to {@link GridCacheQuery} documentation for more information.
- */
-public interface GridCacheQueryFuture<T> extends IgniteFuture<Collection<T>> {
-    /**
-     * Returns number of elements that are already fetched and can
-     * be returned from {@link #next()} method without blocking.
-     *
-     * @return Number of fetched elements which are available immediately.
-     * @throws IgniteCheckedException In case of error.
-     */
-    public int available() throws IgniteCheckedException;
-
-    /**
-     * Returns next element from result set.
-     * <p>
-     * This is a blocking call which will wait if there are no
-     * elements available immediately.
-     *
-     * @return Next fetched element or {@code null} if all the elements have 
been fetched.
-     * @throws IgniteCheckedException If failed.
-     */
-    @Nullable public T next() throws IgniteCheckedException;
-
-    /**
-     * Checks if all data is fetched by the query.
-     *
-     * @return {@code True} if all data is fetched, {@code false} otherwise.
-     */
-    @Override public boolean isDone();
-
-    /**
-     * Cancels this query future and stop receiving any further results for 
the query
-     * associated with this future.
-     *
-     * @return {@inheritDoc}
-     * @throws IgniteCheckedException {@inheritDoc}
-     */
-    @Override public boolean cancel() throws IgniteCheckedException;
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/7b1a738d/modules/core/src/main/java/org/gridgain/grid/cache/query/GridCacheQueryGroupIndex.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/cache/query/GridCacheQueryGroupIndex.java
 
b/modules/core/src/main/java/org/gridgain/grid/cache/query/GridCacheQueryGroupIndex.java
deleted file mode 100644
index 40e8b34..0000000
--- 
a/modules/core/src/main/java/org/gridgain/grid/cache/query/GridCacheQueryGroupIndex.java
+++ /dev/null
@@ -1,58 +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.gridgain.grid.cache.query;
-
-import java.lang.annotation.*;
-
-/**
- * Describes group index.
- */
-@Retention(RetentionPolicy.RUNTIME)
-@Target(ElementType.TYPE)
-public @interface GridCacheQueryGroupIndex {
-    /**
-     * Group index name.
-     *
-     * @return Name.
-     */
-    String name();
-
-    /**
-     * If this index is unique.
-     *
-     * @return True if this index is unique, false otherwise.
-     * @deprecated No longer supported, will be ignored.
-     */
-    @Deprecated
-    boolean unique() default false;
-
-    /**
-     * List of group indexes for type.
-     */
-    @SuppressWarnings("PublicInnerClass")
-    @Retention(RetentionPolicy.RUNTIME)
-    @Target(ElementType.TYPE)
-    public static @interface List {
-        /**
-         * Gets array of group indexes.
-         *
-         * @return Array of group indexes.
-         */
-        GridCacheQueryGroupIndex[] value();
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/7b1a738d/modules/core/src/main/java/org/gridgain/grid/cache/query/GridCacheQueryMetrics.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/cache/query/GridCacheQueryMetrics.java
 
b/modules/core/src/main/java/org/gridgain/grid/cache/query/GridCacheQueryMetrics.java
deleted file mode 100644
index 676a6a3..0000000
--- 
a/modules/core/src/main/java/org/gridgain/grid/cache/query/GridCacheQueryMetrics.java
+++ /dev/null
@@ -1,60 +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.gridgain.grid.cache.query;
-
-/**
- * Cache query metrics used to obtain statistics on query. You can get metrics 
for
- * particular query via {@link GridCacheQuery#metrics()} method or accumulated 
metrics
- * for all queries via {@link GridCacheQueries#metrics()}.
- */
-public interface GridCacheQueryMetrics {
-    /**
-     * Gets minimum execution time of query.
-     *
-     * @return Minimum execution time of query.
-     */
-    public long minimumTime();
-
-    /**
-     * Gets maximum execution time of query.
-     *
-     * @return Maximum execution time of query.
-     */
-    public long maximumTime();
-
-    /**
-     * Gets average execution time of query.
-     *
-     * @return Average execution time of query.
-     */
-    public double averageTime();
-
-    /**
-     * Gets total number execution of query.
-     *
-     * @return Number of executions.
-     */
-    public int executions();
-
-    /**
-     * Gets total number of times a query execution failed.
-     *
-     * @return Total number of times a query execution failed.
-     */
-    public int fails();
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/7b1a738d/modules/core/src/main/java/org/gridgain/grid/cache/query/GridCacheQuerySqlField.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/cache/query/GridCacheQuerySqlField.java
 
b/modules/core/src/main/java/org/gridgain/grid/cache/query/GridCacheQuerySqlField.java
deleted file mode 100644
index 1cd7664..0000000
--- 
a/modules/core/src/main/java/org/gridgain/grid/cache/query/GridCacheQuerySqlField.java
+++ /dev/null
@@ -1,133 +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.gridgain.grid.cache.query;
-
-import java.lang.annotation.*;
-
-/**
- * Annotates fields for SQL queries. All fields that will be involved in SQL 
clauses must have
- * this annotation. For more information about cache queries see {@link 
GridCacheQuery} documentation.
- * @see GridCacheQuery
- */
-@Documented
-@Retention(RetentionPolicy.RUNTIME)
-@Target({ElementType.METHOD, ElementType.FIELD})
-public @interface GridCacheQuerySqlField {
-    /**
-     * Specifies whether cache should maintain an index for this field or not.
-     * Just like with databases, field indexing may require additional overhead
-     * during updates, but makes select operations faster.
-     * <p>
-     * When indexing SPI and indexed field is
-     * of type {@code com.vividsolutions.jts.geom.Geometry} (or any subclass 
of this class) then GridGain will
-     * consider this index as spatial providing performance boost for spatial 
queries.
-     *
-     * @return {@code True} if index must be created for this field in 
database.
-     */
-    boolean index() default false;
-
-    /**
-     * Specifies whether index should be unique or not. This property only
-     * makes sense if {@link #index()} property is set to {@code true}.
-     *
-     * @return {@code True} if field index should be unique.
-     * @deprecated No longer supported, will be ignored.
-     */
-    @Deprecated
-    boolean unique() default false;
-
-    /**
-     * Specifies whether index should be in descending order or not. This 
property only
-     * makes sense if {@link #index()} property is set to {@code true}.
-     *
-     * @return {@code True} if field index should be in descending order.
-     */
-    boolean descending() default false;
-
-    /**
-     * Array of index groups this field belongs to. Groups are used for 
compound indexes,
-     * whenever index should be created on more than one field. All fields 
within the same
-     * group will belong to the same index.
-     * <p>
-     * Group indexes are needed because SQL engine can utilize only one index 
per table occurrence in a query.
-     * For example if we have two separate indexes on fields {@code a} and 
{@code b} of type {@code X} then
-     * query {@code select * from X where a = ? and b = ?} will use for 
filtering either index on field {@code a}
-     * or {@code b} but not both. For more effective query execution here it 
is preferable to have a single
-     * group index on both fields.
-     * <p>
-     * For more complex scenarios please refer to {@link 
GridCacheQuerySqlField.Group} documentation.
-     *
-     * @return Array of group names.
-     */
-    String[] groups() default {};
-
-    /**
-     * Array of ordered index groups this field belongs to. For more 
information please refer to
-     * {@linkplain GridCacheQuerySqlField.Group} documentation.
-     *
-     * @return Array of ordered group indexes.
-     * @see #groups()
-     */
-    Group[] orderedGroups() default {};
-
-    /**
-     * Property name. If not provided then field name will be used.
-     *
-     * @return Name of property.
-     */
-    String name() default "";
-
-    /**
-     * Describes group of index and position of field in this group.
-     * <p>
-     * Opposite to {@link #groups()} this annotation gives control over order 
of fields in a group index.
-     * This can be needed in scenarios when we have a query like
-     * {@code select * from X where a = ? and b = ? order by b desc}. If we 
have index {@code (a asc, b asc)}
-     * sorting on {@code b} will be performed. Here it is preferable to have 
index {@code (b desc, a asc)}
-     * which will still allow query to search on index using both fields and 
avoid sorting because index
-     * is already sorted in needed way.
-     *
-     * @see #groups()
-     * @see #orderedGroups()
-     */
-    @Retention(RetentionPolicy.RUNTIME)
-    @Target({ElementType.METHOD, ElementType.FIELD})
-    @SuppressWarnings("PublicInnerClass")
-    public static @interface Group {
-        /**
-         * Group index name where this field participate.
-         *
-         * @return Group index name
-         */
-        String name();
-
-        /**
-         * Fields in this group index will be sorted on this attribute.
-         *
-         * @return Order number.
-         */
-        int order();
-
-        /**
-         * Defines sorting order for this field in group.
-         *
-         * @return True if field will be in descending order.
-         */
-        boolean descending() default false;
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/7b1a738d/modules/core/src/main/java/org/gridgain/grid/cache/query/GridCacheQuerySqlFunction.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/cache/query/GridCacheQuerySqlFunction.java
 
b/modules/core/src/main/java/org/gridgain/grid/cache/query/GridCacheQuerySqlFunction.java
deleted file mode 100644
index 0575d82..0000000
--- 
a/modules/core/src/main/java/org/gridgain/grid/cache/query/GridCacheQuerySqlFunction.java
+++ /dev/null
@@ -1,69 +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.gridgain.grid.cache.query;
-
-import org.apache.ignite.configuration.*;
-
-import java.lang.annotation.*;
-
-/**
- * Annotates public static methods in classes to be used in SQL queries as 
custom functions.
- * Annotated class must be registered in H2 indexing SPI using following method
- * {@link GridQueryConfiguration#setIndexCustomFunctionClasses(Class[])}.
- * <p>
- * Example usage:
- * <pre name="code" class="java">
- *     public class MyFunctions {
- *         &#64;GridCacheQuerySqlFunction
- *         public static int sqr(int x) {
- *             return x * x;
- *         }
- *     }
- *
- *     // Register.
- *     indexing.setIndexCustomFunctionClasses(MyFunctions.class);
- *
- *     // And use in queries.
- *     cache.queries().createSqlFieldsQuery("select sqr(2) where sqr(1) = 1");
- * </pre>
- * <p>
- * For more information about H2 custom functions please refer to
- * <a 
href="http://www.h2database.com/html/features.html#user_defined_functions";>H2 
documentation</a>.
- */
-@Documented
-@Retention(RetentionPolicy.RUNTIME)
-@Target(ElementType.METHOD)
-public @interface GridCacheQuerySqlFunction {
-    /**
-     * Specifies alias for the function to be used form SQL queries.
-     * If no alias provided method name will be used.
-     *
-     * @return Alias for function.
-     */
-    String alias() default "";
-
-    /**
-     * Specifies if the function is deterministic (result depends only on 
input parameters).
-     * <p>
-     * Deterministic function is a function which always returns the same 
result
-     * assuming that input parameters are the same.
-     *
-     * @return {@code true} If function is deterministic, {@code false} 
otherwise.
-     */
-    boolean deterministic() default false;
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/7b1a738d/modules/core/src/main/java/org/gridgain/grid/cache/query/GridCacheQueryTextField.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/cache/query/GridCacheQueryTextField.java
 
b/modules/core/src/main/java/org/gridgain/grid/cache/query/GridCacheQueryTextField.java
deleted file mode 100644
index 0421c01..0000000
--- 
a/modules/core/src/main/java/org/gridgain/grid/cache/query/GridCacheQueryTextField.java
+++ /dev/null
@@ -1,33 +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.gridgain.grid.cache.query;
-
-import java.lang.annotation.*;
-
-/**
- * Annotation for fields or getters to be indexed for full text
- * search using {@code H2 TEXT} indexing. For more information
- * refer to {@link GridCacheQuery} documentation.
- * @see GridCacheQuery
- */
-@Documented
-@Retention(RetentionPolicy.RUNTIME)
-@Target({ElementType.METHOD, ElementType.FIELD, ElementType.TYPE})
-public @interface GridCacheQueryTextField {
-    // No-op.
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/7b1a738d/modules/core/src/main/java/org/gridgain/grid/cache/query/GridCacheQueryType.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/cache/query/GridCacheQueryType.java
 
b/modules/core/src/main/java/org/gridgain/grid/cache/query/GridCacheQueryType.java
deleted file mode 100644
index 39a76b9..0000000
--- 
a/modules/core/src/main/java/org/gridgain/grid/cache/query/GridCacheQueryType.java
+++ /dev/null
@@ -1,47 +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.gridgain.grid.cache.query;
-
-/**
- * Cache query type.
- * <p>
- * Used in {@link org.apache.ignite.events.IgniteCacheQueryExecutedEvent} and 
{@link org.apache.ignite.events.IgniteCacheQueryReadEvent}
- * to identify the type of query for which an event was fired.
- *
- * @see org.apache.ignite.events.IgniteCacheQueryExecutedEvent#queryType()
- * @see org.apache.ignite.events.IgniteCacheQueryReadEvent#queryType()
- */
-public enum GridCacheQueryType {
-    /** SQL query. */
-    SQL,
-
-    /** SQL fields query. */
-    SQL_FIELDS,
-
-    /** Full text query. */
-    FULL_TEXT,
-
-    /** Scan query. */
-    SCAN,
-
-    /** Continuous query. */
-    CONTINUOUS,
-
-    /** SPI query. */
-    SPI
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/7b1a738d/modules/core/src/main/java/org/gridgain/grid/cache/query/GridCacheQueryTypeMetadata.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/cache/query/GridCacheQueryTypeMetadata.java
 
b/modules/core/src/main/java/org/gridgain/grid/cache/query/GridCacheQueryTypeMetadata.java
deleted file mode 100644
index d4a3eb9..0000000
--- 
a/modules/core/src/main/java/org/gridgain/grid/cache/query/GridCacheQueryTypeMetadata.java
+++ /dev/null
@@ -1,196 +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.gridgain.grid.cache.query;
-
-import org.apache.ignite.lang.*;
-import org.gridgain.grid.util.tostring.*;
-import org.gridgain.grid.util.typedef.internal.*;
-
-import java.util.*;
-
-/**
- * Cache query type metadata.
- */
-public class GridCacheQueryTypeMetadata {
-    /** Type name, e.g. class name. */
-    @GridToStringInclude
-    private String type;
-
-    /** Fields to be queried, in addition to indexed fields. */
-    @GridToStringInclude
-    private Map<String, Class<?>> qryFlds = new HashMap<>();
-
-    /** Fields to index in ascending order. */
-    @GridToStringInclude
-    private Map<String, Class<?>> ascFlds = new HashMap<>();
-
-    /** Fields to index in descending order. */
-    @GridToStringInclude
-    private Map<String, Class<?>> descFlds = new HashMap<>();
-
-    /** Fields to index as text. */
-    @GridToStringInclude
-    private Collection<String> txtFlds = new LinkedHashSet<>();
-
-    /** Fields to create group indexes for. */
-    @GridToStringInclude
-    private Map<String, LinkedHashMap<String, IgniteBiTuple<Class<?>, 
Boolean>>> grps;
-
-    /**
-     * Default constructor.
-     */
-    public GridCacheQueryTypeMetadata() {
-        // No-op.
-    }
-
-    /**
-     *
-     */
-    public GridCacheQueryTypeMetadata(GridCacheQueryTypeMetadata src) {
-        type = src.getType();
-
-        qryFlds = new HashMap<>(src.getQueryFields());
-        ascFlds = new HashMap<>(src.getAscendingFields());
-        descFlds = new HashMap<>(src.getDescendingFields());
-        txtFlds = new HashSet<>(src.getTextFields());
-
-        grps = new HashMap<>(src.getGroups());
-    }
-
-    /**
-     * Gets type (e.g. class name).
-     *
-     * @return Type name.
-     */
-    public String getType() {
-        return type;
-    }
-
-    /**
-     * Sets type.
-     *
-     * @param cls Type class.
-     */
-    public void setType(Class<?> cls) {
-        setType(cls.getName());
-    }
-
-    /**
-     * Sets type.
-     *
-     * @param type Type name.
-     */
-    public void setType(String type) {
-        this.type = type;
-    }
-
-    /**
-     * Gets query-enabled fields.
-     *
-     * @return Collection of fields available for query.
-     */
-    public Map<String, Class<?>> getQueryFields() {
-        return qryFlds;
-    }
-
-    /**
-     * Sets query fields map.
-     *
-     * @param qryFlds Query fields.
-     */
-    public void setQueryFields(Map<String, Class<?>> qryFlds) {
-        this.qryFlds = qryFlds;
-    }
-
-    /**
-     * Gets ascending-indexed fields.
-     *
-     * @return Map of ascending-indexed fields.
-     */
-    public Map<String, Class<?>> getAscendingFields() {
-        return ascFlds;
-    }
-
-    /**
-     * Sets ascending-indexed fields.
-     *
-     * @param ascFlds Map of ascending-indexed fields.
-     */
-    public void setAscendingFields(Map<String, Class<?>> ascFlds) {
-        this.ascFlds = ascFlds;
-    }
-
-    /**
-     * Gets descending-indexed fields.
-     *
-     * @return Map of descending-indexed fields.
-     */
-    public Map<String, Class<?>> getDescendingFields() {
-        return descFlds;
-    }
-
-    /**
-     * Sets descending-indexed fields.
-     *
-     * @param descFlds Map of descending-indexed fields.
-     */
-    public void setDescendingFields(Map<String, Class<?>> descFlds) {
-        this.descFlds = descFlds;
-    }
-
-    /**
-     * Gets text-indexed fields.
-     *
-     * @return Collection of text indexed fields.
-     */
-    public Collection<String> getTextFields() {
-        return txtFlds;
-    }
-
-    /**
-     * Sets text-indexed fields.
-     *
-     * @param txtFlds Text-indexed fields.
-     */
-    public void setTextFields(Collection<String> txtFlds) {
-        this.txtFlds = txtFlds;
-    }
-
-    /**
-     * Gets group-indexed fields.
-     *
-     * @return Map of group-indexed fields.
-     */
-    public Map<String, LinkedHashMap<String, IgniteBiTuple<Class<?>, 
Boolean>>> getGroups() {
-        return grps;
-    }
-
-    /**
-     * Sets group-indexed fields.
-     *
-     * @param grps Map of group-indexed fields from index name to index fields.
-     */
-    public void setGroups(Map<String, LinkedHashMap<String, 
IgniteBiTuple<Class<?>, Boolean>>> grps) {
-        this.grps = grps;
-    }
-
-    /** {@inheritDoc} */
-    @Override public String toString() {
-        return S.toString(GridCacheQueryTypeMetadata.class, this);
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/7b1a738d/modules/core/src/main/java/org/gridgain/grid/cache/query/GridCacheQueryTypeResolver.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/cache/query/GridCacheQueryTypeResolver.java
 
b/modules/core/src/main/java/org/gridgain/grid/cache/query/GridCacheQueryTypeResolver.java
deleted file mode 100644
index 92a604c..0000000
--- 
a/modules/core/src/main/java/org/gridgain/grid/cache/query/GridCacheQueryTypeResolver.java
+++ /dev/null
@@ -1,32 +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.gridgain.grid.cache.query;
-
-/**
- * Interface allowing to override table name for portable objects stored in 
cache.
- */
-public interface GridCacheQueryTypeResolver {
-    /**
-     * Allows to override type name for portable objects being stored in cache.
-     *
-     * @param key Key.
-     * @param val Value.
-     * @return Type name.
-     */
-    public String resolveTypeName(Object key, Object val);
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/7b1a738d/modules/core/src/main/java/org/gridgain/grid/cache/query/package.html
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/cache/query/package.html 
b/modules/core/src/main/java/org/gridgain/grid/cache/query/package.html
deleted file mode 100644
index 40ade50..0000000
--- a/modules/core/src/main/java/org/gridgain/grid/cache/query/package.html
+++ /dev/null
@@ -1,23 +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.
-  -->
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd";>
-<html>
-<body>
-<!-- Package description. -->
-Contains APIs for creating and executing cache queries.
-</body>
-</html>

Reply via email to