Author: molgun
Date: Sat Oct 18 21:39:35 2014
New Revision: 1632844

URL: http://svn.apache.org/r1632844
Log:
Added activity logging.

Modified:
    
manifoldcf/trunk/connectors/filesystem/connector/src/main/java/org/apache/manifoldcf/agents/output/filesystem/FileOutputConnector.java
    
manifoldcf/trunk/framework/agents/src/main/java/org/apache/manifoldcf/agents/interfaces/IOutputHistoryActivity.java

Modified: 
manifoldcf/trunk/connectors/filesystem/connector/src/main/java/org/apache/manifoldcf/agents/output/filesystem/FileOutputConnector.java
URL: 
http://svn.apache.org/viewvc/manifoldcf/trunk/connectors/filesystem/connector/src/main/java/org/apache/manifoldcf/agents/output/filesystem/FileOutputConnector.java?rev=1632844&r1=1632843&r2=1632844&view=diff
==============================================================================
--- 
manifoldcf/trunk/connectors/filesystem/connector/src/main/java/org/apache/manifoldcf/agents/output/filesystem/FileOutputConnector.java
 (original)
+++ 
manifoldcf/trunk/connectors/filesystem/connector/src/main/java/org/apache/manifoldcf/agents/output/filesystem/FileOutputConnector.java
 Sat Oct 18 21:39:35 2014
@@ -19,7 +19,6 @@
 package org.apache.manifoldcf.agents.output.filesystem;
 
 import java.io.File;
-import java.io.FileInputStream;
 import java.io.FileNotFoundException;
 import java.io.FileOutputStream;
 import java.io.IOException;
@@ -37,10 +36,7 @@ import java.util.Locale;
 import java.util.Map;
 import java.util.HashMap;
 
-import org.apache.manifoldcf.agents.interfaces.IOutputAddActivity;
-import org.apache.manifoldcf.agents.interfaces.IOutputRemoveActivity;
-import org.apache.manifoldcf.agents.interfaces.RepositoryDocument;
-import org.apache.manifoldcf.agents.interfaces.ServiceInterruption;
+import org.apache.manifoldcf.agents.interfaces.*;
 import org.apache.manifoldcf.agents.output.BaseOutputConnector;
 import org.apache.manifoldcf.agents.system.Logging;
 import org.apache.manifoldcf.core.interfaces.Specification;
@@ -48,7 +44,6 @@ import org.apache.manifoldcf.core.interf
 import org.apache.manifoldcf.core.interfaces.ConfigurationNode;
 import org.apache.manifoldcf.core.interfaces.IHTTPOutput;
 import org.apache.manifoldcf.core.interfaces.IPostParameters;
-import org.apache.manifoldcf.core.interfaces.IThreadContext;
 import org.apache.manifoldcf.core.interfaces.ManifoldCFException;
 import org.apache.manifoldcf.core.interfaces.SpecificationNode;
 import org.apache.manifoldcf.core.interfaces.VersionContext;
@@ -219,7 +214,10 @@ public class FileOutputConnector extends
             suffix++;
           }
           else
-            throw new ManifoldCFException("Could not create directory 
'"+newPath+"'.  Permission issue?");
+          {
+              
activities.recordActivity(null,INGEST_ACTIVITY,null,documentURI,activities.CREATED_DIRECTORY,"Couldn't
 create directory ("+newPath+").");
+              throw new ManifoldCFException("Could not create directory 
'"+newPath+"'.  Permission issue?");
+          }
         }
         // Directory successfully created!
         currentPath = newPath;
@@ -249,6 +247,7 @@ public class FileOutputConnector extends
             continue;
           }
           // Probably some other error
+          activities.recordActivity(null, INGEST_ACTIVITY, new 
Long(document.getBinaryLength()), documentURI, activities.EXCEPTION, "Rejected 
due to FileNotFoundException.");
           throw new ManifoldCFException("Could not create file 
'"+outputPath+"': "+e.getMessage(),e);
         }
       }
@@ -259,8 +258,11 @@ public class FileOutputConnector extends
           */
         FileChannel channel = output.getChannel();
         FileLock lock = channel.tryLock();
-        if (lock == null)
+        if (lock == null){
+          activities.recordActivity(null,INGEST_ACTIVITY, new 
Long(document.getBinaryLength()), documentURI,activities.EXCEPTION,"Rejected 
due to ServiceInterruptionException.");
           throw new ServiceInterruption("Could not lock file: 
'"+outputPath+"'",null,1000L,-1L,10,false);
+        }
+
 
         try {
 
@@ -290,16 +292,16 @@ public class FileOutputConnector extends
         }
       }
     } catch (URISyntaxException e) {
-      handleURISyntaxException(e);
+      handleURISyntaxException(e,activities);
       return DOCUMENTSTATUS_REJECTED;
     } catch (FileNotFoundException e) {
-      handleFileNotFoundException(e);
+      handleFileNotFoundException(e,activities);
       return DOCUMENTSTATUS_REJECTED;
     } catch (SecurityException e) {
-      handleSecurityException(e);
+      handleSecurityException(e,activities);
       return DOCUMENTSTATUS_REJECTED;
     } catch (IOException e) {
-      handleIOException(e);
+      handleIOException(e,activities);
       return DOCUMENTSTATUS_REJECTED;
     }
 
@@ -313,26 +315,26 @@ public class FileOutputConnector extends
     throw new ManifoldCFException(e.getMessage(),e);
   }
 
