http://git-wip-us.apache.org/repos/asf/ignite/blob/f177d431/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheConfiguration.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheConfiguration.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheConfiguration.java index 5d27a8a..869a12c 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheConfiguration.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheConfiguration.java @@ -27,6 +27,7 @@ import org.apache.ignite.cache.CacheWriteSynchronizationMode; import org.apache.ignite.cluster.ClusterNode; import org.apache.ignite.configuration.CacheConfiguration; import org.apache.ignite.internal.IgniteEx; +import org.apache.ignite.internal.LessNamingBean; import org.apache.ignite.internal.util.typedef.internal.S; import org.jetbrains.annotations.Nullable; import org.apache.ignite.lang.IgniteProductVersion; @@ -36,7 +37,7 @@ import static org.apache.ignite.internal.visor.util.VisorTaskUtils.compactClass; /** * Data transfer object for cache configuration properties. */ -public class VisorCacheConfiguration implements Serializable { +public class VisorCacheConfiguration implements Serializable, LessNamingBean { /** */ private static final long serialVersionUID = 0L;
http://git-wip-us.apache.org/repos/asf/ignite/blob/f177d431/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheDefaultConfiguration.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheDefaultConfiguration.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheDefaultConfiguration.java index efebfe5..03b5020 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheDefaultConfiguration.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheDefaultConfiguration.java @@ -19,12 +19,13 @@ package org.apache.ignite.internal.visor.cache; import java.io.Serializable; import org.apache.ignite.configuration.CacheConfiguration; +import org.apache.ignite.internal.LessNamingBean; import org.apache.ignite.internal.util.typedef.internal.S; /** * Data transfer object for default cache configuration properties. */ -public class VisorCacheDefaultConfiguration implements Serializable { +public class VisorCacheDefaultConfiguration implements Serializable, LessNamingBean { /** */ private static final long serialVersionUID = 0L; @@ -54,4 +55,4 @@ public class VisorCacheDefaultConfiguration implements Serializable { @Override public String toString() { return S.toString(VisorCacheDefaultConfiguration.class, this); } -} \ No newline at end of file +} http://git-wip-us.apache.org/repos/asf/ignite/blob/f177d431/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheEvictionConfiguration.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheEvictionConfiguration.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheEvictionConfiguration.java index db216e0..05d5c38 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheEvictionConfiguration.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheEvictionConfiguration.java @@ -20,6 +20,7 @@ package org.apache.ignite.internal.visor.cache; import java.io.Serializable; import org.apache.ignite.cache.eviction.EvictionPolicy; import org.apache.ignite.configuration.CacheConfiguration; +import org.apache.ignite.internal.LessNamingBean; import org.apache.ignite.internal.util.typedef.internal.S; import org.jetbrains.annotations.Nullable; @@ -29,7 +30,7 @@ import static org.apache.ignite.internal.visor.util.VisorTaskUtils.evictionPolic /** * Data transfer object for eviction configuration properties. */ -public class VisorCacheEvictionConfiguration implements Serializable { +public class VisorCacheEvictionConfiguration implements Serializable, LessNamingBean { /** */ private static final long serialVersionUID = 0L; @@ -138,4 +139,4 @@ public class VisorCacheEvictionConfiguration implements Serializable { @Override public String toString() { return S.toString(VisorCacheEvictionConfiguration.class, this); } -} \ No newline at end of file +} http://git-wip-us.apache.org/repos/asf/ignite/blob/f177d431/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheMetrics.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheMetrics.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheMetrics.java index c658871..1204cbc 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheMetrics.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheMetrics.java @@ -22,13 +22,14 @@ import org.apache.ignite.IgniteCache; import org.apache.ignite.cache.CacheMetrics; import org.apache.ignite.cache.CacheMode; import org.apache.ignite.internal.IgniteEx; +import org.apache.ignite.internal.LessNamingBean; import org.apache.ignite.internal.processors.cache.GridCacheProcessor; import org.apache.ignite.internal.util.typedef.internal.S; /** * Data transfer object for {@link CacheMetrics}. */ -public class VisorCacheMetrics implements Serializable { +public class VisorCacheMetrics implements Serializable, LessNamingBean { /** */ private static final float MICROSECONDS_IN_SECOND = 1_000_000; http://git-wip-us.apache.org/repos/asf/ignite/blob/f177d431/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheNearConfiguration.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheNearConfiguration.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheNearConfiguration.java index 23195e6..8771da4 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheNearConfiguration.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheNearConfiguration.java @@ -20,6 +20,7 @@ package org.apache.ignite.internal.visor.cache; import java.io.Serializable; import org.apache.ignite.configuration.CacheConfiguration; import org.apache.ignite.configuration.NearCacheConfiguration; +import org.apache.ignite.internal.LessNamingBean; import org.apache.ignite.internal.processors.cache.GridCacheUtils; import org.apache.ignite.internal.util.typedef.internal.S; import org.jetbrains.annotations.Nullable; @@ -30,7 +31,7 @@ import static org.apache.ignite.internal.visor.util.VisorTaskUtils.evictionPolic /** * Data transfer object for near cache configuration properties. */ -public class VisorCacheNearConfiguration implements Serializable { +public class VisorCacheNearConfiguration implements Serializable, LessNamingBean { /** */ private static final long serialVersionUID = 0L; @@ -98,4 +99,4 @@ public class VisorCacheNearConfiguration implements Serializable { @Override public String toString() { return S.toString(VisorCacheNearConfiguration.class, this); } -} \ No newline at end of file +} http://git-wip-us.apache.org/repos/asf/ignite/blob/f177d431/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCachePartition.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCachePartition.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCachePartition.java index 5909c1a..a6c0839 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCachePartition.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCachePartition.java @@ -18,12 +18,13 @@ package org.apache.ignite.internal.visor.cache; import java.io.Serializable; +import org.apache.ignite.internal.LessNamingBean; import org.apache.ignite.internal.util.typedef.internal.S; /** * Data transfer object for information about keys in cache partition. */ -public class VisorCachePartition implements Serializable { +public class VisorCachePartition implements Serializable, LessNamingBean { /** */ private static final long serialVersionUID = 0L; http://git-wip-us.apache.org/repos/asf/ignite/blob/f177d431/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCachePartitions.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCachePartitions.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCachePartitions.java index 4634fa6..af48825 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCachePartitions.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCachePartitions.java @@ -20,12 +20,13 @@ package org.apache.ignite.internal.visor.cache; import java.io.Serializable; import java.util.ArrayList; import java.util.List; +import org.apache.ignite.internal.LessNamingBean; import org.apache.ignite.internal.util.typedef.internal.S; /** * Data transfer object for information about cache partitions. */ -public class VisorCachePartitions implements Serializable { +public class VisorCachePartitions implements Serializable, LessNamingBean { /** */ private static final long serialVersionUID = 0L; http://git-wip-us.apache.org/repos/asf/ignite/blob/f177d431/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheQueryConfiguration.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheQueryConfiguration.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheQueryConfiguration.java index 73088bc..e0d1e72 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheQueryConfiguration.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheQueryConfiguration.java @@ -19,12 +19,13 @@ package org.apache.ignite.internal.visor.cache; import java.io.Serializable; import org.apache.ignite.configuration.CacheConfiguration; +import org.apache.ignite.internal.LessNamingBean; import org.apache.ignite.internal.util.typedef.internal.U; /** * Data transfer object for cache query configuration data. */ -public class VisorCacheQueryConfiguration implements Serializable { +public class VisorCacheQueryConfiguration implements Serializable, LessNamingBean { /** */ private static final long serialVersionUID = 0L; http://git-wip-us.apache.org/repos/asf/ignite/blob/f177d431/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheQueryMetrics.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheQueryMetrics.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheQueryMetrics.java index ffbe585..a3d77e5 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheQueryMetrics.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheQueryMetrics.java @@ -19,12 +19,13 @@ package org.apache.ignite.internal.visor.cache; import java.io.Serializable; import org.apache.ignite.cache.query.QueryMetrics; +import org.apache.ignite.internal.LessNamingBean; import org.apache.ignite.internal.util.typedef.internal.S; /** * Data transfer object for cache query metrics. */ -public class VisorCacheQueryMetrics implements Serializable { +public class VisorCacheQueryMetrics implements Serializable, LessNamingBean { /** */ private static final long serialVersionUID = 0L; @@ -98,4 +99,4 @@ public class VisorCacheQueryMetrics implements Serializable { @Override public String toString() { return S.toString(VisorCacheQueryMetrics.class, this); } -} \ No newline at end of file +} http://git-wip-us.apache.org/repos/asf/ignite/blob/f177d431/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheRebalanceConfiguration.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheRebalanceConfiguration.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheRebalanceConfiguration.java index d2dd32e..4c28d00 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheRebalanceConfiguration.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheRebalanceConfiguration.java @@ -20,12 +20,13 @@ package org.apache.ignite.internal.visor.cache; import java.io.Serializable; import org.apache.ignite.cache.CacheRebalanceMode; import org.apache.ignite.configuration.CacheConfiguration; +import org.apache.ignite.internal.LessNamingBean; import org.apache.ignite.internal.util.typedef.internal.S; /** * Data transfer object for cache rebalance configuration properties. */ -public class VisorCacheRebalanceConfiguration implements Serializable { +public class VisorCacheRebalanceConfiguration implements Serializable, LessNamingBean { /** */ private static final long serialVersionUID = 0L; @@ -110,4 +111,4 @@ public class VisorCacheRebalanceConfiguration implements Serializable { @Override public String toString() { return S.toString(VisorCacheRebalanceConfiguration.class, this); } -} \ No newline at end of file +} http://git-wip-us.apache.org/repos/asf/ignite/blob/f177d431/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheStoreConfiguration.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheStoreConfiguration.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheStoreConfiguration.java index 2ba1b57..5d3e1e1 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheStoreConfiguration.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheStoreConfiguration.java @@ -22,6 +22,7 @@ import org.apache.ignite.cache.store.CacheStore; import org.apache.ignite.cache.store.jdbc.CacheAbstractJdbcStore; import org.apache.ignite.configuration.CacheConfiguration; import org.apache.ignite.internal.IgniteEx; +import org.apache.ignite.internal.LessNamingBean; import org.apache.ignite.internal.processors.cache.IgniteCacheProxy; import org.apache.ignite.internal.util.typedef.internal.S; import org.jetbrains.annotations.Nullable; @@ -31,7 +32,7 @@ import static org.apache.ignite.internal.visor.util.VisorTaskUtils.compactClass; /** * Data transfer object for cache store configuration properties. */ -public class VisorCacheStoreConfiguration implements Serializable { +public class VisorCacheStoreConfiguration implements Serializable, LessNamingBean { /** */ private static final long serialVersionUID = 0L; http://git-wip-us.apache.org/repos/asf/ignite/blob/f177d431/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheTypeFieldMetadata.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheTypeFieldMetadata.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheTypeFieldMetadata.java index 323e536..f3dffd6 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheTypeFieldMetadata.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheTypeFieldMetadata.java @@ -19,12 +19,13 @@ package org.apache.ignite.internal.visor.cache; import java.io.Serializable; import org.apache.ignite.cache.CacheTypeFieldMetadata; +import org.apache.ignite.internal.LessNamingBean; import org.apache.ignite.internal.util.typedef.internal.U; /** * Data transfer object for {@link CacheTypeFieldMetadata}. */ -public class VisorCacheTypeFieldMetadata implements Serializable { +public class VisorCacheTypeFieldMetadata implements Serializable, LessNamingBean { /** */ private static final long serialVersionUID = 0L; http://git-wip-us.apache.org/repos/asf/ignite/blob/f177d431/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheTypeMetadata.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheTypeMetadata.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheTypeMetadata.java index ec7a114..4e38d81 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheTypeMetadata.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheTypeMetadata.java @@ -30,6 +30,7 @@ import org.apache.ignite.cache.QueryIndex; import org.apache.ignite.cache.store.jdbc.CacheJdbcPojoStoreFactory; import org.apache.ignite.cache.store.jdbc.JdbcType; import org.apache.ignite.cache.store.jdbc.JdbcTypeField; +import org.apache.ignite.internal.LessNamingBean; import org.apache.ignite.internal.util.tostring.GridToStringInclude; import org.apache.ignite.internal.util.typedef.internal.U; import org.apache.ignite.lang.IgniteBiTuple; @@ -39,7 +40,7 @@ import javax.cache.configuration.Factory; /** * Data transfer object for {@link CacheTypeMetadata}. */ -public class VisorCacheTypeMetadata implements Serializable { +public class VisorCacheTypeMetadata implements Serializable, LessNamingBean { /** */ private static final long serialVersionUID = 0L; http://git-wip-us.apache.org/repos/asf/ignite/blob/f177d431/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheV4.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheV4.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheV4.java new file mode 100644 index 0000000..81dbacb --- /dev/null +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheV4.java @@ -0,0 +1,124 @@ +/* + * 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.visor.cache; + +import org.apache.ignite.IgniteCache; +import org.apache.ignite.IgniteCheckedException; +import org.apache.ignite.internal.IgniteEx; +import org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion; +import org.apache.ignite.internal.processors.cache.GridCacheAdapter; +import org.apache.ignite.internal.processors.cache.GridCacheSwapManager; +import org.apache.ignite.internal.util.typedef.internal.S; + +/** + * Data transfer object for {@link IgniteCache}. + */ +public class VisorCacheV4 extends VisorCacheV2 { + /** */ + private static final long serialVersionUID = 0L; + + /** Number of primary entries in offheap. */ + private int offHeapPrimaryEntriesCnt; + + /** Number of backup entries in offheap. */ + private int offHeapBackupEntriesCnt; + + /** Number of primary entries in swap. */ + private int swapPrimaryEntriesCnt; + + /** Number of backup entries in swap. */ + private int swapBackupEntriesCnt; + + /** {@inheritDoc} */ + @Override public VisorCache from(IgniteEx ignite, String cacheName, int sample) throws IgniteCheckedException { + VisorCache c = super.from(ignite, cacheName, sample); + + if (c != null && c instanceof VisorCacheV4) { + VisorCacheV4 cacheV4 = (VisorCacheV4)c; + + GridCacheAdapter ca = ignite.context().cache().internalCache(cacheName); + + // Process only started caches. + if (ca != null && ca.context().started()) { + GridCacheSwapManager swap = ca.context().swap(); + + cacheV4.offHeapPrimaryEntriesCnt = swap.offheapEntriesCount(true, false, AffinityTopologyVersion.NONE); + cacheV4.offHeapBackupEntriesCnt = swap.offheapEntriesCount(false, true, AffinityTopologyVersion.NONE); + + cacheV4.swapPrimaryEntriesCnt = swap.swapEntriesCount(true, false, AffinityTopologyVersion.NONE); + cacheV4.swapBackupEntriesCnt = swap.swapEntriesCount(false, true, AffinityTopologyVersion.NONE); + } + } + + return c; + } + + /** {@inheritDoc} */ + @Override protected VisorCache initHistory(VisorCache c) { + super.initHistory(c); + + if (c instanceof VisorCacheV4) { + VisorCacheV4 cacheV4 = (VisorCacheV4)c; + + cacheV4.offHeapPrimaryEntriesCnt = offHeapPrimaryEntriesCnt; + cacheV4.offHeapBackupEntriesCnt = offHeapBackupEntriesCnt; + cacheV4.swapPrimaryEntriesCnt = swapPrimaryEntriesCnt; + cacheV4.swapBackupEntriesCnt = swapBackupEntriesCnt; + } + + return c; + } + + /** {@inheritDoc} */ + @Override public VisorCache history() { + return initHistory(new VisorCacheV3()); + } + + /** + * @return Off-heap heap primary entries count. + */ + public int offHeapPrimaryEntriesCount() { + return offHeapPrimaryEntriesCnt; + } + + /** + * @return Off-heap heap backup entries count. + */ + public int offHeapBackupEntriesCount() { + return offHeapBackupEntriesCnt; + } + + /** + * @return Swap primary entries count. + */ + public int swapPrimaryEntriesCount() { + return swapPrimaryEntriesCnt; + } + + /** + * @return Swap backup entries count. + */ + public int swapBackupEntriesCount() { + return swapBackupEntriesCnt; + } + + /** {@inheritDoc} */ + @Override public String toString() { + return S.toString(VisorCacheV4.class, this); + } +} http://git-wip-us.apache.org/repos/asf/ignite/blob/f177d431/modules/core/src/main/java/org/apache/ignite/internal/visor/debug/VisorThreadInfo.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/debug/VisorThreadInfo.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/debug/VisorThreadInfo.java index 3671bcd..d656ad1 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/debug/VisorThreadInfo.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/debug/VisorThreadInfo.java @@ -19,11 +19,12 @@ package org.apache.ignite.internal.visor.debug; import java.io.Serializable; import java.lang.management.ThreadInfo; +import org.apache.ignite.internal.LessNamingBean; /** * Data transfer object for Visor {@link ThreadInfo}. */ -public class VisorThreadInfo implements Serializable { +public class VisorThreadInfo implements Serializable, LessNamingBean { /** */ private static final long serialVersionUID = 0L; @@ -326,4 +327,4 @@ public class VisorThreadInfo implements Serializable { return sb.toString(); } -} \ No newline at end of file +} http://git-wip-us.apache.org/repos/asf/ignite/blob/f177d431/modules/core/src/main/java/org/apache/ignite/internal/visor/debug/VisorThreadLockInfo.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/debug/VisorThreadLockInfo.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/debug/VisorThreadLockInfo.java index 13c81cc..0fdd95f 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/debug/VisorThreadLockInfo.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/debug/VisorThreadLockInfo.java @@ -19,11 +19,12 @@ package org.apache.ignite.internal.visor.debug; import java.io.Serializable; import java.lang.management.LockInfo; +import org.apache.ignite.internal.LessNamingBean; /** * Data transfer object for {@link LockInfo}. */ -public class VisorThreadLockInfo implements Serializable { +public class VisorThreadLockInfo implements Serializable, LessNamingBean { /** */ private static final long serialVersionUID = 0L; @@ -70,4 +71,4 @@ public class VisorThreadLockInfo implements Serializable { @Override public String toString() { return clsName + '@' + Integer.toHexString(identityHashCode); } -} \ No newline at end of file +} http://git-wip-us.apache.org/repos/asf/ignite/blob/f177d431/modules/core/src/main/java/org/apache/ignite/internal/visor/event/VisorGridEvent.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/event/VisorGridEvent.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/event/VisorGridEvent.java index 8a26bddc..b24e860 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/event/VisorGridEvent.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/event/VisorGridEvent.java @@ -19,6 +19,7 @@ package org.apache.ignite.internal.visor.event; import java.io.Serializable; import java.util.UUID; +import org.apache.ignite.internal.LessNamingBean; import org.apache.ignite.internal.util.typedef.internal.S; import org.apache.ignite.lang.IgniteUuid; import org.jetbrains.annotations.Nullable; @@ -26,7 +27,7 @@ import org.jetbrains.annotations.Nullable; /** * Base class for lightweight counterpart for various {@link org.apache.ignite.events.Event}. */ -public class VisorGridEvent implements Serializable { +public class VisorGridEvent implements Serializable, LessNamingBean { /** */ private static final long serialVersionUID = 0L; @@ -126,4 +127,4 @@ public class VisorGridEvent implements Serializable { @Override public String toString() { return S.toString(VisorGridEvent.class, this); } -} \ No newline at end of file +} http://git-wip-us.apache.org/repos/asf/ignite/blob/f177d431/modules/core/src/main/java/org/apache/ignite/internal/visor/file/VisorFileBlock.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/file/VisorFileBlock.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/file/VisorFileBlock.java index f82c703..dba7037 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/file/VisorFileBlock.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/file/VisorFileBlock.java @@ -18,12 +18,13 @@ package org.apache.ignite.internal.visor.file; import java.io.Serializable; +import org.apache.ignite.internal.LessNamingBean; import org.apache.ignite.internal.util.typedef.internal.S; /** * Represents block of bytes from a file, could be optionally zipped. */ -public class VisorFileBlock implements Serializable { +public class VisorFileBlock implements Serializable, LessNamingBean { /** */ private static final long serialVersionUID = 0L; @@ -110,4 +111,4 @@ public class VisorFileBlock implements Serializable { @Override public String toString() { return S.toString(VisorFileBlock.class, this); } -} \ No newline at end of file +} http://git-wip-us.apache.org/repos/asf/ignite/blob/f177d431/modules/core/src/main/java/org/apache/ignite/internal/visor/igfs/VisorIgfs.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/igfs/VisorIgfs.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/igfs/VisorIgfs.java index 847975a..29c79fe 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/igfs/VisorIgfs.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/igfs/VisorIgfs.java @@ -20,12 +20,13 @@ package org.apache.ignite.internal.visor.igfs; import java.io.Serializable; import org.apache.ignite.IgniteFileSystem; import org.apache.ignite.igfs.IgfsMode; +import org.apache.ignite.internal.LessNamingBean; import org.apache.ignite.internal.util.typedef.internal.S; /** * Data transfer object for {@link org.apache.ignite.IgniteFileSystem}. */ -public class VisorIgfs implements Serializable { +public class VisorIgfs implements Serializable, LessNamingBean { /** */ private static final long serialVersionUID = 0L; @@ -108,4 +109,4 @@ public class VisorIgfs implements Serializable { @Override public String toString() { return S.toString(VisorIgfs.class, this); } -} \ No newline at end of file +} http://git-wip-us.apache.org/repos/asf/ignite/blob/f177d431/modules/core/src/main/java/org/apache/ignite/internal/visor/igfs/VisorIgfsEndpoint.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/igfs/VisorIgfsEndpoint.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/igfs/VisorIgfsEndpoint.java index b6d7f43..c2178cb 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/igfs/VisorIgfsEndpoint.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/igfs/VisorIgfsEndpoint.java @@ -18,13 +18,14 @@ package org.apache.ignite.internal.visor.igfs; import java.io.Serializable; +import org.apache.ignite.internal.LessNamingBean; import org.apache.ignite.internal.util.typedef.internal.S; import org.jetbrains.annotations.Nullable; /** * IGFS endpoint descriptor. */ -public class VisorIgfsEndpoint implements Serializable { +public class VisorIgfsEndpoint implements Serializable, LessNamingBean { /** */ private static final long serialVersionUID = 0L; @@ -103,4 +104,4 @@ public class VisorIgfsEndpoint implements Serializable { @Override public String toString() { return S.toString(VisorIgfsEndpoint.class, this); } -} \ No newline at end of file +} http://git-wip-us.apache.org/repos/asf/ignite/blob/f177d431/modules/core/src/main/java/org/apache/ignite/internal/visor/igfs/VisorIgfsMetrics.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/igfs/VisorIgfsMetrics.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/igfs/VisorIgfsMetrics.java index 47738eb..af7af06 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/igfs/VisorIgfsMetrics.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/igfs/VisorIgfsMetrics.java @@ -19,12 +19,13 @@ package org.apache.ignite.internal.visor.igfs; import java.io.Serializable; import org.apache.ignite.igfs.IgfsMetrics; +import org.apache.ignite.internal.LessNamingBean; import org.apache.ignite.internal.util.typedef.internal.S; /** * Data transfer object for {@link IgfsMetrics}. */ -public class VisorIgfsMetrics implements Serializable { +public class VisorIgfsMetrics implements Serializable, LessNamingBean { /** */ private static final long serialVersionUID = 0L; @@ -248,4 +249,4 @@ public class VisorIgfsMetrics implements Serializable { @Override public String toString() { return S.toString(VisorIgfsMetrics.class, this); } -} \ No newline at end of file +} http://git-wip-us.apache.org/repos/asf/ignite/blob/f177d431/modules/core/src/main/java/org/apache/ignite/internal/visor/igfs/VisorIgfsProfilerEntry.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/igfs/VisorIgfsProfilerEntry.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/igfs/VisorIgfsProfilerEntry.java index 2ceea60..b157296 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/igfs/VisorIgfsProfilerEntry.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/igfs/VisorIgfsProfilerEntry.java @@ -20,12 +20,13 @@ package org.apache.ignite.internal.visor.igfs; import java.io.Serializable; import java.util.Comparator; import org.apache.ignite.igfs.IgfsMode; +import org.apache.ignite.internal.LessNamingBean; import org.apache.ignite.internal.util.typedef.internal.S; /** * Visor IGFS profiler information about one file. */ -public class VisorIgfsProfilerEntry implements Serializable { +public class VisorIgfsProfilerEntry implements Serializable, LessNamingBean { /** */ private static final long serialVersionUID = 0L; @@ -234,4 +235,4 @@ public class VisorIgfsProfilerEntry implements Serializable { @Override public String toString() { return S.toString(VisorIgfsProfilerEntry.class, this); } -} \ No newline at end of file +} http://git-wip-us.apache.org/repos/asf/ignite/blob/f177d431/modules/core/src/main/java/org/apache/ignite/internal/visor/igfs/VisorIgfsProfilerUniformityCounters.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/igfs/VisorIgfsProfilerUniformityCounters.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/igfs/VisorIgfsProfilerUniformityCounters.java index 55244c2..9184ce3 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/igfs/VisorIgfsProfilerUniformityCounters.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/igfs/VisorIgfsProfilerUniformityCounters.java @@ -19,6 +19,7 @@ package org.apache.ignite.internal.visor.igfs; import java.io.Serializable; import java.util.ArrayList; +import org.apache.ignite.internal.LessNamingBean; import org.apache.ignite.internal.util.typedef.F; import static org.apache.ignite.internal.visor.igfs.VisorIgfsProfiler.UNIFORMITY_BLOCKS; @@ -31,7 +32,7 @@ import static org.apache.ignite.internal.visor.igfs.VisorIgfsProfiler.UNIFORMITY * </p> * Count read frequency for each file and compare with ideal uniform distribution. */ -public class VisorIgfsProfilerUniformityCounters implements Serializable { +public class VisorIgfsProfilerUniformityCounters implements Serializable, LessNamingBean { /** */ private static final long serialVersionUID = 0L; @@ -198,4 +199,4 @@ public class VisorIgfsProfilerUniformityCounters implements Serializable { return 1.0 - sigma; } } -} \ No newline at end of file +} http://git-wip-us.apache.org/repos/asf/ignite/blob/f177d431/modules/core/src/main/java/org/apache/ignite/internal/visor/log/VisorLogSearchResult.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/log/VisorLogSearchResult.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/log/VisorLogSearchResult.java index a492516..35ace13 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/log/VisorLogSearchResult.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/log/VisorLogSearchResult.java @@ -19,13 +19,14 @@ package org.apache.ignite.internal.visor.log; import java.io.Serializable; import java.util.UUID; +import org.apache.ignite.internal.LessNamingBean; import org.apache.ignite.internal.util.typedef.internal.S; /** * Result for log search operation. * Contains found line and several lines before and after, plus other info. */ -public class VisorLogSearchResult implements Serializable { +public class VisorLogSearchResult implements Serializable, LessNamingBean { /** */ private static final long serialVersionUID = 0L; @@ -152,4 +153,4 @@ public class VisorLogSearchResult implements Serializable { @Override public String toString() { return S.toString(VisorLogSearchResult.class, this); } -} \ No newline at end of file +} http://git-wip-us.apache.org/repos/asf/ignite/blob/f177d431/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorAtomicConfiguration.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorAtomicConfiguration.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorAtomicConfiguration.java index 6966dbb..a6d8c4c 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorAtomicConfiguration.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorAtomicConfiguration.java @@ -20,12 +20,13 @@ package org.apache.ignite.internal.visor.node; import java.io.Serializable; import org.apache.ignite.cache.CacheMode; import org.apache.ignite.configuration.AtomicConfiguration; +import org.apache.ignite.internal.LessNamingBean; import org.apache.ignite.internal.util.typedef.internal.S; /** * Data transfer object for configuration of atomic data structures. */ -public class VisorAtomicConfiguration implements Serializable { +public class VisorAtomicConfiguration implements Serializable, LessNamingBean { /** */ private static final long serialVersionUID = 0L; @@ -79,4 +80,4 @@ public class VisorAtomicConfiguration implements Serializable { @Override public String toString() { return S.toString(VisorAtomicConfiguration.class, this); } -} \ No newline at end of file +} http://git-wip-us.apache.org/repos/asf/ignite/blob/f177d431/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorBasicConfiguration.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorBasicConfiguration.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorBasicConfiguration.java index 84095b6..9d46064 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorBasicConfiguration.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorBasicConfiguration.java @@ -21,6 +21,7 @@ import java.io.Serializable; import java.util.UUID; import org.apache.ignite.configuration.IgniteConfiguration; import org.apache.ignite.internal.IgniteEx; +import org.apache.ignite.internal.LessNamingBean; import org.apache.ignite.internal.util.typedef.internal.S; import org.jetbrains.annotations.Nullable; @@ -42,7 +43,7 @@ import static org.apache.ignite.internal.visor.util.VisorTaskUtils.compactObject /** * Data transfer object for node basic configuration properties. */ -public class VisorBasicConfiguration implements Serializable { +public class VisorBasicConfiguration implements Serializable, LessNamingBean { /** */ private static final long serialVersionUID = 0L; @@ -293,4 +294,4 @@ public class VisorBasicConfiguration implements Serializable { @Override public String toString() { return S.toString(VisorBasicConfiguration.class, this); } -} \ No newline at end of file +} http://git-wip-us.apache.org/repos/asf/ignite/blob/f177d431/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorExecutorServiceConfiguration.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorExecutorServiceConfiguration.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorExecutorServiceConfiguration.java index 14a8dcc..df083f5 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorExecutorServiceConfiguration.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorExecutorServiceConfiguration.java @@ -20,12 +20,13 @@ package org.apache.ignite.internal.visor.node; import java.io.Serializable; import org.apache.ignite.configuration.ConnectorConfiguration; import org.apache.ignite.configuration.IgniteConfiguration; +import org.apache.ignite.internal.LessNamingBean; import org.apache.ignite.internal.util.typedef.internal.S; /** * Data transfer object for node executors configuration properties. */ -public class VisorExecutorServiceConfiguration implements Serializable { +public class VisorExecutorServiceConfiguration implements Serializable, LessNamingBean { /** */ private static final long serialVersionUID = 0L; @@ -114,4 +115,4 @@ public class VisorExecutorServiceConfiguration implements Serializable { @Override public String toString() { return S.toString(VisorExecutorServiceConfiguration.class, this); } -} \ No newline at end of file +} http://git-wip-us.apache.org/repos/asf/ignite/blob/f177d431/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorGridConfiguration.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorGridConfiguration.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorGridConfiguration.java index d6c7fab..913c450 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorGridConfiguration.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorGridConfiguration.java @@ -24,6 +24,7 @@ import java.util.Properties; import org.apache.ignite.IgniteSystemProperties; import org.apache.ignite.configuration.IgniteConfiguration; import org.apache.ignite.internal.IgniteEx; +import org.apache.ignite.internal.LessNamingBean; import org.apache.ignite.internal.util.typedef.internal.S; import static org.apache.ignite.internal.visor.util.VisorTaskUtils.compactArray; @@ -31,7 +32,7 @@ import static org.apache.ignite.internal.visor.util.VisorTaskUtils.compactArray; /** * Data transfer object for node configuration data. */ -public class VisorGridConfiguration implements Serializable { +public class VisorGridConfiguration implements Serializable, LessNamingBean { /** */ private static final long serialVersionUID = 0L; @@ -228,4 +229,4 @@ public class VisorGridConfiguration implements Serializable { @Override public String toString() { return S.toString(VisorGridConfiguration.class, this); } -} \ No newline at end of file +} http://git-wip-us.apache.org/repos/asf/ignite/blob/f177d431/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorIgfsConfiguration.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorIgfsConfiguration.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorIgfsConfiguration.java index 50917eb..9f7652b 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorIgfsConfiguration.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorIgfsConfiguration.java @@ -26,6 +26,7 @@ import org.apache.ignite.configuration.FileSystemConfiguration; import org.apache.ignite.igfs.IgfsIpcEndpointConfiguration; import org.apache.ignite.igfs.IgfsMode; import org.apache.ignite.igfs.secondary.IgfsSecondaryFileSystem; +import org.apache.ignite.internal.LessNamingBean; import org.apache.ignite.internal.util.typedef.internal.S; import org.jetbrains.annotations.Nullable; @@ -34,7 +35,7 @@ import static org.apache.ignite.internal.visor.util.VisorTaskUtils.compactClass; /** * Data transfer object for IGFS configuration properties. */ -public class VisorIgfsConfiguration implements Serializable { +public class VisorIgfsConfiguration implements Serializable, LessNamingBean { /** */ private static final long serialVersionUID = 0L; http://git-wip-us.apache.org/repos/asf/ignite/blob/f177d431/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorLifecycleConfiguration.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorLifecycleConfiguration.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorLifecycleConfiguration.java index 396c7f0..838a6cc 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorLifecycleConfiguration.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorLifecycleConfiguration.java @@ -19,6 +19,7 @@ package org.apache.ignite.internal.visor.node; import java.io.Serializable; import org.apache.ignite.configuration.IgniteConfiguration; +import org.apache.ignite.internal.LessNamingBean; import org.apache.ignite.internal.util.typedef.internal.S; import org.jetbrains.annotations.Nullable; @@ -27,7 +28,7 @@ import static org.apache.ignite.internal.visor.util.VisorTaskUtils.compactArray; /** * Data transfer object for node lifecycle configuration properties. */ -public class VisorLifecycleConfiguration implements Serializable { +public class VisorLifecycleConfiguration implements Serializable, LessNamingBean { /** */ private static final long serialVersionUID = 0L; @@ -57,4 +58,4 @@ public class VisorLifecycleConfiguration implements Serializable { @Override public String toString() { return S.toString(VisorLifecycleConfiguration.class, this); } -} \ No newline at end of file +} http://git-wip-us.apache.org/repos/asf/ignite/blob/f177d431/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorMetricsConfiguration.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorMetricsConfiguration.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorMetricsConfiguration.java index c5ff882..4e812b7 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorMetricsConfiguration.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorMetricsConfiguration.java @@ -19,12 +19,13 @@ package org.apache.ignite.internal.visor.node; import java.io.Serializable; import org.apache.ignite.configuration.IgniteConfiguration; +import org.apache.ignite.internal.LessNamingBean; import org.apache.ignite.internal.util.typedef.internal.S; /** * Data transfer object for node metrics configuration properties. */ -public class VisorMetricsConfiguration implements Serializable { +public class VisorMetricsConfiguration implements Serializable, LessNamingBean { /** */ private static final long serialVersionUID = 0L; @@ -76,4 +77,4 @@ public class VisorMetricsConfiguration implements Serializable { @Override public String toString() { return S.toString(VisorMetricsConfiguration.class, this); } -} \ No newline at end of file +} http://git-wip-us.apache.org/repos/asf/ignite/blob/f177d431/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorNodeDataCollectorJob.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorNodeDataCollectorJob.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorNodeDataCollectorJob.java index 79760ef..9a9b1cd 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorNodeDataCollectorJob.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorNodeDataCollectorJob.java @@ -31,6 +31,7 @@ import org.apache.ignite.internal.visor.VisorJob; import org.apache.ignite.internal.visor.cache.VisorCache; import org.apache.ignite.internal.visor.cache.VisorCacheV2; import org.apache.ignite.internal.visor.cache.VisorCacheV3; +import org.apache.ignite.internal.visor.cache.VisorCacheV4; import org.apache.ignite.internal.visor.compute.VisorComputeMonitoringHolder; import org.apache.ignite.internal.visor.igfs.VisorIgfs; import org.apache.ignite.internal.visor.igfs.VisorIgfsEndpoint; @@ -57,6 +58,9 @@ public class VisorNodeDataCollectorJob extends VisorJob<VisorNodeDataCollectorTa /** */ private static final IgniteProductVersion VER_1_5_9 = IgniteProductVersion.fromString("1.5.9"); + /** */ + private static final IgniteProductVersion VER_1_5_26 = IgniteProductVersion.fromString("1.5.26"); + /** * Create job with given argument. * @@ -125,7 +129,7 @@ public class VisorNodeDataCollectorJob extends VisorJob<VisorNodeDataCollectorTa /** * @param ver Version to check. - * @return {@code true} if compatible. + * @return {@code true} if found at least one compatible node with specified version. */ private boolean compatibleWith(IgniteProductVersion ver) { for (ClusterNode node : ignite.cluster().nodes()) @@ -136,6 +140,22 @@ public class VisorNodeDataCollectorJob extends VisorJob<VisorNodeDataCollectorTa } /** + * @return Compatible {@link VisorCache} instance. + */ + private VisorCache createVisorCache() { + if (compatibleWith(VER_1_4_1)) + return new VisorCache(); + + if (compatibleWith(VER_1_5_9)) + return new VisorCacheV2(); + + if (compatibleWith(VER_1_5_26)) + return new VisorCacheV3(); + + return new VisorCacheV4(); + } + + /** * Collect caches. * * @param res Job result. @@ -152,9 +172,7 @@ public class VisorNodeDataCollectorJob extends VisorJob<VisorNodeDataCollectorTa long start0 = U.currentTimeMillis(); try { - VisorCache cache = (compatibleWith(VER_1_4_1) ? new VisorCache() : - compatibleWith(VER_1_5_9) ? new VisorCacheV2() : new VisorCacheV3()) - .from(ignite, cacheName, arg.sample()); + VisorCache cache = createVisorCache().from(ignite, cacheName, arg.sample()); if (cache != null) res.caches().add(cache); http://git-wip-us.apache.org/repos/asf/ignite/blob/f177d431/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorNodeDataCollectorTaskResult.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorNodeDataCollectorTaskResult.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorNodeDataCollectorTaskResult.java index 9ca1232..baab350 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorNodeDataCollectorTaskResult.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorNodeDataCollectorTaskResult.java @@ -24,6 +24,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.UUID; +import org.apache.ignite.internal.LessNamingBean; import org.apache.ignite.internal.visor.cache.VisorCache; import org.apache.ignite.internal.visor.event.VisorGridEvent; import org.apache.ignite.internal.visor.igfs.VisorIgfs; @@ -33,7 +34,7 @@ import org.apache.ignite.internal.visor.util.VisorExceptionWrapper; /** * Data collector task result. */ -public class VisorNodeDataCollectorTaskResult implements Serializable { +public class VisorNodeDataCollectorTaskResult implements Serializable, LessNamingBean { /** */ private static final long serialVersionUID = 0L; @@ -174,4 +175,4 @@ public class VisorNodeDataCollectorTaskResult implements Serializable { public Map<UUID, Long> errorCounts() { return errCnts; } -} \ No newline at end of file +} http://git-wip-us.apache.org/repos/asf/ignite/blob/f177d431/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorPeerToPeerConfiguration.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorPeerToPeerConfiguration.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorPeerToPeerConfiguration.java index 622aa6d..93177fd 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorPeerToPeerConfiguration.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorPeerToPeerConfiguration.java @@ -19,6 +19,7 @@ package org.apache.ignite.internal.visor.node; import java.io.Serializable; import org.apache.ignite.configuration.IgniteConfiguration; +import org.apache.ignite.internal.LessNamingBean; import org.apache.ignite.internal.util.typedef.internal.S; import org.jetbrains.annotations.Nullable; @@ -27,7 +28,7 @@ import static org.apache.ignite.internal.visor.util.VisorTaskUtils.compactArray; /** * Data transfer object for node P2P configuration properties. */ -public class VisorPeerToPeerConfiguration implements Serializable { +public class VisorPeerToPeerConfiguration implements Serializable, LessNamingBean { /** */ private static final long serialVersionUID = 0L; @@ -79,4 +80,4 @@ public class VisorPeerToPeerConfiguration implements Serializable { @Override public String toString() { return S.toString(VisorPeerToPeerConfiguration.class, this); } -} \ No newline at end of file +} http://git-wip-us.apache.org/repos/asf/ignite/blob/f177d431/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorRestConfiguration.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorRestConfiguration.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorRestConfiguration.java index c5ab55a..78a54b3 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorRestConfiguration.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorRestConfiguration.java @@ -20,6 +20,7 @@ package org.apache.ignite.internal.visor.node; import java.io.Serializable; import org.apache.ignite.configuration.ConnectorConfiguration; import org.apache.ignite.configuration.IgniteConfiguration; +import org.apache.ignite.internal.LessNamingBean; import org.apache.ignite.internal.util.typedef.internal.S; import org.jetbrains.annotations.Nullable; @@ -32,7 +33,7 @@ import static org.apache.ignite.internal.visor.util.VisorTaskUtils.intValue; /** * Create data transfer object for node REST configuration properties. */ -public class VisorRestConfiguration implements Serializable { +public class VisorRestConfiguration implements Serializable, LessNamingBean { /** */ private static final long serialVersionUID = 0L; @@ -156,4 +157,4 @@ public class VisorRestConfiguration implements Serializable { @Override public String toString() { return S.toString(VisorRestConfiguration.class, this); } -} \ No newline at end of file +} http://git-wip-us.apache.org/repos/asf/ignite/blob/f177d431/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorSegmentationConfiguration.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorSegmentationConfiguration.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorSegmentationConfiguration.java index 84365dc..44909fc 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorSegmentationConfiguration.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorSegmentationConfiguration.java @@ -19,6 +19,7 @@ package org.apache.ignite.internal.visor.node; import java.io.Serializable; import org.apache.ignite.configuration.IgniteConfiguration; +import org.apache.ignite.internal.LessNamingBean; import org.apache.ignite.internal.util.typedef.internal.S; import org.apache.ignite.plugin.segmentation.SegmentationPolicy; import org.jetbrains.annotations.Nullable; @@ -28,7 +29,7 @@ import static org.apache.ignite.internal.visor.util.VisorTaskUtils.compactArray; /** * Data transfer object for node segmentation configuration properties. */ -public class VisorSegmentationConfiguration implements Serializable { +public class VisorSegmentationConfiguration implements Serializable, LessNamingBean { /** */ private static final long serialVersionUID = 0L; @@ -102,4 +103,4 @@ public class VisorSegmentationConfiguration implements Serializable { @Override public String toString() { return S.toString(VisorSegmentationConfiguration.class, this); } -} \ No newline at end of file +} http://git-wip-us.apache.org/repos/asf/ignite/blob/f177d431/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorSpisConfiguration.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorSpisConfiguration.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorSpisConfiguration.java index c576426..bd59690 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorSpisConfiguration.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorSpisConfiguration.java @@ -23,6 +23,7 @@ import java.lang.reflect.Method; import java.util.HashMap; import java.util.Map; import org.apache.ignite.configuration.IgniteConfiguration; +import org.apache.ignite.internal.LessNamingBean; import org.apache.ignite.internal.util.typedef.F; import org.apache.ignite.internal.util.typedef.internal.S; import org.apache.ignite.lang.IgniteBiTuple; @@ -35,7 +36,7 @@ import static org.apache.ignite.internal.visor.util.VisorTaskUtils.compactObject /** * Data transfer object for node SPIs configuration properties. */ -public class VisorSpisConfiguration implements Serializable { +public class VisorSpisConfiguration implements Serializable, LessNamingBean { /** */ private static final long serialVersionUID = 0L; @@ -233,4 +234,4 @@ public class VisorSpisConfiguration implements Serializable { @Override public String toString() { return S.toString(VisorSpisConfiguration.class, this); } -} \ No newline at end of file +} http://git-wip-us.apache.org/repos/asf/ignite/blob/f177d431/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorTransactionConfiguration.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorTransactionConfiguration.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorTransactionConfiguration.java index 419350d..6855c43 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorTransactionConfiguration.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorTransactionConfiguration.java @@ -19,6 +19,7 @@ package org.apache.ignite.internal.visor.node; import java.io.Serializable; import org.apache.ignite.configuration.TransactionConfiguration; +import org.apache.ignite.internal.LessNamingBean; import org.apache.ignite.internal.util.typedef.internal.S; import org.apache.ignite.transactions.TransactionConcurrency; import org.apache.ignite.transactions.TransactionIsolation; @@ -26,7 +27,7 @@ import org.apache.ignite.transactions.TransactionIsolation; /** * Data transfer object for transaction configuration. */ -public class VisorTransactionConfiguration implements Serializable { +public class VisorTransactionConfiguration implements Serializable, LessNamingBean { /** */ private static final long serialVersionUID = 0L; @@ -113,4 +114,4 @@ public class VisorTransactionConfiguration implements Serializable { @Override public String toString() { return S.toString(VisorTransactionConfiguration.class, this); } -} \ No newline at end of file +} http://git-wip-us.apache.org/repos/asf/ignite/blob/f177d431/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryField.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryField.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryField.java index 3191e56..18b0d71 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryField.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryField.java @@ -18,13 +18,14 @@ package org.apache.ignite.internal.visor.query; import java.io.Serializable; +import org.apache.ignite.internal.LessNamingBean; import org.apache.ignite.internal.util.typedef.F; import org.apache.ignite.internal.util.typedef.internal.S; /** * Data transfer object for query field type description. */ -public class VisorQueryField implements Serializable { +public class VisorQueryField implements Serializable, LessNamingBean { /** */ private static final long serialVersionUID = 0L; @@ -102,4 +103,4 @@ public class VisorQueryField implements Serializable { @Override public String toString() { return S.toString(VisorQueryField.class, this); } -} \ No newline at end of file +} http://git-wip-us.apache.org/repos/asf/ignite/blob/f177d431/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryResult.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryResult.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryResult.java index b086f7c..21d1ed7 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryResult.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryResult.java @@ -19,12 +19,13 @@ package org.apache.ignite.internal.visor.query; import java.io.Serializable; import java.util.List; +import org.apache.ignite.internal.LessNamingBean; import org.apache.ignite.internal.util.typedef.internal.S; /** * Result for cache query tasks. */ -public class VisorQueryResult implements Serializable { +public class VisorQueryResult implements Serializable, LessNamingBean { /** */ private static final long serialVersionUID = 0L; @@ -75,4 +76,4 @@ public class VisorQueryResult implements Serializable { @Override public String toString() { return S.toString(VisorQueryResult.class, this); } -} \ No newline at end of file +} http://git-wip-us.apache.org/repos/asf/ignite/blob/f177d431/modules/core/src/main/java/org/apache/ignite/plugin/security/SecurityPermissionSet.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/plugin/security/SecurityPermissionSet.java b/modules/core/src/main/java/org/apache/ignite/plugin/security/SecurityPermissionSet.java index eecc169..9961501 100644 --- a/modules/core/src/main/java/org/apache/ignite/plugin/security/SecurityPermissionSet.java +++ b/modules/core/src/main/java/org/apache/ignite/plugin/security/SecurityPermissionSet.java @@ -20,6 +20,7 @@ package org.apache.ignite.plugin.security; import java.io.Serializable; import java.util.Collection; import java.util.Map; +import org.apache.ignite.internal.LessNamingBean; import org.jetbrains.annotations.Nullable; /** @@ -31,7 +32,7 @@ import org.jetbrains.annotations.Nullable; * Property {@link #defaultAllowAll()} specifies whether to allow or deny * cache and task operations if they were not explicitly specified. */ -public interface SecurityPermissionSet extends Serializable { +public interface SecurityPermissionSet extends Serializable, LessNamingBean { /** * Flag indicating whether to allow or deny cache and task operations * if they were not explicitly specified. @@ -63,4 +64,4 @@ public interface SecurityPermissionSet extends Serializable { * @return Collection of system-wide permissions. */ @Nullable public Collection<SecurityPermission> systemPermissions(); -} \ No newline at end of file +} http://git-wip-us.apache.org/repos/asf/ignite/blob/f177d431/modules/core/src/main/java/org/apache/ignite/plugin/security/SecuritySubject.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/plugin/security/SecuritySubject.java b/modules/core/src/main/java/org/apache/ignite/plugin/security/SecuritySubject.java index 1cf403a..b4005ea 100644 --- a/modules/core/src/main/java/org/apache/ignite/plugin/security/SecuritySubject.java +++ b/modules/core/src/main/java/org/apache/ignite/plugin/security/SecuritySubject.java @@ -20,11 +20,12 @@ package org.apache.ignite.plugin.security; import java.io.Serializable; import java.net.InetSocketAddress; import java.util.UUID; +import org.apache.ignite.internal.LessNamingBean; /** * Security subject representing authenticated node with a set of permissions. */ -public interface SecuritySubject extends Serializable { +public interface SecuritySubject extends Serializable, LessNamingBean { /** * Gets subject ID. * @@ -59,4 +60,4 @@ public interface SecuritySubject extends Serializable { * @return Authorized permission set for the subject. */ public SecurityPermissionSet permissions(); -} \ No newline at end of file +} http://git-wip-us.apache.org/repos/asf/ignite/blob/f177d431/modules/rest-http/pom.xml ---------------------------------------------------------------------- diff --git a/modules/rest-http/pom.xml b/modules/rest-http/pom.xml index c97d670..860c64d 100644 --- a/modules/rest-http/pom.xml +++ b/modules/rest-http/pom.xml @@ -97,28 +97,21 @@ </dependency> <dependency> - <groupId>net.sf.json-lib</groupId> - <artifactId>json-lib</artifactId> - <version>${jsonlib.version}</version> - <classifier>jdk15</classifier> + <groupId>com.fasterxml.jackson.core</groupId> + <artifactId>jackson-core</artifactId> + <version>${jackson2.version}</version> </dependency> <dependency> - <groupId>net.sf.ezmorph</groupId> - <artifactId>ezmorph</artifactId> - <version>${ezmorph.version}</version> + <groupId>com.fasterxml.jackson.core</groupId> + <artifactId>jackson-annotations</artifactId> + <version>${jackson2.version}</version> </dependency> <dependency> - <groupId>commons-collections</groupId> - <artifactId>commons-collections</artifactId> - <version>${commons.collections.version}</version> - </dependency> - - <dependency> - <groupId>commons-beanutils</groupId> - <artifactId>commons-beanutils</artifactId> - <version>${commons.beanutils.version}</version> + <groupId>com.fasterxml.jackson.core</groupId> + <artifactId>jackson-databind</artifactId> + <version>${jackson2.version}</version> </dependency> <dependency> http://git-wip-us.apache.org/repos/asf/ignite/blob/f177d431/modules/rest-http/src/main/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/GridJettyJsonConfig.java ---------------------------------------------------------------------- diff --git a/modules/rest-http/src/main/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/GridJettyJsonConfig.java b/modules/rest-http/src/main/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/GridJettyJsonConfig.java deleted file mode 100644 index c2795a4..0000000 --- a/modules/rest-http/src/main/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/GridJettyJsonConfig.java +++ /dev/null @@ -1,317 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.ignite.internal.processors.rest.protocols.http.jetty; - -import java.lang.reflect.Method; -import java.text.DateFormat; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collection; -import java.util.Date; -import java.util.HashMap; -import java.util.Locale; -import java.util.Map; -import java.util.Set; -import java.util.UUID; -import java.util.concurrent.locks.ReadWriteLock; -import java.util.concurrent.locks.ReentrantReadWriteLock; -import net.sf.json.JSONObject; -import net.sf.json.JsonConfig; -import net.sf.json.processors.JsonBeanProcessor; -import net.sf.json.processors.JsonBeanProcessorMatcher; -import net.sf.json.processors.JsonValueProcessor; -import net.sf.json.processors.JsonValueProcessorMatcher; -import org.apache.ignite.IgniteLogger; -import org.apache.ignite.internal.processors.cache.query.GridCacheSqlIndexMetadata; -import org.apache.ignite.internal.processors.cache.query.GridCacheSqlMetadata; -import org.apache.ignite.internal.util.typedef.internal.U; -import org.apache.ignite.internal.visor.cache.VisorCache; -import org.apache.ignite.lang.IgniteBiTuple; -import org.apache.ignite.lang.IgniteUuid; - -/** - * Jetty protocol json configuration. - */ -class GridJettyJsonConfig extends JsonConfig { - /** Logger. */ - private final IgniteLogger log; - - /** - * Class for finding a matching JsonBeanProcessor. - */ - private static final JsonBeanProcessorMatcher LESS_NAMING_BEAN_MATCHER = new JsonBeanProcessorMatcher() { - /** {@inheritDoc} */ - @Override public Object getMatch(Class target, Set keys) { - return GridJettyJsonConfig.getMatch(target, keys); - } - }; - - /** - * Class for finding a matching JsonValueProcessor. - */ - private static final JsonValueProcessorMatcher LESS_NAMING_VALUE_MATCHER = new JsonValueProcessorMatcher() { - /** {@inheritDoc} */ - @Override public Object getMatch(Class target, Set keys) { - return GridJettyJsonConfig.getMatch(target, keys); - } - }; - - /** - * Helper class for simple to-string conversion for {@link UUID}. - */ - private static JsonValueProcessor UUID_PROCESSOR = new JsonValueProcessor() { - /** {@inheritDoc} */ - @Override public Object processArrayValue(Object val, JsonConfig jsonCfg) { - if (val == null) - return new JSONObject(true); - - if (val instanceof UUID) - return val.toString(); - - throw new UnsupportedOperationException("Serialize value to json is not supported: " + val); - } - - /** {@inheritDoc} */ - @Override public Object processObjectValue(String key, Object val, JsonConfig jsonCfg) { - return processArrayValue(val, jsonCfg); - } - }; - - /** - * Helper class for simple to-string conversion for {@link UUID}. - */ - private static JsonValueProcessor IGNITE_BI_TUPLE_PROCESSOR = new JsonValueProcessor() { - /** {@inheritDoc} */ - @Override public Object processArrayValue(Object val, JsonConfig jsonCfg) { - if (val == null) - return new JSONObject(true); - - if (val instanceof IgniteBiTuple) { - IgniteBiTuple t2 = (IgniteBiTuple)val; - - final JSONObject ret = new JSONObject(); - - ret.element("key", t2.getKey(), jsonCfg); - ret.element("value", t2.getValue(), jsonCfg); - - return ret; - } - - throw new UnsupportedOperationException("Serialize value to json is not supported: " + val); - } - - /** {@inheritDoc} */ - @Override public Object processObjectValue(String key, Object val, JsonConfig jsonCfg) { - return processArrayValue(val, jsonCfg); - } - }; - - /** - * Helper class for simple to-string conversion for {@link IgniteUuid}. - */ - private static JsonValueProcessor IGNITE_UUID_PROCESSOR = new JsonValueProcessor() { - /** {@inheritDoc} */ - @Override public Object processArrayValue(Object val, JsonConfig jsonCfg) { - if (val == null) - return new JSONObject(true); - - if (val instanceof IgniteUuid) - return val.toString(); - - throw new UnsupportedOperationException("Serialize value to json is not supported: " + val); - } - - /** {@inheritDoc} */ - @Override public Object processObjectValue(String key, Object val, JsonConfig jsonCfg) { - return processArrayValue(val, jsonCfg); - } - }; - - /** - * Helper class for simple to-string conversion for {@link Date}. - */ - private static JsonValueProcessor DATE_PROCESSOR = new JsonValueProcessor() { - /** Thread local US date format. */ - private final ThreadLocal<DateFormat> dateFmt = new ThreadLocal<DateFormat>() { - @Override protected DateFormat initialValue() { - return DateFormat.getDateTimeInstance(DateFormat.DEFAULT, DateFormat.DEFAULT, Locale.US); - } - }; - - /** {@inheritDoc} */ - @Override public synchronized Object processArrayValue(Object val, JsonConfig jsonCfg) { - if (val == null) - return new JSONObject(true); - - if (val instanceof Date) - return dateFmt.get().format(val); - - throw new UnsupportedOperationException("Serialize value to json is not supported: " + val); - } - - /** {@inheritDoc} */ - @Override public synchronized Object processObjectValue(String key, Object val, JsonConfig jsonCfg) { - return processArrayValue(val, jsonCfg); - } - }; - - /** - * Constructs default jetty json config. - */ - GridJettyJsonConfig(IgniteLogger log) { - this.log = log; - - setAllowNonStringKeys(true); - - registerJsonValueProcessor(IgniteBiTuple.class, IGNITE_BI_TUPLE_PROCESSOR); - registerJsonValueProcessor(UUID.class, UUID_PROCESSOR); - registerJsonValueProcessor(IgniteUuid.class, IGNITE_UUID_PROCESSOR); - registerJsonValueProcessor(Date.class, DATE_PROCESSOR); - registerJsonValueProcessor(java.sql.Date.class, DATE_PROCESSOR); - - final LessNamingProcessor lessNamingProcessor = new LessNamingProcessor(); - - registerJsonBeanProcessor(LessNamingProcessor.class, lessNamingProcessor); - registerJsonValueProcessor(LessNamingProcessor.class, lessNamingProcessor); - - setJsonBeanProcessorMatcher(LESS_NAMING_BEAN_MATCHER); - setJsonValueProcessorMatcher(LESS_NAMING_VALUE_MATCHER); - } - - /** - * Returns the matching class calculated with the target class and the provided set. Matches the target class with - * instanceOf, for Visor classes return custom processor class. - * - * @param target the target class to match - * @param keys a set of possible matches - */ - private static Object getMatch(Class target, Set keys) { - if (target == null || keys == null) - return null; - - if (target.getSimpleName().startsWith("Visor") || - GridCacheSqlMetadata.class.isAssignableFrom(target) || - GridCacheSqlIndexMetadata.class.isAssignableFrom(target)) - return LessNamingProcessor.class; - - if (keys.contains(target)) - return target; - - for (Object key : keys) { - Class<?> clazz = (Class<?>)key; - - if (clazz.isAssignableFrom(target)) - return key; - } - - return null; - } - - /** - * Helper class for simple to-json conversion for Visor classes. - */ - private class LessNamingProcessor implements JsonBeanProcessor, JsonValueProcessor { - /** Methods to exclude. */ - private final Collection<String> exclMtds = Arrays.asList("toString", "hashCode", "clone", "getClass"); - - /** */ - private final Map<Class<?>, Collection<Method>> clsCache = new HashMap<>(); - - /** */ - private final ReadWriteLock rwLock = new ReentrantReadWriteLock(); - - /** {@inheritDoc} */ - @Override public JSONObject processBean(Object bean, JsonConfig jsonCfg) { - if (bean == null) - return new JSONObject(true); - - final JSONObject ret = new JSONObject(); - - Collection<Method> methods; - - Class<?> cls = bean.getClass(); - - // Get descriptor from cache. - rwLock.readLock().lock(); - - try { - methods = clsCache.get(cls); - } - finally { - rwLock.readLock().unlock(); - } - - // If missing in cache - build descriptor - if (methods == null) { - Method[] publicMtds = cls.getMethods(); - - methods = new ArrayList<>(publicMtds.length); - - for (Method mtd : publicMtds) { - Class retType = mtd.getReturnType(); - - if (mtd.getParameterTypes().length != 0 || - retType == void.class || - retType == cls || - exclMtds.contains(mtd.getName()) || - (retType == VisorCache.class && mtd.getName().equals("history"))) - continue; - - mtd.setAccessible(true); - - methods.add(mtd); - } - - /* - * Allow multiple puts for the same class - they will simply override. - */ - rwLock.writeLock().lock(); - - try { - clsCache.put(cls, methods); - } - finally { - rwLock.writeLock().unlock(); - } - } - - // Extract fields values using descriptor and build JSONObject. - for (Method mtd : methods) { - try { - ret.element(mtd.getName(), mtd.invoke(bean), jsonCfg); - } - catch (Exception e) { - U.error(log, "Failed to read object property [type= " + cls.getName() - + ", property=" + mtd.getName() + "]", e); - } - } - - return ret; - } - - /** {@inheritDoc} */ - @Override public Object processArrayValue(Object val, JsonConfig jsonCfg) { - return processBean(val, jsonCfg); - } - - /** {@inheritDoc} */ - @Override public Object processObjectValue(String key, Object val, JsonConfig jsonCfg) { - return processArrayValue(val, jsonCfg); - } - } -}
