diff --git a/spring-data-mongodb-cross-store/src/main/java/org/springframework/data/persistence/document/mongodb/MongoChangeSetPersister.java b/spring-data-mongodb-cross-store/src/main/java/org/springframework/data/persistence/document/mongodb/MongoChangeSetPersister.java
index 8c763c02f..11e697588 100644
--- a/spring-data-mongodb-cross-store/src/main/java/org/springframework/data/persistence/document/mongodb/MongoChangeSetPersister.java
+++ b/spring-data-mongodb-cross-store/src/main/java/org/springframework/data/persistence/document/mongodb/MongoChangeSetPersister.java
@@ -11,8 +11,8 @@ import org.apache.commons.logging.LogFactory;
import org.springframework.dao.DataAccessException;
import org.springframework.dao.DataAccessResourceFailureException;
import org.springframework.dao.DataIntegrityViolationException;
-import org.springframework.data.mongodb.CollectionCallback;
-import org.springframework.data.mongodb.MongoTemplate;
+import org.springframework.data.mongodb.core.CollectionCallback;
+import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.persistence.ChangeSet;
import org.springframework.data.persistence.ChangeSetBacked;
import org.springframework.data.persistence.ChangeSetPersister;
diff --git a/spring-data-mongodb-cross-store/src/test/java/org/springframework/data/document/persistence/CrossStoreMongoTests.java b/spring-data-mongodb-cross-store/src/test/java/org/springframework/data/document/persistence/CrossStoreMongoTests.java
index 3ab26edef..545f17eb8 100644
--- a/spring-data-mongodb-cross-store/src/test/java/org/springframework/data/document/persistence/CrossStoreMongoTests.java
+++ b/spring-data-mongodb-cross-store/src/test/java/org/springframework/data/document/persistence/CrossStoreMongoTests.java
@@ -10,7 +10,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.document.persistence.test.Address;
import org.springframework.data.document.persistence.test.Person;
import org.springframework.data.document.persistence.test.Resume;
-import org.springframework.data.mongodb.MongoTemplate;
+import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.test.annotation.Rollback;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
diff --git a/spring-data-mongodb-cross-store/src/test/java/org/springframework/data/document/persistence/test/Resume.java b/spring-data-mongodb-cross-store/src/test/java/org/springframework/data/document/persistence/test/Resume.java
index 1ba1677d8..f5e439848 100644
--- a/spring-data-mongodb-cross-store/src/test/java/org/springframework/data/document/persistence/test/Resume.java
+++ b/spring-data-mongodb-cross-store/src/test/java/org/springframework/data/document/persistence/test/Resume.java
@@ -4,7 +4,7 @@ import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.bson.types.ObjectId;
import org.springframework.data.annotation.Id;
-import org.springframework.data.mongodb.mapping.Document;
+import org.springframework.data.mongodb.core.mapping.Document;
@Document
public class Resume {
diff --git a/spring-data-mongodb-cross-store/src/test/resources/META-INF/spring/applicationContext.xml b/spring-data-mongodb-cross-store/src/test/resources/META-INF/spring/applicationContext.xml
index 4c66ef574..4f6da556a 100644
--- a/spring-data-mongodb-cross-store/src/test/resources/META-INF/spring/applicationContext.xml
+++ b/spring-data-mongodb-cross-store/src/test/resources/META-INF/spring/applicationContext.xml
@@ -20,22 +20,22 @@
-
+
-
+
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/config/AbstractMongoConfiguration.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/config/AbstractMongoConfiguration.java
index 2688fb06b..fe9d3e8f3 100644
--- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/config/AbstractMongoConfiguration.java
+++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/config/AbstractMongoConfiguration.java
@@ -28,11 +28,11 @@ import org.springframework.data.annotation.Persistent;
import org.springframework.data.authentication.UserCredentials;
import org.springframework.data.mapping.context.MappingContextAwareBeanPostProcessor;
import org.springframework.data.mongodb.MongoDbFactory;
-import org.springframework.data.mongodb.MongoTemplate;
-import org.springframework.data.mongodb.SimpleMongoDbFactory;
-import org.springframework.data.mongodb.convert.MappingMongoConverter;
-import org.springframework.data.mongodb.mapping.Document;
-import org.springframework.data.mongodb.mapping.MongoMappingContext;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.data.mongodb.core.SimpleMongoDbFactory;
+import org.springframework.data.mongodb.core.convert.MappingMongoConverter;
+import org.springframework.data.mongodb.core.mapping.Document;
+import org.springframework.data.mongodb.core.mapping.MongoMappingContext;
import org.springframework.util.ClassUtils;
import org.springframework.util.StringUtils;
diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/config/MappingMongoConverterParser.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/config/MappingMongoConverterParser.java
index 297576bd5..ddec9c765 100644
--- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/config/MappingMongoConverterParser.java
+++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/config/MappingMongoConverterParser.java
@@ -39,11 +39,11 @@ import org.springframework.context.annotation.ClassPathScanningCandidateComponen
import org.springframework.core.type.filter.AnnotationTypeFilter;
import org.springframework.data.annotation.Persistent;
import org.springframework.data.mapping.context.MappingContextAwareBeanPostProcessor;
-import org.springframework.data.mongodb.convert.CustomConversions;
-import org.springframework.data.mongodb.convert.MappingMongoConverter;
-import org.springframework.data.mongodb.mapping.Document;
-import org.springframework.data.mongodb.mapping.MongoMappingContext;
-import org.springframework.data.mongodb.mapping.MongoPersistentEntityIndexCreator;
+import org.springframework.data.mongodb.core.convert.CustomConversions;
+import org.springframework.data.mongodb.core.convert.MappingMongoConverter;
+import org.springframework.data.mongodb.core.index.MongoPersistentEntityIndexCreator;
+import org.springframework.data.mongodb.core.mapping.Document;
+import org.springframework.data.mongodb.core.mapping.MongoMappingContext;
import org.springframework.util.StringUtils;
import org.springframework.util.xml.DomUtils;
import org.w3c.dom.Element;
diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/config/MongoDbFactoryParser.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/config/MongoDbFactoryParser.java
index f62fc91fc..d800d36ec 100644
--- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/config/MongoDbFactoryParser.java
+++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/config/MongoDbFactoryParser.java
@@ -26,8 +26,8 @@ import org.springframework.beans.factory.support.BeanDefinitionReaderUtils;
import org.springframework.beans.factory.xml.AbstractBeanDefinitionParser;
import org.springframework.beans.factory.xml.ParserContext;
import org.springframework.data.authentication.UserCredentials;
-import org.springframework.data.mongodb.MongoFactoryBean;
-import org.springframework.data.mongodb.SimpleMongoDbFactory;
+import org.springframework.data.mongodb.core.MongoFactoryBean;
+import org.springframework.data.mongodb.core.SimpleMongoDbFactory;
import org.springframework.util.StringUtils;
import org.w3c.dom.Element;
diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/config/MongoJmxParser.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/config/MongoJmxParser.java
index 7cf266c9d..f32a16d54 100644
--- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/config/MongoJmxParser.java
+++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/config/MongoJmxParser.java
@@ -21,7 +21,7 @@ import org.springframework.beans.factory.parsing.CompositeComponentDefinition;
import org.springframework.beans.factory.support.BeanDefinitionBuilder;
import org.springframework.beans.factory.xml.BeanDefinitionParser;
import org.springframework.beans.factory.xml.ParserContext;
-import org.springframework.data.mongodb.MongoAdmin;
+import org.springframework.data.mongodb.core.MongoAdmin;
import org.springframework.data.mongodb.monitor.*;
import org.springframework.util.StringUtils;
import org.w3c.dom.Element;
diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/config/MongoParser.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/config/MongoParser.java
index ce4a75349..5c43aa527 100644
--- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/config/MongoParser.java
+++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/config/MongoParser.java
@@ -22,8 +22,8 @@ import org.springframework.beans.factory.support.BeanDefinitionBuilder;
import org.springframework.beans.factory.support.ManagedList;
import org.springframework.beans.factory.xml.AbstractSingleBeanDefinitionParser;
import org.springframework.beans.factory.xml.ParserContext;
-import org.springframework.data.mongodb.MongoFactoryBean;
-import org.springframework.data.mongodb.MongoOptionsFactoryBean;
+import org.springframework.data.mongodb.core.MongoFactoryBean;
+import org.springframework.data.mongodb.core.MongoOptionsFactoryBean;
import org.springframework.util.StringUtils;
import org.springframework.util.xml.DomUtils;
import org.w3c.dom.Element;
diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/config/ParsingUtils.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/config/ParsingUtils.java
index 690b61edd..7c3b42606 100644
--- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/config/ParsingUtils.java
+++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/config/ParsingUtils.java
@@ -19,7 +19,7 @@ package org.springframework.data.mongodb.config;
import org.springframework.beans.factory.support.BeanDefinitionBuilder;
import org.springframework.beans.factory.support.ManagedList;
import org.springframework.beans.factory.xml.ParserContext;
-import org.springframework.data.mongodb.MongoOptionsFactoryBean;
+import org.springframework.data.mongodb.core.MongoOptionsFactoryBean;
import org.springframework.util.StringUtils;
import org.springframework.util.xml.DomUtils;
import org.w3c.dom.Element;
diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/config/SimpleMongoRepositoryConfiguration.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/config/SimpleMongoRepositoryConfiguration.java
index 9c7ce29a5..714f69da2 100644
--- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/config/SimpleMongoRepositoryConfiguration.java
+++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/config/SimpleMongoRepositoryConfiguration.java
@@ -48,7 +48,7 @@ public class SimpleMongoRepositoryConfiguration
}
/**
- * Returns the bean name of the {@link org.springframework.data.mongodb.MongoTemplate} to be referenced.
+ * Returns the bean name of the {@link org.springframework.data.mongodb.core.core.MongoTemplate} to be referenced.
*
* @return
*/
diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/CollectionCallback.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/CollectionCallback.java
similarity index 92%
rename from spring-data-mongodb/src/main/java/org/springframework/data/mongodb/CollectionCallback.java
rename to spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/CollectionCallback.java
index c07e53d0c..97b32f611 100644
--- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/CollectionCallback.java
+++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/CollectionCallback.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.springframework.data.mongodb;
+package org.springframework.data.mongodb.core;
import com.mongodb.DBCollection;
import com.mongodb.MongoException;
diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/CollectionOptions.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/CollectionOptions.java
similarity index 93%
rename from spring-data-mongodb/src/main/java/org/springframework/data/mongodb/CollectionOptions.java
rename to spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/CollectionOptions.java
index 1e3eb8b58..672a51476 100644
--- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/CollectionOptions.java
+++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/CollectionOptions.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.springframework.data.mongodb;
+package org.springframework.data.mongodb.core;
/**
* Provides a simple wrapper to encapsulate the variety of settings you can use when creating a collection.
diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/CursorPreparer.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/CursorPreparer.java
similarity index 95%
rename from spring-data-mongodb/src/main/java/org/springframework/data/mongodb/CursorPreparer.java
rename to spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/CursorPreparer.java
index 4b9c3b800..a470db656 100644
--- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/CursorPreparer.java
+++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/CursorPreparer.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.springframework.data.mongodb;
+package org.springframework.data.mongodb.core;
import com.mongodb.DBCursor;
diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/DbCallback.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/DbCallback.java
similarity index 92%
rename from spring-data-mongodb/src/main/java/org/springframework/data/mongodb/DbCallback.java
rename to spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/DbCallback.java
index 8c5fc53b0..4b72c6271 100644
--- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/DbCallback.java
+++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/DbCallback.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.springframework.data.mongodb;
+package org.springframework.data.mongodb.core;
import com.mongodb.DB;
import com.mongodb.MongoException;
diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/DbHolder.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/DbHolder.java
similarity index 96%
rename from spring-data-mongodb/src/main/java/org/springframework/data/mongodb/DbHolder.java
rename to spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/DbHolder.java
index 0827db049..35dcb3723 100644
--- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/DbHolder.java
+++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/DbHolder.java
@@ -1,4 +1,4 @@
-package org.springframework.data.mongodb;
+package org.springframework.data.mongodb.core;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/MongoAdmin.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MongoAdmin.java
similarity index 83%
rename from spring-data-mongodb/src/main/java/org/springframework/data/mongodb/MongoAdmin.java
rename to spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MongoAdmin.java
index 743252c21..adc3798fb 100644
--- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/MongoAdmin.java
+++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MongoAdmin.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.springframework.data.mongodb;
+package org.springframework.data.mongodb.core;
import com.mongodb.DB;
import com.mongodb.Mongo;
@@ -45,7 +45,7 @@ public class MongoAdmin implements MongoAdminOperations {
}
/* (non-Javadoc)
- * @see org.springframework.data.mongodb.MongoAdminOperations#dropDatabase(java.lang.String)
+ * @see org.springframework.data.mongodb.core.core.MongoAdminOperations#dropDatabase(java.lang.String)
*/
@ManagedOperation
public void dropDatabase(String databaseName) {
@@ -53,7 +53,7 @@ public class MongoAdmin implements MongoAdminOperations {
}
/* (non-Javadoc)
- * @see org.springframework.data.mongodb.MongoAdminOperations#createDatabase(java.lang.String)
+ * @see org.springframework.data.mongodb.core.core.MongoAdminOperations#createDatabase(java.lang.String)
*/
@ManagedOperation
public void createDatabase(String databaseName) {
@@ -61,7 +61,7 @@ public class MongoAdmin implements MongoAdminOperations {
}
/* (non-Javadoc)
- * @see org.springframework.data.mongodb.MongoAdminOperations#getDatabaseStats(java.lang.String)
+ * @see org.springframework.data.mongodb.core.core.MongoAdminOperations#getDatabaseStats(java.lang.String)
*/
@ManagedOperation
public String getDatabaseStats(String databaseName) {
diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/MongoAdminOperations.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MongoAdminOperations.java
similarity index 84%
rename from spring-data-mongodb/src/main/java/org/springframework/data/mongodb/MongoAdminOperations.java
rename to spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MongoAdminOperations.java
index 398847eb0..da18a4b21 100644
--- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/MongoAdminOperations.java
+++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MongoAdminOperations.java
@@ -1,4 +1,4 @@
-package org.springframework.data.mongodb;
+package org.springframework.data.mongodb.core;
import org.springframework.jmx.export.annotation.ManagedOperation;
diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/MongoDbUtils.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MongoDbUtils.java
similarity index 97%
rename from spring-data-mongodb/src/main/java/org/springframework/data/mongodb/MongoDbUtils.java
rename to spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MongoDbUtils.java
index c66d89fd3..a3610d6f8 100644
--- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/MongoDbUtils.java
+++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MongoDbUtils.java
@@ -14,12 +14,13 @@
* limitations under the License.
*/
-package org.springframework.data.mongodb;
+package org.springframework.data.mongodb.core;
import com.mongodb.DB;
import com.mongodb.Mongo;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.springframework.data.mongodb.CannotGetMongoDbConnectionException;
import org.springframework.transaction.support.TransactionSynchronizationManager;
import org.springframework.util.Assert;
diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/MongoDocumentWriter.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MongoDocumentWriter.java
similarity index 90%
rename from spring-data-mongodb/src/main/java/org/springframework/data/mongodb/MongoDocumentWriter.java
rename to spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MongoDocumentWriter.java
index b83724b74..a860731ea 100644
--- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/MongoDocumentWriter.java
+++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MongoDocumentWriter.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.springframework.data.mongodb;
+package org.springframework.data.mongodb.core;
public interface MongoDocumentWriter {
diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/MongoExceptionTranslator.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MongoExceptionTranslator.java
similarity index 96%
rename from spring-data-mongodb/src/main/java/org/springframework/data/mongodb/MongoExceptionTranslator.java
rename to spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MongoExceptionTranslator.java
index 93b557b6b..164b67129 100644
--- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/MongoExceptionTranslator.java
+++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MongoExceptionTranslator.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.springframework.data.mongodb;
+package org.springframework.data.mongodb.core;
import com.mongodb.MongoException;
import com.mongodb.MongoException.CursorNotFound;
@@ -28,6 +28,7 @@ import org.springframework.dao.DuplicateKeyException;
import org.springframework.dao.InvalidDataAccessApiUsageException;
import org.springframework.dao.InvalidDataAccessResourceUsageException;
import org.springframework.dao.support.PersistenceExceptionTranslator;
+import org.springframework.data.mongodb.UncategorizedMongoDbException;
/**
* Simple {@link PersistenceExceptionTranslator} for Mongo. Convert the given runtime exception to an appropriate
diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/MongoFactoryBean.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MongoFactoryBean.java
similarity index 96%
rename from spring-data-mongodb/src/main/java/org/springframework/data/mongodb/MongoFactoryBean.java
rename to spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MongoFactoryBean.java
index b4f9b8fee..ada0931f0 100644
--- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/MongoFactoryBean.java
+++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MongoFactoryBean.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.springframework.data.mongodb;
+package org.springframework.data.mongodb.core;
import java.util.List;
@@ -27,6 +27,7 @@ import org.springframework.beans.factory.FactoryBean;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.dao.DataAccessException;
import org.springframework.dao.support.PersistenceExceptionTranslator;
+import org.springframework.data.mongodb.CannotGetMongoDbConnectionException;
import org.springframework.util.Assert;
/**
diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/MongoOperations.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MongoOperations.java
similarity index 99%
rename from spring-data-mongodb/src/main/java/org/springframework/data/mongodb/MongoOperations.java
rename to spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MongoOperations.java
index 68302e41a..ad1c87d2d 100644
--- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/MongoOperations.java
+++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MongoOperations.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.springframework.data.mongodb;
+package org.springframework.data.mongodb.core;
import java.util.Collection;
import java.util.List;
@@ -24,9 +24,9 @@ import com.mongodb.DBCollection;
import com.mongodb.DBObject;
import com.mongodb.WriteResult;
-import org.springframework.data.mongodb.index.IndexDefinition;
-import org.springframework.data.mongodb.query.Query;
-import org.springframework.data.mongodb.query.Update;
+import org.springframework.data.mongodb.core.index.IndexDefinition;
+import org.springframework.data.mongodb.core.query.Query;
+import org.springframework.data.mongodb.core.query.Update;
/**
* Interface that specifies a basic set of MongoDB operations. Implemented by {@link MongoTemplate}. Not often used but
diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/MongoOptionsFactoryBean.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MongoOptionsFactoryBean.java
similarity index 99%
rename from spring-data-mongodb/src/main/java/org/springframework/data/mongodb/MongoOptionsFactoryBean.java
rename to spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MongoOptionsFactoryBean.java
index 41752e06e..721f4ca54 100644
--- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/MongoOptionsFactoryBean.java
+++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MongoOptionsFactoryBean.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.springframework.data.mongodb;
+package org.springframework.data.mongodb.core;
import com.mongodb.MongoOptions;
diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/MongoSynchronization.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MongoSynchronization.java
similarity index 88%
rename from spring-data-mongodb/src/main/java/org/springframework/data/mongodb/MongoSynchronization.java
rename to spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MongoSynchronization.java
index dc2683b10..e35046d9d 100644
--- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/MongoSynchronization.java
+++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MongoSynchronization.java
@@ -1,4 +1,4 @@
-package org.springframework.data.mongodb;
+package org.springframework.data.mongodb.core;
import org.springframework.transaction.support.ResourceHolder;
import org.springframework.transaction.support.ResourceHolderSynchronization;
diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/MongoTemplate.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MongoTemplate.java
similarity index 92%
rename from spring-data-mongodb/src/main/java/org/springframework/data/mongodb/MongoTemplate.java
rename to spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MongoTemplate.java
index 582235070..347e9e391 100644
--- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/MongoTemplate.java
+++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MongoTemplate.java
@@ -14,9 +14,9 @@
* limitations under the License.
*/
-package org.springframework.data.mongodb;
+package org.springframework.data.mongodb.core;
-import static org.springframework.data.mongodb.query.Criteria.*;
+import static org.springframework.data.mongodb.core.query.Criteria.*;
import java.lang.reflect.InvocationTargetException;
import java.util.ArrayList;
@@ -56,23 +56,25 @@ import org.springframework.data.authentication.UserCredentials;
import org.springframework.data.mapping.context.MappingContext;
import org.springframework.data.mapping.model.BeanWrapper;
import org.springframework.data.mapping.model.MappingException;
-import org.springframework.data.mongodb.convert.MappingMongoConverter;
-import org.springframework.data.mongodb.convert.MongoConverter;
-import org.springframework.data.mongodb.index.IndexDefinition;
-import org.springframework.data.mongodb.mapping.MongoMappingContext;
-import org.springframework.data.mongodb.mapping.MongoPersistentEntity;
-import org.springframework.data.mongodb.mapping.MongoPersistentEntityIndexCreator;
-import org.springframework.data.mongodb.mapping.MongoPersistentProperty;
-import org.springframework.data.mongodb.mapping.event.AfterConvertEvent;
-import org.springframework.data.mongodb.mapping.event.AfterLoadEvent;
-import org.springframework.data.mongodb.mapping.event.AfterSaveEvent;
-import org.springframework.data.mongodb.mapping.event.BeforeConvertEvent;
-import org.springframework.data.mongodb.mapping.event.BeforeSaveEvent;
-import org.springframework.data.mongodb.mapping.event.MongoMappingEvent;
-import org.springframework.data.mongodb.mapping.event.MongoMappingEventPublisher;
-import org.springframework.data.mongodb.query.Query;
-import org.springframework.data.mongodb.query.QueryMapper;
-import org.springframework.data.mongodb.query.Update;
+import org.springframework.data.mongodb.MongoDbFactory;
+import org.springframework.data.mongodb.core.convert.MappingMongoConverter;
+import org.springframework.data.mongodb.core.convert.MongoConverter;
+import org.springframework.data.mongodb.core.convert.MongoReader;
+import org.springframework.data.mongodb.core.convert.MongoWriter;
+import org.springframework.data.mongodb.core.index.IndexDefinition;
+import org.springframework.data.mongodb.core.index.MongoMappingEventPublisher;
+import org.springframework.data.mongodb.core.index.MongoPersistentEntityIndexCreator;
+import org.springframework.data.mongodb.core.mapping.MongoMappingContext;
+import org.springframework.data.mongodb.core.mapping.MongoPersistentEntity;
+import org.springframework.data.mongodb.core.mapping.MongoPersistentProperty;
+import org.springframework.data.mongodb.core.mapping.event.AfterConvertEvent;
+import org.springframework.data.mongodb.core.mapping.event.AfterLoadEvent;
+import org.springframework.data.mongodb.core.mapping.event.AfterSaveEvent;
+import org.springframework.data.mongodb.core.mapping.event.BeforeConvertEvent;
+import org.springframework.data.mongodb.core.mapping.event.BeforeSaveEvent;
+import org.springframework.data.mongodb.core.mapping.event.MongoMappingEvent;
+import org.springframework.data.mongodb.core.query.Query;
+import org.springframework.data.mongodb.core.query.Update;
import org.springframework.jca.cci.core.ConnectionCallback;
import org.springframework.util.Assert;
@@ -244,7 +246,7 @@ public class MongoTemplate implements MongoOperations, ApplicationContextAware {
/**
* Returns the default
- * {@link org.springframework.data.mongodb.convert.MongoConverter}.
+ * {@link org.springframework.data.mongodb.core.core.convert.MongoConverter}.
*
* @return
*/
@@ -254,7 +256,7 @@ public class MongoTemplate implements MongoOperations, ApplicationContextAware {
/**
* Returns the
- * {@link org.springframework.data.mongodb.MongoDbFactory}.
+ * {@link org.springframework.data.mongodb.core.MongoDbFactory}.
*
* @return
*/
@@ -269,7 +271,7 @@ public class MongoTemplate implements MongoOperations, ApplicationContextAware {
/*
* (non-Javadoc)
*
- * @see org.springframework.data.mongodb.MongoOperations#
+ * @see org.springframework.data.mongodb.core.core.MongoOperations#
* getDefaultCollectionName()
*/
public String getCollectionName(Class> entityClass) {
@@ -280,7 +282,7 @@ public class MongoTemplate implements MongoOperations, ApplicationContextAware {
* (non-Javadoc)
*
* @see
- * org.springframework.data.mongodb.MongoOperations#executeCommand
+ * org.springframework.data.mongodb.core.core.MongoOperations#executeCommand
* (java.lang.String)
*/
public CommandResult executeCommand(String jsonCommand) {
@@ -291,7 +293,7 @@ public class MongoTemplate implements MongoOperations, ApplicationContextAware {
* (non-Javadoc)
*
* @see
- * org.springframework.data.mongodb.MongoOperations#executeCommand
+ * org.springframework.data.mongodb.core.core.MongoOperations#executeCommand
* (com.mongodb.DBObject)
*/
public CommandResult executeCommand(final DBObject command) {
@@ -319,7 +321,7 @@ public class MongoTemplate implements MongoOperations, ApplicationContextAware {
* (non-Javadoc)
*
* @see
- * org.springframework.data.mongodb.MongoOperations#execute(org.
+ * org.springframework.data.mongodb.core.core.MongoOperations#execute(org.
* springframework.data.document.mongodb.DBCallback)
*/
public T execute(DbCallback action) {
@@ -338,7 +340,7 @@ public class MongoTemplate implements MongoOperations, ApplicationContextAware {
* (non-Javadoc)
*
* @see
- * org.springframework.data.mongodb.MongoOperations#execute(org.
+ * org.springframework.data.mongodb.core.core.MongoOperations#execute(org.
* springframework.data.document.mongodb.CollectionCallback)
*/
public T execute(Class> entityClass, CollectionCallback callback) {
@@ -349,7 +351,7 @@ public class MongoTemplate implements MongoOperations, ApplicationContextAware {
* (non-Javadoc)
*
* @see
- * org.springframework.data.mongodb.MongoOperations#execute(org.
+ * org.springframework.data.mongodb.core.core.MongoOperations#execute(org.
* springframework.data.document.mongodb.CollectionCallback,
* java.lang.String)
*/
@@ -370,8 +372,8 @@ public class MongoTemplate implements MongoOperations, ApplicationContextAware {
* (non-Javadoc)
*
* @see
- * org.springframework.data.mongodb.MongoOperations#executeInSession
- * (org.springframework.data.mongodb.DBCallback)
+ * org.springframework.data.mongodb.core.core.MongoOperations#executeInSession
+ * (org.springframework.data.mongodb.core.core.DBCallback)
*/
public T executeInSession(final DbCallback action) {
@@ -391,7 +393,7 @@ public class MongoTemplate implements MongoOperations, ApplicationContextAware {
* (non-Javadoc)
*
* @see
- * org.springframework.data.mongodb.MongoOperations#createCollection
+ * org.springframework.data.mongodb.core.core.MongoOperations#createCollection
* (java.lang.Class)
*/
public DBCollection createCollection(Class entityClass) {
@@ -402,9 +404,9 @@ public class MongoTemplate implements MongoOperations, ApplicationContextAware {
* (non-Javadoc)
*
* @see
- * org.springframework.data.mongodb.MongoOperations#createCollection
+ * org.springframework.data.mongodb.core.core.MongoOperations#createCollection
* (java.lang.Class,
- * org.springframework.data.mongodb.CollectionOptions)
+ * org.springframework.data.mongodb.core.core.CollectionOptions)
*/
public DBCollection createCollection(Class entityClass,
CollectionOptions collectionOptions) {
@@ -415,7 +417,7 @@ public class MongoTemplate implements MongoOperations, ApplicationContextAware {
* (non-Javadoc)
*
* @see
- * org.springframework.data.mongodb.MongoOperations#createCollection
+ * org.springframework.data.mongodb.core.core.MongoOperations#createCollection
* (java.lang.String)
*/
public DBCollection createCollection(final String collectionName) {
@@ -426,9 +428,9 @@ public class MongoTemplate implements MongoOperations, ApplicationContextAware {
* (non-Javadoc)
*
* @see
- * org.springframework.data.mongodb.MongoOperations#createCollection
+ * org.springframework.data.mongodb.core.core.MongoOperations#createCollection
* (java.lang.String,
- * org.springframework.data.mongodb.CollectionOptions)
+ * org.springframework.data.mongodb.core.core.CollectionOptions)
*/
public DBCollection createCollection(final String collectionName,
final CollectionOptions collectionOptions) {
@@ -440,7 +442,7 @@ public class MongoTemplate implements MongoOperations, ApplicationContextAware {
* (non-Javadoc)
*
* @see
- * org.springframework.data.mongodb.MongoOperations#getCollection
+ * org.springframework.data.mongodb.core.core.MongoOperations#getCollection
* (java.lang.String)
*/
public DBCollection getCollection(final String collectionName) {
@@ -456,7 +458,7 @@ public class MongoTemplate implements MongoOperations, ApplicationContextAware {
* (non-Javadoc)
*
* @see
- * org.springframework.data.mongodb.MongoOperations#collectionExists
+ * org.springframework.data.mongodb.core.core.MongoOperations#collectionExists
* (java.lang.Class)
*/
public boolean collectionExists(Class entityClass) {
@@ -467,7 +469,7 @@ public class MongoTemplate implements MongoOperations, ApplicationContextAware {
* (non-Javadoc)
*
* @see
- * org.springframework.data.mongodb.MongoOperations#collectionExists
+ * org.springframework.data.mongodb.core.core.MongoOperations#collectionExists
* (java.lang.String)
*/
public boolean collectionExists(final String collectionName) {
@@ -483,7 +485,7 @@ public class MongoTemplate implements MongoOperations, ApplicationContextAware {
* (non-Javadoc)
*
* @see
- * org.springframework.data.mongodb.MongoOperations#dropCollection
+ * org.springframework.data.mongodb.core.core.MongoOperations#dropCollection
* (java.lang.Class)
*/
public void dropCollection(Class entityClass) {
@@ -496,7 +498,7 @@ public class MongoTemplate implements MongoOperations, ApplicationContextAware {
* (non-Javadoc)
*
* @see
- * org.springframework.data.mongodb.MongoOperations#dropCollection
+ * org.springframework.data.mongodb.core.core.MongoOperations#dropCollection
* (java.lang.String)
*/
public void dropCollection(String collectionName) {
@@ -628,7 +630,7 @@ public class MongoTemplate implements MongoOperations, ApplicationContextAware {
* (non-Javadoc)
*
* @see
- * org.springframework.data.mongodb.MongoOperations#insert(java
+ * org.springframework.data.mongodb.core.core.MongoOperations#insert(java
* .lang .Object)
*/
public void insert(Object objectToSave) {
@@ -640,7 +642,7 @@ public class MongoTemplate implements MongoOperations, ApplicationContextAware {
* (non-Javadoc)
*
* @see
- * org.springframework.data.mongodb.MongoOperations#insert(java
+ * org.springframework.data.mongodb.core.core.MongoOperations#insert(java
* .lang .String, java.lang.Object)
*/
public void insert(Object objectToSave, String collectionName) {
@@ -701,7 +703,7 @@ public class MongoTemplate implements MongoOperations, ApplicationContextAware {
* (non-Javadoc)
*
* @see
- * org.springframework.data.mongodb.MongoOperations#insertList(java
+ * org.springframework.data.mongodb.core.core.MongoOperations#insertList(java
* .util.List)
*/
public void insert(Collection extends Object> batchToSave, Class> entityClass) {
@@ -712,7 +714,7 @@ public class MongoTemplate implements MongoOperations, ApplicationContextAware {
* (non-Javadoc)
*
* @see
- * org.springframework.data.mongodb.MongoOperations#insertList(java
+ * org.springframework.data.mongodb.core.core.MongoOperations#insertList(java
* .lang.String, java.util.List)
*/
public void insert(Collection extends Object> batchToSave,
@@ -724,7 +726,7 @@ public class MongoTemplate implements MongoOperations, ApplicationContextAware {
* (non-Javadoc)
*
* @see
- * org.springframework.data.mongodb.MongoOperations#insertAll(java
+ * org.springframework.data.mongodb.core.core.MongoOperations#insertAll(java
* .util.Collection)
*/
public void insertAll(Collection extends Object> objectsToSave) {
@@ -790,7 +792,7 @@ public class MongoTemplate implements MongoOperations, ApplicationContextAware {
* (non-Javadoc)
*
* @see
- * org.springframework.data.mongodb.MongoOperations#save(java.lang
+ * org.springframework.data.mongodb.core.core.MongoOperations#save(java.lang
* .Object)
*/
public void save(Object objectToSave) {
@@ -801,7 +803,7 @@ public class MongoTemplate implements MongoOperations, ApplicationContextAware {
* (non-Javadoc)
*
* @see
- * org.springframework.data.mongodb.MongoOperations#save(java.lang
+ * org.springframework.data.mongodb.core.core.MongoOperations#save(java.lang
* .String, java.lang.Object)
*/
public void save(Object objectToSave, String collectionName) {
@@ -901,7 +903,7 @@ public class MongoTemplate implements MongoOperations, ApplicationContextAware {
* (non-Javadoc)
*
* @see
- * org.springframework.data.mongodb.MongoOperations#updateFirst(com
+ * org.springframework.data.mongodb.core.core.MongoOperations#updateFirst(com
* .mongodb.DBObject, com.mongodb.DBObject)
*/
public WriteResult updateFirst(Query query, Update update,
@@ -914,7 +916,7 @@ public class MongoTemplate implements MongoOperations, ApplicationContextAware {
* (non-Javadoc)
*
* @see
- * org.springframework.data.mongodb.MongoOperations#updateFirst
+ * org.springframework.data.mongodb.core.core.MongoOperations#updateFirst
* (java .lang.String, com.mongodb.DBObject, com.mongodb.DBObject)
*/
public WriteResult updateFirst(final Query query,
@@ -926,7 +928,7 @@ public class MongoTemplate implements MongoOperations, ApplicationContextAware {
* (non-Javadoc)
*
* @see
- * org.springframework.data.mongodb.MongoOperations#updateMulti(com
+ * org.springframework.data.mongodb.core.core.MongoOperations#updateMulti(com
* .mongodb.DBObject, com.mongodb.DBObject)
*/
public WriteResult updateMulti(Query query, Update update,
@@ -939,7 +941,7 @@ public class MongoTemplate implements MongoOperations, ApplicationContextAware {
* (non-Javadoc)
*
* @see
- * org.springframework.data.mongodb.MongoOperations#updateMulti
+ * org.springframework.data.mongodb.core.core.MongoOperations#updateMulti
* (java .lang.String, com.mongodb.DBObject, com.mongodb.DBObject)
*/
public WriteResult updateMulti(final Query query, final Update update,
@@ -1048,7 +1050,7 @@ public class MongoTemplate implements MongoOperations, ApplicationContextAware {
* (non-Javadoc)
*
* @see
- * org.springframework.data.mongodb.MongoOperations#remove(java
+ * org.springframework.data.mongodb.core.core.MongoOperations#remove(java
* .lang .String, com.mongodb.DBObject)
*/
public void remove(final Query query, String collectionName) {
@@ -1059,7 +1061,7 @@ public class MongoTemplate implements MongoOperations, ApplicationContextAware {
* (non-Javadoc)
*
* @see
- * org.springframework.data.mongodb.MongoOperations#getCollection
+ * org.springframework.data.mongodb.core.core.MongoOperations#getCollection
* (java.lang.Class)
*/
public List findAll(Class entityClass) {
diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/query/QueryMapper.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/QueryMapper.java
similarity index 94%
rename from spring-data-mongodb/src/main/java/org/springframework/data/mongodb/query/QueryMapper.java
rename to spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/QueryMapper.java
index b906f630c..4e3a4cff2 100644
--- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/query/QueryMapper.java
+++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/QueryMapper.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.springframework.data.mongodb.query;
+package org.springframework.data.mongodb.core;
import java.util.ArrayList;
import java.util.Iterator;
@@ -25,8 +25,8 @@ import org.bson.types.BasicBSONList;
import org.bson.types.ObjectId;
import org.springframework.core.convert.ConversionException;
import org.springframework.data.mapping.PersistentEntity;
-import org.springframework.data.mongodb.convert.MongoConverter;
-import org.springframework.data.mongodb.mapping.MongoPersistentEntity;
+import org.springframework.data.mongodb.core.convert.MongoConverter;
+import org.springframework.data.mongodb.core.mapping.MongoPersistentEntity;
import org.springframework.util.Assert;
/**
diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/SimpleMongoDbFactory.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/SimpleMongoDbFactory.java
similarity index 92%
rename from spring-data-mongodb/src/main/java/org/springframework/data/mongodb/SimpleMongoDbFactory.java
rename to spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/SimpleMongoDbFactory.java
index 617987ecf..034253459 100644
--- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/SimpleMongoDbFactory.java
+++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/SimpleMongoDbFactory.java
@@ -1,10 +1,11 @@
-package org.springframework.data.mongodb;
+package org.springframework.data.mongodb.core;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.beans.factory.DisposableBean;
import org.springframework.dao.DataAccessException;
import org.springframework.data.authentication.UserCredentials;
+import org.springframework.data.mongodb.MongoDbFactory;
import org.springframework.util.Assert;
import com.mongodb.DB;
diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/WriteResultChecking.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/WriteResultChecking.java
similarity index 55%
rename from spring-data-mongodb/src/main/java/org/springframework/data/mongodb/WriteResultChecking.java
rename to spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/WriteResultChecking.java
index 7cc9ebdc5..70015abe5 100644
--- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/WriteResultChecking.java
+++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/WriteResultChecking.java
@@ -1,4 +1,4 @@
-package org.springframework.data.mongodb;
+package org.springframework.data.mongodb.core;
public enum WriteResultChecking {
NONE, LOG, EXCEPTION
diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/convert/AbstractMongoConverter.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/AbstractMongoConverter.java
similarity index 87%
rename from spring-data-mongodb/src/main/java/org/springframework/data/mongodb/convert/AbstractMongoConverter.java
rename to spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/AbstractMongoConverter.java
index b28198449..509f82a02 100644
--- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/convert/AbstractMongoConverter.java
+++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/AbstractMongoConverter.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.springframework.data.mongodb.convert;
+package org.springframework.data.mongodb.core.convert;
import java.math.BigDecimal;
import java.math.BigInteger;
@@ -28,12 +28,12 @@ import org.springframework.beans.factory.InitializingBean;
import org.springframework.core.convert.ConversionService;
import org.springframework.core.convert.support.ConversionServiceFactory;
import org.springframework.core.convert.support.GenericConversionService;
-import org.springframework.data.mongodb.convert.MongoConverters.BigDecimalToStringConverter;
-import org.springframework.data.mongodb.convert.MongoConverters.BigIntegerToObjectIdConverter;
-import org.springframework.data.mongodb.convert.MongoConverters.ObjectIdToBigIntegerConverter;
-import org.springframework.data.mongodb.convert.MongoConverters.ObjectIdToStringConverter;
-import org.springframework.data.mongodb.convert.MongoConverters.StringToBigDecimalConverter;
-import org.springframework.data.mongodb.convert.MongoConverters.StringToObjectIdConverter;
+import org.springframework.data.mongodb.core.convert.MongoConverters.BigDecimalToStringConverter;
+import org.springframework.data.mongodb.core.convert.MongoConverters.BigIntegerToObjectIdConverter;
+import org.springframework.data.mongodb.core.convert.MongoConverters.ObjectIdToBigIntegerConverter;
+import org.springframework.data.mongodb.core.convert.MongoConverters.ObjectIdToStringConverter;
+import org.springframework.data.mongodb.core.convert.MongoConverters.StringToBigDecimalConverter;
+import org.springframework.data.mongodb.core.convert.MongoConverters.StringToObjectIdConverter;
import com.mongodb.BasicDBList;
import com.mongodb.BasicDBObject;
@@ -96,7 +96,7 @@ public abstract class AbstractMongoConverter implements MongoConverter, Initiali
/*
* (non-Javadoc)
- * @see org.springframework.data.mongodb.convert.MongoConverter#getConversionService()
+ * @see org.springframework.data.mongodb.core.core.convert.MongoConverter#getConversionService()
*/
public ConversionService getConversionService() {
return conversionService;
diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/convert/CustomConversions.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/CustomConversions.java
similarity index 97%
rename from spring-data-mongodb/src/main/java/org/springframework/data/mongodb/convert/CustomConversions.java
rename to spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/CustomConversions.java
index 297f23902..ab8fe8f3b 100644
--- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/convert/CustomConversions.java
+++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/CustomConversions.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.springframework.data.mongodb.convert;
+package org.springframework.data.mongodb.core.convert;
import java.util.ArrayList;
import java.util.Arrays;
@@ -31,8 +31,8 @@ import org.springframework.core.convert.converter.GenericConverter;
import org.springframework.core.convert.converter.GenericConverter.ConvertiblePair;
import org.springframework.core.convert.support.GenericConversionService;
import org.springframework.data.mapping.model.SimpleTypeHolder;
-import org.springframework.data.mongodb.convert.MongoConverters.BigDecimalToStringConverter;
-import org.springframework.data.mongodb.convert.MongoConverters.StringToBigDecimalConverter;
+import org.springframework.data.mongodb.core.convert.MongoConverters.BigDecimalToStringConverter;
+import org.springframework.data.mongodb.core.convert.MongoConverters.StringToBigDecimalConverter;
import org.springframework.util.Assert;
import com.mongodb.DBObject;
diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/convert/MappingMongoConverter.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/MappingMongoConverter.java
similarity index 96%
rename from spring-data-mongodb/src/main/java/org/springframework/data/mongodb/convert/MappingMongoConverter.java
rename to spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/MappingMongoConverter.java
index 7d9f3ee6f..d11768e04 100644
--- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/convert/MappingMongoConverter.java
+++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/MappingMongoConverter.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.springframework.data.mongodb.convert;
+package org.springframework.data.mongodb.core.convert;
import java.lang.reflect.Array;
import java.lang.reflect.InvocationTargetException;
@@ -52,8 +52,8 @@ import org.springframework.data.mapping.model.MappingException;
import org.springframework.data.mapping.model.ParameterValueProvider;
import org.springframework.data.mapping.model.SpELAwareParameterValueProvider;
import org.springframework.data.mongodb.MongoDbFactory;
-import org.springframework.data.mongodb.mapping.MongoPersistentEntity;
-import org.springframework.data.mongodb.mapping.MongoPersistentProperty;
+import org.springframework.data.mongodb.core.mapping.MongoPersistentEntity;
+import org.springframework.data.mongodb.core.mapping.MongoPersistentProperty;
import org.springframework.data.util.ClassTypeInformation;
import org.springframework.data.util.TypeInformation;
import org.springframework.expression.Expression;
@@ -103,7 +103,7 @@ public class MappingMongoConverter extends AbstractMongoConverter implements App
/*
* (non-Javadoc)
- * @see org.springframework.data.mongodb.convert.MongoConverter#getMappingContext()
+ * @see org.springframework.data.mongodb.core.core.convert.MongoConverter#getMappingContext()
*/
public MappingContext extends MongoPersistentEntity>, MongoPersistentProperty> getMappingContext() {
return mappingContext;
@@ -121,16 +121,16 @@ public class MappingMongoConverter extends AbstractMongoConverter implements App
}
/*
- * (non-Javadoc)
- * @see org.springframework.context.ApplicationContextAware#setApplicationContext(org.springframework.context.ApplicationContext)
- */
+ * (non-Javadoc)
+ * @see org.springframework.context.ApplicationContextAware#setApplicationContext(org.springframework.context.ApplicationContext)
+ */
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
this.applicationContext = applicationContext;
}
/*
* (non-Javadoc)
- * @see org.springframework.data.mongodb.convert.MongoConverter#convertObjectId(org.bson.types.ObjectId, java.lang.Class)
+ * @see org.springframework.data.mongodb.core.core.convert.MongoConverter#convertObjectId(org.bson.types.ObjectId, java.lang.Class)
*/
public T convertObjectId(ObjectId id, Class targetType) {
return conversionService.convert(id, targetType);
@@ -138,7 +138,7 @@ public class MappingMongoConverter extends AbstractMongoConverter implements App
/*
* (non-Javadoc)
- * @see org.springframework.data.mongodb.convert.MongoConverter#convertObjectId(java.lang.Object)
+ * @see org.springframework.data.mongodb.core.core.convert.MongoConverter#convertObjectId(java.lang.Object)
*/
public ObjectId convertObjectId(Object id) {
return conversionService.convert(id, ObjectId.class);
@@ -146,7 +146,7 @@ public class MappingMongoConverter extends AbstractMongoConverter implements App
/*
* (non-Javadoc)
- * @see org.springframework.data.mongodb.MongoReader#read(java.lang.Class, com.mongodb.DBObject)
+ * @see org.springframework.data.mongodb.core.core.MongoReader#read(java.lang.Class, com.mongodb.DBObject)
*/
public S read(Class clazz, final DBObject dbo) {
return read(ClassTypeInformation.from(clazz), dbo);
@@ -293,7 +293,7 @@ public class MappingMongoConverter extends AbstractMongoConverter implements App
* Root entry method into write conversion. Adds a type discriminator to the {@link DBObject}. Shouldn't be called for
* nested conversions.
*
- * @see org.springframework.data.mongodb.MongoWriter#write(java.lang.Object, com.mongodb.DBObject)
+ * @see org.springframework.data.mongodb.core.core.convert.MongoWriter#write(java.lang.Object, com.mongodb.DBObject)
*/
public void write(final Object obj, final DBObject dbo) {
@@ -613,7 +613,7 @@ public class MappingMongoConverter extends AbstractMongoConverter implements App
dbObject.put(key, valueToSet);
}
- protected DBRef createDBRef(Object target, org.springframework.data.mongodb.mapping.DBRef dbref) {
+ protected DBRef createDBRef(Object target, org.springframework.data.mongodb.core.mapping.DBRef dbref) {
MongoPersistentEntity> targetEntity = mappingContext.getPersistentEntity(target.getClass());
if (null == targetEntity || null == targetEntity.getIdProperty()) {
return null;
diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/convert/MongoBeanWrapper.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/MongoBeanWrapper.java
similarity index 93%
rename from spring-data-mongodb/src/main/java/org/springframework/data/mongodb/convert/MongoBeanWrapper.java
rename to spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/MongoBeanWrapper.java
index 4a1909695..709c31c25 100644
--- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/convert/MongoBeanWrapper.java
+++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/MongoBeanWrapper.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.springframework.data.mongodb.convert;
+package org.springframework.data.mongodb.core.convert;
import static org.springframework.beans.PropertyAccessorFactory.forBeanPropertyAccess;
import static org.springframework.beans.PropertyAccessorFactory.forDirectFieldAccess;
@@ -22,8 +22,7 @@ import org.springframework.beans.BeanWrapper;
import org.springframework.beans.ConfigurablePropertyAccessor;
import org.springframework.beans.NotWritablePropertyException;
import org.springframework.core.convert.ConversionService;
-import org.springframework.data.mongodb.MongoPropertyDescriptors;
-import org.springframework.data.mongodb.MongoPropertyDescriptors.MongoPropertyDescriptor;
+import org.springframework.data.mongodb.core.convert.MongoPropertyDescriptors.MongoPropertyDescriptor;
import org.springframework.util.Assert;
/**
diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/convert/MongoConverter.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/MongoConverter.java
similarity index 82%
rename from spring-data-mongodb/src/main/java/org/springframework/data/mongodb/convert/MongoConverter.java
rename to spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/MongoConverter.java
index e5efc66b0..58ea75e25 100644
--- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/convert/MongoConverter.java
+++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/MongoConverter.java
@@ -13,16 +13,14 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.springframework.data.mongodb.convert;
+package org.springframework.data.mongodb.core.convert;
import com.mongodb.BasicDBList;
import org.bson.types.ObjectId;
import org.springframework.core.convert.ConversionService;
import org.springframework.data.mapping.context.MappingContext;
-import org.springframework.data.mongodb.MongoReader;
-import org.springframework.data.mongodb.MongoWriter;
-import org.springframework.data.mongodb.mapping.MongoPersistentEntity;
-import org.springframework.data.mongodb.mapping.MongoPersistentProperty;
+import org.springframework.data.mongodb.core.mapping.MongoPersistentEntity;
+import org.springframework.data.mongodb.core.mapping.MongoPersistentProperty;
public interface MongoConverter extends MongoWriter