http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e04165bb/modules/core/src/main/java/org/apache/ignite/portables/GridPortableWriter.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/portables/GridPortableWriter.java
 
b/modules/core/src/main/java/org/apache/ignite/portables/GridPortableWriter.java
new file mode 100644
index 0000000..0e91d55
--- /dev/null
+++ 
b/modules/core/src/main/java/org/apache/ignite/portables/GridPortableWriter.java
@@ -0,0 +1,242 @@
+/* @java.file.header */
+
+/*  _________        _____ __________________        _____
+ *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
+ *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+ *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+ *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+ */
+
+package org.apache.ignite.portables;
+
+import org.jetbrains.annotations.*;
+
+import java.sql.*;
+import java.util.*;
+import java.util.Date;
+
+/**
+ * Writer for portable object used in {@link GridPortableMarshalAware} 
implementations.
+ * Useful for the cases when user wants a fine-grained control over 
serialization.
+ * <p>
+ * Note that GridGain never writes full strings for field or type names. 
Instead,
+ * for performance reasons, GridGain writes integer hash codes for type and 
field names.
+ * It has been tested that hash code conflicts for the type names or the field 
names
+ * within the same type are virtually non-existent and, to gain performance, 
it is safe
+ * to work with hash codes. For the cases when hash codes for different types 
or fields
+ * actually do collide, GridGain provides {@link GridPortableIdMapper} which
+ * allows to override the automatically generated hash code IDs for the type 
and field names.
+ */
+public interface GridPortableWriter {
+    /**
+     * @param fieldName Field name.
+     * @param val Value to write.
+     * @throws GridPortableException In case of error.
+     */
+    public void writeByte(String fieldName, byte val) throws 
GridPortableException;
+
+    /**
+     * @param fieldName Field name.
+     * @param val Value to write.
+     * @throws GridPortableException In case of error.
+     */
+    public void writeShort(String fieldName, short val) throws 
GridPortableException;
+
+    /**
+     * @param fieldName Field name.
+     * @param val Value to write.
+     * @throws GridPortableException In case of error.
+     */
+    public void writeInt(String fieldName, int val) throws 
GridPortableException;
+
+    /**
+     * @param fieldName Field name.
+     * @param val Value to write.
+     * @throws GridPortableException In case of error.
+     */
+    public void writeLong(String fieldName, long val) throws 
GridPortableException;
+
+    /**
+     * @param fieldName Field name.
+     * @param val Value to write.
+     * @throws GridPortableException In case of error.
+     */
+    public void writeFloat(String fieldName, float val) throws 
GridPortableException;
+
+    /**
+     * @param fieldName Field name.
+     * @param val Value to write.
+     * @throws GridPortableException In case of error.
+     */
+    public void writeDouble(String fieldName, double val) throws 
GridPortableException;
+
+    /**
+     * @param fieldName Field name.
+     * @param val Value to write.
+     * @throws GridPortableException In case of error.
+     */
+    public void writeChar(String fieldName, char val) throws 
GridPortableException;
+
+    /**
+     * @param fieldName Field name.
+     * @param val Value to write.
+     * @throws GridPortableException In case of error.
+     */
+    public void writeBoolean(String fieldName, boolean val) throws 
GridPortableException;
+
+    /**
+     * @param fieldName Field name.
+     * @param val Value to write.
+     * @throws GridPortableException In case of error.
+     */
+    public void writeString(String fieldName, @Nullable String val) throws 
GridPortableException;
+
+    /**
+     * @param fieldName Field name.
+     * @param val UUID to write.
+     * @throws GridPortableException In case of error.
+     */
+    public void writeUuid(String fieldName, @Nullable UUID val) throws 
GridPortableException;
+
+    /**
+     * @param fieldName Field name.
+     * @param val Date to write.
+     * @throws GridPortableException In case of error.
+     */
+    public void writeDate(String fieldName, @Nullable Date val) throws 
GridPortableException;
+
+    /**
+     * @param fieldName Field name.
+     * @param val Timestamp to write.
+     * @throws GridPortableException In case of error.
+     */
+    public void writeTimestamp(String fieldName, @Nullable Timestamp val) 
throws GridPortableException;
+
+    /**
+     * @param fieldName Field name.
+     * @param obj Value to write.
+     * @throws GridPortableException In case of error.
+     */
+    public void writeObject(String fieldName, @Nullable Object obj) throws 
GridPortableException;
+
+    /**
+     * @param fieldName Field name.
+     * @param val Value to write.
+     * @throws GridPortableException In case of error.
+     */
+    public void writeByteArray(String fieldName, @Nullable byte[] val) throws 
GridPortableException;
+
+    /**
+     * @param fieldName Field name.
+     * @param val Value to write.
+     * @throws GridPortableException In case of error.
+     */
+    public void writeShortArray(String fieldName, @Nullable short[] val) 
throws GridPortableException;
+
+    /**
+     * @param fieldName Field name.
+     * @param val Value to write.
+     * @throws GridPortableException In case of error.
+     */
+    public void writeIntArray(String fieldName, @Nullable int[] val) throws 
GridPortableException;
+
+    /**
+     * @param fieldName Field name.
+     * @param val Value to write.
+     * @throws GridPortableException In case of error.
+     */
+    public void writeLongArray(String fieldName, @Nullable long[] val) throws 
GridPortableException;
+
+    /**
+     * @param fieldName Field name.
+     * @param val Value to write.
+     * @throws GridPortableException In case of error.
+     */
+    public void writeFloatArray(String fieldName, @Nullable float[] val) 
throws GridPortableException;
+
+    /**
+     * @param fieldName Field name.
+     * @param val Value to write.
+     * @throws GridPortableException In case of error.
+     */
+    public void writeDoubleArray(String fieldName, @Nullable double[] val) 
throws GridPortableException;
+
+    /**
+     * @param fieldName Field name.
+     * @param val Value to write.
+     * @throws GridPortableException In case of error.
+     */
+    public void writeCharArray(String fieldName, @Nullable char[] val) throws 
GridPortableException;
+
+    /**
+     * @param fieldName Field name.
+     * @param val Value to write.
+     * @throws GridPortableException In case of error.
+     */
+    public void writeBooleanArray(String fieldName, @Nullable boolean[] val) 
throws GridPortableException;
+
+    /**
+     * @param fieldName Field name.
+     * @param val Value to write.
+     * @throws GridPortableException In case of error.
+     */
+    public void writeStringArray(String fieldName, @Nullable String[] val) 
throws GridPortableException;
+
+    /**
+     * @param fieldName Field name.
+     * @param val Value to write.
+     * @throws GridPortableException In case of error.
+     */
+    public void writeUuidArray(String fieldName, @Nullable UUID[] val) throws 
GridPortableException;
+
+    /**
+     * @param fieldName Field name.
+     * @param val Value to write.
+     * @throws GridPortableException In case of error.
+     */
+    public void writeDateArray(String fieldName, @Nullable Date[] val) throws 
GridPortableException;
+
+    /**
+     * @param fieldName Field name.
+     * @param val Value to write.
+     * @throws GridPortableException In case of error.
+     */
+    public void writeObjectArray(String fieldName, @Nullable Object[] val) 
throws GridPortableException;
+
+    /**
+     * @param fieldName Field name.
+     * @param col Collection to write.
+     * @throws GridPortableException In case of error.
+     */
+    public <T> void writeCollection(String fieldName, @Nullable Collection<T> 
col) throws GridPortableException;
+
+    /**
+     * @param fieldName Field name.
+     * @param map Map to write.
+     * @throws GridPortableException In case of error.
+     */
+    public <K, V> void writeMap(String fieldName, @Nullable Map<K, V> map) 
throws GridPortableException;
+
+    /**
+     * @param fieldName Field name.
+     * @param val Value to write.
+     * @throws GridPortableException In case of error.
+     */
+    public <T extends Enum<?>> void writeEnum(String fieldName, T val) throws 
GridPortableException;
+
+    /**
+     * @param fieldName Field name.
+     * @param val Value to write.
+     * @throws GridPortableException In case of error.
+     */
+    public <T extends Enum<?>> void writeEnumArray(String fieldName, T[] val) 
throws GridPortableException;
+
+    /**
+     * Gets raw writer. Raw writer does not write field name hash codes, 
therefore,
+     * making the format even more compact. However, if the raw writer is used,
+     * dynamic structure changes to the portable objects are not supported.
+     *
+     * @return Raw writer.
+     */
+    public GridPortableRawWriter rawWriter();
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e04165bb/modules/core/src/main/java/org/apache/ignite/portables/package.html
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/portables/package.html 
b/modules/core/src/main/java/org/apache/ignite/portables/package.html
new file mode 100644
index 0000000..cacbc3e
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/portables/package.html
@@ -0,0 +1,15 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd";>
+<!--
+    @html.file.header
+    _________        _____ __________________        _____
+    __  ____/___________(_)______  /__  ____/______ ____(_)_______
+    _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+    / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+    \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+-->
+<html>
+<body>
+    <!-- Package description. -->
+    Contains <b>Portable Objects</b> related functionality.
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e04165bb/modules/core/src/main/java/org/gridgain/client/GridClientCacheFlag.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/client/GridClientCacheFlag.java 
b/modules/core/src/main/java/org/gridgain/client/GridClientCacheFlag.java
index 9ffe4b0..263ed17 100644
--- a/modules/core/src/main/java/org/gridgain/client/GridClientCacheFlag.java
+++ b/modules/core/src/main/java/org/gridgain/client/GridClientCacheFlag.java
@@ -9,8 +9,6 @@
 
 package org.gridgain.client;
 
-import org.gridgain.grid.portables.*;
-
 import java.util.*;
 
 /**
@@ -37,7 +35,7 @@ public enum GridClientCacheFlag {
      * Disable deserialization of portable objects on get operations.
      * If set and portable marshaller is used, {@link 
GridClientData#get(Object)}
      * and {@link GridClientData#getAll(Collection)} methods will return
-     * instances of {@link GridPortableObject} class instead of user objects.
+     * instances of {@link org.apache.ignite.portables.GridPortableObject} 
class instead of user objects.
      * Use this flag if you don't have corresponding class on your client of
      * if you want to get access to some individual fields, but do not want to
      * fully deserialize the object.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e04165bb/modules/core/src/main/java/org/gridgain/client/GridClientConfiguration.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/client/GridClientConfiguration.java 
b/modules/core/src/main/java/org/gridgain/client/GridClientConfiguration.java
index b898fdb..9f30724 100644
--- 
a/modules/core/src/main/java/org/gridgain/client/GridClientConfiguration.java
+++ 
b/modules/core/src/main/java/org/gridgain/client/GridClientConfiguration.java
@@ -9,12 +9,12 @@
 
 package org.gridgain.client;
 
+import org.apache.ignite.portables.*;
 import org.gridgain.client.balancer.*;
 import org.gridgain.client.marshaller.*;
 import org.gridgain.client.marshaller.jdk.*;
 import org.gridgain.client.marshaller.optimized.*;
 import org.gridgain.client.ssl.*;
-import org.gridgain.grid.portables.*;
 import org.gridgain.grid.security.*;
 import org.gridgain.grid.util.typedef.*;
 import org.gridgain.grid.util.typedef.internal.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e04165bb/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheConfiguration.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheConfiguration.java
 
b/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheConfiguration.java
index e62c19e..79da6ad 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheConfiguration.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheConfiguration.java
@@ -18,7 +18,6 @@ import org.gridgain.grid.cache.query.*;
 import org.gridgain.grid.cache.store.*;
 import org.gridgain.grid.dr.cache.receiver.*;
 import org.gridgain.grid.dr.cache.sender.*;
-import org.gridgain.grid.portables.*;
 import org.gridgain.grid.spi.indexing.*;
 import org.gridgain.grid.util.typedef.internal.*;
 import org.jetbrains.annotations.*;
@@ -1789,7 +1788,7 @@ public class GridCacheConfiguration {
 
     /**
      * Flag indicating whether GridGain should store portable keys and values
-     * as instances of {@link GridPortableObject}.
+     * as instances of {@link org.apache.ignite.portables.GridPortableObject}.
      *
      * @return Portable enabled flag.
      */

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e04165bb/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheProjection.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheProjection.java 
b/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheProjection.java
index 1a77502..3b402a0 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheProjection.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheProjection.java
@@ -15,7 +15,6 @@ import org.gridgain.grid.*;
 import org.gridgain.grid.cache.affinity.*;
 import org.gridgain.grid.cache.query.*;
 import org.gridgain.grid.cache.store.*;
-import org.gridgain.grid.portables.*;
 import org.jetbrains.annotations.*;
 
 import java.sql.*;
@@ -279,7 +278,7 @@ public interface GridCacheProjection<K, V> extends 
Iterable<GridCacheEntry<K, V>
      * so keys and values will be returned from cache API methods without 
changes. Therefore,
      * signature of the projection can contain only following types:
      * <ul>
-     *     <li>{@link GridPortableObject} for portable classes</li>
+     *     <li>{@link org.apache.ignite.portables.GridPortableObject} for 
portable classes</li>
      *     <li>All primitives (byte, int, ...) and there boxed versions (Byte, 
Integer, ...)</li>
      *     <li>Arrays of primitives (byte[], int[], ...)</li>
      *     <li>{@link String} and array of {@link String}s</li>

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e04165bb/modules/core/src/main/java/org/gridgain/grid/cache/store/GridCacheStore.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/cache/store/GridCacheStore.java 
b/modules/core/src/main/java/org/gridgain/grid/cache/store/GridCacheStore.java
index e054e18..2bdbb7a 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/cache/store/GridCacheStore.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/cache/store/GridCacheStore.java
@@ -13,7 +13,6 @@ import org.apache.ignite.lang.*;
 import org.gridgain.grid.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.store.jdbc.*;
-import org.gridgain.grid.portables.*;
 import org.jetbrains.annotations.*;
 
 import java.sql.*;
@@ -58,7 +57,7 @@ import java.util.Date;
  * </pre>
  * <h1 class="header">Working With Portable Objects</h1>
  * When portables are enabled for cache by setting {@link 
GridCacheConfiguration#isPortableEnabled()} to
- * {@code true}), all portable keys and values are converted to instances of 
{@link GridPortableObject}.
+ * {@code true}), all portable keys and values are converted to instances of 
{@link org.apache.ignite.portables.GridPortableObject}.
  * Therefore, all cache store methods will take parameters in portable format. 
