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();
     }
   }
 


Reply via email to