You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by vo...@apache.org on 2015/10/30 13:34:17 UTC

ignite git commit: IGNITE-1768 .Net: Review portable configuration on Java side - remove AssemblyName.

Repository: ignite
Updated Branches:
  refs/heads/ignite-1282 b85fa1714 -> bcb237ae2


IGNITE-1768 .Net: Review portable configuration on Java side - remove AssemblyName.


Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/bcb237ae
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/bcb237ae
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/bcb237ae

Branch: refs/heads/ignite-1282
Commit: bcb237ae21add57c15d19d9f1cf656258f597e39
Parents: b85fa17
Author: Pavel Tupitsyn <pt...@gridgain.com>
Authored: Fri Oct 30 15:35:00 2015 +0300
Committer: vozerov-gridgain <vo...@gridgain.com>
Committed: Fri Oct 30 15:35:00 2015 +0300

----------------------------------------------------------------------
 .../dotnet/PlatformDotNetCacheStore.java        | 53 +++++++----------
 .../PlatformDotNetConfigurationClosure.java     |  3 +-
 .../platform/utils/PlatformUtils.java           |  1 -
 .../dotnet/PlatformDotNetCacheStoreFactory.java | 44 ++++----------
 .../dotnet/PlatformDotNetLifecycleBean.java     | 49 ++++------------
 ...PlatformDotNetPortableTypeConfiguration.java | 18 ------
 .../Config/Cache/Store/cache-store-session.xml  |  3 +-
 .../Config/Lifecycle/lifecycle-beans.xml        |  4 +-
 .../native-client-test-cache-parallel-store.xml |  3 +-
 .../Config/native-client-test-cache-store.xml   | 12 ++--
 .../dotnet/Apache.Ignite.Core/Ignition.cs       |  7 +--
 .../Impl/Cache/Store/CacheStore.cs              |  3 +-
 .../Apache.Ignite.Core/Impl/IgniteUtils.cs      | 14 ++---
 .../Impl/Portable/PortableMarshaller.cs         |  5 +-
 .../Impl/Portable/PortableUtils.cs              | 48 ++++++---------
 .../Portable/PortableTypeConfiguration.cs       | 62 ++++----------------
 modules/platforms/dotnet/Apache.Ignite.sln      |  4 ++
 .../examples/Config/example-cache-store.xml     |  3 +-
 18 files changed, 99 insertions(+), 237 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/bcb237ae/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/dotnet/PlatformDotNetCacheStore.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/dotnet/PlatformDotNetCacheStore.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/dotnet/PlatformDotNetCacheStore.java
index c86de5d..0c2e564 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/dotnet/PlatformDotNetCacheStore.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/dotnet/PlatformDotNetCacheStore.java
@@ -96,11 +96,8 @@ public class PlatformDotNetCacheStore<K, V> implements CacheStore<K, V>, Platfor
     @CacheStoreSessionResource
     private CacheStoreSession ses;
 
-    /** .Net assembly name. */
-    private String assemblyName;
-
     /** .Net class name. */
-    private String clsName;
+    private String typName;
 
     /** Properties. */
     private Map<String, ?> props;
@@ -112,39 +109,21 @@ public class PlatformDotNetCacheStore<K, V> implements CacheStore<K, V>, Platfor
     protected long ptr;
 
     /**
-     * Gets .NET assembly name.
-     *
-     * @return .NET assembly name.
-     */
-    public String getAssemblyName() {
-        return assemblyName;
-    }
-
-    /**
-     * Set .NET assembly name.
-     *
-     * @param assemblyName .NET assembly name.
-     */
-    public void setAssemblyName(String assemblyName) {
-        this.assemblyName = assemblyName;
-    }
-
-    /**
      * Gets .NET class name.
      *
      * @return .NET class name.
      */