To avoid class
  * cast exceptions, store must have signature compatible with portables. E.g., 
if you use {@link Integer}
  * as a key and {@code Value} class as a value (which will be converted to 
portable format), cache store
@@ -72,7 +71,7 @@ import java.util.Date;
  *     ...
  * }
  * </pre>
- * Note that only portable classes are converted to {@link GridPortableObject} 
format. Following
+ * Note that only portable classes are converted to {@link 
org.apache.ignite.portables.GridPortableObject} format. Following
  * types are stored in cache without changes and therefore should not affect 
cache store signature:
  * <ul>
  *     <li>All primitives (byte, int, ...) and there boxed versions (Byte, 
Integer, ...)</li>

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e04165bb/modules/core/src/main/java/org/gridgain/grid/dotnet/GridDotNetConfiguration.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/dotnet/GridDotNetConfiguration.java
 
b/modules/core/src/main/java/org/gridgain/grid/dotnet/GridDotNetConfiguration.java
index 6074cbb..0cccd46 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/dotnet/GridDotNetConfiguration.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/dotnet/GridDotNetConfiguration.java
@@ -9,7 +9,7 @@
 
 package org.gridgain.grid.dotnet;
 
-import org.gridgain.grid.portables.*;
+import org.apache.ignite.portables.*;
 import org.gridgain.grid.util.typedef.internal.*;
 
 import java.util.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e04165bb/modules/core/src/main/java/org/gridgain/grid/dotnet/GridDotNetPortableConfiguration.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/dotnet/GridDotNetPortableConfiguration.java
 
b/modules/core/src/main/java/org/gridgain/grid/dotnet/GridDotNetPortableConfiguration.java
index 58ac503..f20ac76 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/dotnet/GridDotNetPortableConfiguration.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/dotnet/GridDotNetPortableConfiguration.java
@@ -9,7 +9,7 @@
 
 package org.gridgain.grid.dotnet;
 
-import org.gridgain.grid.portables.*;
+import org.apache.ignite.portables.*;
 import org.gridgain.grid.util.typedef.internal.*;
 
 import java.util.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e04165bb/modules/core/src/main/java/org/gridgain/grid/dotnet/GridDotNetPortableTypeConfiguration.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/dotnet/GridDotNetPortableTypeConfiguration.java
 
