http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/configuration/FileSystemConfiguration.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/configuration/FileSystemConfiguration.java b/modules/core/src/main/java/org/apache/ignite/configuration/FileSystemConfiguration.java index 1a8d576..75e9f7d 100644 --- a/modules/core/src/main/java/org/apache/ignite/configuration/FileSystemConfiguration.java +++ b/modules/core/src/main/java/org/apache/ignite/configuration/FileSystemConfiguration.java @@ -249,9 +249,12 @@ public class FileSystemConfiguration { * Sets IGFS instance name. * * @param name IGFS instance name. + * @return {@code this} for chaining. */ - public void setName(String name) { + public FileSystemConfiguration setName(String name) { this.name = name; + + return this; } /** @@ -275,9 +278,12 @@ public class FileSystemConfiguration { * </ul> * * @param metaCacheCfg Cache configuration object. + * @return {@code this} for chaining. */ - public void setMetaCacheConfiguration(CacheConfiguration metaCacheCfg) { + public FileSystemConfiguration setMetaCacheConfiguration(CacheConfiguration metaCacheCfg) { this.metaCacheCfg = metaCacheCfg; + + return this; } /** @@ -301,9 +307,12 @@ public class FileSystemConfiguration { * </ul> * * @param dataCacheCfg Cache configuration object. + * @return {@code this} for chaining. */ - public void setDataCacheConfiguration(CacheConfiguration dataCacheCfg) { + public FileSystemConfiguration setDataCacheConfiguration(CacheConfiguration dataCacheCfg) { this.dataCacheCfg = dataCacheCfg; + + return this; } /** @@ -319,11 +328,14 @@ public class FileSystemConfiguration { * Sets file's data block size. * * @param blockSize File's data block size (bytes) or {@code 0} to reset default value. + * @return {@code this} for chaining. */ - public void setBlockSize(int blockSize) { + public FileSystemConfiguration setBlockSize(int blockSize) { A.ensure(blockSize >= 0, "blockSize >= 0"); this.blockSize = blockSize == 0 ? DFLT_BLOCK_SIZE : blockSize; + + return this; } /** @@ -339,11 +351,14 @@ public class FileSystemConfiguration { * Sets the number of pre-fetched blocks if specific file's chunk is requested. * * @param prefetchBlocks New number of pre-fetched blocks. + * @return {@code this} for chaining. */ - public void setPrefetchBlocks(int prefetchBlocks) { + public FileSystemConfiguration setPrefetchBlocks(int prefetchBlocks) { A.ensure(prefetchBlocks >= 0, "prefetchBlocks >= 0"); this.prefetchBlocks = prefetchBlocks; + + return this; } /** @@ -381,11 +396,14 @@ public class FileSystemConfiguration { * <b>NOTE:</b> Integration with Hadoop is available only in {@code In-Memory Accelerator For Hadoop} edition. * * @param seqReadsBeforePrefetch Amount of sequential block reads before prefetch is triggered. + * @return {@code this} for chaining. */ - public void setSequentialReadsBeforePrefetch(int seqReadsBeforePrefetch) { + public FileSystemConfiguration setSequentialReadsBeforePrefetch(int seqReadsBeforePrefetch) { A.ensure(seqReadsBeforePrefetch >= 0, "seqReadsBeforePrefetch >= 0"); this.seqReadsBeforePrefetch = seqReadsBeforePrefetch; + + return this; } /** @@ -401,11 +419,14 @@ public class FileSystemConfiguration { * Sets read/write buffers size for {@code IGFS} stream operations (bytes). * * @param bufSize Read/write buffers size for stream operations (bytes) or {@code 0} to reset default value. + * @return {@code this} for chaining. */ - public void setStreamBufferSize(int bufSize) { + public FileSystemConfiguration setStreamBufferSize(int bufSize) { A.ensure(bufSize >= 0, "bufSize >= 0"); this.bufSize = bufSize == 0 ? DFLT_BUF_SIZE : bufSize; + + return this; } /** @@ -421,9 +442,12 @@ public class FileSystemConfiguration { * Sets number of file blocks collected on local node before sending batch to remote node. * * @param perNodeBatchSize Per node buffer size. + * @return {@code this} for chaining. */ - public void setPerNodeBatchSize(int perNodeBatchSize) { + public FileSystemConfiguration setPerNodeBatchSize(int perNodeBatchSize) { this.perNodeBatchSize = perNodeBatchSize; + + return this; } /** @@ -439,9 +463,12 @@ public class FileSystemConfiguration { * Sets number of file block batches that can be concurrently sent to remote node. * * @param perNodeParallelBatchCnt Per node parallel load operations. + * @return {@code this} for chaining. */ - public void setPerNodeParallelBatchCount(int perNodeParallelBatchCnt) { + public FileSystemConfiguration setPerNodeParallelBatchCount(int perNodeParallelBatchCnt) { this.perNodeParallelBatchCnt = perNodeParallelBatchCnt; + + return this; } /** @@ -463,9 +490,12 @@ public class FileSystemConfiguration { * Hadoop Accelerator</b>. * * @param ipcEndpointCfg IPC endpoint configuration. + * @return {@code this} for chaining. */ - public void setIpcEndpointConfiguration(@Nullable IgfsIpcEndpointConfiguration ipcEndpointCfg) { + public FileSystemConfiguration setIpcEndpointConfiguration(@Nullable IgfsIpcEndpointConfiguration ipcEndpointCfg) { this.ipcEndpointCfg = ipcEndpointCfg; + + return this; } /** @@ -488,9 +518,12 @@ public class FileSystemConfiguration { * Hadoop Accelerator</b>. * * @param ipcEndpointEnabled IPC endpoint enabled flag. + * @return {@code this} for chaining. */ - public void setIpcEndpointEnabled(boolean ipcEndpointEnabled) { + public FileSystemConfiguration setIpcEndpointEnabled(boolean ipcEndpointEnabled) { this.ipcEndpointEnabled = ipcEndpointEnabled; + + return this; } /** @@ -509,9 +542,12 @@ public class FileSystemConfiguration { * Sets management endpoint port. * * @param mgmtPort port number or {@code -1} to disable management endpoint. + * @return {@code this} for chaining. */ - public void setManagementPort(int mgmtPort) { + public FileSystemConfiguration setManagementPort(int mgmtPort) { this.mgmtPort = mgmtPort; + + return this; } /** @@ -534,9 +570,12 @@ public class FileSystemConfiguration { * for pass-through, write-through, and read-through purposes. * * @param dfltMode {@code IGFS} mode. + * @return {@code this} for chaining. */ - public void setDefaultMode(IgfsMode dfltMode) { + public FileSystemConfiguration setDefaultMode(IgfsMode dfltMode) { this.dfltMode = dfltMode; + + return this; } /** @@ -554,9 +593,12 @@ public class FileSystemConfiguration { * and read-through purposes. * * @param fileSystem Secondary file system. + * @return {@code this} for chaining. */ - public void setSecondaryFileSystem(IgfsSecondaryFileSystem fileSystem) { + public FileSystemConfiguration setSecondaryFileSystem(IgfsSecondaryFileSystem fileSystem) { secondaryFs = fileSystem; + + return this; } /** @@ -587,9 +629,12 @@ public class FileSystemConfiguration { * {@link #getDefaultMode()} is used. * * @param pathModes Map of paths to {@code IGFS} modes. + * @return {@code this} for chaining. */ - public void setPathModes(Map<String, IgfsMode> pathModes) { + public FileSystemConfiguration setPathModes(Map<String, IgfsMode> pathModes) { this.pathModes = pathModes; + + return this; } /** @@ -605,15 +650,19 @@ public class FileSystemConfiguration { * Sets length of file chunk to transmit before throttling is delayed. * * @param fragmentizerThrottlingBlockLen Block length in bytes. + * @return {@code this} for chaining. */ - public void setFragmentizerThrottlingBlockLength(long fragmentizerThrottlingBlockLen) { + public FileSystemConfiguration setFragmentizerThrottlingBlockLength(long fragmentizerThrottlingBlockLen) { this.fragmentizerThrottlingBlockLen = fragmentizerThrottlingBlockLen; + + return this; } /** * Gets throttle delay for fragmentizer. * * @return Throttle delay in milliseconds. + * @return {@code this} for chaining. */ public long getFragmentizerThrottlingDelay() { return fragmentizerThrottlingDelay; @@ -624,14 +673,17 @@ public class FileSystemConfiguration { * * @param fragmentizerThrottlingDelay Delay in milliseconds. */ - public void setFragmentizerThrottlingDelay(long fragmentizerThrottlingDelay) { + public FileSystemConfiguration setFragmentizerThrottlingDelay(long fragmentizerThrottlingDelay) { this.fragmentizerThrottlingDelay = fragmentizerThrottlingDelay; + + return this; } /** * Gets number of files that can be processed by fragmentizer concurrently. * * @return Number of files to process concurrently. + * @return {@code this} for chaining. */ public int getFragmentizerConcurrentFiles() { return fragmentizerConcurrentFiles; @@ -641,9 +693,12 @@ public class FileSystemConfiguration { * Sets number of files to process concurrently by fragmentizer. * * @param fragmentizerConcurrentFiles Number of files to process concurrently. + * @return {@code this} for chaining. */ - public void setFragmentizerConcurrentFiles(int fragmentizerConcurrentFiles) { + public FileSystemConfiguration setFragmentizerConcurrentFiles(int fragmentizerConcurrentFiles) { this.fragmentizerConcurrentFiles = fragmentizerConcurrentFiles; + + return this; } /** @@ -672,10 +727,13 @@ public class FileSystemConfiguration { * @see #getFragmentizerLocalWritesRatio() * * @deprecated Parameter is no longer used. + * @return {@code this} for chaining. */ @Deprecated - public void setFragmentizerLocalWritesRatio(float fragmentizerLocWritesRatio) { + public FileSystemConfiguration setFragmentizerLocalWritesRatio(float fragmentizerLocWritesRatio) { this.fragmentizerLocWritesRatio = fragmentizerLocWritesRatio; + + return this; } /** @@ -692,9 +750,12 @@ public class FileSystemConfiguration { * Sets property indicating whether fragmentizer is enabled. * * @param fragmentizerEnabled {@code True} if fragmentizer is enabled. + * @return {@code this} for chaining. */ - public void setFragmentizerEnabled(boolean fragmentizerEnabled) { + public FileSystemConfiguration setFragmentizerEnabled(boolean fragmentizerEnabled) { this.fragmentizerEnabled = fragmentizerEnabled; + + return this; } /** @@ -710,9 +771,12 @@ public class FileSystemConfiguration { * Set maximum space in bytes available in data cache. * * @param maxSpace Maximum space available in data cache. + * @return {@code this} for chaining. */ - public void setMaxSpaceSize(long maxSpace) { + public FileSystemConfiguration setMaxSpaceSize(long maxSpace) { this.maxSpace = maxSpace; + + return this; } /** @@ -731,10 +795,13 @@ public class FileSystemConfiguration { * * @param trashPurgeTimeout Maximum timeout awaiting for trash purging in case data cache oversize is detected. * @deprecated Not used any more. + * @return {@code this} for chaining. */ @Deprecated - public void setTrashPurgeTimeout(long trashPurgeTimeout) { + public FileSystemConfiguration setTrashPurgeTimeout(long trashPurgeTimeout) { this.trashPurgeTimeout = trashPurgeTimeout; + + return this; } /** @@ -756,10 +823,13 @@ public class FileSystemConfiguration { * * @param dualModePutExec Dual mode put operations executor service. * @deprecated Not used any more. + * @return {@code this} for chaining. */ @Deprecated - public void setDualModePutExecutorService(ExecutorService dualModePutExec) { + public FileSystemConfiguration setDualModePutExecutorService(ExecutorService dualModePutExec) { this.dualModePutExec = dualModePutExec; + + return this; } /** @@ -778,10 +848,13 @@ public class FileSystemConfiguration { * * @param dualModePutExecShutdown Dual mode put operations executor service shutdown flag. * @deprecated Not used any more. + * @return {@code this} for chaining. */ @Deprecated - public void setDualModePutExecutorServiceShutdown(boolean dualModePutExecShutdown) { + public FileSystemConfiguration setDualModePutExecutorServiceShutdown(boolean dualModePutExecShutdown) { this.dualModePutExecShutdown = dualModePutExecShutdown; + + return this; } /** @@ -805,10 +878,13 @@ public class FileSystemConfiguration { * * @param dualModeMaxPendingPutsSize Maximum amount of data in pending put operations. * @deprecated Not used any more. + * @return {@code this} for chaining. */ @Deprecated - public void setDualModeMaxPendingPutsSize(long dualModeMaxPendingPutsSize) { + public FileSystemConfiguration setDualModeMaxPendingPutsSize(long dualModeMaxPendingPutsSize) { this.dualModeMaxPendingPutsSize = dualModeMaxPendingPutsSize; + + return this; } /** @@ -846,9 +922,12 @@ public class FileSystemConfiguration { * See {@link #getMaximumTaskRangeLength()} for more details. * * @param maxTaskRangeLen Set maximum default range size of a file being split during IGFS task execution. + * @return {@code this} for chaining. */ - public void setMaximumTaskRangeLength(long maxTaskRangeLen) { + public FileSystemConfiguration setMaximumTaskRangeLength(long maxTaskRangeLen) { this.maxTaskRangeLen = maxTaskRangeLen; + + return this; } /** @@ -880,9 +959,12 @@ public class FileSystemConfiguration { * See {@link #isInitializeDefaultPathModes()} for more information. * * @param initDfltPathModes Whether to initialize default path modes. + * @return {@code this} for chaining. */ - public void setInitializeDefaultPathModes(boolean initDfltPathModes) { + public FileSystemConfiguration setInitializeDefaultPathModes(boolean initDfltPathModes) { this.initDfltPathModes = initDfltPathModes; + + return this; } /** @@ -919,9 +1001,12 @@ public class FileSystemConfiguration { * See {@link #isColocateMetadata()} for more information. * * @param colocateMeta Whether metadata co-location is enabled. + * @return {@code this} for chaining. */ - public void setColocateMetadata(boolean colocateMeta) { + public FileSystemConfiguration setColocateMetadata(boolean colocateMeta) { this.colocateMeta = colocateMeta; + + return this; } /** @@ -956,9 +1041,12 @@ public class FileSystemConfiguration { * See {@link #isColocateMetadata()} for more information. * * @param relaxedConsistency Whether to use relaxed consistency optimization. + * @return {@code this} for chaining. */ - public void setRelaxedConsistency(boolean relaxedConsistency) { + public FileSystemConfiguration setRelaxedConsistency(boolean relaxedConsistency) { this.relaxedConsistency = relaxedConsistency; + + return this; } /** @@ -982,9 +1070,12 @@ public class FileSystemConfiguration { * Set {@link #isUpdateFileLengthOnFlush()} for more information. * * @param updateFileLenOnFlush Whether to update file length on flush. + * @return {@code this} for chaining. */ - public void setUpdateFileLengthOnFlush(boolean updateFileLenOnFlush) { + public FileSystemConfiguration setUpdateFileLengthOnFlush(boolean updateFileLenOnFlush) { this.updateFileLenOnFlush = updateFileLenOnFlush; + + return this; } /** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/configuration/HadoopConfiguration.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/configuration/HadoopConfiguration.java b/modules/core/src/main/java/org/apache/ignite/configuration/HadoopConfiguration.java index 6443a67..8d8e96c 100644 --- a/modules/core/src/main/java/org/apache/ignite/configuration/HadoopConfiguration.java +++ b/modules/core/src/main/java/org/apache/ignite/configuration/HadoopConfiguration.java @@ -92,9 +92,12 @@ public class HadoopConfiguration { * Sets max number of local tasks that may be executed in parallel. * * @param maxParallelTasks Max number of local tasks that may be executed in parallel. + * @return {@code this} for chaining. */ - public void setMaxParallelTasks(int maxParallelTasks) { + public HadoopConfiguration setMaxParallelTasks(int maxParallelTasks) { this.maxParallelTasks = maxParallelTasks; + + return this; } /** @@ -110,9 +113,12 @@ public class HadoopConfiguration { * Sets max task queue size. * * @param maxTaskQueueSize Max task queue size. + * @return {@code this} for chaining. */ - public void setMaxTaskQueueSize(int maxTaskQueueSize) { + public HadoopConfiguration setMaxTaskQueueSize(int maxTaskQueueSize) { this.maxTaskQueueSize = maxTaskQueueSize; + + return this; } /** @@ -128,9 +134,12 @@ public class HadoopConfiguration { * Sets finished job info time-to-live. * * @param finishedJobInfoTtl Finished job info time-to-live. + * @return {@code this} for chaining. */ - public void setFinishedJobInfoTtl(long finishedJobInfoTtl) { + public HadoopConfiguration setFinishedJobInfoTtl(long finishedJobInfoTtl) { this.finishedJobInfoTtl = finishedJobInfoTtl; + + return this; } /** @@ -149,10 +158,14 @@ public class HadoopConfiguration { * * @param extExecution {@code True} if tasks should be executed in an external process. * @see #isExternalExecution() + * @return {@code this} for chaining. */ // TODO: IGNITE-404: Uncomment when fixed. -// public void setExternalExecution(boolean extExecution) { +// +// public HadoopConfiguration setExternalExecution(boolean extExecution) { // this.extExecution = extExecution; +// +// return this; // } /** @@ -170,9 +183,12 @@ public class HadoopConfiguration { * configuration and current grid topology. * * @param planner Map-reduce planner. + * @return {@code this} for chaining. */ - public void setMapReducePlanner(HadoopMapReducePlanner planner) { + public HadoopConfiguration setMapReducePlanner(HadoopMapReducePlanner planner) { this.planner = planner; + + return this; } /** @@ -199,9 +215,12 @@ public class HadoopConfiguration { * Set native library names. See {@link #getNativeLibraryNames()} for more information. * * @param libNames Native library names. + * @return {@code this} for chaining. */ - public void setNativeLibraryNames(@Nullable String... libNames) { + public HadoopConfiguration setNativeLibraryNames(@Nullable String... libNames) { this.libNames = libNames; + + return this; } /** {@inheritDoc} */ http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/configuration/NearCacheConfiguration.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/configuration/NearCacheConfiguration.java b/modules/core/src/main/java/org/apache/ignite/configuration/NearCacheConfiguration.java index 3c59bd6..7c948dc 100644 --- a/modules/core/src/main/java/org/apache/ignite/configuration/NearCacheConfiguration.java +++ b/modules/core/src/main/java/org/apache/ignite/configuration/NearCacheConfiguration.java @@ -17,7 +17,11 @@ package org.apache.ignite.configuration; +import javax.cache.configuration.Factory; import javax.cache.configuration.MutableConfiguration; +import javax.cache.expiry.ExpiryPolicy; +import javax.cache.integration.CacheLoader; +import javax.cache.integration.CacheWriter; import org.apache.ignite.cache.CacheMode; import org.apache.ignite.cache.eviction.EvictionPolicy; import org.apache.ignite.internal.util.typedef.internal.S; @@ -108,6 +112,52 @@ public class NearCacheConfiguration<K, V> extends MutableConfiguration<K, V> { } /** {@inheritDoc} */ + @Override public CacheConfiguration<K, V> setTypes(Class<K> keyType, Class<V> valueType) { + return (CacheConfiguration<K, V>)super.setTypes(keyType, valueType); + } + + /** {@inheritDoc} */ + @Override public CacheConfiguration<K, V> setCacheLoaderFactory(Factory<? extends CacheLoader<K, V>> factory) { + return (CacheConfiguration<K, V>)super.setCacheLoaderFactory(factory); + } + + /** {@inheritDoc} */ + @Override public CacheConfiguration<K, V> setCacheWriterFactory( + Factory<? extends CacheWriter<? super K, ? super V>> factory) { + return (CacheConfiguration<K, V>)super.setCacheWriterFactory(factory); + } + + /** {@inheritDoc} */ + @Override public CacheConfiguration<K, V> setExpiryPolicyFactory(Factory<? extends ExpiryPolicy> factory) { + return (CacheConfiguration<K, V>)super.setExpiryPolicyFactory(factory); + } + + /** {@inheritDoc} */ + @Override public CacheConfiguration<K, V> setReadThrough(boolean isReadThrough) { + return (CacheConfiguration<K, V>)super.setReadThrough(isReadThrough); + } + + /** {@inheritDoc} */ + @Override public CacheConfiguration<K, V> setWriteThrough(boolean isWriteThrough) { + return (CacheConfiguration<K, V>)super.setWriteThrough(isWriteThrough); + } + + /** {@inheritDoc} */ + @Override public CacheConfiguration<K, V> setStoreByValue(boolean isStoreByValue) { + return (CacheConfiguration<K, V>)super.setStoreByValue(isStoreByValue); + } + + /** {@inheritDoc} */ + @Override public CacheConfiguration<K, V> setStatisticsEnabled(boolean enabled) { + return (CacheConfiguration<K, V>)super.setStatisticsEnabled(enabled); + } + + /** {@inheritDoc} */ + @Override public CacheConfiguration<K, V> setManagementEnabled(boolean enabled) { + return (CacheConfiguration<K, V>)super.setManagementEnabled(enabled); + } + + /** {@inheritDoc} */ @Override public String toString() { return S.toString(NearCacheConfiguration.class, this, super.toString()); } http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/configuration/TransactionConfiguration.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/configuration/TransactionConfiguration.java b/modules/core/src/main/java/org/apache/ignite/configuration/TransactionConfiguration.java index 440e00a..0063afc 100644 --- a/modules/core/src/main/java/org/apache/ignite/configuration/TransactionConfiguration.java +++ b/modules/core/src/main/java/org/apache/ignite/configuration/TransactionConfiguration.java @@ -113,10 +113,13 @@ public class TransactionConfiguration implements Serializable { * @param txSerEnabled Flag to enable/disable serializable cache transactions. * @deprecated This method has no effect, {@link TransactionIsolation#SERIALIZABLE} isolation is always enabled. + * @return {@code this} for chaining. */ @Deprecated - public void setTxSerializableEnabled(boolean txSerEnabled) { + public TransactionConfiguration setTxSerializableEnabled(boolean txSerEnabled) { this.txSerEnabled = txSerEnabled; + + return this; } /** @@ -134,9 +137,12 @@ public class TransactionConfiguration implements Serializable { * Sets default transaction concurrency. * * @param dfltConcurrency Default cache transaction concurrency. + * @return {@code this} for chaining. */ - public void setDefaultTxConcurrency(TransactionConcurrency dfltConcurrency) { + public TransactionConfiguration setDefaultTxConcurrency(TransactionConcurrency dfltConcurrency) { this.dfltConcurrency = dfltConcurrency; + + return this; } /** @@ -154,9 +160,12 @@ public class TransactionConfiguration implements Serializable { * Sets default transaction isolation. * * @param dfltIsolation Default cache transaction isolation. + * @return {@code this} for chaining. */ - public void setDefaultTxIsolation(TransactionIsolation dfltIsolation) { + public TransactionConfiguration setDefaultTxIsolation(TransactionIsolation dfltIsolation) { this.dfltIsolation = dfltIsolation; + + return this; } /** @@ -174,9 +183,12 @@ public class TransactionConfiguration implements Serializable { * #DFLT_TRANSACTION_TIMEOUT}. * * @param dfltTxTimeout Default transaction timeout. + * @return {@code this} for chaining. */ - public void setDefaultTxTimeout(long dfltTxTimeout) { + public TransactionConfiguration setDefaultTxTimeout(long dfltTxTimeout) { this.dfltTxTimeout = dfltTxTimeout; + + return this; } /** @@ -196,9 +208,12 @@ public class TransactionConfiguration implements Serializable { * * @param pessimisticTxLogSize Pessimistic transactions log size. * @see #getPessimisticTxLogSize() + * @return {@code this} for chaining. */ - public void setPessimisticTxLogSize(int pessimisticTxLogSize) { + public TransactionConfiguration setPessimisticTxLogSize(int pessimisticTxLogSize) { this.pessimisticTxLogSize = pessimisticTxLogSize; + + return this; } /** @@ -217,9 +232,12 @@ public class TransactionConfiguration implements Serializable { * * @param pessimisticTxLogLinger Pessimistic log cleanup delay. * @see #getPessimisticTxLogLinger() + * @return {@code this} for chaining. */ - public void setPessimisticTxLogLinger(int pessimisticTxLogLinger) { + public TransactionConfiguration setPessimisticTxLogLinger(int pessimisticTxLogLinger) { this.pessimisticTxLogLinger = pessimisticTxLogLinger; + + return this; } /** @@ -239,10 +257,13 @@ public class TransactionConfiguration implements Serializable { * @param tmLookupClsName Name of class implementing GridCacheTmLookup interface that is used to * receive JTA transaction manager. * @deprecated Use {@link #setTxManagerFactory(Factory)} instead. + * @return {@code this} for chaining. */ @Deprecated - public void setTxManagerLookupClassName(String tmLookupClsName) { + public TransactionConfiguration setTxManagerLookupClassName(String tmLookupClsName) { this.tmLookupClsName = tmLookupClsName; + + return this; } /** @@ -286,9 +307,12 @@ public class TransactionConfiguration implements Serializable { * @param factory Transaction manager factory. * @param <T> Instance of {@code javax.transaction.TransactionManager}. * @see #setUseJtaSynchronization(boolean) + * @return {@code this} for chaining. */ - public <T> void setTxManagerFactory(Factory<T> factory) { + public <T> TransactionConfiguration setTxManagerFactory(Factory<T> factory) { txManagerFactory = factory; + + return this; } /** @@ -309,8 +333,11 @@ public class TransactionConfiguration implements Serializable { * @param useJtaSync Whether to use JTA {@code javax.transaction.Synchronization} * instead of {@code javax.transaction.xa.XAResource}. * @see #setTxManagerFactory(Factory) + * @return {@code this} for chaining. */ - public void setUseJtaSynchronization(boolean useJtaSync) { + public TransactionConfiguration setUseJtaSynchronization(boolean useJtaSync) { this.useJtaSync = useJtaSync; + + return this; } } http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/igfs/IgfsGroupDataBlocksKeyMapper.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/igfs/IgfsGroupDataBlocksKeyMapper.java b/modules/core/src/main/java/org/apache/ignite/igfs/IgfsGroupDataBlocksKeyMapper.java index 09143d4..7019c57 100644 --- a/modules/core/src/main/java/org/apache/ignite/igfs/IgfsGroupDataBlocksKeyMapper.java +++ b/modules/core/src/main/java/org/apache/ignite/igfs/IgfsGroupDataBlocksKeyMapper.java @@ -124,9 +124,12 @@ public class IgfsGroupDataBlocksKeyMapper extends GridCacheDefaultAffinityKeyMap * Set group size. See {@link #getGroupSize()} for more information. * * @param grpSize Group size. + * @return {@code this} for chaining. */ - public void setGroupSize(int grpSize) { + public IgfsGroupDataBlocksKeyMapper setGroupSize(int grpSize) { this.grpSize = grpSize; + + return this; } /** {@inheritDoc} */ http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/igfs/IgfsIpcEndpointConfiguration.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/igfs/IgfsIpcEndpointConfiguration.java b/modules/core/src/main/java/org/apache/ignite/igfs/IgfsIpcEndpointConfiguration.java index 1c68d0f..b79f68e 100644 --- a/modules/core/src/main/java/org/apache/ignite/igfs/IgfsIpcEndpointConfiguration.java +++ b/modules/core/src/main/java/org/apache/ignite/igfs/IgfsIpcEndpointConfiguration.java @@ -113,9 +113,12 @@ public class IgfsIpcEndpointConfiguration { * Defaults to {@link #DFLT_TYPE}. * * @param type Endpoint type. + * @return {@code this} for chaining. */ - public void setType(IgfsIpcEndpointType type) { + public IgfsIpcEndpointConfiguration setType(IgfsIpcEndpointType type) { this.type = type; + + return this; } /** @@ -147,9 +150,12 @@ public class IgfsIpcEndpointConfiguration { * Defaults to {@link #DFLT_HOST}. * * @param host Host. + * @return {@code this} for chaining. */ - public void setHost(String host) { + public IgfsIpcEndpointConfiguration setHost(String host) { this.host = host; + + return this; } /** @@ -179,9 +185,12 @@ public class IgfsIpcEndpointConfiguration { * Defaults to {@link #DFLT_PORT}. * * @param port Port. + * @return {@code this} for chaining. */ - public void setPort(int port) { + public IgfsIpcEndpointConfiguration setPort(int port) { this.port = port; + + return this; } /** @@ -205,9 +214,12 @@ public class IgfsIpcEndpointConfiguration { * Defaults to {@link #DFLT_MEM_SIZE}. * * @param memSize Shared memory size. + * @return {@code this} for chaining. */ - public void setMemorySize(int memSize) { + public IgfsIpcEndpointConfiguration setMemorySize(int memSize) { this.memSize = memSize; + + return this; } /** @@ -237,9 +249,12 @@ public class IgfsIpcEndpointConfiguration { * Defaults to {@link #DFLT_TOKEN_DIR_PATH}. * * @param tokenDirPath Directory where shared memory tokens are stored. + * @return {@code this} for chaining. */ - public void setTokenDirectoryPath(String tokenDirPath) { + public IgfsIpcEndpointConfiguration setTokenDirectoryPath(String tokenDirPath) { this.tokenDirPath = tokenDirPath; + + return this; } /** @@ -259,9 +274,12 @@ public class IgfsIpcEndpointConfiguration { * See {@link #getThreadCount()} for more information. * * @param threadCnt Number of threads used by this endpoint to process incoming requests. + * @return {@code this} for chaining. */ - public void setThreadCount(int threadCnt) { + public IgfsIpcEndpointConfiguration setThreadCount(int threadCnt) { this.threadCnt = threadCnt; + + return this; } /** {@inheritDoc} */ http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/internal/client/GridClientConfiguration.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/client/GridClientConfiguration.java b/modules/core/src/main/java/org/apache/ignite/internal/client/GridClientConfiguration.java index cac1bb3..a54f882 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/client/GridClientConfiguration.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/client/GridClientConfiguration.java @@ -234,18 +234,24 @@ public class GridClientConfiguration { * Sets list of servers this client should connect to. * * @param srvs List of servers. + * @return {@code this} for chaining. */ - public void setServers(Collection<String> srvs) { + public GridClientConfiguration setServers(Collection<String> srvs) { this.srvs = srvs != null ? srvs : Collections.<String>emptySet(); + + return this; } /** * Sets list of routers this client should connect to. * * @param routers List of routers. + * @return {@code this} for chaining. */ - public void setRouters(Collection<String> routers) { + public GridClientConfiguration setRouters(Collection<String> routers) { this.routers = routers != null ? routers : Collections.<String>emptySet(); + + return this; } /** @@ -264,9 +270,12 @@ public class GridClientConfiguration { * * @param proto Protocol type. * @see GridClientProtocol + * @return {@code this} for chaining. */ - public void setProtocol(GridClientProtocol proto) { + public GridClientConfiguration setProtocol(GridClientProtocol proto) { this.proto = proto; + + return this; } /** @@ -296,18 +305,24 @@ public class GridClientConfiguration { * Sets whether {@code TCP_NODELAY} flag should be set on underlying socket connections. * * @param tcpNoDelay {@code True} if flag should be set. + * @return {@code this} for chaining. */ - public void setTcpNoDelay(boolean tcpNoDelay) { + public GridClientConfiguration setTcpNoDelay(boolean tcpNoDelay) { this.tcpNoDelay = tcpNoDelay; + + return this; } /** * Sets timeout for socket connect operation. * * @param connectTimeout Connect timeout in milliseconds. + * @return {@code this} for chaining. */ - public void setConnectTimeout(int connectTimeout) { + public GridClientConfiguration setConnectTimeout(int connectTimeout) { this.connectTimeout = connectTimeout; + + return this; } /** @@ -325,9 +340,12 @@ public class GridClientConfiguration { * Sets SSL context factory that will be used for creation of secure connections. * * @param sslCtxFactory Context factory. + * @return {@code this} for chaining. */ - public void setSslContextFactory(GridSslContextFactory sslCtxFactory) { + public GridClientConfiguration setSslContextFactory(GridSslContextFactory sslCtxFactory) { this.sslCtxFactory = sslCtxFactory; + + return this; } /** @@ -345,9 +363,12 @@ public class GridClientConfiguration { * Sets default compute balancer. * * @param balancer Balancer to use. + * @return {@code this} for chaining. */ - public void setBalancer(GridClientLoadBalancer balancer) { + public GridClientConfiguration setBalancer(GridClientLoadBalancer balancer) { this.balancer = balancer; + + return this; } /** @@ -363,9 +384,12 @@ public class GridClientConfiguration { * Sets client credentials provider used in authentication process. * * @param credProvider Client credentials provider. + * @return {@code this} for chaining. */ - public void setSecurityCredentialsProvider(SecurityCredentialsProvider credProvider) { + public GridClientConfiguration setSecurityCredentialsProvider(SecurityCredentialsProvider credProvider) { this.credProvider = credProvider; + + return this; } /** @@ -381,12 +405,15 @@ public class GridClientConfiguration { * Sets data configurations. * * @param dataCfgs Data configurations. + * @return {@code this} for chaining. */ - public void setDataConfigurations(Collection<? extends GridClientDataConfiguration> dataCfgs) { + public GridClientConfiguration setDataConfigurations(Collection<? extends GridClientDataConfiguration> dataCfgs) { this.dataCfgs = U.newHashMap(dataCfgs.size()); for (GridClientDataConfiguration dataCfg : dataCfgs) this.dataCfgs.put(dataCfg.getName(), new GridClientDataConfiguration(dataCfg)); + + return this; } /** @@ -403,9 +430,12 @@ public class GridClientConfiguration { * Sets flag indicating whether node and cache metrics should be cached by client. * * @param enableMetricsCache {@code True} if cache should be enabled. + * @return {@code this} for chaining. */ - public void setEnableMetricsCache(boolean enableMetricsCache) { + public GridClientConfiguration setEnableMetricsCache(boolean enableMetricsCache) { this.enableMetricsCache = enableMetricsCache; + + return this; } /** @@ -430,9 +460,12 @@ public class GridClientConfiguration { * Sets flag indicating whether node attributes should be cached by client. * * @param enableAttrsCache {@code True} if cache should be enabled. + * @return {@code this} for chaining. */ - public void setEnableAttributesCache(boolean enableAttrsCache) { + public GridClientConfiguration setEnableAttributesCache(boolean enableAttrsCache) { this.enableAttrsCache = enableAttrsCache; + + return this; } /** @@ -457,9 +490,12 @@ public class GridClientConfiguration { * Sets flag indicating whether node metrics should be fetched by client automatically. * * @param autoFetchMetrics {@code True} if metrics should be fetched. + * @return {@code this} for chaining. */ - public void setAutoFetchMetrics(boolean autoFetchMetrics) { + public GridClientConfiguration setAutoFetchMetrics(boolean autoFetchMetrics) { this.autoFetchMetrics = autoFetchMetrics; + + return this; } /** @@ -483,9 +519,12 @@ public class GridClientConfiguration { * Sets flag indicating whether node attributes should be fetched by client automatically. * * @param autoFetchAttrs {@code True} if attributes should be fetched. + * @return {@code this} for chaining. */ - public void setAutoFetchAttributes(boolean autoFetchAttrs) { + public GridClientConfiguration setAutoFetchAttributes(boolean autoFetchAttrs) { this.autoFetchAttrs = autoFetchAttrs; + + return this; } /** @@ -516,9 +555,12 @@ public class GridClientConfiguration { * will be refreshed every {@code topRefreshFreq} milliseconds. * * @param topRefreshFreq Topology refresh frequency in milliseconds. + * @return {@code this} for chaining. */ - public void setTopologyRefreshFrequency(long topRefreshFreq) { + public GridClientConfiguration setTopologyRefreshFrequency(long topRefreshFreq) { this.topRefreshFreq = topRefreshFreq; + + return this; } /** @@ -535,9 +577,12 @@ public class GridClientConfiguration { * Sets maximum time in milliseconds which connection can be idle before it is closed by client. * * @param maxConnIdleTime Maximum time of connection idleness in milliseconds. + * @return {@code this} for chaining. */ - public void setMaxConnectionIdleTime(long maxConnIdleTime) { + public GridClientConfiguration setMaxConnectionIdleTime(long maxConnIdleTime) { this.maxConnIdleTime = maxConnIdleTime; + + return this; } /** @@ -557,9 +602,12 @@ public class GridClientConfiguration { * Sets ping interval in milliseconds. * * @param pingInterval Ping interval in milliseconds. + * @return {@code this} for chaining. */ - public void setPingInterval(long pingInterval) { + public GridClientConfiguration setPingInterval(long pingInterval) { this.pingInterval = pingInterval; + + return this; } /** @@ -580,9 +628,12 @@ public class GridClientConfiguration { * Sets ping timeout in milliseconds. * * @param pingTimeout Ping interval in milliseconds. + * @return {@code this} for chaining. */ - public void setPingTimeout(long pingTimeout) { + public GridClientConfiguration setPingTimeout(long pingTimeout) { this.pingTimeout = pingTimeout; + + return this; } /** @@ -603,9 +654,12 @@ public class GridClientConfiguration { * Sets executor service. * * @param executor Executor service to use in client. + * @return {@code this} for chaining. */ - public void setExecutorService(ExecutorService executor) { + public GridClientConfiguration setExecutorService(ExecutorService executor) { this.executor = executor; + + return this; } /** @@ -628,9 +682,12 @@ public class GridClientConfiguration { * Sets the marshaller to use for communication. * * @param marshaller A marshaller to use. + * @return {@code this} for chaining. */ - public void setMarshaller(GridClientMarshaller marshaller) { + public GridClientConfiguration setMarshaller(GridClientMarshaller marshaller) { this.marshaller = marshaller; + + return this; } /** @@ -836,9 +893,12 @@ public class GridClientConfiguration { * Set the daemon flag value. Communication threads will be created as daemons if this flag is set. * * @param daemon Daemon flag. + * @return {@code this} for chaining. */ - public void setDaemon(boolean daemon) { + public GridClientConfiguration setDaemon(boolean daemon) { this.daemon = daemon; + + return this; } /** http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/internal/client/GridClientDataConfiguration.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/client/GridClientDataConfiguration.java b/modules/core/src/main/java/org/apache/ignite/internal/client/GridClientDataConfiguration.java index 322bccd..9a52554 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/client/GridClientDataConfiguration.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/client/GridClientDataConfiguration.java @@ -65,9 +65,12 @@ public class GridClientDataConfiguration { * Sets grid cache name for this configuration. * * @param name Cache name. + * @return {@code this} for chaining. */ - public void setName(String name) { + public GridClientDataConfiguration setName(String name) { this.name = name; + + return this; } /** @@ -93,9 +96,12 @@ public class GridClientDataConfiguration { * work with remote partitioned caches. * * @param affinity Client data affinity. + * @return {@code this} for chaining. */ - public void setAffinity(GridClientDataAffinity affinity) { + public GridClientDataConfiguration setAffinity(GridClientDataAffinity affinity) { this.affinity = affinity; + + return this; } /** @@ -112,8 +118,11 @@ public class GridClientDataConfiguration { * Sets balancer for pinned mode for this configuration. * * @param balancer Balancer that will be used in pinned mode. + * @return {@code this} for chaining. */ - public void setBalancer(GridClientLoadBalancer balancer) { + public GridClientDataConfiguration setBalancer(GridClientLoadBalancer balancer) { this.balancer = balancer; + + return this; } } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/internal/client/GridClientPartitionAffinity.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/client/GridClientPartitionAffinity.java b/modules/core/src/main/java/org/apache/ignite/internal/client/GridClientPartitionAffinity.java index 53a49c6..21f4abe 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/client/GridClientPartitionAffinity.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/client/GridClientPartitionAffinity.java @@ -143,9 +143,12 @@ public class GridClientPartitionAffinity implements GridClientDataAffinity, Grid * Sets total number of partitions. * * @param parts Total number of partitions. + * @return {@code this} for chaining. */ - public void setPartitions(int parts) { + public GridClientPartitionAffinity setPartitions(int parts) { this.parts = parts; + + return this; } /** @@ -175,9 +178,12 @@ public class GridClientPartitionAffinity implements GridClientDataAffinity, Grid * repartitioning. * * @param hashIdRslvr Hash ID resolver. + * @return {@code this} for chaining. */ - public void setHashIdResolver(HashIdResolver hashIdRslvr) { + public GridClientPartitionAffinity setHashIdResolver(HashIdResolver hashIdRslvr) { this.hashIdRslvr = hashIdRslvr; + + return this; } /** @@ -201,9 +207,12 @@ public class GridClientPartitionAffinity implements GridClientDataAffinity, Grid * Note that {@code excludeNeighbors} parameter is ignored if {@code backupFilter} is set. * * @param backupFilter Optional backup filter. + * @return {@code this} for chaining. */ - public void setBackupFilter(GridClientPredicate<UUID> backupFilter) { + public GridClientPartitionAffinity setBackupFilter(GridClientPredicate<UUID> backupFilter) { this.backupFilter = backupFilter; + + return this; } /** {@inheritDoc} */ http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/internal/client/balancer/GridClientBalancerAdapter.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/client/balancer/GridClientBalancerAdapter.java b/modules/core/src/main/java/org/apache/ignite/internal/client/balancer/GridClientBalancerAdapter.java index 3eb7e1d..75d4163 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/client/balancer/GridClientBalancerAdapter.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/client/balancer/GridClientBalancerAdapter.java @@ -58,9 +58,12 @@ public abstract class GridClientBalancerAdapter implements GridClientLoadBalance * Sets prefer direct nodes. * * @param preferDirectNodes Prefer direct nodes. + * @return {@code this} for chaining. */ - public void setPreferDirectNodes(boolean preferDirectNodes) { + public GridClientBalancerAdapter setPreferDirectNodes(boolean preferDirectNodes) { this.preferDirectNodes = preferDirectNodes; + + return this; } /** http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/internal/client/router/GridTcpRouterConfiguration.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/client/router/GridTcpRouterConfiguration.java b/modules/core/src/main/java/org/apache/ignite/internal/client/router/GridTcpRouterConfiguration.java index 191f4ac..e37ffea 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/client/router/GridTcpRouterConfiguration.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/client/router/GridTcpRouterConfiguration.java @@ -207,18 +207,24 @@ public class GridTcpRouterConfiguration { * Sets host for router. * * @param host Host. + * @return {@code this} for chaining. */ - public void setHost(String host) { + public GridTcpRouterConfiguration setHost(String host) { this.host = host; + + return this; } /** * Sets port for router. * * @param port Port. + * @return {@code this} for chaining. */ - public void setPort(int port) { + public GridTcpRouterConfiguration setPort(int port) { this.port = port; + + return this; } /** @@ -228,11 +234,14 @@ public class GridTcpRouterConfiguration { * * @param portRange Port range. * @see #DFLT_PORT_RANGE + * @return {@code this} for chaining. */ - public void setPortRange(int portRange) { + public GridTcpRouterConfiguration setPortRange(int portRange) { A.ensure(portRange >= 0, "portRange >= 0"); this.portRange = portRange; + + return this; } /** @@ -240,18 +249,24 @@ public class GridTcpRouterConfiguration { * for accepted client connections. * * @param noDelay No delay. + * @return {@code this} for chaining. */ - public void setNoDelay(boolean noDelay) { + public GridTcpRouterConfiguration setNoDelay(boolean noDelay) { this.noDelay = noDelay; + + return this; } /** * Sets idle timeout. * * @param idleTimeout Idle timeout in milliseconds. + * @return {@code this} for chaining. */ - public void setIdleTimeout(long idleTimeout) { + public GridTcpRouterConfiguration setIdleTimeout(long idleTimeout) { this.idleTimeout = idleTimeout; + + return this; } /** @@ -259,9 +274,12 @@ public class GridTcpRouterConfiguration { * a valid SSL certificate which validity will be verified with trust manager. * * @param sslClientAuth Ssl client auth. + * @return {@code this} for chaining. */ - public void setSslClientAuth(boolean sslClientAuth) { + public GridTcpRouterConfiguration setSslClientAuth(boolean sslClientAuth) { this.sslClientAuth = sslClientAuth; + + return this; } /** @@ -269,36 +287,48 @@ public class GridTcpRouterConfiguration { * of both rest binary server and out coming connections. * * @param sslCtxFactory Ssl context factory. + * @return {@code this} for chaining. */ - public void setSslContextFactory(GridSslContextFactory sslCtxFactory) { + public GridTcpRouterConfiguration setSslContextFactory(GridSslContextFactory sslCtxFactory) { this.sslCtxFactory = sslCtxFactory; + + return this; } /** * Sets list of server addresses where router's embedded client should connect. * * @param srvrs List of servers. + * @return {@code this} for chaining. */ - public void setServers(Collection<String> srvrs) { + public GridTcpRouterConfiguration setServers(Collection<String> srvrs) { this.srvrs = srvrs; + + return this; } /** * Sets logger for the router instance. * * @param log Logger. + * @return {@code this} for chaining. */ - public void setLogger(IgniteLogger log) { + public GridTcpRouterConfiguration setLogger(IgniteLogger log) { this.log = log; + + return this; } /** * Sets credentials provider for grid access. * * @param credsProvider Credentials provider. + * @return {@code this} for chaining. */ - public void setSecurityCredentialsProvider(SecurityCredentialsProvider credsProvider) { + public GridTcpRouterConfiguration setSecurityCredentialsProvider(SecurityCredentialsProvider credsProvider) { this.credsProvider = credsProvider; + + return this; } /** {@inheritDoc} */ http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/internal/jdbc2/JdbcSqlFieldsQuery.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/jdbc2/JdbcSqlFieldsQuery.java b/modules/core/src/main/java/org/apache/ignite/internal/jdbc2/JdbcSqlFieldsQuery.java index 19dedf6..3d4eaba 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/jdbc2/JdbcSqlFieldsQuery.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/jdbc2/JdbcSqlFieldsQuery.java @@ -17,6 +17,7 @@ package org.apache.ignite.internal.jdbc2; +import java.util.concurrent.TimeUnit; import org.apache.ignite.cache.query.SqlFieldsQuery; /** @@ -45,4 +46,60 @@ public final class JdbcSqlFieldsQuery extends SqlFieldsQuery { public boolean isQuery() { return isQry; } + + /** {@inheritDoc} */ + @Override public JdbcSqlFieldsQuery setSql(String sql) { + super.setSql(sql); + + return this; + } + + /** {@inheritDoc} */ + @Override public JdbcSqlFieldsQuery setArgs(Object... args) { + super.setArgs(args); + + return this; + } + + /** {@inheritDoc} */ + @Override public JdbcSqlFieldsQuery setTimeout(int timeout, TimeUnit timeUnit) { + super.setTimeout(timeout, timeUnit); + + return this; + } + + /** {@inheritDoc} */ + @Override public JdbcSqlFieldsQuery setCollocated(boolean collocated) { + super.setCollocated(collocated); + + return this; + } + + /** {@inheritDoc} */ + @Override public JdbcSqlFieldsQuery setEnforceJoinOrder(boolean enforceJoinOrder) { + super.setEnforceJoinOrder(enforceJoinOrder); + + return this; + } + + /** {@inheritDoc} */ + @Override public JdbcSqlFieldsQuery setDistributedJoins(boolean distributedJoins) { + super.setDistributedJoins(distributedJoins); + + return this; + } + + /** {@inheritDoc} */ + @Override public JdbcSqlFieldsQuery setPageSize(int pageSize) { + super.setPageSize(pageSize); + + return this; + } + + /** {@inheritDoc} */ + @Override public JdbcSqlFieldsQuery setLocal(boolean loc) { + super.setLocal(loc); + + return this; + } } http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java index a7d38a7..966fa8e 100755 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java @@ -120,6 +120,7 @@ import org.apache.ignite.lang.IgniteUuid; import org.apache.ignite.lifecycle.LifecycleAware; import org.apache.ignite.marshaller.Marshaller; import org.apache.ignite.marshaller.MarshallerUtils; +import org.apache.ignite.mxbean.IgniteMBeanAware; import org.apache.ignite.spi.IgniteNodeValidationResult; import org.apache.ignite.spi.discovery.DiscoveryDataBag; import org.apache.ignite.spi.discovery.DiscoveryDataBag.GridDiscoveryData; @@ -3560,15 +3561,15 @@ public class GridCacheProcessor extends GridProcessorAdapter { /** * Registers MBean for cache components. * - * @param o Cache component. + * @param obj Cache component. * @param cacheName Cache name. * @param near Near flag. * @throws IgniteCheckedException If registration failed. */ @SuppressWarnings("unchecked") - private void registerMbean(Object o, @Nullable String cacheName, boolean near) + private void registerMbean(Object obj, @Nullable String cacheName, boolean near) throws IgniteCheckedException { - assert o != null; + assert obj != null; MBeanServer srvr = ctx.config().getMBeanServer(); @@ -3578,14 +3579,16 @@ public class GridCacheProcessor extends GridProcessorAdapter { cacheName = near ? cacheName + "-near" : cacheName; - for (Class<?> itf : o.getClass().getInterfaces()) { + final Object mbeanImpl = (obj instanceof IgniteMBeanAware) ? ((IgniteMBeanAware)obj).getMBean() : obj; + + for (Class<?> itf : mbeanImpl.getClass().getInterfaces()) { if (itf.getName().endsWith("MBean") || itf.getName().endsWith("MXBean")) { try { - U.registerCacheMBean(srvr, ctx.igniteInstanceName(), cacheName, o.getClass().getName(), o, + U.registerCacheMBean(srvr, ctx.igniteInstanceName(), cacheName, obj.getClass().getName(), mbeanImpl, (Class<Object>)itf); } catch (JMException e) { - throw new IgniteCheckedException("Failed to register MBean for component: " + o, e); + throw new IgniteCheckedException("Failed to register MBean for component: " + obj, e); } break; @@ -3611,16 +3614,24 @@ public class GridCacheProcessor extends GridProcessorAdapter { cacheName = near ? cacheName + "-near" : cacheName; - for (Class<?> itf : o.getClass().getInterfaces()) { - if (itf.getName().endsWith("MBean") || itf.getName().endsWith("MXBean")) { - try { - srvr.unregisterMBean(U.makeCacheMBeanName(ctx.igniteInstanceName(), cacheName, o.getClass().getName())); - } - catch (JMException e) { - U.error(log, "Failed to unregister MBean for component: " + o, e); + boolean needToUnregister = o instanceof IgniteMBeanAware; + + if (!needToUnregister) { + for (Class<?> itf : o.getClass().getInterfaces()) { + if (itf.getName().endsWith("MBean") || itf.getName().endsWith("MXBean")) { + needToUnregister = true; + + break; } + } + } - break; + if (needToUnregister) { + try { + srvr.unregisterMBean(U.makeCacheMBeanName(ctx.igniteInstanceName(), cacheName, o.getClass().getName())); + } + catch (JMException e) { + U.error(log, "Failed to unregister MBean for component: " + o, e); } } } http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/dotnet/PlatformDotNetConfigurationEx.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/dotnet/PlatformDotNetConfigurationEx.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/dotnet/PlatformDotNetConfigurationEx.java index 8448733..a5d793d 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/dotnet/PlatformDotNetConfigurationEx.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/dotnet/PlatformDotNetConfigurationEx.java @@ -17,6 +17,7 @@ package org.apache.ignite.internal.processors.platform.dotnet; +import java.util.List; import org.apache.ignite.internal.logger.platform.PlatformLogger; import org.apache.ignite.internal.processors.platform.PlatformConfigurationEx; import org.apache.ignite.internal.processors.platform.cache.PlatformCacheExtension; @@ -25,6 +26,7 @@ import org.apache.ignite.internal.processors.platform.entityframework.PlatformDo import org.apache.ignite.internal.processors.platform.memory.PlatformMemoryManagerImpl; import org.apache.ignite.internal.processors.platform.utils.PlatformUtils; import org.apache.ignite.internal.processors.platform.websession.PlatformDotNetSessionCacheExtension; +import org.apache.ignite.platform.dotnet.PlatformDotNetBinaryConfiguration; import org.apache.ignite.platform.dotnet.PlatformDotNetConfiguration; import org.jetbrains.annotations.Nullable; @@ -98,11 +100,28 @@ public class PlatformDotNetConfigurationEx extends PlatformDotNetConfiguration i return logger; } + /** {@inheritDoc} */ + @Override public PlatformDotNetConfigurationEx setBinaryConfiguration(PlatformDotNetBinaryConfiguration binaryCfg) { + super.setBinaryConfiguration(binaryCfg); + + return this; + } + + /** {@inheritDoc} */ + @Override public PlatformDotNetConfigurationEx setAssemblies(List<String> assemblies) { + super.setAssemblies(assemblies); + + return this; + } + /** * @param warnings Warnings. + * @return {@code this} for chaining. */ - public void warnings(Collection<String> warnings) { + public PlatformDotNetConfigurationEx warnings(Collection<String> warnings) { this.warnings = warnings; + + return this; } /** http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/utils/PlatformConfigurationUtils.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/utils/PlatformConfigurationUtils.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/utils/PlatformConfigurationUtils.java index b2926e3..5f73f79 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/utils/PlatformConfigurationUtils.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/utils/PlatformConfigurationUtils.java @@ -62,7 +62,6 @@ import org.apache.ignite.plugin.platform.PlatformPluginConfigurationClosure; import org.apache.ignite.plugin.platform.PlatformPluginConfigurationClosureFactory; import org.apache.ignite.spi.communication.CommunicationSpi; import org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi; -import org.apache.ignite.spi.communication.tcp.TcpCommunicationSpiMBean; import org.apache.ignite.spi.discovery.DiscoverySpi; import org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi; import org.apache.ignite.spi.discovery.tcp.ipfinder.TcpDiscoveryIpFinder; @@ -1014,7 +1013,7 @@ public class PlatformConfigurationUtils { if (comm instanceof TcpCommunicationSpi) { w.writeBoolean(true); - TcpCommunicationSpiMBean tcp = (TcpCommunicationSpiMBean) comm; + TcpCommunicationSpi tcp = (TcpCommunicationSpi) comm; w.writeInt(tcp.getAckSendThreshold()); w.writeLong(tcp.getConnectTimeout()); http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/OptimizedMarshaller.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/OptimizedMarshaller.java b/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/OptimizedMarshaller.java index 6d57864..e61e8dc 100644 --- a/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/OptimizedMarshaller.java +++ b/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/OptimizedMarshaller.java @@ -124,18 +124,24 @@ public class OptimizedMarshaller extends AbstractNodeNameAwareMarshaller { * Sets whether marshaller should require {@link Serializable} interface or not. * * @param requireSer Whether to require {@link Serializable}. + * @return {@code this} for chaining. */ - public void setRequireSerializable(boolean requireSer) { + public OptimizedMarshaller setRequireSerializable(boolean requireSer) { this.requireSer = requireSer; + + return this; } /** * Sets ID mapper. * * @param mapper ID mapper. + * @return {@code this} for chaining. */ - public void setIdMapper(OptimizedMarshallerIdMapper mapper) { + public OptimizedMarshaller setIdMapper(OptimizedMarshallerIdMapper mapper) { this.mapper = mapper; + + return this; } /** @@ -152,9 +158,12 @@ public class OptimizedMarshaller extends AbstractNodeNameAwareMarshaller { * different threads which will lead to more frequent context switching. * * @param poolSize Streams pool size. If {@code 0}, pool is not used. + * @return {@code this} for chaining. */ - public void setPoolSize(int poolSize) { + public OptimizedMarshaller setPoolSize(int poolSize) { OptimizedObjectStreamRegistry.poolSize(poolSize); + + return this; } /** {@inheritDoc} */ http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/mxbean/IgniteMBeanAware.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/mxbean/IgniteMBeanAware.java b/modules/core/src/main/java/org/apache/ignite/mxbean/IgniteMBeanAware.java new file mode 100644 index 0000000..ef917b5 --- /dev/null +++ b/modules/core/src/main/java/org/apache/ignite/mxbean/IgniteMBeanAware.java @@ -0,0 +1,28 @@ +/* + * 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.mxbean; + +/** + * MBean-aware interface. + */ +public interface IgniteMBeanAware { + /** + * @return MBean for this object. + */ + Object getMBean(); +} http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/platform/dotnet/PlatformDotNetAffinityFunction.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/platform/dotnet/PlatformDotNetAffinityFunction.java b/modules/core/src/main/java/org/apache/ignite/platform/dotnet/PlatformDotNetAffinityFunction.java index f9f457d..f51a41d 100644 --- a/modules/core/src/main/java/org/apache/ignite/platform/dotnet/PlatformDotNetAffinityFunction.java +++ b/modules/core/src/main/java/org/apache/ignite/platform/dotnet/PlatformDotNetAffinityFunction.java @@ -64,9 +64,12 @@ public class PlatformDotNetAffinityFunction implements AffinityFunction, Externa * Sets .NET type name. * * @param typName .NET type name. + * @return {@code this} for chaining. */ - public void setTypeName(String typName) { + public PlatformDotNetAffinityFunction setTypeName(String typName) { this.typName = typName; + + return this; } /** @@ -82,9 +85,12 @@ public class PlatformDotNetAffinityFunction implements AffinityFunction, Externa * Set properties. * * @param props Properties. + * @return {@code this} for chaining. */ - public void setProperties(Map<String, ?> props) { + public PlatformDotNetAffinityFunction setProperties(Map<String, ?> props) { this.props = props; + + return this; } /** {@inheritDoc} */ http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/platform/dotnet/PlatformDotNetBinaryConfiguration.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/platform/dotnet/PlatformDotNetBinaryConfiguration.java b/modules/core/src/main/java/org/apache/ignite/platform/dotnet/PlatformDotNetBinaryConfiguration.java index 7c5da2f..876a58c 100644 --- a/modules/core/src/main/java/org/apache/ignite/platform/dotnet/PlatformDotNetBinaryConfiguration.java +++ b/modules/core/src/main/java/org/apache/ignite/platform/dotnet/PlatformDotNetBinaryConfiguration.java @@ -81,9 +81,13 @@ public class PlatformDotNetBinaryConfiguration { /** * @param typesCfg New type cfgs. + * @return {@code this} for chaining. */ - public void setTypesConfiguration(Collection<PlatformDotNetBinaryTypeConfiguration> typesCfg) { + public PlatformDotNetBinaryConfiguration setTypesConfiguration( + Collection<PlatformDotNetBinaryTypeConfiguration> typesCfg) { this.typesCfg = typesCfg; + + return this; } /** @@ -95,9 +99,12 @@ public class PlatformDotNetBinaryConfiguration { /** * @param types New types. + * @return {@code this} for chaining. */ - public void setTypes(Collection<String> types) { + public PlatformDotNetBinaryConfiguration setTypes(Collection<String> types) { this.types = types; + + return this; } /** @@ -109,9 +116,12 @@ public class PlatformDotNetBinaryConfiguration { /** * @param dfltNameMapper New default name mapper. + * @return {@code this} for chaining. */ - public void setDefaultNameMapper(String dfltNameMapper) { + public PlatformDotNetBinaryConfiguration setDefaultNameMapper(String dfltNameMapper) { this.dfltNameMapper = dfltNameMapper; + + return this; } /** @@ -123,9 +133,12 @@ public class PlatformDotNetBinaryConfiguration { /** * @param dfltIdMapper New default id mapper. + * @return {@code this} for chaining. */ - public void setDefaultIdMapper(String dfltIdMapper) { + public PlatformDotNetBinaryConfiguration setDefaultIdMapper(String dfltIdMapper) { this.dfltIdMapper = dfltIdMapper; + + return this; } /** @@ -137,9 +150,12 @@ public class PlatformDotNetBinaryConfiguration { /** * @param dfltSerializer New default serializer. + * @return {@code this} for chaining. */ - public void setDefaultSerializer(String dfltSerializer) { + public PlatformDotNetBinaryConfiguration setDefaultSerializer(String dfltSerializer) { this.dfltSerializer = dfltSerializer; + + return this; } /** @@ -158,9 +174,12 @@ public class PlatformDotNetBinaryConfiguration { * {@link PlatformDotNetBinaryTypeConfiguration#setKeepDeserialized(Boolean)}. * * @param keepDeserialized Keep deserialized flag. + * @return {@code this} for chaining. */ - public void setDefaultKeepDeserialized(boolean keepDeserialized) { + public PlatformDotNetBinaryConfiguration setDefaultKeepDeserialized(boolean keepDeserialized) { this.dfltKeepDeserialized = keepDeserialized; + + return this; } /** {@inheritDoc} */ http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/platform/dotnet/PlatformDotNetBinaryTypeConfiguration.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/platform/dotnet/PlatformDotNetBinaryTypeConfiguration.java b/modules/core/src/main/java/org/apache/ignite/platform/dotnet/PlatformDotNetBinaryTypeConfiguration.java index cae5760..1949f71 100644 --- a/modules/core/src/main/java/org/apache/ignite/platform/dotnet/PlatformDotNetBinaryTypeConfiguration.java +++ b/modules/core/src/main/java/org/apache/ignite/platform/dotnet/PlatformDotNetBinaryTypeConfiguration.java @@ -75,9 +75,12 @@ public class PlatformDotNetBinaryTypeConfiguration { /** * @param typeName New type name. + * @return {@code this} for chaining. */ - public void setTypeName(String typeName) { + public PlatformDotNetBinaryTypeConfiguration setTypeName(String typeName) { this.typeName = typeName; + + return this; } /** @@ -89,9 +92,12 @@ public class PlatformDotNetBinaryTypeConfiguration { /** * @param nameMapper New name mapper. + * @return {@code this} for chaining. */ - public void setNameMapper(String nameMapper) { + public PlatformDotNetBinaryTypeConfiguration setNameMapper(String nameMapper) { this.nameMapper = nameMapper; + + return this; } /** @@ -103,9 +109,12 @@ public class PlatformDotNetBinaryTypeConfiguration { /** * @param idMapper New id mapper. + * @return {@code this} for chaining. */ - public void setIdMapper(String idMapper) { + public PlatformDotNetBinaryTypeConfiguration setIdMapper(String idMapper) { this.idMapper = idMapper; + + return this; } /** @@ -117,9 +126,12 @@ public class PlatformDotNetBinaryTypeConfiguration { /** * @param serializer New serializer. + * @return {@code this} for chaining. */ - public void setSerializer(String serializer) { + public PlatformDotNetBinaryTypeConfiguration setSerializer(String serializer) { this.serializer = serializer; + + return this; } /** @@ -131,9 +143,12 @@ public class PlatformDotNetBinaryTypeConfiguration { /** * @param affinityKeyFieldName Affinity key field name. + * @return {@code this} for chaining. */ - public void setAffinityKeyFieldName(String affinityKeyFieldName) { + public PlatformDotNetBinaryTypeConfiguration setAffinityKeyFieldName(String affinityKeyFieldName) { this.affinityKeyFieldName = affinityKeyFieldName; + + return this; } /** @@ -163,9 +178,12 @@ public class PlatformDotNetBinaryTypeConfiguration { * {@link PlatformDotNetBinaryConfiguration#isDefaultKeepDeserialized()} will be used. * * @param keepDeserialized Keep deserialized flag. + * @return {@code this} for chaining. */ - public void setKeepDeserialized(@Nullable Boolean keepDeserialized) { + public PlatformDotNetBinaryTypeConfiguration setKeepDeserialized(@Nullable Boolean keepDeserialized) { this.keepDeserialized = keepDeserialized; + + return this; } /** @@ -181,9 +199,12 @@ public class PlatformDotNetBinaryTypeConfiguration { * Sets whether this is enum type. * * @param isEnum {@code True} if enum. + * @return {@code this} for chaining. */ - public void setEnum(boolean isEnum) { + public PlatformDotNetBinaryTypeConfiguration setEnum(boolean isEnum) { this.isEnum = isEnum; + + return this; } http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/platform/dotnet/PlatformDotNetConfiguration.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/platform/dotnet/PlatformDotNetConfiguration.java b/modules/core/src/main/java/org/apache/ignite/platform/dotnet/PlatformDotNetConfiguration.java index d31ab95..1c058c1 100644 --- a/modules/core/src/main/java/org/apache/ignite/platform/dotnet/PlatformDotNetConfiguration.java +++ b/modules/core/src/main/java/org/apache/ignite/platform/dotnet/PlatformDotNetConfiguration.java @@ -62,9 +62,12 @@ public class PlatformDotNetConfiguration implements PlatformConfiguration { /** * @param binaryCfg Configuration. + * @return {@code this} for chaining. */ - public void setBinaryConfiguration(PlatformDotNetBinaryConfiguration binaryCfg) { + public PlatformDotNetConfiguration setBinaryConfiguration(PlatformDotNetBinaryConfiguration binaryCfg) { this.binaryCfg = binaryCfg; + + return this; } /** @@ -77,9 +80,12 @@ public class PlatformDotNetConfiguration implements PlatformConfiguration { /** * * @param assemblies Assemblies. + * @return {@code this} for chaining. */ - public void setAssemblies(List<String> assemblies) { + public PlatformDotNetConfiguration setAssemblies(List<String> assemblies) { this.assemblies = assemblies; + + return this; } /** http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/services/ServiceConfiguration.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/services/ServiceConfiguration.java b/modules/core/src/main/java/org/apache/ignite/services/ServiceConfiguration.java index 6698dd4..0589b79 100644 --- a/modules/core/src/main/java/org/apache/ignite/services/ServiceConfiguration.java +++ b/modules/core/src/main/java/org/apache/ignite/services/ServiceConfiguration.java @@ -94,9 +94,12 @@ public class ServiceConfiguration implements Serializable { * This parameter is mandatory when deploying a service. * * @param name Service name. + * @return {@code this} for chaining. */ - public void setName(String name) { + public ServiceConfiguration setName(String name) { this.name = name; + + return this; } /** @@ -116,9 +119,12 @@ public class ServiceConfiguration implements Serializable { * This parameter is mandatory when deploying a service. * * @param svc Service instance. + * @return {@code this} for chaining. */ - public void setService(Service svc) { + public ServiceConfiguration setService(Service svc) { this.svc = svc; + + return this; } /** @@ -138,9 +144,12 @@ public class ServiceConfiguration implements Serializable { * At least one of {@code getTotalCount()} or {@link #getMaxPerNodeCount()} values must be positive. * * @param totalCnt Total number of deployed service instances in the cluster, {@code 0} for unlimited. + * @return {@code this} for chaining. */ - public void setTotalCount(int totalCnt) { + public ServiceConfiguration setTotalCount(int totalCnt) { this.totalCnt = totalCnt; + + return this; } /** @@ -160,9 +169,12 @@ public class ServiceConfiguration implements Serializable { * At least one of {@code getMaxPerNodeCount()} or {@link #getTotalCount()} values must be positive. * * @param maxPerNodeCnt Maximum number of deployed service instances on each node, {@code 0} for unlimited. + * @return {@code this} for chaining. */ - public void setMaxPerNodeCount(int maxPerNodeCnt) { + public ServiceConfiguration setMaxPerNodeCount(int maxPerNodeCnt) { this.maxPerNodeCnt = maxPerNodeCnt; + + return this; } /** @@ -182,9 +194,12 @@ public class ServiceConfiguration implements Serializable { * This parameter is optional and is set only when deploying service based on key-affinity. * * @param cacheName Cache name, possibly {@code null}. + * @return {@code this} for chaining. */ - public void setCacheName(String cacheName) { + public ServiceConfiguration setCacheName(String cacheName) { this.cacheName = cacheName; + + return this; } /** @@ -204,9 +219,12 @@ public class ServiceConfiguration implements Serializable { * This parameter is optional and is set only when deploying service based on key-affinity. * * @param affKey Affinity key, possibly {@code null}. + * @return {@code this} for chaining. */ - public void setAffinityKey(Object affKey) { + public ServiceConfiguration setAffinityKey(Object affKey) { this.affKey = affKey; + + return this; } /** @@ -228,9 +246,12 @@ public class ServiceConfiguration implements Serializable { * nodes in the grid, based on configuration. * * @param nodeFilter Node filter used to filter nodes on which the service will be deployed, possibly {@code null}. + * @return {@code this} for chaining. */ - public void setNodeFilter(IgnitePredicate<ClusterNode> nodeFilter) { + public ServiceConfiguration setNodeFilter(IgnitePredicate<ClusterNode> nodeFilter) { this.nodeFilter = nodeFilter; + + return this; } /** {@inheritDoc} */ http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiAdapter.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiAdapter.java b/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiAdapter.java index ab14a57..d1219f7 100644 --- a/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiAdapter.java +++ b/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiAdapter.java @@ -18,10 +18,8 @@ package org.apache.ignite.spi; import java.io.Serializable; -import java.text.DateFormat; import java.util.Collection; import java.util.Collections; -import java.util.Date; import java.util.List; import java.util.Map; import java.util.UUID; @@ -43,7 +41,6 @@ import org.apache.ignite.internal.managers.eventstorage.GridLocalEventListener; import org.apache.ignite.internal.processors.timeout.GridSpiTimeoutObject; import org.apache.ignite.internal.util.IgniteExceptionRegistry; import org.apache.ignite.internal.util.typedef.F; -import org.apache.ignite.internal.util.typedef.X; import org.apache.ignite.internal.util.typedef.internal.CU; import org.apache.ignite.internal.util.typedef.internal.SB; import org.apache.ignite.internal.util.typedef.internal.U; @@ -65,7 +62,7 @@ import static org.apache.ignite.events.EventType.EVT_NODE_JOINED; /** * This class provides convenient adapter for SPI implementations. */ -public abstract class IgniteSpiAdapter implements IgniteSpi, IgniteSpiManagementMBean { +public abstract class IgniteSpiAdapter implements IgniteSpi { /** */ private ObjectName spiMBean; @@ -142,31 +139,6 @@ public abstract class IgniteSpiAdapter implements IgniteSpi, IgniteSpiManagement return startedFlag.get(); } - /** {@inheritDoc} */ - @Override public final String getStartTimestampFormatted() { - return DateFormat.getDateTimeInstance().format(new Date(startTstamp)); - } - - /** {@inheritDoc} */ - @Override public final String getUpTimeFormatted() { - return X.timeSpan2HMSM(getUpTime()); - } - - /** {@inheritDoc} */ - @Override public final long getStartTimestamp() { - return startTstamp; - } - - /** {@inheritDoc} */ - @Override public final long getUpTime() { - return startTstamp == 0 ? 0 : U.currentTimeMillis() - startTstamp; - } - - /** {@inheritDoc} */ - @Override public UUID getLocalNodeId() { - return ignite.cluster().localNode().id(); - } - /** * @return Local node. */ @@ -180,11 +152,6 @@ public abstract class IgniteSpiAdapter implements IgniteSpi, IgniteSpiManagement } /** {@inheritDoc} */ - @Override public final String getIgniteHome() { - return ignite.configuration().getIgniteHome(); - } - - /** {@inheritDoc} */ @Override public String getName() { return name; } @@ -193,10 +160,13 @@ public abstract class IgniteSpiAdapter implements IgniteSpi, IgniteSpiManagement * Sets SPI name. * * @param name SPI name. + * @return {@code this} for chaining. */ @IgniteSpiConfiguration(optional = true) - public void setName(String name) { + public IgniteSpiAdapter setName(String name) { this.name = name; + + return this; } /** {@inheritDoc} */ @@ -351,7 +321,15 @@ public abstract class IgniteSpiAdapter implements IgniteSpi, IgniteSpiManagement * @return Uniformly formatted message for SPI start. */ protected final String startInfo() { - return "SPI started ok [startMs=" + getUpTime() + ", spiMBean=" + spiMBean + ']'; + return "SPI started ok [startMs=" + startTstamp + ", spiMBean=" + spiMBean + ']'; + } + + /** + * Gets SPI startup time. + * @return Time in millis. + */ + final long getStartTstamp() { + return startTstamp; } /** http://git-wip-us.apache.org/repos/asf/ignite/blob/cfc88028/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiMBeanAdapter.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiMBeanAdapter.java b/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiMBeanAdapter.java new file mode 100644 index 0000000..8035333 --- /dev/null +++ b/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiMBeanAdapter.java @@ -0,0 +1,78 @@ +/* + * 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.spi; + +import java.text.DateFormat; +import java.util.Date; +import java.util.UUID; +import org.apache.ignite.internal.util.typedef.X; +import org.apache.ignite.internal.util.typedef.internal.U; + +/** + * This class provides convenient adapter for MBean implementations. + */ +public class IgniteSpiMBeanAdapter implements IgniteSpiManagementMBean { + /** */ + protected IgniteSpiAdapter spiAdapter; + + /** + * Constructor + * + * @param spiAdapter Spi implementation. + */ + public IgniteSpiMBeanAdapter(IgniteSpiAdapter spiAdapter) { + this.spiAdapter = spiAdapter; + } + + /** {@inheritDoc} */ + @Override public final String getStartTimestampFormatted() { + return DateFormat.getDateTimeInstance().format(new Date(spiAdapter.getStartTstamp())); + } + + /** {@inheritDoc} */ + @Override public final String getUpTimeFormatted() { + return X.timeSpan2HMSM(getUpTime()); + } + + /** {@inheritDoc} */ + @Override public final long getStartTimestamp() { + return spiAdapter.getStartTstamp(); + } + + /** {@inheritDoc} */ + @Override public final long getUpTime() { + final long startTstamp = spiAdapter.getStartTstamp(); + + return startTstamp == 0 ? 0 : U.currentTimeMillis() - startTstamp; + } + + /** {@inheritDoc} */ + @Override public UUID getLocalNodeId() { + return spiAdapter.ignite.cluster().localNode().id(); + } + + /** {@inheritDoc} */ + @Override public final String getIgniteHome() { + return spiAdapter.ignite.configuration().getIgniteHome(); + } + + /** {@inheritDoc} */ + @Override public String getName() { + return spiAdapter.getName(); + } +}
