http://git-wip-us.apache.org/repos/asf/ignite/blob/f0bac562/modules/platform/src/main/dotnet/Apache.Ignite.Core/Services/IServices.cs ---------------------------------------------------------------------- diff --git a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Services/IServices.cs b/modules/platform/src/main/dotnet/Apache.Ignite.Core/Services/IServices.cs deleted file mode 100644 index fff25c3..0000000 --- a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Services/IServices.cs +++ /dev/null @@ -1,181 +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.Services -{ - using System.Collections.Generic; - using Apache.Ignite.Core.Cluster; - using Apache.Ignite.Core.Common; - - /// <summary> - /// Defines functionality to deploy distributed services in the Ignite. - /// </summary> - public interface IServices : IAsyncSupport<IServices> - { - /// <summary> - /// Gets the cluster group to which this instance belongs. - /// </summary> - /// <value> - /// The cluster group to which this instance belongs. - /// </value> - IClusterGroup ClusterGroup { get; } - - /// <summary> - /// Deploys a cluster-wide singleton service. Ignite guarantees that there is always - /// one instance of the service in the cluster. In case if Ignite node on which the service - /// was deployed crashes or stops, Ignite will automatically redeploy it on another node. - /// However, if the node on which the service is deployed remains in topology, then the - /// service will always be deployed on that node only, regardless of topology changes. - /// <para /> - /// Note that in case of topology changes, due to network delays, there may be a temporary situation - /// when a singleton service instance will be active on more than one node (e.g. crash detection delay). - /// </summary> - /// <param name="name">Service name.</param> - /// <param name="service">Service instance.</param> - [AsyncSupported] - void DeployClusterSingleton(string name, IService service); - - /// <summary> - /// Deploys a per-node singleton service. Ignite guarantees that there is always - /// one instance of the service running on each node. Whenever new nodes are started - /// within the underlying cluster group, Ignite will automatically deploy one instance of - /// the service on every new node. - /// </summary> - /// <param name="name">Service name.</param> - /// <param name="service">Service instance.</param> - [AsyncSupported] - void DeployNodeSingleton(string name, IService service); - - /// <summary> - /// Deploys one instance of this service on the primary node for a given affinity key. - /// Whenever topology changes and primary node assignment changes, Ignite will always - /// make sure that the service is undeployed on the previous primary node and deployed - /// on the new primary node. - /// <para /> - /// Note that in case of topology changes, due to network delays, there may be a temporary situation - /// when a service instance will be active on more than one node (e.g. crash detection delay). - /// </summary> - /// <param name="name">Service name.</param> - /// <param name="service">Service instance.</param> - /// <param name="cacheName">Name of the cache on which affinity for key should be calculated, null for - /// default cache.</param> - /// <param name="affinityKey">Affinity cache key.</param> - [AsyncSupported] - void DeployKeyAffinitySingleton<TK>(string name, IService service, string cacheName, TK affinityKey); - - /// <summary> - /// Deploys multiple instances of the service on the grid. Ignite will deploy a - /// maximum amount of services equal to <paramref name="totalCount" /> parameter making sure that - /// there are no more than <paramref name="maxPerNodeCount" /> service instances running - /// on each node. Whenever topology changes, Ignite will automatically rebalance - /// the deployed services within cluster to make sure that each node will end up with - /// about equal number of deployed instances whenever possible. - /// </summary> - /// <param name="name">Service name.</param> - /// <param name="service">Service instance.</param> - /// <param name="totalCount">Maximum number of deployed services in the grid, 0 for unlimited.</param> - /// <param name="maxPerNodeCount">Maximum number of deployed services on each node, 0 for unlimited.</param> - [AsyncSupported] - void DeployMultiple(string name, IService service, int totalCount, int maxPerNodeCount); - - /// <summary> - /// Deploys instances of the service in the Ignite according to provided configuration. - /// </summary> - /// <param name="configuration">Service configuration.</param> - [AsyncSupported] - void Deploy(ServiceConfiguration configuration); - - /// <summary> - /// Cancels service deployment. If a service with specified name was deployed on the grid, - /// then <see cref="IService.Cancel"/> method will be called on it. - /// <para/> - /// Note that Ignite cannot guarantee that the service exits from <see cref="IService.Execute"/> - /// method whenever <see cref="IService.Cancel"/> is called. It is up to the user to - /// make sure that the service code properly reacts to cancellations. - /// </summary> - /// <param name="name">Name of the service to cancel.</param> - [AsyncSupported] - void Cancel(string name); - - /// <summary> - /// Cancels all deployed services. - /// <para/> - /// Note that depending on user logic, it may still take extra time for a service to - /// finish execution, even after it was cancelled. - /// </summary> - [AsyncSupported] - void CancelAll(); - - /// <summary> - /// Gets metadata about all deployed services. - /// </summary> - /// <returns>Metadata about all deployed services.</returns> - ICollection<IServiceDescriptor> GetServiceDescriptors(); - - /// <summary> - /// Gets deployed service with specified name. - /// </summary> - /// <typeparam name="T">Service type.</typeparam> - /// <param name="name">Service name.</param> - /// <returns>Deployed service with specified name.</returns> - T GetService<T>(string name); - - /// <summary> - /// Gets all deployed services with specified name. - /// </summary> - /// <typeparam name="T">Service type.</typeparam> - /// <param name="name">Service name.</param> - /// <returns>All deployed services with specified name.</returns> - ICollection<T> GetServices<T>(string name); - - /// <summary> - /// Gets a remote handle on the service. If service is available locally, - /// then local instance is returned, otherwise, a remote proxy is dynamically - /// created and provided for the specified service. - /// </summary> - /// <typeparam name="T">Service type.</typeparam> - /// <param name="name">Service name.</param> - /// <returns>Either proxy over remote service or local service if it is deployed locally.</returns> - T GetServiceProxy<T>(string name) where T : class; - - /// <summary> - /// Gets a remote handle on the service. If service is available locally, - /// then local instance is returned, otherwise, a remote proxy is dynamically - /// created and provided for the specified service. - /// </summary> - /// <typeparam name="T">Service type.</typeparam> - /// <param name="name">Service name.</param> - /// <param name="sticky">Whether or not Ignite should always contact the same remote - /// service or try to load-balance between services.</param> - /// <returns>Either proxy over remote service or local service if it is deployed locally.</returns> - T GetServiceProxy<T>(string name, bool sticky) where T : class; - - /// <summary> - /// Returns an instance with portable mode enabled. - /// Service method results will be kept in portable form. - /// </summary> - /// <returns>Instance with portable mode enabled.</returns> - IServices WithKeepPortable(); - - /// <summary> - /// Returns an instance with server-side portable mode enabled. - /// Service method arguments will be kept in portable form. - /// </summary> - /// <returns>Instance with server-side portable mode enabled.</returns> - IServices WithServerKeepPortable(); - } -} \ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ignite/blob/f0bac562/modules/platform/src/main/dotnet/Apache.Ignite.Core/Services/ServiceConfiguration.cs ---------------------------------------------------------------------- diff --git a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Services/ServiceConfiguration.cs b/modules/platform/src/main/dotnet/Apache.Ignite.Core/Services/ServiceConfiguration.cs deleted file mode 100644 index e91656f..0000000 --- a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Services/ServiceConfiguration.cs +++ /dev/null @@ -1,62 +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.Services -{ - using Apache.Ignite.Core.Cluster; - - /// <summary> - /// Service configuration. - /// </summary> - public class ServiceConfiguration - { - /// <summary> - /// Gets or sets the service name. - /// </summary> - public string Name { get; set; } - - /// <summary> - /// Gets or sets the service instance. - /// </summary> - public IService Service { get; set; } - - /// <summary> - /// Gets or sets the total number of deployed service instances in the cluster, 0 for unlimited. - /// </summary> - public int TotalCount { get; set; } - - /// <summary> - /// Gets or sets maximum number of deployed service instances on each node, 0 for unlimited. - /// </summary> - public int MaxPerNodeCount { get; set; } - - /// <summary> - /// Gets or sets cache name used for key-to-node affinity calculation. - /// </summary> - public string CacheName { get; set; } - - /// <summary> - /// Gets or sets affinity key used for key-to-node affinity calculation. - /// </summary> - public object AffinityKey { get; set; } - - /// <summary> - /// Gets or sets node filter used to filter nodes on which the service will be deployed. - /// </summary> - public IClusterNodeFilter NodeFilter { get; set; } - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ignite/blob/f0bac562/modules/platform/src/main/dotnet/Apache.Ignite.Core/Services/ServiceInvocationException.cs ---------------------------------------------------------------------- diff --git a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Services/ServiceInvocationException.cs b/modules/platform/src/main/dotnet/Apache.Ignite.Core/Services/ServiceInvocationException.cs deleted file mode 100644 index fe83cbc..0000000 --- a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Services/ServiceInvocationException.cs +++ /dev/null @@ -1,101 +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.Services -{ - using System; - using System.Runtime.Serialization; - using Apache.Ignite.Core.Common; - using Apache.Ignite.Core.Portable; - - /// <summary> - /// Indicates an error during Grid Services invocation. - /// </summary> - [Serializable] - public class ServiceInvocationException : IgniteException - { - /** Serializer key. */ - private const string KeyPortableCause = "PortableCause"; - - /** Cause. */ - private readonly IPortableObject _portableCause; - - /// <summary> - /// Initializes a new instance of the <see cref="ServiceInvocationException"/> class. - /// </summary> - public ServiceInvocationException() - { - // No-op. - } - - /// <summary> - /// Initializes a new instance of the <see cref="ServiceInvocationException"/> class. - /// </summary> - /// <param name="message">The message that describes the error.</param> - public ServiceInvocationException(string message) : base(message) - { - // No-op. - } - - /// <summary> - /// Initializes a new instance of the <see cref="ServiceInvocationException"/> class. - /// </summary> - /// <param name="message">The message.</param> - /// <param name="cause">The cause.</param> - public ServiceInvocationException(string message, Exception cause) : base(message, cause) - { - } - - /// <summary> - /// Initializes a new instance of the <see cref="ServiceInvocationException"/> class. - /// </summary> - /// <param name="message">The message.</param> - /// <param name="portableCause">The portable cause.</param> - public ServiceInvocationException(string message, IPortableObject portableCause) - :base(message) - { - _portableCause = portableCause; - } - - /// <summary> - /// Initializes a new instance of the <see cref="IgniteException"/> class. - /// </summary> - /// <param name="info">Serialization information.</param> - /// <param name="ctx">Streaming context.</param> - protected ServiceInvocationException(SerializationInfo info, StreamingContext ctx) - : base(info, ctx) - { - _portableCause = (IPortableObject) info.GetValue(KeyPortableCause, typeof (IPortableObject)); - } - - /// <summary> - /// Gets the portable cause. - /// </summary> - public IPortableObject PortableCause - { - get { return _portableCause; } - } - - /** <inheritdoc /> */ - public override void GetObjectData(SerializationInfo info, StreamingContext context) - { - info.AddValue(KeyPortableCause, _portableCause); - - base.GetObjectData(info, context); - } - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ignite/blob/f0bac562/modules/platform/src/main/dotnet/Apache.Ignite.Core/Transactions/ITransaction.cs ---------------------------------------------------------------------- diff --git a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Transactions/ITransaction.cs b/modules/platform/src/main/dotnet/Apache.Ignite.Core/Transactions/ITransaction.cs deleted file mode 100644 index e85d577..0000000 --- a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Transactions/ITransaction.cs +++ /dev/null @@ -1,230 +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.Transactions -{ - using System; - using System.Collections.Generic; - using Apache.Ignite.Core.Common; - - /// <summary> - /// Grid cache transaction. - /// <para /> - /// Cache transactions support the following isolation levels: - /// <list type="bullet"> - /// <item> - /// <description><see cref="TransactionIsolation.ReadCommitted"/> isolation level - /// means that always a committed value will be provided for read operations. With this isolation - /// level values are always read from cache global memory or persistent store every time a value - /// is accessed. In other words, if the same key is accessed more than once within the same transaction, - /// it may have different value every time since global cache memory may be updated concurrently by - /// other threads.</description> - /// </item> - /// <item> - /// <description><see cref="TransactionIsolation.RepeatableRead"/> isolation level - /// means that if a value was read once within transaction, then all consecutive reads will provide - /// the same in-transaction value. With this isolation level accessed values are stored within - /// in-transaction memory, so consecutive access to the same key within the same transaction will always - /// return the value that was previously read or updated within this transaction. If concurrency is - /// <see cref="TransactionConcurrency.Pessimistic"/>, then a lock on the key will be - /// acquired prior to accessing the value.</description> - /// </item> - /// <item> - /// <description><see cref="TransactionIsolation.Serializable"/> isolation level means - /// that all transactions occur in a completely isolated fashion, as if all transactions in the system - /// had executed serially, one after the other. Read access with this level happens the same way as with - /// <see cref="TransactionIsolation.RepeatableRead"/> level. However, in - /// <see cref="TransactionConcurrency.Optimistic"/> mode, if some transactions cannot be - /// serially isolated from each other, then one winner will be picked and the other transactions in - /// conflict will result in <c>TransactionOptimisticException</c> being thrown on Java side.</description> - /// </item> - /// </list> - /// Cache transactions support the following concurrency models: - /// <list type="bullet"> - /// <item> - /// <description><see cref="TransactionConcurrency.Optimistic"/> - in this mode all cache - /// operations - /// are not distributed to other nodes until <see cref="ITransaction.Commit()"/>. - /// In this mode one <c>PREPARE</c> message will - /// be sent to participating cache nodes to start acquiring per-transaction locks, and once all nodes - /// reply <c>OK</c> (i.e. <c>Phase 1</c> completes successfully), a one-way <c>COMMIT</c> message is sent - /// without waiting for reply. If it is necessary to know whenever remote nodes have committed as well, - /// synchronous commit or synchronous rollback should be enabled via - /// <c>CacheConfiguration.setWriteSynchronizationMode</c>. - /// <para /> - /// Note that in this mode, optimistic failures are only possible in conjunction with - /// <see cref="TransactionIsolation.Serializable"/> isolation level. In all other cases, - /// optimistic transactions will never fail optimistically and will always be identically ordered on all - /// participating Ignite nodes.</description> - /// </item> - /// <item> - /// <description><see cref="TransactionConcurrency.Pessimistic"/> - in this mode a lock is - /// acquired on all cache operations with exception of read operations in - /// <see cref="TransactionIsolation.ReadCommitted"/> mode. All optional filters passed - /// into cache operations will be evaluated after successful lock acquisition. Whenever - /// <see cref="ITransaction.Commit()"/> is called, a single one-way <c>COMMIT</c> - /// message is sent to participating cache nodes without waiting for reply. Note that there is no reason - /// for distributed <c>PREPARE</c> step, as all locks have been already acquired. Just like with - /// optimistic mode, it is possible to configure synchronous commit or rollback and wait till - /// transaction commits on all participating remote nodes.</description> - /// </item> - /// </list> - /// <para /> - /// In addition to standard <c>CacheAtomicityMode.TRANSACTIONAL</c> behavior, Ignite also supports - /// a lighter <c>CacheAtomicityMode.ATOMIC</c> mode as well. In this mode distributed transactions - /// and distributed locking are not supported. Disabling transactions and locking allows to achieve much higher - /// performance and throughput ratios. It is recommended that <c>CacheAtomicityMode.TRANSACTIONAL</c> mode - /// is used whenever full <c>ACID</c>-compliant transactions are not needed. - /// <example> - /// You can use cache transactions as follows: - /// <code> - /// ICacheTx tx = cache.TxStart(); - /// - /// try - /// { - /// int v1 = cache<string, int>.Get("k1"); - /// - /// // Check if v1 satisfies some condition before doing a put. - /// if (v1 > 0) - /// cache.Put<string, int>("k1", 2); - /// - /// cache.Removex("k2); - /// - /// // Commit the transaction. - /// tx.Commit(); - /// } - /// finally - /// { - /// tx.Dispose(); - /// } - /// - /// </code> - /// </example> - /// </summary> - public interface ITransaction : IDisposable, IAsyncSupport<ITransaction> - { - /// <summary> - /// ID of the node on which this transaction started. - /// </summary> - /// <value> - /// Originating node ID. - /// </value> - Guid NodeId { get; } - - /// <summary> - /// ID of the thread in which this transaction started. - /// </summary> - long ThreadId - { - get; - } - - /// <summary> - /// Start time of this transaction on this node. - /// </summary> - DateTime StartTime - { - get; - } - - /// <summary> - /// Transaction isolation level. - /// </summary> - TransactionIsolation Isolation - { - get; - } - - /// <summary> - /// Transaction concurrency mode. - /// </summary> - TransactionConcurrency Concurrency - { - get; - } - - /// <summary> - /// Current transaction state. - /// </summary> - TransactionState State - { - get; - } - - /// <summary> - /// Timeout value in milliseconds for this transaction. If transaction times - /// out prior to it's completion, an exception will be thrown. - /// </summary> - TimeSpan Timeout - { - get; - } - - /// <summary> - /// Gets a value indicating whether this transaction was marked as rollback-only. - /// </summary> - bool IsRollbackOnly - { - get; - } - - /// <summary> - /// Modify the transaction associated with the current thread such that the - /// only possible outcome of the transaction is to roll back the transaction. - /// </summary> - /// <returns> - /// True if rollback-only flag was set as a result of this operation, - /// false if it was already set prior to this call or could not be set - /// because transaction is already finishing up committing or rolling back. - /// </returns> - bool SetRollbackonly(); - - /// <summary> - /// Commits this transaction. - /// </summary> - [AsyncSupported] - void Commit(); - - /// <summary> - /// Rolls back this transaction. - /// </summary> - [AsyncSupported] - void Rollback(); - - /// <summary> - /// Adds a new metadata. - /// </summary> - /// <param name="name">Metadata name.</param> - /// <param name="val">Metadata value.</param> - void AddMeta<TV>(string name, TV val); - - /// <summary> - /// Gets metadata by name. - /// </summary> - /// <param name="name">Metadata name.</param> - /// <returns>Metadata value.</returns> - /// <exception cref="KeyNotFoundException">If metadata key was not found.</exception> - TV Meta<TV>(string name); - - /// <summary> - /// Removes metadata by name. - /// </summary> - /// <param name="name">Metadata name.</param> - /// <returns>Value of removed metadata or default value for <code>V</code> type.</returns> - TV RemoveMeta<TV>(string name); - } -} http://git-wip-us.apache.org/repos/asf/ignite/blob/f0bac562/modules/platform/src/main/dotnet/Apache.Ignite.Core/Transactions/ITransactionMetrics.cs ---------------------------------------------------------------------- diff --git a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Transactions/ITransactionMetrics.cs b/modules/platform/src/main/dotnet/Apache.Ignite.Core/Transactions/ITransactionMetrics.cs deleted file mode 100644 index 565dd34..0000000 --- a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Transactions/ITransactionMetrics.cs +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -namespace Apache.Ignite.Core.Transactions -{ - using System; - - /// <summary> - /// Transaction metrics, shared across all caches. - /// </summary> - public interface ITransactionMetrics - { - /// <summary> - /// Gets the last time transaction was committed. - /// </summary> - DateTime CommitTime { get; } - - /// <summary> - /// Gets the last time transaction was rolled back. - /// </summary> - DateTime RollbackTime { get; } - - /// <summary> - /// Gets the total number of transaction commits. - /// </summary> - int TxCommits { get; } - - /// <summary> - /// Gets the total number of transaction rollbacks. - /// </summary> - int TxRollbacks { get; } - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ignite/blob/f0bac562/modules/platform/src/main/dotnet/Apache.Ignite.Core/Transactions/ITransactions.cs ---------------------------------------------------------------------- diff --git a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Transactions/ITransactions.cs b/modules/platform/src/main/dotnet/Apache.Ignite.Core/Transactions/ITransactions.cs deleted file mode 100644 index 83f12a5..0000000 --- a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Transactions/ITransactions.cs +++ /dev/null @@ -1,73 +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.Transactions -{ - using System; - - /// <summary> - /// Transactions facade. - /// <para/> - /// All members are thread-safe and may be used concurrently from multiple threads. - /// </summary> - public interface ITransactions - { - /// <summary> - /// Starts a transaction with default isolation, concurrency, timeout, and invalidation policy. - /// All defaults are set in CacheConfiguration at startup. - /// </summary> - /// <returns>New transaction.</returns> - ITransaction TxStart(); - - /// <summary> - /// Starts new transaction with the specified concurrency and isolation. - /// </summary> - /// <param name="concurrency">Concurrency.</param> - /// <param name="isolation">Isolation.</param> - /// <returns>New transaction.</returns> - ITransaction TxStart(TransactionConcurrency concurrency, TransactionIsolation isolation); - - /// <summary> - /// Starts new transaction with the specified concurrency and isolation. - /// </summary> - /// <param name="concurrency">Concurrency.</param> - /// <param name="isolation">Isolation.</param> - /// <param name="timeout">Timeout.</param> - /// <param name="txSize">Number of entries participating in transaction (may be approximate).</param> - /// <returns>New transaction.</returns> - ITransaction TxStart(TransactionConcurrency concurrency, TransactionIsolation isolation, - TimeSpan timeout, int txSize); - - /// <summary> - /// Gets transaction started by this thread or null if this thread does not have a transaction. - /// </summary> - /// <value> - /// Transaction started by this thread or null if this thread does not have a transaction. - /// </value> - ITransaction Tx { get; } - - /// <summary> - /// Gets the metrics. - /// </summary> - ITransactionMetrics GetMetrics(); - - /// <summary> - /// Resets the metrics. - /// </summary> - void ResetMetrics(); - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ignite/blob/f0bac562/modules/platform/src/main/dotnet/Apache.Ignite.Core/Transactions/TransactionConcurrency.cs ---------------------------------------------------------------------- diff --git a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Transactions/TransactionConcurrency.cs b/modules/platform/src/main/dotnet/Apache.Ignite.Core/Transactions/TransactionConcurrency.cs deleted file mode 100644 index 4025607..0000000 --- a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Transactions/TransactionConcurrency.cs +++ /dev/null @@ -1,36 +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.Transactions -{ - /// <summary> - /// Transaction concurrency control. See <see cref="ITransaction"/> for more - /// information on transaction concurrency controls. - /// </summary> - public enum TransactionConcurrency - { - /// <summary> - /// Optimistic concurrency control. - /// </summary> - Optimistic = 0, - - /// <summary> - /// Pessimistic concurrency control. - /// </summary> - Pessimistic = 1 - } -} http://git-wip-us.apache.org/repos/asf/ignite/blob/f0bac562/modules/platform/src/main/dotnet/Apache.Ignite.Core/Transactions/TransactionHeuristicException.cs ---------------------------------------------------------------------- diff --git a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Transactions/TransactionHeuristicException.cs b/modules/platform/src/main/dotnet/Apache.Ignite.Core/Transactions/TransactionHeuristicException.cs deleted file mode 100644 index cb46902..0000000 --- a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Transactions/TransactionHeuristicException.cs +++ /dev/null @@ -1,72 +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.Transactions -{ - using System; - using System.Runtime.Serialization; - using Apache.Ignite.Core.Common; - - /// <summary> - /// Exception thrown whenever Ignite transaction enters an unknown state. - /// This exception is usually thrown whenever commit partially succeeds. - /// Cache will still resolve this situation automatically to ensure data - /// integrity, by invalidating all values participating in this transaction - /// on remote nodes. - /// </summary> - [Serializable] - public class TransactionHeuristicException : IgniteException - { - /// <summary> - /// Initializes a new instance of the <see cref="TransactionHeuristicException"/> class. - /// </summary> - public TransactionHeuristicException() - { - // No-op. - } - - /// <summary> - /// Initializes a new instance of the <see cref="TransactionHeuristicException"/> class. - /// </summary> - /// <param name="message">The message that describes the error.</param> - public TransactionHeuristicException(string message) : base(message) - { - // No-op. - } - - /// <summary> - /// Initializes a new instance of the <see cref="TransactionHeuristicException"/> class. - /// </summary> - /// <param name="info">Serialization information.</param> - /// <param name="ctx">Streaming context.</param> - protected TransactionHeuristicException(SerializationInfo info, StreamingContext ctx) - : base(info, ctx) - { - // No-op. - } - - /// <summary> - /// Initializes a new instance of the <see cref="TransactionHeuristicException"/> class. - /// </summary> - /// <param name="message">The message.</param> - /// <param name="cause">The cause.</param> - public TransactionHeuristicException(string message, Exception cause) : base(message, cause) - { - // No-op. - } - } -} http://git-wip-us.apache.org/repos/asf/ignite/blob/f0bac562/modules/platform/src/main/dotnet/Apache.Ignite.Core/Transactions/TransactionIsolation.cs ---------------------------------------------------------------------- diff --git a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Transactions/TransactionIsolation.cs b/modules/platform/src/main/dotnet/Apache.Ignite.Core/Transactions/TransactionIsolation.cs deleted file mode 100644 index 2a7723f..0000000 --- a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Transactions/TransactionIsolation.cs +++ /dev/null @@ -1,41 +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.Transactions -{ - /// <summary> - /// Defines different cache transaction isolation levels. See <see cref="ITransaction"/> - /// documentation for more information about cache transaction isolation levels. - /// </summary> - public enum TransactionIsolation - { - /// <summary> - /// Read committed isolation level. - /// </summary> - ReadCommitted = 0, - - /// <summary> - /// Repeatable read isolation level. - /// </summary> - RepeatableRead = 1, - - /// <summary> - /// Serializable isolation level. - /// </summary> - Serializable = 2 - } -} http://git-wip-us.apache.org/repos/asf/ignite/blob/f0bac562/modules/platform/src/main/dotnet/Apache.Ignite.Core/Transactions/TransactionOptimisticException.cs ---------------------------------------------------------------------- diff --git a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Transactions/TransactionOptimisticException.cs b/modules/platform/src/main/dotnet/Apache.Ignite.Core/Transactions/TransactionOptimisticException.cs deleted file mode 100644 index 2b64370..0000000 --- a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Transactions/TransactionOptimisticException.cs +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -namespace Apache.Ignite.Core.Transactions -{ - using System; - using System.Runtime.Serialization; - using Apache.Ignite.Core.Common; - - /// <summary> - /// Exception thrown whenever Ignite transactions fail optimistically. - /// </summary> - [Serializable] - public class TransactionOptimisticException : IgniteException - { - /// <summary> - /// Initializes a new instance of the <see cref="TransactionOptimisticException"/> class. - /// </summary> - public TransactionOptimisticException() - { - // No-op. - } - - /// <summary> - /// Initializes a new instance of the <see cref="TransactionOptimisticException"/> class. - /// </summary> - /// <param name="message">The message that describes the error.</param> - public TransactionOptimisticException(string message) : base(message) - { - // No-op. - } - - /// <summary> - /// Initializes a new instance of the <see cref="TransactionOptimisticException"/> class. - /// </summary> - /// <param name="message">The message.</param> - /// <param name="cause">The cause.</param> - public TransactionOptimisticException(string message, Exception cause) - : base(message, cause) - { - // No-op. - } - - /// <summary> - /// Initializes a new instance of the <see cref="TransactionOptimisticException"/> class. - /// </summary> - /// <param name="info">Serialization information.</param> - /// <param name="ctx">Streaming context.</param> - protected TransactionOptimisticException(SerializationInfo info, StreamingContext ctx) - : base(info, ctx) - { - // No-op. - } - } -} http://git-wip-us.apache.org/repos/asf/ignite/blob/f0bac562/modules/platform/src/main/dotnet/Apache.Ignite.Core/Transactions/TransactionRollbackException.cs ---------------------------------------------------------------------- diff --git a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Transactions/TransactionRollbackException.cs b/modules/platform/src/main/dotnet/Apache.Ignite.Core/Transactions/TransactionRollbackException.cs deleted file mode 100644 index c1f25c8..0000000 --- a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Transactions/TransactionRollbackException.cs +++ /dev/null @@ -1,68 +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.Transactions -{ - using System; - using System.Runtime.Serialization; - using Apache.Ignite.Core.Common; - - /// <summary> - /// Exception thrown whenever Ignite transactions has been automatically rolled back. - /// </summary> - [Serializable] - public class TransactionRollbackException : IgniteException - { - /// <summary> - /// Initializes a new instance of the <see cref="TransactionRollbackException"/> class. - /// </summary> - public TransactionRollbackException() - { - // No-op. - } - - /// <summary> - /// Initializes a new instance of the <see cref="TransactionRollbackException"/> class. - /// </summary> - /// <param name="message">The message that describes the error.</param> - public TransactionRollbackException(string message) : base(message) - { - // No-op. - } - - /// <summary> - /// Initializes a new instance of the <see cref="TransactionRollbackException"/> class. - /// </summary> - /// <param name="info">Serialization information.</param> - /// <param name="ctx">Streaming context.</param> - protected TransactionRollbackException(SerializationInfo info, StreamingContext ctx) - : base(info, ctx) - { - // No-op. - } - - /// <summary> - /// Initializes a new instance of the <see cref="TransactionRollbackException"/> class. - /// </summary> - /// <param name="message">The message.</param> - /// <param name="cause">The cause.</param> - public TransactionRollbackException(string message, Exception cause) : base(message, cause) - { - // No-op. - } - } -} http://git-wip-us.apache.org/repos/asf/ignite/blob/f0bac562/modules/platform/src/main/dotnet/Apache.Ignite.Core/Transactions/TransactionState.cs ---------------------------------------------------------------------- diff --git a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Transactions/TransactionState.cs b/modules/platform/src/main/dotnet/Apache.Ignite.Core/Transactions/TransactionState.cs deleted file mode 100644 index eecf72b..0000000 --- a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Transactions/TransactionState.cs +++ /dev/null @@ -1,70 +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.Transactions -{ - /// <summary> - /// Cache transaction state. - /// </summary> - public enum TransactionState - { - /// <summary> - /// Transaction started. - /// </summary> - Active, - - /// <summary> - /// Transaction validating. - /// </summary> - Preparing, - - /// <summary> - /// Transaction validation succeeded. - /// </summary> - Prepared, - - /// <summary> - /// Transaction is marked for rollback. - /// </summary> - MarkedRollback, - - /// <summary> - /// Transaction commit started (validating finished). - /// </summary> - Committing, - - /// <summary> - /// Transaction commit succeeded. - /// </summary> - Committed, - - /// <summary> - /// Transaction rollback started (validation failed). - /// </summary> - RollingBack, - - /// <summary> - /// Transaction rollback succeeded. - /// </summary> - RolledBack, - - /// <summary> - /// Transaction rollback failed or is otherwise unknown state. - /// </summary> - Unknown - } -} http://git-wip-us.apache.org/repos/asf/ignite/blob/f0bac562/modules/platform/src/main/dotnet/Apache.Ignite.Core/Transactions/TransactionTimeoutException.cs ---------------------------------------------------------------------- diff --git a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Transactions/TransactionTimeoutException.cs b/modules/platform/src/main/dotnet/Apache.Ignite.Core/Transactions/TransactionTimeoutException.cs deleted file mode 100644 index f1e492a..0000000 --- a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Transactions/TransactionTimeoutException.cs +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -namespace Apache.Ignite.Core.Transactions -{ - using System; - using System.Runtime.Serialization; - using Apache.Ignite.Core.Common; - - /// <summary> - /// Exception thrown whenever Ignite transactions time out. - /// </summary> - [Serializable] - public class TransactionTimeoutException : IgniteException - { - /// <summary> - /// Initializes a new instance of the <see cref="TransactionTimeoutException"/> class. - /// </summary> - public TransactionTimeoutException() - { - // No-op. - } - - /// <summary> - /// Initializes a new instance of the <see cref="TransactionTimeoutException"/> class. - /// </summary> - /// <param name="message">The message that describes the error.</param> - public TransactionTimeoutException(string message) - : base(message) - { - // No-op. - } - - /// <summary> - /// Initializes a new instance of the <see cref="TransactionTimeoutException"/> class. - /// </summary> - /// <param name="info">Serialization information.</param> - /// <param name="ctx">Streaming context.</param> - protected TransactionTimeoutException(SerializationInfo info, StreamingContext ctx) - : base(info, ctx) - { - // No-op. - } - - /// <summary> - /// Initializes a new instance of the <see cref="TransactionTimeoutException"/> class. - /// </summary> - /// <param name="message">The message.</param> - /// <param name="cause">The cause.</param> - public TransactionTimeoutException(string message, Exception cause) : base(message, cause) - { - // No-op. - } - } -} http://git-wip-us.apache.org/repos/asf/ignite/blob/f0bac562/modules/platform/src/main/dotnet/Apache.Ignite.sln ---------------------------------------------------------------------- diff --git a/modules/platform/src/main/dotnet/Apache.Ignite.sln b/modules/platform/src/main/dotnet/Apache.Ignite.sln deleted file mode 100644 index ebde1a8..0000000 --- a/modules/platform/src/main/dotnet/Apache.Ignite.sln +++ /dev/null @@ -1,86 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2010 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Apache.Ignite.Core", "Apache.Ignite.Core\Apache.Ignite.Core.csproj", "{4CD2F726-7E2B-46C4-A5BA-057BB82EECB6}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Apache.Ignite.Core.Tests", "..\..\test\dotnet\Apache.Ignite.Core.Tests\Apache.Ignite.Core.Tests.csproj", "{6A62F66C-DA5B-4FBB-8CE7-A95F740FDC7A}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "common", "..\cpp\common\project\vs\common.vcxproj", "{4F7E4917-4612-4B96-9838-025711ADE391}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Apache.Ignite.Core.Tests.TestDll", "..\..\test\dotnet\Apache.Ignite.Core.Tests.TestDll\Apache.Ignite.Core.Tests.TestDll.csproj", "{F4A69E2D-908E-4F0F-A794-84D508D60E5F}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Apache.Ignite", "Apache.Ignite\Apache.Ignite.csproj", "{27F7F3C6-BDDE-43A9-B565-856F8395A04B}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Apache.Ignite.Examples", "Examples\Apache.Ignite.Examples\Apache.Ignite.Examples.csproj", "{069FA680-3C4D-43A9-B84F-E67513B87827}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Apache.Ignite.ExamplesDll", "Examples\Apache.Ignite.ExamplesDll\Apache.Ignite.ExamplesDll.csproj", "{DFB08363-202E-412D-8812-349EF10A8702}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|x64 = Debug|x64 - Debug|x86 = Debug|x86 - Release|x64 = Release|x64 - Release|x86 = Release|x86 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {4CD2F726-7E2B-46C4-A5BA-057BB82EECB6}.Debug|x64.ActiveCfg = Debug|x64 - {4CD2F726-7E2B-46C4-A5BA-057BB82EECB6}.Debug|x64.Build.0 = Debug|x64 - {4CD2F726-7E2B-46C4-A5BA-057BB82EECB6}.Debug|x86.ActiveCfg = Debug|x86 - {4CD2F726-7E2B-46C4-A5BA-057BB82EECB6}.Debug|x86.Build.0 = Debug|x86 - {4CD2F726-7E2B-46C4-A5BA-057BB82EECB6}.Release|x64.ActiveCfg = Release|x64 - {4CD2F726-7E2B-46C4-A5BA-057BB82EECB6}.Release|x64.Build.0 = Release|x64 - {4CD2F726-7E2B-46C4-A5BA-057BB82EECB6}.Release|x86.ActiveCfg = Release|x86 - {4CD2F726-7E2B-46C4-A5BA-057BB82EECB6}.Release|x86.Build.0 = Release|x86 - {6A62F66C-DA5B-4FBB-8CE7-A95F740FDC7A}.Debug|x64.ActiveCfg = Debug|x64 - {6A62F66C-DA5B-4FBB-8CE7-A95F740FDC7A}.Debug|x64.Build.0 = Debug|x64 - {6A62F66C-DA5B-4FBB-8CE7-A95F740FDC7A}.Debug|x86.ActiveCfg = Debug|x86 - {6A62F66C-DA5B-4FBB-8CE7-A95F740FDC7A}.Debug|x86.Build.0 = Debug|x86 - {6A62F66C-DA5B-4FBB-8CE7-A95F740FDC7A}.Release|x64.ActiveCfg = Release|x64 - {6A62F66C-DA5B-4FBB-8CE7-A95F740FDC7A}.Release|x64.Build.0 = Release|x64 - {6A62F66C-DA5B-4FBB-8CE7-A95F740FDC7A}.Release|x86.ActiveCfg = Release|x86 - {6A62F66C-DA5B-4FBB-8CE7-A95F740FDC7A}.Release|x86.Build.0 = Release|x86 - {4F7E4917-4612-4B96-9838-025711ADE391}.Debug|x64.ActiveCfg = Debug|x64 - {4F7E4917-4612-4B96-9838-025711ADE391}.Debug|x64.Build.0 = Debug|x64 - {4F7E4917-4612-4B96-9838-025711ADE391}.Debug|x86.ActiveCfg = Debug|Win32 - {4F7E4917-4612-4B96-9838-025711ADE391}.Debug|x86.Build.0 = Debug|Win32 - {4F7E4917-4612-4B96-9838-025711ADE391}.Release|x64.ActiveCfg = Release|x64 - {4F7E4917-4612-4B96-9838-025711ADE391}.Release|x64.Build.0 = Release|x64 - {4F7E4917-4612-4B96-9838-025711ADE391}.Release|x86.ActiveCfg = Release|Win32 - {4F7E4917-4612-4B96-9838-025711ADE391}.Release|x86.Build.0 = Release|Win32 - {F4A69E2D-908E-4F0F-A794-84D508D60E5F}.Debug|x64.ActiveCfg = Debug|x64 - {F4A69E2D-908E-4F0F-A794-84D508D60E5F}.Debug|x64.Build.0 = Debug|x64 - {F4A69E2D-908E-4F0F-A794-84D508D60E5F}.Debug|x86.ActiveCfg = Debug|x86 - {F4A69E2D-908E-4F0F-A794-84D508D60E5F}.Debug|x86.Build.0 = Debug|x86 - {F4A69E2D-908E-4F0F-A794-84D508D60E5F}.Release|x64.ActiveCfg = Release|x64 - {F4A69E2D-908E-4F0F-A794-84D508D60E5F}.Release|x64.Build.0 = Release|x64 - {F4A69E2D-908E-4F0F-A794-84D508D60E5F}.Release|x86.ActiveCfg = Release|x86 - {F4A69E2D-908E-4F0F-A794-84D508D60E5F}.Release|x86.Build.0 = Release|x86 - {27F7F3C6-BDDE-43A9-B565-856F8395A04B}.Debug|x64.ActiveCfg = Debug|x64 - {27F7F3C6-BDDE-43A9-B565-856F8395A04B}.Debug|x64.Build.0 = Debug|x64 - {27F7F3C6-BDDE-43A9-B565-856F8395A04B}.Debug|x86.ActiveCfg = Debug|x86 - {27F7F3C6-BDDE-43A9-B565-856F8395A04B}.Debug|x86.Build.0 = Debug|x86 - {27F7F3C6-BDDE-43A9-B565-856F8395A04B}.Release|x64.ActiveCfg = Release|x64 - {27F7F3C6-BDDE-43A9-B565-856F8395A04B}.Release|x64.Build.0 = Release|x64 - {27F7F3C6-BDDE-43A9-B565-856F8395A04B}.Release|x86.ActiveCfg = Release|x86 - {27F7F3C6-BDDE-43A9-B565-856F8395A04B}.Release|x86.Build.0 = Release|x86 - {069FA680-3C4D-43A9-B84F-E67513B87827}.Debug|x64.ActiveCfg = Debug|x64 - {069FA680-3C4D-43A9-B84F-E67513B87827}.Debug|x64.Build.0 = Debug|x64 - {069FA680-3C4D-43A9-B84F-E67513B87827}.Debug|x86.ActiveCfg = Debug|x86 - {069FA680-3C4D-43A9-B84F-E67513B87827}.Debug|x86.Build.0 = Debug|x86 - {069FA680-3C4D-43A9-B84F-E67513B87827}.Release|x64.ActiveCfg = Release|x64 - {069FA680-3C4D-43A9-B84F-E67513B87827}.Release|x64.Build.0 = Release|x64 - {069FA680-3C4D-43A9-B84F-E67513B87827}.Release|x86.ActiveCfg = Release|x86 - {069FA680-3C4D-43A9-B84F-E67513B87827}.Release|x86.Build.0 = Release|x86 - {DFB08363-202E-412D-8812-349EF10A8702}.Debug|x64.ActiveCfg = Debug|x64 - {DFB08363-202E-412D-8812-349EF10A8702}.Debug|x64.Build.0 = Debug|x64 - {DFB08363-202E-412D-8812-349EF10A8702}.Debug|x86.ActiveCfg = Debug|x86 - {DFB08363-202E-412D-8812-349EF10A8702}.Debug|x86.Build.0 = Debug|x86 - {DFB08363-202E-412D-8812-349EF10A8702}.Release|x64.ActiveCfg = Release|x64 - {DFB08363-202E-412D-8812-349EF10A8702}.Release|x64.Build.0 = Release|x64 - {DFB08363-202E-412D-8812-349EF10A8702}.Release|x86.ActiveCfg = Release|x86 - {DFB08363-202E-412D-8812-349EF10A8702}.Release|x86.Build.0 = Release|x86 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal http://git-wip-us.apache.org/repos/asf/ignite/blob/f0bac562/modules/platform/src/main/dotnet/Apache.Ignite.sln.DotSettings ---------------------------------------------------------------------- diff --git a/modules/platform/src/main/dotnet/Apache.Ignite.sln.DotSettings b/modules/platform/src/main/dotnet/Apache.Ignite.sln.DotSettings deleted file mode 100644 index 187a909..0000000 --- a/modules/platform/src/main/dotnet/Apache.Ignite.sln.DotSettings +++ /dev/null @@ -1,4 +0,0 @@ -<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation"> - <s:Boolean x:Key="/Default/CodeStyle/CSharpUsing/AddImportsToDeepestScope/@EntryValue">True</s:Boolean> - - <s:Boolean x:Key="/Default/CodeStyle/CSharpUsing/QualifiedUsingAtNestedScope/@EntryValue">True</s:Boolean></wpf:ResourceDictionary> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ignite/blob/f0bac562/modules/platform/src/main/dotnet/Apache.Ignite.slnrel ---------------------------------------------------------------------- diff --git a/modules/platform/src/main/dotnet/Apache.Ignite.slnrel b/modules/platform/src/main/dotnet/Apache.Ignite.slnrel deleted file mode 100644 index 0229623..0000000 --- a/modules/platform/src/main/dotnet/Apache.Ignite.slnrel +++ /dev/null @@ -1,43 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2010 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Apache.Ignite.Core", "Apache.Ignite.Core\Apache.Ignite.Core.csproj", "{4CD2F726-7E2B-46C4-A5BA-057BB82EECB6}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "common", "..\cpp\src\common\project\vs\common.vcxproj", "{4F7E4917-4612-4B96-9838-025711ADE391}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Apache.Ignite", "Apache.Ignite\Apache.Ignite.csproj", "{27F7F3C6-BDDE-43A9-B565-856F8395A04B}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Release|x64 = Release|x64 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {4CD2F726-7E2B-46C4-A5BA-057BB82EECB6}.Debug|x64.ActiveCfg = Debug|x64 - {4CD2F726-7E2B-46C4-A5BA-057BB82EECB6}.Debug|x64.Build.0 = Debug|x64 - {4CD2F726-7E2B-46C4-A5BA-057BB82EECB6}.Debug|x86.ActiveCfg = Debug|x86 - {4CD2F726-7E2B-46C4-A5BA-057BB82EECB6}.Debug|x86.Build.0 = Debug|x86 - {4CD2F726-7E2B-46C4-A5BA-057BB82EECB6}.Release|x64.ActiveCfg = Release|x64 - {4CD2F726-7E2B-46C4-A5BA-057BB82EECB6}.Release|x64.Build.0 = Release|x64 - {4CD2F726-7E2B-46C4-A5BA-057BB82EECB6}.Release|x86.ActiveCfg = Release|x86 - {4CD2F726-7E2B-46C4-A5BA-057BB82EECB6}.Release|x86.Build.0 = Release|x86 - {4F7E4917-4612-4B96-9838-025711ADE391}.Debug|x64.ActiveCfg = Debug|x64 - {4F7E4917-4612-4B96-9838-025711ADE391}.Debug|x64.Build.0 = Debug|x64 - {4F7E4917-4612-4B96-9838-025711ADE391}.Debug|x86.ActiveCfg = Debug|Win32 - {4F7E4917-4612-4B96-9838-025711ADE391}.Debug|x86.Build.0 = Debug|Win32 - {4F7E4917-4612-4B96-9838-025711ADE391}.Release|x64.ActiveCfg = Release|x64 - {4F7E4917-4612-4B96-9838-025711ADE391}.Release|x64.Build.0 = Release|x64 - {4F7E4917-4612-4B96-9838-025711ADE391}.Release|x86.ActiveCfg = Release|Win32 - {4F7E4917-4612-4B96-9838-025711ADE391}.Release|x86.Build.0 = Release|Win32 - {27F7F3C6-BDDE-43A9-B565-856F8395A04B}.Debug|x64.ActiveCfg = Debug|x64 - {27F7F3C6-BDDE-43A9-B565-856F8395A04B}.Debug|x64.Build.0 = Debug|x64 - {27F7F3C6-BDDE-43A9-B565-856F8395A04B}.Debug|x86.ActiveCfg = Debug|x86 - {27F7F3C6-BDDE-43A9-B565-856F8395A04B}.Debug|x86.Build.0 = Debug|x86 - {27F7F3C6-BDDE-43A9-B565-856F8395A04B}.Release|x64.ActiveCfg = Release|x64 - {27F7F3C6-BDDE-43A9-B565-856F8395A04B}.Release|x64.Build.0 = Release|x64 - {27F7F3C6-BDDE-43A9-B565-856F8395A04B}.Release|x86.ActiveCfg = Release|x86 - {27F7F3C6-BDDE-43A9-B565-856F8395A04B}.Release|x86.Build.0 = Release|x86 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal http://git-wip-us.apache.org/repos/asf/ignite/blob/f0bac562/modules/platform/src/main/dotnet/Apache.Ignite/Apache.Ignite.csproj ---------------------------------------------------------------------- diff --git a/modules/platform/src/main/dotnet/Apache.Ignite/Apache.Ignite.csproj b/modules/platform/src/main/dotnet/Apache.Ignite/Apache.Ignite.csproj deleted file mode 100644 index 7f6db3a..0000000 --- a/modules/platform/src/main/dotnet/Apache.Ignite/Apache.Ignite.csproj +++ /dev/null @@ -1,76 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" /> - <PropertyGroup> - <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> - <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> - <ProjectGuid>{27F7F3C6-BDDE-43A9-B565-856F8395A04B}</ProjectGuid> - <OutputType>Exe</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <RootNamespace>Apache.Ignite</RootNamespace> - <AssemblyName>Apache.Ignite</AssemblyName> - <TargetFrameworkVersion>v4.0</TargetFrameworkVersion> - <FileAlignment>512</FileAlignment> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'"> - <PlatformTarget>x64</PlatformTarget> - <OutputPath>bin\x64\Debug\</OutputPath> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'"> - <PlatformTarget>x64</PlatformTarget> - <OutputPath>bin\x64\Release\</OutputPath> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'"> - <PlatformTarget>x86</PlatformTarget> - <OutputPath>bin\x86\Debug\</OutputPath> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'"> - <PlatformTarget>x86</PlatformTarget> - <OutputPath>bin\x86\Release\</OutputPath> - </PropertyGroup> - <ItemGroup> - <Reference Include="System" /> - <Reference Include="System.Configuration" /> - <Reference Include="System.Core" /> - <Reference Include="System.ServiceProcess" /> - <Reference Include="System.Xml.Linq" /> - <Reference Include="System.Data.DataSetExtensions" /> - <Reference Include="Microsoft.CSharp" /> - <Reference Include="System.Data" /> - <Reference Include="System.Xml" /> - </ItemGroup> - <ItemGroup> - <Compile Include="Config\AppSettingsConfigurator.cs" /> - <Compile Include="Config\ArgsConfigurator.cs" /> - <Compile Include="Config\ConfigValueParser.cs" /> - <Compile Include="Config\IConfigurator.cs" /> - <Compile Include="IgniteRunner.cs" /> - <Compile Include="Properties\AssemblyInfo.cs" /> - <Compile Include="Service\IgniteService.cs"> - <SubType>Component</SubType> - </Compile> - <Compile Include="Service\NativeMethods.cs" /> - <Compile Include="Service\ServiceDescription.cs" /> - </ItemGroup> - <ItemGroup> - <ProjectReference Include="..\Apache.Ignite.Core\Apache.Ignite.Core.csproj"> - <Project>{4cd2f726-7e2b-46c4-a5ba-057bb82eecb6}</Project> - <Name>Apache.Ignite.Core</Name> - </ProjectReference> - </ItemGroup> - <ItemGroup> - <None Include="App.config" /> - </ItemGroup> - <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> - <PropertyGroup> - <PostBuildEvent>copy $(TargetPath) $(SolutionDir)..\..\test\dotnet\Apache.Ignite.Core.Tests\$(OutDir) -copy $(TargetPath).config $(SolutionDir)..\..\test\dotnet\Apache.Ignite.Core.Tests\$(OutDir)</PostBuildEvent> - </PropertyGroup> - <!-- To modify your build process, add your task inside one of the targets below and uncomment it. - Other similar extension points exist, see Microsoft.Common.targets. - <Target Name="BeforeBuild"> - </Target> - <Target Name="AfterBuild"> - </Target> - --> -</Project> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ignite/blob/f0bac562/modules/platform/src/main/dotnet/Apache.Ignite/Apache.Ignite.csprojrel ---------------------------------------------------------------------- diff --git a/modules/platform/src/main/dotnet/Apache.Ignite/Apache.Ignite.csprojrel b/modules/platform/src/main/dotnet/Apache.Ignite/Apache.Ignite.csprojrel deleted file mode 100644 index 0883660..0000000 --- a/modules/platform/src/main/dotnet/Apache.Ignite/Apache.Ignite.csprojrel +++ /dev/null @@ -1,76 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" /> - <PropertyGroup> - <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> - <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> - <ProjectGuid>{27F7F3C6-BDDE-43A9-B565-856F8395A04B}</ProjectGuid> - <OutputType>Exe</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <RootNamespace>Apache.Ignite</RootNamespace> - <AssemblyName>Apache.Ignite</AssemblyName> - <TargetFrameworkVersion>v4.0</TargetFrameworkVersion> - <FileAlignment>512</FileAlignment> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'"> - <PlatformTarget>x64</PlatformTarget> - <OutputPath>bin\x64\Debug\</OutputPath> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'"> - <PlatformTarget>x64</PlatformTarget> - <OutputPath>bin\x64\Release\</OutputPath> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'"> - <PlatformTarget>x86</PlatformTarget> - <OutputPath>bin\x86\Debug\</OutputPath> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'"> - <PlatformTarget>x86</PlatformTarget> - <OutputPath>bin\x86\Release\</OutputPath> - </PropertyGroup> - <ItemGroup> - <Reference Include="System" /> - <Reference Include="System.Configuration" /> - <Reference Include="System.Core" /> - <Reference Include="System.ServiceProcess" /> - <Reference Include="System.Xml.Linq" /> - <Reference Include="System.Data.DataSetExtensions" /> - <Reference Include="Microsoft.CSharp" /> - <Reference Include="System.Data" /> - <Reference Include="System.Xml" /> - </ItemGroup> - <ItemGroup> - <Compile Include="Config\AppSettingsConfigurator.cs" /> - <Compile Include="Config\ArgsConfigurator.cs" /> - <Compile Include="Config\ConfigValueParser.cs" /> - <Compile Include="Config\IConfigurator.cs" /> - <Compile Include="IgniteRunner.cs" /> - <Compile Include="Properties\AssemblyInfo.cs" /> - <Compile Include="Service\IgniteService.cs"> - <SubType>Component</SubType> - </Compile> - <Compile Include="Service\NativeMethods.cs" /> - <Compile Include="Service\ServiceDescription.cs" /> - </ItemGroup> - <ItemGroup> - <ProjectReference Include="..\Apache.Ignite.Core\Apache.Ignite.Core.csproj"> - <Project>{4cd2f726-7e2b-46c4-a5ba-057bb82eecb6}</Project> - <Name>Apache.Ignite.Core</Name> - </ProjectReference> - </ItemGroup> - <ItemGroup> - <None Include="App.config" /> - </ItemGroup> - <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> - <PropertyGroup> - <PostBuildEvent> - </PostBuildEvent> - </PropertyGroup> - <!-- To modify your build process, add your task inside one of the targets below and uncomment it. - Other similar extension points exist, see Microsoft.Common.targets. - <Target Name="BeforeBuild"> - </Target> - <Target Name="AfterBuild"> - </Target> - --> -</Project> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ignite/blob/f0bac562/modules/platform/src/main/dotnet/Apache.Ignite/App.config ---------------------------------------------------------------------- diff --git a/modules/platform/src/main/dotnet/Apache.Ignite/App.config b/modules/platform/src/main/dotnet/Apache.Ignite/App.config deleted file mode 100644 index a9e8c39..0000000 --- a/modules/platform/src/main/dotnet/Apache.Ignite/App.config +++ /dev/null @@ -1,56 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> - -<!-- - 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. ---> - - -<!-- - Apache Ignite .Net startup application configuration file. ---> - -<configuration> - <startup> - <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/> - </startup> - - <runtime> - <gcServer enabled="true" /> - </runtime> - - <appSettings> - <!-- Path to spring configuration file relative from IGNITE_HOME (if not provided "config/default-config.xml" is used) --> - <!-- <add key="Ignite.SpringConfigUrl" value="my-config.xml"/> --> - - <!-- Absolute path to spring configuration file (if not provided "config/default-config.xml" is used) --> - <!-- <add key="Ignite.SpringConfigUrl" value="C:\my-dir\my-config.xml"/> --> - - <!-- Path to Java library jvm.dll (if not provided JAVA_HOME environment variable is used to find jvm.dll) --> - <!-- <add key="Ignite.JvmDllPath" value="C:\Program Files\Java\jdk1.7.0_45\jre\bin\server\jvm.dll"/> --> - - <!-- Additional classpath passed to JVM (enlist additional jar files here) --> - <!-- <add key="Ignite.JvmClasspath" value="c:\my-dir\my-lib1.jar;c:\my-dir\my-lib2.jar"/> --> - - <!-- JVM Options passed to JVM --> - <!-- <add key="Ignite.JvmOption.1" value="-Xmx512m"/> --> - <!-- <add key="Ignite.JvmOption.2" value="-DIGNITE_QUIET=false"/> --> - - <!-- Additional .Net assemblies to be loaded on startup. --> - <!-- <add key="Ignite.Assembly.1" value="System.Data.Linq,Culture=neutral,Version=1.0.0.0,PublicKeyToken=b77a5c561934e089"/> --> - <!-- <add key="Ignite.Assembly.2" value="my-assembly.dll"/> --> - </appSettings> - -</configuration> http://git-wip-us.apache.org/repos/asf/ignite/blob/f0bac562/modules/platform/src/main/dotnet/Apache.Ignite/Config/AppSettingsConfigurator.cs ---------------------------------------------------------------------- diff --git a/modules/platform/src/main/dotnet/Apache.Ignite/Config/AppSettingsConfigurator.cs b/modules/platform/src/main/dotnet/Apache.Ignite/Config/AppSettingsConfigurator.cs deleted file mode 100644 index b2e827e..0000000 --- a/modules/platform/src/main/dotnet/Apache.Ignite/Config/AppSettingsConfigurator.cs +++ /dev/null @@ -1,113 +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.Config -{ - using System.Collections.Generic; - using System.Collections.Specialized; - using Apache.Ignite.Core; - - /// <summary> - /// Configurator which uses application configuration. - /// </summary> - internal class AppSettingsConfigurator : IConfigurator<NameValueCollection> - { - /** Common configuration property prefix. */ - private static readonly string CfgPrefix = "Ignite.".ToLower(); - - /** Configuration property: Ignite home. */ - private static readonly string CfgHome = "Home".ToLower(); - - /** Configuration property: Spring config URL. */ - private static readonly string CfgSpringCfgUrl = "SpringConfigUrl".ToLower(); - - /** Configuration property: Path to JVM dll. */ - private static readonly string CfgJvmDll = "JvmDll".ToLower(); - - /** Configuration property: JVM classpath. */ - private static readonly string CfgJvmClasspath = "JvmClasspath".ToLower(); - - /** Configuration property: suppress warnings flag. */ - private static readonly string CfgSuppressWarn = "SuppressWarnings".ToLower(); - - /** Configuration property: JVM option prefix. */ - private static readonly string CfgJvmOptPrefix = "JvmOption".ToLower(); - - /** Configuration property: assembly prefix. */ - private static readonly string CfgAssemblyPrefix = "Assembly".ToLower(); - - /** Configuration property: JVM min memory. */ - private static readonly string CfgJvmMinMem = "JvmInitialMemoryMB".ToLower(); - - /** Configuration property: JVM max memory. */ - private static readonly string CfgJvmMaxMem = "JvmMaxMemoryMB".ToLower(); - - /** <inheritDoc /> */ - public void Configure(IgniteConfiguration cfg, NameValueCollection src) - { - var jvmOpts = new List<string>(); - var assemblies = new List<string>(); - - foreach (string key in src.Keys) - { - var key0 = key.ToLower(); - - if (key0.StartsWith(CfgPrefix)) - { - key0 = key0.Substring(CfgPrefix.Length); - - var val = src[key]; - - if (CfgHome.Equals(key0)) - cfg.IgniteHome = val; - else if (CfgSpringCfgUrl.Equals(key0)) - cfg.SpringConfigUrl = val; - else if (CfgJvmDll.Equals(key0)) - cfg.JvmDllPath = val; - else if (CfgJvmClasspath.Equals(key0)) - cfg.JvmClasspath = val; - else if (CfgSuppressWarn.Equals(key0)) - cfg.SuppressWarnings = val != null && bool.TrueString.ToLower().Equals(val.ToLower()); - else if (key0.StartsWith(CfgJvmOptPrefix)) - jvmOpts.Add(val); - else if (key0.StartsWith(CfgAssemblyPrefix)) - assemblies.Add(val); - else if (CfgJvmMinMem.Equals(key0)) - cfg.JvmInitialMemoryMb = ConfigValueParser.ParseInt(val, key); - else if (CfgJvmMaxMem.Equals(key0)) - cfg.JvmMaxMemoryMb = ConfigValueParser.ParseInt(val, key); - } - } - - if (jvmOpts.Count > 0) - { - if (cfg.JvmOptions == null) - cfg.JvmOptions = jvmOpts; - else - jvmOpts.ForEach(val => cfg.JvmOptions.Add(val)); - } - - if (assemblies.Count > 0) - { - if (cfg.Assemblies == null) - cfg.Assemblies = assemblies; - else - assemblies.ForEach(val => cfg.Assemblies.Add(val)); - } - } - } -} http://git-wip-us.apache.org/repos/asf/ignite/blob/f0bac562/modules/platform/src/main/dotnet/Apache.Ignite/Config/ArgsConfigurator.cs ---------------------------------------------------------------------- diff --git a/modules/platform/src/main/dotnet/Apache.Ignite/Config/ArgsConfigurator.cs b/modules/platform/src/main/dotnet/Apache.Ignite/Config/ArgsConfigurator.cs deleted file mode 100644 index b0651d7..0000000 --- a/modules/platform/src/main/dotnet/Apache.Ignite/Config/ArgsConfigurator.cs +++ /dev/null @@ -1,164 +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.Config -{ - using System.Collections.Generic; - using Apache.Ignite.Core; - - /// <summary> - /// Configurator which uses arguments array. - /// </summary> - internal class ArgsConfigurator : IConfigurator<string[]> - { - /** Command line argument: Ignite home. */ - private static readonly string CmdIgniteHome = "-IgniteHome=".ToLower(); - - /** Command line argument: Spring config URL. */ - private static readonly string CmdSpringCfgUrl = "-SpringConfigUrl=".ToLower(); - - /** Command line argument: Path to JVM dll. */ - private static readonly string CmdJvmDll = "-JvmDll=".ToLower(); - - /** Command line argument: JVM classpath. */ - private static readonly string CmdJvmClasspath = "-JvmClasspath=".ToLower(); - - /** Command line argument: suppress warnings flag. */ - private static readonly string CmdSuppressWarn = "-SuppressWarnings=".ToLower(); - - /** Command line argument: JVM option prefix. */ - private static readonly string CmdJvmOpt = "-J".ToLower(); - - /** Command line argument: assembly. */ - private static readonly string CmdAssembly = "-Assembly=".ToLower(); - - /** Command line argument: JvmInitialMemoryMB. */ - private static readonly string CmdJvmMinMem = "-JvmInitialMemoryMB=".ToLower(); - - /** Command line argument: JvmMaxMemoryMB. */ - private static readonly string CmdJvmMaxMem = "-JvmMaxMemoryMB=".ToLower(); - - /// <summary> - /// Convert configuration to arguments. - /// </summary> - /// <param name="cfg"></param> - /// <returns></returns> - internal static string[] ToArgs(IgniteConfiguration cfg) - { - var args = new List<string>(); - - if (cfg.IgniteHome != null) - args.Add(CmdIgniteHome + cfg.IgniteHome); - - if (cfg.SpringConfigUrl != null) - args.Add(CmdSpringCfgUrl + cfg.SpringConfigUrl); - - if (cfg.JvmDllPath != null) - args.Add(CmdJvmDll + cfg.JvmDllPath); - - if (cfg.JvmClasspath != null) - args.Add(CmdJvmClasspath + cfg.JvmClasspath); - - if (cfg.SuppressWarnings) - args.Add(CmdSuppressWarn + bool.TrueString); - - if (cfg.JvmOptions != null) - { - foreach (var jvmOpt in cfg.JvmOptions) - args.Add(CmdJvmOpt + jvmOpt); - } - - if (cfg.Assemblies != null) - { - foreach (var assembly in cfg.Assemblies) - args.Add(CmdAssembly + assembly); - } - - args.Add(CmdJvmMinMem + cfg.JvmInitialMemoryMb); - args.Add(CmdJvmMaxMem + cfg.JvmMaxMemoryMb); - - return args.ToArray(); - } - - /// <summary> - /// Convert arguments to configuration. - /// </summary> - /// <param name="args">Arguments.</param> - /// <returns>Configuration.</returns> - internal static IgniteConfiguration FromArgs(string[] args) - { - var cfg = new IgniteConfiguration(); - - new ArgsConfigurator().Configure(cfg, args); - - return cfg; - } - - /** <inheritDoc /> */ - public void Configure(IgniteConfiguration cfg, string[] src) - { - var jvmOpts = new List<string>(); - var assemblies = new List<string>(); - - foreach (var arg in src) - { - var argLow = arg.ToLower(); - - if (argLow.StartsWith(CmdIgniteHome)) - cfg.IgniteHome = arg.Substring(CmdIgniteHome.Length); - else if (argLow.StartsWith(CmdSpringCfgUrl)) - cfg.SpringConfigUrl = arg.Substring(CmdSpringCfgUrl.Length); - else if (argLow.StartsWith(CmdJvmDll)) - cfg.JvmDllPath = arg.Substring(CmdJvmDll.Length); - else if (argLow.StartsWith(CmdJvmClasspath)) - cfg.JvmClasspath = arg.Substring(CmdJvmClasspath.Length); - else if (argLow.StartsWith(CmdSuppressWarn)) - { - var val = arg.Substring(CmdSuppressWarn.Length); - - cfg.SuppressWarnings = bool.TrueString.ToLower().Equals(val.ToLower()); - } - else if (argLow.StartsWith(CmdJvmMinMem)) - cfg.JvmInitialMemoryMb = ConfigValueParser.ParseInt(arg.Substring(CmdJvmMinMem.Length), - CmdJvmMinMem); - else if (argLow.StartsWith(CmdJvmMaxMem)) - cfg.JvmMaxMemoryMb = ConfigValueParser.ParseInt(arg.Substring(CmdJvmMaxMem.Length), - CmdJvmMaxMem); - else if (argLow.StartsWith(CmdJvmOpt)) - jvmOpts.Add(arg.Substring(CmdJvmOpt.Length)); - else if (argLow.StartsWith(CmdAssembly)) - assemblies.Add(arg.Substring(CmdAssembly.Length)); - } - - if (jvmOpts.Count > 0) - { - if (cfg.JvmOptions == null) - cfg.JvmOptions = jvmOpts; - else - jvmOpts.ForEach(val => cfg.JvmOptions.Add(val)); - } - - if (assemblies.Count > 0) - { - if (cfg.Assemblies == null) - cfg.Assemblies = assemblies; - else - assemblies.ForEach(val => cfg.Assemblies.Add(val)); - } - } - } -} http://git-wip-us.apache.org/repos/asf/ignite/blob/f0bac562/modules/platform/src/main/dotnet/Apache.Ignite/Config/ConfigValueParser.cs ---------------------------------------------------------------------- diff --git a/modules/platform/src/main/dotnet/Apache.Ignite/Config/ConfigValueParser.cs b/modules/platform/src/main/dotnet/Apache.Ignite/Config/ConfigValueParser.cs deleted file mode 100644 index 796b8e1..0000000 --- a/modules/platform/src/main/dotnet/Apache.Ignite/Config/ConfigValueParser.cs +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -namespace Apache.Ignite.Config -{ - using System; - - /// <summary> - /// Parses Ignite config values. - /// </summary> - internal class ConfigValueParser - { - /// <summary> - /// Parses provided string to int. Throws a custom exception if failed. - /// </summary> - public static int ParseInt(string value, string propertyName) - { - int result; - - if (int.TryParse(value, out result)) - return result; - - throw new InvalidOperationException( - string.Format("Failed to configure Ignite: property '{0}' has value '{1}', which is not an integer.", - propertyName, value)); - } - } -}
