diff --git a/src/main/java/org/springframework/data/gemfire/client/ClientRegionFactoryBean.java b/src/main/java/org/springframework/data/gemfire/client/ClientRegionFactoryBean.java index fa7cfd4c..700a9e04 100644 --- a/src/main/java/org/springframework/data/gemfire/client/ClientRegionFactoryBean.java +++ b/src/main/java/org/springframework/data/gemfire/client/ClientRegionFactoryBean.java @@ -189,6 +189,16 @@ public class ClientRegionFactoryBean extends RegionLookupFactoryBean return resolvedShortcut; } + /** + * Validates that the settings for ClientRegionShortcut and the 'persistent' attribute in elements + * are compatible. + *

+ * @param resolvedShortcut the GemFire ClientRegionShortcut resolved form the Spring GemFire XML namespace + * configuration meta-data. + * @see #isPersistent() + * @see #isNotPersistent() + * @see com.gemstone.gemfire.cache.client.ClientRegionShortcut + */ protected void assertClientRegionShortcutAndPersistentAttributeAreCompatible(final ClientRegionShortcut resolvedShortcut) { final boolean persistentNotSpecified = (this.persistent == null); diff --git a/src/main/java/org/springframework/data/gemfire/config/ClientRegionParser.java b/src/main/java/org/springframework/data/gemfire/config/ClientRegionParser.java index d52317d2..bd598ab5 100644 --- a/src/main/java/org/springframework/data/gemfire/config/ClientRegionParser.java +++ b/src/main/java/org/springframework/data/gemfire/config/ClientRegionParser.java @@ -108,6 +108,22 @@ class ClientRegionParser extends AbstractRegionParser { } } + @Override + protected void doParseRegion(Element element, ParserContext parserContext, BeanDefinitionBuilder builder, + boolean subRegion) { + throw new UnsupportedOperationException(String.format( + "doParseRegion(:Element, :ParserContext, :BeanDefinitionBuilder, :boolean) is not supported on %1$s", + getClass().getName())); + } + + private void validateDataPolicyShortcutMutualExclusion(final Element element, final ParserContext parserContext) { + if (element.hasAttribute("data-policy") && element.hasAttribute("shortcut")) { + parserContext.getReaderContext().error(String.format( + "Only one of [data-policy, shortcut] may be specified with element '%1$s'.", element.getTagName()), + element); + } + } + private void parseDiskStoreAttribute(final Element element, final BeanDefinitionBuilder builder) { String diskStoreRefAttribute = element.getAttribute("disk-store-ref"); @@ -117,22 +133,6 @@ class ClientRegionParser extends AbstractRegionParser { } } - private void validateDataPolicyShortcutMutualExclusion(final Element element, final ParserContext parserContext) { - if (element.hasAttribute("data-policy") && element.hasAttribute("shortcut")) { - parserContext.getReaderContext().error(String.format( - "Only one of [data-policy, shortcut] may be specified with element '%1$s'.", element.getTagName()), - element); - } - } - - @Override - protected void doParseRegion(Element element, ParserContext parserContext, BeanDefinitionBuilder builder, - boolean subRegion) { - throw new UnsupportedOperationException(String.format( - "doParseRegion(:Element, :ParserContext, :BeanDefinitionBuilder, :boolean) is not supported on %1$s", - getClass().getName())); - } - private Object parseKeyInterest(Element keyInterestElement, ParserContext parserContext) { BeanDefinitionBuilder keyInterestBuilder = BeanDefinitionBuilder.genericBeanDefinition(Interest.class);