Bladeren bron

master Fixed a bug with undertow and mongodb

It was not calling the properly capitalized collection name and
was referring to the 'id' column instead of '_id'.
Mike Smith 11 jaren geleden
bovenliggende
commit
a08f5035b5

+ 3 - 3
undertow/src/main/java/hello/DbMongoHandler.java

@@ -34,14 +34,14 @@ final class DbMongoHandler implements HttpHandler {
     int queries = Helper.getQueries(exchange);
     World[] worlds = new World[queries];
     for (int i = 0; i < queries; i++) {
-      DBObject object = database.getCollection("world").findOne(
-          new BasicDBObject("id", Helper.randomWorld()));
+      DBObject object = database.getCollection("World").findOne(
+          new BasicDBObject("_id", Helper.randomWorld()));
       worlds[i] = new World(
           //
           // The creation script for the Mongo database inserts these numbers as
           // JavaScript numbers, which resolve to Doubles in Java.
           //
-          ((Number) object.get("id")).intValue(),
+          ((Number) object.get("_id")).intValue(),
           ((Number) object.get("randomNumber")).intValue());
     }
     exchange.getResponseHeaders().put(

+ 2 - 2
undertow/src/main/java/hello/FortunesMongoHandler.java

@@ -37,11 +37,11 @@ final class FortunesMongoHandler implements HttpHandler {
       return;
     }
     List<Fortune> fortunes = new ArrayList<>();
-    DBCursor cursor = database.getCollection("fortune").find();
+    DBCursor cursor = database.getCollection("Fortune").find();
     while (cursor.hasNext()) {
       DBObject object = cursor.next();
       fortunes.add(new Fortune(
-          ((Number) object.get("id")).intValue(),
+          ((Number) object.get("_id")).intValue(),
           (String) object.get("message")));
     }
     fortunes.add(new Fortune(0, "Additional fortune added at request time."));

+ 3 - 3
undertow/src/main/java/hello/UpdatesMongoHandler.java

@@ -35,18 +35,18 @@ final class UpdatesMongoHandler implements HttpHandler {
     World[] worlds = new World[queries];
     for (int i = 0; i < queries; i++) {
       int id = Helper.randomWorld();
-      DBObject key = new BasicDBObject("id", id);
+      DBObject key = new BasicDBObject("_id", id);
       //
       // The requirements for the test dictate that we must fetch the World
       // object from the data store and read its randomNumber field, even though
       // we could technically avoid doing either of those things and still
       // produce the correct output and side effects.
       //
-      DBObject object = database.getCollection("world").findOne(key);
+      DBObject object = database.getCollection("World").findOne(key);
       int oldRandomNumber = ((Number) object.get("randomNumber")).intValue();
       int newRandomNumber = Helper.randomWorld();
       object.put("randomNumber", newRandomNumber);
-      database.getCollection("world").update(key, object);
+      database.getCollection("World").update(key, object);
       worlds[i] = new World(id, newRandomNumber);
     }
     exchange.getResponseHeaders().put(