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 2025/06/11 12:36:54 UTC

(ctakes) branch main updated: Attempt to fix https://github.com/apache/ctakes/issues/70 . Swapped uima getLogger() calls with ctakes LoggerFactory.getLogger() constant. ctakes uses a modified LoggerFactory in place of the slf4j LoggerFactory.

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 0fc743c  Attempt to fix https://github.com/apache/ctakes/issues/70 . Swapped uima getLogger() calls with ctakes LoggerFactory.getLogger() constant.  ctakes uses a modified LoggerFactory in place of the slf4j LoggerFactory.
0fc743c is described below

commit 0fc743cee9c3a9dc715d93191393d10d5d323996
Author: Sean Finan <se...@childrens.harvard.edu>
AuthorDate: Wed Jun 11 08:36:36 2025 -0400

    Attempt to fix https://github.com/apache/ctakes/issues/70 .
    Swapped uima getLogger() calls with ctakes LoggerFactory.getLogger() constant.  ctakes uses a modified LoggerFactory in place of the slf4j LoggerFactory.
---
 .../cleartk/AssertionCleartkAnalysisEngine.java        | 18 +++++++++++-------
 .../cleartk/PolarityCleartkAnalysisEngine.java         | 11 +++++++----
 .../cleartk/PolarityFedaCleartkAnalysisEngine.java     |  7 +++++--
 .../medfacts/cleartk/SubjectCleartkAnalysisEngine.java | 11 +++++++----
 .../windowed/SubjectCleartkAnalysisEngineWindowed.java | 10 ++++++----
 5 files changed, 36 insertions(+), 21 deletions(-)

diff --git a/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/AssertionCleartkAnalysisEngine.java b/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/AssertionCleartkAnalysisEngine.java
index 3824612..cfbe484 100644
--- a/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/AssertionCleartkAnalysisEngine.java
+++ b/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/AssertionCleartkAnalysisEngine.java
@@ -49,6 +49,8 @@ import org.cleartk.ml.feature.extractor.FeatureExtractor1;
 import org.cleartk.ml.feature.extractor.TypePathExtractor;
 import org.cleartk.ml.feature.function.FeatureFunctionExtractor;
 import org.cleartk.ml.tksvmlight.TreeFeature;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.io.File;
 import java.net.URI;
@@ -58,8 +60,10 @@ import java.util.*;
 /**
  * @author swu
  */
