Merge branch 'sprint-1' into ignite-112

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

Branch: refs/heads/ignite-112
Commit: 0a800b1acff0f32e9f3e38c4e5d54505edca2ca3
Parents: df488d0 9ea9607
Author: nikolay_tikhonov <ntikho...@gridgain.com>
Authored: Thu Jan 29 13:38:40 2015 +0300
Committer: nikolay_tikhonov <ntikho...@gridgain.com>
Committed: Thu Jan 29 13:41:42 2015 +0300

----------------------------------------------------------------------
 assembly/libs/readme.txt                        |  111 +-
 assembly/release-base-fabric.xml                |    2 +-
 docs/core-site.gridgain.xml                     |   89 -
 docs/core-site.ignite.xml                       |   89 +
 docs/gridgain_readme.md                         |  149 -
 docs/gridgain_readme.pdf                        |  Bin 407698 -> 0 bytes
 docs/hadoop_readme.md                           |   80 +-
 docs/hadoop_readme.pdf                          |  Bin 411788 -> 82297 bytes
 docs/hive-site.gridgain.xml                     |   36 -
 docs/hive-site.ignite.xml                       |   36 +
 docs/ignite_readme.md                           |  100 +
 docs/ignite_readme.pdf                          |  Bin 0 -> 76810 bytes
 docs/mapred-site.gridgain.xml                   |   79 -
 docs/mapred-site.ignite.xml                     |   79 +
 examples/config/filesystem/readme.txt           |    4 +-
 .../hibernate/example-hibernate-L2-cache.xml    |   14 +-
 examples/config/hibernate/readme.txt            |    4 +-
 examples/config/servlet/readme.txt              |    2 +-
 .../ComputeFibonacciContinuationExample.java    |   11 +-
 .../compute/ComputeRunnableExample.java         |    5 +-
 .../datagrid/CacheDataLoaderExample.java        |   15 +-
 .../HibernateL2CacheExampleNodeStartup.java     |    6 +-
 .../examples/ScalarContinuationExample.scala    |    9 +-
 ipc/readme.txt                                  |    4 +-
 ipc/shmem/readme.txt                            |   10 +-
 modules/aop/readme.txt                          |   12 +-
 modules/aws/readme.txt                          |   12 +-
 .../ClientAbstractMultiThreadedSelfTest.java    |    8 +-
 .../ClientAbstractMultiNodeSelfTest.java        |    4 +-
 .../integration/ClientAbstractSelfTest.java     |    8 +-
 .../rest/RestBinaryProtocolSelfTest.java        |    2 +-
 .../rest/RestProcessorStartSelfTest.java        |    3 +-
 .../rest/TaskCommandHandlerSelfTest.java        |    2 +-
 .../org/apache/ignite/IgniteDataLoader.java     |   14 +-
 .../java/org/apache/ignite/IgniteScheduler.java |    6 +-
 .../apache/ignite/IgniteSystemProperties.java   |    6 +-
 .../main/java/org/apache/ignite/Ignition.java   |   38 +-
 .../org/apache/ignite/cache/CacheEntry.java     |   27 +-
 .../apache/ignite/cache/CacheProjection.java    |   43 +-
 .../apache/ignite/cache/CachingProvider.java    |    2 +-
 .../java/org/apache/ignite/cache/GridCache.java |    5 +-
 .../apache/ignite/cache/query/CacheQueries.java |    7 +-
 .../ignite/cache/query/CacheQueryFuture.java    |    4 +-
 .../ignite/compute/ComputeTaskFuture.java       |    4 +-
 .../ignite/compute/ComputeTaskSession.java      |    3 +-
 .../ignite/fs/mapreduce/IgniteFsTask.java       |    2 +-
 .../org/apache/ignite/hadoop/GridHadoop.java    |    6 +-
 .../ignite/internal/ClusterGroupAdapter.java    |    2 +-
 .../internal/ClusterNodeLocalMapImpl.java       |    2 +-
 .../java/org/apache/ignite/internal/GridEx.java |  143 -
 .../org/apache/ignite/internal/GridGainEx.java  | 2399 -------------
 .../ignite/internal/GridJobSessionImpl.java     |    2 +-
 .../org/apache/ignite/internal/GridKernal.java  | 3322 ------------------
 .../ignite/internal/GridKernalContext.java      |    2 +-
 .../ignite/internal/GridKernalContextImpl.java  |    8 +-
 .../apache/ignite/internal/GridLoggerProxy.java |    2 +-
 .../ignite/internal/GridTaskSessionImpl.java    |    2 +-
 .../ignite/internal/GridUpdateNotifier.java     |    2 +-
 .../ignite/internal/IgniteClusterAsyncImpl.java |    4 +-
 .../org/apache/ignite/internal/IgniteEx.java    |  143 +
 .../ignite/internal/IgniteInternalFuture.java   |  190 +
 .../apache/ignite/internal/IgniteKernal.java    | 3322 ++++++++++++++++++
 .../ignite/internal/IgniteSchedulerImpl.java    |    6 +-
 .../org/apache/ignite/internal/IgnitionEx.java  | 2396 +++++++++++++
 .../internal/executor/GridExecutorService.java  |   44 +-
 .../managers/communication/GridIoManager.java   |    3 +-
 .../discovery/GridDiscoveryManager.java         |    2 +-
 .../eventstorage/GridEventStorageManager.java   |    4 +-
 .../affinity/GridAffinityAssignmentCache.java   |    5 +-
 .../affinity/GridAffinityProcessor.java         |    8 +-
 .../processors/affinity/GridAffinityUtils.java  |    2 +-
 .../processors/cache/CacheLockImpl.java         |    4 +-
 .../processors/cache/GridCacheAdapter.java      |  348 +-
 .../cache/GridCacheAffinityManager.java         |    8 +-
 .../processors/cache/GridCacheContext.java      |   59 +-
 .../processors/cache/GridCacheEntryEx.java      |    8 +
 .../processors/cache/GridCacheEntryImpl.java    |   27 +-
 .../cache/GridCacheEvictionEntry.java           |   27 +-
 .../cache/GridCacheEvictionManager.java         |    4 +-
 .../cache/GridCacheExplicitLockSpan.java        |    4 +-
 .../cache/GridCacheFilterEvaluationEntry.java   |   27 +-
 .../processors/cache/GridCacheFuture.java       |    3 +-
 .../processors/cache/GridCacheIoManager.java    |   15 +-
 .../processors/cache/GridCacheMapEntry.java     |  116 +-
 .../cache/GridCacheMultiTxFuture.java           |    6 +-
 .../processors/cache/GridCacheMvccManager.java  |   29 +-
 .../GridCachePartitionExchangeManager.java      |    9 +-
 .../processors/cache/GridCachePreloader.java    |    7 +-
 .../cache/GridCachePreloaderAdapter.java        |    9 +-
 .../processors/cache/GridCacheProcessor.java    |    9 +-
 .../processors/cache/GridCacheProjectionEx.java |   27 +-
 .../cache/GridCacheProjectionImpl.java          |   69 +-
 .../processors/cache/GridCacheProxyImpl.java    |   73 +-
 .../cache/GridCacheSharedContext.java           |   13 +-
 .../processors/cache/GridCacheStoreManager.java |   18 +-
 .../cache/GridCacheUpdateAtomicResult.java      |    6 +-
 .../processors/cache/GridCacheUtils.java        |    7 +-
 .../processors/cache/GridDrResolveResult.java   |   63 -
 .../processors/cache/IgniteCacheProxy.java      |   13 +-
 .../GridCacheAtomicSequenceImpl.java            |    3 +-
 .../GridCacheDataStructuresManager.java         |    4 +-
 ...ridCacheOptimisticCheckPreparedTxFuture.java |    7 +-
 ...dCachePessimisticCheckCommittedTxFuture.java |    7 +-
 .../distributed/GridCacheTxFinishSync.java      |    8 +-
 .../GridDistributedCacheAdapter.java            |    7 +-
 .../GridDistributedTxRemoteAdapter.java         |   54 +-
 .../distributed/dht/GridDhtCacheAdapter.java    |   12 +-
 .../distributed/dht/GridDhtCacheEntry.java      |    7 +-
 .../distributed/dht/GridDhtEmbeddedFuture.java  |    8 +-
 .../cache/distributed/dht/GridDhtFuture.java    |    4 +-
 .../cache/distributed/dht/GridDhtGetFuture.java |   11 +-
 .../distributed/dht/GridDhtLocalPartition.java  |    5 +-
 .../distributed/dht/GridDhtLockFuture.java      |   11 +-
 .../distributed/dht/GridDhtTopologyFuture.java  |    4 +-
 .../dht/GridDhtTransactionalCacheAdapter.java   |   29 +-
 .../distributed/dht/GridDhtTxFinishFuture.java  |   11 +-
 .../cache/distributed/dht/GridDhtTxLocal.java   |   19 +-
 .../distributed/dht/GridDhtTxLocalAdapter.java  |   11 +-
 .../distributed/dht/GridDhtTxPrepareFuture.java |   11 +-
 .../dht/GridPartitionedGetFuture.java           |   32 +-
 .../dht/atomic/GridDhtAtomicCache.java          |  128 +-
 .../dht/atomic/GridNearAtomicUpdateFuture.java  |   34 +-
 .../dht/colocated/GridDhtColocatedCache.java    |   24 +-
 .../colocated/GridDhtColocatedLockFuture.java   |   23 +-
 .../dht/preloader/GridDhtForceKeysFuture.java   |    7 +-
 .../preloader/GridDhtPartitionDemandPool.java   |   13 +-
 .../GridDhtPartitionsExchangeFuture.java        |   20 +-
 .../dht/preloader/GridDhtPreloader.java         |   29 +-
 .../distributed/near/GridNearAtomicCache.java   |   45 +-
 .../distributed/near/GridNearCacheAdapter.java  |   15 +-
 .../distributed/near/GridNearGetFuture.java     |   36 +-
 .../distributed/near/GridNearLockFuture.java    |   23 +-
 .../near/GridNearTransactionalCache.java        |    9 +-
 .../near/GridNearTxFinishFuture.java            |   17 +-
 .../cache/distributed/near/GridNearTxLocal.java |   58 +-
 .../near/GridNearTxPrepareFuture.java           |   17 +-
 .../processors/cache/dr/GridCacheDrManager.java |   57 +-
 .../cache/dr/os/GridOsCacheDrManager.java       |   35 +-
 .../processors/cache/local/GridLocalCache.java  |    7 +-
 .../processors/cache/local/GridLocalTx.java     |   12 +-
 .../local/atomic/GridLocalAtomicCache.java      |  139 +-
 .../GridCacheDistributedFieldsQueryFuture.java  |    4 +-
 .../query/GridCacheDistributedQueryManager.java |    9 +-
 .../query/GridCacheFieldsQueryErrorFuture.java  |    3 +-
 .../query/GridCacheLocalFieldsQueryFuture.java  |    4 +-
 .../cache/query/GridCacheLocalQueryFuture.java  |    3 +-
 .../cache/query/GridCacheQueriesEx.java         |    6 +-
 .../cache/query/GridCacheQueriesImpl.java       |   11 +-
 .../cache/query/GridCacheQueriesProxy.java      |   11 +-
 .../cache/query/GridCacheQueryManager.java      |   50 +-
 .../query/GridCacheQueryMetadataAware.java      |    4 +-
 .../GridCacheContinuousQueryEntry.java          |   27 +-
 .../jdbc/GridCacheQueryJdbcMetadataTask.java    |    2 +-
 .../query/jdbc/GridCacheQueryJdbcTask.java      |    2 +-
 .../transactions/IgniteTransactionsImpl.java    |    3 +-
 .../cache/transactions/IgniteTxAdapter.java     |   52 +-
 .../cache/transactions/IgniteTxEx.java          |    9 +-
 .../cache/transactions/IgniteTxHandler.java     |   48 +-
 .../transactions/IgniteTxLocalAdapter.java      |  158 +-
 .../cache/transactions/IgniteTxLocalEx.java     |   17 +-
 .../cache/transactions/IgniteTxManager.java     |   15 +-
 .../cache/transactions/IgniteTxProxyImpl.java   |    9 +-
 ...ridCacheVersionAbstractConflictResolver.java |   56 +
 .../GridCacheVersionConflictContext.java        |   73 +
 .../GridCacheVersionConflictContextImpl.java    |  188 +
 .../GridCacheVersionConflictResolver.java       |   59 +
 .../version/GridCacheVersionedEntryEx.java      |    2 +-
 .../closure/GridClosureProcessor.java           |   56 +-
 .../continuous/GridContinuousProcessor.java     |    4 +-
 .../dataload/GridDataLoaderProcessor.java       |    5 +-
 .../dataload/IgniteDataLoaderImpl.java          |   87 +-
 .../dr/GridDrDataLoadCacheUpdater.java          |    5 +-
 .../email/IgniteEmailProcessorAdapter.java      |    5 +-
 .../email/IgniteNoopEmailProcessor.java         |    5 +-
 .../processors/fs/GridGgfsAsyncImpl.java        |    3 +-
 .../processors/fs/GridGgfsDataManager.java      |   30 +-
 .../internal/processors/fs/GridGgfsEx.java      |    3 +-
 .../internal/processors/fs/GridGgfsImpl.java    |   18 +-
 .../processors/fs/GridGgfsInputStreamImpl.java  |   19 +-
 .../processors/fs/GridGgfsIpcHandler.java       |    4 +-
 .../processors/fs/GridGgfsMetaManager.java      |    9 +-
 .../internal/processors/fs/GridGgfsServer.java  |    8 +-
 .../processors/fs/GridGgfsServerHandler.java    |    4 +-
 .../processors/fs/IgniteFsOutputStreamImpl.java |    3 +-
 .../hadoop/IgniteHadoopNoopProcessor.java       |    5 +-
 .../hadoop/IgniteHadoopProcessorAdapter.java    |    5 +-
 .../processors/query/GridQueryIndexing.java     |    4 +-
 .../processors/query/GridQueryProcessor.java    |   12 +-
 .../resource/GridResourceProcessor.java         |    2 +-
 .../resource/GridSpringResourceContext.java     |    2 +-
 .../processors/rest/GridRestProcessor.java      |   18 +-
 .../rest/GridRestProtocolHandler.java           |    4 +-
 .../rest/handlers/GridRestCommandHandler.java   |    4 +-
 .../handlers/cache/GridCacheCommandHandler.java |   60 +-
 .../cache/GridCacheQueryCommandHandler.java     |   12 +-
 .../handlers/log/GridLogCommandHandler.java     |    3 +-
 .../metadata/GridPortableMetadataHandler.java   |    3 +-
 .../handlers/task/GridTaskCommandHandler.java   |   10 +-
 .../top/GridTopologyCommandHandler.java         |    3 +-
 .../version/GridVersionCommandHandler.java      |    3 +-
 .../tcp/GridTcpMemcachedNioListener.java        |   17 +-
 .../protocols/tcp/GridTcpRestNioListener.java   |    5 +-
 .../service/GridServiceProcessor.java           |   20 +-
 .../processors/service/GridServiceProxy.java    |    2 +-
 .../processors/streamer/IgniteStreamerImpl.java |    4 +-
 .../apache/ignite/internal/util/GridUtils.java  |    8 +-
 .../util/future/GridCompoundFuture.java         |   28 +-
 .../util/future/GridCompoundIdentityFuture.java |    2 +-
 .../util/future/GridEmbeddedFuture.java         |   38 +-
 .../util/future/GridFinishedFuture.java         |    8 +-
 .../util/future/GridFinishedFutureEx.java       |    9 +-
 .../internal/util/future/GridFutureAdapter.java |   30 +-
 .../util/future/GridFutureAdapterEx.java        |   31 +-
 .../util/future/GridFutureChainListener.java    |    8 +-
 .../ignite/internal/util/lang/GridFunc.java     |   53 +-
 .../ignite/internal/util/nio/GridNioFuture.java |    2 +-
 .../apache/ignite/internal/util/typedef/X.java  |    6 +-
 .../apache/ignite/internal/visor/VisorJob.java  |    2 +-
 .../internal/visor/VisorMultiNodeTask.java      |    2 +-
 .../ignite/internal/visor/cache/VisorCache.java |    2 +-
 .../visor/cache/VisorCachePreloadTask.java      |    6 +-
 .../compute/VisorComputeMonitoringHolder.java   |   10 +-
 .../visor/node/VisorBasicConfiguration.java     |    2 +-
 .../visor/node/VisorGridConfiguration.java      |    2 +-
 .../visor/node/VisorNodeDataCollectorJob.java   |    2 +-
 .../internal/visor/query/VisorQueryTask.java    |    2 +-
 .../apache/ignite/lang/IgniteAsyncSupport.java  |    4 +-
 .../ignite/lang/IgniteAsyncSupportAdapter.java  |   11 +-
 .../org/apache/ignite/lang/IgniteFuture.java    |  189 -
 .../ignite/scheduler/SchedulerFuture.java       |    4 +-
 .../spi/discovery/tcp/TcpDiscoverySpi.java      |    4 +-
 .../StreamerCacheAffinityEventRouter.java       |    2 +-
 .../ignite/GridExceptionHelpLinksSelfTest.java  |  106 -
 .../ignite/GridExternalizableAbstractTest.java  |   41 -
 .../org/apache/ignite/GridTestTaskSession.java  |    4 +-
 .../ignite/IgniteCacheAffinitySelfTest.java     |  283 ++
 .../apache/ignite/IgniteCacheAffinityTest.java  |  283 --
 .../IgniteExceptionHelpLinksSelfTest.java       |  106 +
 .../IgniteExternalizableAbstractTest.java       |   41 +
 ...CachePartitionFairAffinityNodesSelfTest.java |    6 +-
 .../store/GridCacheBalancingStoreSelfTest.java  |    3 +-
 ...CacheJdbcBlobStoreMultithreadedSelfTest.java |    7 +-
 .../fs/GridGgfsEventsAbstractSelfTest.java      |    2 +-
 .../ignite/fs/GridGgfsFragmentizerSelfTest.java |    2 +-
 .../internal/GridDiscoveryEventSelfTest.java    |    3 +-
 .../ignite/internal/GridDiscoverySelfTest.java  |    4 +-
 .../internal/GridExecutorServiceTest.java       |  315 --
 .../GridExplicitImplicitDeploymentSelfTest.java |  476 ---
 .../GridJobMasterLeaveAwareSelfTest.java        |   56 +-
 .../ignite/internal/GridKernalTestUtils.java    |    3 +-
 .../internal/GridListenActorSelfTest.java       |    3 +-
 .../internal/GridMultipleJobsSelfTest.java      |    6 +-
 .../internal/GridProjectionAbstractTest.java    |   20 +-
 .../ignite/internal/GridReduceSelfTest.java     |    2 +-
 .../GridTaskFutureImplStopGridSelfTest.java     |    5 +-
 .../internal/GridTaskListenerSelfTest.java      |    4 +-
 .../GridTopicExternalizableSelfTest.java        |    3 +-
 .../GridTopologyBuildVersionSelfTest.java       |    2 +-
 .../internal/GridUpdateNotifierSelfTest.java    |    3 +-
 .../internal/IgniteExecutorServiceTest.java     |  315 ++
 ...gniteExplicitImplicitDeploymentSelfTest.java |  476 +++
 .../GridCheckpointManagerAbstractSelfTest.java  |    4 +-
 .../GridCommunicationSendMessageSelfTest.java   |    4 +-
 .../GridDiscoveryManagerAliveCacheSelfTest.java |    2 +-
 .../discovery/GridDiscoveryManagerSelfTest.java |    6 +-
 .../events/GridEventStorageManagerSelfTest.java |    3 +-
 .../swapspace/GridSwapSpaceManagerSelfTest.java |    2 +-
 .../GridAffinityProcessorAbstractSelfTest.java  |    6 +-
 .../GridCacheAbstractFailoverSelfTest.java      |    3 +-
 .../cache/GridCacheAbstractFlagsTest.java       |    4 +-
 ...cheAbstractFullApiMultithreadedSelfTest.java |    5 +-
 .../cache/GridCacheAbstractFullApiSelfTest.java |  381 +-
 .../GridCacheAbstractIteratorsSelfTest.java     |   10 +-
 .../cache/GridCacheAbstractMetricsSelfTest.java |   18 +-
 .../GridCacheAbstractRemoveFailureTest.java     |    6 +-
 .../cache/GridCacheAbstractSelfTest.java        |    2 +-
 .../cache/GridCacheAffinityApiSelfTest.java     |    4 +-
 .../GridCacheAsyncOperationsLimitSelfTest.java  |    8 +-
 .../cache/GridCacheConcurrentMapTest.java       |    6 +-
 .../GridCacheConcurrentTxMultiNodeTest.java     |    4 +-
 .../cache/GridCacheEntryVersionSelfTest.java    |    4 +-
 .../GridCacheFinishPartitionsSelfTest.java      |   27 +-
 ...CacheFullTextQueryMultithreadedSelfTest.java |    6 +-
 ...idCacheGetAndTransformStoreAbstractTest.java |    4 +-
 .../GridCacheGroupLockAbstractSelfTest.java     |    6 +-
 .../GridCacheGroupLockFailoverSelfTest.java     |    5 +-
 .../cache/GridCacheIncrementTransformTest.java  |    4 +-
 .../processors/cache/GridCacheLeakTest.java     |    2 +-
 .../cache/GridCacheLuceneQueryIndexTest.java    |   18 +-
 .../GridCacheMissingCommitVersionSelfTest.java  |    3 +-
 ...GridCacheMixedPartitionExchangeSelfTest.java |    6 +-
 .../cache/GridCacheMultiUpdateLockSelfTest.java |    5 +-
 .../cache/GridCacheMvccFlagsTest.java           |    4 +-
 .../cache/GridCacheMvccManagerSelfTest.java     |    4 +-
 .../cache/GridCacheMvccPartitionedSelfTest.java |    4 +-
 .../processors/cache/GridCacheMvccSelfTest.java |    4 +-
 .../cache/GridCacheNestedTxAbstractTest.java    |    2 +-
 .../cache/GridCacheObjectToStringSelfTest.java  |    2 +-
 ...HeapMultiThreadedUpdateAbstractSelfTest.java |    5 +-
 .../GridCacheOrderedPreloadingSelfTest.java     |    2 +-
 .../cache/GridCacheP2PUndeploySelfTest.java     |    6 +-
 .../cache/GridCachePartitionedGetSelfTest.java  |    2 +-
 .../GridCachePreloadingEvictionsSelfTest.java   |    8 +-
 .../cache/GridCachePutAllFailoverSelfTest.java  |   13 +-
 .../GridCacheQueryInternalKeysSelfTest.java     |    2 +-
 .../GridCacheReferenceCleanupSelfTest.java      |    6 +-
 ...ridCacheReplicatedSynchronousCommitTest.java |    4 +-
 .../cache/GridCacheSlowTxWarnTest.java          |    4 +-
 .../processors/cache/GridCacheStopSelfTest.java |    6 +-
 .../cache/GridCacheStoreValueBytesSelfTest.java |    4 +-
 .../cache/GridCacheSwapPreloadSelfTest.java     |    4 +-
 .../cache/GridCacheSwapReloadSelfTest.java      |    2 +-
 .../processors/cache/GridCacheTestEntryEx.java  |    5 +
 .../cache/GridCacheTtlManagerLoadTest.java      |    5 +-
 .../cache/GridCacheTtlManagerSelfTest.java      |    2 +-
 .../GridCacheVariableTopologySelfTest.java      |    4 +-
 ...idCacheWriteBehindStoreAbstractSelfTest.java |    4 +-
 .../GridCacheWriteBehindStoreAbstractTest.java  |    4 +-
 .../GridCacheWriteBehindStoreSelfTest.java      |    6 +-
 .../IgniteCacheEntryListenerAbstractTest.java   |    7 +-
 .../cache/IgniteCacheInvokeAbstractTest.java    |    6 +-
 .../processors/cache/IgniteTxAbstractTest.java  |    2 +-
 .../IgniteTxConcurrentGetAbstractTest.java      |    3 +-
 .../IgniteTxExceptionAbstractSelfTest.java      |    2 +-
 .../cache/IgniteTxMultiNodeAbstractTest.java    |    6 +-
 .../IgniteTxMultiThreadedAbstractTest.java      |    6 +-
 .../IgniteTxStoreExceptionAbstractSelfTest.java |    2 +-
 ...eAbstractDataStructuresFailoverSelfTest.java |   27 +-
 ...actQueueFailoverDataConsistencySelfTest.java |    9 +-
 .../GridCacheCountDownLatchSelfTest.java        |    8 +-
 .../GridCacheQueueCleanupSelfTest.java          |    5 +-
 ...ridCacheQueueJoinedNodeSelfAbstractTest.java |    7 +-
 ...GridCacheQueueMultiNodeAbstractSelfTest.java |   17 +-
 .../GridCacheSetAbstractSelfTest.java           |   15 +-
 .../GridCacheSetFailoverAbstractSelfTest.java   |    6 +-
 ...PartitionedQueueCreateMultiNodeSelfTest.java |    6 +-
 ...dCachePartitionedQueueEntryMoveSelfTest.java |    6 +-
 .../GridCacheAbstractJobExecutionTest.java      |    6 +-
 .../GridCacheAtomicTimeoutSelfTest.java         |   11 +-
 .../GridCacheBasicOpAbstractTest.java           |    7 +-
 .../distributed/GridCacheEventAbstractTest.java |    2 +-
 ...heExpiredEntriesPreloadAbstractSelfTest.java |    2 +-
 .../distributed/GridCacheLockAbstractTest.java  |    6 +-
 .../GridCacheMultiNodeAbstractTest.java         |   15 +-
 .../GridCacheMultiNodeLockAbstractTest.java     |    2 +-
 ...dCacheMultithreadedFailoverAbstractTest.java |    4 +-
 .../GridCacheNodeFailureAbstractTest.java       |    6 +-
 ...iteTxConsistencyRestartAbstractSelfTest.java |    4 +-
 ...xOriginatingNodeFailureAbstractSelfTest.java |   10 +-
 ...cOriginatingNodeFailureAbstractSelfTest.java |   22 +-
 .../IgniteTxPreloadAbstractTest.java            |    4 +-
 .../dht/GridCacheAtomicFullApiSelfTest.java     |   11 +-
 .../dht/GridCacheAtomicNearCacheSelfTest.java   |    2 +-
 .../dht/GridCacheColocatedDebugTest.java        |   11 +-
 .../dht/GridCacheDhtEntrySelfTest.java          |    2 +-
 ...GridCacheDhtEvictionNearReadersSelfTest.java |   10 +-
 .../dht/GridCacheDhtEvictionSelfTest.java       |   12 +-
 .../dht/GridCacheDhtMappingSelfTest.java        |    2 +-
 .../dht/GridCacheDhtPreloadDelayedSelfTest.java |    2 +-
 .../dht/GridCacheDhtPreloadPutGetSelfTest.java  |    6 +-
 .../dht/GridCacheDhtPreloadSelfTest.java        |    5 +-
 .../GridCacheDhtPreloadStartStopSelfTest.java   |    5 +-
 ...dCachePartitionedTopologyChangeSelfTest.java |   60 +-
 ...itionedTxOriginatingNodeFailureSelfTest.java |    8 +-
 ...eAtomicInvalidPartitionHandlingSelfTest.java |    5 +-
 .../atomic/GridCacheAtomicPreloadSelfTest.java  |    4 +-
 .../near/GridCacheNearMultiNodeSelfTest.java    |    6 +-
 .../near/GridCacheNearReadersSelfTest.java      |    4 +-
 .../near/GridCacheNearTxMultiNodeSelfTest.java  |    2 +-
 .../GridCachePartitionedEntryLockSelfTest.java  |    5 +-
 ...titionedExplicitLockNodeFailureSelfTest.java |    6 +-
 .../GridCachePartitionedFullApiSelfTest.java    |    4 +-
 ...achePartitionedMultiNodeCounterSelfTest.java |    2 +-
 ...achePartitionedMultiNodeFullApiSelfTest.java |    5 +-
 .../GridCachePartitionedProjectionSelfTest.java |    4 +-
 .../GridCachePartitionedTxSalvageSelfTest.java  |    5 +-
 ...hePartitionedQueryMultiThreadedSelfTest.java |    6 +-
 .../GridCacheReplicatedEvictionSelfTest.java    |    5 +-
 .../GridCacheBatchEvictUnswapSelfTest.java      |    5 +-
 ...heConcurrentEvictionConsistencySelfTest.java |    4 +-
 .../GridCacheConcurrentEvictionsSelfTest.java   |    4 +-
 .../cache/eviction/GridCacheMockEntry.java      |   27 +-
 ...cheSynchronousEvictionsFailoverSelfTest.java |    4 +-
 .../IgniteCacheExpiryPolicyAbstractTest.java    |    2 +-
 ...ridCacheContinuousQueryAbstractSelfTest.java |    4 +-
 .../clock/GridTimeSyncProcessorSelfTest.java    |    6 +-
 .../closure/GridClosureProcessorSelfTest.java   |   27 +-
 .../continuous/GridEventConsumeSelfTest.java    |   10 +-
 .../GridDataLoaderProcessorSelfTest.java        |   23 +-
 .../processors/fs/GridGgfsAbstractSelfTest.java |    6 +-
 .../fs/GridGgfsDataManagerSelfTest.java         |    9 +-
 .../processors/fs/GridGgfsModesSelfTest.java    |    4 +-
 .../fs/GridGgfsProcessorSelfTest.java           |    2 +-
 ...IpcEndpointRegistrationAbstractSelfTest.java |    2 +-
 .../processors/fs/GridGgfsSizeSelfTest.java     |    8 +-
 .../processors/fs/GridGgfsTaskSelfTest.java     |    5 +-
 .../cache/GridCacheCommandHandlerSelfTest.java  |    9 +-
 .../GridServiceProcessorAbstractSelfTest.java   |   20 +-
 .../GridServiceProcessorMultiNodeSelfTest.java  |    8 +-
 .../GridServiceReassignmentSelfTest.java        |    2 +-
 .../streamer/GridStreamerFailoverSelfTest.java  |    4 +-
 .../timeout/GridTimeoutProcessorSelfTest.java   |    5 +-
 .../util/future/GridCompoundFutureSelfTest.java |    8 +-
 .../util/future/GridEmbeddedFutureSelfTest.java |    7 +-
 .../util/future/GridFinishedFutureSelfTest.java |    9 +-
 .../util/future/GridFutureAdapterSelfTest.java  |   23 +-
 .../future/GridFutureListenPerformanceTest.java |    5 +-
 .../shmem/GridIpcSharedMemorySpaceSelfTest.java |   20 +-
 .../internal/util/nio/GridNioSelfTest.java      |    8 +-
 .../offheap/GridOffHeapMapAbstractSelfTest.java |    7 +-
 ...idOffHeapPartitionedMapAbstractSelfTest.java |    3 +-
 ...apPartitionedMapPerformanceAbstractTest.java |   10 +-
 .../unsafe/GridUnsafeMemorySelfTest.java        |    6 +-
 .../ignite/jvmtest/ConcurrentMapTest.java       |    4 +-
 .../ignite/jvmtest/NetworkFailureTest.java      |   16 +-
 .../QueueSizeCounterMultiThreadedTest.java      |    4 +-
 .../jvmtest/ReadWriteLockMultiThreadedTest.java |   10 +-
 .../ignite/lang/GridBasicPerformanceTest.java   |    5 +-
 .../apache/ignite/lang/GridFuncSelfTest.java    |   13 +-
 .../lang/GridFutureListenPerformanceTest.java   |    5 +-
 ...idFileSwapSpaceSpiMultithreadedLoadTest.java |    6 +-
 .../cache/GridCacheAbstractLoadTest.java        |    6 +-
 .../cache/GridCachePutRemoveLoadTest.java       |    2 +-
 .../loadtests/cache/GridCacheSwapLoadTest.java  |   13 +-
 .../GridCacheWriteBehindStoreLoadTest.java      |    4 +-
 .../loadtests/colocation/GridTestMain.java      |   10 +-
 .../communication/GridIoManagerBenchmark.java   |   10 +-
 .../communication/GridIoManagerBenchmark0.java  |   22 +-
 .../GridContinuousOperationsLoadTest.java       |    4 +-
 .../ignite/loadtests/dsi/GridDsiPerfJob.java    |    2 +-
 ...GridJobExecutionLoadTestClientSemaphore.java |    5 +-
 ...JobExecutionSingleNodeSemaphoreLoadTest.java |    7 +-
 .../mergesort/GridMergeSortLoadTask.java        |    6 +-
 ...apPartitionedMapPerformanceAbstractTest.java |   10 +-
 .../streamer/GridStreamerIndexLoadTest.java     |    8 +-
 .../marshaller/GridMarshallerAbstractTest.java  |   20 +-
 .../ignite/messaging/GridMessagingSelfTest.java |    6 +-
 ...redFsCheckpointSpiMultiThreadedSelfTest.java |    8 +-
 .../collision/GridTestCollisionTaskSession.java |    3 +-
 ...mmunicationSpiConcurrentConnectSelfTest.java |    3 +-
 .../tcp/GridTcpCommunicationSpiLanTest.java     |    3 +-
 ...cpCommunicationSpiMultithreadedSelfTest.java |    9 +-
 ...GridTcpCommunicationSpiRecoverySelfTest.java |    7 +-
 ...ClusterMetricsSnapshotSerializeSelfTest.java |   52 +-
 .../tcp/GridTcpDiscoveryMultiThreadedTest.java  |    7 +-
 .../discovery/tcp/GridTcpDiscoverySelfTest.java |   14 +-
 .../file/GridFileSwapSpaceSpiSelfTest.java      |    7 +-
 .../GridCacheStoreValueBytesTest.java           |    7 +-
 .../index/GridStreamerIndexSelfTest.java        |    8 +-
 .../window/GridStreamerWindowSelfTest.java      |    4 +-
 .../ignite/testframework/GridTestUtils.java     |   12 +-
 .../testframework/junits/GridAbstractTest.java  |   22 +-
 .../junits/GridTestKernalContext.java           |    2 +-
 .../cache/GridAbstractCacheStoreSelfTest.java   |    3 +-
 .../junits/common/GridCommonAbstractTest.java   |   26 +-
 .../ignite/testsuites/IgniteBasicTestSuite.java |    2 +-
 .../ignite/testsuites/IgniteCacheTestSuite.java |    2 +-
 .../testsuites/IgniteComputeGridTestSuite.java  |    4 +-
 ...dConcurrentLinkedDequeMultiThreadedTest.java |    6 +-
 ...rrentLinkedHashMapMultiThreadedSelfTest.java |   10 +-
 .../apache/ignite/util/GridIndexFillTest.java   |    4 +-
 .../ignite/util/GridSnapshotLockSelfTest.java   |    6 +-
 .../util/GridSpinReadWriteLockSelfTest.java     |    4 +-
 modules/core/src/test/resources/readme.txt      |    2 +-
 modules/email/readme.txt                        |   12 +-
 .../processors/email/IgniteEmailProcessor.java  |    5 +-
 modules/hadoop/readme.txt                       |   12 +-
 .../GridHadoopClientProtocolProvider.java       |    8 +-
 .../hadoop/GridHadoopClassLoader.java           |    2 +-
 .../processors/hadoop/GridHadoopImpl.java       |    6 +-
 .../hadoop/IgniteHadoopProcessor.java           |    5 +-
 .../hadoop/jobtracker/GridHadoopJobTracker.java |   19 +-
 .../GridHadoopDefaultMapReducePlanner.java      |    2 +-
 .../proto/GridHadoopProtocolJobStatusTask.java  |    7 +-
 .../hadoop/shuffle/GridHadoopShuffle.java       |    2 +-
 .../hadoop/shuffle/GridHadoopShuffleJob.java    |    7 +-
 .../GridHadoopExternalTaskExecutor.java         |   16 +-
 .../child/GridHadoopChildProcessRunner.java     |   18 +-
 .../GridGgfsHadoopFileSystemClientSelfTest.java |    2 +-
 .../hadoop/GridHadoopPopularWordsTest.java      |    4 +-
 ...idHadoopDefaultMapReducePlannerSelfTest.java |   12 +-
 .../hadoop/GridHadoopJobTrackerSelfTest.java    |    5 +-
 .../GridHadoopMapReduceEmbeddedSelfTest.java    |    4 +-
 .../hadoop/GridHadoopMapReduceTest.java         |    4 +-
 .../hadoop/GridHadoopTaskExecutionSelfTest.java |   12 +-
 .../GridHadoopExecutorServiceTest.java          |    4 +-
 ...GridHadoopExternalTaskExecutionSelfTest.java |    6 +-
 .../ggfs/GridGgfsPerformanceBenchmark.java      |    4 +-
 modules/hibernate/readme.txt                    |   14 +-
 .../hibernate/GridHibernateRegionFactory.java   |   10 +-
 modules/indexing/readme.txt                     |   12 +-
 .../processors/query/h2/IgniteH2Indexing.java   |    4 +-
 .../h2/twostep/GridReduceQueryExecutor.java     |    2 +-
 .../cache/GridCacheOffHeapAndSwapSelfTest.java  |    8 +-
 ...idCacheReduceQueryMultithreadedSelfTest.java |    6 +-
 .../cache/IgniteCacheAbstractQuerySelfTest.java |    6 +-
 .../cache/IgniteCacheQueryLoadSelfTest.java     |    2 +-
 .../IgniteCacheQueryMultiThreadedSelfTest.java  |   30 +-
 .../IgniteCacheQueryNodeRestartSelfTest.java    |    5 +-
 ...gniteCacheReplicatedFieldsQuerySelfTest.java |    9 -
 .../IgniteCacheReplicatedQuerySelfTest.java     |    8 +-
 .../query/h2/GridH2IndexRebuildTest.java        |    7 +-
 .../query/h2/GridH2IndexingGeoSelfTest.java     |    6 +-
 .../query/h2/sql/GridQueryParsingTest.java      |    2 +-
 .../tcp/GridOrderedMessageCancelSelfTest.java   |    4 +-
 modules/jcl/readme.txt                          |   12 +-
 modules/jta/readme.txt                          |   12 +-
 .../GridTmLookupLifecycleAwareSelfTest.java     |    2 +-
 modules/log4j/readme.txt                        |   12 +-
 modules/rest-http/readme.txt                    |   12 +-
 modules/scalar/readme.txt                       |    8 +-
 .../scalar/pimps/ScalarProjectionPimp.scala     |   25 +-
 modules/schedule/readme.txt                     |   12 +-
 .../processors/schedule/ScheduleFutureImpl.java |   22 +-
 .../schedule/GridScheduleSelfTest.java          |   13 +-
 modules/slf4j/readme.txt                        |   12 +-
 modules/spring/readme.txt                       |   12 +-
 .../java/org/apache/ignite/IgniteSpring.java    |    8 +-
 .../cache/spring/SpringDynamicCacheManager.java |    2 +-
 modules/ssh/readme.txt                          |   12 +-
 modules/urideploy/readme.txt                    |   12 +-
 .../GridTaskUriDeploymentDeadlockSelfTest.java  |    2 +-
 .../scala/org/apache/ignite/visor/visor.scala   |    6 +-
 modules/web/readme.txt                          |   16 +-
 .../GridServletContextListenerStartup.java      |    4 +-
 .../startup/servlet/GridServletStartup.java     |    4 +-
 .../internal/websession/WebSessionSelfTest.java |    4 +-
 527 files changed, 11402 insertions(+), 10528 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0a800b1a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheProxy.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0a800b1a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/IgniteCachePartitionedQueryMultiThreadedSelfTest.java
