[or-cvs] [metrics-web/master 2/3] Get rid of unused DateRanges class and move ErnieProperties class.

karsten at torproject.org karsten at torproject.org
Wed Oct 6 09:08:21 UTC 2010


Author: Karsten Loesing <karsten.loesing at gmx.net>
Date: Tue, 5 Oct 2010 13:16:59 +0200
Subject: Get rid of unused DateRanges class and move ErnieProperties class.
Commit: fe9cef83ff4f9dcd9f3ee139d708ff5c39241f97

---
 src/org/torproject/ernie/util/DateRanges.java      |  129 --------------------
 src/org/torproject/ernie/util/ErnieProperties.java |   31 -----
 .../torproject/ernie/web/DescriptorServlet.java    |    2 -
 src/org/torproject/ernie/web/ErnieProperties.java  |   31 +++++
 .../ernie/web/ExtraInfoDescriptorServlet.java      |    1 -
 src/org/torproject/ernie/web/GraphController.java  |   36 +++++-
 .../torproject/ernie/web/RelaySearchServlet.java   |    2 -
 src/org/torproject/ernie/web/RelayServlet.java     |    2 -
 .../ernie/web/ServerDescriptorServlet.java         |    1 -
 9 files changed, 63 insertions(+), 172 deletions(-)
 delete mode 100644 src/org/torproject/ernie/util/DateRanges.java
 delete mode 100644 src/org/torproject/ernie/util/ErnieProperties.java
 create mode 100644 src/org/torproject/ernie/web/ErnieProperties.java

diff --git a/src/org/torproject/ernie/util/DateRanges.java b/src/org/torproject/ernie/util/DateRanges.java
deleted file mode 100644
index 9204492..0000000
--- a/src/org/torproject/ernie/util/DateRanges.java
+++ /dev/null
@@ -1,129 +0,0 @@
-package org.torproject.ernie.util;
-
-import org.torproject.ernie.util.ErnieProperties;
-import org.apache.log4j.Logger;
-import java.util.*;
-import java.text.*;
-import java.sql.*;
-import java.util.Date; /* Use java date instead of sql.*/
-
-public class DateRanges {
-
-  private static final Logger log;
-  private static SimpleDateFormat simpledf;
-  private final static String jdbcURL;
-  private static final ErnieProperties props;
-
-  private Connection conn;
-  private PreparedStatement psYearsRange;
-  private PreparedStatement psAllRange;
-
-  static {
-    log = Logger.getLogger(DateRanges.class.toString());
-    props = new ErnieProperties();
-    simpledf = new SimpleDateFormat("yyyy-MM-dd");
-    simpledf.setTimeZone(TimeZone.getTimeZone("UTC"));
-    jdbcURL = props.getProperty("jdbc.url");
-  }
-
-  public DateRanges() {
-    try {
-      this.conn = DriverManager.getConnection(jdbcURL);
-
-      /* Its much faster to get the year from the aggregate tables instead
-       * of the large statusentry or descriptor tables. TODO do this more
-       * robustly? */
-      this.psYearsRange = conn.prepareStatement(
-          "select min(extract('year' from date(date))) as min, " +
-          "max(extract('year' from date(date))) as max " +
-          "from network_size");
-      this.psAllRange = conn.prepareStatement(
-          "select min(date(date)) as min, " +
-          "max(date(date)) as max " +
-          "from network_size");
-    } catch (SQLException e)  {
-      log.warn("Couldn't connect to database or prepare statements. " + e);
-    }
-  }
-
-  /**
-   * Get a range for days in the past, which returns a tuple
-   * that maps to (start, end) - (yyyy-mm-dd, yyyy-mm-dd)
-   */
-  public String[] getDayRange(int days)  {
-    String[] dates = new String[2];
-    Calendar today = Calendar.getInstance();
-    today.setTimeZone(TimeZone.getTimeZone("UTC"));
-    Calendar start = (Calendar)today.clone();
-    start.add(Calendar.DATE, -days);
-
-    dates[0] = simpledf.format(start.getTime());
-    dates[1] = simpledf.format(today.getTime());
-    return dates;
-  }
-
-  /**
-   * Get the years range (of current data in the database), which returns a
-   * simple numeric array of each year.
-   */
-  public int[] getYearsRange()  {
-    int min = 0, max = 0;
-    int yearsrange[] = null;
-    try {
-      ResultSet rsYearsRange = psYearsRange.executeQuery();
-      if (rsYearsRange.next())  {
-        min = rsYearsRange.getInt("min");
-        max = rsYearsRange.getInt("max");
-      }
-      yearsrange = new int[max - min + 1];
-      for (int i = 0; i <= max-min; i++) {
-        yearsrange[i] = min+i;
-      }
-    } catch (SQLException e) {
-      yearsrange = new int[0];
-      log.warn("Couldn't get results from network_size table: " + e);
-    }
-    return yearsrange;
-  }
-
-  /**
-   * Used in conjunction with getYearsRange, it accepts a year and will
-   * return the start and end date.
-   */
-  public String[] getYearsRangeDates(int year)  {
-    String[] dates = new String[2];
-    dates[0] = year + "-01-01";
-    dates[1] = year + "-12-31";
-    return dates;
-  }
-
-  /**
-   * Get the date range (of the current data in the database), which
-   * returns a map with one row that contains the start and end dates
-   * like (yyyy-mm-dd, yyyy-mm-dd).
-   */
-  public String[] getAllDataRange() {
-    String[] range = new String[2];
-    try {
-      ResultSet rsAllRange = psAllRange.executeQuery();
-      if (rsAllRange.next())  {
-        range[0] = rsAllRange.getString("min");
-        range[1] = rsAllRange.getString("max");
-      }
-    } catch (SQLException e) {
-      log.warn("Couldn't get results from network_size table: " + e);
-    }
-    return range;
-  }
-
-  /**
-   * Close database connection.
-   */
-  public void closeConnection() {
-    try {
-      this.conn.close();
-    } catch (SQLException e)  {
-      log.warn("Couldn't close database connection. " + e);
-    }
-  }
-}
diff --git a/src/org/torproject/ernie/util/ErnieProperties.java b/src/org/torproject/ernie/util/ErnieProperties.java
deleted file mode 100644
index 09695d4..0000000
--- a/src/org/torproject/ernie/util/ErnieProperties.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package org.torproject.ernie.util;
-
-import java.util.Properties;
-
-public class ErnieProperties  {
-
-  private static final String PROPS_RESOURCE = "ernie.properties";
-  private static Properties props;
-
-  static {
-    props = new Properties();
-    try {
-      props.load(ErnieProperties.class.getClassLoader()
-          .getResourceAsStream(PROPS_RESOURCE));
-    } catch (Exception e) {
-    }
-  }
-
-  public String getProperty(String key) {
-    return props.getProperty(key);
-  }
-
-  public String getProperty(String key, String defaultValue)  {
-    return props.getProperty(key, defaultValue);
-  }
-
-  public int getInt(String key) {
-    String value = getProperty(key);
-    return value == null ? 0 : Integer.parseInt(value);
-  }
-}
diff --git a/src/org/torproject/ernie/web/DescriptorServlet.java b/src/org/torproject/ernie/web/DescriptorServlet.java
index b26144c..6efaef1 100644
--- a/src/org/torproject/ernie/web/DescriptorServlet.java
+++ b/src/org/torproject/ernie/web/DescriptorServlet.java
@@ -9,8 +9,6 @@ import java.text.*;
 import java.util.*;
 import java.util.regex.*;
 
