Author: seanfinan Date: Mon Feb 5 15:14:56 2018 New Revision: 1823185 URL: http://svn.apache.org/viewvc?rev=1823185&view=rev Log: synchronize write on complete
Modified: ctakes/trunk/ctakes-core/src/main/java/org/apache/ctakes/core/patient/AbstractPatientFileWriter.java Modified: ctakes/trunk/ctakes-core/src/main/java/org/apache/ctakes/core/patient/AbstractPatientFileWriter.java URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-core/src/main/java/org/apache/ctakes/core/patient/AbstractPatientFileWriter.java?rev=1823185&r1=1823184&r2=1823185&view=diff ============================================================================== --- ctakes/trunk/ctakes-core/src/main/java/org/apache/ctakes/core/patient/AbstractPatientFileWriter.java (original) +++ ctakes/trunk/ctakes-core/src/main/java/org/apache/ctakes/core/patient/AbstractPatientFileWriter.java Mon Feb 5 15:14:56 2018 @@ -24,6 +24,8 @@ abstract public class AbstractPatientFil static private final Logger LOGGER = Logger.getLogger( "AbstractPatientFileWriter" ); + static private final Object DATA_LOCK = new Object(); + private final Collection<JCas> _patientCases = new HashSet<>(); protected void AbstractFileWriter() { @@ -67,15 +69,20 @@ abstract public class AbstractPatientFil } /** + * Write any remaining patient information * {@inheritDoc} */ @Override public void collectionProcessComplete() throws AnalysisEngineProcessException { super.collectionProcessComplete(); final String outputDir = getOutputDirectory( null, getRootDirectory(), "" ); - createData( null ); try { - writeFile( getData(), outputDir, "", "" ); + synchronized ( DATA_LOCK ) { + createData( null ); + final Collection<JCas> data = getData(); + writeFile( data, outputDir, "", "" ); + writeComplete( data ); + } } catch ( IOException ioE ) { throw new AnalysisEngineProcessException( ioE ); }