private QuorumConfigBuilder handleRecentlyActiveQuorum(String name, Node node, int quorumSize) { QuorumConfigBuilder quorumConfigBuilder; int heartbeatToleranceMillis = getIntegerValue("heartbeat-tolerance-millis", getAttribute(node, "heartbeat-tolerance-millis"), RecentlyActiveQuorumConfigBuilder.DEFAULT_HEARTBEAT_TOLERANCE_MILLIS); quorumConfigBuilder = QuorumConfig.newRecentlyActiveQuorumConfigBuilder(name, quorumSize, heartbeatToleranceMillis); return quorumConfigBuilder; }
private QuorumConfigBuilder handleProbabilisticQuorum(String name, Node node, int quorumSize) { QuorumConfigBuilder quorumConfigBuilder; long acceptableHeartPause = getLongValue("acceptable-heartbeat-pause-millis", getAttribute(node, "acceptable-heartbeat-pause-millis"), ProbabilisticQuorumConfigBuilder.DEFAULT_HEARTBEAT_PAUSE_MILLIS); double threshold = getDoubleValue("suspicion-threshold", getAttribute(node, "suspicion-threshold"), ProbabilisticQuorumConfigBuilder.DEFAULT_PHI_THRESHOLD); int maxSampleSize = getIntegerValue("max-sample-size", getAttribute(node, "max-sample-size"), ProbabilisticQuorumConfigBuilder.DEFAULT_SAMPLE_SIZE); long minStdDeviation = getLongValue("min-std-deviation-millis", getAttribute(node, "min-std-deviation-millis"), ProbabilisticQuorumConfigBuilder.DEFAULT_MIN_STD_DEVIATION); long heartbeatIntervalMillis = getLongValue("heartbeat-interval-millis", getAttribute(node, "heartbeat-interval-millis"), ProbabilisticQuorumConfigBuilder.DEFAULT_HEARTBEAT_INTERVAL_MILLIS); quorumConfigBuilder = QuorumConfig.newProbabilisticQuorumConfigBuilder(name, quorumSize) .withAcceptableHeartbeatPauseMillis(acceptableHeartPause) .withSuspicionThreshold(threshold) .withHeartbeatIntervalMillis(heartbeatIntervalMillis) .withMinStdDeviationMillis(minStdDeviation) .withMaxSampleSize(maxSampleSize); return quorumConfigBuilder; }
private void handleEndpointGroup(Node node) { boolean enabled = getBooleanValue(getAttribute(node, "enabled")); String name = getAttribute(node, "name"); RestEndpointGroup endpointGroup; try { endpointGroup = RestEndpointGroup.valueOf(name); } catch (IllegalArgumentException e) { throw new InvalidConfigurationException("Wrong name attribute value was provided in endpoint-group element: " + name + "\nAllowed values: " + Arrays.toString(RestEndpointGroup.values())); } RestApiConfig restApiConfig = config.getRestApiConfig(); if (enabled) { restApiConfig.enableGroups(endpointGroup); } else { restApiConfig.disableGroups(endpointGroup); } } }
private MergePolicyConfig createMergePolicyConfig(Node node) { MergePolicyConfig mergePolicyConfig = new MergePolicyConfig(); String policyString = getTextContent(node).trim(); mergePolicyConfig.setPolicy(policyString); final String att = getAttribute(node, "batch-size"); if (att != null) { mergePolicyConfig.setBatchSize(getIntegerValue("batch-size", att)); } return mergePolicyConfig; }
private void handleFlakeIdGenerator(Node node) { String name = getAttribute(node, "name"); FlakeIdGeneratorConfig generatorConfig = new FlakeIdGeneratorConfig(name); for (Node child : childElements(node)) { String nodeName = cleanNodeName(child); String value = getTextContent(child).trim(); if ("prefetch-count".equals(nodeName)) { generatorConfig.setPrefetchCount(Integer.parseInt(value)); } else if ("prefetch-validity-millis".equalsIgnoreCase(nodeName)) { generatorConfig.setPrefetchValidityMillis(Long.parseLong(value)); } else if ("id-offset".equalsIgnoreCase(nodeName)) { generatorConfig.setIdOffset(Long.parseLong(value)); } else if ("node-id-offset".equalsIgnoreCase(nodeName)) { generatorConfig.setNodeIdOffset(Long.parseLong(value)); } else if ("statistics-enabled".equals(nodeName)) { generatorConfig.setStatisticsEnabled(getBooleanValue(value)); } } config.addFlakeIdGeneratorConfig(generatorConfig); }
private void handleMemcacheProtocol(Node node) { MemcacheProtocolConfig memcacheProtocolConfig = new MemcacheProtocolConfig(); config.setMemcacheProtocolConfig(memcacheProtocolConfig); boolean enabled = getBooleanValue(getAttribute(node, "enabled")); memcacheProtocolConfig.setEnabled(enabled); }
private void handleLock(Node node) { String name = getAttribute(node, "name"); LockConfig lockConfig = new LockConfig(); lockConfig.setName(name); for (Node n : childElements(node)) { String nodeName = cleanNodeName(n); String value = getTextContent(n).trim(); if ("quorum-ref".equals(nodeName)) { lockConfig.setQuorumName(value); } } config.addLockConfig(lockConfig); }
private void cacheListenerHandle(Node n, CacheSimpleConfig cacheSimpleConfig) { for (Node listenerNode : childElements(n)) { if ("cache-entry-listener".equals(cleanNodeName(listenerNode))) { CacheSimpleEntryListenerConfig listenerConfig = new CacheSimpleEntryListenerConfig(); for (Node listenerChildNode : childElements(listenerNode)) { if ("cache-entry-listener-factory".equals(cleanNodeName(listenerChildNode))) { listenerConfig.setCacheEntryListenerFactory(getAttribute(listenerChildNode, "class-name")); } if ("cache-entry-event-filter-factory".equals(cleanNodeName(listenerChildNode))) { listenerConfig.setCacheEntryEventFilterFactory(getAttribute(listenerChildNode, "class-name")); } } NamedNodeMap attrs = listenerNode.getAttributes(); listenerConfig.setOldValueRequired(getBooleanValue(getTextContent(attrs.getNamedItem("old-value-required")))); listenerConfig.setSynchronous(getBooleanValue(getTextContent(attrs.getNamedItem("synchronous")))); cacheSimpleConfig.addEntryListenerConfig(listenerConfig); } } }
private void handleRestApi(Node node) { RestApiConfig restApiConfig = new RestApiConfig(); config.setRestApiConfig(restApiConfig); boolean enabled = getBooleanValue(getAttribute(node, "enabled")); restApiConfig.setEnabled(enabled); for (Node child : childElements(node)) { String nodeName = cleanNodeName(child); if ("endpoint-group".equals(nodeName)) { handleEndpointGroup(child); } } }
private CacheSimpleConfig.ExpiryPolicyFactoryConfig.TimedExpiryPolicyFactoryConfig getTimedExpiryPolicyFactoryConfig( Node node) { String expiryPolicyTypeStr = getAttribute(node, "expiry-policy-type"); String durationAmountStr = getAttribute(node, "duration-amount"); String timeUnitStr = getAttribute(node, "time-unit"); ExpiryPolicyType expiryPolicyType = ExpiryPolicyType.valueOf(upperCaseInternal(expiryPolicyTypeStr)); if (expiryPolicyType != ExpiryPolicyType.ETERNAL && (isNullOrEmpty(durationAmountStr) || isNullOrEmpty(timeUnitStr))) {
private void handleCache(Node node) { String name = getAttribute(node, "name"); CacheSimpleConfig cacheConfig = new CacheSimpleConfig(); cacheConfig.setName(name); String value = getTextContent(n).trim(); if ("key-type".equals(nodeName)) { cacheConfig.setKeyType(getAttribute(n, "class-name")); } else if ("value-type".equals(nodeName)) { cacheConfig.setValueType(getAttribute(n, "class-name")); } else if ("statistics-enabled".equals(nodeName)) { cacheConfig.setStatisticsEnabled(getBooleanValue(value)); cacheConfig.setWriteThrough(getBooleanValue(value)); } else if ("cache-loader-factory".equals(nodeName)) { cacheConfig.setCacheLoaderFactory(getAttribute(n, "class-name")); } else if ("cache-loader".equals(nodeName)) { cacheConfig.setCacheLoader(getAttribute(n, "class-name")); } else if ("cache-writer-factory".equals(nodeName)) { cacheConfig.setCacheWriterFactory(getAttribute(n, "class-name")); } else if ("cache-writer".equals(nodeName)) { cacheConfig.setCacheWriter(getAttribute(n, "class-name")); } else if ("expiry-policy-factory".equals(nodeName)) { cacheConfig.setExpiryPolicyFactoryConfig(getExpiryPolicyFactoryConfig(n));
private void mapWanReplicationRefHandle(Node n, MapConfig mapConfig) { WanReplicationRef wanReplicationRef = new WanReplicationRef(); String wanName = getAttribute(n, "name"); wanReplicationRef.setName(wanName); for (Node wanChild : childElements(n)) { String wanChildName = cleanNodeName(wanChild); String wanChildValue = getTextContent(wanChild); if ("merge-policy".equals(wanChildName)) { wanReplicationRef.setMergePolicy(wanChildValue); } else if ("republishing-enabled".equals(wanChildName)) { wanReplicationRef.setRepublishingEnabled(getBooleanValue(wanChildValue)); } else if ("filters".equals(wanChildName)) { handleWanFilters(wanChild, wanReplicationRef); } } mapConfig.setWanReplicationRef(wanReplicationRef); }
@SuppressWarnings("deprecation") private NearCacheConfig handleNearCacheConfig(Node node) { String name = getAttribute(node, "name"); NearCacheConfig nearCacheConfig = new NearCacheConfig(name); Boolean serializeKeys = null;
private void cacheWanReplicationRefHandle(Node n, CacheSimpleConfig cacheConfig) { WanReplicationRef wanReplicationRef = new WanReplicationRef(); String wanName = getAttribute(n, "name"); wanReplicationRef.setName(wanName); for (Node wanChild : childElements(n)) { String wanChildName = cleanNodeName(wanChild); String wanChildValue = getTextContent(wanChild); if ("merge-policy".equals(wanChildName)) { wanReplicationRef.setMergePolicy(wanChildValue); } else if ("filters".equals(wanChildName)) { handleWanFilters(wanChild, wanReplicationRef); } else if ("republishing-enabled".equals(wanChildName)) { wanReplicationRef.setRepublishingEnabled(getBooleanValue(wanChildValue)); } } cacheConfig.setWanReplicationRef(wanReplicationRef); }
private void handleHotRestartPersistence(Node hrRoot) { HotRestartPersistenceConfig hrConfig = new HotRestartPersistenceConfig() .setEnabled(getBooleanValue(getAttribute(hrRoot, "enabled"))); String parallelismName = "parallelism"; String validationTimeoutName = "validation-timeout-seconds"; String dataLoadTimeoutName = "data-load-timeout-seconds"; String clusterDataRecoveryPolicyName = "cluster-data-recovery-policy"; String autoRemoveStaleDataName = "auto-remove-stale-data"; for (Node n : childElements(hrRoot)) { String name = cleanNodeName(n); String value = getTextContent(n); if ("base-dir".equals(name)) { hrConfig.setBaseDir(new File(value).getAbsoluteFile()); } else if ("backup-dir".equals(name)) { hrConfig.setBackupDir(new File(value).getAbsoluteFile()); } else if (parallelismName.equals(name)) { hrConfig.setParallelism(getIntegerValue(parallelismName, value)); } else if (validationTimeoutName.equals(name)) { hrConfig.setValidationTimeoutSeconds(getIntegerValue(validationTimeoutName, value)); } else if (dataLoadTimeoutName.equals(name)) { hrConfig.setDataLoadTimeoutSeconds(getIntegerValue(dataLoadTimeoutName, value)); } else if (clusterDataRecoveryPolicyName.equals(name)) { hrConfig.setClusterDataRecoveryPolicy(HotRestartClusterDataRecoveryPolicy .valueOf(upperCaseInternal(value))); } else if (autoRemoveStaleDataName.equals(name)) { hrConfig.setAutoRemoveStaleData(getBooleanValue(value)); } } config.setHotRestartPersistenceConfig(hrConfig); }
private void handleWanReplication(Node node) { Node attName = node.getAttributes().getNamedItem("name"); String name = getTextContent(attName); WanReplicationConfig wanReplicationConfig = new WanReplicationConfig(); wanReplicationConfig.setName(name); for (Node nodeTarget : childElements(node)) { String nodeName = cleanNodeName(nodeTarget); if ("wan-publisher".equals(nodeName)) { WanPublisherConfig publisherConfig = new WanPublisherConfig(); publisherConfig.setGroupName(getAttribute(nodeTarget, "group-name")); publisherConfig.setPublisherId(getAttribute(nodeTarget, "publisher-id")); for (Node targetChild : childElements(nodeTarget)) { handleWanPublisherConfig(publisherConfig, targetChild); } wanReplicationConfig.addWanPublisherConfig(publisherConfig); } else if ("wan-consumer".equals(nodeName)) { WanConsumerConfig consumerConfig = new WanConsumerConfig(); for (Node targetChild : childElements(nodeTarget)) { handleWanConsumerConfig(consumerConfig, targetChild); } wanReplicationConfig.setWanConsumerConfig(consumerConfig); } } config.addWanReplicationConfig(wanReplicationConfig); }
private CacheSimpleConfig.ExpiryPolicyFactoryConfig getExpiryPolicyFactoryConfig(Node node) { String className = getAttribute(node, "class-name"); if (!isNullOrEmpty(className)) { return new CacheSimpleConfig.ExpiryPolicyFactoryConfig(className); } else { CacheSimpleConfig.ExpiryPolicyFactoryConfig.TimedExpiryPolicyFactoryConfig timedExpiryPolicyFactoryConfig = null; for (Node n : childElements(node)) { String nodeName = cleanNodeName(n); if ("timed-expiry-policy-factory".equals(nodeName)) { timedExpiryPolicyFactoryConfig = getTimedExpiryPolicyFactoryConfig(n); } } if (timedExpiryPolicyFactoryConfig == null) { throw new InvalidConfigurationException( "One of the \"class-name\" or \"timed-expire-policy-factory\" configuration " + "is needed for expiry policy factory configuration"); } else { return new CacheSimpleConfig.ExpiryPolicyFactoryConfig(timedExpiryPolicyFactoryConfig); } } }
if ("service".equals(nodeName)) { ServiceConfig serviceConfig = new ServiceConfig(); String enabledValue = getAttribute(child, "enabled"); boolean enabled = getBooleanValue(enabledValue); serviceConfig.setEnabled(enabled);
@SuppressWarnings("deprecation") private void handleMap(Node parentNode) { String name = getAttribute(parentNode, "name"); MapConfig mapConfig = new MapConfig(); mapConfig.setName(name);
private void handleQuorum(Node node) { QuorumConfig quorumConfig = new QuorumConfig(); String name = getAttribute(node, "name"); quorumConfig.setName(name); Node attrEnabled = node.getAttributes().getNamedItem("enabled");