IGNITE-5588 .NET: Inject resources in ScanQuery

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

Branch: refs/heads/ignite-2.1.2-exchange
Commit: d2b47591319967264d8e0b7364494cc8208c016a
Parents: f0c62ac
Author: Pavel Tupitsyn <[email protected]>
Authored: Mon Jun 26 17:40:41 2017 +0300
Committer: Pavel Tupitsyn <[email protected]>
Committed: Mon Jun 26 17:40:41 2017 +0300

----------------------------------------------------------------------
 .../Cache/Query/CacheQueriesTest.cs                    |  7 +++++++
 .../Impl/Cache/CacheEntryFilterHolder.cs               | 13 +++++++++++++
 2 files changed, 20 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/d2b47591/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Cache/Query/CacheQueriesTest.cs
----------------------------------------------------------------------
diff --git 
a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Cache/Query/CacheQueriesTest.cs
 
b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Cache/Query/CacheQueriesTest.cs
index 852aa87..ee2806f 100644
--- 
a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Cache/Query/CacheQueriesTest.cs
+++ 
b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Cache/Query/CacheQueriesTest.cs
@@ -30,6 +30,7 @@ namespace Apache.Ignite.Core.Tests.Cache.Query
     using Apache.Ignite.Core.Cache.Configuration;
     using Apache.Ignite.Core.Cache.Query;
     using Apache.Ignite.Core.Common;
+    using Apache.Ignite.Core.Resource;
     using NUnit.Framework;
 
     /// <summary>
@@ -956,9 +957,15 @@ namespace Apache.Ignite.Core.Tests.Cache.Query
         // Error flag
         public bool ThrowErr { get; set; }
 
+        // Injection test
+        [InstanceResource]
+        public IIgnite Ignite { get; set; }
+
         /** <inheritdoc /> */
         public bool Invoke(ICacheEntry<int, TV> entry)
         {
+            Assert.IsNotNull(Ignite);
+
             if (ThrowErr)
                 throw new Exception(ErrMessage);
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/d2b47591/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cache/CacheEntryFilterHolder.cs
----------------------------------------------------------------------
diff --git 
a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cache/CacheEntryFilterHolder.cs
 
b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cache/CacheEntryFilterHolder.cs
index 90db02c..779e350 100644
--- 
a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cache/CacheEntryFilterHolder.cs
+++ 
b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cache/CacheEntryFilterHolder.cs
@@ -24,6 +24,7 @@ namespace Apache.Ignite.Core.Impl.Cache
     using Apache.Ignite.Core.Impl.Binary;
     using Apache.Ignite.Core.Impl.Binary.IO;
     using Apache.Ignite.Core.Impl.Common;
+    using Apache.Ignite.Core.Impl.Resource;
 
     /// <summary>
     /// Non-generic binary filter wrapper.
@@ -60,6 +61,8 @@ namespace Apache.Ignite.Core.Impl.Cache
             _invoker = invoker;
             _marsh = marsh;
             _keepBinary = keepBinary;
+
+            InjectResources();
         }
 
         /// <summary>
@@ -97,6 +100,16 @@ namespace Apache.Ignite.Core.Impl.Cache
             _marsh = reader.Marshaller;
 
             _invoker = GetInvoker(_pred);
+
+            InjectResources();
+        }
+
+        /// <summary>
+        /// Injects the resources.
+        /// </summary>
+        private void InjectResources()
+        {
+            ResourceProcessor.Inject(_pred, _marsh.Ignite);
         }
 
         /// <summary>

Reply via email to