You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by vo...@apache.org on 2015/09/30 09:28:51 UTC
[1/3] ignite git commit: IGNITE-1282: Added FxCop warnings
suppression.
Repository: ignite
Updated Branches:
refs/heads/ignite-1282 f6111b559 -> b9256a1e7
http://git-wip-us.apache.org/repos/asf/ignite/blob/b9256a1e/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Unmanaged/UnmanagedCallbacks.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Unmanaged/UnmanagedCallbacks.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Unmanaged/UnmanagedCallbacks.cs
index 9efaf5f..3938d35 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Unmanaged/UnmanagedCallbacks.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Unmanaged/UnmanagedCallbacks.cs
@@ -1052,6 +1052,7 @@ namespace Apache.Ignite.Core.Impl.Unmanaged
#region HELPERS
+ [SuppressMessage("Microsoft.Design", "CA1031:DoNotCatchGeneralExceptionTypes")]
private void SafeCall(Action func, bool allowUnitialized = false)
{
if (!allowUnitialized)
@@ -1067,6 +1068,7 @@ namespace Apache.Ignite.Core.Impl.Unmanaged
}
}
+ [SuppressMessage("Microsoft.Design", "CA1031:DoNotCatchGeneralExceptionTypes")]
private T SafeCall<T>(Func<T> func, bool allowUnitialized = false)
{
if (!allowUnitialized)
http://git-wip-us.apache.org/repos/asf/ignite/blob/b9256a1e/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Unmanaged/UnmanagedNonReleaseableTarget.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Unmanaged/UnmanagedNonReleaseableTarget.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Unmanaged/UnmanagedNonReleaseableTarget.cs
index 24db5a5..fe2de77 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Unmanaged/UnmanagedNonReleaseableTarget.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Unmanaged/UnmanagedNonReleaseableTarget.cs
@@ -18,6 +18,7 @@
namespace Apache.Ignite.Core.Impl.Unmanaged
{
using System;
+ using System.Diagnostics.CodeAnalysis;
/// <summary>
/// Unmanaged target which does not require explicit release.
@@ -60,6 +61,8 @@ namespace Apache.Ignite.Core.Impl.Unmanaged
}
/** <inheritdoc /> */
+ [SuppressMessage("Microsoft.Usage", "CA1816:CallGCSuppressFinalizeCorrectly",
+ Justification = "There is no finalizer.")]
public void Dispose()
{
// No-op.
http://git-wip-us.apache.org/repos/asf/ignite/blob/b9256a1e/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Unmanaged/UnmanagedUtils.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Unmanaged/UnmanagedUtils.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Unmanaged/UnmanagedUtils.cs
index c55d92f..34da332 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Unmanaged/UnmanagedUtils.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Unmanaged/UnmanagedUtils.cs
@@ -19,6 +19,7 @@ namespace Apache.Ignite.Core.Impl.Unmanaged
{
using System;
using System.Diagnostics.CodeAnalysis;
+ using System.Globalization;
using System.Runtime.InteropServices;
using Apache.Ignite.Core.Common;
using Apache.Ignite.Core.Impl.Common;
@@ -403,6 +404,7 @@ namespace Apache.Ignite.Core.Impl.Unmanaged
/// Initializer.
/// </summary>
[SuppressMessage("Microsoft.Design", "CA1065:DoNotRaiseExceptionsInUnexpectedLocations")]
+ [SuppressMessage("Microsoft.Performance", "CA1810:InitializeReferenceTypeStaticFieldsInline")]
static UnmanagedUtils()
{
var path = IgniteUtils.UnpackEmbeddedResource(IgniteUtils.FileIgniteJniDll);
@@ -1253,9 +1255,13 @@ namespace Apache.Ignite.Core.Impl.Unmanaged
var procPtr = NativeMethods.GetProcAddress(Ptr, procName);
if (procPtr == IntPtr.Zero)
- throw new IgniteException(string.Format("Unable to find native function: {0} (Error code: {1}). " +
- "Make sure that module.def is up to date",
- procName, Marshal.GetLastWin32Error()));
+ {
+ var error = Marshal.GetLastWin32Error();
+
+ throw new IgniteException(string.Format(CultureInfo.InvariantCulture,
+ "Unable to find native function: {0} (Error code: {1}). Make sure that module.def is up to date",
+ procName, error));
+ }
return TypeCaster<T>.Cast(Marshal.GetDelegateForFunctionPointer(procPtr, typeof (T)));
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/b9256a1e/modules/platforms/dotnet/Apache.Ignite.Core/Portable/IPortableObject.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Portable/IPortableObject.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Portable/IPortableObject.cs
index 3da8dec..9855d84 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Portable/IPortableObject.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Portable/IPortableObject.cs
@@ -17,6 +17,8 @@
namespace Apache.Ignite.Core.Portable
{
+ using System.Diagnostics.CodeAnalysis;
+
/// <summary>
/// Wrapper for serialized portable objects.
/// </summary>
@@ -34,6 +36,8 @@ namespace Apache.Ignite.Core.Portable
/// Gets object metadata.
/// </summary>
/// <returns>Metadata.</returns>
+ [SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate",
+ Justification = "Expensive operation.")]
IPortableMetadata GetMetadata();
/// <summary>
http://git-wip-us.apache.org/repos/asf/ignite/blob/b9256a1e/modules/platforms/dotnet/Apache.Ignite.Core/Portable/PortableConfiguration.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Portable/PortableConfiguration.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Portable/PortableConfiguration.cs
index 39878c2..f83580c 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Portable/PortableConfiguration.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Portable/PortableConfiguration.cs
@@ -18,6 +18,7 @@
namespace Apache.Ignite.Core.Portable
{
using System.Collections.Generic;
+ using System.Diagnostics.CodeAnalysis;
/// <summary>
/// Portable type configuration.
@@ -59,6 +60,7 @@ namespace Apache.Ignite.Core.Portable
/// <summary>
/// Type configurations.
/// </summary>
+ [SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
public ICollection<PortableTypeConfiguration> TypeConfigurations
{
get;
@@ -68,6 +70,7 @@ namespace Apache.Ignite.Core.Portable
/// <summary>
/// Portable types. Shorthand for creating PortableTypeConfiguration.
/// </summary>
+ [SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
public ICollection<string> Types
{
get;
http://git-wip-us.apache.org/repos/asf/ignite/blob/b9256a1e/modules/platforms/dotnet/Apache.Ignite.Core/Services/IServices.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Services/IServices.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Services/IServices.cs
index fff25c3..ec1a044 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Services/IServices.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Services/IServices.cs
@@ -18,6 +18,7 @@
namespace Apache.Ignite.Core.Services
{
using System.Collections.Generic;
+ using System.Diagnostics.CodeAnalysis;
using Apache.Ignite.Core.Cluster;
using Apache.Ignite.Core.Common;
@@ -124,6 +125,8 @@ namespace Apache.Ignite.Core.Services
/// Gets metadata about all deployed services.
/// </summary>
/// <returns>Metadata about all deployed services.</returns>
+ [SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate",
+ Justification = "Expensive operation.")]
ICollection<IServiceDescriptor> GetServiceDescriptors();
/// <summary>
http://git-wip-us.apache.org/repos/asf/ignite/blob/b9256a1e/modules/platforms/dotnet/Apache.Ignite.Core/Transactions/ITransactions.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Transactions/ITransactions.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Transactions/ITransactions.cs
index 83f12a5..a3be198 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Transactions/ITransactions.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Transactions/ITransactions.cs
@@ -18,6 +18,7 @@
namespace Apache.Ignite.Core.Transactions
{
using System;
+ using System.Diagnostics.CodeAnalysis;
/// <summary>
/// Transactions facade.
@@ -63,6 +64,8 @@ namespace Apache.Ignite.Core.Transactions
/// <summary>
/// Gets the metrics.
/// </summary>
+ [SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate",
+ Justification = "Expensive operation.")]
ITransactionMetrics GetMetrics();
/// <summary>
http://git-wip-us.apache.org/repos/asf/ignite/blob/b9256a1e/modules/platforms/dotnet/Apache.Ignite.FxCop
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.FxCop b/modules/platforms/dotnet/Apache.Ignite.FxCop
new file mode 100644
index 0000000..9345c19
--- /dev/null
+++ b/modules/platforms/dotnet/Apache.Ignite.FxCop
@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="utf-8"?>
+<FxCopProject Version="1.36" Name="Apache Ignite">
+ <ProjectOptions>
+ <SharedProject>True</SharedProject>
+ <Stylesheet Apply="False" />
+ <SaveMessages>
+ <Project Status="Active, Excluded" NewOnly="False" />
+ <Report Status="Active" NewOnly="False" />
+ </SaveMessages>
+ <ProjectFile Compress="True" DefaultTargetCheck="True" DefaultRuleCheck="True" SaveByRuleGroup="" Deterministic="True" />
+ <EnableMultithreadedLoad>True</EnableMultithreadedLoad>
+ <EnableMultithreadedAnalysis>True</EnableMultithreadedAnalysis>
+ <SourceLookup>True</SourceLookup>
+ <AnalysisExceptionsThreshold>10</AnalysisExceptionsThreshold>
+ <RuleExceptionsThreshold>1</RuleExceptionsThreshold>
+ <Spelling Locale="en-US" />
+ <OverrideRuleVisibilities>False</OverrideRuleVisibilities>
+ <CustomDictionaries SearchFxCopDir="True" SearchUserProfile="True" SearchProjectDir="True" />
+ <SearchGlobalAssemblyCache>False</SearchGlobalAssemblyCache>
+ <DeadlockDetectionTimeout>120</DeadlockDetectionTimeout>
+ <IgnoreGeneratedCode>False</IgnoreGeneratedCode>
+ </ProjectOptions>
+ <Targets>
+ <Target Name="$(ProjectDir)/Apache.Ignite.Core/bin/x64/Debug/Apache.Ignite.Core.dll" Analyze="True" AnalyzeAllChildren="True" />
+ </Targets>
+ <Rules>
+ <RuleFiles>
+ <RuleFile Name="$(FxCopDir)\Rules\DesignRules.dll" Enabled="True" AllRulesEnabled="False">
+ <Rule Name="AbstractTypesShouldNotHaveConstructors" Enabled="True" />
+ <Rule Name="AvoidEmptyInterfaces" Enabled="True" />
+ <Rule Name="AvoidOutParameters" Enabled="True" />
+ <Rule Name="CollectionsShouldImplementGenericInterface" Enabled="True" />
+ <Rule Name="ConsiderPassingBaseTypesAsParameters" Enabled="True" />
+ <Rule Name="DeclareEventHandlersCorrectly" Enabled="True" />
+ <Rule Name="DeclareTypesInNamespaces" Enabled="True" />
+ <Rule Name="DefineAccessorsForAttributeArguments" Enabled="True" />
+ <Rule Name="DoNotCatchGeneralExceptionTypes" Enabled="True" />
+ <Rule Name="DoNotDeclareProtectedMembersInSealedTypes" Enabled="True" />
+ <Rule Name="DoNotDeclareStaticMembersOnGenericTypes" Enabled="True" />
+ <Rule Name="DoNotDeclareVirtualMembersInSealedTypes" Enabled="True" />
+ <Rule Name="DoNotDeclareVisibleInstanceFields" Enabled="True" />
+ <Rule Name="DoNotExposeGenericLists" Enabled="True" />
+ <Rule Name="DoNotHideBaseClassMethods" Enabled="True" />
+ <Rule Name="DoNotOverloadOperatorEqualsOnReferenceTypes" Enabled="True" />
+ <Rule Name="DoNotPassTypesByReference" Enabled="True" />
+ <Rule Name="DoNotRaiseExceptionsInUnexpectedLocations" Enabled="True" />
+ <Rule Name="EnumeratorsShouldBeStronglyTyped" Enabled="True" />
+ <Rule Name="EnumsShouldHaveZeroValue" Enabled="True" />
+ <Rule Name="EnumStorageShouldBeInt32" Enabled="True" />
+ <Rule Name="ExceptionsShouldBePublic" Enabled="True" />
+ <Rule Name="ICollectionImplementationsHaveStronglyTypedMembers" Enabled="True" />
+ <Rule Name="ImplementIDisposableCorrectly" Enabled="True" />
+ <Rule Name="ImplementStandardExceptionConstructors" Enabled="True" />
+ <Rule Name="IndexersShouldNotBeMultidimensional" Enabled="True" />
+ <Rule Name="InterfaceMethodsShouldBeCallableByChildTypes" Enabled="True" />
+ <Rule Name="ListsAreStronglyTyped" Enabled="True" />
+ <Rule Name="MarkAssembliesWithAssemblyVersion" Enabled="True" />
+ <Rule Name="MarkAssembliesWithClsCompliant" Enabled="True" />
+ <Rule Name="MarkAssembliesWithComVisible" Enabled="True" />
+ <Rule Name="MarkAttributesWithAttributeUsage" Enabled="True" />
+ <Rule Name="MarkEnumsWithFlags" Enabled="True" />
+ <Rule Name="MembersShouldNotExposeCertainConcreteTypes" Enabled="True" />
+ <Rule Name="MovePInvokesToNativeMethodsClass" Enabled="True" />
+ <Rule Name="NestedTypesShouldNotBeVisible" Enabled="True" />
+ <Rule Name="OverloadOperatorEqualsOnOverloadingAddAndSubtract" Enabled="True" />
+ <Rule Name="OverrideMethodsOnComparableTypes" Enabled="True" />
+ <Rule Name="PropertiesShouldNotBeWriteOnly" Enabled="True" />
+ <Rule Name="ProvideObsoleteAttributeMessage" Enabled="True" />
+ <Rule Name="ReplaceRepetitiveArgumentsWithParamsArray" Enabled="True" />
+ <Rule Name="StaticHolderTypesShouldBeSealed" Enabled="True" />
+ <Rule Name="StaticHolderTypesShouldNotHaveConstructors" Enabled="True" />
+ <Rule Name="StringUriOverloadsCallSystemUriOverloads" Enabled="True" />
+ <Rule Name="TypesShouldNotExtendCertainBaseTypes" Enabled="True" />
+ <Rule Name="TypesThatOwnDisposableFieldsShouldBeDisposable" Enabled="True" />
+ <Rule Name="TypesThatOwnNativeResourcesShouldBeDisposable" Enabled="True" />
+ <Rule Name="UriParametersShouldNotBeStrings" Enabled="True" />
+ <Rule Name="UriPropertiesShouldNotBeStrings" Enabled="True" />
+ <Rule Name="UriReturnValuesShouldNotBeStrings" Enabled="True" />
+ <Rule Name="UseEventsWhereAppropriate" Enabled="True" />
+ <Rule Name="UseGenericEventHandlerInstances" Enabled="True" />
+ <Rule Name="UseGenericsWhereAppropriate" Enabled="True" />
+ <Rule Name="UseIntegralOrStringArgumentForIndexers" Enabled="True" />
+ <Rule Name="UsePropertiesWhereAppropriate" Enabled="True" />
+ </RuleFile>
+ <RuleFile Name="$(FxCopDir)\Rules\GlobalizationRules.dll" Enabled="True" AllRulesEnabled="True" />
+ <RuleFile Name="$(FxCopDir)\Rules\InteroperabilityRules.dll" Enabled="True" AllRulesEnabled="True" />
+ <RuleFile Name="$(FxCopDir)\Rules\MobilityRules.dll" Enabled="True" AllRulesEnabled="True" />
+ <RuleFile Name="$(FxCopDir)\Rules\NamingRules.dll" Enabled="True" AllRulesEnabled="False">
+ <Rule Name="CompoundWordsShouldBeCasedCorrectly" Enabled="True" />
+ <Rule Name="DoNotNameEnumValuesReserved" Enabled="True" />
+ <Rule Name="DoNotPrefixEnumValuesWithTypeName" Enabled="True" />
+ <Rule Name="EventsShouldNotHaveBeforeOrAfterPrefix" Enabled="True" />
+ <Rule Name="FlagsEnumsShouldHavePluralNames" Enabled="True" />
+ <Rule Name="IdentifiersShouldDifferByMoreThanCase" Enabled="True" />
+ <Rule Name="IdentifiersShouldHaveCorrectPrefix" Enabled="True" />
+ <Rule Name="IdentifiersShouldHaveCorrectSuffix" Enabled="True" />
+ <Rule Name="IdentifiersShouldNotContainUnderscores" Enabled="True" />
+ <Rule Name="IdentifiersShouldNotHaveIncorrectPrefix" Enabled="True" />
+ <Rule Name="IdentifiersShouldNotHaveIncorrectSuffix" Enabled="True" />
+ <Rule Name="OnlyFlagsEnumsShouldHavePluralNames" Enabled="True" />
+ <Rule Name="ParameterNamesShouldMatchBaseDeclaration" Enabled="True" />
+ <Rule Name="ParameterNamesShouldNotMatchMemberNames" Enabled="True" />
+ <Rule Name="PropertyNamesShouldNotMatchGetMethods" Enabled="True" />
+ <Rule Name="ResourceStringCompoundWordsShouldBeCasedCorrectly" Enabled="True" />
+ <Rule Name="ResourceStringsShouldBeSpelledCorrectly" Enabled="True" />
+ <Rule Name="TypeNamesShouldNotMatchNamespaces" Enabled="True" />
+ </RuleFile>
+ <RuleFile Name="$(FxCopDir)\Rules\PerformanceRules.dll" Enabled="True" AllRulesEnabled="True" />
+ <RuleFile Name="$(FxCopDir)\Rules\PortabilityRules.dll" Enabled="True" AllRulesEnabled="True" />
+ <RuleFile Name="$(FxCopDir)\Rules\SecurityRules.dll" Enabled="True" AllRulesEnabled="True" />
+ <RuleFile Name="$(FxCopDir)\Rules\UsageRules.dll" Enabled="True" AllRulesEnabled="True" />
+ </RuleFiles>
+ <Groups />
+ <Settings />
+ </Rules>
+ <FxCopReport Version="1.36" />
+</FxCopProject>
http://git-wip-us.apache.org/repos/asf/ignite/blob/b9256a1e/modules/platforms/dotnet/Apache.Ignite.sln
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.sln b/modules/platforms/dotnet/Apache.Ignite.sln
index 77e7f3a..64355aa 100644
--- a/modules/platforms/dotnet/Apache.Ignite.sln
+++ b/modules/platforms/dotnet/Apache.Ignite.sln
@@ -20,6 +20,12 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Apache.Ignite.ExamplesDll",
{27F7F3C6-BDDE-43A9-B565-856F8395A04B} = {27F7F3C6-BDDE-43A9-B565-856F8395A04B}
EndProjectSection
EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{E0784F76-949C-456E-A529-A55D0E389165}"
+ ProjectSection(SolutionItems) = preProject
+ Apache.Ignite.FxCop = Apache.Ignite.FxCop
+ Apache.Ignite.sln.DotSettings = Apache.Ignite.sln.DotSettings
+ EndProjectSection
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
http://git-wip-us.apache.org/repos/asf/ignite/blob/b9256a1e/parent/pom.xml
----------------------------------------------------------------------
diff --git a/parent/pom.xml b/parent/pom.xml
index faf867e..66a65bc 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -738,6 +738,13 @@
<exclude>ipc/shmem/igniteshmem/.deps/*</exclude><!--tmp files-->
<exclude>ipc/shmem/igniteshmem/libigniteshmem.la</exclude><!--tmp (not under VCS)-->
<exclude>ipc/shmem/igniteshmem/libigniteshmem_la-org_apache_ignite_internal_util_ipc_shmem_IpcSharedMemoryUtils.lo</exclude><!--tmp (not under VCS)-->
+ <!--platform-->
+ <exclude>src/main/dotnet/Apache.Ignite.Core/Apache.Ignite.Core.csproj</exclude>
+ <exclude>src/main/dotnet/Apache.Ignite.sln</exclude>
+ <exclude>src/main/dotnet/Apache.Ignite.sln.DotSettings</exclude>
+ <exclude>src/main/java/META-INF/services/org.apache.ignite.internal.processors.platform.PlatformBootstrapFactory</exclude>
+ <exclude>src/main/resources/META-INF/services/org.apache.ignite.internal.processors.platform.PlatformBootstrapFactory</exclude>
+ <exclude>src/test/dotnet/Apache.Ignite.Core.Tests/Apache.Ignite.Core.Tests.csproj</exclude>
<exclude>src/test/portables/repo/org/apache/ignite/portable/test1/1.1/test1-1.1.jar</exclude>
<exclude>src/test/portables/repo/org/apache/ignite/portable/test2/1.1/test2-1.1.jar</exclude>
<!--platforms-->
@@ -746,8 +753,9 @@
<exclude>**/configure.ac</exclude>
<exclude>**/*.pc.in</exclude>
<exclude>**/*.sln</exclude>
- <exclude>**/*.slnrel</exclude>
+ <exclude>**/*.slnrel</exclude>
<exclude>**/*.sln.DotSettings</exclude>
+ <exclude>**/*.FxCop</exclude>
<exclude>**/*.csproj</exclude>
<exclude>**/*.csprojrel</exclude>
<exclude>**/*.vcxproj</exclude>
[3/3] ignite git commit: IGNITE-1282: Added FxCop warnings
suppression.
Posted by vo...@apache.org.
IGNITE-1282: Added FxCop warnings suppression.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/b9256a1e
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/b9256a1e
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/b9256a1e
Branch: refs/heads/ignite-1282
Commit: b9256a1e7ead475277e8ef2504a736b74ca58ebf
Parents: f6111b5
Author: vozerov-gridgain <vo...@gridgain.com>
Authored: Wed Sep 30 10:29:30 2015 +0300
Committer: vozerov-gridgain <vo...@gridgain.com>
Committed: Wed Sep 30 10:29:30 2015 +0300
----------------------------------------------------------------------
.../Compute/TaskAdapterTest.cs | 8 +-
.../Compute/TaskResultTest.cs | 4 +-
.../Apache.Ignite.Core.Tests/EventsTest.cs | 2 +-
.../Apache.Ignite.Core.csproj | 5 +-
.../Cache/Expiry/IExpiryPolicy.cs | 4 +
.../dotnet/Apache.Ignite.Core/Cache/ICache.cs | 4 +
.../Query/Continuous/IContinuousQueryHandle.cs | 2 +
.../Cache/Query/IQueryCursor.cs | 4 +
.../Apache.Ignite.Core/Cache/Query/SqlQuery.cs | 33 +--
.../Apache.Ignite.Core/Cache/Query/TextQuery.cs | 42 +--
.../Store/CacheParallelLoadStoreAdapter.cs | 2 +
.../Apache.Ignite.Core/Cluster/ICluster.cs | 2 +
.../Apache.Ignite.Core/Cluster/IClusterGroup.cs | 8 +
.../Cluster/IClusterMetrics.cs | 286 ++++---------------
.../Apache.Ignite.Core/Cluster/IClusterNode.cs | 3 +
.../Apache.Ignite.Core/Common/IgniteGuid.cs | 4 +-
.../Compute/ComputeJobAdapter.cs | 16 +-
.../Apache.Ignite.Core/Compute/IComputeJob.cs | 1 +
.../Apache.Ignite.Core/Events/CacheEvent.cs | 4 +-
.../Events/CacheQueryExecutedEvent.cs | 6 +-
.../Events/CacheQueryReadEvent.cs | 8 +-
.../Events/CacheRebalancingEvent.cs | 8 +-
.../Events/CheckpointEvent.cs | 3 +-
.../Apache.Ignite.Core/Events/DiscoveryEvent.cs | 4 +-
.../Apache.Ignite.Core/Events/EventBase.cs | 13 +-
.../Apache.Ignite.Core/Events/EventType.cs | 181 +++++++++---
.../dotnet/Apache.Ignite.Core/Events/IEvent.cs | 2 +-
.../Apache.Ignite.Core/Events/JobEvent.cs | 8 +-
.../Apache.Ignite.Core/Events/SwapSpaceEvent.cs | 3 +-
.../Apache.Ignite.Core/Events/TaskEvent.cs | 6 +-
.../dotnet/Apache.Ignite.Core/IIgnite.cs | 8 +
.../Apache.Ignite.Core/IgniteConfiguration.cs | 3 +
.../dotnet/Apache.Ignite.Core/Ignition.cs | 13 +-
.../Apache.Ignite.Core/Impl/Cache/CacheEntry.cs | 3 +-
.../Cache/CacheEntryProcessorResultHolder.cs | 5 +-
.../Impl/Cache/CacheEnumeratorProxy.cs | 3 +
.../Continuous/ContinuousQueryHandleImpl.cs | 3 +
.../Impl/Cluster/ClusterGroupImpl.cs | 2 +-
.../Impl/Cluster/ClusterMetricsImpl.cs | 8 +-
.../Impl/Collections/MultiValueDictionary.cs | 2 +
.../Impl/Common/CompletedAsyncResult.cs | 11 -
.../Common/CopyOnWriteConcurrentDictionary.cs | 2 +
.../Impl/Common/DelegateTypeDescriptor.cs | 6 +-
.../Apache.Ignite.Core/Impl/Common/Future.cs | 3 +-
.../Impl/Common/FutureType.cs | 3 +
.../Impl/Common/IgniteArgumentCheck.cs | 13 +-
.../Impl/Common/TypeCaster.cs | 7 +
.../Impl/Compute/ComputeAsync.cs | 6 +-
.../Impl/Datastream/DataStreamerBatch.cs | 1 +
.../Impl/Datastream/DataStreamerImpl.cs | 8 +
.../Apache.Ignite.Core/Impl/ExceptionUtils.cs | 4 +
.../Impl/Handle/HandleRegistry.cs | 5 +-
.../dotnet/Apache.Ignite.Core/Impl/Ignite.cs | 5 +
.../Apache.Ignite.Core/Impl/IgniteManager.cs | 27 +-
.../Apache.Ignite.Core/Impl/IgniteProxy.cs | 3 +
.../Apache.Ignite.Core/Impl/IgniteUtils.cs | 16 +-
.../Impl/Memory/PlatformMemory.cs | 14 +-
.../Impl/Memory/PlatformMemoryManager.cs | 2 +-
.../Impl/Memory/PlatformMemoryPool.cs | 10 +-
.../Impl/Memory/PlatformMemoryStream.cs | 80 ++++--
.../Impl/Memory/PlatformMemoryUtils.cs | 40 +--
.../Impl/Memory/PlatformPooledMemory.cs | 14 +-
.../Impl/Memory/PlatformUnpooledMemory.cs | 6 +-
.../Impl/Portable/Io/IPortableStream.cs | 2 +
.../Impl/Portable/Io/PortableAbstractStream.cs | 58 ++--
.../Impl/Portable/PortableBuilderImpl.cs | 18 +-
.../Impl/Portable/PortableMarshaller.cs | 3 +-
.../Impl/Portable/PortableSystemHandlers.cs | 9 +-
.../Impl/Portable/PortableUtils.cs | 8 +-
.../Impl/Portable/PortablesImpl.cs | 13 -
.../Impl/Portable/TypeResolver.cs | 8 +-
.../Impl/Services/ServiceProxyInvoker.cs | 17 +-
.../Impl/Transactions/Transaction.cs | 3 +
.../Impl/Transactions/TransactionImpl.cs | 6 +-
.../Impl/Unmanaged/UnmanagedCallbacks.cs | 2 +
.../Unmanaged/UnmanagedNonReleaseableTarget.cs | 3 +
.../Impl/Unmanaged/UnmanagedUtils.cs | 12 +-
.../Portable/IPortableObject.cs | 4 +
.../Portable/PortableConfiguration.cs | 3 +
.../Apache.Ignite.Core/Services/IServices.cs | 3 +
.../Transactions/ITransactions.cs | 3 +
modules/platforms/dotnet/Apache.Ignite.FxCop | 117 ++++++++
modules/platforms/dotnet/Apache.Ignite.sln | 6 +
parent/pom.xml | 10 +-
84 files changed, 768 insertions(+), 552 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/b9256a1e/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Compute/TaskAdapterTest.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Compute/TaskAdapterTest.cs b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Compute/TaskAdapterTest.cs
index f7fb422..7c4d52e 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Compute/TaskAdapterTest.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Compute/TaskAdapterTest.cs
@@ -223,11 +223,11 @@ namespace Apache.Ignite.Core.Tests.Compute
Assert.NotNull(_grid);
- int arg1 = Argument<int>(0);
+ int arg1 = GetArgument<int>(0);
Assert.AreEqual(100, arg1);
- string arg2 = Argument<string>(1);
+ string arg2 = GetArgument<string>(1);
Assert.AreEqual("str", arg2);
@@ -259,11 +259,11 @@ namespace Apache.Ignite.Core.Tests.Compute
Assert.NotNull(_grid);
- int arg1 = Argument<int>(0);
+ int arg1 = GetArgument<int>(0);
Assert.AreEqual(100, arg1);
- string arg2 = Argument<string>(1);
+ string arg2 = GetArgument<string>(1);
Assert.AreEqual("str", arg2);
http://git-wip-us.apache.org/repos/asf/ignite/blob/b9256a1e/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Compute/TaskResultTest.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Compute/TaskResultTest.cs b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Compute/TaskResultTest.cs
index e7c5ac9..0073d47 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Compute/TaskResultTest.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Compute/TaskResultTest.cs
@@ -407,7 +407,7 @@ namespace Apache.Ignite.Core.Tests.Compute
_gridName = _grid.Name;
- T res = Argument<T>(0);
+ T res = GetArgument<T>(0);
return res;
}
@@ -428,7 +428,7 @@ namespace Apache.Ignite.Core.Tests.Compute
_gridName = _grid.Name;
- PortableResult res = Argument<PortableResult>(0);
+ PortableResult res = GetArgument<PortableResult>(0);
return res;
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/b9256a1e/modules/platforms/dotnet/Apache.Ignite.Core.Tests/EventsTest.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/EventsTest.cs b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/EventsTest.cs
index aa103d4..fa2fddc 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/EventsTest.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/EventsTest.cs
@@ -578,7 +578,7 @@ namespace Apache.Ignite.Core.Tests
Assert.AreEqual(EventType.EvtSwapSpaceCleared, evt.Type);
Assert.IsNotNullOrEmpty(evt.Name);
Assert.AreNotEqual(Guid.Empty, evt.Id.GlobalId);
- Assert.IsTrue((evt.TimeStamp - DateTime.Now).TotalSeconds < 10);
+ Assert.IsTrue((evt.Timestamp - DateTime.Now).TotalSeconds < 10);
}
/// <summary>
http://git-wip-us.apache.org/repos/asf/ignite/blob/b9256a1e/modules/platforms/dotnet/Apache.Ignite.Core/Apache.Ignite.Core.csproj
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Apache.Ignite.Core.csproj b/modules/platforms/dotnet/Apache.Ignite.Core/Apache.Ignite.Core.csproj
index 3f20324..561273a 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Apache.Ignite.Core.csproj
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Apache.Ignite.Core.csproj
@@ -16,7 +16,7 @@
<PlatformTarget>x64</PlatformTarget>
<OutputPath>bin\x64\Debug\</OutputPath>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
- <DefineConstants>DEBUG</DefineConstants>
+ <DefineConstants>DEBUG;CODE_ANALYSIS</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
<PlatformTarget>x64</PlatformTarget>
@@ -27,7 +27,7 @@
<PlatformTarget>x86</PlatformTarget>
<OutputPath>bin\x86\Debug\</OutputPath>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
- <DefineConstants>DEBUG</DefineConstants>
+ <DefineConstants>DEBUG;CODE_ANALYSIS</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
<PlatformTarget>x86</PlatformTarget>
@@ -128,6 +128,7 @@
<Compile Include="Events\JobEvent.cs" />
<Compile Include="Events\SwapSpaceEvent.cs" />
<Compile Include="Events\TaskEvent.cs" />
+ <Compile Include="GlobalSuppressions.cs" />
<Compile Include="IgniteConfiguration.cs" />
<Compile Include="Ignition.cs" />
<Compile Include="Common\AsyncSupportedAttribute.cs" />
http://git-wip-us.apache.org/repos/asf/ignite/blob/b9256a1e/modules/platforms/dotnet/Apache.Ignite.Core/Cache/Expiry/IExpiryPolicy.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Cache/Expiry/IExpiryPolicy.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Cache/Expiry/IExpiryPolicy.cs
index ff627ae..19f18bf 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Cache/Expiry/IExpiryPolicy.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Cache/Expiry/IExpiryPolicy.cs
@@ -18,6 +18,7 @@
namespace Apache.Ignite.Core.Cache.Expiry
{
using System;
+ using System.Diagnostics.CodeAnalysis;
/// <summary>
/// Defines functions to determine when cache entries will expire based on
@@ -34,6 +35,7 @@ namespace Apache.Ignite.Core.Cache.Expiry
/// If <c>null</c> is returned, no change to previously understood expiry is performed.
/// </summary>
/// <returns>Expiry for create opeartion.</returns>
+ [SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate", Justification = "Semantics.")]
TimeSpan? GetExpiryForCreate();
/// <summary>
@@ -44,6 +46,7 @@ namespace Apache.Ignite.Core.Cache.Expiry
/// If <c>null</c> is returned, no change to previously understood expiry is performed.
/// </summary>
/// <returns>Expiry for update operation.</returns>
+ [SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate", Justification = "Semantics.")]
TimeSpan? GetExpiryForUpdate();
/// <summary>
@@ -54,6 +57,7 @@ namespace Apache.Ignite.Core.Cache.Expiry
/// If <c>null</c> is returned, no change to previously understood expiry is performed.
/// </summary>
/// <returns>Expiry for access operation.</returns>
+ [SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate", Justification = "Semantics.")]
TimeSpan? GetExpiryForAccess();
}
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/b9256a1e/modules/platforms/dotnet/Apache.Ignite.Core/Cache/ICache.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Cache/ICache.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Cache/ICache.cs
index 5116839..097ab66 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Cache/ICache.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Cache/ICache.cs
@@ -20,6 +20,7 @@ namespace Apache.Ignite.Core.Cache
using System;
using System.Collections;
using System.Collections.Generic;
+ using System.Diagnostics.CodeAnalysis;
using Apache.Ignite.Core.Cache.Expiry;
using Apache.Ignite.Core.Cache.Query;
using Apache.Ignite.Core.Cache.Query.Continuous;
@@ -51,6 +52,7 @@ namespace Apache.Ignite.Core.Cache
/// </summary>
/// <typeparam name="TK">Key type.</typeparam>
/// <typeparam name="TV">Value type.</typeparam>
+ [SuppressMessage("Microsoft.Naming", "CA1710:IdentifiersShouldHaveCorrectSuffix")]
public interface ICache<TK, TV> : IAsyncSupport<ICache<TK, TV>>, IEnumerable<ICacheEntry<TK, TV>>
{
/// <summary>
@@ -518,6 +520,8 @@ namespace Apache.Ignite.Core.Cache
/// Gets snapshot metrics (statistics) for this cache.
/// </summary>
/// <returns>Cache metrics.</returns>
+ [SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate",
+ Justification = "Expensive operation.")]
ICacheMetrics GetMetrics();
/// <summary>
http://git-wip-us.apache.org/repos/asf/ignite/blob/b9256a1e/modules/platforms/dotnet/Apache.Ignite.Core/Cache/Query/Continuous/IContinuousQueryHandle.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Cache/Query/Continuous/IContinuousQueryHandle.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Cache/Query/Continuous/IContinuousQueryHandle.cs
index 03f8e05..ca8131b 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Cache/Query/Continuous/IContinuousQueryHandle.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Cache/Query/Continuous/IContinuousQueryHandle.cs
@@ -40,6 +40,8 @@ namespace Apache.Ignite.Core.Cache.Query.Continuous
/// Can be called only once, throws exception on consequent calls.
/// </summary>
/// <returns>Initial query cursor.</returns>
+ [SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate",
+ Justification = "Semantics: result differs from call to call.")]
IQueryCursor<T> GetInitialQueryCursor();
}
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ignite/blob/b9256a1e/modules/platforms/dotnet/Apache.Ignite.Core/Cache/Query/IQueryCursor.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Cache/Query/IQueryCursor.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Cache/Query/IQueryCursor.cs
index 9745765..ffa0565 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Cache/Query/IQueryCursor.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Cache/Query/IQueryCursor.cs
@@ -19,6 +19,7 @@ namespace Apache.Ignite.Core.Cache.Query
{
using System;
using System.Collections.Generic;
+ using System.Diagnostics.CodeAnalysis;
/// <summary>
/// Query result cursor. Can be processed either in iterative mode, or by taking
@@ -28,6 +29,7 @@ namespace Apache.Ignite.Core.Cache.Query
/// cursor lifetime. Any further attempts to get enumerator or all entries will result
/// in exception.
/// </summary>
+ [SuppressMessage("Microsoft.Naming", "CA1710:IdentifiersShouldHaveCorrectSuffix")]
public interface IQueryCursor<T> : IEnumerable<T>, IDisposable
{
/// <summary>
@@ -35,6 +37,8 @@ namespace Apache.Ignite.Core.Cache.Query
/// result is relatively small and will not cause memory utilization issues.
/// </summary>
/// <returns>List containing all query results.</returns>
+ [SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate",
+ Justification = "Expensive operation.")]
IList<T> GetAll();
}
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/b9256a1e/modules/platforms/dotnet/Apache.Ignite.Core/Cache/Query/SqlQuery.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Cache/Query/SqlQuery.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Cache/Query/SqlQuery.cs
index 303048b..52efc26 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Cache/Query/SqlQuery.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Cache/Query/SqlQuery.cs
@@ -30,10 +30,10 @@ namespace Apache.Ignite.Core.Cache.Query
/// <summary>
/// Constructor.
/// </summary>
- /// <param name="typ">Type.</param>
+ /// <param name="queryType">Type.</param>
/// <param name="sql">SQL.</param>
/// <param name="args">Arguments.</param>
- public SqlQuery(Type typ, string sql, params object[] args) : this(typ, sql, false, args)
+ public SqlQuery(Type queryType, string sql, params object[] args) : this(queryType, sql, false, args)
{
// No-op.
}
@@ -41,11 +41,12 @@ namespace Apache.Ignite.Core.Cache.Query
/// <summary>
/// Constructor.
/// </summary>
- /// <param name="typ">Type.</param>
+ /// <param name="queryType">Type.</param>
/// <param name="sql">SQL.</param>
- /// <param name="loc">Whether query should be executed locally.</param>
+ /// <param name="local">Whether query should be executed locally.</param>
/// <param name="args">Arguments.</param>
- public SqlQuery(Type typ, string sql, bool loc, params object[] args) : this(typ.Name, sql, loc, args)
+ public SqlQuery(Type queryType, string sql, bool local, params object[] args)
+ : this(queryType.Name, sql, local, args)
{
// No-op.
}
@@ -53,10 +54,10 @@ namespace Apache.Ignite.Core.Cache.Query
/// <summary>
/// Constructor.
/// </summary>
- /// <param name="typ">Type.</param>
+ /// <param name="queryType">Type.</param>
/// <param name="sql">SQL.</param>
/// <param name="args">Arguments.</param>
- public SqlQuery(string typ, string sql, params object[] args) : this(typ, sql, false, args)
+ public SqlQuery(string queryType, string sql, params object[] args) : this(queryType, sql, false, args)
{
// No-op.
}
@@ -64,22 +65,22 @@ namespace Apache.Ignite.Core.Cache.Query
/// <summary>
/// Constructor.
/// </summary>
- /// <param name="typ">Type.</param>
+ /// <param name="queryType">Type.</param>
/// <param name="sql">SQL.</param>
- /// <param name="loc">Whether query should be executed locally.</param>
+ /// <param name="local">Whether query should be executed locally.</param>
/// <param name="args">Arguments.</param>
- public SqlQuery(string typ, string sql, bool loc, params object[] args)
+ public SqlQuery(string queryType, string sql, bool local, params object[] args)
{
- Type = typ;
+ QueryType = queryType;
Sql = sql;
- Local = loc;
+ Local = local;
Arguments = args;
}
/// <summary>
/// Type.
/// </summary>
- public string Type { get; set; }
+ public string QueryType { get; set; }
/// <summary>
/// SQL.
@@ -98,13 +99,13 @@ namespace Apache.Ignite.Core.Cache.Query
if (string.IsNullOrEmpty(Sql))
throw new ArgumentException("Sql cannot be null or empty");
- if (string.IsNullOrEmpty(Type))
- throw new ArgumentException("Type cannot be null or empty");
+ if (string.IsNullOrEmpty(QueryType))
+ throw new ArgumentException("QueryType cannot be null or empty");
// 2. Prepare.
writer.WriteBoolean(Local);
writer.WriteString(Sql);
- writer.WriteString(Type);
+ writer.WriteString(QueryType);
writer.WriteInt(PageSize);
WriteQueryArgs(writer, Arguments);
http://git-wip-us.apache.org/repos/asf/ignite/blob/b9256a1e/modules/platforms/dotnet/Apache.Ignite.Core/Cache/Query/TextQuery.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Cache/Query/TextQuery.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Cache/Query/TextQuery.cs
index 835271b..3f52f6f 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Cache/Query/TextQuery.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Cache/Query/TextQuery.cs
@@ -29,9 +29,9 @@ namespace Apache.Ignite.Core.Cache.Query
/// <summary>
/// Constructor.
/// </summary>
- /// <param name="typ">Type.</param>
- /// <param name="txt">Text.</param>
- public TextQuery(Type typ, string txt) : this(typ, txt, false)
+ /// <param name="queryType">Type.</param>
+ /// <param name="text">Text.</param>
+ public TextQuery(Type queryType, string text) : this(queryType, text, false)
{
// No-op.
}
@@ -39,10 +39,10 @@ namespace Apache.Ignite.Core.Cache.Query
/// <summary>
/// Constructor.
/// </summary>
- /// <param name="typ">Type.</param>
- /// <param name="txt">Text.</param>
- /// <param name="loc">Whether query should be executed locally.</param>
- public TextQuery(Type typ, string txt, bool loc) : this(typ.Name, txt, loc)
+ /// <param name="queryType">Type.</param>
+ /// <param name="text">Text.</param>
+ /// <param name="local">Whether query should be executed locally.</param>
+ public TextQuery(Type queryType, string text, bool local) : this(queryType.Name, text, local)
{
// No-op.
}
@@ -50,9 +50,9 @@ namespace Apache.Ignite.Core.Cache.Query
/// <summary>
/// Constructor.
/// </summary>
- /// <param name="typ">Type.</param>
- /// <param name="txt">Text.</param>
- public TextQuery(string typ, string txt) : this(typ, txt, false)
+ /// <param name="queryType">Type.</param>
+ /// <param name="text">Text.</param>
+ public TextQuery(string queryType, string text) : this(queryType, text, false)
{
// No-op.
}
@@ -60,20 +60,20 @@ namespace Apache.Ignite.Core.Cache.Query
/// <summary>
/// Constructor.
/// </summary>
- /// <param name="typ">Type.</param>
- /// <param name="txt">Text.</param>
- /// <param name="loc">Whether query should be executed locally.</param>
- public TextQuery(string typ, string txt, bool loc)
+ /// <param name="queryType">Type.</param>
+ /// <param name="text">Text.</param>
+ /// <param name="local">Whether query should be executed locally.</param>
+ public TextQuery(string queryType, string text, bool local)
{
- Type = typ;
- Text = txt;
- Local = loc;
+ QueryType = queryType;
+ Text = text;
+ Local = local;
}
/// <summary>
/// Type.
/// </summary>
- public string Type { get; set; }
+ public string QueryType { get; set; }
/// <summary>
/// Text.
@@ -86,12 +86,12 @@ namespace Apache.Ignite.Core.Cache.Query
if (string.IsNullOrEmpty(Text))
throw new ArgumentException("Text cannot be null or empty");
- if (string.IsNullOrEmpty(Type))
- throw new ArgumentException("Type cannot be null or empty");
+ if (string.IsNullOrEmpty(QueryType))
+ throw new ArgumentException("QueryType cannot be null or empty");
writer.WriteBoolean(Local);
writer.WriteString(Text);
- writer.WriteString(Type);
+ writer.WriteString(QueryType);
writer.WriteInt(PageSize);
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/b9256a1e/modules/platforms/dotnet/Apache.Ignite.Core/Cache/Store/CacheParallelLoadStoreAdapter.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Cache/Store/CacheParallelLoadStoreAdapter.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Cache/Store/CacheParallelLoadStoreAdapter.cs
index cf4a77d..e80f1a7 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Cache/Store/CacheParallelLoadStoreAdapter.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Cache/Store/CacheParallelLoadStoreAdapter.cs
@@ -20,6 +20,7 @@ namespace Apache.Ignite.Core.Cache.Store
using System;
using System.Collections;
using System.Collections.Generic;
+ using System.Diagnostics.CodeAnalysis;
using System.Linq;
using System.Threading.Tasks;
@@ -81,6 +82,7 @@ namespace Apache.Ignite.Core.Cache.Store
/// <summary>
/// Gets the input data sequence to be used in LoadCache.
/// </summary>
+ [SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate", Justification = "Semantics.")]
protected abstract IEnumerable GetInputData();
/// <summary>
http://git-wip-us.apache.org/repos/asf/ignite/blob/b9256a1e/modules/platforms/dotnet/Apache.Ignite.Core/Cluster/ICluster.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Cluster/ICluster.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Cluster/ICluster.cs
index 02d9a78..353ec34 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Cluster/ICluster.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Cluster/ICluster.cs
@@ -19,6 +19,7 @@ namespace Apache.Ignite.Core.Cluster
{
using System;
using System.Collections.Generic;
+ using System.Diagnostics.CodeAnalysis;
using Apache.Ignite.Core.Common;
/// <summary>
@@ -38,6 +39,7 @@ namespace Apache.Ignite.Core.Cluster
/// Gets local Ignite node.
/// </summary>
/// <returns>Local Ignite node.</returns>
+ [SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate", Justification = "Semantics.")]
IClusterNode GetLocalNode();
/// <summary>
http://git-wip-us.apache.org/repos/asf/ignite/blob/b9256a1e/modules/platforms/dotnet/Apache.Ignite.Core/Cluster/IClusterGroup.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Cluster/IClusterGroup.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Cluster/IClusterGroup.cs
index 433ba40..4c2df73 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Cluster/IClusterGroup.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Cluster/IClusterGroup.cs
@@ -19,6 +19,7 @@ namespace Apache.Ignite.Core.Cluster
{
using System;
using System.Collections.Generic;
+ using System.Diagnostics.CodeAnalysis;
using Apache.Ignite.Core.Compute;
using Apache.Ignite.Core.Events;
using Apache.Ignite.Core.Messaging;
@@ -64,6 +65,7 @@ namespace Apache.Ignite.Core.Cluster
/// this projection.
/// </summary>
/// <returns>Compute instance over this grid projection.</returns>
+ [SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate", Justification = "Semantics.")]
ICompute GetCompute();
/// <summary>
@@ -181,6 +183,7 @@ namespace Apache.Ignite.Core.Cluster
/// Gets read-only collections of nodes in this projection.
/// </summary>
/// <returns>All nodes in this projection.</returns>
+ [SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate", Justification = "Semantics.")]
ICollection<IClusterNode> GetNodes();
/// <summary>
@@ -195,12 +198,14 @@ namespace Apache.Ignite.Core.Cluster
/// Gets first node from the list of nodes in this projection.
/// </summary>
/// <returns>Node.</returns>
+ [SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate", Justification = "Semantics.")]
IClusterNode GetNode();
/// <summary>
/// Gets a metrics snapshot for this projection
/// </summary>
/// <returns>Grid projection metrics snapshot.</returns>
+ [SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate", Justification = "Semantics.")]
IClusterMetrics GetMetrics();
/// <summary>
@@ -208,6 +213,7 @@ namespace Apache.Ignite.Core.Cluster
/// <see cref="IMessaging"/>> instance will only include nodes from current cluster group.
/// </summary>
/// <returns>Messaging instance over this cluster group.</returns>
+ [SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate", Justification = "Semantics.")]
IMessaging GetMessaging();
/// <summary>
@@ -215,6 +221,7 @@ namespace Apache.Ignite.Core.Cluster
/// <see cref="IEvents"/>> instance will only include nodes from current cluster group.
/// </summary>
/// <returns>Events instance over this cluster group.</returns>
+ [SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate", Justification = "Semantics.")]
IEvents GetEvents();
/// <summary>
@@ -222,6 +229,7 @@ namespace Apache.Ignite.Core.Cluster
/// <see cref="IServices"/>> instance will only include nodes from current cluster group.
/// </summary>
/// <returns>Services instance over this cluster group.</returns>
+ [SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate", Justification = "Semantics.")]
IServices GetServices();
}
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/b9256a1e/modules/platforms/dotnet/Apache.Ignite.Core/Cluster/IClusterMetrics.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Cluster/IClusterMetrics.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Cluster/IClusterMetrics.cs
index 4ea690c..d0a51aa 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Cluster/IClusterMetrics.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Cluster/IClusterMetrics.cs
@@ -36,259 +36,163 @@ namespace Apache.Ignite.Core.Cluster
/// <summary>
/// Last update time of this node metrics.
/// </summary>
- DateTime LastUpdateTime
- {
- get;
- }
+ DateTime LastUpdateTime { get; }
/// <summary>
/// Maximum number of jobs that ever ran concurrently on this node.
/// </summary>
- int MaximumActiveJobs
- {
- get;
- }
+ int MaximumActiveJobs { get; }
/// <summary>
/// Number of currently active jobs concurrently executing on the node.
/// </summary>
- int CurrentActiveJobs
- {
- get;
- }
+ int CurrentActiveJobs { get; }
/// <summary>
/// Average number of active jobs.
/// </summary>
- float AverageActiveJobs
- {
- get;
- }
+ float AverageActiveJobs { get; }
/// <summary>
/// Maximum number of waiting jobs.
/// </summary>
- int MaximumWaitingJobs
- {
- get;
- }
-
+ int MaximumWaitingJobs { get; }
+
/// <summary>
/// Number of queued jobs currently waiting to be executed.
/// </summary>
- int CurrentWaitingJobs
- {
- get;
- }
+ int CurrentWaitingJobs { get; }
/// <summary>
/// Average number of waiting jobs.
/// </summary>
- float AverageWaitingJobs
- {
- get;
- }
+ float AverageWaitingJobs { get; }
/// <summary>
/// Maximum number of jobs rejected at once.
/// </summary>
- int MaximumRejectedJobs
- {
- get;
- }
+ int MaximumRejectedJobs { get; }
/// <summary>
/// Number of jobs rejected after more recent collision resolution operation.
/// </summary>
- int CurrentRejectedJobs
- {
- get;
- }
+ int CurrentRejectedJobs { get; }
/// <summary>
/// Average number of jobs this node rejects during collision resolution operations.
/// </summary>
- float AverageRejectedJobs
- {
- get;
- }
+ float AverageRejectedJobs { get; }
/// <summary>
/// Total number of jobs this node rejects during collision resolution operations since node startup.
/// </summary>
- int TotalRejectedJobs
- {
- get;
- }
+ int TotalRejectedJobs { get; }
/// <summary>
/// Maximum number of cancelled jobs ever had running concurrently.
/// </summary>
- int MaximumCancelledJobs
- {
- get;
- }
+ int MaximumCancelledJobs { get; }
/// <summary>
/// Number of cancelled jobs that are still running.
/// </summary>
- int CurrentCancelledJobs
- {
- get;
- }
+ int CurrentCancelledJobs { get; }
/// <summary>
/// Average number of cancelled jobs.
/// </summary>
- float AverageCancelledJobs
- {
- get;
- }
+ float AverageCancelledJobs { get; }
/// <summary>
/// Total number of cancelled jobs since node startup.
/// </summary>
- int TotalCancelledJobs
- {
- get;
- }
+ int TotalCancelledJobs { get; }
/// <summary>
/// Total number of jobs handled by the node since node startup.
/// </summary>
- int TotalExecutedJobs
- {
- get;
- }
+ int TotalExecutedJobs { get; }
/// <summary>
/// Maximum time a job ever spent waiting in a queue to be executed.
/// </summary>
- long MaximumJobWaitTime
- {
- get;
- }
+ long MaximumJobWaitTime { get; }
/// <summary>
/// Current time an oldest jobs has spent waiting to be executed.
/// </summary>
- long CurrentJobWaitTime
- {
- get;
- }
+ long CurrentJobWaitTime { get; }
/// <summary>
/// Average time jobs spend waiting in the queue to be executed.
/// </summary>
- double AverageJobWaitTime
- {
- get;
- }
+ double AverageJobWaitTime { get; }
/// <summary>
/// Time it took to execute the longest job on the node.
/// </summary>
- long MaximumJobExecuteTime
- {
- get;
- }
+ long MaximumJobExecuteTime { get; }
/// <summary>
/// Longest time a current job has been executing for.
/// </summary>
- long CurrentJobExecuteTime
- {
- get;
- }
+ long CurrentJobExecuteTime { get; }
/// <summary>
/// Average job execution time.
/// </summary>
- double AverageJobExecuteTime
- {
- get;
- }
+ double AverageJobExecuteTime { get; }
/// <summary>
/// Total number of jobs handled by the node.
/// </summary>
- int TotalExecutedTasks
- {
- get;
- }
+ int TotalExecutedTasks { get; }
/// <summary>
/// Total time this node spent executing jobs.
/// </summary>
- long TotalBusyTime
- {
- get;
- }
+ long TotalBusyTime { get; }
/// <summary>
/// Total time this node spent idling.
/// </summary>
- long TotalIdleTime
- {
- get;
- }
+ long TotalIdleTime { get; }
/// <summary>
/// Time this node spend idling since executing last job.
/// </summary>
- long CurrentIdleTime
- {
- get;
- }
+ long CurrentIdleTime { get; }
/// <summary>
/// Percentage of time this node is busy.
/// </summary>
- float BusyTimePercentage
- {
- get;
- }
+ float BusyTimePercentage { get; }
/// <summary>
/// Percentage of time this node is idle
/// </summary>
- float IdleTimePercentage
- {
- get;
- }
+ float IdleTimePercentage { get; }
/// <summary>
/// Returns the number of CPUs available to the Java Virtual Machine.
/// </summary>
- int TotalCpus
- {
- get;
- }
+ int TotalCpus { get; }
/// <summary>
/// Returns the CPU usage usage in [0, 1] range.
/// </summary>
- double CurrentCpuLoad
- {
- get;
- }
+ double CurrentCpuLoad { get; }
/// <summary>
/// Average of CPU load values in [0, 1] range over all metrics kept in the history.
/// </summary>
- double AverageCpuLoad
- {
- get;
- }
+ double AverageCpuLoad { get; }
/// <summary>
/// Average time spent in CG since the last update.
/// </summary>
- double CurrentGcCpuLoad
- {
- get;
- }
-
+ double CurrentGcCpuLoad { get; }
+
/// <summary>
/// Amount of heap memory in bytes that the JVM
/// initially requests from the operating system for memory management.
@@ -297,10 +201,7 @@ namespace Apache.Ignite.Core.Cluster
/// This value represents a setting of the heap memory for Java VM and is
/// not a sum of all initial heap values for all memory pools.
/// </summary>
- long HeapMemoryInitialized
- {
- get;
- }
+ long HeapMemoryInitialized { get; }
/// <summary>
/// Current heap size that is used for object allocation.
@@ -311,20 +212,14 @@ namespace Apache.Ignite.Core.Cluster
/// occupied by both live objects and garbage objects that have not
/// been collected, if any.
/// </summary>
- long HeapMemoryUsed
- {
- get;
- }
+ long HeapMemoryUsed { get; }
/// <summary>
/// Amount of heap memory in bytes that is committed for the JVM to use. This amount of memory is
/// guaranteed for the JVM to use. The heap consists of one or more memory pools. This value is
/// the sum of committed heap memory values of all heap memory pools.
/// </summary>
- long HeapMemoryCommitted
- {
- get;
- }
+ long HeapMemoryCommitted { get; }
/// <summary>
/// Mmaximum amount of heap memory in bytes that can be used for memory management.
@@ -337,10 +232,7 @@ namespace Apache.Ignite.Core.Cluster
/// This value represents a setting of the heap memory for Java VM and is
/// not a sum of all initial heap values for all memory pools.
/// </summary>
- long HeapMemoryMaximum
- {
- get;
- }
+ long HeapMemoryMaximum { get; }
/// <summary>
/// Total amount of heap memory in bytes. This method returns <code>-1</code>
@@ -353,163 +245,103 @@ namespace Apache.Ignite.Core.Cluster
/// This value represents a setting of the heap memory for Java VM and is
/// not a sum of all initial heap values for all memory pools.
/// </summary>
- long HeapMemoryTotal
- {
- get;
- }
+ long HeapMemoryTotal { get; }
/// <summary>
/// Amount of non-heap memory in bytes that the JVM initially requests from the operating
/// system for memory management.
/// </summary>
- long NonHeapMemoryInitialized
- {
- get;
- }
+ long NonHeapMemoryInitialized { get; }
/// <summary>
/// Current non-heap memory size that is used by Java VM.
/// </summary>
- long NonHeapMemoryUsed
- {
- get;
- }
+ long NonHeapMemoryUsed { get; }
/// <summary>
/// Amount of non-heap memory in bytes that is committed for the JVM to use.
/// </summary>
- long NonHeapMemoryCommitted
- {
- get;
- }
-
+ long NonHeapMemoryCommitted { get; }
+
/// <summary>
/// Maximum amount of non-heap memory in bytes that can be used for memory management.
/// </summary>
- long NonHeapMemoryMaximum
- {
- get;
- }
+ long NonHeapMemoryMaximum { get; }
/// <summary>
/// Total amount of non-heap memory in bytes that can be used for memory management.
/// </summary>
- long NonHeapMemoryTotal
- {
- get;
- }
+ long NonHeapMemoryTotal { get; }
/// <summary>
/// Uptime of the JVM in milliseconds.
/// </summary>
- long UpTime
- {
- get;
- }
+ long Uptime { get; }
/// <summary>
/// Start time of the JVM in milliseconds.
/// </summary>
- DateTime StartTime
- {
- get;
- }
+ DateTime StartTime { get; }
/// <summary>
/// Start time of the Ignite node in milliseconds.
/// </summary>
- DateTime NodeStartTime
- {
- get;
- }
+ DateTime NodeStartTime { get; }
/// <summary>
/// Current number of live threads.
/// </summary>
- int CurrentThreadCount
- {
- get;
- }
+ int CurrentThreadCount { get; }
/// <summary>
/// The peak live thread count.
/// </summary>
- int MaximumThreadCount
- {
- get;
- }
+ int MaximumThreadCount { get; }
/// <summary>
/// The total number of threads started.
/// </summary>
- long TotalStartedThreadCount
- {
- get;
- }
+ long TotalStartedThreadCount { get; }
/// <summary>
/// Current number of live daemon threads.
/// </summary>
- int CurrentDaemonThreadCount
- {
- get;
- }
+ int CurrentDaemonThreadCount { get; }
/// <summary>
/// Ignite assigns incremental versions to all cache operations. This property provides
/// the latest data version on the node.
/// </summary>
- long LastDataVersion
- {
- get;
- }
+ long LastDataVersion { get; }
/// <summary>
/// Sent messages count
/// </summary>
- int SentMessagesCount
- {
- get;
- }
+ int SentMessagesCount { get; }
/// <summary>
/// Sent bytes count.
/// </summary>
- long SentBytesCount
- {
- get;
- }
+ long SentBytesCount { get; }
/// <summary>
/// Received messages count.
/// </summary>
- int ReceivedMessagesCount
- {
- get;
- }
+ int ReceivedMessagesCount { get; }
/// <summary>
/// Received bytes count.
/// </summary>
- long ReceivedBytesCount
- {
- get;
- }
+ long ReceivedBytesCount { get; }
/// <summary>
/// Outbound messages queue size.
/// </summary>
- int OutboundMessagesQueueSize
- {
- get;
- }
+ int OutboundMessagesQueueSize { get; }
/// <summary>
/// Gets total number of nodes.
/// </summary>
- int TotalNodes
- {
- get;
- }
+ int TotalNodes { get; }
}
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/b9256a1e/modules/platforms/dotnet/Apache.Ignite.Core/Cluster/IClusterNode.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Cluster/IClusterNode.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Cluster/IClusterNode.cs
index 11b4c4a..8287821 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Cluster/IClusterNode.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Cluster/IClusterNode.cs
@@ -19,6 +19,7 @@ namespace Apache.Ignite.Core.Cluster
{
using System;
using System.Collections.Generic;
+ using System.Diagnostics.CodeAnalysis;
/// <summary>
/// Interface representing a single cluster node. Use <see cref="GetAttribute{T}"/> or
@@ -64,6 +65,7 @@ namespace Apache.Ignite.Core.Cluster
/// Note that attributes cannot be changed at runtime.
/// </summary>
/// <returns>All node attributes.</returns>
+ [SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate", Justification = "Semantics.")]
IDictionary<string, object> GetAttributes();
/// <summary>
@@ -116,6 +118,7 @@ namespace Apache.Ignite.Core.Cluster
/// update will happen every <code>2</code> seconds.
/// </summary>
/// <returns>Runtime metrics snapshot for this node.</returns>
+ [SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate", Justification = "Semantics.")]
IClusterMetrics GetMetrics();
}
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/b9256a1e/modules/platforms/dotnet/Apache.Ignite.Core/Common/IgniteGuid.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Common/IgniteGuid.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Common/IgniteGuid.cs
index 53c7151..6c77531 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Common/IgniteGuid.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Common/IgniteGuid.cs
@@ -18,6 +18,7 @@
namespace Apache.Ignite.Core.Common
{
using System;
+ using System.Globalization;
using Apache.Ignite.Core.Portable;
/// <summary>
@@ -83,7 +84,8 @@ namespace Apache.Ignite.Core.Common
/** <inheritDoc /> */
public override string ToString()
{
- return string.Format("IgniteGuid [GlobalId={0}, LocalId={1}]", GlobalId, LocalId);
+ return string.Format(CultureInfo.InvariantCulture,
+ "IgniteGuid [GlobalId={0}, LocalId={1}]", GlobalId, LocalId);
}
/// <summary>
http://git-wip-us.apache.org/repos/asf/ignite/blob/b9256a1e/modules/platforms/dotnet/Apache.Ignite.Core/Compute/ComputeJobAdapter.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Compute/ComputeJobAdapter.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Compute/ComputeJobAdapter.cs
index 92c6492..a472b50 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Compute/ComputeJobAdapter.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Compute/ComputeJobAdapter.cs
@@ -28,7 +28,7 @@ namespace Apache.Ignite.Core.Compute
/// </li>
/// <li>
/// Ability to set and get job arguments via <see cref="ComputeJobAdapter{T}.SetArguments(object[])"/>
- /// and <see cref="ComputeJobAdapter{T}.Argument{T}(int)"/> methods.
+ /// and <see cref="GetArgument{TArg}"/> methods.
/// </li>
/// </ul>
/// </summary>
@@ -40,7 +40,7 @@ namespace Apache.Ignite.Core.Compute
private volatile bool _cancelled;
/** Arguments. */
- protected object[] Args;
+ private object[] _args;
/// <summary>
/// No-arg constructor.
@@ -56,7 +56,7 @@ namespace Apache.Ignite.Core.Compute
/// <param name="args">Optional job arguments.</param>
protected ComputeJobAdapter(params object[] args)
{
- Args = args;
+ _args = args;
}
/// <summary>
@@ -78,19 +78,19 @@ namespace Apache.Ignite.Core.Compute
/// <param name="args">Optional job arguments to set.</param>
public void SetArguments(params object[] args)
{
- Args = args;
+ _args = args;
}
/// <summary>
/// Sets given arguments.
/// </summary>
/// <param name="idx">Index of the argument.</param>
- public TArg Argument<TArg>(int idx)
+ public TArg GetArgument<TArg>(int idx)
{
- if (idx < 0 || idx >= Args.Length)
- throw new ArgumentException("Invalid argument index: " + idx);
+ if (_args == null || idx < 0 || idx >= _args.Length)
+ throw new IndexOutOfRangeException("Invalid argument index: " + idx);
- return (TArg)Args[idx];
+ return (TArg)_args[idx];
}
/// <summary>
http://git-wip-us.apache.org/repos/asf/ignite/blob/b9256a1e/modules/platforms/dotnet/Apache.Ignite.Core/Compute/IComputeJob.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Compute/IComputeJob.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Compute/IComputeJob.cs
index 3b8ac60..a755bac 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Compute/IComputeJob.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Compute/IComputeJob.cs
@@ -18,6 +18,7 @@
namespace Apache.Ignite.Core.Compute
{
using System.Collections.Generic;
+ using Apache.Ignite.Core.Cluster;
using Apache.Ignite.Core.Resource;
/// <summary>
http://git-wip-us.apache.org/repos/asf/ignite/blob/b9256a1e/modules/platforms/dotnet/Apache.Ignite.Core/Events/CacheEvent.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Events/CacheEvent.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Events/CacheEvent.cs
index ff5084b..bd8a41a 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Events/CacheEvent.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Events/CacheEvent.cs
@@ -18,6 +18,7 @@
namespace Apache.Ignite.Core.Events
{
using System;
+ using System.Globalization;
using Apache.Ignite.Core.Cluster;
using Apache.Ignite.Core.Common;
using Apache.Ignite.Core.Portable;
@@ -169,7 +170,8 @@ namespace Apache.Ignite.Core.Events
/** <inheritDoc /> */
public override string ToShortString()
{
- return string.Format("{0}: IsNear={1}, Key={2}, HasNewValue={3}, HasOldValue={4}, NodeId={5}", Name,
+ return string.Format(CultureInfo.InvariantCulture,
+ "{0}: IsNear={1}, Key={2}, HasNewValue={3}, HasOldValue={4}, NodeId={5}", Name,
_isNear, _key, HasNewValue, HasOldValue, Node.Id);
}
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/b9256a1e/modules/platforms/dotnet/Apache.Ignite.Core/Events/CacheQueryExecutedEvent.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Events/CacheQueryExecutedEvent.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Events/CacheQueryExecutedEvent.cs
index 8443c68..5107b84 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Events/CacheQueryExecutedEvent.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Events/CacheQueryExecutedEvent.cs
@@ -18,6 +18,7 @@
namespace Apache.Ignite.Core.Events
{
using System;
+ using System.Globalization;
using Apache.Ignite.Core.Portable;
/// <summary>
@@ -90,8 +91,9 @@ namespace Apache.Ignite.Core.Events
/** <inheritDoc /> */
public override string ToShortString()
{
- return string.Format("{0}: QueryType={1}, CacheName={2}, ClassName={3}, Clause={4}, SubjectId={5}, " +
- "TaskName={6}", Name, QueryType, CacheName, ClassName, Clause, SubjectId, TaskName);
+ return string.Format(CultureInfo.InvariantCulture,
+ "{0}: QueryType={1}, CacheName={2}, ClassName={3}, Clause={4}, SubjectId={5}, " +
+ "TaskName={6}", Name, QueryType, CacheName, ClassName, Clause, SubjectId, TaskName);
}
}
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/b9256a1e/modules/platforms/dotnet/Apache.Ignite.Core/Events/CacheQueryReadEvent.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Events/CacheQueryReadEvent.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Events/CacheQueryReadEvent.cs
index 7338eab..ea99927 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Events/CacheQueryReadEvent.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Events/CacheQueryReadEvent.cs
@@ -18,6 +18,7 @@
namespace Apache.Ignite.Core.Events
{
using System;
+ using System.Globalization;
using Apache.Ignite.Core.Portable;
/// <summary>
@@ -126,9 +127,10 @@ namespace Apache.Ignite.Core.Events
/** <inheritDoc /> */
public override string ToShortString()
{
- return string.Format("{0}: QueryType={1}, CacheName={2}, ClassName={3}, Clause={4}, SubjectId={5}, " +
- "TaskName={6}, Key={7}, Value={8}, OldValue={9}, Row={10}", Name, QueryType,
- CacheName, ClassName, Clause, SubjectId, TaskName, Key, Value, OldValue, Row);
+ return string.Format(CultureInfo.InvariantCulture,
+ "{0}: QueryType={1}, CacheName={2}, ClassName={3}, Clause={4}, SubjectId={5}, " +
+ "TaskName={6}, Key={7}, Value={8}, OldValue={9}, Row={10}", Name, QueryType,
+ CacheName, ClassName, Clause, SubjectId, TaskName, Key, Value, OldValue, Row);
}
}
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/b9256a1e/modules/platforms/dotnet/Apache.Ignite.Core/Events/CacheRebalancingEvent.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Events/CacheRebalancingEvent.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Events/CacheRebalancingEvent.cs
index 656550a..620c675 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Events/CacheRebalancingEvent.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Events/CacheRebalancingEvent.cs
@@ -17,6 +17,7 @@
namespace Apache.Ignite.Core.Events
{
+ using System.Globalization;
using Apache.Ignite.Core.Cluster;
using Apache.Ignite.Core.Portable;
@@ -90,9 +91,10 @@ namespace Apache.Ignite.Core.Events
/** <inheritDoc /> */
public override string ToShortString()
{
- return string.Format("{0}: CacheName={1}, Partition={2}, DiscoveryNode={3}, DiscoveryEventType={4}, " +
- "DiscoveryEventName={5}, DiscoveryTimestamp={6}", Name, CacheName, Partition,
- DiscoveryNode, DiscoveryEventType, DiscoveryEventName, DiscoveryTimestamp);
+ return string.Format(CultureInfo.InvariantCulture,
+ "{0}: CacheName={1}, Partition={2}, DiscoveryNode={3}, DiscoveryEventType={4}, " +
+ "DiscoveryEventName={5}, DiscoveryTimestamp={6}", Name, CacheName, Partition,
+ DiscoveryNode, DiscoveryEventType, DiscoveryEventName, DiscoveryTimestamp);
}
}
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/b9256a1e/modules/platforms/dotnet/Apache.Ignite.Core/Events/CheckpointEvent.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Events/CheckpointEvent.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Events/CheckpointEvent.cs
index 7b7ea59..298eed8 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Events/CheckpointEvent.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Events/CheckpointEvent.cs
@@ -17,6 +17,7 @@
namespace Apache.Ignite.Core.Events
{
+ using System.Globalization;
using Apache.Ignite.Core.Portable;
/// <summary>
@@ -44,7 +45,7 @@ namespace Apache.Ignite.Core.Events
/** <inheritDoc /> */
public override string ToShortString()
{
- return string.Format("{0}: Key={1}", Name, Key);
+ return string.Format(CultureInfo.InvariantCulture, "{0}: Key={1}", Name, Key);
}
}
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/b9256a1e/modules/platforms/dotnet/Apache.Ignite.Core/Events/DiscoveryEvent.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Events/DiscoveryEvent.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Events/DiscoveryEvent.cs
index 5b5443c..16b7a6a 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Events/DiscoveryEvent.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Events/DiscoveryEvent.cs
@@ -19,6 +19,7 @@ namespace Apache.Ignite.Core.Events
{
using System.Collections.Generic;
using System.Collections.ObjectModel;
+ using System.Globalization;
using Apache.Ignite.Core.Cluster;
using Apache.Ignite.Core.Impl;
using Apache.Ignite.Core.Portable;
@@ -73,7 +74,8 @@ namespace Apache.Ignite.Core.Events
/** <inheritDoc /> */
public override string ToShortString()
{
- return string.Format("{0}: EventNode={1}, TopologyVersion={2}, TopologyNodes={3}", Name, EventNode,
+ return string.Format(CultureInfo.InvariantCulture,
+ "{0}: EventNode={1}, TopologyVersion={2}, TopologyNodes={3}", Name, EventNode,
TopologyVersion, TopologyNodes.Count);
}
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/b9256a1e/modules/platforms/dotnet/Apache.Ignite.Core/Events/EventBase.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Events/EventBase.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Events/EventBase.cs
index 2b905a1..a03c373 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Events/EventBase.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Events/EventBase.cs
@@ -18,6 +18,7 @@
namespace Apache.Ignite.Core.Events
{
using System;
+ using System.Globalization;
using Apache.Ignite.Core.Cluster;
using Apache.Ignite.Core.Common;
using Apache.Ignite.Core.Impl.Portable;
@@ -47,7 +48,7 @@ namespace Apache.Ignite.Core.Events
private readonly string _name;
/** */
- private readonly DateTime _timeStamp;
+ private readonly DateTime _timestamp;
/// <summary>
/// Initializes a new instance of the <see cref="EventBase"/> class.
@@ -64,7 +65,7 @@ namespace Apache.Ignite.Core.Events
_message = r.ReadString();
_type = r.ReadInt();
_name = r.ReadString();
- _timeStamp = r.ReadDate() ?? DateTime.Now;
+ _timestamp = r.ReadDate() ?? DateTime.Now;
}
/** <inheritDoc /> */
@@ -104,9 +105,9 @@ namespace Apache.Ignite.Core.Events
}
/** <inheritDoc /> */
- public DateTime TimeStamp
+ public DateTime Timestamp
{
- get { return _timeStamp; }
+ get { return _timestamp; }
}
/** <inheritDoc /> */
@@ -143,8 +144,8 @@ namespace Apache.Ignite.Core.Events
/** <inheritDoc /> */
public override string ToString()
{
- return string.Format("CacheEntry [Name={0}, Type={1}, TimeStamp={2}, Message={3}]", Name, Type, TimeStamp,
- Message);
+ return string.Format(CultureInfo.InvariantCulture,
+ "CacheEntry [Name={0}, Type={1}, Timestamp={2}, Message={3}]", Name, Type, Timestamp, Message);
}
/// <summary>
http://git-wip-us.apache.org/repos/asf/ignite/blob/b9256a1e/modules/platforms/dotnet/Apache.Ignite.Core/Events/EventType.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Events/EventType.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Events/EventType.cs
index 1e649bb..5ac4330 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Events/EventType.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Events/EventType.cs
@@ -1,4 +1,4 @@
-/*
+/*
* 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.
@@ -17,6 +17,7 @@
namespace Apache.Ignite.Core.Events
{
+ using System;
using System.Diagnostics.CodeAnalysis;
using System.Linq;
using System.Reflection;
@@ -330,9 +331,7 @@ namespace Apache.Ignite.Core.Events
/// All events indicating an error or failure condition. It is convenient to use when fetching all events
/// indicating error or failure.
/// </summary>
- [SuppressMessage("Microsoft.Security", "CA2105:ArrayFieldsShouldNotBeReadOnly",
- Justification = "Breaking change. Should be fixed in the next non-compatible release.")]
- public static readonly int[] EvtsError =
+ private static readonly int[] EvtsError0 =
{
EvtJobTimedout,
EvtJobFailed,
@@ -349,11 +348,9 @@ namespace Apache.Ignite.Core.Events
/// All discovery events except for <see cref="EvtNodeMetricsUpdated" />. Subscription to <see
/// cref="EvtNodeMetricsUpdated" /> can generate massive amount of event processing in most cases is not
/// necessary. If this event is indeed required you can subscribe to it individually or use <see
- /// cref="EvtsDiscoveryAll" /> array.
+ /// cref="EvtsDiscoveryAll0" /> array.
/// </summary>
- [SuppressMessage("Microsoft.Security", "CA2105:ArrayFieldsShouldNotBeReadOnly",
- Justification = "Breaking change. Should be fixed in the next non-compatible release.")]
- public static readonly int[] EvtsDiscovery =
+ private static readonly int[] EvtsDiscovery0 =
{
EvtNodeJoined,
EvtNodeLeft,
@@ -366,9 +363,7 @@ namespace Apache.Ignite.Core.Events
/// <summary>
/// All discovery events.
/// </summary>
- [SuppressMessage("Microsoft.Security", "CA2105:ArrayFieldsShouldNotBeReadOnly",
- Justification = "Breaking change. Should be fixed in the next non-compatible release.")]
- public static readonly int[] EvtsDiscoveryAll =
+ private static readonly int[] EvtsDiscoveryAll0 =
{
EvtNodeJoined,
EvtNodeLeft,
@@ -382,9 +377,7 @@ namespace Apache.Ignite.Core.Events
/// <summary>
/// All Ignite job execution events.
/// </summary>
- [SuppressMessage("Microsoft.Security", "CA2105:ArrayFieldsShouldNotBeReadOnly",
- Justification = "Breaking change. Should be fixed in the next non-compatible release.")]
- public static readonly int[] EvtsJobExecution =
+ private static readonly int[] EvtsJobExecution0 =
{
EvtJobMapped,
EvtJobResulted,
@@ -401,9 +394,7 @@ namespace Apache.Ignite.Core.Events
/// <summary>
/// All Ignite task execution events.
/// </summary>
- [SuppressMessage("Microsoft.Security", "CA2105:ArrayFieldsShouldNotBeReadOnly",
- Justification = "Breaking change. Should be fixed in the next non-compatible release.")]
- public static readonly int[] EvtsTaskExecution =
+ private static readonly int[] EvtsTaskExecution0 =
{
EvtTaskStarted,
EvtTaskFinished,
@@ -416,9 +407,7 @@ namespace Apache.Ignite.Core.Events
/// <summary>
/// All cache events.
/// </summary>
- [SuppressMessage("Microsoft.Security", "CA2105:ArrayFieldsShouldNotBeReadOnly",
- Justification = "Breaking change. Should be fixed in the next non-compatible release.")]
- public static readonly int[] EvtsCache =
+ private static readonly int[] EvtsCache0 =
{
EvtCacheEntryCreated,
EvtCacheEntryDestroyed,
@@ -435,9 +424,7 @@ namespace Apache.Ignite.Core.Events
/// <summary>
/// All cache rebalance events.
/// </summary>
- [SuppressMessage("Microsoft.Security", "CA2105:ArrayFieldsShouldNotBeReadOnly",
- Justification = "Breaking change. Should be fixed in the next non-compatible release.")]
- public static readonly int[] EvtsCacheRebalance =
+ private static readonly int[] EvtsCacheRebalance0 =
{
EvtCacheRebalanceStarted,
EvtCacheRebalanceStopped,
@@ -451,9 +438,7 @@ namespace Apache.Ignite.Core.Events
/// <summary>
/// All cache lifecycle events.
/// </summary>
- [SuppressMessage("Microsoft.Security", "CA2105:ArrayFieldsShouldNotBeReadOnly",
- Justification = "Breaking change. Should be fixed in the next non-compatible release.")]
- public static readonly int[] EvtsCacheLifecycle =
+ private static readonly int[] EvtsCacheLifecycle0 =
{
EvtCacheStarted,
EvtCacheStopped,
@@ -463,9 +448,7 @@ namespace Apache.Ignite.Core.Events
/// <summary>
/// All cache query events.
/// </summary>
- [SuppressMessage("Microsoft.Security", "CA2105:ArrayFieldsShouldNotBeReadOnly",
- Justification = "Breaking change. Should be fixed in the next non-compatible release.")]
- public static readonly int[] EvtsCacheQuery =
+ private static readonly int[] EvtsCacheQuery0 =
{
EvtCacheQueryExecuted,
EvtCacheQueryObjectRead
@@ -474,9 +457,7 @@ namespace Apache.Ignite.Core.Events
/// <summary>
/// All swap space events.
/// </summary>
- [SuppressMessage("Microsoft.Security", "CA2105:ArrayFieldsShouldNotBeReadOnly",
- Justification = "Breaking change. Should be fixed in the next non-compatible release.")]
- public static readonly int[] EvtsSwapspace =
+ private static readonly int[] EvtsSwapspace0 =
{
EvtSwapSpaceCleared,
EvtSwapSpaceDataRemoved,
@@ -488,17 +469,125 @@ namespace Apache.Ignite.Core.Events
/// <summary>
/// All Ignite events.
/// </summary>
- [SuppressMessage("Microsoft.Security", "CA2105:ArrayFieldsShouldNotBeReadOnly",
- Justification = "Breaking change. Should be fixed in the next non-compatible release.")]
- public static readonly int[] EvtsAll = GetAllEvents();
+ private static readonly int[] EvtsAll0 = GetAllEvents();
/// <summary>
/// All Ignite events (<b>excluding</b> metric update event).
/// </summary>
- [SuppressMessage("Microsoft.Security", "CA2105:ArrayFieldsShouldNotBeReadOnly",
- Justification = "Breaking change. Should be fixed in the next non-compatible release.")]
- public static readonly int[] EvtsAllMinusMetricUpdate =
- EvtsAll.Where(x => x != EvtNodeMetricsUpdated).ToArray();
+ private static readonly int[] EvtsAllMinusMetricUpdate0 =
+ EvtsAll0.Where(x => x != EvtNodeMetricsUpdated).ToArray();
+
+ /// <summary>
+ /// All events indicating an error or failure condition. It is convenient to use when fetching all events
+ /// indicating error or failure.
+ /// </summary>
+ [SuppressMessage("Microsoft.Performance", "CA1819:PropertiesShouldNotReturnArrays")]
+ public static int[] EvtsError
+ {
+ get { return CloneArray(EvtsError0); }
+ }
+
+ /// <summary>
+ /// All Ignite events (<b>excluding</b> metric update event).
+ /// </summary>
+ [SuppressMessage("Microsoft.Performance", "CA1819:PropertiesShouldNotReturnArrays")]
+ public static int[] EvtsAllMinusMetricUpdate
+ {
+ get { return CloneArray(EvtsAllMinusMetricUpdate0); }
+ }
+
+ /// <summary>
+ /// All swap space events.
+ /// </summary>
+ [SuppressMessage("Microsoft.Performance", "CA1819:PropertiesShouldNotReturnArrays")]
+ public static int[] EvtsSwapspace
+ {
+ get { return CloneArray(EvtsSwapspace0); }
+ }
+
+ /// <summary>
+ /// All cache query events.
+ /// </summary>
+ [SuppressMessage("Microsoft.Performance", "CA1819:PropertiesShouldNotReturnArrays")]
+ public static int[] EvtsCacheQuery
+ {
+ get { return CloneArray(EvtsCacheQuery0); }
+ }
+
+ /// <summary>
+ /// All cache lifecycle events.
+ /// </summary>
+ [SuppressMessage("Microsoft.Performance", "CA1819:PropertiesShouldNotReturnArrays")]
+ public static int[] EvtsCacheLifecycle
+ {
+ get { return CloneArray(EvtsCacheLifecycle0); }
+ }
+
+ /// <summary>
+ /// All cache rebalance events.
+ /// </summary>
+ [SuppressMessage("Microsoft.Performance", "CA1819:PropertiesShouldNotReturnArrays")]
+ public static int[] EvtsCacheRebalance
+ {
+ get { return CloneArray(EvtsCacheRebalance0); }
+ }
+
+ /// <summary>
+ /// All cache events.
+ /// </summary>
+ [SuppressMessage("Microsoft.Performance", "CA1819:PropertiesShouldNotReturnArrays")]
+ public static int[] EvtsCache
+ {
+ get { return CloneArray(EvtsCache0); }
+ }
+
+ /// <summary>
+ /// All Ignite task execution events.
+ /// </summary>
+ [SuppressMessage("Microsoft.Performance", "CA1819:PropertiesShouldNotReturnArrays")]
+ public static int[] EvtsTaskExecution
+ {
+ get { return CloneArray(EvtsTaskExecution0); }
+ }
+
+ /// <summary>
+ /// All Ignite job execution events.
+ /// </summary>
+ [SuppressMessage("Microsoft.Performance", "CA1819:PropertiesShouldNotReturnArrays")]
+ public static int[] EvtsJobExecution
+ {
+ get { return CloneArray(EvtsJobExecution0); }
+ }
+
+ /// <summary>
+ /// All discovery events.
+ /// </summary>
+ [SuppressMessage("Microsoft.Performance", "CA1819:PropertiesShouldNotReturnArrays")]
+ public static int[] EvtsDiscoveryAll
+ {
+ get { return CloneArray(EvtsDiscoveryAll0); }
+ }
+
+ /// <summary>
+ /// All discovery events except for <see cref="EvtNodeMetricsUpdated" />. Subscription to <see
+ /// cref="EvtNodeMetricsUpdated" /> can generate massive amount of event processing in most cases is not
+ /// necessary. If this event is indeed required you can subscribe to it individually or use <see
+ /// cref="EvtsDiscoveryAll0" /> array.
+ /// </summary>
+ [SuppressMessage("Microsoft.Performance", "CA1819:PropertiesShouldNotReturnArrays")]
+ public static int[] EvtsDiscovery
+ {
+ get { return CloneArray(EvtsDiscovery0); }
+ }
+
+ /// <summary>
+ /// All Ignite events.
+ /// </summary>
+ [SuppressMessage("Microsoft.Performance", "CA1819:PropertiesShouldNotReturnArrays")]
+ public static int[] EvtsAll
+ {
+ get { return CloneArray(EvtsAll0); }
+ }
/// <summary>
/// Gets all the events.
@@ -510,5 +599,19 @@ namespace Apache.Ignite.Core.Events
.Where(x => x.FieldType == typeof (int))
.Select(x => (int) x.GetValue(null)).ToArray();
}
+
+ /// <summary>
+ /// Clones an array to return to the user.
+ /// </summary>
+ /// <param name="array">The array.</param>
+ /// <returns>Shallow copy of the array.</returns>
+ private static int[] CloneArray(int[] array)
+ {
+ var res = new int[array.Length];
+
+ Array.Copy(array, res, array.Length);
+
+ return res;
+ }
}
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ignite/blob/b9256a1e/modules/platforms/dotnet/Apache.Ignite.Core/Events/IEvent.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Events/IEvent.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Events/IEvent.cs
index 181aeef..e94374c 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Events/IEvent.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Events/IEvent.cs
@@ -64,7 +64,7 @@ namespace Apache.Ignite.Core.Events
/// Note that more than one event can be generated with the same timestamp.
/// For ordering purposes use <see cref="LocalOrder"/> instead.
/// </summary>
- DateTime TimeStamp { get; }
+ DateTime Timestamp { get; }
/// <summary>
/// Gets shortened version of ToString result.
http://git-wip-us.apache.org/repos/asf/ignite/blob/b9256a1e/modules/platforms/dotnet/Apache.Ignite.Core/Events/JobEvent.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Events/JobEvent.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Events/JobEvent.cs
index 81d537f..87090e4 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Events/JobEvent.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Events/JobEvent.cs
@@ -18,6 +18,7 @@
namespace Apache.Ignite.Core.Events
{
using System;
+ using System.Globalization;
using Apache.Ignite.Core.Cluster;
using Apache.Ignite.Core.Common;
using Apache.Ignite.Core.Portable;
@@ -92,9 +93,10 @@ namespace Apache.Ignite.Core.Events
/** <inheritDoc /> */
public override string ToShortString()
{
- return string.Format("{0}: TaskName={1}, TaskClassName={2}, TaskSessionId={3}, JobId={4}, TaskNode={5}, " +
- "TaskSubjectId={6}", Name, TaskName, TaskClassName, TaskSessionId, JobId, TaskNode,
- TaskSubjectId);
+ return string.Format(CultureInfo.InvariantCulture,
+ "{0}: TaskName={1}, TaskClassName={2}, TaskSessionId={3}, JobId={4}, TaskNode={5}, " +
+ "TaskSubjectId={6}", Name, TaskName, TaskClassName, TaskSessionId, JobId, TaskNode,
+ TaskSubjectId);
}
}
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/b9256a1e/modules/platforms/dotnet/Apache.Ignite.Core/Events/SwapSpaceEvent.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Events/SwapSpaceEvent.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Events/SwapSpaceEvent.cs
index 676c2e0..9eb7096 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Events/SwapSpaceEvent.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Events/SwapSpaceEvent.cs
@@ -17,6 +17,7 @@
namespace Apache.Ignite.Core.Events
{
+ using System.Globalization;
using Apache.Ignite.Core.Portable;
/// <summary>
@@ -44,7 +45,7 @@ namespace Apache.Ignite.Core.Events
/** <inheritDoc /> */
public override string ToShortString()
{
- return string.Format("{0}: Space={1}", Name, Space);
+ return string.Format(CultureInfo.InvariantCulture, "{0}: Space={1}", Name, Space);
}
}
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/b9256a1e/modules/platforms/dotnet/Apache.Ignite.Core/Events/TaskEvent.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Events/TaskEvent.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Events/TaskEvent.cs
index 7149fb3..c17e72b 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Events/TaskEvent.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Events/TaskEvent.cs
@@ -18,6 +18,7 @@
namespace Apache.Ignite.Core.Events
{
using System;
+ using System.Globalization;
using Apache.Ignite.Core.Common;
using Apache.Ignite.Core.Portable;
@@ -84,8 +85,9 @@ namespace Apache.Ignite.Core.Events
/** <inheritDoc /> */
public override string ToShortString()
{
- return string.Format("{0}: TaskName={1}, TaskClassName={2}, TaskSessionId={3}, Internal={4}, " +
- "SubjectId={5}", Name, TaskName, TaskClassName, TaskSessionId, Internal, SubjectId);
+ return string.Format(CultureInfo.InvariantCulture,
+ "{0}: TaskName={1}, TaskClassName={2}, TaskSessionId={3}, Internal={4}, " +
+ "SubjectId={5}", Name, TaskName, TaskClassName, TaskSessionId, Internal, SubjectId);
}
}
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/b9256a1e/modules/platforms/dotnet/Apache.Ignite.Core/IIgnite.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/IIgnite.cs b/modules/platforms/dotnet/Apache.Ignite.Core/IIgnite.cs
index a9fae89..851f231 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/IIgnite.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/IIgnite.cs
@@ -18,6 +18,7 @@
namespace Apache.Ignite.Core
{
using System;
+ using System.Diagnostics.CodeAnalysis;
using Apache.Ignite.Core.Cache;
using Apache.Ignite.Core.Cluster;
using Apache.Ignite.Core.Compute;
@@ -54,6 +55,7 @@ namespace Apache.Ignite.Core
/// <summary>
/// Gets an instance of <see cref="ICluster" /> interface.
/// </summary>
+ [SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate", Justification = "Semantics.")]
ICluster GetCluster();
/// <summary>
@@ -62,6 +64,7 @@ namespace Apache.Ignite.Core
/// this projection.
/// </summary>
/// <returns>Compute instance over this grid projection.</returns>
+ [SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate", Justification = "Semantics.")]
ICompute GetCompute();
/// <summary>
@@ -109,6 +112,7 @@ namespace Apache.Ignite.Core
/// Gets an instance of <see cref="IPortables"/> interface.
/// </summary>
/// <returns>Instance of <see cref="IPortables"/> interface</returns>
+ [SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate", Justification = "Semantics.")]
IPortables GetPortables();
/// <summary>
@@ -121,24 +125,28 @@ namespace Apache.Ignite.Core
/// <summary>
/// Gets Ignite transactions facade.
/// </summary>
+ [SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate", Justification = "Semantics.")]
ITransactions GetTransactions();
/// <summary>
/// Gets messaging facade over all cluster nodes.
/// </summary>
/// <returns>Messaging instance over all cluster nodes.</returns>
+ [SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate", Justification = "Semantics.")]
IMessaging GetMessaging();
/// <summary>
/// Gets events facade over all cluster nodes.
/// </summary>
/// <returns>Events facade over all cluster nodes.</returns>
+ [SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate", Justification = "Semantics.")]
IEvents GetEvents();
/// <summary>
/// Gets services facade over all cluster nodes.
/// </summary>
/// <returns>Services facade over all cluster nodes.</returns>
+ [SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate", Justification = "Semantics.")]
IServices GetServices();
}
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/b9256a1e/modules/platforms/dotnet/Apache.Ignite.Core/IgniteConfiguration.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/IgniteConfiguration.cs b/modules/platforms/dotnet/Apache.Ignite.Core/IgniteConfiguration.cs
index 5a03e93..c921ef7 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/IgniteConfiguration.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/IgniteConfiguration.cs
@@ -106,6 +106,7 @@ namespace Apache.Ignite.Core
/// <summary>
/// Collection of options passed to JVM on Ignite start.
/// </summary>
+ [SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
public ICollection<string> JvmOptions { get; set; }
/// <summary>
@@ -113,6 +114,7 @@ namespace Apache.Ignite.Core
/// fully qualified assembly name, path to assembly to DLL or path to a directory when
/// assemblies reside.
/// </summary>
+ [SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
public IList<string> Assemblies { get; set; }
/// <summary>
@@ -123,6 +125,7 @@ namespace Apache.Ignite.Core
/// <summary>
/// Lifecycle beans.
/// </summary>
+ [SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
public ICollection<ILifecycleBean> LifecycleBeans { get; set; }
/// <summary>
http://git-wip-us.apache.org/repos/asf/ignite/blob/b9256a1e/modules/platforms/dotnet/Apache.Ignite.Core/Ignition.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Ignition.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Ignition.cs
index 96d002f..a34c4e5 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Ignition.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Ignition.cs
@@ -21,6 +21,7 @@ namespace Apache.Ignite.Core
{
using System;
using System.Collections.Generic;
+ using System.Diagnostics.CodeAnalysis;
using System.IO;
using System.Linq;
using System.Reflection;
@@ -98,6 +99,7 @@ namespace Apache.Ignite.Core
/// <summary>
/// Static initializer.
/// </summary>
+ [SuppressMessage("Microsoft.Performance", "CA1810:InitializeReferenceTypeStaticFieldsInline")]
static Ignition()
{
AppDomain.CurrentDomain.AssemblyResolve += CurrentDomain_AssemblyResolve;
@@ -165,7 +167,7 @@ namespace Apache.Ignite.Core
var cbs = new UnmanagedCallbacks();
- void* ctx = IgniteManager.GetContext(cfg, cbs);
+ IgniteManager.CreateJvmContext(cfg, cbs);
sbyte* cfgPath0 = IgniteUtils.StringToUtf8Unmanaged(cfg.SpringConfigUrl ?? DefaultCfg);
@@ -173,7 +175,7 @@ namespace Apache.Ignite.Core
sbyte* gridName0 = IgniteUtils.StringToUtf8Unmanaged(gridName);
// 3. Create startup object which will guide us through the rest of the process.
- _startup = new Startup(cfg, cbs) { Context = ctx };
+ _startup = new Startup(cfg, cbs);
IUnmanagedTarget interopProc = null;
@@ -606,7 +608,7 @@ namespace Apache.Ignite.Core
/// <summary>
/// Value object to pass data between .Net methods during startup bypassing Java.
/// </summary>
- private unsafe class Startup
+ private class Startup
{
/// <summary>
/// Constructor.
@@ -649,11 +651,6 @@ namespace Apache.Ignite.Core
internal Exception Error { get; set; }
/// <summary>
- /// Gets or sets the context.
- /// </summary>
- internal void* Context { get; set; }
-
- /// <summary>
/// Gets or sets the ignite.
/// </summary>
internal Ignite Ignite { get; set; }
http://git-wip-us.apache.org/repos/asf/ignite/blob/b9256a1e/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cache/CacheEntry.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cache/CacheEntry.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cache/CacheEntry.cs
index e28b3e2..5537489 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cache/CacheEntry.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cache/CacheEntry.cs
@@ -18,6 +18,7 @@
namespace Apache.Ignite.Core.Impl.Cache
{
using System.Collections.Generic;
+ using System.Globalization;
using Apache.Ignite.Core.Cache;
/// <summary>
@@ -94,7 +95,7 @@ namespace Apache.Ignite.Core.Impl.Cache
/** <inheritDoc /> */
public override string ToString()
{
- return string.Format("CacheEntry [Key={0}, Value={1}]", _key, _val);
+ return string.Format(CultureInfo.CurrentCulture, "CacheEntry [Key={0}, Value={1}]", _key, _val);
}
/// <summary>
http://git-wip-us.apache.org/repos/asf/ignite/blob/b9256a1e/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cache/CacheEntryProcessorResultHolder.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cache/CacheEntryProcessorResultHolder.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cache/CacheEntryProcessorResultHolder.cs
index 04cd557..02928e9 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cache/CacheEntryProcessorResultHolder.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cache/CacheEntryProcessorResultHolder.cs
@@ -19,6 +19,7 @@ namespace Apache.Ignite.Core.Impl.Cache
{
using System;
using System.Diagnostics.CodeAnalysis;
+ using System.Globalization;
using System.IO;
using Apache.Ignite.Core.Impl.Common;
using Apache.Ignite.Core.Impl.Portable;
@@ -111,13 +112,13 @@ namespace Apache.Ignite.Core.Impl.Cache
if (Error == null)
{
- writer.WriteString(string.Format(
+ writer.WriteString(string.Format(CultureInfo.InvariantCulture,
"CacheEntryProcessor completed with error, but result serialization failed [errType={0}, " +
"err={1}, serializationErrMsg={2}]", marshErr.GetType().Name, marshErr, marshErr.Message));
}
else
{
- writer.WriteString(string.Format(
+ writer.WriteString(string.Format(CultureInfo.InvariantCulture,
"CacheEntryProcessor completed with error, and error serialization failed [errType={0}, " +
"err={1}, serializationErrMsg={2}]", marshErr.GetType().Name, marshErr, marshErr.Message));
}
[2/3] ignite git commit: IGNITE-1282: Added FxCop warnings
suppression.
Posted by vo...@apache.org.
http://git-wip-us.apache.org/repos/asf/ignite/blob/b9256a1e/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cache/CacheEnumeratorProxy.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cache/CacheEnumeratorProxy.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cache/CacheEnumeratorProxy.cs
index cadc58d..e9795c0 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cache/CacheEnumeratorProxy.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cache/CacheEnumeratorProxy.cs
@@ -21,6 +21,7 @@ namespace Apache.Ignite.Core.Impl.Cache
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
+ using System.Diagnostics.CodeAnalysis;
using Apache.Ignite.Core.Cache;
/// <summary>
@@ -110,6 +111,8 @@ namespace Apache.Ignite.Core.Impl.Cache
}
/** <inheritdoc /> */
+ [SuppressMessage("Microsoft.Usage", "CA1816:CallGCSuppressFinalizeCorrectly",
+ Justification = "There is no finalizer.")]
public void Dispose()
{
if (!_disposed)
http://git-wip-us.apache.org/repos/asf/ignite/blob/b9256a1e/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cache/Query/Continuous/ContinuousQueryHandleImpl.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cache/Query/Continuous/ContinuousQueryHandleImpl.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cache/Query/Continuous/ContinuousQueryHandleImpl.cs
index d8d014b..b292a13 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cache/Query/Continuous/ContinuousQueryHandleImpl.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cache/Query/Continuous/ContinuousQueryHandleImpl.cs
@@ -19,6 +19,7 @@ namespace Apache.Ignite.Core.Impl.Cache.Query.Continuous
{
using System;
using System.Diagnostics;
+ using System.Diagnostics.CodeAnalysis;
using Apache.Ignite.Core.Cache;
using Apache.Ignite.Core.Cache.Event;
using Apache.Ignite.Core.Cache.Query;
@@ -185,6 +186,8 @@ namespace Apache.Ignite.Core.Impl.Cache.Query.Continuous
}
/** <inheritdoc /> */
+ [SuppressMessage("Microsoft.Usage", "CA1816:CallGCSuppressFinalizeCorrectly",
+ Justification = "There is no finalizer.")]
public void Dispose()
{
lock (this)
http://git-wip-us.apache.org/repos/asf/ignite/blob/b9256a1e/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cluster/ClusterGroupImpl.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cluster/ClusterGroupImpl.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cluster/ClusterGroupImpl.cs
index 382ab1e..6b08a6f 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cluster/ClusterGroupImpl.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cluster/ClusterGroupImpl.cs
@@ -103,7 +103,6 @@ namespace Apache.Ignite.Core.Impl.Cluster
private readonly Func<IClusterNode, bool> _pred;
/** Topology version. */
- [SuppressMessage("Microsoft.Performance", "CA1805:DoNotInitializeUnnecessarily")]
private long _topVer = TopVerInit;
/** Nodes for the given topology version. */
@@ -132,6 +131,7 @@ namespace Apache.Ignite.Core.Impl.Cluster
/// <param name="marsh">Marshaller.</param>
/// <param name="ignite">Grid.</param>
/// <param name="pred">Predicate.</param>
+ [SuppressMessage("Microsoft.Performance", "CA1805:DoNotInitializeUnnecessarily")]
public ClusterGroupImpl(IUnmanagedTarget proc, IUnmanagedTarget target, PortableMarshaller marsh,
Ignite ignite, Func<IClusterNode, bool> pred)
: base(target, marsh)
http://git-wip-us.apache.org/repos/asf/ignite/blob/b9256a1e/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cluster/ClusterMetricsImpl.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cluster/ClusterMetricsImpl.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cluster/ClusterMetricsImpl.cs
index 664a1f1..52d5236 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cluster/ClusterMetricsImpl.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cluster/ClusterMetricsImpl.cs
@@ -82,7 +82,7 @@ namespace Apache.Ignite.Core.Impl.Cluster
NonHeapMemoryCommitted = reader.ReadLong();
NonHeapMemoryMaximum = reader.ReadLong();
NonHeapMemoryTotal = reader.ReadLong();
- UpTime = reader.ReadLong();
+ Uptime = reader.ReadLong();
DateTime? startTime0 = reader.ReadDate();
@@ -184,7 +184,7 @@ namespace Apache.Ignite.Core.Impl.Cluster
/** <inheritDoc /> */
public long TotalBusyTime
{
- get { return UpTime - TotalIdleTime; }
+ get { return Uptime - TotalIdleTime; }
}
/** <inheritDoc /> */
@@ -202,7 +202,7 @@ namespace Apache.Ignite.Core.Impl.Cluster
/** <inheritDoc /> */
public float IdleTimePercentage
{
- get { return TotalIdleTime / (float) UpTime; }
+ get { return TotalIdleTime / (float) Uptime; }
}
/** <inheritDoc /> */
@@ -248,7 +248,7 @@ namespace Apache.Ignite.Core.Impl.Cluster
public long NonHeapMemoryTotal { get; private set; }
/** <inheritDoc /> */
- public long UpTime { get; private set; }
+ public long Uptime { get; private set; }
/** <inheritDoc /> */
public DateTime StartTime { get; private set; }
http://git-wip-us.apache.org/repos/asf/ignite/blob/b9256a1e/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Collections/MultiValueDictionary.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Collections/MultiValueDictionary.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Collections/MultiValueDictionary.cs
index bd7e895..2adb021 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Collections/MultiValueDictionary.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Collections/MultiValueDictionary.cs
@@ -18,10 +18,12 @@
namespace Apache.Ignite.Core.Impl.Collections
{
using System.Collections.Generic;
+ using System.Diagnostics.CodeAnalysis;
/// <summary>
/// Multiple-values-per-key dictionary.
/// </summary>
+ [SuppressMessage("Microsoft.Naming", "CA1711:IdentifiersShouldNotHaveIncorrectSuffix")]
public class MultiValueDictionary<TKey, TValue>
{
/** Inner dictionary */
http://git-wip-us.apache.org/repos/asf/ignite/blob/b9256a1e/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Common/CompletedAsyncResult.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Common/CompletedAsyncResult.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Common/CompletedAsyncResult.cs
index 14195fd..febe969 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Common/CompletedAsyncResult.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Common/CompletedAsyncResult.cs
@@ -29,20 +29,9 @@ namespace Apache.Ignite.Core.Impl.Common
"to the client, and IAsyncResult is not IDisposable.")]
public class CompletedAsyncResult : IAsyncResult
{
- /** Singleton instance. */
- public static readonly IAsyncResult Instance = new CompletedAsyncResult();
-
/** */
private readonly WaitHandle _asyncWaitHandle = new ManualResetEvent(true);
- /// <summary>
- /// Prevents a default instance of the <see cref="CompletedAsyncResult"/> class from being created.
- /// </summary>
- private CompletedAsyncResult()
- {
- // No-op.
- }
-
/** <inheritdoc /> */
public bool IsCompleted
{
http://git-wip-us.apache.org/repos/asf/ignite/blob/b9256a1e/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Common/CopyOnWriteConcurrentDictionary.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Common/CopyOnWriteConcurrentDictionary.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Common/CopyOnWriteConcurrentDictionary.cs
index fa785b2..918bbd1 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Common/CopyOnWriteConcurrentDictionary.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Common/CopyOnWriteConcurrentDictionary.cs
@@ -19,11 +19,13 @@ namespace Apache.Ignite.Core.Impl.Common
{
using System;
using System.Collections.Generic;
+ using System.Diagnostics.CodeAnalysis;
/// <summary>
/// Concurrent dictionary with CopyOnWrite mechanism inside.
/// Good for frequent reads / infrequent writes scenarios.
/// </summary>
+ [SuppressMessage("Microsoft.Naming", "CA1711:IdentifiersShouldNotHaveIncorrectSuffix")]
public class CopyOnWriteConcurrentDictionary<TKey, TValue>
{
/** */
http://git-wip-us.apache.org/repos/asf/ignite/blob/b9256a1e/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Common/DelegateTypeDescriptor.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Common/DelegateTypeDescriptor.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Common/DelegateTypeDescriptor.cs
index 8d7cb3a..5460037 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Common/DelegateTypeDescriptor.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Common/DelegateTypeDescriptor.cs
@@ -18,6 +18,7 @@
namespace Apache.Ignite.Core.Impl.Common
{
using System;
+ using System.Globalization;
using Apache.Ignite.Core.Cache;
using Apache.Ignite.Core.Compute;
using Apache.Ignite.Core.Datastream;
@@ -191,9 +192,8 @@ namespace Apache.Ignite.Core.Impl.Common
private static void ThrowIfMultipleInterfaces(object check, Type userType, Type interfaceType)
{
if (check != null)
- throw new InvalidOperationException(
- string.Format("Not Supported: Type {0} implements interface {1} multiple times.", userType,
- interfaceType));
+ throw new InvalidOperationException(string.Format(CultureInfo.InvariantCulture,
+ "Not Supported: Type {0} implements interface {1} multiple times.", userType, interfaceType));
}
/// <summary>
http://git-wip-us.apache.org/repos/asf/ignite/blob/b9256a1e/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Common/Future.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Common/Future.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Common/Future.cs
index 92b4fce..a25bada 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Common/Future.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Common/Future.cs
@@ -165,7 +165,7 @@ namespace Apache.Ignite.Core.Impl.Common
/** <inheritdoc/> */
public IAsyncResult ToAsyncResult()
{
- return _done ? CompletedAsyncResult.Instance : new AsyncResult(this);
+ return _done ? (IAsyncResult) new CompletedAsyncResult() : new AsyncResult(this);
}
/** <inheritdoc/> */
@@ -193,6 +193,7 @@ namespace Apache.Ignite.Core.Impl.Common
}
/** <inheritdoc /> */
+ [SuppressMessage("Microsoft.Design", "CA1031:DoNotCatchGeneralExceptionTypes")]
public void OnResult(IPortableStream stream)
{
try
http://git-wip-us.apache.org/repos/asf/ignite/blob/b9256a1e/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Common/FutureType.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Common/FutureType.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Common/FutureType.cs
index 0beff04..c9f1555 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Common/FutureType.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Common/FutureType.cs
@@ -17,9 +17,12 @@
namespace Apache.Ignite.Core.Impl.Common
{
+ using System.Diagnostics.CodeAnalysis;
+
/// <summary>
/// Future types.
/// </summary>
+ [SuppressMessage("Microsoft.Design", "CA1008:EnumsShouldHaveZeroValue", Justification = "Interoperability")]
public enum FutureType
{
/** Future type: byte. */
http://git-wip-us.apache.org/repos/asf/ignite/blob/b9256a1e/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Common/IgniteArgumentCheck.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Common/IgniteArgumentCheck.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Common/IgniteArgumentCheck.cs
index e94c577..a633291 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Common/IgniteArgumentCheck.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Common/IgniteArgumentCheck.cs
@@ -19,6 +19,7 @@ namespace Apache.Ignite.Core.Impl.Common
{
using System;
using System.Collections.Generic;
+ using System.Globalization;
/// <summary>
/// Arguments check helpers.
@@ -44,8 +45,8 @@ namespace Apache.Ignite.Core.Impl.Common
public static void NotNullOrEmpty(string arg, string argName)
{
if (string.IsNullOrEmpty(arg))
- throw new ArgumentException(string.Format("'{0}' argument should not be null or empty.", argName),
- argName);
+ throw new ArgumentException(string.Format(CultureInfo.InvariantCulture,
+ "'{0}' argument should not be null or empty.", argName), argName);
}
/// <summary>
@@ -56,8 +57,8 @@ namespace Apache.Ignite.Core.Impl.Common
public static void NotNullOrEmpty<T>(ICollection<T> collection, string argName)
{
if (collection == null || collection.Count == 0)
- throw new ArgumentException(string.Format("'{0}' argument should not be null or empty.", argName),
- argName);
+ throw new ArgumentException(string.Format(CultureInfo.InvariantCulture,
+ "'{0}' argument should not be null or empty.", argName), argName);
}
/// <summary>
@@ -69,8 +70,8 @@ namespace Apache.Ignite.Core.Impl.Common
public static void Ensure(bool condition, string argName, string message)
{
if (!condition)
- throw new ArgumentException(string.Format("'{0}' argument is invalid: {1}", argName, message),
- argName);
+ throw new ArgumentException(string.Format(CultureInfo.InvariantCulture,
+ "'{0}' argument is invalid: {1}", argName, message), argName);
}
}
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ignite/blob/b9256a1e/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Common/TypeCaster.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Common/TypeCaster.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Common/TypeCaster.cs
index d0dd2a9..2d4936f 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Common/TypeCaster.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Common/TypeCaster.cs
@@ -18,6 +18,7 @@
namespace Apache.Ignite.Core.Impl.Common
{
using System;
+ using System.Diagnostics.CodeAnalysis;
using System.Linq.Expressions;
/// <summary>
@@ -34,6 +35,8 @@ namespace Apache.Ignite.Core.Impl.Common
/// <typeparam name="TFrom">Source type to cast from.</typeparam>
/// <param name="obj">The object to cast.</param>
/// <returns>Casted object.</returns>
+ [SuppressMessage("Microsoft.Design", "CA1000:DoNotDeclareStaticMembersOnGenericTypes",
+ Justification = "Intended usage to leverage compiler caching.")]
public static T Cast<TFrom>(TFrom obj)
{
return Casters<TFrom>.Caster(obj);
@@ -47,6 +50,10 @@ namespace Apache.Ignite.Core.Impl.Common
/// <summary>
/// Compiled caster delegate.
/// </summary>
+ [SuppressMessage("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields",
+ Justification = "Incorrect warning")]
+ [SuppressMessage("Microsoft.Design", "CA1000:DoNotDeclareStaticMembersOnGenericTypes",
+ Justification = "Intended usage to leverage compiler caching.")]
internal static readonly Func<TFrom, T> Caster = Compile();
/// <summary>
http://git-wip-us.apache.org/repos/asf/ignite/blob/b9256a1e/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Compute/ComputeAsync.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Compute/ComputeAsync.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Compute/ComputeAsync.cs
index 199afc2..26c9bf4 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Compute/ComputeAsync.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Compute/ComputeAsync.cs
@@ -20,6 +20,7 @@ namespace Apache.Ignite.Core.Impl.Compute
using System;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
+ using System.Globalization;
using System.Threading;
using Apache.Ignite.Core.Cluster;
using Apache.Ignite.Core.Common;
@@ -76,8 +77,9 @@ namespace Apache.Ignite.Core.Impl.Compute
if (fut0 == null)
throw new InvalidOperationException(
- string.Format("Requested future type {0} is incompatible with current future type {1}",
- typeof(IFuture<TResult>), fut.GetType()));
+ string.Format(CultureInfo.InvariantCulture,
+ "Requested future type {0} is incompatible with current future type {1}",
+ typeof (IFuture<TResult>), fut.GetType()));
_curFut.Value = null;
http://git-wip-us.apache.org/repos/asf/ignite/blob/b9256a1e/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Datastream/DataStreamerBatch.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Datastream/DataStreamerBatch.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Datastream/DataStreamerBatch.cs
index cbd26dd..49cbc5a 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Datastream/DataStreamerBatch.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Datastream/DataStreamerBatch.cs
@@ -181,6 +181,7 @@ namespace Apache.Ignite.Core.Impl.Datastream
/// <summary>
/// Await completion of current and all previous loads.
/// </summary>
+ [SuppressMessage("Microsoft.Design", "CA1031:DoNotCatchGeneralExceptionTypes")]
public void AwaitCompletion()
{
DataStreamerBatch<TK, TV> curBatch = this;
http://git-wip-us.apache.org/repos/asf/ignite/blob/b9256a1e/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Datastream/DataStreamerImpl.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Datastream/DataStreamerImpl.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Datastream/DataStreamerImpl.cs
index bf11397..9894e93 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Datastream/DataStreamerImpl.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Datastream/DataStreamerImpl.cs
@@ -19,6 +19,7 @@ namespace Apache.Ignite.Core.Impl.Datastream
{
using System;
using System.Collections.Generic;
+ using System.Diagnostics.CodeAnalysis;
using System.Threading;
using Apache.Ignite.Core.Common;
using Apache.Ignite.Core.Datastream;
@@ -523,6 +524,7 @@ namespace Apache.Ignite.Core.Impl.Datastream
}
/** <inheritDoc /> */
+ [SuppressMessage("Microsoft.Design", "CA1031:DoNotCatchGeneralExceptionTypes")]
protected override void Dispose(bool disposing)
{
if (disposing)
@@ -671,12 +673,18 @@ namespace Apache.Ignite.Core.Impl.Datastream
private const int StateStopped = 2;
/** Data streamer. */
+ [SuppressMessage("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields",
+ Justification = "Incorrect warning")]
private readonly WeakReference _ldrRef;
/** Finish flag. */
+ [SuppressMessage("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields",
+ Justification = "Incorrect warning")]
private int _state;
/** Flush frequency. */
+ [SuppressMessage("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields",
+ Justification = "Incorrect warning")]
private long _freq;
/// <summary>
http://git-wip-us.apache.org/repos/asf/ignite/blob/b9256a1e/modules/platforms/dotnet/Apache.Ignite.Core/Impl/ExceptionUtils.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/ExceptionUtils.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/ExceptionUtils.cs
index 066f345..ea109ba 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/ExceptionUtils.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/ExceptionUtils.cs
@@ -20,6 +20,7 @@ namespace Apache.Ignite.Core.Impl
using System;
using System.Collections.Generic;
using System.Diagnostics;
+ using System.Diagnostics.CodeAnalysis;
using System.Runtime.InteropServices;
using System.Security;
using System.Threading;
@@ -55,6 +56,8 @@ namespace Apache.Ignite.Core.Impl
/// <summary>
/// Static initializer.
/// </summary>
+ [SuppressMessage("Microsoft.Performance", "CA1810:InitializeReferenceTypeStaticFieldsInline",
+ Justification = "Readability")]
static ExceptionUtils()
{
// Common Java exceptions mapped to common .Net exceptions.
@@ -129,6 +132,7 @@ namespace Apache.Ignite.Core.Impl
/// <param name="msg">Message.</param>
/// <param name="reader">Reader.</param>
/// <returns></returns>
+ [SuppressMessage("Microsoft.Design", "CA1031:DoNotCatchGeneralExceptionTypes")]
private static Exception ProcessCachePartialUpdateException(string msg, PortableReaderImpl reader)
{
if (reader == null)
http://git-wip-us.apache.org/repos/asf/ignite/blob/b9256a1e/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Handle/HandleRegistry.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Handle/HandleRegistry.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Handle/HandleRegistry.cs
index 9c8178f..1979086 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Handle/HandleRegistry.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Handle/HandleRegistry.cs
@@ -20,6 +20,7 @@ namespace Apache.Ignite.Core.Impl.Handle
using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
+ using System.Diagnostics.CodeAnalysis;
using System.Linq;
using System.Threading;
@@ -197,6 +198,7 @@ namespace Apache.Ignite.Core.Impl.Handle
/// </summary>
/// <param name="target">Target.</param>
/// <param name="quiet">Whether release must be quiet or not.</param>
+ [SuppressMessage("Microsoft.Design", "CA1031:DoNotCatchGeneralExceptionTypes")]
private static void Release0(object target, bool quiet)
{
IHandle target0 = target as IHandle;
@@ -316,7 +318,8 @@ namespace Apache.Ignite.Core.Impl.Handle
/// <summary>
/// Gets a snapshot of currently referenced objects list.
/// </summary>
- public List<KeyValuePair<long, object>> GetItems()
+ [SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate", Justification = "Semantics.")]
+ public IList<KeyValuePair<long, object>> GetItems()
{
Thread.MemoryBarrier();
http://git-wip-us.apache.org/repos/asf/ignite/blob/b9256a1e/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Ignite.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Ignite.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Ignite.cs
index 5f764c1..5fdbe06 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Ignite.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Ignite.cs
@@ -21,6 +21,7 @@ namespace Apache.Ignite.Core.Impl
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Diagnostics;
+ using System.Diagnostics.CodeAnalysis;
using System.Linq;
using Apache.Ignite.Core.Cache;
using Apache.Ignite.Core.Cluster;
@@ -299,6 +300,10 @@ namespace Apache.Ignite.Core.Impl
}
/** <inheritdoc /> */
+ [SuppressMessage("Microsoft.Usage", "CA1816:CallGCSuppressFinalizeCorrectly",
+ Justification = "There is no finalizer.")]
+ [SuppressMessage("Microsoft.Usage", "CA2213:DisposableFieldsShouldBeDisposed", MessageId = "_proxy",
+ Justification = "Proxy does not need to be disposed.")]
public void Dispose()
{
Ignition.Stop(Name, true);
http://git-wip-us.apache.org/repos/asf/ignite/blob/b9256a1e/modules/platforms/dotnet/Apache.Ignite.Core/Impl/IgniteManager.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/IgniteManager.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/IgniteManager.cs
index d0ddefb..af2557c 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/IgniteManager.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/IgniteManager.cs
@@ -20,6 +20,7 @@ namespace Apache.Ignite.Core.Impl
using System;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
+ using System.Globalization;
using System.IO;
using System.Linq;
using System.Reflection;
@@ -63,20 +64,12 @@ namespace Apache.Ignite.Core.Impl
private static PlatformMemoryManager _mem;
/// <summary>
- /// Static initializer.
- /// </summary>
- static IgniteManager()
- {
- // No-op.
- }
-
- /// <summary>
/// Create JVM.
/// </summary>
/// <param name="cfg">Configuration.</param>
/// <param name="cbs">Callbacks.</param>
/// <returns>Context.</returns>
- internal static void* GetContext(IgniteConfiguration cfg, UnmanagedCallbacks cbs)
+ internal static void CreateJvmContext(IgniteConfiguration cfg, UnmanagedCallbacks cbs)
{
lock (SyncRoot)
{
@@ -106,8 +99,6 @@ namespace Apache.Ignite.Core.Impl
_jvmCfg = jvmCfg;
_mem = new PlatformMemoryManager(1024);
}
-
- return ctx;
}
}
@@ -195,10 +186,10 @@ namespace Apache.Ignite.Core.Impl
// JvmInitialMemoryMB / JvmMaxMemoryMB have lower priority than CMD_JVM_OPT
if (!jvmOpts.Any(opt => opt.StartsWith(CmdJvmMinMemJava, StringComparison.OrdinalIgnoreCase)))
- jvmOpts.Add(string.Format("{0}{1}m", CmdJvmMinMemJava, cfg.JvmInitialMemoryMb));
+ jvmOpts.Add(string.Format(CultureInfo.InvariantCulture, "{0}{1}m", CmdJvmMinMemJava, cfg.JvmInitialMemoryMb));
if (!jvmOpts.Any(opt => opt.StartsWith(CmdJvmMaxMemJava, StringComparison.OrdinalIgnoreCase)))
- jvmOpts.Add(string.Format("{0}{1}m", CmdJvmMaxMemJava, cfg.JvmMaxMemoryMb));
+ jvmOpts.Add(string.Format(CultureInfo.InvariantCulture, "{0}{1}m", CmdJvmMaxMemJava, cfg.JvmMaxMemoryMb));
return jvmOpts;
}
@@ -248,12 +239,14 @@ namespace Apache.Ignite.Core.Impl
if (string.IsNullOrWhiteSpace(home))
home = Environment.GetEnvironmentVariable(EnvIgniteHome);
else if (!IsIgniteHome(new DirectoryInfo(home)))
- throw new IgniteException(string.Format("IgniteConfiguration.IgniteHome is not valid: '{0}'", home));
+ throw new IgniteException(string.Format(CultureInfo.InvariantCulture,
+ "IgniteConfiguration.IgniteHome is not valid: '{0}'", home));
if (string.IsNullOrWhiteSpace(home))
home = ResolveIgniteHome();
else if (!IsIgniteHome(new DirectoryInfo(home)))
- throw new IgniteException(string.Format("{0} is not valid: '{1}'", EnvIgniteHome, home));
+ throw new IgniteException(string.Format(CultureInfo.InvariantCulture,
+ "{0} is not valid: '{1}'", EnvIgniteHome, home));
return home;
}
@@ -330,7 +323,7 @@ namespace Apache.Ignite.Core.Impl
{
cpStr.Append(cfg.JvmClasspath);
- if (!cfg.JvmClasspath.EndsWith(";"))
+ if (!cfg.JvmClasspath.EndsWith(";", StringComparison.Ordinal))
cpStr.Append(';');
}
@@ -364,7 +357,7 @@ namespace Apache.Ignite.Core.Impl
{
foreach (string dir in Directory.EnumerateDirectories(ggLibs))
{
- if (!dir.EndsWith("optional"))
+ if (!dir.EndsWith("optional", StringComparison.OrdinalIgnoreCase))
AppendJars(dir, cpStr);
}
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/b9256a1e/modules/platforms/dotnet/Apache.Ignite.Core/Impl/IgniteProxy.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/IgniteProxy.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/IgniteProxy.cs
index 2e01a5b..3e26791 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/IgniteProxy.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/IgniteProxy.cs
@@ -19,6 +19,7 @@ namespace Apache.Ignite.Core.Impl
{
using System;
using System.Collections.Generic;
+ using System.Diagnostics.CodeAnalysis;
using Apache.Ignite.Core.Cache;
using Apache.Ignite.Core.Cluster;
using Apache.Ignite.Core.Compute;
@@ -210,6 +211,8 @@ namespace Apache.Ignite.Core.Impl
}
/** <inheritdoc /> */
+ [SuppressMessage("Microsoft.Usage", "CA1816:CallGCSuppressFinalizeCorrectly",
+ Justification = "There is no finalizer.")]
public void Dispose()
{
_ignite.Dispose();
http://git-wip-us.apache.org/repos/asf/ignite/blob/b9256a1e/modules/platforms/dotnet/Apache.Ignite.Core/Impl/IgniteUtils.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/IgniteUtils.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/IgniteUtils.cs
index 265fd0d..88ab75f 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/IgniteUtils.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/IgniteUtils.cs
@@ -19,6 +19,7 @@ namespace Apache.Ignite.Core.Impl
{
using System;
using System.Collections.Generic;
+ using System.Globalization;
using System.IO;
using System.Linq;
using System.Reflection;
@@ -189,7 +190,7 @@ namespace Apache.Ignite.Core.Impl
if (errCode == 0)
return;
- messages.Add(string.Format("[option={0}, path={1}, errorCode={2}]",
+ messages.Add(string.Format(CultureInfo.InvariantCulture, "[option={0}, path={1}, errorCode={2}]",
dllPath.Key, dllPath.Value, errCode));
if (dllPath.Value == configJvmDllPath)
@@ -197,13 +198,18 @@ namespace Apache.Ignite.Core.Impl
}
if (!messages.Any()) // not loaded and no messages - everything was null
- messages.Add(string.Format("Please specify IgniteConfiguration.JvmDllPath or {0}.", EnvJavaHome));
+ messages.Add(string.Format(CultureInfo.InvariantCulture,
+ "Please specify IgniteConfiguration.JvmDllPath or {0}.", EnvJavaHome));
if (messages.Count == 1)
- throw new IgniteException(string.Format("Failed to load {0} ({1})", FileJvmDll, messages[0]));
+ throw new IgniteException(string.Format(CultureInfo.InvariantCulture, "Failed to load {0} ({1})",
+ FileJvmDll, messages[0]));
- var combinedMessage = messages.Aggregate((x, y) => string.Format("{0}\n{1}", x, y));
- throw new IgniteException(string.Format("Failed to load {0}:\n{1}", FileJvmDll, combinedMessage));
+ var combinedMessage =
+ messages.Aggregate((x, y) => string.Format(CultureInfo.InvariantCulture, "{0}\n{1}", x, y));
+
+ throw new IgniteException(string.Format(CultureInfo.InvariantCulture, "Failed to load {0}:\n{1}",
+ FileJvmDll, combinedMessage));
}
/// <summary>
http://git-wip-us.apache.org/repos/asf/ignite/blob/b9256a1e/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Memory/PlatformMemory.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Memory/PlatformMemory.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Memory/PlatformMemory.cs
index 3a9ed26..fb53abc 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Memory/PlatformMemory.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Memory/PlatformMemory.cs
@@ -26,7 +26,7 @@ namespace Apache.Ignite.Core.Impl.Memory
public abstract class PlatformMemory : IPlatformMemory
{
/** Memory pointer. */
- protected readonly long MemPtr;
+ private readonly long _memPtr;
/// <summary>
/// Constructor.
@@ -34,7 +34,7 @@ namespace Apache.Ignite.Core.Impl.Memory
/// <param name="memPtr">Memory pointer.</param>
protected PlatformMemory(long memPtr)
{
- MemPtr = memPtr;
+ _memPtr = memPtr;
}
/** <inheritdoc /> */
@@ -47,26 +47,26 @@ namespace Apache.Ignite.Core.Impl.Memory
/** <inheritdoc /> */
public long Pointer
{
- get { return MemPtr; }
+ get { return _memPtr; }
}
/** <inheritdoc /> */
public long Data
{
- get { return PlatformMemoryUtils.Data(MemPtr); }
+ get { return PlatformMemoryUtils.GetData(_memPtr); }
}
/** <inheritdoc /> */
public int Capacity
{
- get { return PlatformMemoryUtils.Capacity(MemPtr); }
+ get { return PlatformMemoryUtils.GetCapacity(_memPtr); }
}
/** <inheritdoc /> */
public int Length
{
- get { return PlatformMemoryUtils.Length(MemPtr); }
- set { PlatformMemoryUtils.Length(MemPtr, value); }
+ get { return PlatformMemoryUtils.GetLength(_memPtr); }
+ set { PlatformMemoryUtils.SetLength(_memPtr, value); }
}
/** <inheritdoc /> */
http://git-wip-us.apache.org/repos/asf/ignite/blob/b9256a1e/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Memory/PlatformMemoryManager.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Memory/PlatformMemoryManager.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Memory/PlatformMemoryManager.cs
index b280140..dccf8ab 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Memory/PlatformMemoryManager.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Memory/PlatformMemoryManager.cs
@@ -70,7 +70,7 @@ namespace Apache.Ignite.Core.Impl.Memory
/// <returns>Memory.</returns>
public IPlatformMemory Get(long memPtr)
{
- int flags = PlatformMemoryUtils.Flags(memPtr);
+ int flags = PlatformMemoryUtils.GetFlags(memPtr);
return PlatformMemoryUtils.IsExternal(flags) ? GetExternalMemory(memPtr)
: PlatformMemoryUtils.IsPooled(flags) ? Pool().Get(memPtr) : new PlatformUnpooledMemory(memPtr);
http://git-wip-us.apache.org/repos/asf/ignite/blob/b9256a1e/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Memory/PlatformMemoryPool.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Memory/PlatformMemoryPool.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Memory/PlatformMemoryPool.cs
index 75e8965..18b44b6 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Memory/PlatformMemoryPool.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Memory/PlatformMemoryPool.cs
@@ -61,7 +61,7 @@ namespace Apache.Ignite.Core.Impl.Memory
/// </summary>
/// <param name="memPtr">Memory pointer.</param>
/// <param name="cap">Minimum capacity.</param>
- public void Reallocate(long memPtr, int cap)
+ public static void Reallocate(long memPtr, int cap)
{
PlatformMemoryUtils.ReallocatePooled(memPtr, cap);
}
@@ -70,7 +70,7 @@ namespace Apache.Ignite.Core.Impl.Memory
/// Release pooled memory chunk.
/// </summary>
/// <param name="memPtr">Memory pointer.</param>
- public void Release(long memPtr)
+ public static void Release(long memPtr)
{
PlatformMemoryUtils.ReleasePooled(memPtr);
}
@@ -85,12 +85,12 @@ namespace Apache.Ignite.Core.Impl.Memory
long delta = memPtr - handle.ToInt64();
if (delta == PlatformMemoryUtils.PoolHdrOffMem1)
- return _mem1 ?? (_mem1 = new PlatformPooledMemory(this, memPtr));
+ return _mem1 ?? (_mem1 = new PlatformPooledMemory(memPtr));
if (delta == PlatformMemoryUtils.PoolHdrOffMem2)
- return _mem2 ?? (_mem2 = new PlatformPooledMemory(this, memPtr));
+ return _mem2 ?? (_mem2 = new PlatformPooledMemory(memPtr));
- return _mem3 ?? (_mem3 = new PlatformPooledMemory(this, memPtr));
+ return _mem3 ?? (_mem3 = new PlatformPooledMemory(memPtr));
}
/** <inheritdoc /> */
http://git-wip-us.apache.org/repos/asf/ignite/blob/b9256a1e/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Memory/PlatformMemoryStream.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Memory/PlatformMemoryStream.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Memory/PlatformMemoryStream.cs
index 71da18f..0df4cb9 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Memory/PlatformMemoryStream.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Memory/PlatformMemoryStream.cs
@@ -18,6 +18,7 @@
namespace Apache.Ignite.Core.Impl.Memory
{
using System;
+ using System.Diagnostics.CodeAnalysis;
using System.IO;
using System.Text;
using Apache.Ignite.Core.Impl.Portable.IO;
@@ -26,6 +27,7 @@ namespace Apache.Ignite.Core.Impl.Memory
/// Platform memory stream.
/// </summary>
[CLSCompliant(false)]
+ [SuppressMessage("Microsoft.Naming", "CA1711:IdentifiersShouldNotHaveIncorrectSuffix")]
public unsafe class PlatformMemoryStream : IPortableStream
{
/** Length: 1 byte. */
@@ -53,7 +55,7 @@ namespace Apache.Ignite.Core.Impl.Memory
private readonly IPlatformMemory _mem;
/** Actual data. */
- protected byte* Data;
+ private byte* _data;
/** CalculateCapacity. */
private int _cap;
@@ -72,7 +74,7 @@ namespace Apache.Ignite.Core.Impl.Memory
{
_mem = mem;
- Data = (byte*)mem.Data;
+ _data = (byte*)mem.Data;
_cap = mem.Capacity;
_len = mem.Length;
}
@@ -84,7 +86,7 @@ namespace Apache.Ignite.Core.Impl.Memory
{
int curPos = EnsureWriteCapacityAndShift(Len1);
- *(Data + curPos) = val;
+ *(_data + curPos) = val;
}
/** <inheritdoc /> */
@@ -116,7 +118,7 @@ namespace Apache.Ignite.Core.Impl.Memory
{
int curPos = EnsureWriteCapacityAndShift(Len2);
- *((short*)(Data + curPos)) = val;
+ *((short*)(_data + curPos)) = val;
}
/** <inheritdoc /> */
@@ -133,7 +135,7 @@ namespace Apache.Ignite.Core.Impl.Memory
{
int curPos = EnsureWriteCapacityAndShift(Len2);
- *((char*)(Data + curPos)) = val;
+ *((char*)(_data + curPos)) = val;
}
/** <inheritdoc /> */
@@ -150,15 +152,16 @@ namespace Apache.Ignite.Core.Impl.Memory
{
int curPos = EnsureWriteCapacityAndShift(Len4);
- *((int*)(Data + curPos)) = val;
+ *((int*)(_data + curPos)) = val;
}
/** <inheritdoc /> */
+ [SuppressMessage("Microsoft.Usage", "CA2233:OperationsShouldNotOverflow", MessageId = "writePos+4")]
public virtual void WriteInt(int writePos, int val)
{
EnsureWriteCapacity(writePos + 4);
- *((int*)(Data + writePos)) = val;
+ *((int*)(_data + writePos)) = val;
}
/** <inheritdoc /> */
@@ -175,7 +178,7 @@ namespace Apache.Ignite.Core.Impl.Memory
{
int curPos = EnsureWriteCapacityAndShift(Len8);
- *((long*)(Data + curPos)) = val;
+ *((long*)(_data + curPos)) = val;
}
/** <inheritdoc /> */
@@ -192,7 +195,7 @@ namespace Apache.Ignite.Core.Impl.Memory
{
int curPos = EnsureWriteCapacityAndShift(Len4);
- *((float*)(Data + curPos)) = val;
+ *((float*)(_data + curPos)) = val;
}
/** <inheritdoc /> */
@@ -209,7 +212,7 @@ namespace Apache.Ignite.Core.Impl.Memory
{
int curPos = EnsureWriteCapacityAndShift(Len8);
- *((double*)(Data + curPos)) = val;
+ *((double*)(_data + curPos)) = val;
}
/** <inheritdoc /> */
@@ -222,11 +225,11 @@ namespace Apache.Ignite.Core.Impl.Memory
}
/** <inheritdoc /> */
- public int WriteString(char* chars, int charCnt, int byteCnt, Encoding enc)
+ public int WriteString(char* chars, int charCnt, int byteCnt, Encoding encoding)
{
int curPos = EnsureWriteCapacityAndShift(byteCnt);
- return enc.GetBytes(chars, charCnt, Data + curPos, byteCnt);
+ return encoding.GetBytes(chars, charCnt, _data + curPos, byteCnt);
}
/** <inheritdoc /> */
@@ -253,7 +256,7 @@ namespace Apache.Ignite.Core.Impl.Memory
{
int curPos = EnsureReadCapacityAndShift(Len1);
- return *(Data + curPos);
+ return *(_data + curPos);
}
/** <inheritdoc /> */
@@ -266,7 +269,7 @@ namespace Apache.Ignite.Core.Impl.Memory
fixed (byte* res0 = res)
{
- PlatformMemoryUtils.CopyMemory(Data + curPos, res0, cnt);
+ PlatformMemoryUtils.CopyMemory(_data + curPos, res0, cnt);
}
return res;
@@ -296,7 +299,7 @@ namespace Apache.Ignite.Core.Impl.Memory
{
int curPos = EnsureReadCapacityAndShift(Len2);
- return *((short*)(Data + curPos));
+ return *((short*)(_data + curPos));
}
/** <inheritdoc /> */
@@ -317,7 +320,7 @@ namespace Apache.Ignite.Core.Impl.Memory
{
int curPos = EnsureReadCapacityAndShift(Len2);
- return *((char*)(Data + curPos));
+ return *((char*)(_data + curPos));
}
/** <inheritdoc /> */
@@ -338,7 +341,7 @@ namespace Apache.Ignite.Core.Impl.Memory
{
int curPos = EnsureReadCapacityAndShift(Len4);
- return *((int*)(Data + curPos));
+ return *((int*)(_data + curPos));
}
/** <inheritdoc /> */
@@ -359,7 +362,7 @@ namespace Apache.Ignite.Core.Impl.Memory
{
int curPos = EnsureReadCapacityAndShift(Len8);
- return *((long*)(Data + curPos));
+ return *((long*)(_data + curPos));
}
/** <inheritdoc /> */
@@ -380,7 +383,7 @@ namespace Apache.Ignite.Core.Impl.Memory
{
int curPos = EnsureReadCapacityAndShift(Len4);
- return *((float*)(Data + curPos));
+ return *((float*)(_data + curPos));
}
/** <inheritdoc /> */
@@ -401,7 +404,7 @@ namespace Apache.Ignite.Core.Impl.Memory
{
int curPos = EnsureReadCapacityAndShift(Len8);
- return *((double*)(Data + curPos));
+ return *((double*)(_data + curPos));
}
/** <inheritdoc /> */
@@ -464,7 +467,7 @@ namespace Apache.Ignite.Core.Impl.Memory
/// </summary>
public void SynchronizeInput()
{
- Data = (byte*)_mem.Data;
+ _data = (byte*)_mem.Data;
_cap = _mem.Capacity;
_len = _mem.Length;
}
@@ -482,7 +485,7 @@ namespace Apache.Ignite.Core.Impl.Memory
/// </summary>
public void Reuse()
{
- Data = (byte*)_mem.Data;
+ _data = (byte*)_mem.Data;
_cap = _mem.Capacity;
_len = _mem.Length;
_pos = 0;
@@ -553,7 +556,7 @@ namespace Apache.Ignite.Core.Impl.Memory
_mem.Reallocate(reqCap);
- Data = (byte*)_mem.Data;
+ _data = (byte*)_mem.Data;
_cap = _mem.Capacity;
}
}
@@ -585,7 +588,7 @@ namespace Apache.Ignite.Core.Impl.Memory
{
int curPos = EnsureReadCapacityAndShift(cnt);
- PlatformMemoryUtils.CopyMemory(Data + curPos, dest, cnt);
+ PlatformMemoryUtils.CopyMemory(_data + curPos, dest, cnt);
}
/// <summary>
@@ -597,7 +600,7 @@ namespace Apache.Ignite.Core.Impl.Memory
{
int curPos = EnsureWriteCapacityAndShift(cnt);
- PlatformMemoryUtils.CopyMemory(src, Data + curPos, cnt);
+ PlatformMemoryUtils.CopyMemory(src, _data + curPos, cnt);
}
/// <summary>
@@ -638,11 +641,34 @@ namespace Apache.Ignite.Core.Impl.Memory
/** <inheritdoc /> */
public void Dispose()
{
+ Dispose(true);
+ GC.SuppressFinalize(this);
+ }
+
+ /** <inheritdoc /> */
+ ~PlatformMemoryStream()
+ {
+ Dispose(false);
+ }
+
+ /// <summary>
+ /// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
+ /// </summary>
+ protected virtual void Dispose(bool disposing)
+ {
SynchronizeOutput();
_mem.Release();
}
-
+
+ /// <summary>
+ /// Gets the data.
+ /// </summary>
+ protected byte* Data
+ {
+ get { return _data; }
+ }
+
#endregion
#region ARRAYS
@@ -660,7 +686,7 @@ namespace Apache.Ignite.Core.Impl.Memory
fixed (byte* res0 = res)
{
- PlatformMemoryUtils.CopyMemory(Data, res0, res.Length);
+ PlatformMemoryUtils.CopyMemory(_data, res0, res.Length);
}
return res;
http://git-wip-us.apache.org/repos/asf/ignite/blob/b9256a1e/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Memory/PlatformMemoryUtils.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Memory/PlatformMemoryUtils.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Memory/PlatformMemoryUtils.cs
index dd53281..a991b3d 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Memory/PlatformMemoryUtils.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Memory/PlatformMemoryUtils.cs
@@ -72,7 +72,7 @@ namespace Apache.Ignite.Core.Impl.Memory
/// </summary>
/// <param name="memPtr">Memory pointer.</param>
/// <returns>Data pointer.</returns>
- public static long Data(long memPtr)
+ public static long GetData(long memPtr)
{
return *((long*)memPtr);
}
@@ -82,7 +82,7 @@ namespace Apache.Ignite.Core.Impl.Memory
/// </summary>
/// <param name="memPtr">Memory pointer.</param>
/// <returns>CalculateCapacity.</returns>
- public static int Capacity(long memPtr)
+ public static int GetCapacity(long memPtr)
{
return *((int*)(memPtr + MemHdrOffCap));
}
@@ -92,7 +92,7 @@ namespace Apache.Ignite.Core.Impl.Memory
/// </summary>
/// <param name="memPtr">Memory pointer.</param>
/// <param name="cap">CalculateCapacity.</param>
- public static void Capacity(long memPtr, int cap)
+ public static void SetCapacity(long memPtr, int cap)
{
*((int*)(memPtr + MemHdrOffCap)) = cap;
}
@@ -102,7 +102,7 @@ namespace Apache.Ignite.Core.Impl.Memory
/// </summary>
/// <param name="memPtr">Memory pointer.</param>
/// <returns>Length.</returns>
- public static int Length(long memPtr)
+ public static int GetLength(long memPtr)
{
return *((int*)(memPtr + MemHdrOffLen));
}
@@ -112,7 +112,7 @@ namespace Apache.Ignite.Core.Impl.Memory
/// </summary>
/// <param name="memPtr">Memory pointer.</param>
/// <param name="len">Length.</param>
- public static void Length(long memPtr, int len)
+ public static void SetLength(long memPtr, int len)
{
*((int*)(memPtr + MemHdrOffLen)) = len;
}
@@ -122,7 +122,7 @@ namespace Apache.Ignite.Core.Impl.Memory
/// </summary>
/// <param name="memPtr">Memory pointer.</param>
/// <returns>Flags.</returns>
- public static int Flags(long memPtr)
+ public static int GetFlags(long memPtr)
{
return *((int*)(memPtr + MemHdrOffFlags));
}
@@ -132,7 +132,7 @@ namespace Apache.Ignite.Core.Impl.Memory
/// </summary>
/// <param name="memPtr">Memory pointer.</param>
/// <param name="flags">Flags.</param>
- public static void Flags(long memPtr, int flags)
+ public static void SetFlags(long memPtr, int flags)
{
*((int*)(memPtr + MemHdrOffFlags)) = flags;
}
@@ -144,7 +144,7 @@ namespace Apache.Ignite.Core.Impl.Memory
/// <returns><c>True</c> if owned by Java.</returns>
public static bool IsExternal(long memPtr)
{
- return IsExternal(Flags(memPtr));
+ return IsExternal(GetFlags(memPtr));
}
/// <summary>
@@ -164,7 +164,7 @@ namespace Apache.Ignite.Core.Impl.Memory
/// <returns><c>True</c> if pooled.</returns>
public static bool IsPooled(long memPtr)
{
- return IsPooled(Flags(memPtr));
+ return IsPooled(GetFlags(memPtr));
}
/// <summary>
@@ -184,7 +184,7 @@ namespace Apache.Ignite.Core.Impl.Memory
/// <returns><c>True</c> if acquired.</returns>
public static bool IsAcquired(long memPtr)
{
- return IsAcquired(Flags(memPtr));
+ return IsAcquired(GetFlags(memPtr));
}
/// <summary>
@@ -228,7 +228,7 @@ namespace Apache.Ignite.Core.Impl.Memory
/// <returns></returns>
public static void ReallocateUnpooled(long memPtr, int cap)
{
- long dataPtr = Data(memPtr);
+ long dataPtr = GetData(memPtr);
long newDataPtr = Marshal.ReAllocHGlobal((IntPtr)dataPtr, (IntPtr)cap).ToInt64();
@@ -244,7 +244,7 @@ namespace Apache.Ignite.Core.Impl.Memory
/// <param name="memPtr">Memory pointer.</param>
public static void ReleaseUnpooled(long memPtr)
{
- Marshal.FreeHGlobal((IntPtr)Data(memPtr));
+ Marshal.FreeHGlobal((IntPtr)GetData(memPtr));
Marshal.FreeHGlobal((IntPtr)memPtr);
}
@@ -266,9 +266,9 @@ namespace Apache.Ignite.Core.Impl.Memory
*((long*)(poolPtr + i)) = 0;
// 3. Set flags for memory chunks.
- Flags(poolPtr + PoolHdrOffMem1, FlagExt | FlagPooled);
- Flags(poolPtr + PoolHdrOffMem2, FlagExt | FlagPooled);
- Flags(poolPtr + PoolHdrOffMem3, FlagExt | FlagPooled);
+ SetFlags(poolPtr + PoolHdrOffMem1, FlagExt | FlagPooled);
+ SetFlags(poolPtr + PoolHdrOffMem2, FlagExt | FlagPooled);
+ SetFlags(poolPtr + PoolHdrOffMem3, FlagExt | FlagPooled);
return poolPtr;
}
@@ -349,7 +349,7 @@ namespace Apache.Ignite.Core.Impl.Memory
}
else {
// Ensure that we have enough capacity.
- int curCap = Capacity(memPtr);
+ int curCap = GetCapacity(memPtr);
if (cap > curCap) {
data = Marshal.ReAllocHGlobal((IntPtr)data, (IntPtr)cap).ToInt64();
@@ -359,7 +359,7 @@ namespace Apache.Ignite.Core.Impl.Memory
}
}
- Flags(memPtr, FlagExt | FlagPooled | FlagAcquired);
+ SetFlags(memPtr, FlagExt | FlagPooled | FlagAcquired);
}
/// <summary>
@@ -371,7 +371,7 @@ namespace Apache.Ignite.Core.Impl.Memory
{
long data = *((long*)memPtr);
- int curCap = Capacity(memPtr);
+ int curCap = GetCapacity(memPtr);
if (cap > curCap) {
data = Marshal.ReAllocHGlobal((IntPtr)data, (IntPtr)cap).ToInt64();
@@ -387,7 +387,7 @@ namespace Apache.Ignite.Core.Impl.Memory
/// <param name="memPtr">Memory pointer.</param>
public static void ReleasePooled(long memPtr)
{
- Flags(memPtr, Flags(memPtr) ^ FlagAcquired);
+ SetFlags(memPtr, GetFlags(memPtr) ^ FlagAcquired);
}
#endregion
@@ -401,12 +401,14 @@ namespace Apache.Ignite.Core.Impl.Memory
private static readonly MemCopy Memcpy;
/** Whether src and dest arguments are inverted. */
+ [SuppressMessage("Microsoft.Performance", "CA1802:UseLiteralsWhereAppropriate")]
private static readonly bool MemcpyInverted;
/// <summary>
/// Static initializer.
/// </summary>
[SuppressMessage("Microsoft.Design", "CA1065:DoNotRaiseExceptionsInUnexpectedLocations")]
+ [SuppressMessage("Microsoft.Performance", "CA1810:InitializeReferenceTypeStaticFieldsInline")]
static PlatformMemoryUtils()
{
Type type = typeof(Buffer);
http://git-wip-us.apache.org/repos/asf/ignite/blob/b9256a1e/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Memory/PlatformPooledMemory.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Memory/PlatformPooledMemory.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Memory/PlatformPooledMemory.cs
index 206df4b..8428be7 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Memory/PlatformPooledMemory.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Memory/PlatformPooledMemory.cs
@@ -22,20 +22,16 @@ namespace Apache.Ignite.Core.Impl.Memory
/// </summary>
internal class PlatformPooledMemory : PlatformMemory
{
- /** Pool. */
- private readonly PlatformMemoryPool _pool;
-
/** Cached stream. */
private PlatformMemoryStream _stream;
/// <summary>
/// Constructor.
/// </summary>
- /// <param name="pool">Pool.</param>
/// <param name="memPtr">Memory pointer.</param>
- public PlatformPooledMemory(PlatformMemoryPool pool, long memPtr) : base(memPtr)
+ public PlatformPooledMemory(long memPtr) : base(memPtr)
{
- _pool = pool;
+ // No-op.
}
/** <inheritdoc /> */
@@ -53,18 +49,18 @@ namespace Apache.Ignite.Core.Impl.Memory
public override void Reallocate(int cap)
{
// Try doubling capacity to avoid excessive allocations.
- int doubledCap = PlatformMemoryUtils.Capacity(MemPtr) << 1;
+ int doubledCap = PlatformMemoryUtils.GetCapacity(Pointer) << 1;
if (doubledCap > cap)
cap = doubledCap;
- _pool.Reallocate(MemPtr, cap);
+ PlatformMemoryPool.Reallocate(Pointer, cap);
}
/** <inheritdoc /> */
public override void Release()
{
- _pool.Release(MemPtr); // Return to the pool.
+ PlatformMemoryPool.Release(Pointer); // Return to the pool.
}
}
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/b9256a1e/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Memory/PlatformUnpooledMemory.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Memory/PlatformUnpooledMemory.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Memory/PlatformUnpooledMemory.cs
index 26c1bc1..e3da868 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Memory/PlatformUnpooledMemory.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Memory/PlatformUnpooledMemory.cs
@@ -35,18 +35,18 @@ namespace Apache.Ignite.Core.Impl.Memory
public override void Reallocate(int cap)
{
// Try doubling capacity to avoid excessive allocations.
- int doubledCap = ((PlatformMemoryUtils.Capacity(MemPtr) + 16) << 1) - 16;
+ int doubledCap = ((PlatformMemoryUtils.GetCapacity(Pointer) + 16) << 1) - 16;
if (doubledCap > cap)
cap = doubledCap;
- PlatformMemoryUtils.ReallocateUnpooled(MemPtr, cap);
+ PlatformMemoryUtils.ReallocateUnpooled(Pointer, cap);
}
/** <inheritdoc /> */
public override void Release()
{
- PlatformMemoryUtils.ReleaseUnpooled(MemPtr);
+ PlatformMemoryUtils.ReleaseUnpooled(Pointer);
}
}
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/b9256a1e/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/Io/IPortableStream.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/Io/IPortableStream.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/Io/IPortableStream.cs
index 8111117..73d5a51 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/Io/IPortableStream.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/Io/IPortableStream.cs
@@ -19,6 +19,7 @@
namespace Apache.Ignite.Core.Impl.Portable.IO
{
using System;
+ using System.Diagnostics.CodeAnalysis;
using System.IO;
using System.Text;
@@ -26,6 +27,7 @@ namespace Apache.Ignite.Core.Impl.Portable.IO
/// Stream capable of working with portable objects.
/// </summary>
[CLSCompliant(false)]
+ [SuppressMessage("Microsoft.Naming", "CA1711:IdentifiersShouldNotHaveIncorrectSuffix")]
public unsafe interface IPortableStream : IDisposable
{
/// <summary>
http://git-wip-us.apache.org/repos/asf/ignite/blob/b9256a1e/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/Io/PortableAbstractStream.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/Io/PortableAbstractStream.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/Io/PortableAbstractStream.cs
index 648d754..f84b5a3 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/Io/PortableAbstractStream.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/Io/PortableAbstractStream.cs
@@ -37,16 +37,17 @@ namespace Apache.Ignite.Core.Impl.Portable.IO
private static readonly MemCopy Memcpy;
/** Whether src and dest arguments are inverted. */
+ [SuppressMessage("Microsoft.Performance", "CA1802:UseLiteralsWhereAppropriate")]
private static readonly bool MemcpyInverted;
/** Byte: zero. */
- protected const byte ByteZero = 0;
+ private const byte ByteZero = 0;
/** Byte: one. */
- protected const byte ByteOne = 1;
+ private const byte ByteOne = 1;
/** LITTLE_ENDIAN flag. */
- protected static readonly bool LittleEndian = BitConverter.IsLittleEndian;
+ private static readonly bool LittleEndian = BitConverter.IsLittleEndian;
/** Position. */
protected int Pos;
@@ -58,6 +59,7 @@ namespace Apache.Ignite.Core.Impl.Portable.IO
/// Static initializer.
/// </summary>
[SuppressMessage("Microsoft.Design", "CA1065:DoNotRaiseExceptionsInUnexpectedLocations")]
+ [SuppressMessage("Microsoft.Performance", "CA1810:InitializeReferenceTypeStaticFieldsInline")]
static PortableAbstractStream()
{
Type type = typeof(Buffer);
@@ -109,7 +111,7 @@ namespace Apache.Ignite.Core.Impl.Portable.IO
/// </summary>
/// <param name="val">Byte array.</param>
/// <param name="data">Data pointer.</param>
- protected void WriteByteArray0(byte[] val, byte* data)
+ protected static void WriteByteArray0(byte[] val, byte* data)
{
fixed (byte* val0 = val)
{
@@ -132,7 +134,7 @@ namespace Apache.Ignite.Core.Impl.Portable.IO
/// <param name="len">Array length.</param>
/// <param name="data">Data pointer.</param>
/// <returns>Byte array</returns>
- protected byte[] ReadByteArray0(int len, byte* data)
+ protected static byte[] ReadByteArray0(int len, byte* data)
{
byte[] res = new byte[len];
@@ -175,7 +177,7 @@ namespace Apache.Ignite.Core.Impl.Portable.IO
/// </summary>
/// <param name="val">Bool array.</param>
/// <param name="data">Data pointer.</param>
- protected void WriteBoolArray0(bool[] val, byte* data)
+ protected static void WriteBoolArray0(bool[] val, byte* data)
{
fixed (bool* val0 = val)
{
@@ -198,7 +200,7 @@ namespace Apache.Ignite.Core.Impl.Portable.IO
/// <param name="len">Array length.</param>
/// <param name="data">Data pointer.</param>
/// <returns>Bool array</returns>
- protected bool[] ReadBoolArray0(int len, byte* data)
+ protected static bool[] ReadBoolArray0(int len, byte* data)
{
bool[] res = new bool[len];
@@ -221,7 +223,7 @@ namespace Apache.Ignite.Core.Impl.Portable.IO
/// </summary>
/// <param name="val">Short value.</param>
/// <param name="data">Data pointer.</param>
- protected void WriteShort0(short val, byte* data)
+ protected static void WriteShort0(short val, byte* data)
{
if (LittleEndian)
*((short*)data) = val;
@@ -247,7 +249,7 @@ namespace Apache.Ignite.Core.Impl.Portable.IO
/// </summary>
/// <param name="data">Data pointer.</param>
/// <returns>Short value</returns>
- protected short ReadShort0(byte* data)
+ protected static short ReadShort0(byte* data)
{
short val;
@@ -276,7 +278,7 @@ namespace Apache.Ignite.Core.Impl.Portable.IO
/// <param name="val">Short array.</param>
/// <param name="data">Data pointer.</param>
/// <param name="cnt">Bytes count.</param>
- protected void WriteShortArray0(short[] val, byte* data, int cnt)
+ protected static void WriteShortArray0(short[] val, byte* data, int cnt)
{
if (LittleEndian)
{
@@ -317,7 +319,7 @@ namespace Apache.Ignite.Core.Impl.Portable.IO
/// <param name="data">Data pointer.</param>
/// <param name="cnt">Bytes count.</param>
/// <returns>Short array</returns>
- protected short[] ReadShortArray0(int len, byte* data, int cnt)
+ protected static short[] ReadShortArray0(int len, byte* data, int cnt)
{
short[] res = new short[len];
@@ -380,7 +382,7 @@ namespace Apache.Ignite.Core.Impl.Portable.IO
/// <param name="val">Char array.</param>
/// <param name="data">Data pointer.</param>
/// <param name="cnt">Bytes count.</param>
- protected void WriteCharArray0(char[] val, byte* data, int cnt)
+ protected static void WriteCharArray0(char[] val, byte* data, int cnt)
{
if (LittleEndian)
{
@@ -421,7 +423,7 @@ namespace Apache.Ignite.Core.Impl.Portable.IO
/// <param name="data">Data pointer.</param>
/// <param name="cnt">Bytes count.</param>
/// <returns>Char array</returns>
- protected char[] ReadCharArray0(int len, byte* data, int cnt)
+ protected static char[] ReadCharArray0(int len, byte* data, int cnt)
{
char[] res = new char[len];
@@ -468,7 +470,7 @@ namespace Apache.Ignite.Core.Impl.Portable.IO
/// </summary>
/// <param name="val">Int value.</param>
/// <param name="data">Data pointer.</param>
- protected void WriteInt0(int val, byte* data)
+ protected static void WriteInt0(int val, byte* data)
{
if (LittleEndian)
*((int*)data) = val;
@@ -496,7 +498,7 @@ namespace Apache.Ignite.Core.Impl.Portable.IO
/// </summary>
/// <param name="data">Data pointer.</param>
/// <returns>Int value</returns>
- protected int ReadInt0(byte* data) {
+ protected static int ReadInt0(byte* data) {
int val;
if (LittleEndian)
@@ -526,7 +528,7 @@ namespace Apache.Ignite.Core.Impl.Portable.IO
/// <param name="val">Int array.</param>
/// <param name="data">Data pointer.</param>
/// <param name="cnt">Bytes count.</param>
- protected void WriteIntArray0(int[] val, byte* data, int cnt)
+ protected static void WriteIntArray0(int[] val, byte* data, int cnt)
{
if (LittleEndian)
{
@@ -569,7 +571,7 @@ namespace Apache.Ignite.Core.Impl.Portable.IO
/// <param name="data">Data pointer.</param>
/// <param name="cnt">Bytes count.</param>
/// <returns>Int array</returns>
- protected int[] ReadIntArray0(int len, byte* data, int cnt)
+ protected static int[] ReadIntArray0(int len, byte* data, int cnt)
{
int[] res = new int[len];
@@ -636,7 +638,7 @@ namespace Apache.Ignite.Core.Impl.Portable.IO
/// <param name="val">Int array.</param>
/// <param name="data">Data pointer.</param>
/// <param name="cnt">Bytes count.</param>
- protected void WriteFloatArray0(float[] val, byte* data, int cnt)
+ protected static void WriteFloatArray0(float[] val, byte* data, int cnt)
{
if (LittleEndian)
{
@@ -679,7 +681,7 @@ namespace Apache.Ignite.Core.Impl.Portable.IO
/// <param name="data">Data pointer.</param>
/// <param name="cnt">Bytes count.</param>
/// <returns>Float array</returns>
- protected float[] ReadFloatArray0(int len, byte* data, int cnt)
+ protected static float[] ReadFloatArray0(int len, byte* data, int cnt)
{
float[] res = new float[len];
@@ -721,7 +723,7 @@ namespace Apache.Ignite.Core.Impl.Portable.IO
/// </summary>
/// <param name="val">Long value.</param>
/// <param name="data">Data pointer.</param>
- protected void WriteLong0(long val, byte* data)
+ protected static void WriteLong0(long val, byte* data)
{
if (LittleEndian)
*((long*)data) = val;
@@ -753,7 +755,7 @@ namespace Apache.Ignite.Core.Impl.Portable.IO
/// </summary>
/// <param name="data">Data pointer.</param>
/// <returns>Long value</returns>
- protected long ReadLong0(byte* data)
+ protected static long ReadLong0(byte* data)
{
long val;
@@ -788,7 +790,7 @@ namespace Apache.Ignite.Core.Impl.Portable.IO
/// <param name="val">Long array.</param>
/// <param name="data">Data pointer.</param>
/// <param name="cnt">Bytes count.</param>
- protected void WriteLongArray0(long[] val, byte* data, int cnt)
+ protected static void WriteLongArray0(long[] val, byte* data, int cnt)
{
if (LittleEndian)
{
@@ -835,7 +837,7 @@ namespace Apache.Ignite.Core.Impl.Portable.IO
/// <param name="data">Data pointer.</param>
/// <param name="cnt">Bytes count.</param>
/// <returns>Long array</returns>
- protected long[] ReadLongArray0(int len, byte* data, int cnt)
+ protected static long[] ReadLongArray0(int len, byte* data, int cnt)
{
long[] res = new long[len];
@@ -906,7 +908,7 @@ namespace Apache.Ignite.Core.Impl.Portable.IO
/// <param name="val">Double array.</param>
/// <param name="data">Data pointer.</param>
/// <param name="cnt">Bytes count.</param>
- protected void WriteDoubleArray0(double[] val, byte* data, int cnt)
+ protected static void WriteDoubleArray0(double[] val, byte* data, int cnt)
{
if (LittleEndian)
{
@@ -953,7 +955,7 @@ namespace Apache.Ignite.Core.Impl.Portable.IO
/// <param name="data">Data pointer.</param>
/// <param name="cnt">Bytes count.</param>
/// <returns>Double array</returns>
- protected double[] ReadDoubleArray0(int len, byte* data, int cnt)
+ protected static double[] ReadDoubleArray0(int len, byte* data, int cnt)
{
double[] res = new double[len];
@@ -1009,7 +1011,7 @@ namespace Apache.Ignite.Core.Impl.Portable.IO
/// <param name="enc">Encoding.</param>
/// <param name="data">Data.</param>
/// <returns>Amount of bytes written.</returns>
- protected int WriteString0(char* chars, int charCnt, int byteCnt, Encoding enc, byte* data)
+ protected static int WriteString0(char* chars, int charCnt, int byteCnt, Encoding enc, byte* data)
{
return enc.GetBytes(chars, charCnt, data, byteCnt);
}
@@ -1253,7 +1255,7 @@ namespace Apache.Ignite.Core.Impl.Portable.IO
/// Shift position due to read.
/// </summary>
/// <param name="cnt">Bytes count.</param>
- protected void ShiftRead(int cnt)
+ private void ShiftRead(int cnt)
{
Pos += cnt;
}
@@ -1287,7 +1289,7 @@ namespace Apache.Ignite.Core.Impl.Portable.IO
/// <param name="src">Source.</param>
/// <param name="dest">Destination.</param>
/// <param name="len">Length.</param>
- public static void CopyMemory(byte* src, byte* dest, int len)
+ private static void CopyMemory(byte* src, byte* dest, int len)
{
if (MemcpyInverted)
Memcpy.Invoke(dest, src, len);
http://git-wip-us.apache.org/repos/asf/ignite/blob/b9256a1e/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/PortableBuilderImpl.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/PortableBuilderImpl.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/PortableBuilderImpl.cs
index 7ea565b..d18434a 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/PortableBuilderImpl.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/PortableBuilderImpl.cs
@@ -19,6 +19,7 @@ namespace Apache.Ignite.Core.Impl.Portable
{
using System;
using System.Collections.Generic;
+ using System.Diagnostics.CodeAnalysis;
using System.IO;
using Apache.Ignite.Core.Common;
using Apache.Ignite.Core.Impl.Portable.IO;
@@ -66,6 +67,7 @@ namespace Apache.Ignite.Core.Impl.Portable
/// <summary>
/// Static initializer.
/// </summary>
+ [SuppressMessage("Microsoft.Performance", "CA1810:InitializeReferenceTypeStaticFieldsInline")]
static PortableBuilderImpl()
{
TypeIds = new Dictionary<Type, int>();
@@ -112,18 +114,6 @@ namespace Apache.Ignite.Core.Impl.Portable
/// Constructor.
/// </summary>
/// <param name="portables">Portables.</param>
- /// <param name="obj">Initial portable object.</param>
- /// <param name="desc">Type descriptor.</param>
- public PortableBuilderImpl(PortablesImpl portables, PortableUserObject obj,
- IPortableTypeDescriptor desc) : this(portables, null, obj, desc)
- {
- // No-op.
- }
-
- /// <summary>
- /// Constructor.
- /// </summary>
- /// <param name="portables">Portables.</param>
/// <param name="parent">Parent builder.</param>
/// <param name="obj">Initial portable object.</param>
/// <param name="desc">Type descriptor.</param>
@@ -220,7 +210,9 @@ namespace Apache.Ignite.Core.Impl.Portable
/// <returns>Child builder.</returns>
public PortableBuilderImpl Child(PortableUserObject obj)
{
- return _portables.ChildBuilder(_parent, obj);
+ var desc = _portables.Marshaller.Descriptor(true, obj.TypeId);
+
+ return new PortableBuilderImpl(_portables, null, obj, desc);
}
/// <summary>
http://git-wip-us.apache.org/repos/asf/ignite/blob/b9256a1e/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/PortableMarshaller.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/PortableMarshaller.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/PortableMarshaller.cs
index f41962d..c7a0b7b 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/PortableMarshaller.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/PortableMarshaller.cs
@@ -19,6 +19,7 @@ namespace Apache.Ignite.Core.Impl.Portable
{
using System;
using System.Collections.Generic;
+ using System.Globalization;
using System.Linq;
using Apache.Ignite.Core.Impl.Cache;
using Apache.Ignite.Core.Impl.Cache.Query.Continuous;
@@ -533,7 +534,7 @@ namespace Apache.Ignite.Core.Impl.Portable
var args = type.GetGenericArguments().Select(GetTypeName).Aggregate((x, y) => x + "," + y);
- return string.Format("{0}[{1}]", type.Name, args);
+ return string.Format(CultureInfo.InvariantCulture, "{0}[{1}]", type.Name, args);
}
}
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/b9256a1e/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/PortableSystemHandlers.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/PortableSystemHandlers.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/PortableSystemHandlers.cs
index 4e67370..c02c457 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/PortableSystemHandlers.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/PortableSystemHandlers.cs
@@ -22,6 +22,7 @@ namespace Apache.Ignite.Core.Impl.Portable
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Diagnostics;
+ using System.Diagnostics.CodeAnalysis;
using Apache.Ignite.Core.Impl.Common;
using Apache.Ignite.Core.Impl.Portable.IO;
@@ -70,9 +71,11 @@ namespace Apache.Ignite.Core.Impl.Portable
public static readonly PortableSystemWriteDelegate WriteHndGenericDictionary =
WriteGenericDictionary;
- /**
- * <summary>Static initializer.</summary>
- */
+ /// <summary>
+ /// Initializes the <see cref="PortableSystemHandlers"/> class.
+ /// </summary>
+ [SuppressMessage("Microsoft.Performance", "CA1810:InitializeReferenceTypeStaticFieldsInline",
+ Justification = "Readability.")]
static PortableSystemHandlers()
{
// 1. Primitives.
http://git-wip-us.apache.org/repos/asf/ignite/blob/b9256a1e/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/PortableUtils.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/PortableUtils.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/PortableUtils.cs
index 546ccaa..2344db2 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/PortableUtils.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/PortableUtils.cs
@@ -22,6 +22,7 @@ namespace Apache.Ignite.Core.Impl.Portable
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Diagnostics;
+ using System.Diagnostics.CodeAnalysis;
using System.IO;
using System.Reflection;
using System.Runtime.Serialization.Formatters.Binary;
@@ -1543,7 +1544,7 @@ namespace Apache.Ignite.Core.Impl.Portable
if (Enum.GetUnderlyingType(val.GetType()) == TypInt)
{
stream.WriteInt(ObjTypeId);
- stream.WriteInt(Convert.ToInt32(val));
+ stream.WriteInt((int) (object) val);
}
else
throw new PortableException("Only Int32 underlying type is supported for enums: " +
@@ -1610,7 +1611,8 @@ namespace Apache.Ignite.Core.Impl.Portable
public static string CleanFieldName(string fieldName)
{
- if (fieldName.StartsWith("<") && fieldName.EndsWith(">k__BackingField"))
+ if (fieldName.StartsWith("<", StringComparison.Ordinal)
+ && fieldName.EndsWith(">k__BackingField", StringComparison.Ordinal))
return fieldName.Substring(1, fieldName.IndexOf(">", StringComparison.Ordinal) - 1);
return fieldName;
@@ -1934,6 +1936,7 @@ namespace Apache.Ignite.Core.Impl.Portable
/// <param name="writer">Writer.</param>
/// <param name="success">Success flag.</param>
/// <param name="res">Result.</param>
+ [SuppressMessage("Microsoft.Design", "CA1031:DoNotCatchGeneralExceptionTypes")]
public static void WriteWrappedInvocationResult(PortableWriterImpl writer, bool success, object res)
{
var pos = writer.Stream.Position;
@@ -1976,6 +1979,7 @@ namespace Apache.Ignite.Core.Impl.Portable
/// <param name="writer">Writer.</param>
/// <param name="success">Success flag.</param>
/// <param name="res">Result.</param>
+ [SuppressMessage("Microsoft.Design", "CA1031:DoNotCatchGeneralExceptionTypes")]
public static void WriteInvocationResult(PortableWriterImpl writer, bool success, object res)
{
var pos = writer.Stream.Position;
http://git-wip-us.apache.org/repos/asf/ignite/blob/b9256a1e/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/PortablesImpl.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/PortablesImpl.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/PortablesImpl.cs
index f769e3f..b120041 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/PortablesImpl.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/PortablesImpl.cs
@@ -147,19 +147,6 @@ namespace Apache.Ignite.Core.Impl.Portable
}
/// <summary>
- /// Create child builder.
- /// </summary>
- /// <param name="parent">Parent builder.</param>
- /// <param name="obj">Portable object.</param>
- /// <returns></returns>
- internal PortableBuilderImpl ChildBuilder(PortableBuilderImpl parent, PortableUserObject obj)
- {
- IPortableTypeDescriptor desc = _marsh.Descriptor(true, obj.TypeId);
-
- return Builder0(null, obj, desc);
- }
-
- /// <summary>
/// Marshaller.
/// </summary>
internal PortableMarshaller Marshaller
http://git-wip-us.apache.org/repos/asf/ignite/blob/b9256a1e/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/TypeResolver.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/TypeResolver.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/TypeResolver.cs
index 0785f4a..8a738c2 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/TypeResolver.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/TypeResolver.cs
@@ -21,6 +21,7 @@ namespace Apache.Ignite.Core.Impl.Portable
using System.Collections.Generic;
using System.Diagnostics;
using System.Diagnostics.CodeAnalysis;
+ using System.Globalization;
using System.Linq;
using System.Reflection;
using System.Text.RegularExpressions;
@@ -118,7 +119,8 @@ namespace Apache.Ignite.Core.Impl.Portable
return null;
var genericType = ResolveNonGenericType(assemblyName,
- string.Format("{0}`{1}", match.Groups[1].Value, genericArgs.Length), assemblies);
+ string.Format(CultureInfo.InvariantCulture, "{0}`{1}", match.Groups[1].Value, genericArgs.Length),
+ assemblies);
if (genericType == null)
return null;
@@ -131,7 +133,9 @@ namespace Apache.Ignite.Core.Impl.Portable
/// </summary>
private static string TrimBrackets(string s)
{
- return s.StartsWith("[") && s.EndsWith("]") ? s.Substring(1, s.Length - 2) : s;
+ return s.StartsWith("[", StringComparison.Ordinal) && s.EndsWith("]", StringComparison.Ordinal)
+ ? s.Substring(1, s.Length - 2)
+ : s;
}
/// <summary>
http://git-wip-us.apache.org/repos/asf/ignite/blob/b9256a1e/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Services/ServiceProxyInvoker.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Services/ServiceProxyInvoker.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Services/ServiceProxyInvoker.cs
index fa5da17..9cf173b 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Services/ServiceProxyInvoker.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Services/ServiceProxyInvoker.cs
@@ -20,6 +20,8 @@ namespace Apache.Ignite.Core.Impl.Services
using System;
using System.Collections.Generic;
using System.Diagnostics;
+ using System.Diagnostics.CodeAnalysis;
+ using System.Globalization;
using System.Linq;
using System.Reflection;
@@ -36,6 +38,7 @@ namespace Apache.Ignite.Core.Impl.Services
/// <param name="methodName">Name of the method.</param>
/// <param name="arguments">Arguments.</param>
/// <returns>Pair of method return value and invocation exception.</returns>
+ [SuppressMessage("Microsoft.Design", "CA1031:DoNotCatchGeneralExceptionTypes")]
public static KeyValuePair<object, Exception> InvokeServiceMethod(object svc, string methodName,
object[] arguments)
{
@@ -75,8 +78,8 @@ namespace Apache.Ignite.Core.Impl.Services
if (methods.Length == 0)
throw new InvalidOperationException(
- string.Format("Failed to invoke proxy: there is no method '{0}' in type '{1}'",
- methodName, svcType));
+ string.Format(CultureInfo.InvariantCulture,
+ "Failed to invoke proxy: there is no method '{0}' in type '{1}'", methodName, svcType));
// 2) There is more than 1 method with specified name - resolve with argument types.
methods = methods.Where(m => AreMethodArgsCompatible(arguments, m.GetParameters())).ToArray();
@@ -93,12 +96,14 @@ namespace Apache.Ignite.Core.Impl.Services
if (methods.Length == 0)
throw new InvalidOperationException(
- string.Format("Failed to invoke proxy: there is no method '{0}' in type '{1}' with {2} arguments",
- methodName, svcType, argsString));
+ string.Format(CultureInfo.InvariantCulture,
+ "Failed to invoke proxy: there is no method '{0}' in type '{1}' with {2} arguments",
+ methodName, svcType, argsString));
throw new InvalidOperationException(
- string.Format("Failed to invoke proxy: there are {2} methods '{0}' in type '{1}' with {3} " +
- "arguments, can't resolve ambiguity.", methodName, svcType, methods.Length, argsString));
+ string.Format(CultureInfo.InvariantCulture,
+ "Failed to invoke proxy: there are {2} methods '{0}' in type '{1}' with {3} " +
+ "arguments, can't resolve ambiguity.", methodName, svcType, methods.Length, argsString));
}
/// <summary>
http://git-wip-us.apache.org/repos/asf/ignite/blob/b9256a1e/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Transactions/Transaction.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Transactions/Transaction.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Transactions/Transaction.cs
index 47c9f93..35dad92 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Transactions/Transaction.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Transactions/Transaction.cs
@@ -18,6 +18,7 @@
namespace Apache.Ignite.Core.Impl.Transactions
{
using System;
+ using System.Diagnostics.CodeAnalysis;
using Apache.Ignite.Core.Common;
using Apache.Ignite.Core.Transactions;
@@ -39,6 +40,8 @@ namespace Apache.Ignite.Core.Impl.Transactions
}
/** <inheritDoc /> */
+ [SuppressMessage("Microsoft.Usage", "CA1816:CallGCSuppressFinalizeCorrectly",
+ Justification = "There is no finalizer.")]
public void Dispose()
{
Tx.Dispose();
http://git-wip-us.apache.org/repos/asf/ignite/blob/b9256a1e/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Transactions/TransactionImpl.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Transactions/TransactionImpl.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Transactions/TransactionImpl.cs
index 9e71181..3d1e57d 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Transactions/TransactionImpl.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Transactions/TransactionImpl.cs
@@ -18,6 +18,7 @@
namespace Apache.Ignite.Core.Impl.Transactions
{
using System;
+ using System.Globalization;
using System.Threading;
using Apache.Ignite.Core.Common;
using Apache.Ignite.Core.Impl.Common;
@@ -26,7 +27,7 @@ namespace Apache.Ignite.Core.Impl.Transactions
/// <summary>
/// Grid cache transaction implementation.
/// </summary>
- internal sealed class TransactionImpl
+ internal sealed class TransactionImpl : IDisposable
{
/** Metadatas. */
private object[] _metas;
@@ -400,7 +401,8 @@ namespace Apache.Ignite.Core.Impl.Transactions
/// </summary>
private InvalidOperationException GetClosedException()
{
- return new InvalidOperationException(string.Format("Transaction {0} is closed, state is {1}", Id, State));
+ return new InvalidOperationException(string.Format(CultureInfo.InvariantCulture,
+ "Transaction {0} is closed, state is {1}", Id, State));
}
/// <summary>