Browse Source

Apply PR requests

jamming 10 years ago
parent
commit
94d4a60bde

+ 1 - 1
frameworks/Java/sabina/setup.sh

@@ -4,4 +4,4 @@
 source $IROOT/java8.installed
 source $IROOT/java8.installed
 
 
 mvn clean package -DskipTests -Ddb.host=${DBHOST}
 mvn clean package -DskipTests -Ddb.host=${DBHOST}
-${JAVA_HOME}/bin/java $@ -jar target/sabina-1.0.0.jar &
+${JAVA_HOME}/bin/java $@ -jar target/sabina-1.0.0.jar

+ 9 - 3
frameworks/Java/sabina/src/main/java/sabina/benchmark/Application.java

@@ -64,9 +64,15 @@ final class Application extends MatcherFilter {
     }
     }
 
 
     private static Object getDb (Request it) {
     private static Object getDb (Request it) {
-        final World[] worlds = REPOSITORY.getWorlds (getQueries (it), false);
-        it.response.type (CONTENT_TYPE_JSON);
-        return toJson (it.queryParams (QUERIES_PARAM) == null? worlds[0] : worlds);
+        try {
+            final World[] worlds = REPOSITORY.getWorlds (getQueries (it), false);
+            it.response.type (CONTENT_TYPE_JSON);
+            return toJson (it.queryParams (QUERIES_PARAM) == null? worlds[0] : worlds);
+        }
+        catch (Exception e){
+            e.printStackTrace ();
+            throw e;
+        }
     }
     }
 
 
     private static Object getFortunes (Request it) {
     private static Object getFortunes (Request it) {

+ 14 - 30
frameworks/Java/sabina/src/main/java/sabina/benchmark/MongoDbRepository.java

@@ -56,38 +56,14 @@ final class MongoDbRepository implements Repository {
         MongoDatabase db = mongoClient.getDatabase (DATABASE);
         MongoDatabase db = mongoClient.getDatabase (DATABASE);
         worldCollection = db.getCollection (WORLD);
         worldCollection = db.getCollection (WORLD);
         fortuneCollection = db.getCollection (FORTUNE);
         fortuneCollection = db.getCollection (FORTUNE);
-
-        loadData ();
-    }
-
-    private void loadData () {
-        fortuneCollection.drop ();
-        if (fortuneCollection.count () == 0) {
-            int id = 0;
-            for (String fortune : FORTUNES) {
-                fortuneCollection.insertOne (
-                    new Document ("_id", ++id).append ("message", fortune)
-                );
-            }
-        }
-
-        worldCollection.drop ();
-        if (worldCollection.count () == 0) {
-            final Random random = ThreadLocalRandom.current ();
-            for (int ii = 1; ii <= DB_ROWS; ii++) {
-                int randomNumber = random.nextInt (DB_ROWS) + 1;
-                worldCollection.insertOne (
-                    new Document ("_id", ii).append ("randomNumber", randomNumber)
-                );
-            }
-        }
     }
     }
 
 
     @Override public List<Fortune> getFortunes () {
     @Override public List<Fortune> getFortunes () {
         List<Fortune> fortunes = new ArrayList<> ();
         List<Fortune> fortunes = new ArrayList<> ();
 
 
         fortuneCollection.find ().forEach ((Block<Document>)doc ->
         fortuneCollection.find ().forEach ((Block<Document>)doc ->
-            fortunes.add (new Fortune ((Integer)doc.get ("_id"), (String)doc.get ("message")))
+            fortunes.add (new Fortune (doc.get ("_id", Double.class).intValue (), (String)doc.get
+                ("message")))
         );
         );
 
 
         return fortunes;
         return fortunes;
@@ -106,16 +82,24 @@ final class MongoDbRepository implements Repository {
     }
     }
 
 
     private World findWorld (int id) {
     private World findWorld (int id) {
-        return createWorld (worldCollection.find(eq ("_id", id)).first ());
+        return createWorld (worldCollection.find(eq ("_id", (double)id)).first ());
     }
     }
 
 
     private World createWorld (Document world) {
     private World createWorld (Document world) {
-        return new World ((Integer)world.get ("_id"), (Integer)world.get ("randomNumber"));
+        try {
+            return new World (world.get ("_id", Double.class).intValue (), world.get
+                ("randomNumber", Double.class).intValue ());
+        }
+        catch (ClassCastException e) {
+            return new World (world.get ("_id", Double.class).intValue (), world.get
+                ("randomNumber", Integer.class));
+        }
     }
     }
 
 
     public World updateWorld (int id, int random) {
     public World updateWorld (int id, int random) {
-        Document newWorld = new Document ("_id", id).append ("randomNumber", random);
-        worldCollection.replaceOne (eq ("_id", id), newWorld);
+        Document newWorld = new Document ("_id", (double)id).append ("randomNumber", (double)
+            random);
+        worldCollection.replaceOne (eq ("_id", (double)id), newWorld);
 
 
         return new World (id, random);
         return new World (id, random);
     }
     }

+ 1 - 27
frameworks/Java/sabina/src/test/java/sabina/benchmark/ApplicationTest.java

@@ -38,7 +38,7 @@ import org.testng.annotations.Test;
  * <p>TODO Change assert's order
  * <p>TODO Change assert's order
  */
  */
 public final class ApplicationTest {
 public final class ApplicationTest {
-    private static final int THREADS = 16, EXECUTIONS = 75, WARM_UP = 10;
+    private static final int THREADS = 1, EXECUTIONS = 1;
 
 
     private static final String ENDPOINT = "http://localhost:5050";
     private static final String ENDPOINT = "http://localhost:5050";
     private static final Gson GSON = new Gson ();
     private static final Gson GSON = new Gson ();
@@ -47,32 +47,6 @@ public final class ApplicationTest {
         Application.main (null);
         Application.main (null);
     }
     }
 
 
-    @BeforeClass public void warm_up () throws IOException {
-        for (int ii = 0; ii < WARM_UP; ii++) {
-            json ();
-            plaintext ();
-            no_query_parameter ();
-            empty_query_parameter ();
-            text_query_parameter ();
-            zero_queries ();
-            one_thousand_queries ();
-            one_query ();
-            ten_queries ();
-            one_hundred_queries ();
-            five_hundred_queries ();
-            fortunes ();
-            no_updates_parameter ();
-            empty_updates_parameter ();
-            text_updates_parameter ();
-            zero_updates ();
-            one_thousand_updates ();
-            one_update ();
-            ten_updates ();
-            one_hundred_updates ();
-            five_hundred_updates ();
-        }
-    }
-
     @AfterClass public static void close () {
     @AfterClass public static void close () {
         stop ();
         stop ();
     }
     }