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