Example usage for org.springframework.data.gemfire.config.xml ParsingUtils parseMembershipAttributes

List of usage examples for org.springframework.data.gemfire.config.xml ParsingUtils parseMembershipAttributes

Introduction

In this page you can find the example usage for org.springframework.data.gemfire.config.xml ParsingUtils parseMembershipAttributes.

Prototype

@SuppressWarnings({ "deprecation", "unused" })
    static void parseMembershipAttributes(Element element, ParserContext parserContext,
            BeanDefinitionBuilder regionAttributesBuilder) 

Source Link

Usage

From source file:org.springframework.data.gemfire.config.xml.AbstractRegionParser.java

protected void doParseRegionConfiguration(Element element, ParserContext parserContext,
        BeanDefinitionBuilder regionBuilder, BeanDefinitionBuilder regionAttributesBuilder, boolean subRegion) {

    mergeRegionTemplateAttributes(element, parserContext, regionBuilder, regionAttributesBuilder);

    String resolvedCacheRef = ParsingUtils.resolveCacheReference(element.getAttribute("cache-ref"));

    if (!subRegion) {
        regionBuilder.addPropertyReference("cache", resolvedCacheRef);
        ParsingUtils.setPropertyValue(element, regionBuilder, "close");
        ParsingUtils.setPropertyValue(element, regionBuilder, "destroy");
    }/*from w w w. j  a v a2 s  . co  m*/

    ParsingUtils.setPropertyValue(element, regionBuilder, "name");
    ParsingUtils.setPropertyValue(element, regionBuilder, "data-policy");
    ParsingUtils.setPropertyValue(element, regionBuilder, "ignore-if-exists", "lookupEnabled");
    ParsingUtils.setPropertyValue(element, regionBuilder, "persistent");
    ParsingUtils.setPropertyValue(element, regionBuilder, "shortcut");

    if (StringUtils.hasText(element.getAttribute("disk-store-ref"))) {
        ParsingUtils.setPropertyValue(element, regionBuilder, "disk-store-ref", "diskStoreName");
        regionBuilder.addDependsOn(element.getAttribute("disk-store-ref"));
    }

    ParsingUtils.parseOptionalRegionAttributes(element, parserContext, regionAttributesBuilder);
    ParsingUtils.parseSubscription(element, parserContext, regionAttributesBuilder);
    ParsingUtils.parseStatistics(element, regionAttributesBuilder);
    ParsingUtils.parseMembershipAttributes(element, parserContext, regionAttributesBuilder);
    ParsingUtils.parseExpiration(element, parserContext, regionAttributesBuilder);
    ParsingUtils.parseEviction(element, parserContext, regionAttributesBuilder);
    ParsingUtils.parseCompressor(element, parserContext, regionAttributesBuilder);

    parseCollectionOfCustomSubElements(element, parserContext, regionBuilder, AsyncEventQueue.class.getName(),
            "async-event-queue", "asyncEventQueues");

    parseCollectionOfCustomSubElements(element, parserContext, regionBuilder, GatewaySender.class.getName(),
            "gateway-sender", "gatewaySenders");

    List<Element> subElements = DomUtils.getChildElements(element);

    for (Element subElement : subElements) {
        if (subElement.getLocalName().equals("cache-listener")) {
            regionBuilder.addPropertyValue("cacheListeners",
                    ParsingUtils.parseRefOrNestedBeanDeclaration(subElement, parserContext, regionBuilder));
        } else if (subElement.getLocalName().equals("cache-loader")) {
            regionBuilder.addPropertyValue("cacheLoader", ParsingUtils
                    .parseRefOrSingleNestedBeanDeclaration(subElement, parserContext, regionBuilder));
        } else if (subElement.getLocalName().equals("cache-writer")) {
            regionBuilder.addPropertyValue("cacheWriter", ParsingUtils
                    .parseRefOrSingleNestedBeanDeclaration(subElement, parserContext, regionBuilder));
        }
    }

    if (!subRegion) {
        parseSubRegions(element, parserContext, resolvedCacheRef);
    }
}