Author: srowen
Date: Mon Sep 12 14:57:45 2011
New Revision: 1169784
URL: http://svn.apache.org/viewvc?rev=1169784&view=rev
Log:
MAHOUT-801 avoid some ClassCastException by preferring toString()
Modified:
mahout/trunk/integration/src/main/java/org/apache/mahout/cf/taste/impl/model/mongodb/MongoDBDataModel.java
Modified:
mahout/trunk/integration/src/main/java/org/apache/mahout/cf/taste/impl/model/mongodb/MongoDBDataModel.java
URL:
http://svn.apache.org/viewvc/mahout/trunk/integration/src/main/java/org/apache/mahout/cf/taste/impl/model/mongodb/MongoDBDataModel.java?rev=1169784&r1=1169783&r2=1169784&view=diff
==============================================================================
---
mahout/trunk/integration/src/main/java/org/apache/mahout/cf/taste/impl/model/mongodb/MongoDBDataModel.java
(original)
+++
mahout/trunk/integration/src/main/java/org/apache/mahout/cf/taste/impl/model/mongodb/MongoDBDataModel.java
Mon Sep 12 14:57:45 2011
@@ -474,7 +474,8 @@ public final class MongoDBDataModel impl
DBObject objectIdLong = collectionMap.findOne(new
BasicDBObject("element_id", id));
if (objectIdLong != null) {
Map<String,Object> idLong = (Map<String,Object>) objectIdLong.toMap();
- return (String) idLong.get("long_value");
+ Object value = idLong.get("long_value");
+ return value == null ? null : value.toString();
} else {
objectIdLong = new BasicDBObject();
String longValue = Long.toString(idCounter++);
@@ -511,7 +512,8 @@ public final class MongoDBDataModel impl
public String fromLongToId(long id) {
DBObject objectIdLong = collectionMap.findOne(new
BasicDBObject("long_value", Long.toString(id)));
Map<String,Object> idLong = (Map<String,Object>) objectIdLong.toMap();
- return (String) idLong.get("element_id");
+ Object value = idLong.get("element_id");
+ return value == null ? null : value.toString();
}
/**
@@ -708,7 +710,7 @@ public final class MongoDBDataModel impl
return (Date) date;
} else if (date.getClass().getName().contains("String")) {
try {
- return dateFormat.parse((String) date);
+ return dateFormat.parse(date.toString());
} catch (ParseException ioe) {
log.warn("Error parsing timestamp", ioe);
}
@@ -720,7 +722,7 @@ public final class MongoDBDataModel impl
if (value != null) {
if (value.getClass().getName().contains("String")) {
preferenceIsString = true;
- return Float.parseFloat((String) value);
+ return Float.parseFloat(value.toString());
} else {
preferenceIsString = false;
return Double.valueOf(value.toString()).floatValue();
@@ -739,7 +741,7 @@ public final class MongoDBDataModel impl
}
return ((ObjectId) id).toStringMongod();
} else {
- return (String) id;
+ return id.toString();
}
}