/** * Create instance from String * * @param string * @return instance of {@link CacheDeserializedValues} * @throws IllegalArgumentException when unknown value is passed */ public static CacheDeserializedValues parseString(String string) { String upperCase = StringUtil.upperCaseInternal(string); if ("NEVER".equals(upperCase)) { return NEVER; } else if ("INDEX_ONLY".equals(upperCase) || "INDEX-ONLY".equals(upperCase)) { return INDEX_ONLY; } else if ("ALWAYS".equals(upperCase)) { return ALWAYS; } else { throw new IllegalArgumentException("Unknown CacheDeserializedValues option '" + string + "'. " + "Possible options: " + Arrays.toString(CacheDeserializedValues.values())); } } }
/** * Create instance from String * * @param string * @return instance of {@link CacheDeserializedValues} * @throws IllegalArgumentException when unknown value is passed */ public static CacheDeserializedValues parseString(String string) { String upperCase = StringUtil.upperCaseInternal(string); if ("NEVER".equals(upperCase)) { return NEVER; } else if ("INDEX_ONLY".equals(upperCase) || "INDEX-ONLY".equals(upperCase)) { return INDEX_ONLY; } else if ("ALWAYS".equals(upperCase)) { return ALWAYS; } else { throw new IllegalArgumentException("Unknown CacheDeserializedValues option '" + string + "'. " + "Possible options: " + Arrays.toString(CacheDeserializedValues.values())); } } }
private EvictionConfig getEvictionConfig(Node node) { EvictionConfig evictionConfig = new EvictionConfig(); Node size = node.getAttributes().getNamedItem("size"); Node maxSizePolicy = node.getAttributes().getNamedItem("max-size-policy"); Node evictionPolicy = node.getAttributes().getNamedItem("eviction-policy"); if (size != null) { evictionConfig.setSize(Integer.parseInt(getTextContent(size))); } if (maxSizePolicy != null) { evictionConfig .setMaximumSizePolicy(EvictionConfig.MaxSizePolicy.valueOf(upperCaseInternal(getTextContent(maxSizePolicy))) ); } if (evictionPolicy != null) { evictionConfig.setEvictionPolicy(EvictionPolicy.valueOf(upperCaseInternal(getTextContent(evictionPolicy))) ); } return evictionConfig; }
private EvictionConfig getEvictionConfig(Node node) { EvictionConfig evictionConfig = new EvictionConfig(); Node size = node.getAttributes().getNamedItem("size"); Node maxSizePolicy = node.getAttributes().getNamedItem("max-size-policy"); Node evictionPolicy = node.getAttributes().getNamedItem("eviction-policy"); if (size != null) { evictionConfig.setSize(Integer.parseInt(getTextContent(size))); } if (maxSizePolicy != null) { evictionConfig.setMaximumSizePolicy(MaxSizePolicy.valueOf(upperCaseInternal(getTextContent(maxSizePolicy))) ); } if (evictionPolicy != null) { evictionConfig.setEvictionPolicy(EvictionPolicy.valueOf(upperCaseInternal(getTextContent(evictionPolicy))) ); } return evictionConfig; }
private EvictionConfig getEvictionConfig(final Node node) { final EvictionConfig evictionConfig = new EvictionConfig(); final Node size = node.getAttributes().getNamedItem("size"); final Node maxSizePolicy = node.getAttributes().getNamedItem("max-size-policy"); final Node evictionPolicy = node.getAttributes().getNamedItem("eviction-policy"); if (size != null) { evictionConfig.setSize(Integer.parseInt(getTextContent(size))); } if (maxSizePolicy != null) { evictionConfig.setMaximumSizePolicy( EvictionConfig.MaxSizePolicy.valueOf( upperCaseInternal(getTextContent(maxSizePolicy))) ); } if (evictionPolicy != null) { evictionConfig.setEvictionPolicy( EvictionPolicy.valueOf( upperCaseInternal(getTextContent(evictionPolicy))) ); } return evictionConfig; }
private EvictionConfig getEvictionConfig(final Node node) { final EvictionConfig evictionConfig = new EvictionConfig(); final Node size = node.getAttributes().getNamedItem("size"); final Node maxSizePolicy = node.getAttributes().getNamedItem("max-size-policy"); final Node evictionPolicy = node.getAttributes().getNamedItem("eviction-policy"); if (size != null) { evictionConfig.setSize(Integer.parseInt(getTextContent(size))); } if (maxSizePolicy != null) { evictionConfig.setMaximumSizePolicy( EvictionConfig.MaxSizePolicy.valueOf( upperCaseInternal(getTextContent(maxSizePolicy))) ); } if (evictionPolicy != null) { evictionConfig.setEvictionPolicy( EvictionPolicy.valueOf( upperCaseInternal(getTextContent(evictionPolicy))) ); } return evictionConfig; }
private void handleWanSync(WanSyncConfig wanSyncConfig, Node node) { for (Node child : childElements(node)) { String nodeName = cleanNodeName(child); if ("consistency-check-strategy".equals(nodeName)) { String strategy = getTextContent(child); wanSyncConfig.setConsistencyCheckStrategy( ConsistencyCheckStrategy.valueOf(upperCaseInternal(strategy))); } } }
private void handleWanSync(WanSyncConfig wanSyncConfig, Node node) { for (Node child : childElements(node)) { String nodeName = cleanNodeName(child); if ("consistency-check-strategy".equals(nodeName)) { String strategy = getTextContent(child); wanSyncConfig.setConsistencyCheckStrategy( ConsistencyCheckStrategy.valueOf(upperCaseInternal(strategy))); } } }
private EvictionConfig getEvictionConfig(Node node, boolean isNearCache) { EvictionConfig evictionConfig = new EvictionConfig(); Node size = node.getAttributes().getNamedItem("size"); Node maxSizePolicy = node.getAttributes().getNamedItem("max-size-policy"); Node evictionPolicy = node.getAttributes().getNamedItem("eviction-policy"); Node comparatorClassName = node.getAttributes().getNamedItem("comparator-class-name"); if (size != null) { evictionConfig.setSize(parseInt(getTextContent(size))); } if (maxSizePolicy != null) { evictionConfig .setMaximumSizePolicy(EvictionConfig.MaxSizePolicy.valueOf(upperCaseInternal(getTextContent(maxSizePolicy))) ); } if (evictionPolicy != null) { evictionConfig.setEvictionPolicy(EvictionPolicy.valueOf(upperCaseInternal(getTextContent(evictionPolicy))) ); } if (comparatorClassName != null) { evictionConfig.setComparatorClassName(getTextContent(comparatorClassName)); } try { checkEvictionConfig(evictionConfig, isNearCache); } catch (IllegalArgumentException e) { throw new InvalidConfigurationException(e.getMessage()); } return evictionConfig; }
public void handleMapStoreConfig(Node node, BeanDefinitionBuilder mapConfigBuilder) { BeanDefinitionBuilder mapStoreConfigBuilder = createBeanBuilder(MapStoreConfig.class); AbstractBeanDefinition beanDefinition = mapStoreConfigBuilder.getBeanDefinition(); for (Node child : childElements(node)) { if ("properties".equals(cleanNodeName(child))) { handleProperties(child, mapStoreConfigBuilder); break; } } String implAttrName = "implementation"; String factoryImplAttrName = "factory-implementation"; String initialModeAttrName = "initial-mode"; fillAttributeValues(node, mapStoreConfigBuilder, implAttrName, factoryImplAttrName, "initialMode"); NamedNodeMap attributes = node.getAttributes(); Node implRef = attributes.getNamedItem(implAttrName); Node factoryImplRef = attributes.getNamedItem(factoryImplAttrName); Node initialMode = attributes.getNamedItem(initialModeAttrName); if (factoryImplRef != null) { mapStoreConfigBuilder .addPropertyReference(xmlToJavaName(factoryImplAttrName), getTextContent(factoryImplRef)); } if (implRef != null) { mapStoreConfigBuilder.addPropertyReference(xmlToJavaName(implAttrName), getTextContent(implRef)); } if (initialMode != null) { InitialLoadMode mode = InitialLoadMode.valueOf(upperCaseInternal(getTextContent(initialMode))); mapStoreConfigBuilder.addPropertyValue("initialLoadMode", mode); } mapConfigBuilder.addPropertyValue("mapStoreConfig", beanDefinition); }
private void handlePartitionGroup(Node node) { NamedNodeMap attributes = node.getAttributes(); Node enabledNode = attributes.getNamedItem("enabled"); boolean enabled = enabledNode != null && getBooleanValue(getTextContent(enabledNode)); config.getPartitionGroupConfig().setEnabled(enabled); Node groupTypeNode = attributes.getNamedItem("group-type"); PartitionGroupConfig.MemberGroupType groupType = groupTypeNode != null ? PartitionGroupConfig.MemberGroupType.valueOf(upperCaseInternal(getTextContent(groupTypeNode))) : PartitionGroupConfig.MemberGroupType.PER_MEMBER; config.getPartitionGroupConfig().setGroupType(groupType); for (Node child : childElements(node)) { if ("member-group".equals(cleanNodeName(child))) { handleMemberGroup(child); } } }
private void handlePartitionGroup(Node node) { NamedNodeMap attributes = node.getAttributes(); Node enabledNode = attributes.getNamedItem("enabled"); boolean enabled = enabledNode != null && getBooleanValue(getTextContent(enabledNode)); config.getPartitionGroupConfig().setEnabled(enabled); Node groupTypeNode = attributes.getNamedItem("group-type"); MemberGroupType groupType = groupTypeNode != null ? MemberGroupType.valueOf(upperCaseInternal(getTextContent(groupTypeNode))) : MemberGroupType.PER_MEMBER; config.getPartitionGroupConfig().setGroupType(groupType); for (Node child : childElements(node)) { if ("member-group".equals(cleanNodeName(child))) { handleMemberGroup(child); } } }
private void handleConnectionStrategy(Node node) { ClientConnectionStrategyConfig strategyConfig = new ClientConnectionStrategyConfig(); String attrValue = getAttribute(node, "async-start"); strategyConfig.setAsyncStart(attrValue != null && getBooleanValue(attrValue.trim())); attrValue = getAttribute(node, "reconnect-mode"); if (attrValue != null) { strategyConfig.setReconnectMode(ReconnectMode.valueOf(upperCaseInternal(attrValue.trim()))); } for (Node child : childElements(node)) { String nodeName = cleanNodeName(child); if ("connection-retry".equals(nodeName)) { handleConnectionRetry(child, strategyConfig); } } clientConfig.setConnectionStrategyConfig(strategyConfig); }
private void handleWanPublisherConfig(WanPublisherConfig publisherConfig, Node targetChild) { String targetChildName = cleanNodeName(targetChild); if ("class-name".equals(targetChildName)) { publisherConfig.setClassName(getTextContent(targetChild)); } else if ("queue-full-behavior".equals(targetChildName)) { String queueFullBehavior = getTextContent(targetChild); publisherConfig.setQueueFullBehavior(WANQueueFullBehavior.valueOf(upperCaseInternal(queueFullBehavior))); } else if ("initial-publisher-state".equals(targetChildName)) { String initialPublisherState = getTextContent(targetChild); publisherConfig.setInitialPublisherState( WanPublisherState.valueOf(upperCaseInternal(initialPublisherState))); } else if ("queue-capacity".equals(targetChildName)) { int queueCapacity = getIntegerValue("queue-capacity", getTextContent(targetChild)); publisherConfig.setQueueCapacity(queueCapacity); } else if ("properties".equals(targetChildName)) { fillProperties(targetChild, publisherConfig.getProperties()); } else if (AliasedDiscoveryConfigUtils.supports(targetChildName)) { handleAliasedDiscoveryStrategy(publisherConfig, targetChild, targetChildName); } else if ("discovery-strategies".equals(targetChildName)) { handleDiscoveryStrategies(publisherConfig.getDiscoveryConfig(), targetChild); } else if ("wan-sync".equals(targetChildName)) { handleWanSync(publisherConfig.getWanSyncConfig(), targetChild); } }
private void handleWanPublisherConfig(WanPublisherConfig publisherConfig, Node targetChild) { String targetChildName = cleanNodeName(targetChild); if ("class-name".equals(targetChildName)) { publisherConfig.setClassName(getTextContent(targetChild)); } else if ("queue-full-behavior".equals(targetChildName)) { String queueFullBehavior = getTextContent(targetChild); publisherConfig.setQueueFullBehavior(WANQueueFullBehavior.valueOf(upperCaseInternal(queueFullBehavior))); } else if ("initial-publisher-state".equals(targetChildName)) { String initialPublisherState = getTextContent(targetChild); publisherConfig.setInitialPublisherState( WanPublisherState.valueOf(upperCaseInternal(initialPublisherState))); } else if ("queue-capacity".equals(targetChildName)) { int queueCapacity = getIntegerValue("queue-capacity", getTextContent(targetChild)); publisherConfig.setQueueCapacity(queueCapacity); } else if ("properties".equals(targetChildName)) { fillProperties(targetChild, publisherConfig.getProperties()); } else if (AliasedDiscoveryConfigUtils.supports(targetChildName)) { handleAliasedDiscoveryStrategy(publisherConfig, targetChild, targetChildName); } else if ("discovery-strategies".equals(targetChildName)) { handleDiscoveryStrategies(publisherConfig.getDiscoveryConfig(), targetChild); } else if ("wan-sync".equals(targetChildName)) { handleWanSync(publisherConfig.getWanSyncConfig(), targetChild); } }
private void handleConnectionStrategy(Node node) { ClientConnectionStrategyConfig strategyConfig = new ClientConnectionStrategyConfig(); String attrValue = getAttribute(node, "async-start"); strategyConfig.setAsyncStart(attrValue != null && getBooleanValue(attrValue.trim())); attrValue = getAttribute(node, "reconnect-mode"); if (attrValue != null) { strategyConfig .setReconnectMode(ClientConnectionStrategyConfig.ReconnectMode.valueOf(upperCaseInternal(attrValue.trim()))); } for (Node child : childElements(node)) { String nodeName = cleanNodeName(child); if ("connection-retry".equals(nodeName)) { handleConnectionRetry(child, strategyConfig); } } clientConfig.setConnectionStrategyConfig(strategyConfig); }
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"; for (Node n : childElements(hrRoot)) { String name = cleanNodeName(n); if ("base-dir".equals(name)) { hrConfig.setBaseDir(new File(getTextContent(n)).getAbsoluteFile()); } else if ("backup-dir".equals(name)) { hrConfig.setBackupDir(new File(getTextContent(n)).getAbsoluteFile()); } else if (parallelismName.equals(name)) { hrConfig.setParallelism(getIntegerValue(parallelismName, getTextContent(n))); } else if (validationTimeoutName.equals(name)) { hrConfig.setValidationTimeoutSeconds(getIntegerValue(validationTimeoutName, getTextContent(n))); } else if (dataLoadTimeoutName.equals(name)) { hrConfig.setDataLoadTimeoutSeconds(getIntegerValue(dataLoadTimeoutName, getTextContent(n))); } else if (clusterDataRecoveryPolicyName.equals(name)) { hrConfig.setClusterDataRecoveryPolicy(HotRestartClusterDataRecoveryPolicy .valueOf(upperCaseInternal(getTextContent(n)))); } } config.setHotRestartPersistenceConfig(hrConfig); }
private void handleReliableTopic(Node node) { Node attName = node.getAttributes().getNamedItem("name"); String name = getTextContent(attName); ReliableTopicConfig topicConfig = new ReliableTopicConfig(name); for (Node n : childElements(node)) { String nodeName = cleanNodeName(n); if ("read-batch-size".equals(nodeName)) { String batchSize = getTextContent(n); topicConfig.setReadBatchSize(getIntegerValue("read-batch-size", batchSize)); } else if ("statistics-enabled".equals(nodeName)) { topicConfig.setStatisticsEnabled(getBooleanValue(getTextContent(n))); } else if ("topic-overload-policy".equals(nodeName)) { TopicOverloadPolicy topicOverloadPolicy = TopicOverloadPolicy.valueOf(upperCaseInternal(getTextContent(n))); topicConfig.setTopicOverloadPolicy(topicOverloadPolicy); } else if ("message-listeners".equals(nodeName)) { for (Node listenerNode : childElements(n)) { if ("message-listener".equals(cleanNodeName(listenerNode))) { topicConfig.addMessageListenerConfig(new ListenerConfig(getTextContent(listenerNode))); } } } } config.addReliableTopicConfig(topicConfig); }
private void handleReliableTopic(Node node) { Node attName = node.getAttributes().getNamedItem("name"); String name = getTextContent(attName); ReliableTopicConfig topicConfig = new ReliableTopicConfig(name); for (Node n : childElements(node)) { String nodeName = cleanNodeName(n); if ("read-batch-size".equals(nodeName)) { String batchSize = getTextContent(n); topicConfig.setReadBatchSize(getIntegerValue("read-batch-size", batchSize)); } else if ("statistics-enabled".equals(nodeName)) { topicConfig.setStatisticsEnabled(getBooleanValue(getTextContent(n))); } else if ("topic-overload-policy".equals(nodeName)) { TopicOverloadPolicy topicOverloadPolicy = TopicOverloadPolicy.valueOf(upperCaseInternal(getTextContent(n))); topicConfig.setTopicOverloadPolicy(topicOverloadPolicy); } else if ("message-listeners".equals(nodeName)) { for (Node listenerNode : childElements(n)) { if ("message-listener".equals(cleanNodeName(listenerNode))) { topicConfig.addMessageListenerConfig(new ListenerConfig(getTextContent(listenerNode))); } } } } config.addReliableTopicConfig(topicConfig); }
private void handleChangeClusterState(HttpPostCommand command) throws UnsupportedEncodingException { byte[] data = command.getData(); String[] strList = bytesToString(data).split("&"); String res; try { Node node = textCommandService.getNode(); ClusterService clusterService = node.getClusterService(); if (authenticate(command, strList[0], strList.length > 1 ? strList[1] : null)) { String stateParam = URLDecoder.decode(strList[2], "UTF-8"); ClusterState state = ClusterState.valueOf(upperCaseInternal(stateParam)); if (!state.equals(clusterService.getClusterState())) { clusterService.changeClusterState(state); res = response(ResponseType.SUCCESS, "state", state.toString().toLowerCase(StringUtil.LOCALE_INTERNAL)); } else { res = response(ResponseType.FAIL, "state", state.toString().toLowerCase(StringUtil.LOCALE_INTERNAL)); } } else { res = response(ResponseType.FORBIDDEN); } } catch (Throwable throwable) { logger.warning("Error occurred while changing cluster state", throwable); res = exceptionResponse(throwable); } command.setResponse(HttpCommand.CONTENT_TYPE_JSON, stringToBytes(res)); }