-public abstract class AssertionCleartkAnalysisEngine extends
-                                                     CleartkAnnotator<String> {
+public abstract class AssertionCleartkAnalysisEngine extends CleartkAnnotator<String> {
+   static private final Logger LOGGER = LoggerFactory.getLogger( "AssertionCleartkAnalysisEngine" );
+
+
    public static final String PARAM_GOLD_VIEW_NAME = "GoldViewName";
 
    public enum FEATURE_CONFIG {
@@ -306,7 +310,7 @@ public abstract class AssertionCleartkAnalysisEngine extends
 
    @Override
    public void process( JCas jCas ) throws AnalysisEngineProcessException {
-      getLogger().info( "Processing ..." );
+      LOGGER.info( "Processing ..." );
       String documentId = DocIdUtil.getDocumentID( jCas );
       String domainId = "";
       String domainFeature = null;
@@ -316,7 +320,7 @@ public abstract class AssertionCleartkAnalysisEngine extends
       }
 
       if ( documentId != null ) {
-          getLogger().debug( "processing next doc: " + documentId );
+         LOGGER.debug( "processing next doc: {}", documentId );
          // set the domain to be FeatureFunction'ed into all extractors
          if ( !fileToDomain.isEmpty() && ffDomainAdaptor != null ) {
             domainId = fileToDomain.get( documentId );
@@ -326,7 +330,7 @@ public abstract class AssertionCleartkAnalysisEngine extends
             domainFeature = fileToDomain.get( documentId );
          }
       } else {
-          getLogger().debug( "processing next doc (doc id is null)" );
+          LOGGER.debug( "processing next doc (doc id is null)" );
       }
 
       this.lastLabel = "<BEGIN>";
@@ -381,7 +385,7 @@ public abstract class AssertionCleartkAnalysisEngine extends
 
          for ( IdentifiedAnnotation identifiedAnnotation : entities ) {
             if ( identifiedAnnotation.getPolarity() == -1 ) {
-                getLogger().debug( String.format( " - identified annotation: [%d-%d] polarity %d (%s)",
+                LOGGER.debug( String.format( " - identified annotation: [%d-%d] polarity %d (%s)",
                      identifiedAnnotation.getBegin(),
                      identifiedAnnotation.getEnd(),
                      identifiedAnnotation.getPolarity(),
@@ -665,7 +669,7 @@ public abstract class AssertionCleartkAnalysisEngine extends
 
    // Object.finalize() was deprecated in jdk 9.  Given the manner of this code, this is a -reasonable- replacement.
    @Override
-public void collectionProcessComplete() throws AnalysisEngineProcessException {
+   public void collectionProcessComplete() throws AnalysisEngineProcessException {
       super.collectionProcessComplete();
       if ( classifier instanceof AutoCloseable ) {
          try {
diff --git a/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/PolarityCleartkAnalysisEngine.java b/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/PolarityCleartkAnalysisEngine.java
index dc97ad6..9fe91ab 100644
--- a/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/PolarityCleartkAnalysisEngine.java
+++ b/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/PolarityCleartkAnalysisEngine.java
@@ -31,6 +31,8 @@ import org.apache.uima.fit.factory.AnalysisEngineFactory;
 import org.apache.uima.resource.ResourceInitializationException;
 import org.cleartk.ml.Instance;
 import org.cleartk.ml.jar.GenericJarClassifierFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.io.File;
 import java.net.URI;
@@ -43,8 +45,9 @@ import java.util.ArrayList;
 		dependencies = { PipeBitInfo.TypeProduct.SENTENCE, PipeBitInfo.TypeProduct.IDENTIFIED_ANNOTATION }
 )
 public class PolarityCleartkAnalysisEngine extends AssertionCleartkAnalysisEngine {
-  
-  public static final String NEGATED = "NEGATED";
+	static private final Logger LOGGER = LoggerFactory.getLogger( "PolarityCleartkAnalysisEngine" );
+
+	public static final String NEGATED = "NEGATED";
   public static final String NOT_NEGATED = "NOT_NEGATED";
  
   
@@ -108,7 +111,7 @@ public class PolarityCleartkAnalysisEngine extends AssertionCleartkAnalysisEngin
 	        // downsampling. initialize probabilityOfKeepingADefaultExample to 1.0 for no downsampling
 	        if (NEGATED.equals(polarity))
 	        {
-	            getLogger().debug("TRAINING: " + polarity);
+	            LOGGER.debug("TRAINING: " + polarity);
 	        }
 	        if (NOT_NEGATED.equals(polarity) 
 	        		&& coin.nextDouble() >= this.probabilityOfKeepingADefaultExample) {
@@ -127,7 +130,7 @@ public class PolarityCleartkAnalysisEngine extends AssertionCleartkAnalysisEngin
 	        } else if (NEGATED.equals(label))
 	        {
 	          polarity = CONST.NE_POLARITY_NEGATION_PRESENT;
-	          getLogger().debug(String.format("DECODING/EVAL: %s//%s [%d-%d] (%s)", label, polarity, entityOrEventMention.getBegin(), entityOrEventMention.getEnd(), entityOrEventMention.getClass().getName()));
+	          LOGGER.debug(String.format("DECODING/EVAL: %s//%s [%d-%d] (%s)", label, polarity, entityOrEventMention.getBegin(), entityOrEventMention.getEnd(), entityOrEventMention.getClass().getName()));
 	        }
 	        entityOrEventMention.setPolarity(polarity);
 	      }
diff --git a/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/PolarityFedaCleartkAnalysisEngine.java b/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/PolarityFedaCleartkAnalysisEngine.java
index f0afeac..66a6b08 100644
--- a/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/PolarityFedaCleartkAnalysisEngine.java
+++ b/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/PolarityFedaCleartkAnalysisEngine.java
@@ -32,6 +32,8 @@ import org.apache.uima.analysis_engine.AnalysisEngineProcessException;
 import org.apache.uima.resource.ResourceInitializationException;
 import org.cleartk.ml.Instance;
 import org.cleartk.ml.feature.function.FeatureFunctionExtractor;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.io.File;
 import java.net.URI;
@@ -45,6 +47,7 @@ import java.util.ArrayList;
 		dependencies = { PipeBitInfo.TypeProduct.SENTENCE, PipeBitInfo.TypeProduct.IDENTIFIED_ANNOTATION }
 )
 public class PolarityFedaCleartkAnalysisEngine extends PolarityCleartkAnalysisEngine {
+	static private final Logger LOGGER = LoggerFactory.getLogger( "PolarityFedaCleartkAnalysisEngine" );
 
 	@Override
 	public void initialize(UimaContext context) throws ResourceInitializationException {
@@ -74,7 +77,7 @@ public class PolarityFedaCleartkAnalysisEngine extends PolarityCleartkAnalysisEn
 	        // downsampling. initialize probabilityOfKeepingADefaultExample to 1.0 for no downsampling
 	        if (NEGATED.equals(polarity))
 	        {
-	            getLogger().debug("TRAINING: " + polarity);
+	            LOGGER.debug("TRAINING: " + polarity);
 	        }
 	        if (NOT_NEGATED.equals(polarity) 
 	        		&& coin.nextDouble() >= this.probabilityOfKeepingADefaultExample) {
@@ -93,7 +96,7 @@ public class PolarityFedaCleartkAnalysisEngine extends PolarityCleartkAnalysisEn
 	        } else if (NEGATED.equals(label))
 	        {
 	          polarity = CONST.NE_POLARITY_NEGATION_PRESENT;
-	          getLogger().debug(String.format("DECODING/EVAL: %s//%s [%d-%d] (%s)", label, polarity, entityOrEventMention.getBegin(), entityOrEventMention.getEnd(), entityOrEventMention.getClass().getName()));
+	          LOGGER.debug(String.format("DECODING/EVAL: %s//%s [%d-%d] (%s)", label, polarity, entityOrEventMention.getBegin(), entityOrEventMention.getEnd(), entityOrEventMention.getClass().getName()));
 	        }
 	        entityOrEventMention.setPolarity(polarity);
 	      }
diff --git a/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/SubjectCleartkAnalysisEngine.java b/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/SubjectCleartkAnalysisEngine.java
index 522b8ca..2a4d1b9 100644
--- a/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/SubjectCleartkAnalysisEngine.java
+++ b/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/SubjectCleartkAnalysisEngine.java
@@ -29,12 +29,14 @@ import org.apache.uima.fit.factory.AnalysisEngineFactory;
 import org.apache.uima.resource.ResourceInitializationException;
 import org.cleartk.ml.Instance;
 import org.cleartk.ml.jar.GenericJarClassifierFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.io.File;
 import java.net.URI;
 
-public class SubjectCleartkAnalysisEngine extends
-    AssertionCleartkAnalysisEngine {
+public class SubjectCleartkAnalysisEngine extends AssertionCleartkAnalysisEngine {
+  static private final Logger LOGGER = LoggerFactory.getLogger( "SubjectCleartkAnalysisEngine" );
 
   boolean USE_DEFAULT_EXTRACTORS = false;
   
@@ -70,7 +72,7 @@ public class SubjectCleartkAnalysisEngine extends
             return;
           }
           instance.setOutcome(subj);
-          getLogger().debug(String.format("[%s] expected: ''; actual: ''; features: %s",
+          LOGGER.debug(String.format("[%s] expected: ''; actual: ''; features: %s",
                 this.getClass().getSimpleName(),
                 instance.toString()
                 ));
@@ -78,7 +80,8 @@ public class SubjectCleartkAnalysisEngine extends
         {
           String label = this.classifier.classify(instance.getFeatures());
           entityOrEventMention.setSubject(label);
-          getLogger().debug("SUBJECT is being set on an IdentifiedAnnotation: "+label+" "+entityOrEventMention.getSubject());
+           LOGGER.debug( "SUBJECT is being set on an IdentifiedAnnotation: {} {}", label,
+                 entityOrEventMention.getSubject() );
         }
   }
   public static FeatureSelection<String> createFeatureSelection(double threshold) {
diff --git a/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/windowed/SubjectCleartkAnalysisEngineWindowed.java b/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/windowed/SubjectCleartkAnalysisEngineWindowed.java
index 24db0ea..338cb1d 100644
--- a/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/windowed/SubjectCleartkAnalysisEngineWindowed.java
+++ b/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/windowed/SubjectCleartkAnalysisEngineWindowed.java
@@ -29,12 +29,14 @@ import org.apache.uima.fit.factory.AnalysisEngineFactory;
 import org.apache.uima.resource.ResourceInitializationException;
 import org.cleartk.ml.Instance;
 import org.cleartk.ml.jar.GenericJarClassifierFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.io.File;
 import java.net.URI;
 
-public class SubjectCleartkAnalysisEngineWindowed extends
-                                                  WindowedAssertionCleartkAnalysisEngine {
+public class SubjectCleartkAnalysisEngineWindowed extends WindowedAssertionCleartkAnalysisEngine {
+   static private final Logger LOGGER = LoggerFactory.getLogger( "SubjectCleartkAnalysisEngineWindowed" );
 
    boolean USE_DEFAULT_EXTRACTORS = false;
 
@@ -69,14 +71,14 @@ public class SubjectCleartkAnalysisEngineWindowed extends
             return;
          }
          instance.setOutcome( subj );
-         getLogger().debug(String.format( "[%s] expected: ''; actual: ''; features: %s",
+         LOGGER.debug(String.format( "[%s] expected: ''; actual: ''; features: %s",
                this.getClass().getSimpleName(),
                instance.toString()
          ) );
       } else {
          String label = this.classifier.classify( instance.getFeatures() );
          entityOrEventMention.setSubject( label );
-         getLogger().debug(
+         LOGGER.debug(
                "SUBJECT is being set on an IdentifiedAnnotation: " + label + " " + entityOrEventMention.getSubject() );
       }
    }