From a75416326c2d7380d84d6c215fabec9fd17cbc69 Mon Sep 17 00:00:00 2001
From: esaunders <esaunders@basistech.com>
Date: Wed, 24 Jun 2020 09:53:34 -0400
Subject: [PATCH] Trim full description so that we remain within the limits of
 the PostgreSQL index in tsk_event_descriptions

---
 .../sleuthkit/datamodel/TimelineEventArtifactTypeImpl.java  | 6 +++---
 .../TimelineEventArtifactTypeSingleDescription.java         | 3 +++
 2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/bindings/java/src/org/sleuthkit/datamodel/TimelineEventArtifactTypeImpl.java b/bindings/java/src/org/sleuthkit/datamodel/TimelineEventArtifactTypeImpl.java
index 9debfc05d..c93a2436e 100644
--- a/bindings/java/src/org/sleuthkit/datamodel/TimelineEventArtifactTypeImpl.java
+++ b/bindings/java/src/org/sleuthkit/datamodel/TimelineEventArtifactTypeImpl.java
@@ -43,9 +43,9 @@ class TimelineEventArtifactTypeImpl extends TimelineEventTypeImpl {
 	private final TSKCoreCheckedFunction<BlackboardArtifact, String> shortExtractor;
 	private final TSKCoreCheckedFunction<BlackboardArtifact, TimelineEventDescriptionWithTime> artifactParsingFunction;
 
-	private static final int MAX_SHORT_DESCRIPTION_LENGTH = 500;
-	private static final int MAX_MED_DESCRIPTION_LENGTH = 500;
-	private static final int MAX_FULL_DESCRIPTION_LENGTH = 1024;
+	protected static final int MAX_SHORT_DESCRIPTION_LENGTH = 500;
+	protected static final int MAX_MED_DESCRIPTION_LENGTH = 500;
+	protected static final int MAX_FULL_DESCRIPTION_LENGTH = 1024;
 
 	TimelineEventArtifactTypeImpl(int typeID, String displayName,
 			TimelineEventType superType,
diff --git a/bindings/java/src/org/sleuthkit/datamodel/TimelineEventArtifactTypeSingleDescription.java b/bindings/java/src/org/sleuthkit/datamodel/TimelineEventArtifactTypeSingleDescription.java
index 6f0984dca..84f71ba7d 100644
--- a/bindings/java/src/org/sleuthkit/datamodel/TimelineEventArtifactTypeSingleDescription.java
+++ b/bindings/java/src/org/sleuthkit/datamodel/TimelineEventArtifactTypeSingleDescription.java
@@ -33,6 +33,9 @@ class TimelineEventArtifactTypeSingleDescription extends TimelineEventArtifactTy
 	@Override
 	public TimelineEventDescriptionWithTime makeEventDescription(BlackboardArtifact artifact) throws TskCoreException {
 		String description = extractFullDescription(artifact);
+		if (description.length() > MAX_FULL_DESCRIPTION_LENGTH) {
+			description = description.substring(0, MAX_FULL_DESCRIPTION_LENGTH);
+		}
 		BlackboardAttribute timeAttribute = artifact.getAttribute(getDateTimeAttributeType());
 
 		if (timeAttribute == null) {
-- 
GitLab