Browse Source

Java/act fix mongo update test (#2553)

* make mongo domain use lowercase collection names

* update updates test to make it comply to test spec, i.e. use two trips for each update
Green Luo 8 years ago
parent
commit
6259cac572

+ 7 - 3
frameworks/Java/act/run.sh

@@ -1,6 +1,10 @@
 #!/bin/bash
 #!/bin/bash
 
 
-mvn clean package
-cd target/dist
-unzip *.zip
+if [ ! -f target/dist/start ]; then
+    mvn clean package
+    cd target/dist
+    unzip *.zip
+else
+    cd target/dist
+fi
 ./start
 ./start

+ 7 - 1
frameworks/Java/act/src/main/java/com/techempower/act/mongo/controller/WorldController.java

@@ -4,6 +4,7 @@ import act.controller.Controller;
 import act.db.morphia.MorphiaQuery;
 import act.db.morphia.MorphiaQuery;
 import com.techempower.act.controller.WorldControllerBase;
 import com.techempower.act.controller.WorldControllerBase;
 import com.techempower.act.mongo.domain.World;
 import com.techempower.act.mongo.domain.World;
+import org.osgl.mvc.result.NotFound;
 
 
 import javax.inject.Inject;
 import javax.inject.Inject;
 import javax.inject.Singleton;
 import javax.inject.Singleton;
@@ -19,6 +20,11 @@ public final class WorldController extends WorldControllerBase<World, MorphiaQue
 
 
 	@Override
 	@Override
 	protected World findAndModifyOne() {
 	protected World findAndModifyOne() {
-		return worldDao.ds().findAndModify(worldDao.q("_id", randomWorldNumber()), worldDao.updates().set("randomNumber", randomWorldNumber()));
+		int id = randomWorldNumber();
+		World world = worldDao.findById(id);
+		notFoundIfNull(world);
+		world.setRandomNumber(randomWorldNumber());
+		worldDao.save(world);
+		return world;
 	}
 	}
 }
 }

+ 4 - 0
frameworks/Java/act/src/main/java/com/techempower/act/mongo/domain/World.java

@@ -29,5 +29,9 @@ public final class World implements IWorld {
         return randomNumber;
         return randomNumber;
     }
     }
 
 
+    public void setRandomNumber(Integer randomNumber) {
+        this.randomNumber = randomNumber;
+    }
+
     public static class Dao extends MorphiaDaoBase<Integer, World> {}
     public static class Dao extends MorphiaDaoBase<Integer, World> {}
 }
 }