----------------------------------------------------------------------
diff --cc 
modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/IgniteCachePartitionedQueryMultiThreadedSelfTest.java
index db807cc,0000000..0053ae3
mode 100644,000000..100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/IgniteCachePartitionedQueryMultiThreadedSelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/IgniteCachePartitionedQueryMultiThreadedSelfTest.java
@@@ -1,305 -1,0 +1,305 @@@
 +/*
 + * Licensed to the Apache Software Foundation (ASF) under one or more
 + * contributor license agreements.  See the NOTICE file distributed with
 + * this work for additional information regarding copyright ownership.
 + * The ASF licenses this file to You under the Apache License, Version 2.0
 + * (the "License"); you may not use this file except in compliance with
 + * the License.  You may obtain a copy of the License at
 + *
 + *      http://www.apache.org/licenses/LICENSE-2.0
 + *
 + * Unless required by applicable law or agreed to in writing, software
 + * distributed under the License is distributed on an "AS IS" BASIS,
 + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 + * See the License for the specific language governing permissions and
 + * limitations under the License.
 + */
 +
 +package org.apache.ignite.internal.processors.cache.distributed.near;
 +
 +import org.apache.ignite.*;
 +import org.apache.ignite.cache.*;
 +import org.apache.ignite.cache.query.*;
 +import org.apache.ignite.configuration.*;