b/modules/core/src/main/java/org/gridgain/grid/dotnet/GridDotNetPortableTypeConfiguration.java
index 626baae..5fbca5c 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/dotnet/GridDotNetPortableTypeConfiguration.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/dotnet/GridDotNetPortableTypeConfiguration.java
@@ -9,7 +9,7 @@
 
 package org.gridgain.grid.dotnet;
 
-import org.gridgain.grid.portables.*;
+import org.apache.ignite.portables.*;
 import org.gridgain.grid.util.typedef.internal.*;
 import org.jetbrains.annotations.*;
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e04165bb/modules/core/src/main/java/org/gridgain/grid/kernal/GridPortablesImpl.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/kernal/GridPortablesImpl.java 
b/modules/core/src/main/java/org/gridgain/grid/kernal/GridPortablesImpl.java
index 146cf62..bf1c86b 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/GridPortablesImpl.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/GridPortablesImpl.java
@@ -10,8 +10,8 @@
 package org.gridgain.grid.kernal;
 
 import org.apache.ignite.*;
+import org.apache.ignite.portables.*;
 import org.gridgain.grid.kernal.processors.portable.*;
-import org.gridgain.grid.portables.*;
 import org.jetbrains.annotations.*;
 
 import java.util.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e04165bb/modules/core/src/main/java/org/gridgain/grid/kernal/managers/indexing/GridIndexingManager.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/kernal/managers/indexing/GridIndexingManager.java
 
b/modules/core/src/main/java/org/gridgain/grid/kernal/managers/indexing/GridIndexingManager.java
index d461138..c20a966 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/kernal/managers/indexing/GridIndexingManager.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/kernal/managers/indexing/GridIndexingManager.java
@@ -11,13 +11,13 @@ package org.gridgain.grid.kernal.managers.indexing;
 
 import org.apache.ignite.lang.*;
 import org.apache.ignite.marshaller.*;
+import org.apache.ignite.portables.*;
 import org.gridgain.grid.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.query.*;
 import org.gridgain.grid.kernal.*;
 import org.gridgain.grid.kernal.managers.*;
 import org.gridgain.grid.kernal.processors.cache.*;
-import org.gridgain.grid.portables.*;
 import org.gridgain.grid.spi.*;
 import org.gridgain.grid.spi.indexing.*;
 import org.gridgain.grid.util.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e04165bb/modules/core/src/main/java/org/gridgain/grid/kernal/processors/affinity/GridAffinityAssignmentCache.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/affinity/GridAffinityAssignmentCache.java
 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/affinity/GridAffinityAssignmentCache.java
index 25feb24..214e4e3 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/affinity/GridAffinityAssignmentCache.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/affinity/GridAffinityAssignmentCache.java
@@ -13,11 +13,11 @@ import org.apache.ignite.*;
 import org.apache.ignite.cluster.*;
 import org.apache.ignite.events.*;
 import org.apache.ignite.lang.*;
+import org.apache.ignite.portables.*;
 import org.gridgain.grid.*;
 import org.gridgain.grid.cache.affinity.*;
 import org.gridgain.grid.kernal.*;
 import org.gridgain.grid.kernal.processors.cache.*;
-import org.gridgain.grid.portables.*;
 import org.gridgain.grid.util.future.*;
 import org.gridgain.grid.util.typedef.*;
 import org.gridgain.grid.util.typedef.internal.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e04165bb/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheAdapter.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheAdapter.java
 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheAdapter.java
index a9034b5..8b521dc 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheAdapter.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheAdapter.java
@@ -14,6 +14,7 @@ import org.apache.ignite.cluster.*;
 import org.apache.ignite.compute.*;
 import org.apache.ignite.configuration.*;
 import org.apache.ignite.lang.*;
+import org.apache.ignite.portables.*;
 import org.apache.ignite.resources.*;
 import org.gridgain.grid.*;
 import org.gridgain.grid.cache.*;
@@ -30,7 +31,6 @@ import org.gridgain.grid.kernal.processors.cache.dr.*;
 import org.gridgain.grid.kernal.processors.cache.query.*;
 import org.gridgain.grid.kernal.processors.dr.*;
 import org.gridgain.grid.kernal.processors.task.*;
-import org.gridgain.grid.portables.*;
 import org.gridgain.grid.security.*;
 import org.gridgain.grid.util.*;
 import org.gridgain.grid.util.future.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e04165bb/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheContext.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheContext.java
 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheContext.java
index 5c1492c..c3be292 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheContext.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheContext.java
@@ -14,6 +14,7 @@ import org.apache.ignite.cluster.*;
 import org.apache.ignite.configuration.*;
 import org.apache.ignite.lang.*;
 import org.apache.ignite.marshaller.*;
+import org.apache.ignite.portables.*;
 import org.gridgain.grid.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.cloner.*;
@@ -36,7 +37,6 @@ import org.gridgain.grid.kernal.processors.closure.*;
 import org.gridgain.grid.kernal.processors.offheap.*;
 import org.gridgain.grid.kernal.processors.portable.*;
 import org.gridgain.grid.kernal.processors.timeout.*;
-import org.gridgain.grid.portables.*;
 import org.gridgain.grid.security.*;
 import org.gridgain.grid.util.typedef.*;
 import org.gridgain.grid.util.typedef.internal.*;