-import org.torproject.ernie.util.*;
-
 import org.apache.commons.codec.*;
 import org.apache.commons.codec.binary.*;
 
diff --git a/src/org/torproject/ernie/web/ErnieProperties.java b/src/org/torproject/ernie/web/ErnieProperties.java
new file mode 100644
index 0000000..7858285
--- /dev/null
+++ b/src/org/torproject/ernie/web/ErnieProperties.java
@@ -0,0 +1,31 @@
+package org.torproject.ernie.web;
+
+import java.util.Properties;
+
+public class ErnieProperties  {
+
+  private static final String PROPS_RESOURCE = "ernie.properties";
+  private static Properties props;
+
+  static {
+    props = new Properties();
+    try {
+      props.load(ErnieProperties.class.getClassLoader()
+          .getResourceAsStream(PROPS_RESOURCE));
+    } catch (Exception e) {
+    }
+  }
+
+  public String getProperty(String key) {
+    return props.getProperty(key);
+  }
+
+  public String getProperty(String key, String defaultValue)  {
+    return props.getProperty(key, defaultValue);
+  }
+
+  public int getInt(String key) {
+    String value = getProperty(key);
+    return value == null ? 0 : Integer.parseInt(value);
+  }
+}
diff --git a/src/org/torproject/ernie/web/ExtraInfoDescriptorServlet.java b/src/org/torproject/ernie/web/ExtraInfoDescriptorServlet.java
index 7429812..d447a7e 100644
--- a/src/org/torproject/ernie/web/ExtraInfoDescriptorServlet.java
+++ b/src/org/torproject/ernie/web/ExtraInfoDescriptorServlet.java
@@ -5,7 +5,6 @@ import javax.servlet.http.*;
 import java.io.*;
 import java.sql.*;
 import java.util.regex.*;
