Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright 2010-2013 the original author or authors.
   *
   * Licensed 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.springframework.data.gemfire.config;
 
 import java.util.List;
 

Author(s):
David Turanski
 
 	protected Class<?> getBeanClass(Element element) {
 		return GatewayHubFactoryBean.class;
 	}
 
 	@SuppressWarnings({ "rawtypes""unchecked" })
 	protected void doParse(Element elementParserContext parserContextBeanDefinitionBuilder builder) {
 		builder.setLazyInit(false);
 		String cacheRef = element.getAttribute("cache-ref");
 		// add cache reference (fallback to default if nothing is specified)
 		builder.addConstructorArgReference((StringUtils.hasText(cacheRef) ? cacheRef : "gemfireCache"));
 		ParsingUtils.setPropertyValue(elementbuilder"bind-address");
 		ParsingUtils.setPropertyValue(elementbuilder"manual-start");
 		ParsingUtils.setPropertyValue(elementbuilder"socket-buffer-size");
 		ParsingUtils.setPropertyValue(elementbuilder"startup-policy");
 		ParsingUtils.setPropertyValue(elementbuilder"port");
 		
 		List<ElementgatewayElements = DomUtils.getChildElementsByTagName(element"gateway");
 		if (!CollectionUtils.isEmpty(gatewayElements)) {
 			ManagedList gateways = new ManagedList();
 			for (Element gatewayElement : gatewayElements) {
 				BeanDefinitionBuilder gatewayBuilder = BeanDefinitionBuilder.genericBeanDefinition(GatewayProxy.class);
 				ParsingUtils.setPropertyValue(gatewayElementgatewayBuilder"gateway-id""id");
 				ParsingUtils.setPropertyValue(gatewayElementgatewayBuilder"concurrency-level");
 				ParsingUtils.setPropertyValue(gatewayElementgatewayBuilder"socket-read-timeout");
 				ParsingUtils.setPropertyValue(gatewayElementgatewayBuilder"socket-buffer-size");
 				ParsingUtils.setPropertyValue(gatewayElementgatewayBuilder"order-policy");
 				List<ElementendpointElements = DomUtils.getChildElementsByTagName(gatewayElement"gateway-endpoint");
 				if (!CollectionUtils.isEmpty(endpointElements)) {
 					ManagedList endpoints = new ManagedList();
 					for (Element endpointElement : endpointElements) {
 						BeanDefinitionBuilder endpointBuilder = BeanDefinitionBuilder
 						ParsingUtils.setPropertyValue(endpointElementendpointBuilder"host");
 						ParsingUtils.setPropertyValue(endpointElementendpointBuilder"port");
 						ParsingUtils.setPropertyValue(endpointElementendpointBuilder"endpoint-id""id");
 						endpoints.add(endpointBuilder.getBeanDefinition());
 					}
 					gatewayBuilder.addPropertyValue("endpoints"endpoints);
 				}
 
 				Element gatewayListenerElement = DomUtils.getChildElementByTagName(gatewayElement"gateway-listener");
 				if (gatewayListenerElement != null) {
 					Object obj = ParsingUtils.parseRefOrNestedBeanDeclaration(parserContextgatewayListenerElement,
 							gatewayBuilder);
 					gatewayBuilder.addPropertyValue("listeners"obj);
 				}
 
 				Element gatewayQueueElement = DomUtils.getChildElementByTagName(gatewayElement"gateway-queue");
 				if (gatewayQueueElement != null) {
 					BeanDefinitionBuilder queueBuilder = BeanDefinitionBuilder
 					ParsingUtils.setPropertyValue(gatewayQueueElementqueueBuilder"alert-threshold");
 					ParsingUtils.setPropertyValue(gatewayQueueElementqueueBuilder"batch-size");
 					ParsingUtils.setPropertyValue(gatewayQueueElementqueueBuilder"batch-time-interval");
 					ParsingUtils.setPropertyValue(gatewayQueueElementqueueBuilder"maximum-queue-memory");
 					ParsingUtils.setPropertyValue(gatewayQueueElementqueueBuilder"persistent");
 					ParsingUtils.setPropertyValue(gatewayQueueElementqueueBuilder"disk-store-ref");
 					/*
 					 * Make sure any disk store is created first
 					 */
 					if (gatewayQueueElement.hasAttribute("disk-store-ref")) {
 						gatewayBuilder.getBeanDefinition().setDependsOn(
								new String[] {gatewayQueueElement.getAttribute("disk-store-ref")});
					}
					ParsingUtils.setPropertyValue(gatewayQueueElementqueueBuilder"enable-batch-conflation");
					gatewayBuilder.addPropertyValue("queue"queueBuilder.getBeanDefinition());
				}
				gateways.add(gatewayBuilder.getBeanDefinition());
			}
			builder.addPropertyValue("gateways"gateways);
		}
	}
New to GrepCode? Check out our FAQ X