@@ -1570,7 +1570,7 @@ public class GridCacheContext<K, V> implements 
Externalizable {
     /**
      * @param obj Object.
      * @return Portable object.
-     * @throws GridPortableException In case of error.
+     * @throws org.apache.ignite.portables.GridPortableException In case of 
error.
      */
     @Nullable public Object marshalToPortable(@Nullable Object obj) throws 
GridPortableException {
         assert portableEnabled();

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e04165bb/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheDefaultAffinityKeyMapper.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheDefaultAffinityKeyMapper.java
 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheDefaultAffinityKeyMapper.java
index 3d4a311..5ec12a9 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheDefaultAffinityKeyMapper.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheDefaultAffinityKeyMapper.java
@@ -10,11 +10,11 @@
 package org.gridgain.grid.kernal.processors.cache;
 
 import org.apache.ignite.*;
+import org.apache.ignite.portables.*;
 import org.apache.ignite.resources.*;
 import org.gridgain.grid.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.affinity.*;
-import org.gridgain.grid.portables.*;
 import org.gridgain.grid.util.*;
 import org.gridgain.grid.util.typedef.*;
 import org.gridgain.grid.util.typedef.internal.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e04165bb/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheProjectionImpl.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheProjectionImpl.java
 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheProjectionImpl.java
index a27a1c4..f9b89f2 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheProjectionImpl.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheProjectionImpl.java
@@ -11,12 +11,12 @@ package org.gridgain.grid.kernal.processors.cache;
 
 import org.apache.ignite.cluster.*;
 import org.apache.ignite.lang.*;
+import org.apache.ignite.portables.*;
 import org.gridgain.grid.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.query.*;
 import org.gridgain.grid.kernal.processors.cache.dr.*;
 import org.gridgain.grid.kernal.processors.cache.query.*;
-import org.gridgain.grid.portables.*;
 import org.gridgain.grid.util.*;
 import org.gridgain.grid.util.future.*;
 import org.gridgain.grid.util.tostring.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e04165bb/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxLocalAdapter.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxLocalAdapter.java
 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxLocalAdapter.java
index e39d8b1..d8b74b4 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxLocalAdapter.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxLocalAdapter.java
@@ -10,12 +10,12 @@
 package org.gridgain.grid.kernal.processors.cache;
 
 import org.apache.ignite.lang.*;
+import org.apache.ignite.portables.*;
 import org.gridgain.grid.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.near.*;
 import org.gridgain.grid.kernal.processors.cache.dr.*;
 import org.gridgain.grid.kernal.processors.dr.*;
-import org.gridgain.grid.portables.*;
 import org.gridgain.grid.security.*;
 import org.gridgain.grid.util.*;
 import org.gridgain.grid.util.future.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e04165bb/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/affinity/GridCacheAffinityImpl.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/affinity/GridCacheAffinityImpl.java
 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/affinity/GridCacheAffinityImpl.java
index c11b676..2f6988a 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/affinity/GridCacheAffinityImpl.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/affinity/GridCacheAffinityImpl.java
@@ -11,9 +11,9 @@ package org.gridgain.grid.kernal.processors.cache.affinity;
 
 import org.apache.ignite.*;
 import org.apache.ignite.cluster.*;
+import org.apache.ignite.portables.*;
 import org.gridgain.grid.cache.affinity.*;
 import org.gridgain.grid.kernal.processors.cache.*;
-import org.gridgain.grid.portables.*;
 import org.gridgain.grid.util.typedef.*;
 import org.gridgain.grid.util.typedef.internal.*;
 import org.jetbrains.annotations.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e04165bb/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridPartitionedGetFuture.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridPartitionedGetFuture.java
 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridPartitionedGetFuture.java
index d1511ff..3060093 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridPartitionedGetFuture.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridPartitionedGetFuture.java
@@ -12,11 +12,11 @@ package 
org.gridgain.grid.kernal.processors.cache.distributed.dht;
 import org.apache.ignite.*;
 import org.apache.ignite.cluster.*;
 import org.apache.ignite.lang.*;
+import org.apache.ignite.portables.*;
 import org.gridgain.grid.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.kernal.processors.cache.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.near.*;
-import org.gridgain.grid.portables.*;
 import org.gridgain.grid.util.*;
 import org.gridgain.grid.util.typedef.*;
 import org.gridgain.grid.util.typedef.internal.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e04165bb/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java
 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java
index 64e1b5e..0b2d3a7 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java
@@ -11,6 +11,7 @@ package 
org.gridgain.grid.kernal.processors.cache.distributed.dht.atomic;
 
 import org.apache.ignite.cluster.*;
 import org.apache.ignite.lang.*;
+import org.apache.ignite.portables.*;
 import org.gridgain.grid.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.kernal.managers.communication.*;
@@ -20,7 +21,6 @@ import 
org.gridgain.grid.kernal.processors.cache.distributed.dht.preloader.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.near.*;
 import org.gridgain.grid.kernal.processors.cache.dr.*;
 import org.gridgain.grid.kernal.processors.timeout.*;
-import org.gridgain.grid.portables.*;
 import org.gridgain.grid.security.*;
 import org.gridgain.grid.util.*;
 import org.gridgain.grid.util.future.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e04165bb/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/colocated/GridDhtColocatedCache.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/colocated/GridDhtColocatedCache.java
 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/colocated/GridDhtColocatedCache.java
index 6568d45..3899ca6 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/colocated/GridDhtColocatedCache.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/colocated/GridDhtColocatedCache.java
@@ -11,13 +11,13 @@ package 
org.gridgain.grid.kernal.processors.cache.distributed.dht.colocated;
 
 import org.apache.ignite.cluster.*;
 import org.apache.ignite.lang.*;
+import org.apache.ignite.portables.*;
 import org.gridgain.grid.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.kernal.processors.cache.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.dht.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.near.*;
-import org.gridgain.grid.portables.*;
 import org.gridgain.grid.security.*;
 import org.gridgain.grid.util.typedef.*;
 import org.gridgain.grid.util.typedef.internal.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e04165bb/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearGetFuture.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearGetFuture.java
 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearGetFuture.java
index 507094a..a62b37b 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearGetFuture.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearGetFuture.java
@@ -12,12 +12,12 @@ package 
org.gridgain.grid.kernal.processors.cache.distributed.near;
 import org.apache.ignite.*;
 import org.apache.ignite.cluster.*;
 import org.apache.ignite.lang.*;
+import org.apache.ignite.portables.*;
 import org.gridgain.grid.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.kernal.processors.cache.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.dht.*;
 import org.gridgain.grid.kernal.processors.timeout.*;
-import org.gridgain.grid.portables.*;
 import org.gridgain.grid.util.*;
 import org.gridgain.grid.util.typedef.*;
 import org.gridgain.grid.util.typedef.internal.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e04165bb/modules/core/src/main/java/org/gridgain/grid/kernal/processors/portable/GridPortableProcessor.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/portable/GridPortableProcessor.java
 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/portable/GridPortableProcessor.java
index 954b841..af9045f 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/portable/GridPortableProcessor.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/portable/GridPortableProcessor.java
@@ -9,10 +9,9 @@
 
 package org.gridgain.grid.kernal.processors.portable;
 
+import org.apache.ignite.portables.*;
 import org.gridgain.client.marshaller.*;
 import org.gridgain.grid.kernal.processors.*;
-import org.gridgain.grid.portables.*;
-import org.gridgain.grid.product.*;
 import org.jetbrains.annotations.*;
 
 import java.nio.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e04165bb/modules/core/src/main/java/org/gridgain/grid/kernal/processors/portable/os/GridOsPortableProcessor.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/portable/os/GridOsPortableProcessor.java
 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/portable/os/GridOsPortableProcessor.java
index 033d543..3587b73 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/portable/os/GridOsPortableProcessor.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/portable/os/GridOsPortableProcessor.java
@@ -9,11 +9,11 @@
 
 package org.gridgain.grid.kernal.processors.portable.os;
 
+import org.apache.ignite.portables.*;
 import org.gridgain.client.marshaller.*;
 import org.gridgain.grid.kernal.*;
 import org.gridgain.grid.kernal.processors.*;
 import org.gridgain.grid.kernal.processors.portable.*;
-import org.gridgain.grid.portables.*;
 import org.jetbrains.annotations.*;
 
 import java.nio.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e04165bb/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientAbstractMessage.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientAbstractMessage.java
 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientAbstractMessage.java
index 5dd5c7e..f47832a 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientAbstractMessage.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientAbstractMessage.java
@@ -8,12 +8,11 @@
  */
 package org.gridgain.grid.kernal.processors.rest.client.message;
 
-import org.gridgain.grid.portables.*;
+import org.apache.ignite.portables.*;
 import org.gridgain.grid.util.typedef.internal.*;
 
 import java.io.*;
 import java.util.*;
-import java.util.concurrent.atomic.*;
 
 /**
  * This class provides implementation for commit message fields and cannot be 
used directly.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e04165bb/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientAuthenticationRequest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientAuthenticationRequest.java
 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientAuthenticationRequest.java
index f843d57..44fc512 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientAuthenticationRequest.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientAuthenticationRequest.java
@@ -9,7 +9,7 @@
 
 package org.gridgain.grid.kernal.processors.rest.client.message;
 
-import org.gridgain.grid.portables.*;
+import org.apache.ignite.portables.*;
 import org.gridgain.grid.util.typedef.internal.*;
 
 import java.io.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e04165bb/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientCacheQueryRequest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientCacheQueryRequest.java
 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientCacheQueryRequest.java
index ca4c17b..9a7034a 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientCacheQueryRequest.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientCacheQueryRequest.java
@@ -9,7 +9,7 @@
 
 package org.gridgain.grid.kernal.processors.rest.client.message;
 
-import org.gridgain.grid.portables.*;
+import org.apache.ignite.portables.*;
 import org.gridgain.grid.util.typedef.internal.S;
 import org.gridgain.grid.util.typedef.internal.U;
 import org.jetbrains.annotations.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e04165bb/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientCacheRequest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientCacheRequest.java
 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientCacheRequest.java
index 89affe1..e564e8b 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientCacheRequest.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientCacheRequest.java
@@ -8,7 +8,7 @@
  */
 package org.gridgain.grid.kernal.processors.rest.client.message;
 
-import org.gridgain.grid.portables.*;
+import org.apache.ignite.portables.*;
 import org.gridgain.grid.util.portable.*;
 import org.gridgain.grid.util.typedef.internal.*;
 import org.jetbrains.annotations.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e04165bb/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientGetMetaDataRequest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientGetMetaDataRequest.java
 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientGetMetaDataRequest.java
index 1b3d0e6..802d46e 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientGetMetaDataRequest.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientGetMetaDataRequest.java
@@ -9,7 +9,7 @@
 
 package org.gridgain.grid.kernal.processors.rest.client.message;
 
-import org.gridgain.grid.portables.*;
+import org.apache.ignite.portables.*;
 import org.gridgain.grid.util.typedef.internal.*;
 
 import java.util.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e04165bb/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientLogRequest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientLogRequest.java
 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientLogRequest.java
index 6938b20..3a5bef7 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientLogRequest.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientLogRequest.java
@@ -9,7 +9,7 @@
 
 package org.gridgain.grid.kernal.processors.rest.client.message;
 
-import org.gridgain.grid.portables.*;
+import org.apache.ignite.portables.*;
 import org.gridgain.grid.util.typedef.internal.*;
 
 import java.io.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e04165bb/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientMetaDataResponse.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientMetaDataResponse.java
 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientMetaDataResponse.java
index 7ba1c5d..25f6c8a 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientMetaDataResponse.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientMetaDataResponse.java
@@ -9,7 +9,7 @@
 
 package org.gridgain.grid.kernal.processors.rest.client.message;
 
-import org.gridgain.grid.portables.*;
+import org.apache.ignite.portables.*;
 import org.gridgain.grid.util.typedef.internal.*;
 
 import java.util.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e04165bb/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientNodeBean.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientNodeBean.java
 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientNodeBean.java
index 675aaed..7c99074 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientNodeBean.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientNodeBean.java
@@ -9,7 +9,7 @@
 
 package org.gridgain.grid.kernal.processors.rest.client.message;
 
-import org.gridgain.grid.portables.*;
+import org.apache.ignite.portables.*;
 import org.gridgain.grid.util.typedef.internal.*;
 
 import java.io.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e04165bb/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientNodeMetricsBean.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientNodeMetricsBean.java
 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientNodeMetricsBean.java
index 5dabea0..0c9fdcf 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientNodeMetricsBean.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientNodeMetricsBean.java
@@ -9,7 +9,7 @@
 
 package org.gridgain.grid.kernal.processors.rest.client.message;
 
-import org.gridgain.grid.portables.*;
+import org.apache.ignite.portables.*;
 
 import java.io.*;
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e04165bb/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientPortableMetaData.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientPortableMetaData.java
 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientPortableMetaData.java
index bca1d9a..4b2c34b 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientPortableMetaData.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientPortableMetaData.java
@@ -9,7 +9,7 @@
 
 package org.gridgain.grid.kernal.processors.rest.client.message;
 
-import org.gridgain.grid.portables.*;
+import org.apache.ignite.portables.*;
 import org.gridgain.grid.util.typedef.internal.*;
 
 import java.util.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e04165bb/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientPutMetaDataRequest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientPutMetaDataRequest.java
 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientPutMetaDataRequest.java
index b5dd596..47557cc 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientPutMetaDataRequest.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientPutMetaDataRequest.java
@@ -9,7 +9,7 @@
 
 package org.gridgain.grid.kernal.processors.rest.client.message;
 
-import org.gridgain.grid.portables.*;
+import org.apache.ignite.portables.*;
 import org.gridgain.grid.util.typedef.internal.*;
 
 import java.util.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e04165bb/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientResponse.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientResponse.java
 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientResponse.java
index 7f28937..f9d9999 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientResponse.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientResponse.java
@@ -9,7 +9,7 @@
 
 package org.gridgain.grid.kernal.processors.rest.client.message;
 
-import org.gridgain.grid.portables.*;
+import org.apache.ignite.portables.*;
 import org.gridgain.grid.util.typedef.internal.*;
 
 import java.io.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e04165bb/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientTaskRequest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientTaskRequest.java
 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientTaskRequest.java
index 8abea9e..acc6b92 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientTaskRequest.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientTaskRequest.java
@@ -9,7 +9,7 @@
 
 package org.gridgain.grid.kernal.processors.rest.client.message;
 
-import org.gridgain.grid.portables.*;
+import org.apache.ignite.portables.*;
 import org.gridgain.grid.util.portable.*;
 import org.gridgain.grid.util.typedef.internal.*;
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e04165bb/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientTaskResultBean.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientTaskResultBean.java
 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientTaskResultBean.java
index fddc9b4..0079ad1 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientTaskResultBean.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientTaskResultBean.java
@@ -9,7 +9,7 @@
 
 package org.gridgain.grid.kernal.processors.rest.client.message;
 
-import org.gridgain.grid.portables.*;
+import org.apache.ignite.portables.*;
 import org.gridgain.grid.util.portable.*;
 import org.gridgain.grid.util.typedef.internal.*;
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e04165bb/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientTopologyRequest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientTopologyRequest.java
 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientTopologyRequest.java
index ac22b88..8ebb677 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientTopologyRequest.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/client/message/GridClientTopologyRequest.java
@@ -9,7 +9,7 @@
 
 package org.gridgain.grid.kernal.processors.rest.client.message;
 
-import org.gridgain.grid.portables.*;
+import org.apache.ignite.portables.*;
 import org.gridgain.grid.util.typedef.internal.*;
 
 import java.io.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e04165bb/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/handlers/cache/GridCacheClientQueryResult.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/handlers/cache/GridCacheClientQueryResult.java
 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/handlers/cache/GridCacheClientQueryResult.java
index ebd7486..dddb1a5 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/handlers/cache/GridCacheClientQueryResult.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/handlers/cache/GridCacheClientQueryResult.java
@@ -9,7 +9,7 @@
 
 package org.gridgain.grid.kernal.processors.rest.handlers.cache;
 
-import org.gridgain.grid.portables.*;
+import org.apache.ignite.portables.*;
 
 import java.io.Serializable;
 import java.util.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e04165bb/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/handlers/metadata/GridPortableMetadataHandler.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/handlers/metadata/GridPortableMetadataHandler.java
 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/handlers/metadata/GridPortableMetadataHandler.java
index 16e7798..c55651f 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/handlers/metadata/GridPortableMetadataHandler.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/handlers/metadata/GridPortableMetadataHandler.java
@@ -10,13 +10,13 @@
 package org.gridgain.grid.kernal.processors.rest.handlers.metadata;
 
 import org.apache.ignite.lang.*;
+import org.apache.ignite.portables.*;
 import org.gridgain.grid.*;
 import org.gridgain.grid.kernal.*;
 import org.gridgain.grid.kernal.processors.rest.*;
 import org.gridgain.grid.kernal.processors.rest.client.message.*;
 import org.gridgain.grid.kernal.processors.rest.handlers.*;
 import org.gridgain.grid.kernal.processors.rest.request.*;
-import org.gridgain.grid.portables.*;
 import org.gridgain.grid.util.future.*;
 import org.gridgain.grid.util.typedef.internal.*;
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e04165bb/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/handlers/task/GridTaskCommandHandler.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/handlers/task/GridTaskCommandHandler.java
 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/handlers/task/GridTaskCommandHandler.java
index 07f047c..4653e85 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/handlers/task/GridTaskCommandHandler.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/handlers/task/GridTaskCommandHandler.java
@@ -14,6 +14,7 @@ import org.apache.ignite.cluster.*;
 import org.apache.ignite.compute.*;
 import org.apache.ignite.events.*;
 import org.apache.ignite.lang.*;
+import org.apache.ignite.portables.*;
 import org.apache.ignite.resources.*;
 import org.gridgain.grid.*;
 import org.gridgain.grid.kernal.*;
@@ -24,7 +25,6 @@ import 
org.gridgain.grid.kernal.processors.rest.client.message.*;
 import org.gridgain.grid.kernal.processors.rest.handlers.*;
 import org.gridgain.grid.kernal.processors.rest.request.*;
 import org.gridgain.grid.kernal.processors.task.*;
-import org.gridgain.grid.portables.*;
 import org.gridgain.grid.util.*;
 import org.gridgain.grid.util.future.*;
 import org.gridgain.grid.util.typedef.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e04165bb/modules/core/src/main/java/org/gridgain/grid/kernal/visor/portable/VisorPortableMetadataCollectorTask.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/kernal/visor/portable/VisorPortableMetadataCollectorTask.java
 
b/modules/core/src/main/java/org/gridgain/grid/kernal/visor/portable/VisorPortableMetadataCollectorTask.java
index 938c8e5..d9a608b 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/kernal/visor/portable/VisorPortableMetadataCollectorTask.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/kernal/visor/portable/VisorPortableMetadataCollectorTask.java
@@ -11,10 +11,10 @@ package org.gridgain.grid.kernal.visor.portable;
 
 import org.apache.ignite.*;
 import org.apache.ignite.lang.*;
+import org.apache.ignite.portables.*;
 import org.gridgain.grid.*;
 import org.gridgain.grid.kernal.processors.task.*;
 import org.gridgain.grid.kernal.visor.*;
-import org.gridgain.grid.portables.*;
 import org.gridgain.grid.util.typedef.internal.*;
 
 import java.util.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e04165bb/modules/core/src/main/java/org/gridgain/grid/portables/GridPortableBuilder.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/portables/GridPortableBuilder.java
 
b/modules/core/src/main/java/org/gridgain/grid/portables/GridPortableBuilder.java
deleted file mode 100644
index 813acf8..0000000
--- 
a/modules/core/src/main/java/org/gridgain/grid/portables/GridPortableBuilder.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/* @java.file.header */
-
-/*  _________        _____ __________________        _____
- *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
- *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
- *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
- *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
- */
-
-package org.gridgain.grid.portables;
-
-import org.jetbrains.annotations.*;
-
-/**
- * Portable object builder. Provides ability to build portable objects 
dynamically
- * without having class definitions.
- * <p>
- * Here is an example of how a portable object can be built dynamically:
- * <pre name=code class=java>
- * GridPortableBuilder builder = 
GridGain.grid().portables().builder("org.project.MyObject");
- *
- * builder.setField("fieldA", "A");
- * builder.setField("fieldB", "B");
- *
- * GridPortableObject portableObj = builder.build();
- * </pre>
- *
- * <p>
- * Also builder can be initialized by existing portable object. This allows 
changing some fields without affecting
- * other fields.
- * <pre name=code class=java>
- * GridPortableBuilder builder = GridGain.grid().portables().builder(person);
- *
- * builder.setField("name", "John");
- *
- * person = builder.build();
- * </pre>
- * </p>
- *
- * If you need to modify nested portable object you can get builder for nested 
object using
- * {@link #getField(String)}, changes made on nested builder will affect 
parent object,
- * for example:
- *
- * <pre name=code class=java>
- * GridPortableBuilder personBuilder = 
grid.portables().createBuilder(personPortableObj);
- * GridPortableBuilder addressBuilder = personBuilder.setField("address");
- *
- * addressBuilder.setField("city", "New York");
- *
- * personPortableObj = personBuilder.build();
- *
- * // Should be "New York".
- * String city = personPortableObj.getField("address").getField("city");
- * </pre>
- *
- * @see org.apache.ignite.IgnitePortables#builder(int)
- * @see org.apache.ignite.IgnitePortables#builder(String)
- * @see org.apache.ignite.IgnitePortables#builder(GridPortableObject)
- */
-public interface GridPortableBuilder {
-    /**
-     * Returns value assigned to the specified field.
-     * If the value is a portable object instance of {@code 
GridPortableBuilder} will be returned,
-     * which can be modified.
-     * <p>
-     * Collections and maps returned from this method are modifiable.
-     *
-     * @param name Field name.
-     * @return Filed value.
-     */
-    public <T> T getField(String name);
-
-    /**
-     * Sets field value.
-     *
-     * @param name Field name.
-     * @param val Field value (cannot be {@code null}).
-     * @see GridPortableObject#metaData()
-     */
-    public GridPortableBuilder setField(String name, Object val);
-
-    /**
-     * Sets field value with value type specification.
-     * <p>
-     * Field type is needed for proper metadata update.
-     *
-     * @param name Field name.
-     * @param val Field value.
-     * @param type Field type.
-     * @see GridPortableObject#metaData()
-     */
-    public <T> GridPortableBuilder setField(String name, @Nullable T val, 
Class<? super T> type);
-
-    /**
-     * Sets field value.
-     * <p>
-     * This method should be used if field is portable object.
-     *
-     * @param name Field name.
-     * @param builder Builder for object field.
-     */
-    public GridPortableBuilder setField(String name, @Nullable 
GridPortableBuilder builder);
-
-    /**
-     * Removes field from this builder.
-     *
-     * @param fieldName Field name.
-     * @return {@code this} instance for chaining.
-     */
-    public GridPortableBuilder removeField(String fieldName);
-
-    /**
-     * Sets hash code for resulting portable object returned by {@link 
#build()} method.
-     * <p>
-     * If not set {@code 0} is used.
-     *
-     * @param hashCode Hash code.
-     * @return {@code this} instance for chaining.
-     */
-    public GridPortableBuilder hashCode(int hashCode);
-
-    /**
-     * Builds portable object.
-     *
-     * @return Portable object.
-     * @throws GridPortableException In case of error.
-     */
-    public GridPortableObject build() throws GridPortableException;
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e04165bb/modules/core/src/main/java/org/gridgain/grid/portables/GridPortableConfiguration.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/portables/GridPortableConfiguration.java
 
b/modules/core/src/main/java/org/gridgain/grid/portables/GridPortableConfiguration.java
deleted file mode 100644
index 8198a93..0000000
--- 
a/modules/core/src/main/java/org/gridgain/grid/portables/GridPortableConfiguration.java
+++ /dev/null
@@ -1,181 +0,0 @@
-/* @java.file.header */
-
-/*  _________        _____ __________________        _____
- *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
- *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
- *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
- *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
- */
-
-package org.gridgain.grid.portables;
-
-import org.gridgain.grid.util.typedef.internal.*;
-
-import java.sql.Timestamp;
-import java.util.*;
-
-/**
- * Defines configuration for GridGain portable functionality. All configuration
- * properties defined here can be overridden on per-type level in
- * {@link GridPortableTypeConfiguration}. Type configurations are provided via
- * {@link #getTypeConfigurations()} method.
- */
-public class GridPortableConfiguration {
-    /** Class names. */
-    private Collection<String> clsNames;
-
-    /** ID mapper. */
-    private GridPortableIdMapper idMapper;
-
-    /** Serializer. */
-    private GridPortableSerializer serializer;
-
-    /** Types. */
-    private Collection<GridPortableTypeConfiguration> typeCfgs;
-
-    /** Use timestamp flag. */
-    private boolean useTs = true;
-
-    /** Meta data enabled flag. */
-    private boolean metaDataEnabled = true;
-
-    /** Keep deserialized flag. */
-    private boolean keepDeserialized = true;
-
-    /**
-     * Gets class names.
-     *
-     * @return Class names.
-     */
-    public Collection<String> getClassNames() {
-        return clsNames;
-    }
-
-    /**
-     * Sets class names.
-     *
-     * @param clsNames Class names.
-     */
-    public void setClassNames(Collection<String> clsNames) {
-        this.clsNames = clsNames;
-    }
-
-    /**
-     * Gets ID mapper.
-     *
-     * @return ID mapper.
-     */
-    public GridPortableIdMapper getIdMapper() {
-        return idMapper;
-    }
-
-    /**
-     * Sets ID mapper.
-     *
-     * @param idMapper ID mapper.
-     */
-    public void setIdMapper(GridPortableIdMapper idMapper) {
-        this.idMapper = idMapper;
-    }
-
-    /**
-     * Gets serializer.
-     *
-     * @return Serializer.
-     */
-    public GridPortableSerializer getSerializer() {
-        return serializer;
-    }
-
-    /**
-     * Sets serializer.
-     *
-     * @param serializer Serializer.
-     */
-    public void setSerializer(GridPortableSerializer serializer) {
-        this.serializer = serializer;
-    }
-
-    /**
-     * Gets types configuration.
-     *
-     * @return Types configuration.
-     */
-    public Collection<GridPortableTypeConfiguration> getTypeConfigurations() {
-        return typeCfgs;
-    }
-
-    /**
-     * Sets type configurations.
-     *
-     * @param typeCfgs Type configurations.
-     */
-    public void 
setTypeConfigurations(Collection<GridPortableTypeConfiguration> typeCfgs) {
-        this.typeCfgs = typeCfgs;
-    }
-
-    /**
-     * If {@code true} then date values converted to {@link Timestamp} on 
deserialization.
-     * <p>
-     * Default value is {@code true}.
-     *
-     * @return Flag indicating whether date values converted to {@link 
Timestamp} during unmarshalling.
-     */
-    public boolean isUseTimestamp() {
-        return useTs;
-    }
-
-    /**
-     * @param useTs Flag indicating whether date values converted to {@link 
Timestamp} during unmarshalling.
-     */
-    public void setUseTimestamp(boolean useTs) {
-        this.useTs = useTs;
-    }
-
-    /**
-     * If {@code true}, meta data will be collected or all types. If you need 
to override this behaviour for
-     * some specific type, use {@link 
GridPortableTypeConfiguration#setMetaDataEnabled(Boolean)} method.
-     * <p>
-     * Default value if {@code true}.
-     *
-     * @return Whether meta data is collected.
-     */
-    public boolean isMetaDataEnabled() {
-        return metaDataEnabled;
-    }
-
-    /**
-     * @param metaDataEnabled Whether meta data is collected.
-     */
-    public void setMetaDataEnabled(boolean metaDataEnabled) {
-        this.metaDataEnabled = metaDataEnabled;
-    }
-
-    /**
-     * If {@code true}, {@link GridPortableObject} will cache deserialized 
instance after
-     * {@link GridPortableObject#deserialize()} is called. All consequent 
calls of this
-     * method on the same instance of {@link GridPortableObject} will return 
that cached
-     * value without actually deserializing portable object. If you need to 
override this
-     * behaviour for some specific type, use {@link 
GridPortableTypeConfiguration#setKeepDeserialized(Boolean)}
-     * method.
-     * <p>
-     * Default value if {@code true}.
-     *
-     * @return Whether deserialized value is kept.
-     */
-    public boolean isKeepDeserialized() {
-        return keepDeserialized;
-    }
-
-    /**
-     * @param keepDeserialized Whether deserialized value is kept.
-     */
-    public void setKeepDeserialized(boolean keepDeserialized) {
-        this.keepDeserialized = keepDeserialized;
-    }
-
-    /** {@inheritDoc} */
-    @Override public String toString() {
-        return S.toString(GridPortableConfiguration.class, this);
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e04165bb/modules/core/src/main/java/org/gridgain/grid/portables/GridPortableException.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/portables/GridPortableException.java
 
b/modules/core/src/main/java/org/gridgain/grid/portables/GridPortableException.java
deleted file mode 100644
index 8586e71..0000000
--- 
a/modules/core/src/main/java/org/gridgain/grid/portables/GridPortableException.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/* @java.file.header */
-
-/*  _________        _____ __________________        _____
- *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
- *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
- *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
- *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
- */
-
-package org.gridgain.grid.portables;
-
-import org.gridgain.grid.*;
-import org.jetbrains.annotations.*;
-
-/**
- * Exception indicating portable object serialization error.
- */
-public class GridPortableException extends GridRuntimeException {
-    /** */
-    private static final long serialVersionUID = 0L;
-
-    /**
-     * Creates portable exception with error message.
-     *
-     * @param msg Error message.
-     */
-    public GridPortableException(String msg) {
-        super(msg);
-    }
-
-    /**
-     * Creates portable exception with {@link Throwable} as a cause.
-     *
-     * @param cause Cause.
-     */
-    public GridPortableException(Throwable cause) {
-        super(cause);
-    }
-
-    /**
-     * Creates portable exception with error message and {@link Throwable} as 
a cause.
-     *
-     * @param msg Error message.
-     * @param cause Cause.
-     */
-    public GridPortableException(String msg, @Nullable Throwable cause) {
-        super(msg, cause);
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e04165bb/modules/core/src/main/java/org/gridgain/grid/portables/GridPortableIdMapper.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/portables/GridPortableIdMapper.java
 
b/modules/core/src/main/java/org/gridgain/grid/portables/GridPortableIdMapper.java
deleted file mode 100644
index ccce3bb..0000000
--- 
a/modules/core/src/main/java/org/gridgain/grid/portables/GridPortableIdMapper.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/* @java.file.header */
-
-/*  _________        _____ __________________        _____
- *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
- *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
- *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
- *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
- */
-
-package org.gridgain.grid.portables;
-
-/**
- * Type and field ID mapper for portable objects. GridGain never writes full
- * strings for field or type names. Instead, for performance reasons, GridGain
- * writes integer hash codes for type and field names. It has been tested that
- * hash code conflicts for the type names or the field names
- * within the same type are virtually non-existent and, to gain performance, 
it is safe
- * to work with hash codes. For the cases when hash codes for different types 
or fields
- * actually do collide {@code GridPortableIdMapper} allows to override the 
automatically
- * generated hash code IDs for the type and field names.
- * <p>
- * Portable ID mapper can be configured for all portable objects via
- * {@link GridPortableConfiguration#getIdMapper()} method, or for a specific
- * portable type via {@link GridPortableTypeConfiguration#getIdMapper()} 
method.
- */
-public interface GridPortableIdMapper {
-    /**
-     * Gets type ID for provided class name.
-     * <p>
-     * If {@code 0} is returned, hash code of class simple name will be used.
-     *
-     * @param clsName Class name.
-     * @return Type ID.
-     */
-    public int typeId(String clsName);
-
-    /**
-     * Gets ID for provided field.
-     * <p>
-     * If {@code 0} is returned, hash code of field name will be used.
-     *
-     * @param typeId Type ID.
-     * @param fieldName Field name.
-     * @return Field ID.
-     */
-    public int fieldId(int typeId, String fieldName);
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e04165bb/modules/core/src/main/java/org/gridgain/grid/portables/GridPortableInvalidClassException.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/portables/GridPortableInvalidClassException.java
 
b/modules/core/src/main/java/org/gridgain/grid/portables/GridPortableInvalidClassException.java
deleted file mode 100644
index 4891844..0000000
--- 
a/modules/core/src/main/java/org/gridgain/grid/portables/GridPortableInvalidClassException.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/* @java.file.header */
-
-/*  _________        _____ __________________        _____
- *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
- *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
- *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
- *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
- */
-
-package org.gridgain.grid.portables;
-
-import org.jetbrains.annotations.*;
-
-/**
- * Exception indicating that class needed for deserialization of portable 
object does not exist.
- * <p>
- * Thrown from {@link GridPortableObject#deserialize()} method.
- */
-public class GridPortableInvalidClassException extends GridPortableException {
-    /** */
-    private static final long serialVersionUID = 0L;
-
-    /**
-     * Creates invalid class exception with error message.
-     *
-     * @param msg Error message.
-     */
-    public GridPortableInvalidClassException(String msg) {
-        super(msg);
-    }
-
-    /**
-     * Creates invalid class exception with {@link Throwable} as a cause.
-     *
-     * @param cause Cause.
-     */
-    public GridPortableInvalidClassException(Throwable cause) {
-        super(cause);
-    }
-
-    /**
-     * Creates invalid class exception with error message and {@link 
Throwable} as a cause.
-     *
-     * @param msg Error message.
-     * @param cause Cause.
-     */
-    public GridPortableInvalidClassException(String msg, @Nullable Throwable 
cause) {
-        super(msg, cause);
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e04165bb/modules/core/src/main/java/org/gridgain/grid/portables/GridPortableMarshalAware.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/portables/GridPortableMarshalAware.java
 
b/modules/core/src/main/java/org/gridgain/grid/portables/GridPortableMarshalAware.java
deleted file mode 100644
index 7d44998..0000000
--- 
a/modules/core/src/main/java/org/gridgain/grid/portables/GridPortableMarshalAware.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/* @java.file.header */
-
-/*  _________        _____ __________________        _____
- *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
- *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
- *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
- *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
- */
-
-package org.gridgain.grid.portables;
-
-/**
- * Interface that allows to implement custom serialization
- * logic for portable objects. Portable objects are not required
- * to implement this interface, in which case GridGain will automatically
- * serialize portable objects using reflection.
- * <p>
- * This interface, in a way, is analogous to {@link java.io.Externalizable}
- * interface, which allows users to override default serialization logic,
- * usually for performance reasons. The only difference here is that portable
- * serialization is already very fast and implementing custom serialization
- * logic for portables does not provide significant performance gains.
- */
-public interface GridPortableMarshalAware {
-    /**
-     * Writes fields to provided writer.
-     *
-     * @param writer Portable object writer.
-     * @throws GridPortableException In case of error.
-     */
-    public void writePortable(GridPortableWriter writer) throws 
GridPortableException;
-
-    /**
-     * Reads fields from provided reader.
-     *
-     * @param reader Portable object reader.
-     * @throws GridPortableException In case of error.
-     */
-    public void readPortable(GridPortableReader reader) throws 
GridPortableException;
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e04165bb/modules/core/src/main/java/org/gridgain/grid/portables/GridPortableMetadata.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/portables/GridPortableMetadata.java
 
b/modules/core/src/main/java/org/gridgain/grid/portables/GridPortableMetadata.java
deleted file mode 100644
index 59dff2b..0000000
--- 
a/modules/core/src/main/java/org/gridgain/grid/portables/GridPortableMetadata.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/* @java.file.header */
-
-/*  _________        _____ __________________        _____
- *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
- *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
- *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
- *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
- */
-
-package org.gridgain.grid.portables;
-
-import org.jetbrains.annotations.*;
-
-import java.util.*;
-
-/**
- * Portable type meta data. Metadata for portable types can be accessed from 
any of the
- * {@link org.apache.ignite.IgnitePortables#metadata(String) 
GridPortables.metadata(...)} methods.
- * Having metadata also allows for proper formatting of {@code 
GridPortableObject.toString()} method,
- * even when portable objects are kept in binary format only, which may be 
necessary for audit reasons.
- */
-public interface GridPortableMetadata {
-    /**
-     * Gets portable type name.
-     *
-     * @return Portable type name.
-     */
-    public String typeName();
-
-    /**
-     * Gets collection of all field names for this portable type.
-     *
-     * @return Collection of all field names for this portable type.
-     */
-    public Collection<String> fields();
-
-    /**
-     * Gets name of the field type for a given field.
-     *
-     * @param fieldName Field name.
-     * @return Field type name.
-     */
-    @Nullable public String fieldTypeName(String fieldName);
-
-    /**
-     * Portable objects can optionally specify custom key-affinity mapping in 
the
-     * configuration. This method returns the name of the field which should be
-     * used for the key-affinity mapping.
-     *
-     * @return Affinity key field name.
-     */
-    @Nullable public String affinityKeyFieldName();
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e04165bb/modules/core/src/main/java/org/gridgain/grid/portables/GridPortableObject.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/portables/GridPortableObject.java
 
b/modules/core/src/main/java/org/gridgain/grid/portables/GridPortableObject.java
deleted file mode 100644
index 952c5c8..0000000
--- 
a/modules/core/src/main/java/org/gridgain/grid/portables/GridPortableObject.java
+++ /dev/null
@@ -1,166 +0,0 @@
-/* @java.file.header */
-
-/*  _________        _____ __________________        _____
- *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
- *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
- *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
- *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
- */
-
-package org.gridgain.grid.portables;
-
-import org.jetbrains.annotations.*;
-
-import java.io.*;
-import java.util.*;
-
-/**
- * Wrapper for portable object in portable binary format. Once an object is 
defined as portable,
- * GridGain will always store it in memory in the portable (i.e. binary) 
format.
- * User can choose to work either with the portable format or with the 
deserialized form
- * (assuming that class definitions are present in the classpath).
- * <p>
- * <b>NOTE:</b> user does not need to (and should not) implement this 
interface directly.
- * <p>
- * To work with the portable format directly, user should create a cache 
projection
- * over {@code GridPortableObject} class and then retrieve individual fields 
as needed:
- * <pre name=code class=java>
- * GridCacheProjection&lt;GridPortableObject.class, 
GridPortableObject.class&gt; prj =
- *     cache.projection(GridPortableObject.class, GridPortableObject.class);
- *
- * // Convert instance of MyKey to portable format.
- * // We could also use GridPortableBuilder to create
- * // the key in portable format directly.
- * GridPortableObject key = grid.portables().toPortable(new MyKey());
- *
- * GridPortableObject val = prj.get(key);
- *
- * String field = val.field("myFieldName");
- * </pre>
- * Alternatively, we could also choose a hybrid approach, where, for example,
- * the keys are concrete deserialized objects and the values are returned in 
portable
- * format, like so:
- * <pre name=code class=java>
- * GridCacheProjection&lt;MyKey.class, GridPortableObject.class&gt; prj =
- *     cache.projection(MyKey.class, GridPortableObject.class);
- *
- * GridPortableObject val = prj.get(new MyKey());
- *
- * String field = val.field("myFieldName");
- * </pre>
- * We could also have the values as concrete deserialized objects and the keys 
in portable format,
- * but such use case is a lot less common because cache keys are usually a lot 
smaller than values, and
- * it may be very cheap to deserialize the keys, but not the values.
- * <p>
- * And finally, if we have class definitions in the classpath, we may choose 
to work with deserialized
- * typed objects at all times. In this case we do incur the deserialization 
cost, however,
- * GridGain will only deserialize on the first access and will cache the 
deserialized object,
- * so it does not have to be deserialized again:
- * <pre name=code class=java>
- * GridCacheProjection&lt;MyKey.class, MyValue.class&gt; prj =
- *     cache.projection(MyKey.class, MyValue.class);
- *
- * MyValue val = prj.get(new MyKey());
- *
- * // Normal java getter.
- * String fieldVal = val.getMyFieldName();
- * </pre>
- * <h1 class="header">Working With Maps and Collections</h1>
- * All maps and collections in the portable objects are serialized 
automatically. When working
- * with different platforms, e.g. C++ or .NET, GridGain will automatically 
pick the most
- * adequate collection or map in either language. For example, {@link 
ArrayList} in Java will become
- * {@code List} in C#, {@link LinkedList} in Java is {@link LinkedList} in C#, 
{@link HashMap}
- * in Java is {@code Dictionary} in C#, and {@link TreeMap} in Java becomes 
{@code SortedDictionary}
- * in C#, etc.
- * <h1 class="header">Dynamic Structure Changes</h1>
- * Since objects are always cached in the portable binary format, server does 
not need to
- * be aware of the class definitions. Moreover, if class definitions are not 
present or not
- * used on the server, then clients can continuously change the structure of 
the portable
- * objects without having to restart the cluster. For example, if one client 
stores a
- * certain class with fields A and B, and another client stores the same class 
with
- * fields B and C, then the server-side portable object will have the fields 
A, B, and C.
- * As the structure of a portable object changes, the new fields become 
available for SQL queries
- * automatically.
- * <h1 class="header">Building Portable Objects</h1>
- * GridGain comes with {@link GridPortableBuilder} which allows to build 
portable objects dynamically:
- * <pre name=code class=java>
- * GridPortableBuilder builder = 
GridGain.grid().portables().builder("org.project.MyObject");
- *
- * builder.setField("fieldA", "A");
- * builder.setField("fieldB", "B");
- *
- * GridPortableObject portableObj = builder.build();
- * </pre>
- * For the cases when class definition is present
- * in the class path, it is also possible to populate a standard POJO and then
- * convert it to portable format, like so:
- * <pre name=code class=java>
- * MyObject obj = new MyObject();
- *
- * obj.setFieldA("A");
- * obj.setFieldB(123);
- *
- * GridPortableObject portableObj = 
GridGain.grid().portables().toPortable(obj);
- * </pre>
- * <h1 class="header">Portable Metadata</h1>
- * Even though GridGain portable protocol only works with hash codes for type 
and field names
- * to achieve better performance, GridGain provides metadata for all portable 
types which
- * can be queried ar runtime via any of the {@link 
org.apache.ignite.IgnitePortables#metadata(Class) GridPortables.metadata(...)}
- * methods. Having metadata also allows for proper formatting of {@code 
GridPortableObject.toString()} method,
- * even when portable objects are kept in binary format only, which may be 
necessary for audit reasons.
- */
-public interface GridPortableObject extends Serializable, Cloneable {
-    /**
-     * Gets portable object type ID.
-     *
-     * @return Type ID.
-     */
-    public int typeId();
-
-    /**
-     * Gets meta data for this portable object.
-     *
-     * @return Meta data.
-     * @throws GridPortableException In case of error.
-     */
-    @Nullable public GridPortableMetadata metaData() throws 
GridPortableException;
-
-    /**
-     * Gets field value.
-     *
-     * @param fieldName Field name.
-     * @return Field value.
-     * @throws GridPortableException In case of any other error.
-     */
-    @Nullable public <F> F field(String fieldName) throws 
GridPortableException;
-
-    /**
-     * Gets fully deserialized instance of portable object.
-     *
-     * @return Fully deserialized instance of portable object.
-     * @throws GridPortableInvalidClassException If class doesn't exist.
-     * @throws GridPortableException In case of any other error.
-     */
-    @Nullable public <T> T deserialize() throws GridPortableException;
-
-    /**
-     * Creates a copy of this portable object and optionally changes field 
values
-     * if they are provided in map. If map is empty or {@code null}, clean copy
-     * is created.
-     *
-     * @param fields Fields to modify in copy.
-     * @return Copy of this portable object.
-     * @throws GridPortableException In case of error.
-     * @deprecated Use {@link GridPortableBuilder} instead.
-     * @see GridPortableBuilder
-     */
-    @Deprecated
-    public GridPortableObject copy(@Nullable Map<String, Object> fields) 
throws GridPortableException;
-
-    /**
-     * Copies this portable object.
-     *
-     * @return Copy of this portable object.
-     */
-    public GridPortableObject clone() throws CloneNotSupportedException;
-}

Reply via email to