Author: seanfinan
Date: Fri Oct 21 17:14:08 2022
New Revision: 1904764

URL: http://svn.apache.org/viewvc?rev=1904764&view=rev
Log:
Display patient and document ID in the progress bar

Modified:
    
ctakes/trunk/ctakes-core/src/main/java/org/apache/ctakes/core/cr/AbstractFileTreeReader.java
    
ctakes/trunk/ctakes-core/src/main/java/org/apache/ctakes/core/pipeline/ProgressManager.java
    
ctakes/trunk/ctakes-gui/src/main/java/org/apache/ctakes/gui/pipeline/PiperRunnerPanel.java

Modified: 
ctakes/trunk/ctakes-core/src/main/java/org/apache/ctakes/core/cr/AbstractFileTreeReader.java
URL: 
http://svn.apache.org/viewvc/ctakes/trunk/ctakes-core/src/main/java/org/apache/ctakes/core/cr/AbstractFileTreeReader.java?rev=1904764&r1=1904763&r2=1904764&view=diff
==============================================================================
--- 
ctakes/trunk/ctakes-core/src/main/java/org/apache/ctakes/core/cr/AbstractFileTreeReader.java
 (original)
+++ 
ctakes/trunk/ctakes-core/src/main/java/org/apache/ctakes/core/cr/AbstractFileTreeReader.java
 Fri Oct 21 17:14:08 2022
@@ -6,6 +6,7 @@ import org.apache.ctakes.core.pipeline.P
 import org.apache.ctakes.core.resource.FileLocator;
 import org.apache.ctakes.core.util.BannerWriter;
 import org.apache.ctakes.core.util.NumberedSuffixComparator;
+import org.apache.ctakes.core.util.doc.DocIdUtil;
 import org.apache.ctakes.core.util.doc.JCasBuilder;
 import org.apache.ctakes.core.util.doc.NoteSpecs;
 import org.apache.ctakes.core.util.doc.SourceMetadataUtil;
