Browse Source

DATACMNS-77 - Using constants from ClassTypeInformation inside MappingMongoConverter.

pull/1/head
Oliver Gierke 14 years ago
parent
commit
bc16ccfded
  1. 12
      spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/MappingMongoConverter.java

12
spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/MappingMongoConverter.java

@ -72,12 +72,6 @@ import com.mongodb.DBRef;
*/ */
public class MappingMongoConverter extends AbstractMongoConverter implements ApplicationContextAware { public class MappingMongoConverter extends AbstractMongoConverter implements ApplicationContextAware {
@SuppressWarnings("rawtypes")
private static final TypeInformation<Map> MAP_TYPE_INFORMATION = ClassTypeInformation.from(Map.class);
@SuppressWarnings("rawtypes")
private static final TypeInformation<Collection> COLLECTION_TYPE_INFORMATION = ClassTypeInformation
.from(Collection.class);
protected static final Log log = LogFactory.getLog(MappingMongoConverter.class); protected static final Log log = LogFactory.getLog(MappingMongoConverter.class);
protected final MappingContext<? extends MongoPersistentEntity<?>, MongoPersistentProperty> mappingContext; protected final MappingContext<? extends MongoPersistentEntity<?>, MongoPersistentProperty> mappingContext;
@ -322,12 +316,12 @@ public class MappingMongoConverter extends AbstractMongoConverter implements App
} }
if (Map.class.isAssignableFrom(obj.getClass())) { if (Map.class.isAssignableFrom(obj.getClass())) {
writeMapInternal((Map<Object, Object>) obj, dbo, MAP_TYPE_INFORMATION); writeMapInternal((Map<Object, Object>) obj, dbo, ClassTypeInformation.MAP);
return; return;
} }
if (Collection.class.isAssignableFrom(obj.getClass())) { if (Collection.class.isAssignableFrom(obj.getClass())) {
writeCollectionInternal((Collection<?>) obj, COLLECTION_TYPE_INFORMATION, (BasicDBList) dbo); writeCollectionInternal((Collection<?>) obj, ClassTypeInformation.LIST, (BasicDBList) dbo);
return; return;
} }
@ -549,7 +543,7 @@ public class MappingMongoConverter extends AbstractMongoConverter implements App
writeCollectionInternal(asCollection(val), propertyType.getMapValueType(), new BasicDBList())); writeCollectionInternal(asCollection(val), propertyType.getMapValueType(), new BasicDBList()));
} else { } else {
DBObject newDbo = new BasicDBObject(); DBObject newDbo = new BasicDBObject();
TypeInformation<?> valueTypeInfo = propertyType.isMap() ? propertyType.getMapValueType() : ClassTypeInformation.from(Object.class); TypeInformation<?> valueTypeInfo = propertyType.isMap() ? propertyType.getMapValueType() : ClassTypeInformation.OBJECT;
writeInternal(val, newDbo, valueTypeInfo); writeInternal(val, newDbo, valueTypeInfo);
dbo.put(simpleKey, newDbo); dbo.put(simpleKey, newDbo);
} }

Loading…
Cancel
Save