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

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

Introduction

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

Prototype

static void setPropertyValue(BeanDefinitionBuilder builder, BeanDefinition source, String propertyName) 

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");
    }/*  w  w w .  j  ava 2  s . c  om*/

    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);
    }
}

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

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

    setPropertyValue(element, regionAttributesBuilder, "cloning-enabled");
    setPropertyValue(element, regionAttributesBuilder, "concurrency-level");
    setPropertyValue(element, regionAttributesBuilder, "disk-synchronous");
    setPropertyValue(element, regionAttributesBuilder, "enable-async-conflation");
    setPropertyValue(element, regionAttributesBuilder, "enable-subscription-conflation");
    setPropertyValue(element, regionAttributesBuilder, "ignore-jta", "ignoreJTA");
    setPropertyValue(element, regionAttributesBuilder, "index-update-type");
    setPropertyValue(element, regionAttributesBuilder, "initial-capacity");
    setPropertyValue(element, regionAttributesBuilder, "is-lock-grantor", "lockGrantor");
    setPropertyValue(element, regionAttributesBuilder, "key-constraint");
    setPropertyValue(element, regionAttributesBuilder, "load-factor");
    setPropertyValue(element, regionAttributesBuilder, "multicast-enabled");
    setPropertyValue(element, regionAttributesBuilder, "publisher");
    setPropertyValue(element, regionAttributesBuilder, "value-constraint");

    String concurrencyChecksEnabled = element.getAttribute("concurrency-checks-enabled");

    if (StringUtils.hasText(concurrencyChecksEnabled)) {
        if (GemfireUtils.isGemfireVersion7OrAbove()) {
            ParsingUtils.setPropertyValue(element, regionAttributesBuilder, "concurrency-checks-enabled");
        } else {//from w  w w . ja v a 2  s . c om
            log.warn("Setting 'concurrency-checks-enabled' is only available in Gemfire 7.0 or above!");
        }
    }
}