@@ -571,6 +572,10 @@ abstract public class AbstractFileTreeRe
       final boolean hasNext = _currentIndex < _files.size();
       if ( !hasNext ) {
          ProgressManager.getInstance()
+                        .updatePatientId( ProgressManager.PROGRESS_COMPLETE );
+         ProgressManager.getInstance()
+                        .updateDocId( ProgressManager.PROGRESS_COMPLETE );
+         ProgressManager.getInstance()
                         .updateProgress( _files.size() );
          if ( _writeBanner ) {
             BannerWriter.writeFinished();
@@ -585,10 +590,15 @@ abstract public class AbstractFileTreeRe
    @Override
    public void getNext( final JCas jcas ) throws IOException, 
CollectionException {
       final File file = _files.get( _currentIndex );
-      ProgressManager.getInstance().updateProgress( _currentIndex );
-      _currentIndex++;
       // Add document metadata based upon file path
       getJCasBuilder( file ).populate( jcas );
+      ProgressManager.getInstance()
+                     .updatePatientId( 
SourceMetadataUtil.getPatientIdentifier( jcas ) );
+      ProgressManager.getInstance()
+                     .updateDocId( DocIdUtil.getDocumentID( jcas ) );
+      ProgressManager.getInstance()
+                     .updateProgress( _currentIndex );
+      _currentIndex++;
       readFile( jcas, file );
    }
 

Modified: 
ctakes/trunk/ctakes-core/src/main/java/org/apache/ctakes/core/pipeline/ProgressManager.java
URL: 
http://svn.apache.org/viewvc/ctakes/trunk/ctakes-core/src/main/java/org/apache/ctakes/core/pipeline/ProgressManager.java?rev=1904764&r1=1904763&r2=1904764&view=diff
==============================================================================
--- 
ctakes/trunk/ctakes-core/src/main/java/org/apache/ctakes/core/pipeline/ProgressManager.java
 (original)
+++ 
ctakes/trunk/ctakes-core/src/main/java/org/apache/ctakes/core/pipeline/ProgressManager.java
 Fri Oct 21 17:14:08 2022
@@ -1,5 +1,8 @@
 package org.apache.ctakes.core.pipeline;
 
+import org.apache.ctakes.core.util.doc.DocIdUtil;
+import org.apache.ctakes.core.util.doc.SourceMetadataUtil;
+
 import javax.swing.*;
 import javax.swing.event.ChangeListener;
 
@@ -15,7 +18,11 @@ public enum ProgressManager {
       return INSTANCE;
    }
 
+   static public final String PROGRESS_COMPLETE = "PROGRESS_COMPLETE";
+
    private String _name;
+   private String _patientId;
+   private String _docId;
    private final BoundedRangeModel _model;
 
    ProgressManager() {
@@ -28,12 +35,39 @@ public enum ProgressManager {
    }
 
    public String getName() {
-      if ( _name == null || _name.trim().isEmpty() ) {
+      if ( _name == null || _name.trim()
+                                 .isEmpty() ) {
          return "Progress";
       }
       return _name;
    }
 
+   public void updatePatientId( final String patientId ) {
+      _patientId = patientId;
+   }
+
+   public String getPatientId() {
+      if ( _patientId == null || _patientId.trim()
+                                           .isEmpty()
+           || _patientId.equals( PROGRESS_COMPLETE ) || _patientId.equals( 
SourceMetadataUtil.UNKNOWN_PATIENT ) ) {
+         return "";
+      }
+      return _patientId;
+   }
+
+   public void updateDocId( final String docId ) {
+      _docId = docId;
+   }
+
+   public String getDocId() {
+      if ( _docId == null || _docId.trim()
+                                   .isEmpty()
+           || _docId.equals( PROGRESS_COMPLETE ) || _docId.equals( 
DocIdUtil.NO_DOCUMENT_ID ) ) {
+         return "";
+      }
+      return _docId;
+   }
+
    public void updateProgress( final int value ) {
       if ( value <= _model.getValue() ) {
          return;
@@ -61,47 +95,5 @@ public enum ProgressManager {
       _model.removeChangeListener( listener );
    }
 
-//
-//   private final Map<String, BoundedRangeModel> _progressMap;
-//
-//
-//   ProgressManager() {
-//      _progressMap = new HashMap<>();
-//   }
-//
-//   public void initializeProgress( final String name, final Object object, 
final int max ) {
-//      initializeProgress( createHashName( name, object ), max );
-//   }
-//
-//   private void initializeProgress( final String name, final int max ) {
-//      final BoundedRangeModel model = _progressMap.computeIfAbsent( name, n 
-> new DefaultBoundedRangeModel() );
-//      model.setValue( 0 );
-//      model.setMaximum( max );
-//   }
-//
-//   public void updateProgress( final String name, final Object object, final 
int value ) {
-//      updateProgress( createHashName( name, object ), value );
-//   }
-//
-//   private void updateProgress( final String name, final int value ) {
-//      final BoundedRangeModel model = _progressMap.computeIfAbsent( name, n 
-> new DefaultBoundedRangeModel() );
-//      if ( model.getMaximum() < value ) {
-//         model.setMaximum( value );
-//      }
-//      model.setValue( value );
-//   }
-//
-//   public void removeProgress( final String name, final Object object ) {
-//      removeProgress( createHashName( name, object ) );
-//   }
-//
-//   private void removeProgress( final String name ) {
-//      _progressMap.remove( name );
-//   }
-//
-//   static private String createHashName( final String name, final Object 
object ) {
-//      return name + "_" + object.hashCode();
-//   }
-
 
 }

Modified: 
ctakes/trunk/ctakes-gui/src/main/java/org/apache/ctakes/gui/pipeline/PiperRunnerPanel.java
URL: 
http://svn.apache.org/viewvc/ctakes/trunk/ctakes-gui/src/main/java/org/apache/ctakes/gui/pipeline/PiperRunnerPanel.java?rev=1904764&r1=1904763&r2=1904764&view=diff
==============================================================================
--- 
ctakes/trunk/ctakes-gui/src/main/java/org/apache/ctakes/gui/pipeline/PiperRunnerPanel.java
 (original)
+++ 
ctakes/trunk/ctakes-gui/src/main/java/org/apache/ctakes/gui/pipeline/PiperRunnerPanel.java
 Fri Oct 21 17:14:08 2022
@@ -127,7 +127,12 @@ final public class PiperRunnerPanel exte
                                                                         
.getModel() ) {
          protected void fireStateChanged() {
             super.fireStateChanged();
-            SwingUtilities.invokeLater( () -> setString( getValue() + " / " + 
getMaximum() ) );
+//            SwingUtilities.invokeLater( () -> setString( getValue() + " / " 
+ getMaximum() ) );
+            SwingUtilities.invokeLater( () -> setString( 
ProgressManager.getInstance()
+                                                                        
.getPatientId()
+                                                         + "          " + 
ProgressManager.getInstance()
+                                                                               
          .getDocId()
+                                                         + "          (" + 
getValue() + " / " + getMaximum() + ")" ) );
          }
       };
       progressBar.setStringPainted( true );


Reply via email to