- import org.apache.ignite.lang.*;
++import org.apache.ignite.internal.*;
 +import org.apache.ignite.spi.discovery.tcp.*;
 +import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
 +import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
 +import org.apache.ignite.internal.util.tostring.*;
 +import org.apache.ignite.internal.util.typedef.*;
 +import org.apache.ignite.internal.util.typedef.internal.*;
 +import org.apache.ignite.testframework.*;
 +import org.apache.ignite.testframework.junits.common.*;
 +
 +import javax.cache.*;
 +import java.io.*;
 +import java.util.*;
 +import java.util.concurrent.atomic.*;
 +
 +import static org.apache.ignite.cache.CacheAtomicityMode.*;
 +import static org.apache.ignite.cache.CacheDistributionMode.*;
 +import static org.apache.ignite.cache.CacheMode.*;
 +
 +/**
 + * Tests for partitioned cache queries.
 + */
 +public class IgniteCachePartitionedQueryMultiThreadedSelfTest extends 
GridCommonAbstractTest {
 +    /** */
 +    private static final boolean TEST_INFO = true;
 +
 +    /** Number of test grids (nodes). Should not be less than 2. */
 +    private static final int GRID_CNT = 3;
 +
 +    /** */
 +    private static TcpDiscoveryIpFinder ipFinder = new 
TcpDiscoveryVmIpFinder(true);
 +
 +    /** Don't start grid by default. */
 +    public IgniteCachePartitionedQueryMultiThreadedSelfTest() {
 +        super(false);
 +    }
 +
 +    /** {@inheritDoc} */
 +    @Override protected IgniteConfiguration getConfiguration(String gridName) 
throws Exception {
 +        IgniteConfiguration c = super.getConfiguration(gridName);
 +
 +        TcpDiscoverySpi disco = new TcpDiscoverySpi();
 +
 +        disco.setIpFinder(ipFinder);
 +
 +        c.setDiscoverySpi(disco);
 +
 +        CacheConfiguration cc = defaultCacheConfiguration();
 +
 +        cc.setCacheMode(PARTITIONED);
 +
 +        // Query should be executed without ongoing transactions.
 +        
cc.setWriteSynchronizationMode(CacheWriteSynchronizationMode.FULL_SYNC);
 +        cc.setBackups(0);
 +        cc.setPreloadMode(CachePreloadMode.SYNC);
 +        cc.setAtomicityMode(TRANSACTIONAL);
 +        cc.setDistributionMode(NEAR_PARTITIONED);
 +
 +        c.setCacheConfiguration(cc);
 +
 +        return c;
 +    }
 +
 +    /** {@inheritDoc} */
 +    @Override protected void beforeTestsStarted() throws Exception {
 +        assert GRID_CNT >= 2 : "Constant GRID_CNT must be greater than or 
equal to 2.";
 +
 +        startGridsMultiThreaded(GRID_CNT);
 +    }
 +
 +    /** {@inheritDoc} */
 +    @Override protected void afterTestsStopped() throws Exception {
 +        stopAllGrids();
 +    }
 +
 +    /** {@inheritDoc} */
 +    @Override protected void afterTest() throws Exception {
 +        super.afterTest();
 +
 +        // Clean up all caches.
 +        for (int i = 0; i < GRID_CNT; i++)
 +            grid(i).cache(null).removeAll(F.<CacheEntry<Object, 
Object>>alwaysTrue());
 +    }
 +
 +    /** {@inheritDoc} */
 +    @Override protected void info(String msg) {
 +        if (TEST_INFO)
 +            super.info(msg);
 +    }
 +
 +    /**
 +     * JUnit.
 +     *
 +     * @throws Exception If failed.
 +     */
 +    @SuppressWarnings({"TooBroadScope"})
 +    public void testLuceneAndSqlMultithreaded() throws Exception {
 +        // ---------- Test parameters ---------- //
 +        int luceneThreads = 10;
 +        int sqlThreads = 10;
 +        long duration = 10 * 1000;
 +        final int logMod = 100;
 +
 +        final Person p1 = new Person("Jon", 1500, "Master");
 +        final Person p2 = new Person("Jane", 2000, "Master");
 +        final Person p3 = new Person("Mike", 1800, "Bachelor");
 +        final Person p4 = new Person("Bob", 1900, "Bachelor");
 +
 +        final IgniteCache<UUID, Person> cache0 = grid(0).jcache(null);
 +
 +        cache0.put(p1.id(), p1);
 +        cache0.put(p2.id(), p2);
 +        cache0.put(p3.id(), p3);
 +        cache0.put(p4.id(), p4);
 +
 +        assertEquals(4, cache0.size());
 +
 +        assert grid(0).nodes().size() == GRID_CNT;
 +
 +        final AtomicBoolean done = new AtomicBoolean();
 +
 +        final AtomicLong luceneCnt = new AtomicLong();
 +
 +        // Start lucene query threads.
-         IgniteFuture<?> futLucene = GridTestUtils.runMultiThreadedAsync(new 
CAX() {
++        IgniteInternalFuture<?> futLucene = 
GridTestUtils.runMultiThreadedAsync(new CAX() {
 +            @Override public void applyx() throws IgniteCheckedException {
 +                while (!done.get()) {
 +                    QueryCursor<Cache.Entry<UUID, Person>> master =
 +                        cache0.query(new QueryTextPredicate<UUID, 
Person>("Master"));
 +
 +                    Collection<Cache.Entry<UUID, Person>> entries = 
master.getAll();
 +
 +                    checkResult(entries, p1, p2);
 +
 +                    long cnt = luceneCnt.incrementAndGet();
 +
 +                    if (cnt % logMod == 0)
 +                        info("Executed LUCENE queries: " + cnt);
 +                }
 +            }
 +        }, luceneThreads, "LUCENE-THREAD");
 +
 +        final AtomicLong sqlCnt = new AtomicLong();
 +
 +        // Start sql query threads.
-         IgniteFuture<?> futSql = GridTestUtils.runMultiThreadedAsync(new 
CAX() {
++        IgniteInternalFuture<?> futSql = 
GridTestUtils.runMultiThreadedAsync(new CAX() {
 +            @Override public void applyx() throws IgniteCheckedException {
 +                while (!done.get()) {
 +                    QueryCursor<Cache.Entry<UUID, Person>> bachelors =
 +                            cache0.query(new QuerySqlPredicate<UUID, 
Person>("degree = 'Bachelor'"));
 +
 +                    Collection<Cache.Entry<UUID, Person>> entries = 
bachelors.getAll();
 +
 +                    checkResult(entries, p3, p4);
 +
 +                    long cnt = sqlCnt.incrementAndGet();
 +
 +                    if (cnt % logMod == 0)
 +                        info("Executed SQL queries: " + cnt);
 +                }
 +            }
 +        }, sqlThreads, "SQL-THREAD");
 +
 +        Thread.sleep(duration);
 +
 +        done.set(true);
 +
 +        futLucene.get();
 +        futSql.get();
 +    }
 +
 +    /**
 +     * @param entries Queried result.
 +     * @param persons Persons that should be in the result.
 +     */
 +    private void checkResult(Iterable<Cache.Entry<UUID, Person>> entries, 
Person... persons) {
 +        for (Cache.Entry<UUID, Person> entry : entries) {
 +            assertEquals(entry.getKey(), entry.getValue().id());
 +
 +            assert F.<Person>asList(persons).contains(entry.getValue());
 +        }
 +    }
 +
 +    /** Test class. */
 +    private static class Person implements Externalizable {
 +        /** */
 +        @GridToStringExclude
 +        private UUID id = UUID.randomUUID();
 +
 +        /** */
 +        @CacheQuerySqlField
 +        private String name;
 +
 +        /** */
 +        @CacheQuerySqlField
 +        private int salary;
 +
 +        /** */
 +        @CacheQuerySqlField
 +        @CacheQueryTextField
 +        private String degree;
 +
 +        /** Required by {@link Externalizable}. */
 +        public Person() {
 +            // No-op.
 +        }
 +
 +        /**
 +         * @param name Name.
 +         * @param salary Salary.
 +         * @param degree Degree.
 +         */
 +        Person(String name, int salary, String degree) {
 +            assert name != null;
 +            assert salary > 0;
 +            assert degree != null;
 +
 +            this.name = name;
 +            this.salary = salary;
 +            this.degree = degree;
 +        }
 +
 +        /** @return Id. */
 +        UUID id() {
 +            return id;
 +        }
 +
 +        /** @return Name. */
 +        String name() {
 +            return name;
 +        }
 +
 +        /** @return Salary. */
 +        double salary() {
 +            return salary;
 +        }
 +
 +        /** @return Degree. */
 +        String degree() {
 +            return degree;
 +        }
 +
 +        /** {@inheritDoc} */
 +        @Override public void writeExternal(ObjectOutput out) throws 
IOException {
 +            U.writeUuid(out, id);
 +            U.writeString(out, name);
 +            out.writeInt(salary);
 +            U.writeString(out, degree);
 +        }
 +
 +        /** {@inheritDoc} */
 +        @Override public void readExternal(ObjectInput in) throws 
IOException, ClassNotFoundException {
 +            id = U.readUuid(in);
 +            name = U.readString(in);
 +            salary = in.readInt();
 +            degree = U.readString(in);
 +        }
 +
 +        /** {@inheritDoc} */
 +        @Override public int hashCode() {
 +            return id.hashCode() + 31 * name.hashCode() + 31 * 31 * salary;
 +        }
 +
 +        /** {@inheritDoc} */
 +        @Override public boolean equals(Object obj) {
 +            if (obj == this)
 +                return true;
 +
 +            if (!(obj instanceof Person))
 +                return false;
 +
 +            Person that = (Person)obj;
 +
 +            return that.id.equals(id) && that.name.equals(name) && 
that.salary == salary && that.degree.equals(degree);
 +        }
 +
 +        /** {@inheritDoc} */
 +        @Override public String toString() {
 +            return S.toString(Person.class, this);
 +        }
 +    }
 +}

Reply via email to