Search in sources :

Example 1 with QueryCacheConfigHolder

use of com.hazelcast.client.impl.protocol.task.dynamicconfig.QueryCacheConfigHolder in project hazelcast by hazelcast.

the class ClientDynamicClusterConfig method addMapConfig.

@Override
public Config addMapConfig(MapConfig mapConfig) {
    List<ListenerConfigHolder> listenerConfigs = adaptListenerConfigs(mapConfig.getEntryListenerConfigs());
    List<ListenerConfigHolder> partitionLostListenerConfigs = adaptListenerConfigs(mapConfig.getPartitionLostListenerConfigs());
    List<QueryCacheConfigHolder> queryCacheConfigHolders = null;
    if (mapConfig.getQueryCacheConfigs() != null && !mapConfig.getQueryCacheConfigs().isEmpty()) {
        queryCacheConfigHolders = new ArrayList<>(mapConfig.getQueryCacheConfigs().size());
        for (QueryCacheConfig config : mapConfig.getQueryCacheConfigs()) {
            queryCacheConfigHolders.add(QueryCacheConfigHolder.of(config, serializationService));
        }
    }
    String partitioningStrategyClassName = mapConfig.getPartitioningStrategyConfig() == null ? null : mapConfig.getPartitioningStrategyConfig().getPartitioningStrategyClass();
    Data partitioningStrategy = mapConfig.getPartitioningStrategyConfig() == null ? null : serializationService.toData(mapConfig.getPartitioningStrategyConfig().getPartitioningStrategy());
    DataPersistenceAndHotRestartMerger.merge(mapConfig.getHotRestartConfig(), mapConfig.getDataPersistenceConfig());
    ClientMessage request = DynamicConfigAddMapConfigCodec.encodeRequest(mapConfig.getName(), mapConfig.getBackupCount(), mapConfig.getAsyncBackupCount(), mapConfig.getTimeToLiveSeconds(), mapConfig.getMaxIdleSeconds(), EvictionConfigHolder.of(mapConfig.getEvictionConfig(), serializationService), mapConfig.isReadBackupData(), mapConfig.getCacheDeserializedValues().name(), mapConfig.getMergePolicyConfig().getPolicy(), mapConfig.getMergePolicyConfig().getBatchSize(), mapConfig.getInMemoryFormat().name(), listenerConfigs, partitionLostListenerConfigs, mapConfig.isStatisticsEnabled(), mapConfig.getSplitBrainProtectionName(), MapStoreConfigHolder.of(mapConfig.getMapStoreConfig(), serializationService), NearCacheConfigHolder.of(mapConfig.getNearCacheConfig(), serializationService), mapConfig.getWanReplicationRef(), mapConfig.getIndexConfigs(), mapConfig.getAttributeConfigs(), queryCacheConfigHolders, partitioningStrategyClassName, partitioningStrategy, mapConfig.getHotRestartConfig(), mapConfig.getEventJournalConfig(), mapConfig.getMerkleTreeConfig(), mapConfig.getMetadataPolicy().getId(), mapConfig.isPerEntryStatsEnabled());
    invoke(request);
    return this;
}
Also used : QueryCacheConfigHolder(com.hazelcast.client.impl.protocol.task.dynamicconfig.QueryCacheConfigHolder) ListenerConfigHolder(com.hazelcast.client.impl.protocol.task.dynamicconfig.ListenerConfigHolder) QueryCacheConfig(com.hazelcast.config.QueryCacheConfig) Data(com.hazelcast.internal.serialization.Data) ClientMessage(com.hazelcast.client.impl.protocol.ClientMessage)

Example 2 with QueryCacheConfigHolder

use of com.hazelcast.client.impl.protocol.task.dynamicconfig.QueryCacheConfigHolder in project hazelcast by hazelcast.

the class ReferenceObjects method isEqual.