-    public String getClassName() {
-        return clsName;
+    public String getTypeName() {
+        return typName;
     }
 
     /**
      * Sets .NET class name.
      *
-     * @param clsName .NET class name.
+     * @param typName .NET class name.
      */
-    public void setClassName(String clsName) {
-        this.clsName = clsName;
+    public void setTypeName(String typName) {
+        this.typName = typName;
     }
 
     /**
@@ -343,8 +322,7 @@ public class PlatformDotNetCacheStore<K, V> implements CacheStore<K, V>, Platfor
      * @throws org.apache.ignite.IgniteCheckedException
      */
     public void initialize(GridKernalContext ctx, boolean convertPortable) throws IgniteCheckedException {
-        A.notNull(assemblyName, "assemblyName");
-        A.notNull(clsName, "clsName");
+        A.notNull(typName, "typName");
 
         platformCtx = PlatformUtils.platformContext(ctx.grid());
 
@@ -353,10 +331,7 @@ public class PlatformDotNetCacheStore<K, V> implements CacheStore<K, V>, Platfor
 
             PortableRawWriterEx writer = platformCtx.writer(out);
 
-            writer.writeString(assemblyName);
-            writer.writeString(clsName);
-            writer.writeBoolean(convertPortable);
-            writer.writeMap(props);
+            write(writer, convertPortable);
 
             out.synchronize();
 
@@ -365,6 +340,18 @@ public class PlatformDotNetCacheStore<K, V> implements CacheStore<K, V>, Platfor
     }
 
     /**
+     * Write store data to a stream.
+     *
+     * @param writer Writer.
+     * @param convertPortable Convert portable flag.
+     */
+    protected void write(PortableRawWriterEx writer, boolean convertPortable) {
+        writer.writeString(typName);
+        writer.writeBoolean(convertPortable);
+        writer.writeMap(props);
+    }
+
+    /**
      * Gets session pointer created in native platform.
      *
      * @return Session pointer.

http://git-wip-us.apache.org/repos/asf/ignite/blob/bcb237ae/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/dotnet/PlatformDotNetConfigurationClosure.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/dotnet/PlatformDotNetConfigurationClosure.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/dotnet/PlatformDotNetConfigurationClosure.java
index 35d2df4..2c8664c 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/dotnet/PlatformDotNetConfigurationClosure.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/dotnet/PlatformDotNetConfigurationClosure.java
@@ -146,8 +146,7 @@ public class PlatformDotNetConfigurationClosure extends PlatformAbstractConfigur
                 writer.writeInt(beans.size());
 
                 for (PlatformDotNetLifecycleBean bean : beans) {
-                    writer.writeString(bean.getAssemblyName());
-                    writer.writeString(bean.getClassName());
+                    writer.writeString(bean.getTypeName());
                     writer.writeMap(bean.getProperties());
                 }
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/bcb237ae/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/utils/PlatformUtils.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/utils/PlatformUtils.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/utils/PlatformUtils.java
index 11d8371..66c51e5 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/utils/PlatformUtils.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/utils/PlatformUtils.java
@@ -781,7 +781,6 @@ public class PlatformUtils {
             writeNullableCollection(writer, portableCfg.getTypesConfiguration(),
                 new PlatformWriterClosure<PlatformDotNetPortableTypeConfiguration>() {
                 @Override public void write(PortableRawWriterEx writer, PlatformDotNetPortableTypeConfiguration typ) {
-                    writer.writeString(typ.getAssemblyName());
                     writer.writeString(typ.getTypeName());
                     writer.writeString(typ.getNameMapper());
                     writer.writeString(typ.getIdMapper());

http://git-wip-us.apache.org/repos/asf/ignite/blob/bcb237ae/modules/core/src/main/java/org/apache/ignite/platform/dotnet/PlatformDotNetCacheStoreFactory.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/platform/dotnet/PlatformDotNetCacheStoreFactory.java b/modules/core/src/main/java/org/apache/ignite/platform/dotnet/PlatformDotNetCacheStoreFactory.java
index 97f0dce..55de4bc 100644
--- a/modules/core/src/main/java/org/apache/ignite/platform/dotnet/PlatformDotNetCacheStoreFactory.java
+++ b/modules/core/src/main/java/org/apache/ignite/platform/dotnet/PlatformDotNetCacheStoreFactory.java
@@ -55,11 +55,8 @@ public class PlatformDotNetCacheStoreFactory implements Factory<PlatformDotNetCa
     /** */
     private static final long serialVersionUID = 0L;
 
-    /** .Net assembly name. */
-    private String assemblyName;
-
-    /** .Net class name. */
-    private String clsName;
+    /** .Net type name. */
+    private String typName;
 
     /** Properties. */
     private Map<String, ?> props;
@@ -68,39 +65,21 @@ public class PlatformDotNetCacheStoreFactory implements Factory<PlatformDotNetCa
     private transient PlatformDotNetCacheStore instance;
 
     /**
-     * Gets .NET assembly name.
-     *
-     * @return .NET assembly name.
-     */
-    public String getAssemblyName() {
-        return assemblyName;
-    }
-
-    /**
-     * Set .NET assembly name.
-     *
-     * @param assemblyName .NET assembly name.
-     */
-    public void setAssemblyName(String assemblyName) {
-        this.assemblyName = assemblyName;
-    }
-
-    /**
-     * Gets .NET class name.
+     * Gets .NET type name.
      *
-     * @return .NET class name.
+     * @return .NET type name.
      */
-    public String getClassName() {
-        return clsName;
+    public String getTypeName() {
+        return typName;
     }
 
     /**
-     * Sets .NET class name.
+     * Sets .NET type name.
      *
-     * @param clsName .NET class name.
+     * @param typName .NET type name.
      */
-    public void setClassName(String clsName) {
-        this.clsName = clsName;
+    public void setTypeName(String typName) {
+        this.typName = typName;
     }
 
     /**
@@ -128,8 +107,7 @@ public class PlatformDotNetCacheStoreFactory implements Factory<PlatformDotNetCa
             if (instance == null) {
                 instance = new PlatformDotNetCacheStore();
 
-                instance.setAssemblyName(assemblyName);
-                instance.setClassName(clsName);
+                instance.setTypeName(typName);
                 instance.setProperties(props);
             }
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/bcb237ae/modules/core/src/main/java/org/apache/ignite/platform/dotnet/PlatformDotNetLifecycleBean.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/platform/dotnet/PlatformDotNetLifecycleBean.java b/modules/core/src/main/java/org/apache/ignite/platform/dotnet/PlatformDotNetLifecycleBean.java
index 8e4b590..7c286a9 100644
--- a/modules/core/src/main/java/org/apache/ignite/platform/dotnet/PlatformDotNetLifecycleBean.java
+++ b/modules/core/src/main/java/org/apache/ignite/platform/dotnet/PlatformDotNetLifecycleBean.java
@@ -26,11 +26,8 @@ import java.util.Map;
  * Lifecycle bean implementation which can be used to configure .Net lifecycle beans in Java Spring configuration.
  */
 public class PlatformDotNetLifecycleBean extends PlatformLifecycleBean implements LifecycleBean {
-    /** Assembly name. */
-    private String assemblyName;
-
-    /** Class name. */
-    private String clsName;
+    /** Type name. */
+    private String typName;
 
     /** Properties. */
     private Map<String, ?> props;
@@ -45,48 +42,28 @@ public class PlatformDotNetLifecycleBean extends PlatformLifecycleBean implement
     /**
      * Constructor.
      *
-     * @param assemblyName Assembly name.
-     * @param clsName Class name.
-     */
-    public PlatformDotNetLifecycleBean(String assemblyName, String clsName) {
-        this.assemblyName = assemblyName;
-        this.clsName = clsName;
-    }
-
-    /**
-     * Get assembly name.
-     *
-     * @return Assembly name.
-     */
-    public String getAssemblyName() {
-        return assemblyName;
-    }
-
-    /**
-     * Set assembly name.
-     *
-     * @param assemblyName Assembly name.
+     * @param typName Type name.
      */
-    public void setAssemblyName(String assemblyName) {
-        this.assemblyName = assemblyName;
+    public PlatformDotNetLifecycleBean(String typName) {
+        this.typName = typName;
     }
 
     /**
-     * Get class name.
+     * Get type name.
      *
-     * @return Class name.
+     * @return Type name.
      */
-    public String getClassName() {
-        return clsName;
+    public String getTypeName() {
+        return typName;
     }
 
     /**
-     * Set class name.
+     * Set type name.
      *
-     * @param clsName Class name.
+     * @param typName Type name.
      */
-    public void setClassName(String clsName) {
-        this.clsName = clsName;
+    public void setTypeName(String typName) {
+        this.typName = typName;
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/ignite/blob/bcb237ae/modules/core/src/main/java/org/apache/ignite/platform/dotnet/PlatformDotNetPortableTypeConfiguration.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/platform/dotnet/PlatformDotNetPortableTypeConfiguration.java b/modules/core/src/main/java/org/apache/ignite/platform/dotnet/PlatformDotNetPortableTypeConfiguration.java
index b04d2a7..cb00a74 100644
--- a/modules/core/src/main/java/org/apache/ignite/platform/dotnet/PlatformDotNetPortableTypeConfiguration.java
+++ b/modules/core/src/main/java/org/apache/ignite/platform/dotnet/PlatformDotNetPortableTypeConfiguration.java
@@ -24,9 +24,6 @@ import org.jetbrains.annotations.Nullable;
  * Mirror of .Net class GridDotNetPortableTypeConfiguration.cs
  */
 public class PlatformDotNetPortableTypeConfiguration {
-    /** Assembly name. */
-    private String assemblyName;
-
     /** Type name. */
     private String typeName;
 
@@ -60,7 +57,6 @@ public class PlatformDotNetPortableTypeConfiguration {
      * @param cfg configuration to copy.
      */
     public PlatformDotNetPortableTypeConfiguration(PlatformDotNetPortableTypeConfiguration cfg) {
-        assemblyName = cfg.getAssemblyName();
         typeName = cfg.getTypeName();
         nameMapper = cfg.getNameMapper();
         idMapper = cfg.getIdMapper();
@@ -71,20 +67,6 @@ public class PlatformDotNetPortableTypeConfiguration {
     }
 
     /**
-     * @return Assembly name.
-     */
-    public String getAssemblyName() {
-        return assemblyName;
-    }
-
-    /**
-     * @param assemblyName New assembly name.
-     */
-    public void setAssemblyName(String assemblyName) {
-        this.assemblyName = assemblyName;
-    }
-
-    /**
      * @return Type name.
      */
     public String getTypeName() {

http://git-wip-us.apache.org/repos/asf/ignite/blob/bcb237ae/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Config/Cache/Store/cache-store-session.xml
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Config/Cache/Store/cache-store-session.xml b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Config/Cache/Store/cache-store-session.xml
index 00837a9..66d4114 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Config/Cache/Store/cache-store-session.xml
+++ b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Config/Cache/Store/cache-store-session.xml
@@ -26,8 +26,7 @@
         http://www.springframework.org/schema/util
         http://www.springframework.org/schema/util/spring-util.xsd">
     <bean id="storeFactory" class="org.apache.ignite.platform.dotnet.PlatformDotNetCacheStoreFactory">
-        <property name="assemblyName" value="Apache.Ignite.Core.Tests"/>
-        <property name="className" value="Apache.Ignite.Core.Tests.Cache.Store.CacheStoreSessionTest+Store"/>
+        <property name="typeName" value="Apache.Ignite.Core.Tests.Cache.Store.CacheStoreSessionTest+Store, Apache.Ignite.Core.Tests"/>
     </bean>
   
     <bean id="grid.cfg" class="org.apache.ignite.configuration.IgniteConfiguration">

http://git-wip-us.apache.org/repos/asf/ignite/blob/bcb237ae/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Config/Lifecycle/lifecycle-beans.xml
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Config/Lifecycle/lifecycle-beans.xml b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Config/Lifecycle/lifecycle-beans.xml
index da36032..a40c27c 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Config/Lifecycle/lifecycle-beans.xml
+++ b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Config/Lifecycle/lifecycle-beans.xml
@@ -45,11 +45,11 @@
             <list>
                 <bean class="org.apache.ignite.platform.lifecycle.PlatformJavaLifecycleBean" />
                 <bean class="org.apache.ignite.platform.dotnet.PlatformDotNetLifecycleBean">
-                    <property name="className" value="Apache.Ignite.Core.Tests.Bean" />
+                    <property name="typeName" value="Apache.Ignite.Core.Tests.Bean" />
                 </bean>
                 <bean class="org.apache.ignite.platform.lifecycle.PlatformJavaLifecycleBean" />
                 <bean class="org.apache.ignite.platform.dotnet.PlatformDotNetLifecycleBean">
-                    <property name="className" value="Apache.Ignite.Core.Tests.Bean" />
+                    <property name="typeName" value="Apache.Ignite.Core.Tests.Bean" />
                     <property name="properties">
                         <map>
                             <entry key="Property1">

http://git-wip-us.apache.org/repos/asf/ignite/blob/bcb237ae/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Config/native-client-test-cache-parallel-store.xml
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Config/native-client-test-cache-parallel-store.xml b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Config/native-client-test-cache-parallel-store.xml
index 00e8e45..74abbf8 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Config/native-client-test-cache-parallel-store.xml
+++ b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Config/native-client-test-cache-parallel-store.xml
@@ -43,8 +43,7 @@
 
                     <property name="cacheStoreFactory">
                         <bean class="org.apache.ignite.platform.dotnet.PlatformDotNetCacheStoreFactory">
-                            <property name="assemblyName" value="Apache.Ignite.Core.Tests"/>
-                            <property name="className" value="Apache.Ignite.Core.Tests.Cache.Store.CacheTestParallelLoadStore"/>
+                            <property name="typeName" value="Apache.Ignite.Core.Tests.Cache.Store.CacheTestParallelLoadStore, Apache.Ignite.Core.Tests"/>
                         </bean>
                     </property>
                 </bean>

http://git-wip-us.apache.org/repos/asf/ignite/blob/bcb237ae/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Config/native-client-test-cache-store.xml
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Config/native-client-test-cache-store.xml b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Config/native-client-test-cache-store.xml
index 9af4611..6845a3c 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Config/native-client-test-cache-store.xml
+++ b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Config/native-client-test-cache-store.xml
@@ -44,8 +44,7 @@
 
                     <property name="cacheStoreFactory">
                         <bean class="org.apache.ignite.platform.dotnet.PlatformDotNetCacheStoreFactory">
-                            <property name="assemblyName" value="Apache.Ignite.Core.Tests"/>
-                            <property name="className" value="Apache.Ignite.Core.Tests.Cache.Store.CacheTestStore"/>
+                            <property name="typeName" value="Apache.Ignite.Core.Tests.Cache.Store.CacheTestStore, Apache.Ignite.Core.Tests"/>
                         </bean>
                     </property>
                 </bean>
@@ -60,8 +59,7 @@
 
                     <property name="cacheStoreFactory">
                         <bean class="org.apache.ignite.platform.dotnet.PlatformDotNetCacheStoreFactory">
-                            <property name="assemblyName" value="Apache.Ignite.Core.Tests"/>
-                            <property name="className" value="Apache.Ignite.Core.Tests.Cache.Store.CacheTestStore"/>
+                            <property name="typeName" value="Apache.Ignite.Core.Tests.Cache.Store.CacheTestStore, Apache.Ignite.Core.Tests"/>
                         </bean>
                     </property>
                 </bean>
@@ -76,8 +74,7 @@
 
                     <property name="cacheStoreFactory">
                         <bean class="org.apache.ignite.platform.dotnet.PlatformDotNetCacheStoreFactory">
-                            <property name="assemblyName" value="Apache.Ignite.Core.Tests"/>
-                            <property name="className" value="Apache.Ignite.Core.Tests.Cache.Store.CacheTestStore"/>
+                            <property name="typeName" value="Apache.Ignite.Core.Tests.Cache.Store.CacheTestStore, Apache.Ignite.Core.Tests"/>
                         </bean>
                     </property>
                 </bean>
@@ -91,8 +88,7 @@
                     
                     <property name="cacheStoreFactory">
                         <bean class="org.apache.ignite.platform.dotnet.PlatformDotNetCacheStoreFactory">
-                            <property name="assemblyName" value="Apache.Ignite.Core.Tests"/>
-                            <property name="className" value="Apache.Ignite.Core.Tests.Cache.Store.CacheTestStore"/>
+                            <property name="typeName" value="Apache.Ignite.Core.Tests.Cache.Store.CacheTestStore, Apache.Ignite.Core.Tests"/>
                             <property name="properties">
                                 <map>
                                     <entry key="IntProperty">

http://git-wip-us.apache.org/repos/asf/ignite/blob/bcb237ae/modules/platforms/dotnet/Apache.Ignite.Core/Ignition.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Ignition.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Ignition.cs
index 6547c2b..214fcd6 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Ignition.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Ignition.cs
@@ -338,17 +338,14 @@ namespace Apache.Ignite.Core
         private static ILifecycleBean CreateLifecycleBean(PortableReaderImpl reader)
         {
             // 1. Instantiate.
-            string assemblyName = reader.ReadString();
-            string clsName = reader.ReadString();
-
-            object bean = IgniteUtils.CreateInstance(assemblyName, clsName);
+            var bean = IgniteUtils.CreateInstance<ILifecycleBean>(reader.ReadString());
 
             // 2. Set properties.
             var props = reader.ReadDictionaryAsGeneric<string, object>();
 
             IgniteUtils.SetProperties(bean, props);
 
-            return bean as ILifecycleBean;
+            return bean;
         }
 
         /// <summary>

http://git-wip-us.apache.org/repos/asf/ignite/blob/bcb237ae/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cache/Store/CacheStore.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cache/Store/CacheStore.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cache/Store/CacheStore.cs
index 1eeb3a0..59f2264 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cache/Store/CacheStore.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cache/Store/CacheStore.cs
@@ -103,12 +103,11 @@ namespace Apache.Ignite.Core.Impl.Cache.Store
             {
                 var reader = PortableUtils.Marshaller.StartUnmarshal(stream, PortableMode.KeepPortable);
 
-                var assemblyName = reader.ReadString();
                 var className = reader.ReadString();
                 var convertPortable = reader.ReadBoolean();
                 var propertyMap = reader.ReadDictionaryAsGeneric<string, object>();
 
-                var store = (ICacheStore) IgniteUtils.CreateInstance(assemblyName, className);
+                var store = IgniteUtils.CreateInstance<ICacheStore>(className);
 
                 IgniteUtils.SetProperties(store, propertyMap);
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/bcb237ae/modules/platforms/dotnet/Apache.Ignite.Core/Impl/IgniteUtils.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/IgniteUtils.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/IgniteUtils.cs
index 532c19d..47ab166 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/IgniteUtils.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/IgniteUtils.cs
@@ -126,20 +126,18 @@ namespace Apache.Ignite.Core.Impl
         /// <summary>
         /// Create new instance of specified class.
         /// </summary>
-        /// <param name="assemblyName">Assembly name.</param>
-        /// <param name="clsName">Class name</param>
+        /// <param name="typeName">Class name</param>
         /// <returns>New Instance.</returns>
-        public static object CreateInstance(string assemblyName, string clsName)
+        public static T CreateInstance<T>(string typeName)
         {
-            IgniteArgumentCheck.NotNullOrEmpty(clsName, "clsName");
+            IgniteArgumentCheck.NotNullOrEmpty(typeName, "typeName");
 
-            var type = new TypeResolver().ResolveType(clsName, assemblyName);
+            var type = new TypeResolver().ResolveType(typeName);
 
             if (type == null)
-                throw new IgniteException("Failed to create class instance [assemblyName=" + assemblyName +
-                    ", className=" + clsName + ']');
+                throw new IgniteException("Failed to create class instance [className=" + typeName + ']');
 
-            return Activator.CreateInstance(type);
+            return (T) Activator.CreateInstance(type);
         }
 
         /// <summary>

http://git-wip-us.apache.org/repos/asf/ignite/blob/bcb237ae/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/PortableMarshaller.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/PortableMarshaller.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/PortableMarshaller.cs
index 5ea7a55..86bf3bb 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/PortableMarshaller.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/PortableMarshaller.cs
@@ -72,9 +72,6 @@ namespace Apache.Ignite.Core.Impl.Portable
             {
                 if (string.IsNullOrEmpty(typeCfg.TypeName))
                     throw new PortableException("Type name cannot be null or empty: " + typeCfg);
-
-                if (typeCfg.AssemblyName != null && typeCfg.AssemblyName.Length == 0)
-                    throw new PortableException("Assembly name cannot be empty string: " + typeCfg);
             }
 
             // Define system types. They use internal reflective stuff, so configuration doesn't affect them.
@@ -397,7 +394,7 @@ namespace Apache.Ignite.Core.Impl.Portable
             bool keepDeserialized = typeCfg.KeepDeserialized ?? cfg.DefaultKeepDeserialized;
 
             // Try resolving type.
-            Type type = typeResolver.ResolveType(typeCfg.TypeName, typeCfg.AssemblyName);
+            Type type = typeResolver.ResolveType(typeCfg.TypeName);
 
             if (type != null)
             {

http://git-wip-us.apache.org/repos/asf/ignite/blob/bcb237ae/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/PortableUtils.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/PortableUtils.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/PortableUtils.cs
index 7f9569a..a0657b2 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/PortableUtils.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/PortableUtils.cs
@@ -1719,18 +1719,16 @@ namespace Apache.Ignite.Core.Impl.Portable
 
                     for (int i = 0; i < typesCnt; i++)
                     {
-                        PortableTypeConfiguration typCfg = new PortableTypeConfiguration();
-
-                        typCfg.AssemblyName = reader.ReadString();
-                        typCfg.TypeName = reader.ReadString();
-                        typCfg.NameMapper = (IPortableNameMapper)CreateInstance(reader.ReadString());
-                        typCfg.IdMapper = (IPortableIdMapper)CreateInstance(reader.ReadString());
-                        typCfg.Serializer = (IPortableSerializer)CreateInstance(reader.ReadString());
-                        typCfg.AffinityKeyFieldName = reader.ReadString();
-                        typCfg.MetadataEnabled = reader.ReadObject<bool?>();
-                        typCfg.KeepDeserialized = reader.ReadObject<bool?>();
-
-                        cfg.TypeConfigurations.Add(typCfg);
+                        cfg.TypeConfigurations.Add(new PortableTypeConfiguration
+                        {
+                            TypeName = reader.ReadString(),
+                            NameMapper = CreateInstance<IPortableNameMapper>(reader),
+                            IdMapper = CreateInstance<IPortableIdMapper>(reader),
+                            Serializer = CreateInstance<IPortableSerializer>(reader),
+                            AffinityKeyFieldName = reader.ReadString(),
+                            MetadataEnabled = reader.ReadObject<bool?>(),
+                            KeepDeserialized = reader.ReadObject<bool?>()
+                        });
                     }
                 }
 
@@ -1746,9 +1744,9 @@ namespace Apache.Ignite.Core.Impl.Portable
                 }
 
                 // Read the rest.
-                cfg.DefaultNameMapper = (IPortableNameMapper)CreateInstance(reader.ReadString());
-                cfg.DefaultIdMapper = (IPortableIdMapper)CreateInstance(reader.ReadString());
-                cfg.DefaultSerializer = (IPortableSerializer)CreateInstance(reader.ReadString());
+                cfg.DefaultNameMapper = CreateInstance<IPortableNameMapper>(reader);
+                cfg.DefaultIdMapper = CreateInstance<IPortableIdMapper>(reader);
+                cfg.DefaultSerializer = CreateInstance<IPortableSerializer>(reader);
                 cfg.DefaultMetadataEnabled = reader.ReadBoolean();
                 cfg.DefaultKeepDeserialized = reader.ReadBoolean();
             }
@@ -1757,24 +1755,16 @@ namespace Apache.Ignite.Core.Impl.Portable
         }
 
         /// <summary>
-        /// Create new instance of specified class.
+        /// Creates and instance from the type name in reader.
         /// </summary>
-        /// <param name="typeName">Name of the type.</param>
-        /// <returns>New Instance.</returns>
-        public static object CreateInstance(string typeName)
+        private static T CreateInstance<T>(PortableReaderImpl reader)
         {
-            if (typeName == null)
-                return null;
-
-            foreach (Assembly assembly in AppDomain.CurrentDomain.GetAssemblies())
-            {
-                object instance = assembly.CreateInstance(typeName);
+            var typeName = reader.ReadString();
 
-                if (instance != null)
-                    return instance;
-            }
+            if (typeName == null)
+                return default(T);
 
-            throw new PortableException("Failed to find class: " + typeName);
+            return IgniteUtils.CreateInstance<T>(typeName);
         }
 
         /// <summary>

http://git-wip-us.apache.org/repos/asf/ignite/blob/bcb237ae/modules/platforms/dotnet/Apache.Ignite.Core/Portable/PortableTypeConfiguration.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Portable/PortableTypeConfiguration.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Portable/PortableTypeConfiguration.cs
index bbbd4a8..0c0b79a 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Portable/PortableTypeConfiguration.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Portable/PortableTypeConfiguration.cs
@@ -57,7 +57,6 @@ namespace Apache.Ignite.Core.Portable
         public PortableTypeConfiguration(PortableTypeConfiguration cfg)
         {
             AffinityKeyFieldName = cfg.AffinityKeyFieldName;
-            AssemblyName = cfg.AssemblyName;
             IdMapper = cfg.IdMapper;
             NameMapper = cfg.NameMapper;
             Serializer = cfg.Serializer;
@@ -67,31 +66,14 @@ namespace Apache.Ignite.Core.Portable
         }
 
         /// <summary>
-        /// Assembly name. 
-        /// </summary>
-        public string AssemblyName
-        {
-            get;
-            set;
-        }
-
-        /// <summary>
         /// Fully qualified type name. 
         /// </summary>
-        public string TypeName
-        {
-            get;
-            set;
-        }
-        
+        public string TypeName { get; set; }
+
         /// <summary>
         /// Name mapper for the given type. 
         /// </summary>
-        public IPortableNameMapper NameMapper
-        {
-            get;
-            set;
-        }
+        public IPortableNameMapper NameMapper { get; set; }
 
         /// <summary>
         /// ID mapper for the given type. When it is necessary to resolve class (field) ID, then 
@@ -99,11 +81,7 @@ namespace Apache.Ignite.Core.Portable
         /// (PortableFieldIdAttribute) will be checked in class through reflection. If required
         /// attribute is not set, then ID will be hash code of the class (field) simple name in lower case. 
         /// </summary>
-        public IPortableIdMapper IdMapper
-        {
-            get;
-            set;
-        }
+        public IPortableIdMapper IdMapper { get; set; }
 
         /// <summary>
         /// Serializer for the given type. If not provided and class implements IPortable
@@ -111,40 +89,24 @@ namespace Apache.Ignite.Core.Portable
         /// then all fields of the class except of those with [NotSerialized] attribute will be serialized
         ///with help of reflection.
         /// </summary>
-        public IPortableSerializer Serializer
-        {
-            get;
-            set;
-        }
+        public IPortableSerializer Serializer { get; set; }
 
         /// <summary>
         /// Affinity key field name.
         /// </summary>
-        public string AffinityKeyFieldName
-        {
-            get;
-            set;
-        }
+        public string AffinityKeyFieldName { get; set; }
 
         /// <summary>
         /// Metadata enabled flag. If set to non-null value, overrides default value set in 
         /// PortableConfiguration.
         /// </summary>
-        public bool? MetadataEnabled
-        {
-            get;
-            set;
-        }
+        public bool? MetadataEnabled { get; set; }
 
         /// <summary>
         /// Keep deserialized flag. If set to non-null value, overrides default value set in 
         /// PortableConfiguration.
         /// </summary>
-        public bool? KeepDeserialized
-        {
-            get;
-            set;
-        }
+        public bool? KeepDeserialized { get; set; }
 
         /// <summary>
         /// Returns a string that represents the current object.
@@ -152,11 +114,11 @@ namespace Apache.Ignite.Core.Portable
         /// <returns>
         /// A string that represents the current object.
         /// </returns>
-        override public string ToString()
+        public override string ToString()
         {
-            return typeof(PortableTypeConfiguration).Name + " [TypeName=" + TypeName + 
-                ", NameMapper=" +  NameMapper + ", IdMapper=" + IdMapper + ", Serializer=" + Serializer +
-                ", AffinityKeyFieldName=" + AffinityKeyFieldName + ']';
+            return typeof (PortableTypeConfiguration).Name + " [TypeName=" + TypeName +
+                   ", NameMapper=" + NameMapper + ", IdMapper=" + IdMapper + ", Serializer=" + Serializer +
+                   ", AffinityKeyFieldName=" + AffinityKeyFieldName + ']';
         }
     }
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/bcb237ae/modules/platforms/dotnet/Apache.Ignite.sln
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.sln b/modules/platforms/dotnet/Apache.Ignite.sln
index 8d93ffd..6b29e9d 100644
--- a/modules/platforms/dotnet/Apache.Ignite.sln
+++ b/modules/platforms/dotnet/Apache.Ignite.sln
@@ -26,6 +26,10 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
 	ProjectSection(SolutionItems) = preProject
 		Apache.Ignite.FxCop = Apache.Ignite.FxCop
 		Apache.Ignite.sln.DotSettings = Apache.Ignite.sln.DotSettings
+		examples\Config\example-cache-query.xml = examples\Config\example-cache-query.xml
+		examples\Config\example-cache-store.xml = examples\Config\example-cache-store.xml
+		examples\Config\example-cache.xml = examples\Config\example-cache.xml
+		examples\Config\example-compute.xml = examples\Config\example-compute.xml
 	EndProjectSection
 EndProject
 Global

http://git-wip-us.apache.org/repos/asf/ignite/blob/bcb237ae/modules/platforms/dotnet/examples/Config/example-cache-store.xml
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/examples/Config/example-cache-store.xml b/modules/platforms/dotnet/examples/Config/example-cache-store.xml
index adc5f45..2c20531 100644
--- a/modules/platforms/dotnet/examples/Config/example-cache-store.xml
+++ b/modules/platforms/dotnet/examples/Config/example-cache-store.xml
@@ -33,8 +33,7 @@
                     <property name="readThrough" value="true"/>
                     <property name="cacheStoreFactory">
                         <bean class="org.apache.ignite.platform.dotnet.PlatformDotNetCacheStoreFactory">
-                            <property name="assemblyName" value="Apache.Ignite.ExamplesDll"/>
-                            <property name="className" value="Apache.Ignite.ExamplesDll.Datagrid.EmployeeStore"/>
+                            <property name="typeName" value="Apache.Ignite.ExamplesDll.Datagrid.EmployeeStore, Apache.Ignite.ExamplesDll"/>
                         </bean>
                     </property>
                 </bean>