Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 /*
  * 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.data.mongodb.repository.support;
import  org.springframework.util.Assert;
Custom MongodbSerializer to take mapping information into account when building keys for constraints.

Author(s):
Oliver Gierke
	private final MongoConverter converter;
	private final QueryMapper mapper;

Creates a new SpringDataMongodbSerializer for the given MappingContext.

Parameters:
mappingContext
		Assert.notNull(converter"MongoConverter must not be null!");
		this. = converter.getMappingContext();
		this. = converter;
		this. = new QueryMapper(converter);
	}
	/*
	 * (non-Javadoc)
	 * @see com.mysema.query.mongodb.MongodbSerializer#getKeyForPath(com.mysema.query.types.Path, com.mysema.query.types.PathMetadata)
	 */
	protected String getKeyForPath(Path<?> exprPathMetadata<?> metadata) {
		if (!metadata.getPathType().equals(.)) {
			return super.getKeyForPath(exprmetadata);
		}
		Path<?> parent = metadata.getParent();
		MongoPersistentProperty property = entity.getPersistentProperty(metadata.getName());
		return property == null ? super.getKeyForPath(exprmetadata) : property.getFieldName();
	}
	/*
	 * (non-Javadoc)
	 * @see com.mysema.query.mongodb.MongodbSerializer#asDBObject(java.lang.String, java.lang.Object)
	 */
	protected DBObject asDBObject(String keyObject value) {
		if ("_id".equals(key)) {
			return super.asDBObject(key.convertId(value));
		}
		return super.asDBObject(keyvalue instanceof Pattern ? value : .convertToMongoType(value));
	}
New to GrepCode? Check out our FAQ X