-import org.torproject.ernie.util.*;
 
 public class ExtraInfoDescriptorServlet extends HttpServlet {
 
diff --git a/src/org/torproject/ernie/web/GraphController.java b/src/org/torproject/ernie/web/GraphController.java
index 1c54d47..7d30b4d 100644
--- a/src/org/torproject/ernie/web/GraphController.java
+++ b/src/org/torproject/ernie/web/GraphController.java
@@ -6,8 +6,6 @@ import java.util.*;
 import org.rosuda.REngine.Rserve.*;
 import org.rosuda.REngine.*;
 
-import org.torproject.ernie.util.ErnieProperties;
-
 public class GraphController {
 
   /* Singleton instance and getInstance method of this class. */
@@ -105,13 +103,24 @@ public class GraphController {
    * and then the oldest graphs until we have minCacheSize graphs left.
    * Also update currentCacheSize and oldestGraph. */
   public void cleanUpCache() {
-
+BufferedWriter out = null;
+try {
+out = new BufferedWriter(new FileWriter("/tmp/graphcache.log"));
+out.write("cleaning up cache\n");
+out.flush();
+} catch (IOException e) {}
     /* Check if the cache is empty first. */
     File[] filesInCache = new File(this.cachedGraphsDirectory).
         listFiles();
     if (filesInCache.length == 0) {
       this.currentCacheSize = 0;
       this.oldestGraph = System.currentTimeMillis();
+try {
+if (out != null) {
+out.write("cache is empty. exiting\n");
+out.close();
+}
+} catch (IOException e) {}
       return;
     }
 
@@ -129,13 +138,25 @@ public class GraphController {
      * as many graphs as necessary to shrink to minCacheSize graphs. */
     long cutOffTime = System.currentTimeMillis()
         - this.maxCacheAge * 1000L;
+try {
+if (out != null) {
+out.write("cut off time is " + cutOffTime + "\n");
+out.flush();
+}
+} catch (IOException e) {}
     while (!graphsByLastModified.isEmpty()) {
       File oldestGraphInList = graphsByLastModified.remove(0);
       if (oldestGraphInList.lastModified() >= cutOffTime &&
           graphsByLastModified.size() < this.minCacheSize) {
         break;
       }
-      oldestGraphInList.delete();
+      boolean deleted = oldestGraphInList.delete();
+try {
+if (out != null) {
+out.write("deleting " + oldestGraphInList.getName() + " was " + (deleted ? "" : "NOT") + " successful.\n");
+out.flush();
+}
+} catch (IOException e) {}
     }
 
     /* Update currentCacheSize and oldestGraph that we need to decide when
@@ -146,6 +167,13 @@ public class GraphController {
     } else {
       this.oldestGraph = System.currentTimeMillis();
     }
+try {
+if (out != null) {
+out.write("now we have " + this.currentCacheSize + " graphs in our cache, the oldest one being from " + this.oldestGraph + "\n");
+out.close();
+}
+} catch (IOException e) {}
+
   }
 }
 
diff --git a/src/org/torproject/ernie/web/RelaySearchServlet.java b/src/org/torproject/ernie/web/RelaySearchServlet.java
index f61d70e..83f1a64 100644
--- a/src/org/torproject/ernie/web/RelaySearchServlet.java
+++ b/src/org/torproject/ernie/web/RelaySearchServlet.java
@@ -12,8 +12,6 @@ import java.util.regex.*;
 import org.apache.commons.codec.*;
 import org.apache.commons.codec.binary.*;
 
-import org.torproject.ernie.util.*;
-
 /**
  * Web page that allows users to search for relays in the descriptor
  * archives.
diff --git a/src/org/torproject/ernie/web/RelayServlet.java b/src/org/torproject/ernie/web/RelayServlet.java
index 3d82de6..9492090 100644
--- a/src/org/torproject/ernie/web/RelayServlet.java
+++ b/src/org/torproject/ernie/web/RelayServlet.java
@@ -9,8 +9,6 @@ import java.text.*;
 import java.util.*;
 import java.util.regex.*;
 
-import org.torproject.ernie.util.*;
-
 import org.apache.commons.codec.*;
 import org.apache.commons.codec.binary.*;
 
diff --git a/src/org/torproject/ernie/web/ServerDescriptorServlet.java b/src/org/torproject/ernie/web/ServerDescriptorServlet.java
index 4cfab05..69f5bd6 100644
--- a/src/org/torproject/ernie/web/ServerDescriptorServlet.java
+++ b/src/org/torproject/ernie/web/ServerDescriptorServlet.java
@@ -5,7 +5,6 @@ import javax.servlet.http.*;
 import java.io.*;
 import java.sql.*;
 import java.util.regex.*;
-import org.torproject.ernie.util.*;
 
 public class ServerDescriptorServlet extends HttpServlet {
 
-- 
1.7.1




More information about the tor-commits mailing list