http://git-wip-us.apache.org/repos/asf/ignite/blob/b2c2fa43/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Common/JavaObjects/JavaCacheEntryEventFilter.cs ---------------------------------------------------------------------- diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Common/JavaObjects/JavaCacheEntryEventFilter.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Common/JavaObjects/JavaCacheEntryEventFilter.cs deleted file mode 100644 index 10746a3..0000000 --- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Common/JavaObjects/JavaCacheEntryEventFilter.cs +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -namespace Apache.Ignite.Core.Impl.Common.JavaObjects -{ - using System; - using System.Collections.Generic; - using Apache.Ignite.Core.Cache.Event; - - /// <summary> - /// Cache entry event filter that delegates to Java. - /// </summary> - /// <typeparam name="TK">Key type.</typeparam> - /// <typeparam name="TV">Value type.</typeparam> - internal class JavaCacheEntryEventFilter<TK, TV> : PlatformJavaObjectFactoryProxy, ICacheEntryEventFilter<TK, TV> - { - /** <inheritdoc /> */ - public bool Evaluate(ICacheEntryEvent<TK, TV> evt) - { - throw new InvalidOperationException(GetType() + " cannot be invoked directly."); - } - - /// <summary> - /// Initializes a new instance of the <see cref="JavaCacheEntryEventFilter{TK, TV}"/> class. - /// </summary> - /// <param name="factoryClassName">Name of the factory class.</param> - /// <param name="properties">The properties.</param> - public JavaCacheEntryEventFilter(string factoryClassName, IDictionary<string, object> properties) - : base(FactoryType.User, factoryClassName, null, properties) - { - // No-op. - } - } -}
http://git-wip-us.apache.org/repos/asf/ignite/blob/b2c2fa43/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Common/PlatformJavaObjectFactoryProxy.cs ---------------------------------------------------------------------- diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Common/PlatformJavaObjectFactoryProxy.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Common/PlatformJavaObjectFactoryProxy.cs deleted file mode 100644 index 89b2891..0000000 --- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Common/PlatformJavaObjectFactoryProxy.cs +++ /dev/null @@ -1,106 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -namespace Apache.Ignite.Core.Impl.Common -{ - using System; - using System.Collections.Generic; - using Apache.Ignite.Core.Binary; - using Apache.Ignite.Core.Impl.Binary; - - /// <summary> - /// Maps to PlatformJavaObjectFactoryProxy in Java. - /// </summary> - internal class PlatformJavaObjectFactoryProxy : IBinaryWriteAware - { - /// <summary> - /// Represents the factory type. - /// </summary> - internal enum FactoryType - { - User = 0, - Default = 1 - } - - /** Type code. */ - private readonly FactoryType _factoryType; - - /** Java class name */ - private readonly string _factoryClassName; - - /** Optional payload. */ - private readonly object _payload; - - /** Properties to set */ - private readonly IDictionary<string, object> _properties; - - /// <summary> - /// Initializes a new instance of the <see cref="PlatformJavaObjectFactoryProxy" /> class. - /// </summary> - /// <param name="type">The type.</param> - /// <param name="factoryClassName">Name of the factory class.</param> - /// <param name="payload">The payload.</param> - /// <param name="properties">The properties.</param> - protected PlatformJavaObjectFactoryProxy(FactoryType type, string factoryClassName, object payload, - IDictionary<string, object> properties) - { - _factoryType = type; - _factoryClassName = factoryClassName; - _payload = payload; - _properties = properties; - } - - /// <summary> - /// Initializes a new instance of the <see cref="PlatformJavaObjectFactoryProxy"/> class. - /// </summary> - public PlatformJavaObjectFactoryProxy() - { - throw new InvalidOperationException(GetType() + " should never be deserialized on .NET side."); - } - - /** <inheritdoc /> */ - public void WriteBinary(IBinaryWriter writer) - { - var w = writer.GetRawWriter(); - - w.WriteInt((int) _factoryType); - w.WriteString(_factoryClassName); - w.WriteObject(_payload); - - if (_properties != null) - { - w.WriteInt(_properties.Count); - - foreach (var pair in _properties) - { - w.WriteString(pair.Key); - w.WriteObject(pair.Value); - } - } - else - w.WriteInt(0); - } - - /// <summary> - /// Gets the raw proxy (not the derived type) for serialization. - /// </summary> - public PlatformJavaObjectFactoryProxy GetRawProxy() - { - return new PlatformJavaObjectFactoryProxy(_factoryType, _factoryClassName, _payload, _properties); - } - } -} http://git-wip-us.apache.org/repos/asf/ignite/blob/b2c2fa43/modules/platforms/dotnet/Apache.Ignite.Core/Interop/JavaObject.cs ---------------------------------------------------------------------- diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Interop/JavaObject.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Interop/JavaObject.cs deleted file mode 100644 index 3550ef7..0000000 --- a/modules/platforms/dotnet/Apache.Ignite.Core/Interop/JavaObject.cs +++ /dev/null @@ -1,92 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -namespace Apache.Ignite.Core.Interop -{ - using System.Collections.Generic; - using Apache.Ignite.Core.Cache.Event; - using Apache.Ignite.Core.Impl.Common; - using Apache.Ignite.Core.Impl.Common.JavaObjects; - - /// <summary> - /// Represents a Java object wrapper. - /// <para /> - /// <see cref="JavaObject"/> can be converted to Ignite filters and predicates - /// which can be used on non-.NET Ignite nodes. - /// <para /> - /// Workflow is as follows: - /// Instantiate specified Java class; - /// Set property values; - /// If the resulting object implements PlatformJavaObjectFactory, call create() method and use the result, - /// otherwise use the original object. - /// </summary> - public class JavaObject - { - /** Java class name. */ - private readonly string _className; - - /** Properties. */ - private readonly IDictionary<string, object> _properties = new Dictionary<string, object>(); - - /// <summary> - /// Initializes a new instance of the <see cref="JavaObject"/> class. - /// </summary> - /// <param name="className">Name of the Java class.</param> - public JavaObject(string className) - { - IgniteArgumentCheck.NotNullOrEmpty(className, "className"); - - _className = className; - } - - /// <summary> - /// Initializes a new instance of the <see cref="JavaObject"/> class. - /// </summary> - /// <param name="className">Name of the Java class.</param> - /// <param name="properties">The properties to set on the Java object.</param> - public JavaObject(string className, IDictionary<string, object> properties) : this(className) - { - _properties = properties ?? _properties; - } - - /// <summary> - /// Gets the Java class name. - /// </summary> - public string ClassName - { - get { return _className; } - } - - /// <summary> - /// Gets the properties to be set on the Java object. - /// </summary> - public IDictionary<string, object> Properties - { - get { return _properties; } - } - - /// <summary> - /// Creates the cache event filter that delegates to the corresponding Java object. - /// </summary> - /// <typeparam name="TK">Key type.</typeparam> - /// <typeparam name="TV">Value type.</typeparam> - public ICacheEntryEventFilter<TK, TV> ToCacheEntryEventFilter<TK, TV>() - { - return new JavaCacheEntryEventFilter<TK, TV>(ClassName, Properties); - } - } -}
