You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@manifoldcf.apache.org by kw...@apache.org on 2014/07/07 16:41:35 UTC

svn commit: r1608476 - /manifoldcf/branches/CONNECTORS-989-2/framework/agents/src/main/java/org/apache/manifoldcf/agents/interfaces/IngestStatuses.java

Author: kwright
Date: Mon Jul  7 14:41:34 2014
New Revision: 1608476

URL: http://svn.apache.org/r1608476
Log:
Finish IngestStatus changes

Modified:
    manifoldcf/branches/CONNECTORS-989-2/framework/agents/src/main/java/org/apache/manifoldcf/agents/interfaces/IngestStatuses.java

Modified: manifoldcf/branches/CONNECTORS-989-2/framework/agents/src/main/java/org/apache/manifoldcf/agents/interfaces/IngestStatuses.java
URL: http://svn.apache.org/viewvc/manifoldcf/branches/CONNECTORS-989-2/framework/agents/src/main/java/org/apache/manifoldcf/agents/interfaces/IngestStatuses.java?rev=1608476&r1=1608475&r2=1608476&view=diff
==============================================================================
--- manifoldcf/branches/CONNECTORS-989-2/framework/agents/src/main/java/org/apache/manifoldcf/agents/interfaces/IngestStatuses.java (original)
+++ manifoldcf/branches/CONNECTORS-989-2/framework/agents/src/main/java/org/apache/manifoldcf/agents/interfaces/IngestStatuses.java Mon Jul  7 14:41:34 2014
@@ -28,7 +28,7 @@ public class IngestStatuses
 {
   public static final String _rcsid = "@(#)$Id$";
 
-  protected final Map<OutputKey,DocumentIngestStatus> statuses = new HashMap<OutputKey,DocumentIngestStatus>();
+  protected final Map<OutputKey,Map<String,Map<String,DocumentIngestStatus>>> statuses = new HashMap<OutputKey,Map<String,Map<String,DocumentIngestStatus>>>();
   
   public IngestStatuses()
   {
@@ -37,14 +37,28 @@ public class IngestStatuses
   /** Add a status record.
   *@param documentClass is the document class.
   *@param documentIDHash is the document id's hash value.
-  *@param childIDHash is the child ID hash value, or null if primary.
+  *@param childIDHash is the child ID hash value, or empty string if primary.
   *@param outputConnectionName is the output connection name.
   *@param status is the status record.
   */
   public void addStatus(String documentClass, String documentIDHash, String childIDHash, String outputConnectionName, DocumentIngestStatus status)
   {
-    // MHL
-    statuses.put(new OutputKey(documentClass,documentIDHash,outputConnectionName),status);
+    OutputKey ok = new OutputKey(documentClass,documentIDHash);
+    Map<String,Map<String,DocumentIngestStatus>> map = statuses.get(ok);
+    if (map == null)
+    {
+      map = new HashMap<String,Map<String,DocumentIngestStatus>>();
+      statuses.put(ok,map);
+    }
+    Map<String,DocumentIngestStatus> on = map.get(outputConnectionName);
+    if (on == null)
+    {
+      on = new HashMap<String,DocumentIngestStatus>();
+      map.put(outputConnectionName,on);
+    }
+    if (childIDHash == null)
+      childIDHash = "";
+    on.put(childIDHash,status);
   }
   
   /** Get all statuses for a document class and ID hash.
@@ -54,23 +68,21 @@ public class IngestStatuses
   */
   public Map<String,Map<String,DocumentIngestStatus>> getStatuses(String documentClass, String documentIDHash)
   {
-    // MHL
-    return null;
+    OutputKey ok = new OutputKey(documentClass,documentIDHash);
+    return statuses.get(ok);
   }
   
   protected static class OutputKey
   {
     protected final String documentClass;
     protected final String documentIDHash;
-    protected final String outputConnectionName;
     
     /** Constructor */
-    public OutputKey(String documentClass, String documentIDHash, String outputConnectionName)
+    public OutputKey(String documentClass, String documentIDHash)
     {
       // Identifying information
       this.documentClass = documentClass;
       this.documentIDHash = documentIDHash;
-      this.outputConnectionName = outputConnectionName;
     }
 
     /** Get the document class */
@@ -85,15 +97,9 @@ public class IngestStatuses
       return documentIDHash;
     }
     
-    /** Get the output connection name */
-    public String getOutputConnectionName()
-    {
-      return outputConnectionName;
-    }
-    
     public int hashCode()
     {
-      return documentClass.hashCode() + documentIDHash.hashCode() + outputConnectionName.hashCode();
+      return documentClass.hashCode() + documentIDHash.hashCode();
     }
     
     public boolean equals(Object o)
@@ -102,8 +108,7 @@ public class IngestStatuses
         return false;
       OutputKey dis = (OutputKey)o;
       return dis.documentClass.equals(documentClass) &&
-        dis.documentIDHash.equals(documentIDHash) &&
-        dis.outputConnectionName.equals(outputConnectionName);
+        dis.documentIDHash.equals(documentIDHash);
     }
   }
 }