diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/config/BeanDefinitionBuilderArgument.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/config/BeanDefinitionBuilderArgument.java deleted file mode 100644 index 8387a308b..000000000 --- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/config/BeanDefinitionBuilderArgument.java +++ /dev/null @@ -1,80 +0,0 @@ -/* - * Copyright 2013-2017 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.data.cassandra.config; - -import org.springframework.beans.factory.support.BeanDefinitionBuilder; -import org.springframework.util.StringUtils; - -/** - * Parameter used in conjunction with: - *
- * {@link BeanDefinitionBuilder#addConstructorArgReference(String)}, - * {@link BeanDefinitionBuilder#addConstructorArgValue(Object)}, - * {@link BeanDefinitionBuilder#addPropertyReference(String, String)}, and - * {@link BeanDefinitionBuilder#addPropertyValue(String, Object)}. - * - * Easy and succinct to create if methods {@link #ref(CharSequence)} or {@link #val(Object)} are used and imported - * statically. - * - * @see BeanDefinitionBuilderArgument#ref(CharSequence) - * @see BeanDefinitionBuilderArgument#val(Object) - */ -public class BeanDefinitionBuilderArgument { - - /** - * Returns a {@link BeanDefinitionBuilderArgument} with {@link #reference} equal to {@code true}. Convenient if - * imported statically. - * - * @param value The name of the bean reference. - */ - public static BeanDefinitionBuilderArgument ref(CharSequence value) { - return new BeanDefinitionBuilderArgument(true, value); - } - - /** - * Returns a {@link BeanDefinitionBuilderArgument} with {@link #reference} equal to {@code false}. Convenient if - * imported statically. - * - * @param value The constructor argument's value. - */ - public static BeanDefinitionBuilderArgument val(Object value) { - return new BeanDefinitionBuilderArgument(false, value); - } - - protected boolean reference; - protected Object value; - - protected BeanDefinitionBuilderArgument(boolean reference, Object value) { - this.reference = reference; - if (this.reference && (value == null || !(value instanceof CharSequence))) { - throw new IllegalArgumentException( - String.format("reference argument must have value of type CharSequence, not [%s]", - value == null ? "null" : value.getClass().getName())); - } - if (!StringUtils.hasText((CharSequence) value)) { - throw new IllegalArgumentException("given CharSequence has no text"); - } - this.value = value; - } - - public boolean isReference() { - return reference; - } - - public Object getValue() { - return value; - } -} diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/config/CassandraClusterParser.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/config/CassandraClusterParser.java index 88299caa4..5e60e3060 100644 --- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/config/CassandraClusterParser.java +++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/config/CassandraClusterParser.java @@ -25,7 +25,7 @@ import org.w3c.dom.Element; * @author Matthew T. Adams * @author Mark Paluch */ -public class CassandraClusterParser extends CassandraCqlClusterParser { +class CassandraClusterParser extends CassandraCqlClusterParser { /* (non-Javadoc) * @see org.springframework.cassandra.config.xml.CassandraCqlClusterParser#parseInternal(org.w3c.dom.Element, org.springframework.beans.factory.xml.ParserContext) diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/config/CassandraCqlClusterParser.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/config/CassandraCqlClusterParser.java index 6a24e449c..0e51b18d2 100644 --- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/config/CassandraCqlClusterParser.java +++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/config/CassandraCqlClusterParser.java @@ -45,7 +45,7 @@ import com.datastax.driver.core.SocketOptions; * @author John Blum * @author Mark Paluch */ -public class CassandraCqlClusterParser extends AbstractBeanDefinitionParser { +class CassandraCqlClusterParser extends AbstractBeanDefinitionParser { /* (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) diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/config/CassandraCqlSessionParser.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/config/CassandraCqlSessionParser.java index 6134a4f49..222f6b55b 100644 --- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/config/CassandraCqlSessionParser.java +++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/config/CassandraCqlSessionParser.java @@ -34,7 +34,7 @@ import org.w3c.dom.NamedNodeMap; * @author David Webb * @author Matthew T. Adams */ -public class CassandraCqlSessionParser extends AbstractSingleBeanDefinitionParser { +class CassandraCqlSessionParser extends AbstractSingleBeanDefinitionParser { /* (non-Javadoc) * @see org.springframework.beans.factory.xml.AbstractSingleBeanDefinitionParser#getBeanClass(org.w3c.dom.Element) diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/config/CassandraCqlTemplateParser.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/config/CassandraCqlTemplateParser.java index ae714992a..b3930e5cf 100644 --- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/config/CassandraCqlTemplateParser.java +++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/config/CassandraCqlTemplateParser.java @@ -31,7 +31,7 @@ import org.w3c.dom.Element; * @author David Webb * @author Matthew T. Adams */ -public class CassandraCqlTemplateParser extends AbstractSingleBeanDefinitionParser { +class CassandraCqlTemplateParser extends AbstractSingleBeanDefinitionParser { /* (non-Javadoc) * @see org.springframework.beans.factory.xml.AbstractSingleBeanDefinitionParser#getBeanClass(org.w3c.dom.Element) diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/config/CassandraMappingContextParser.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/config/CassandraMappingContextParser.java index a77aecac3..75cb9991d 100644 --- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/config/CassandraMappingContextParser.java +++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/config/CassandraMappingContextParser.java @@ -43,7 +43,7 @@ import org.w3c.dom.Element; * @author Matthew T. Adams * @author Mark Paluch */ -public class CassandraMappingContextParser extends AbstractSingleBeanDefinitionParser { +class CassandraMappingContextParser extends AbstractSingleBeanDefinitionParser { /* (non-Javadoc) * @see org.springframework.beans.factory.xml.AbstractSingleBeanDefinitionParser#getBeanClass(org.w3c.dom.Element) diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/config/CassandraMappingConverterParser.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/config/CassandraMappingConverterParser.java index a3c983b8b..a760970b3 100644 --- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/config/CassandraMappingConverterParser.java +++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/config/CassandraMappingConverterParser.java @@ -30,7 +30,7 @@ import org.w3c.dom.Element; * @author Matthew T. Adams * @author Mark Paluch */ -public class CassandraMappingConverterParser extends AbstractSingleBeanDefinitionParser { +class CassandraMappingConverterParser extends AbstractSingleBeanDefinitionParser { /* (non-Javadoc) * @see org.springframework.beans.factory.xml.AbstractSingleBeanDefinitionParser#getBeanClass(org.w3c.dom.Element) diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/config/CassandraMappingXmlBeanFactoryPostProcessorRegistrar.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/config/CassandraMappingXmlBeanFactoryPostProcessorRegistrar.java index adedfa25f..c0672123e 100644 --- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/config/CassandraMappingXmlBeanFactoryPostProcessorRegistrar.java +++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/config/CassandraMappingXmlBeanFactoryPostProcessorRegistrar.java @@ -29,7 +29,7 @@ import org.w3c.dom.Element; * * @author Matthew T. Adams */ -public class CassandraMappingXmlBeanFactoryPostProcessorRegistrar { +class CassandraMappingXmlBeanFactoryPostProcessorRegistrar { /** * Ensures that a {@link CassandraMappingBeanFactoryPostProcessor} is registered. This method is a no-op if one is diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/config/CassandraNamespaceHandler.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/config/CassandraNamespaceHandler.java index 8e5ac3715..f08d6ce82 100644 --- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/config/CassandraNamespaceHandler.java +++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/config/CassandraNamespaceHandler.java @@ -16,8 +16,6 @@ package org.springframework.data.cassandra.config; import org.springframework.beans.factory.xml.NamespaceHandlerSupport; -import org.springframework.data.cassandra.repository.config.CassandraRepositoryConfigurationExtension; -import org.springframework.data.repository.config.RepositoryBeanDefinitionParser; /** * Namespace handler for spring-data-cassandra. @@ -25,10 +23,12 @@ import org.springframework.data.repository.config.RepositoryBeanDefinitionParser * @author Alex Shvid * @author Matthew T. Adams * @author Mark Paluch + * @author Oliver Gierke */ public class CassandraNamespaceHandler extends NamespaceHandlerSupport { - /* (non-Javadoc) + /* + * (non-Javadoc) * @see org.springframework.beans.factory.xml.NamespaceHandler#init() */ @Override @@ -39,7 +39,5 @@ public class CassandraNamespaceHandler extends NamespaceHandlerSupport { registerBeanDefinitionParser("template", new CassandraTemplateParser()); registerBeanDefinitionParser("converter", new CassandraMappingConverterParser()); registerBeanDefinitionParser("mapping", new CassandraMappingContextParser()); - registerBeanDefinitionParser("repositories", - new RepositoryBeanDefinitionParser(new CassandraRepositoryConfigurationExtension())); } } diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/config/CassandraSessionParser.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/config/CassandraSessionParser.java index 4cc266cb2..bbf4921b0 100644 --- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/config/CassandraSessionParser.java +++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/config/CassandraSessionParser.java @@ -28,7 +28,7 @@ import org.w3c.dom.Element; * @author Matthew T. Adams * @author Mark Paluch */ -public class CassandraSessionParser extends CassandraCqlSessionParser { +class CassandraSessionParser extends CassandraCqlSessionParser { /* (non-Javadoc) * @see org.springframework.cassandra.config.xml.CassandraCqlSessionParser#getBeanClass(org.w3c.dom.Element) diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/config/CassandraTemplateParser.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/config/CassandraTemplateParser.java index acb55d59b..50007c65b 100644 --- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/config/CassandraTemplateParser.java +++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/config/CassandraTemplateParser.java @@ -32,7 +32,7 @@ import org.w3c.dom.Element; * @author Mark Paluch * @author Mateusz Szymczak */ -public class CassandraTemplateParser extends AbstractSingleBeanDefinitionParser { +class CassandraTemplateParser extends AbstractSingleBeanDefinitionParser { /* (non-Javadoc) * @see org.springframework.cassandra.config.xml.CassandraCqlTemplateParser#getBeanClass(org.w3c.dom.Element) diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/config/ParsingUtils.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/config/ParsingUtils.java index 1d5f75b6d..77152ba9a 100644 --- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/config/ParsingUtils.java +++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/config/ParsingUtils.java @@ -35,7 +35,7 @@ import org.w3c.dom.Element; * @see org.w3c.dom.Attr * @see org.w3c.dom.Element */ -public abstract class ParsingUtils { +abstract class ParsingUtils { /** * Convenience method delegating to diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/repository/config/CassandraRepositoryConfigurationExtension.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/repository/config/CassandraRepositoryConfigurationExtension.java index 258a1828f..aefadd923 100644 --- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/repository/config/CassandraRepositoryConfigurationExtension.java +++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/repository/config/CassandraRepositoryConfigurationExtension.java @@ -41,7 +41,7 @@ import org.w3c.dom.Element; * @author Christoph Strobl * @author Mateusz Szymczak */ -public class CassandraRepositoryConfigurationExtension extends RepositoryConfigurationExtensionSupport { +class CassandraRepositoryConfigurationExtension extends RepositoryConfigurationExtensionSupport { private static final String CASSANDRA_TEMPLATE_REF = "cassandra-template-ref"; diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/repository/config/CassandraRepositoryNamespaceHandler.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/repository/config/CassandraRepositoryNamespaceHandler.java new file mode 100644 index 000000000..42051494a --- /dev/null +++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/repository/config/CassandraRepositoryNamespaceHandler.java @@ -0,0 +1,41 @@ +/* + * Copyright 2017 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.data.cassandra.repository.config; + +import org.springframework.data.cassandra.config.CassandraNamespaceHandler; +import org.springframework.data.cassandra.repository.config.CassandraRepositoryConfigurationExtension; +import org.springframework.data.repository.config.RepositoryBeanDefinitionParser; + +/** + * Namespace handler for spring-data-cassandra. + * + * @author Oliver Gierke + */ +class CassandraRepositoryNamespaceHandler extends CassandraNamespaceHandler { + + /* + * (non-Javadoc) + * @see org.springframework.beans.factory.xml.NamespaceHandler#init() + */ + @Override + public void init() { + + super.init(); + + registerBeanDefinitionParser("repositories", + new RepositoryBeanDefinitionParser(new CassandraRepositoryConfigurationExtension())); + } +} diff --git a/spring-data-cassandra/src/main/resources/META-INF/spring.handlers b/spring-data-cassandra/src/main/resources/META-INF/spring.handlers index a3228f979..ed2b379e3 100644 --- a/spring-data-cassandra/src/main/resources/META-INF/spring.handlers +++ b/spring-data-cassandra/src/main/resources/META-INF/spring.handlers @@ -1,2 +1,2 @@ http\://www.springframework.org/schema/cql=org.springframework.data.cassandra.config.CqlNamespaceHandler -http\://www.springframework.org/schema/data/cassandra=org.springframework.data.cassandra.config.CassandraNamespaceHandler +http\://www.springframework.org/schema/data/cassandra=org.springframework.data.cassandra.repository.config.CassandraRepositoryNamespaceHandler diff --git a/spring-data-cassandra/src/main/resources/META-INF/spring.schemas b/spring-data-cassandra/src/main/resources/META-INF/spring.schemas index 38d278f63..897f535e2 100644 --- a/spring-data-cassandra/src/main/resources/META-INF/spring.schemas +++ b/spring-data-cassandra/src/main/resources/META-INF/spring.schemas @@ -1,7 +1,7 @@ -http\://www.springframework.org/schema/cql/spring-cql-1.0.xsd=org/springframework/data/cql/config/spring-cql-1.0.xsd -http\://www.springframework.org/schema/cql/spring-cql-1.5.xsd=org/springframework/data/cql/config/spring-cql-1.5.xsd -http\://www.springframework.org/schema/cql/spring-cql-2.0.xsd=org/springframework/data/cql/config/spring-cql-2.0.xsd -http\://www.springframework.org/schema/cql/spring-cql.xsd=org/springframework/data/cql/config/spring-cql-2.0.xsd +http\://www.springframework.org/schema/cql/spring-cql-1.0.xsd=org/springframework/data/cassandra/config/spring-cql-1.0.xsd +http\://www.springframework.org/schema/cql/spring-cql-1.5.xsd=org/springframework/data/cassandra/config/spring-cql-1.5.xsd +http\://www.springframework.org/schema/cql/spring-cql-2.0.xsd=org/springframework/data/cassandra/config/spring-cql-2.0.xsd +http\://www.springframework.org/schema/cql/spring-cql.xsd=org/springframework/data/cassandra/config/spring-cql-2.0.xsd http\://www.springframework.org/schema/data/cassandra/spring-cassandra-1.0.xsd=org/springframework/data/cassandra/config/spring-cassandra-1.0.xsd http\://www.springframework.org/schema/data/cassandra/spring-cassandra-1.5.xsd=org/springframework/data/cassandra/config/spring-cassandra-1.5.xsd diff --git a/spring-data-cassandra/src/main/resources/META-INF/spring.tooling b/spring-data-cassandra/src/main/resources/META-INF/spring.tooling index af7e4af5c..b462022d4 100644 --- a/spring-data-cassandra/src/main/resources/META-INF/spring.tooling +++ b/spring-data-cassandra/src/main/resources/META-INF/spring.tooling @@ -1,7 +1,7 @@ # Tooling related information for the cql namespace http\://www.springframework.org/schema/cql@name=Spring Cassandra CQL Namespace http\://www.springframework.org/schema/cql@prefix=cql -http\://www.springframework.org/schema/cql@icon=org/springframework/data/cql/config/spring-cql.gif +http\://www.springframework.org/schema/cql@icon=org/springframework/data/cassandra/config/spring-cql.gif # Tooling related information for the cassandra namespace http\://www.springframework.org/schema/data/cassandra@name=Spring Data Cassandra Namespace diff --git a/spring-data-cassandra/src/main/resources/org/springframework/data/cql/config/spring-cql-1.0.xsd b/spring-data-cassandra/src/main/resources/org/springframework/data/cassandra/config/spring-cql-1.0.xsd similarity index 100% rename from spring-data-cassandra/src/main/resources/org/springframework/data/cql/config/spring-cql-1.0.xsd rename to spring-data-cassandra/src/main/resources/org/springframework/data/cassandra/config/spring-cql-1.0.xsd diff --git a/spring-data-cassandra/src/main/resources/org/springframework/data/cql/config/spring-cql-1.5.xsd b/spring-data-cassandra/src/main/resources/org/springframework/data/cassandra/config/spring-cql-1.5.xsd similarity index 100% rename from spring-data-cassandra/src/main/resources/org/springframework/data/cql/config/spring-cql-1.5.xsd rename to spring-data-cassandra/src/main/resources/org/springframework/data/cassandra/config/spring-cql-1.5.xsd diff --git a/spring-data-cassandra/src/main/resources/org/springframework/data/cql/config/spring-cql-2.0.xsd b/spring-data-cassandra/src/main/resources/org/springframework/data/cassandra/config/spring-cql-2.0.xsd similarity index 100% rename from spring-data-cassandra/src/main/resources/org/springframework/data/cql/config/spring-cql-2.0.xsd rename to spring-data-cassandra/src/main/resources/org/springframework/data/cassandra/config/spring-cql-2.0.xsd diff --git a/spring-data-cassandra/src/main/resources/org/springframework/data/cql/config/spring-cql.gif b/spring-data-cassandra/src/main/resources/org/springframework/data/cassandra/config/spring-cql.gif similarity index 100% rename from spring-data-cassandra/src/main/resources/org/springframework/data/cql/config/spring-cql.gif rename to spring-data-cassandra/src/main/resources/org/springframework/data/cassandra/config/spring-cql.gif diff --git a/spring-data-cassandra/src/test/resources/org/springframework/data/cassandra/config/CassandraNamespaceIntegrationTests-context.xml b/spring-data-cassandra/src/test/resources/org/springframework/data/cassandra/config/CassandraNamespaceIntegrationTests-context.xml index 39108c114..dca128a08 100644 --- a/spring-data-cassandra/src/test/resources/org/springframework/data/cassandra/config/CassandraNamespaceIntegrationTests-context.xml +++ b/spring-data-cassandra/src/test/resources/org/springframework/data/cassandra/config/CassandraNamespaceIntegrationTests-context.xml @@ -5,8 +5,8 @@ xmlns:context="http://www.springframework.org/schema/context" xmlns:cql="http://www.springframework.org/schema/cql" xsi:schemaLocation="http://www.springframework.org/schema/data/cassandra http://www.springframework.org/schema/data/cassandra/spring-cassandra.xsd - http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd - http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/cql http://www.springframework.org/schema/cql/spring-cql.xsd"> + http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd + http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/cql http://www.springframework.org/schema/cql/spring-cql.xsd">