diff --git a/spring-cassandra/src/main/java/org/springframework/cassandra/config/xml/CassandraKeyspaceParser.java b/spring-cassandra/src/main/java/org/springframework/cassandra/config/xml/CassandraKeyspaceParser.java deleted file mode 100644 index d98be4d2f..000000000 --- a/spring-cassandra/src/main/java/org/springframework/cassandra/config/xml/CassandraKeyspaceParser.java +++ /dev/null @@ -1,130 +0,0 @@ -/* - * Copyright 2011-2012 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.cassandra.config.xml; - -import java.util.List; - -import org.springframework.beans.factory.BeanDefinitionStoreException; -import org.springframework.beans.factory.config.BeanDefinition; -import org.springframework.beans.factory.support.AbstractBeanDefinition; -import org.springframework.beans.factory.support.BeanDefinitionBuilder; -import org.springframework.beans.factory.support.ManagedList; -import org.springframework.beans.factory.xml.AbstractSimpleBeanDefinitionParser; -import org.springframework.beans.factory.xml.ParserContext; -import org.springframework.cassandra.config.KeyspaceAttributes; -import org.springframework.cassandra.config.TableAttributes; -import org.springframework.util.StringUtils; -import org.springframework.util.xml.DomUtils; -import org.w3c.dom.Element; - -/** - * Parser for <keyspace> definitions. - * - * @author Alex Shvid - * @author Matthew T. Adams - */ - -public class CassandraKeyspaceParser extends AbstractSimpleBeanDefinitionParser { - - @Override - protected Class getBeanClass(Element element) { - return CassandraSessionFactoryBean.class; - } - - /* - * (non-Javadoc) - * @see org.springframework.beans.factory.xml.AbstractBeanDefinitionParser#resolveId(org.w3c.dom.Element, org.springframework.beans.factory.support.AbstractBeanDefinition, org.springframework.beans.factory.xml.ParserContext) - */ - @Override - protected String resolveId(Element element, AbstractBeanDefinition definition, ParserContext parserContext) - throws BeanDefinitionStoreException { - - String id = super.resolveId(element, definition, parserContext); - return StringUtils.hasText(id) ? id : BeanNames.CASSANDRA_KEYSPACE; - } - - @Override - protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) { - - String name = element.getAttribute("name"); - if (StringUtils.hasText(name)) { - builder.addPropertyValue("keyspace", name); - } - - String clusterRef = element.getAttribute("cassandra-cluster-ref"); - if (!StringUtils.hasText(clusterRef)) { - clusterRef = BeanNames.CASSANDRA_CLUSTER; - } - builder.addPropertyReference("cluster", clusterRef); - - String converterRef = element.getAttribute("cassandra-converter-ref"); - if (StringUtils.hasText(converterRef)) { - builder.addPropertyReference("converter", converterRef); - } - - postProcess(builder, element); - } - - @Override - protected void postProcess(BeanDefinitionBuilder builder, Element element) { - List subElements = DomUtils.getChildElements(element); - - // parse nested elements - for (Element subElement : subElements) { - String name = subElement.getLocalName(); - - if ("keyspace-attributes".equals(name)) { - builder.addPropertyValue("keyspaceAttributes", parseKeyspaceAttributes(subElement)); - } - } - - } - - private BeanDefinition parseKeyspaceAttributes(Element element) { - BeanDefinitionBuilder defBuilder = BeanDefinitionBuilder.genericBeanDefinition(KeyspaceAttributes.class); - - ParsingUtils.setPropertyValue(defBuilder, element, "auto", "auto"); - ParsingUtils.setPropertyValue(defBuilder, element, "replication-strategy", "replicationStrategy"); - ParsingUtils.setPropertyValue(defBuilder, element, "replication-factor", "replicationFactor"); - ParsingUtils.setPropertyValue(defBuilder, element, "durable-writes", "durableWrites"); - - List subElements = DomUtils.getChildElements(element); - ManagedList tables = new ManagedList(subElements.size()); - - // parse nested elements - for (Element subElement : subElements) { - String name = subElement.getLocalName(); - - if ("table".equals(name)) { - tables.add(parseTable(subElement)); - } - } - if (!tables.isEmpty()) { - defBuilder.addPropertyValue("tables", tables); - } - - return defBuilder.getBeanDefinition(); - } - - private BeanDefinition parseTable(Element element) { - BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition(TableAttributes.class); - - ParsingUtils.setPropertyValue(builder, element, "entity", "entity"); - ParsingUtils.setPropertyValue(builder, element, "name", "name"); - - return builder.getBeanDefinition(); - } -} diff --git a/spring-cassandra/src/main/java/org/springframework/cassandra/config/xml/CassandraNamespaceHandler.java b/spring-cassandra/src/main/java/org/springframework/cassandra/config/xml/CassandraNamespaceHandler.java index 4563c3081..f09b3071c 100644 --- a/spring-cassandra/src/main/java/org/springframework/cassandra/config/xml/CassandraNamespaceHandler.java +++ b/spring-cassandra/src/main/java/org/springframework/cassandra/config/xml/CassandraNamespaceHandler.java @@ -29,7 +29,6 @@ public class CassandraNamespaceHandler extends NamespaceHandlerSupport { public void init() { registerBeanDefinitionParser("cluster", new CassandraClusterParser()); - // registerBeanDefinitionParser("keyspace", new CassandraKeyspaceParser()); registerBeanDefinitionParser("session", new CassandraSessionParser()); registerBeanDefinitionParser("template", new CassandraTemplateParser()); } diff --git a/spring-cassandra/src/main/resources/org/springframework/cassandra/config/spring-cassandra-1.0.xsd b/spring-cassandra/src/main/resources/org/springframework/cassandra/config/spring-cassandra-1.0.xsd index 7f4c437e4..03cd992b8 100644 --- a/spring-cassandra/src/main/resources/org/springframework/cassandra/config/spring-cassandra-1.0.xsd +++ b/spring-cassandra/src/main/resources/org/springframework/cassandra/config/spring-cassandra-1.0.xsd @@ -57,20 +57,6 @@ Defines a Cassandra Cluster. - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -331,33 +295,6 @@ Sets the SO_SNDBUF socket option. - - - - - - - - - - - - - - - - - -