上传量下载量跑通,修复infohash逻辑

Change-Id: I42c3131f426f840283a7604310f5d2aefe78c840
diff --git a/src/main/java/tracker/Tracker.java b/src/main/java/tracker/Tracker.java
index 11e0265..795d595 100644
--- a/src/main/java/tracker/Tracker.java
+++ b/src/main/java/tracker/Tracker.java
@@ -42,6 +42,7 @@
         tx.begin();
         try {
             // 1) find the seedId by infoHash
+            System.out.println("DEBUG AddUpLoad: Looking for infoHash: '" + infoHash + "' (length: " + infoHash.length() + ")");
             String seedId = em.createQuery(
                 "SELECT s.seedId FROM SeedHash s WHERE s.infoHash = :ih", String.class)
                 .setParameter("ih", infoHash)
@@ -98,9 +99,9 @@
             ).setParameter("uid", userid)
             .getSingleResult();
 
-            System.out.println("按回车继续...");
+            System.out.println("------------------------------------------------");
             System.out.printf("thisadd:%d userptsofar:%d userptafter:%d totaluploadnow:%d delta:%d%n",upload, PTuploadbefor,PTuploadafter, totalUpload,delta);
-            System.out.println("按回车继续...");
+            System.out.println("------------------------------------------------");
             return false;      // success
         } catch (RuntimeException ex) {
             if (tx.isActive()) tx.rollback();
@@ -151,6 +152,7 @@
         EntityTransaction tx = em.getTransaction();
         try {
             // 1. 查 SeedHash
+            System.out.println("DEBUG AddDownload: Looking for infoHash: '" + infoHash + "' (length: " + infoHash.length() + ")");
             TypedQuery<SeedHash> qsh = em.createQuery(
                 "SELECT s FROM SeedHash s WHERE s.infoHash = :h", SeedHash.class);
             qsh.setParameter("h", infoHash);
@@ -556,4 +558,18 @@
         
         return -1;
     }
+
+    /**
+     * 从数据库中查询所有 info_hash(hex 字符串)
+     */
+    public List<String> getAllInfoHashes() {
+        EntityManager em = emf.createEntityManager();
+        try {
+            return em.createQuery(
+                "SELECT sh.infoHash FROM SeedHash sh", String.class
+            ).getResultList();
+        } finally {
+            em.close();
+        }
+    }
 }
\ No newline at end of file