public static boolean isEqual(Object a, Object b) {
    if (a == b) {
        return true;
    }
    if (a == null || b == null) {
        return false;
    }
    if (a.getClass().isArray() && b.getClass().isArray()) {
        int length = Array.getLength(a);
        if (length > 0 && !a.getClass().getComponentType().equals(b.getClass().getComponentType())) {
            return false;
        }
        if (Array.getLength(b) != length) {
            return false;
        }
        for (int i = 0; i < length; i++) {
            Object aElement = Array.get(a, i);
            Object bElement = Array.get(b, i);
            if (aElement instanceof StackTraceElement && bElement instanceof StackTraceElement) {
                if (!isEqualStackTrace((StackTraceElement) aElement, (StackTraceElement) bElement)) {
                    return false;
                }
            }
            if (!isEqual(aElement, bElement)) {
                return false;
            }
        }
        return true;
    }
    if (a instanceof List && b instanceof List) {
        ListIterator e1 = ((List) a).listIterator();
        ListIterator e2 = ((List) b).listIterator();
        while (e1.hasNext() && e2.hasNext()) {
            Object o1 = e1.next();
            Object o2 = e2.next();
            if (!isEqual(o1, o2)) {
                return false;
            }
        }
        return !(e1.hasNext() || e2.hasNext());
    }
    if (a instanceof Entry && b instanceof Entry) {
        final Entry entryA = (Entry) a;
        final Entry entryB = (Entry) b;
        return isEqual(entryA.getKey(), entryB.getKey()) && isEqual(entryA.getValue(), entryB.getValue());
    }
    // following classes are list elements and have to be explicitly cast
    if (a instanceof ListenerConfigHolder && b instanceof ListenerConfigHolder) {
        return isEqual((ListenerConfigHolder) a, (ListenerConfigHolder) b);
    }
    if (a instanceof IndexConfig && b instanceof IndexConfig) {
        return isEqual((IndexConfig) a, (IndexConfig) b);
    }
    if (a instanceof AttributeConfig && b instanceof AttributeConfig) {
        return isEqual((AttributeConfig) a, (AttributeConfig) b);
    }
    if (a instanceof QueryCacheConfigHolder && b instanceof QueryCacheConfigHolder) {
        return isEqual((QueryCacheConfigHolder) a, (QueryCacheConfigHolder) b);
    }
    if (a instanceof CacheSimpleEntryListenerConfig && b instanceof CacheSimpleEntryListenerConfig) {
        return isEqual((CacheSimpleEntryListenerConfig) a, (CacheSimpleEntryListenerConfig) b);
    }
    return a.equals(b);
}
Also used : QueryCacheConfigHolder(com.hazelcast.client.impl.protocol.task.dynamicconfig.QueryCacheConfigHolder) Entry(java.util.Map.Entry) ListenerConfigHolder(com.hazelcast.client.impl.protocol.task.dynamicconfig.ListenerConfigHolder) IndexConfig(com.hazelcast.config.IndexConfig) List(java.util.List) ListIterator(java.util.ListIterator) AttributeConfig(com.hazelcast.config.AttributeConfig) CacheSimpleEntryListenerConfig(com.hazelcast.config.CacheSimpleEntryListenerConfig)

Aggregations

ListenerConfigHolder (com.hazelcast.client.impl.protocol.task.dynamicconfig.ListenerConfigHolder)2 QueryCacheConfigHolder (com.hazelcast.client.impl.protocol.task.dynamicconfig.QueryCacheConfigHolder)2 ClientMessage (com.hazelcast.client.impl.protocol.ClientMessage)1 AttributeConfig (com.hazelcast.config.AttributeConfig)1 CacheSimpleEntryListenerConfig (com.hazelcast.config.CacheSimpleEntryListenerConfig)1 IndexConfig (com.hazelcast.config.IndexConfig)1 QueryCacheConfig (com.hazelcast.config.QueryCacheConfig)1 Data (com.hazelcast.internal.serialization.Data)1 List (java.util.List)1 ListIterator (java.util.ListIterator)1 Entry (java.util.Map.Entry)1