fixed Execution Time Statistics report
[proteocache.git] / engine / compbio / engine / ExecutionInterval.java
diff --git a/engine/compbio/engine/ExecutionInterval.java b/engine/compbio/engine/ExecutionInterval.java
new file mode 100644 (file)
index 0000000..9b0bcee
--- /dev/null
@@ -0,0 +1,44 @@
+package compbio.engine;
+
+import compbio.cassandra.Pair;
+
+
+/**
+ * List of all possible execution time intervals for statistics
+ * 
+ */
+public enum ExecutionInterval {
+               ZERO_THIRTY_SEC, THIRTY_SIXTY_SEC, ONE_TWO_MIN, TWO_TEN_MIN, MORE_THEN_TEN_MIN;
+               
+               public static ExecutionInterval getExecutionInterval(String interval) {
+                       interval = interval.trim().toLowerCase();
+                       for (ExecutionInterval execInterval : ExecutionInterval.values()) {
+                               if (execInterval.toString().equalsIgnoreCase(interval)) {
+                                       return execInterval;
+                               }
+                       }
+                       return null;
+               }
+               
+               public static Pair<Integer, Integer> getBoundsInterval(String interval) {
+                       ExecutionInterval execInterval = getExecutionInterval(interval);
+                       if (execInterval != null)
+                               switch (execInterval) {
+                   case ZERO_THIRTY_SEC:
+                       return  Pair.createPair(0, 30);
+                   case THIRTY_SIXTY_SEC:
+                       return Pair.createPair(30, 60);
+                   case ONE_TWO_MIN:
+                       return Pair.createPair(60, 120);
+                   case TWO_TEN_MIN:
+                       return Pair.createPair(120, 600);
+                   case MORE_THEN_TEN_MIN:
+                       return Pair.createPair(120, Integer.MAX_VALUE);
+                   default:
+                       return null;
+                       }
+                       return null;
+               }
+
+               
+}