public QueryCacheConfig asQueryCacheConfig(SerializationService serializationService) { QueryCacheConfig config = new QueryCacheConfig(); config.setBatchSize(batchSize); config.setBufferSize(bufferSize); config.setCoalesce(coalesce); config.setDelaySeconds(delaySeconds); config.setEvictionConfig(evictionConfigHolder.asEvictionConfg(serializationService)); if (listenerConfigs != null && !listenerConfigs.isEmpty()) { List<EntryListenerConfig> entryListenerConfigs = new ArrayList<EntryListenerConfig>(listenerConfigs.size()); for (ListenerConfigHolder holder : listenerConfigs) { entryListenerConfigs.add((EntryListenerConfig) holder.asListenerConfig(serializationService)); } config.setEntryListenerConfigs(entryListenerConfigs); } else { config.setEntryListenerConfigs(new ArrayList<EntryListenerConfig>()); } config.setIncludeValue(includeValue); config.setInMemoryFormat(InMemoryFormat.valueOf(inMemoryFormat)); config.setIndexConfigs(indexConfigs == null ? new ArrayList<MapIndexConfig>() : indexConfigs); config.setName(name); config.setPredicateConfig(predicateConfigHolder.asPredicateConfig(serializationService)); config.setPopulate(populate); return config; }
private static Predicate getPredicate(QueryCacheConfig config, Predicate predicate) { if (predicate != null) { return predicate; } Predicate implementation = config.getPredicateConfig().getImplementation(); if (implementation != null) { return implementation; } throw new IllegalArgumentException("Predicate cannot be null"); }
@Override public List<QueryCacheConfig> getQueryCacheConfigs() { List<QueryCacheConfig> queryCacheConfigs = super.getQueryCacheConfigs(); List<QueryCacheConfig> readOnlyOnes = new ArrayList<QueryCacheConfig>(queryCacheConfigs.size()); for (QueryCacheConfig config : queryCacheConfigs) { readOnlyOnes.add(config.getAsReadOnly()); } return Collections.unmodifiableList(readOnlyOnes); }
private static int calculateBatchSize(QueryCacheConfig config) { // batchSize can not be higher than bufferSize. int batchSize = config.getBatchSize(); int bufferSize = config.getBufferSize(); return batchSize > bufferSize ? bufferSize : batchSize; }
public static AccumulatorInfo createAccumulatorInfo(QueryCacheConfig config, String mapName, String cacheId, Predicate predicate) { checkNotNull(config, "config cannot be null"); AccumulatorInfo info = new AccumulatorInfo(); info.mapName = mapName; info.cacheId = cacheId; info.batchSize = calculateBatchSize(config); info.bufferSize = config.getBufferSize(); info.delaySeconds = config.getDelaySeconds(); info.includeValue = config.isIncludeValue(); info.populate = config.isPopulate(); info.predicate = getPredicate(config, predicate); info.coalesce = config.isCoalesce(); info.publishable = false; return info; }
public static QueryCacheConfigHolder of(QueryCacheConfig config, SerializationService serializationService) { QueryCacheConfigHolder holder = new QueryCacheConfigHolder(); holder.setBatchSize(config.getBatchSize()); holder.setBufferSize(config.getBufferSize()); holder.setCoalesce(config.isCoalesce()); holder.setDelaySeconds(config.getDelaySeconds()); holder.setEvictionConfigHolder(EvictionConfigHolder.of(config.getEvictionConfig(), serializationService)); holder.setIncludeValue(config.isIncludeValue()); holder.setInMemoryFormat(config.getInMemoryFormat().toString()); holder.setName(config.getName()); if (config.getIndexConfigs() != null && !config.getIndexConfigs().isEmpty()) { List<MapIndexConfig> indexConfigs = new ArrayList<MapIndexConfig>(config.getIndexConfigs().size()); for (MapIndexConfig indexConfig : config.getIndexConfigs()) { indexConfigs.add(new MapIndexConfig(indexConfig)); } holder.setIndexConfigs(indexConfigs); } if (config.getEntryListenerConfigs() != null && !config.getEntryListenerConfigs().isEmpty()) { List<ListenerConfigHolder> listenerConfigHolders = new ArrayList<ListenerConfigHolder>(config.getEntryListenerConfigs().size()); for (EntryListenerConfig listenerConfig : config.getEntryListenerConfigs()) { listenerConfigHolders.add(ListenerConfigHolder.of(listenerConfig, serializationService)); } holder.setListenerConfigs(listenerConfigHolders); } holder.setPredicateConfigHolder(PredicateConfigHolder.of(config.getPredicateConfig(), serializationService)); holder.setPopulate(config.isPopulate()); return holder; }
NamedNodeMap attrs = queryCacheNode.getAttributes(); String cacheName = getTextContent(attrs.getNamedItem("name")); QueryCacheConfig queryCacheConfig = new QueryCacheConfig(cacheName); for (Node childNode : childElements(queryCacheNode)) { String nodeName = cleanNodeName(childNode); boolean local = getBooleanValue(getTextContent(listenerNodeAttributes.getNamedItem("local"))); String listenerClass = getTextContent(listenerNode); queryCacheConfig.addEntryListenerConfig(new EntryListenerConfig(listenerClass, local, incValue)); if ("include-value".equals(nodeName)) { boolean includeValue = getBooleanValue(textContent); queryCacheConfig.setIncludeValue(includeValue); } else if ("batch-size".equals(nodeName)) { int batchSize = getIntegerValue("batch-size", textContent.trim()); queryCacheConfig.setBatchSize(batchSize); } else if ("buffer-size".equals(nodeName)) { int bufferSize = getIntegerValue("buffer-size", textContent.trim()); queryCacheConfig.setBufferSize(bufferSize); } else if ("delay-seconds".equals(nodeName)) { int delaySeconds = getIntegerValue("delay-seconds", textContent.trim()); queryCacheConfig.setDelaySeconds(delaySeconds); } else if ("in-memory-format".equals(nodeName)) { String value = textContent.trim(); queryCacheConfig.setInMemoryFormat(InMemoryFormat.valueOf(upperCaseInternal(value))); } else if ("coalesce".equals(nodeName)) { boolean coalesce = getBooleanValue(textContent); queryCacheConfig.setCoalesce(coalesce); } else if ("populate".equals(nodeName)) {
@Override public IdentifiedDataSerializable createNew(Integer arg) { return new QueryCacheConfig(); } };
Hazelcast.newHazelcastInstance(); QueryCacheConfig queryCacheConfig = new QueryCacheConfig(cacheName); queryCacheConfig.getPredicateConfig().setImplementation(new OddKeysPredicate());
private QueryCacheConfig initQueryCacheConfig(QueryCacheRequest request, String cacheId) { Predicate predicate = request.getPredicate(); QueryCacheConfig queryCacheConfig; if (predicate == null) { queryCacheConfig = getOrNullQueryCacheConfig(mapName, request.getCacheName(), cacheId); } else { queryCacheConfig = getOrCreateQueryCacheConfig(mapName, request.getCacheName(), cacheId); queryCacheConfig.setIncludeValue(request.isIncludeValue()); queryCacheConfig.getPredicateConfig().setImplementation(predicate); } if (queryCacheConfig == null) { return null; } this.predicate = queryCacheConfig.getPredicateConfig().getImplementation(); return queryCacheConfig; }
@Override public EvictionConfig getEvictionConfig() { return super.getEvictionConfig().getAsReadOnly(); }
@Override public List<EntryListenerConfig> getEntryListenerConfigs() { List<EntryListenerConfig> listenerConfigs = super.getEntryListenerConfigs(); List<EntryListenerConfig> readOnlyListenerConfigs = new ArrayList<EntryListenerConfig>(listenerConfigs.size()); for (EntryListenerConfig listenerConfig : listenerConfigs) { readOnlyListenerConfigs.add(listenerConfig.getAsReadOnly()); } return Collections.unmodifiableList(readOnlyListenerConfigs); }
private void queryCacheIndexesHandle(Node n, QueryCacheConfig queryCacheConfig) { for (Node indexNode : childElements(n)) { if ("index".equals(cleanNodeName(indexNode))) { final NamedNodeMap attrs = indexNode.getAttributes(); boolean ordered = getBooleanValue(getTextContent(attrs.getNamedItem("ordered"))); String attribute = getTextContent(indexNode); queryCacheConfig.addIndexConfig(new MapIndexConfig(attribute, ordered)); } } }
private void handleEntryListeners(QueryCacheConfig queryCacheConfig, Node childNode) { for (Node listenerNode : childElements(childNode)) { if ("entry-listener".equals(cleanNodeName(listenerNode))) { NamedNodeMap listenerNodeAttributes = listenerNode.getAttributes(); boolean incValue = getBooleanValue(getTextContent(listenerNodeAttributes.getNamedItem("include-value"))); boolean local = getBooleanValue(getTextContent(listenerNodeAttributes.getNamedItem("local"))); String listenerClass = getTextContent(listenerNode); queryCacheConfig.addEntryListenerConfig( new EntryListenerConfig(listenerClass, local, incValue)); } } }
public static QueryCacheConfigHolder of(QueryCacheConfig config, SerializationService serializationService) { QueryCacheConfigHolder holder = new QueryCacheConfigHolder(); holder.setBatchSize(config.getBatchSize()); holder.setBufferSize(config.getBufferSize()); holder.setCoalesce(config.isCoalesce()); holder.setDelaySeconds(config.getDelaySeconds()); holder.setEvictionConfigHolder(EvictionConfigHolder.of(config.getEvictionConfig(), serializationService)); holder.setIncludeValue(config.isIncludeValue()); holder.setInMemoryFormat(config.getInMemoryFormat().toString()); holder.setName(config.getName()); if (config.getIndexConfigs() != null && !config.getIndexConfigs().isEmpty()) { List<MapIndexConfig> indexConfigs = new ArrayList<MapIndexConfig>(config.getIndexConfigs().size()); for (MapIndexConfig indexConfig : config.getIndexConfigs()) { indexConfigs.add(new MapIndexConfig(indexConfig)); } holder.setIndexConfigs(indexConfigs); } if (config.getEntryListenerConfigs() != null && !config.getEntryListenerConfigs().isEmpty()) { List<ListenerConfigHolder> listenerConfigHolders = new ArrayList<ListenerConfigHolder>(config.getEntryListenerConfigs().size()); for (EntryListenerConfig listenerConfig : config.getEntryListenerConfigs()) { listenerConfigHolders.add(ListenerConfigHolder.of(listenerConfig, serializationService)); } holder.setListenerConfigs(listenerConfigHolders); } holder.setPredicateConfigHolder(PredicateConfigHolder.of(config.getPredicateConfig(), serializationService)); holder.setPopulate(config.isPopulate()); return holder; }
NamedNodeMap attrs = queryCacheNode.getAttributes(); String cacheName = getTextContent(attrs.getNamedItem("name")); QueryCacheConfig queryCacheConfig = new QueryCacheConfig(cacheName); for (Node childNode : childElements(queryCacheNode)) { String nodeName = cleanNodeName(childNode); boolean local = getBooleanValue(getTextContent(listenerNodeAttributes.getNamedItem("local"))); String listenerClass = getTextContent(listenerNode); queryCacheConfig.addEntryListenerConfig(new EntryListenerConfig(listenerClass, local, incValue)); if ("include-value".equals(nodeName)) { boolean includeValue = getBooleanValue(textContent); queryCacheConfig.setIncludeValue(includeValue); } else if ("batch-size".equals(nodeName)) { int batchSize = getIntegerValue("batch-size", textContent.trim()); queryCacheConfig.setBatchSize(batchSize); } else if ("buffer-size".equals(nodeName)) { int bufferSize = getIntegerValue("buffer-size", textContent.trim()); queryCacheConfig.setBufferSize(bufferSize); } else if ("delay-seconds".equals(nodeName)) { int delaySeconds = getIntegerValue("delay-seconds", textContent.trim()); queryCacheConfig.setDelaySeconds(delaySeconds); } else if ("in-memory-format".equals(nodeName)) { String value = textContent.trim(); queryCacheConfig.setInMemoryFormat(InMemoryFormat.valueOf(upperCaseInternal(value))); } else if ("coalesce".equals(nodeName)) { boolean coalesce = getBooleanValue(textContent); queryCacheConfig.setCoalesce(coalesce); } else if ("populate".equals(nodeName)) {
public static AccumulatorInfo toAccumulatorInfo(QueryCacheConfig config, String mapName, String cacheId, Predicate predicate) { checkNotNull(config, "config cannot be null"); AccumulatorInfo info = new AccumulatorInfo(); info.mapName = mapName; info.cacheId = cacheId; info.batchSize = calculateBatchSize(config); info.bufferSize = config.getBufferSize(); info.delaySeconds = config.getDelaySeconds(); info.includeValue = config.isIncludeValue(); info.populate = config.isPopulate(); info.predicate = getPredicate(config, predicate); info.coalesce = config.isCoalesce(); info.publishable = false; return info; }
@Override public IdentifiedDataSerializable createNew(Integer arg) { return new QueryCacheConfig(); } };
private QueryCacheConfig initQueryCacheConfig(QueryCacheRequest request, String cacheId) { Predicate predicate = request.getPredicate(); QueryCacheConfig queryCacheConfig; if (predicate == null) { // user called IMap#getQueryCache method only providing // a name (but without a predicate), here we are trying // to find a matching configuration for this query cache. queryCacheConfig = getOrNullQueryCacheConfig(mapName, request.getCacheName(), cacheId); } else { queryCacheConfig = getOrCreateQueryCacheConfig(mapName, request.getCacheName(), cacheId); queryCacheConfig.setIncludeValue(request.isIncludeValue()); queryCacheConfig.getPredicateConfig().setImplementation(predicate); } if (queryCacheConfig == null) { return null; } this.predicate = queryCacheConfig.getPredicateConfig().getImplementation(); return queryCacheConfig; }
private static int calculateBatchSize(QueryCacheConfig config) { // batchSize can not be higher than bufferSize. int batchSize = config.getBatchSize(); int bufferSize = config.getBufferSize(); return batchSize > bufferSize ? bufferSize : batchSize; }