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 2017/04/06 14:05:24 UTC
svn commit: r1790409 - in /ctakes/trunk:
ctakes-core/src/main/java/org/apache/ctakes/core/cc/AbstractOutputFileWriter.java
ctakes-gui/src/main/java/org/apache/ctakes/gui/pipeline/MainPanel2.java
Author: seanfinan
Date: Thu Apr 6 14:05:23 2017
New Revision: 1790409
URL: http://svn.apache.org/viewvc?rev=1790409&view=rev
Log:
ctakes-424 : activated run button
made subdirectory optional on AbstractOutputFileWriter
Modified:
ctakes/trunk/ctakes-core/src/main/java/org/apache/ctakes/core/cc/AbstractOutputFileWriter.java
ctakes/trunk/ctakes-gui/src/main/java/org/apache/ctakes/gui/pipeline/MainPanel2.java
Modified: ctakes/trunk/ctakes-core/src/main/java/org/apache/ctakes/core/cc/AbstractOutputFileWriter.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-core/src/main/java/org/apache/ctakes/core/cc/AbstractOutputFileWriter.java?rev=1790409&r1=1790408&r2=1790409&view=diff
==============================================================================
--- ctakes/trunk/ctakes-core/src/main/java/org/apache/ctakes/core/cc/AbstractOutputFileWriter.java (original)
+++ ctakes/trunk/ctakes-core/src/main/java/org/apache/ctakes/core/cc/AbstractOutputFileWriter.java Thu Apr 6 14:05:23 2017
@@ -43,6 +43,7 @@ abstract public class AbstractOutputFile
@ConfigurationParameter(
name = ConfigParameterConstants.PARAM_SUBDIR,
description = ConfigParameterConstants.DESC_SUBDIR,
+ mandatory = false,
defaultValue = ""
)
private String _subDirectory;
Modified: ctakes/trunk/ctakes-gui/src/main/java/org/apache/ctakes/gui/pipeline/MainPanel2.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-gui/src/main/java/org/apache/ctakes/gui/pipeline/MainPanel2.java?rev=1790409&r1=1790408&r2=1790409&view=diff
==============================================================================
--- ctakes/trunk/ctakes-gui/src/main/java/org/apache/ctakes/gui/pipeline/MainPanel2.java (original)
+++ ctakes/trunk/ctakes-gui/src/main/java/org/apache/ctakes/gui/pipeline/MainPanel2.java Thu Apr 6 14:05:23 2017
@@ -1,6 +1,7 @@
package org.apache.ctakes.gui.pipeline;
import org.apache.ctakes.core.pipeline.PipeBitInfo;
+import org.apache.ctakes.core.pipeline.PiperFileReader;
import org.apache.ctakes.gui.component.*;
import org.apache.ctakes.gui.pipeline.bit.PipeBitFinder;
import org.apache.ctakes.gui.pipeline.bit.available.AvailablesListModel;
@@ -29,8 +30,7 @@ import java.nio.file.Paths;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.Arrays;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
+import java.util.concurrent.*;
import java.util.function.Function;
import java.util.stream.Collectors;
@@ -161,6 +161,7 @@ final class MainPanel2 extends JPanel {
_validateButton = addButton( toolBar, "Validate Current Piper File" );
_validateButton.addActionListener( new ValidateAction() );
_runButton = addButton( toolBar, "Run Current Piper File" );
+ _runButton.addActionListener( new RunAction() );
_runButton.setEnabled( false );
toolBar.addSeparator( new Dimension( 10, 0 ) );
return toolBar;
@@ -405,6 +406,54 @@ final class MainPanel2 extends JPanel {
}
}
+ private final class RunAction implements ActionListener {
+ @Override
+ public void actionPerformed( final ActionEvent event ) {
+ if ( _piperTextFilter == null || _runButton == null ) {
+ return;
+ }
+ LOGGER.info( "Running Piper File ..." );
+ final ExecutorService executor = Executors.newSingleThreadExecutor();
+ final Future<Boolean> success = executor.submit( new PiperFileRunner() );
+ try {
+ if ( success.get() ) {
+ LOGGER.info( "Run complete." );
+ } else {
+ LOGGER.warn( "Run may have encountered problems." );
+ }
+ } catch ( InterruptedException | ExecutionException multE ) {
+ LOGGER.warn( multE );
+ LOGGER.warn( "Run may have encountered problems." );
+ }
+ }
+ }
+
+ private class PiperFileRunner implements Callable<Boolean> {
+ @Override
+ public Boolean call() {
+ final JFrame frame = (JFrame)SwingUtilities.getRoot( MainPanel2.this );
+ frame.setCursor( Cursor.getPredefinedCursor( Cursor.WAIT_CURSOR ) );
+ DisablerPane.getInstance().setVisible( true );
+ boolean success = false;
+ try {
+ final PiperFileReader reader = new PiperFileReader();
+ final String text = _piperDocument.getText( 0, _piperDocument.getLength() );
+ final String[] lines = text.split( "\\n" );
+ for ( String line : lines ) {
+ reader.parsePipelineLine( line );
+ }
+ reader.getBuilder().run();
+ success = true;
+ } catch ( Throwable t ) {
+ LOGGER.error( "Pipeline Run caused Exception:", t );
+ }
+ DisablerPane.getInstance().setVisible( false );
+ frame.setCursor( Cursor.getDefaultCursor() );
+ return success;
+ }
+ }
+
+
static private final class PiperFileView extends FileView {
private Icon _piperIcon = null;