.add(newKeyspaceActionSpecificationBeanDefinition(subElement, parserContext)); } else if ("local-pooling-options".equals(name)) { parseLocalPoolingOptions(subElement, poolingOptionsBuilder); } else if ("remote-pooling-options".equals(name)) { parseRemotePoolingOptions(subElement, poolingOptionsBuilder); } else if ("socket-options".equals(name)) { builder.addPropertyValue("socketOptions", newSocketOptionsBeanDefinition(subElement, parserContext)); } else if ("startup-cql".equals(name)) { startupScripts.add(parseScript(subElement)); } else if ("shutdown-cql".equals(name)) { shutdownScripts.add(parseScript(subElement));
@Override protected AbstractBeanDefinition parseInternal(Element element, ParserContext parserContext) { CassandraMappingXmlBeanFactoryPostProcessorRegistrar.ensureRegistration(element, parserContext); return super.parseInternal(element, parserContext); } }
@Override public void init() { registerBeanDefinitionParser("cluster", new CassandraCqlClusterParser()); registerBeanDefinitionParser("session", new CassandraCqlSessionParser()); registerBeanDefinitionParser("template", new CassandraCqlTemplateParser()); } }
@Override protected AbstractBeanDefinition parseInternal(Element element, ParserContext parserContext) { BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition(CassandraClusterFactoryBean.class); builder.setLazyInit(parserContext.isDefaultLazyInit()); builder.getRawBeanDefinition().setDestroyMethodName("destroy"); builder.getRawBeanDefinition().setSource(parserContext.extractSource(element)); if (parserContext.isNested()) { // inner bean definitions must have same scope as containing bean builder.setScope(parserContext.getContainingBeanDefinition().getScope()); } doParse(element, parserContext, builder); return builder.getBeanDefinition(); }
/** * Returns a {@link BeanDefinition} for a {@link KeyspaceActionSpecification} object. * * @param element Element being parsed. * @param parserContext XML parser context and state. * @return the {@link BeanDefinition} or {@literal null} if action is not given. */ private BeanDefinition newKeyspaceActionSpecificationBeanDefinition(Element element, ParserContext parserContext) { BeanDefinitionBuilder builder = BeanDefinitionBuilder .genericBeanDefinition(KeyspaceActionSpecificationFactoryBean.class); // add required replication defaults addRequiredPropertyValue(builder, "replicationStrategy", KeyspaceAttributes.DEFAULT_REPLICATION_STRATEGY.name()); addRequiredPropertyValue(builder, "replicationFactor", String.valueOf(KeyspaceAttributes.DEFAULT_REPLICATION_FACTOR)); addRequiredPropertyValue(builder, "name", element, "name"); addOptionalPropertyValue(builder, "durableWrites", element, "durable-writes", "false"); addRequiredPropertyValue(builder, "action", element, "action"); parseReplication(DomUtils.getChildElementByTagName(element, "replication"), builder); return getSourceBeanDefinition(builder, parserContext, element); }
addOptionalPropertyValue(builder, "username", element, "username"); parseChildElements(element, parserContext, builder);