You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ctakes.apache.org by se...@apache.org on 2023/03/02 21:34:39 UTC

[ctakes] branch main updated: Fix for possible null Events.

This is an automated email from the ASF dual-hosted git repository.

seanfinan pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/ctakes.git


The following commit(s) were added to refs/heads/main by this push:
     new 116944a  Fix for possible null Events.
116944a is described below

commit 116944aa1ee5e2885559d02d24ec7e0065a16694
Author: Sean Finan <se...@childrens.harvard.edu>
AuthorDate: Thu Mar 2 16:34:27 2023 -0500

    Fix for possible null Events.
---
 .../ctakes/temporal/cc/EventTimeAnaforaWriter.java | 33 +++++++++++++++++++++-
 1 file changed, 32 insertions(+), 1 deletion(-)

diff --git a/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/cc/EventTimeAnaforaWriter.java b/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/cc/EventTimeAnaforaWriter.java
index 5c3807c..df0c361 100644
--- a/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/cc/EventTimeAnaforaWriter.java
+++ b/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/cc/EventTimeAnaforaWriter.java
@@ -161,8 +161,11 @@ final public class EventTimeAnaforaWriter extends AbstractJCasFileWriter {
 
    static private Element createEventPropertiesElement( final EventMention eventMention,
                                                         final Document doc ) {
-      final Element properties = doc.createElement( "properties" );
       final Event event = eventMention.getEvent();
+      if ( event == null ) {
+         return createNullEventProperties( IdentifiedAnnotationUtil.isNegated( eventMention ) , doc );
+      }
+      final Element properties = doc.createElement( "properties" );
       final EventProperties eventProperties = event.getProperties();
       Element docTimeRel = doc.createElement( "DocTimeRel" );
       final String dtrContent = eventProperties.getDocTimeRel();
@@ -190,6 +193,34 @@ final public class EventTimeAnaforaWriter extends AbstractJCasFileWriter {
       return properties;
    }
 
+   static private Element createNullEventProperties( final boolean isNegated, final Document doc ) {
+      final Element properties = doc.createElement( "properties" );
+      Element docTimeRel = doc.createElement( "DocTimeRel" );
+      docTimeRel.setTextContent( "Overlap" );
+      final Element eventType = doc.createElement( "Type" );
+      eventType.setTextContent( "N/A" );
+      final Element degree = doc.createElement( "Degree" );
+      degree.setTextContent( "N/A" );
+      final Element polarity = doc.createElement( "Polarity" );
+      final String polarityValue = isNegated ? "NEG" : "POS";
+      polarity.setTextContent( polarityValue );
+      final Element contextMode = doc.createElement( "ContextualModality" );
+      contextMode.setTextContent( "UNDETERMINED" );
+      final Element contextAspect = doc.createElement( "ContextualAspect" );
+      contextAspect.setTextContent( "UNDETERMINED" );
+      final Element Permanence = doc.createElement( "Permanence" );
+      Permanence.setTextContent( "UNDETERMINED" );
+      properties.appendChild( docTimeRel );
+      properties.appendChild( polarity );
+      properties.appendChild( degree );
+      properties.appendChild( eventType );
+      properties.appendChild( contextMode );
+      properties.appendChild( contextAspect );
+      properties.appendChild( Permanence );
+      return properties;
+   }
+
+
    private int addTimeElements( final JCas jCas,
                                  final String documentId,
                                  final int startId,