-  protected static void handleURISyntaxException(URISyntaxException e)
+  protected static void handleURISyntaxException(URISyntaxException e, 
IOutputHistoryActivity activities)
     throws ManifoldCFException, ServiceInterruption {
     Logging.agents.error("FileSystem: URISyntaxException: "+e.getMessage(),e);
     throw new ManifoldCFException(e.getMessage(),e);
   }
 
-  protected static void handleSecurityException(SecurityException e)
+  protected static void handleSecurityException(SecurityException e, 
IOutputHistoryActivity activities)
     throws ManifoldCFException, ServiceInterruption {
     Logging.agents.error("FileSystem: SecurityException: "+e.getMessage(),e);
     throw new ManifoldCFException(e.getMessage(),e);
   }
 
-  protected static void handleFileNotFoundException(FileNotFoundException e)
+  protected static void handleFileNotFoundException(FileNotFoundException e, 
IOutputHistoryActivity activities)
     throws ManifoldCFException, ServiceInterruption {
     Logging.agents.error("FileSystem: Path is illegal: "+e.getMessage(),e);
     throw new ManifoldCFException(e.getMessage(),e);
   }
 
   /** Handle IOException */
-  protected static void handleIOException(IOException e)
+  protected static void handleIOException(IOException e, 
IOutputHistoryActivity activities)
     throws ManifoldCFException, ServiceInterruption
   {
     if (!(e instanceof java.net.SocketTimeoutException) && (e instanceof 
InterruptedIOException)) {
@@ -426,19 +428,20 @@ public class FileOutputConnector extends
         catch (FileNotFoundException e)
         {
           // Probably some other error
+          
activities.recordActivity(null,REMOVE_ACTIVITY,null,documentURI,activities.EXCEPTION,"Couldn't
 deleted due to FileNotFoundException");
           throw new ManifoldCFException("Could not zero out file 
'"+outputPath+"': "+e.getMessage(),e);
         }
       }
       // Just close it, to make a zero-length grave marker.
       output.close();
     } catch (URISyntaxException e) {
-      handleURISyntaxException(e);
+      handleURISyntaxException(e,activities);
     } catch (FileNotFoundException e) {
-      handleFileNotFoundException(e);
+      handleFileNotFoundException(e,activities);
     } catch (SecurityException e) {
-      handleSecurityException(e);
+      handleSecurityException(e,activities);
     } catch (IOException e) {
-      handleIOException(e);
+      handleIOException(e,activities);
     }
 
     activities.recordActivity(null, REMOVE_ACTIVITY, null, documentURI, "OK", 
null);

Modified: 
manifoldcf/trunk/framework/agents/src/main/java/org/apache/manifoldcf/agents/interfaces/IOutputHistoryActivity.java
URL: 
http://svn.apache.org/viewvc/manifoldcf/trunk/framework/agents/src/main/java/org/apache/manifoldcf/agents/interfaces/IOutputHistoryActivity.java?rev=1632844&r1=1632843&r2=1632844&view=diff
==============================================================================
--- 
manifoldcf/trunk/framework/agents/src/main/java/org/apache/manifoldcf/agents/interfaces/IOutputHistoryActivity.java
 (original)
+++ 
manifoldcf/trunk/framework/agents/src/main/java/org/apache/manifoldcf/agents/interfaces/IOutputHistoryActivity.java
 Sat Oct 18 21:39:35 2014
@@ -27,6 +27,9 @@ public interface IOutputHistoryActivity
 {
   public static final String _rcsid = "@(#)$Id: IOutputHistoryActivity.java 
988245 2010-08-23 18:39:35Z kwright $";
 
+  public static final String EXCEPTION = "EXCEPTION";
+  public static final String CREATED_DIRECTORY = "CREATEDDIRECTORY";
+
   /** Record time-stamped information about the activity of the output 
connector.
   *@param startTime is either null or the time since the start of epoch in 
milliseconds (Jan 1, 1970).  Every
   *       activity has an associated time; the startTime field records when 
the activity began.  A null value


Reply via email to