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 2016/09/28 22:39:26 UTC
svn commit: r1762725 - in
/ctakes/trunk/ctakes-core/src/main/java/org/apache/ctakes/core:
cc/pretty/plaintext/ cc/pretty/row/ cc/property/plaintext/ util/
Author: seanfinan
Date: Wed Sep 28 22:39:26 2016
New Revision: 1762725
URL: http://svn.apache.org/viewvc?rev=1762725&view=rev
Log:
-just in case- catches in PrettyTextWriter for string size mismatches
Print all sentences in PropertyTextWriter, including those w/o annotations
Modified:
ctakes/trunk/ctakes-core/src/main/java/org/apache/ctakes/core/cc/pretty/plaintext/PrettyTextWriter.java
ctakes/trunk/ctakes-core/src/main/java/org/apache/ctakes/core/cc/pretty/row/DefaultItemRow.java
ctakes/trunk/ctakes-core/src/main/java/org/apache/ctakes/core/cc/property/plaintext/PropertyTextWriter.java
ctakes/trunk/ctakes-core/src/main/java/org/apache/ctakes/core/util/DocumentIDAnnotationUtil.java
ctakes/trunk/ctakes-core/src/main/java/org/apache/ctakes/core/util/OntologyConceptUtil.java
Modified: ctakes/trunk/ctakes-core/src/main/java/org/apache/ctakes/core/cc/pretty/plaintext/PrettyTextWriter.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-core/src/main/java/org/apache/ctakes/core/cc/pretty/plaintext/PrettyTextWriter.java?rev=1762725&r1=1762724&r2=1762725&view=diff
==============================================================================
--- ctakes/trunk/ctakes-core/src/main/java/org/apache/ctakes/core/cc/pretty/plaintext/PrettyTextWriter.java (original)
+++ ctakes/trunk/ctakes-core/src/main/java/org/apache/ctakes/core/cc/pretty/plaintext/PrettyTextWriter.java Wed Sep 28 22:39:26 2016
@@ -115,9 +115,7 @@ final public class PrettyTextWriter {
// Create annotation rows with shorter spans on top
final Collection<ItemRow> itemRows = new ArrayList<>();
final ItemRow baseItemRow = new DefaultItemRow();
- for ( ItemCell itemCell : baseItemMap.values() ) {
- baseItemRow.addItemCell( itemCell );
- }
+ baseItemMap.values().forEach( baseItemRow::addItemCell );
itemRows.add( baseItemRow );
itemRows.addAll( createItemRows( coveringItemMap ) );
// Create map of all text span offsets to adjusted offsets
@@ -408,9 +406,12 @@ final public class PrettyTextWriter {
}
final Map<String, Collection<String>> semanticCuis = new HashMap<>();
for ( UmlsConcept umlsConcept : umlsConcepts ) {
- final String cui = umlsConcept.getCui();
+ final String cui = trimTo8( umlsConcept.getCui() );
final String tui = umlsConcept.getTui();
- final String semanticName = SemanticGroup.getSemanticName( tui );
+ String semanticName = SemanticGroup.getSemanticName( tui );
+ if ( semanticName.equals( "Unknown" ) ) {
+ semanticName = trimTo8( identifiedAnnotation.getClass().getSimpleName() );
+ }
Collection<String> cuis = semanticCuis.get( semanticName );
if ( cuis == null ) {
cuis = new HashSet<>();
@@ -421,4 +422,12 @@ final public class PrettyTextWriter {
return semanticCuis;
}
+
+ static private String trimTo8( final String text ) {
+ if ( text.length() <= 8 ) {
+ return text;
+ }
+ return "<" + text.substring( text.length() - 7, text.length() );
+ }
+
}
Modified: ctakes/trunk/ctakes-core/src/main/java/org/apache/ctakes/core/cc/pretty/row/DefaultItemRow.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-core/src/main/java/org/apache/ctakes/core/cc/pretty/row/DefaultItemRow.java?rev=1762725&r1=1762724&r2=1762725&view=diff
==============================================================================
--- ctakes/trunk/ctakes-core/src/main/java/org/apache/ctakes/core/cc/pretty/row/DefaultItemRow.java (original)
+++ ctakes/trunk/ctakes-core/src/main/java/org/apache/ctakes/core/cc/pretty/row/DefaultItemRow.java Wed Sep 28 22:39:26 2016
@@ -76,7 +76,13 @@ public final class DefaultItemRow implem
sb.replace( begin, begin + width, new String( fill_chars ) );
} else {
final int paddedOffset = getPaddedOffset( annotationText, width );
- sb.replace( begin + paddedOffset, begin + paddedOffset + annotationText.length(), annotationText );
+ final int b = (begin + paddedOffset < 0) ? begin : begin + paddedOffset;
+ final int e = Math.min( b + annotationText.length(), rowWidth - b );
+ if ( e - b < annotationText.length() ) {
+ sb.replace( b, e, annotationText.substring( 0, e - b ) );
+ } else {
+ sb.replace( b, e, annotationText );
+ }
}
}
return sb.toString();
Modified: ctakes/trunk/ctakes-core/src/main/java/org/apache/ctakes/core/cc/property/plaintext/PropertyTextWriter.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-core/src/main/java/org/apache/ctakes/core/cc/property/plaintext/PropertyTextWriter.java?rev=1762725&r1=1762724&r2=1762725&view=diff
==============================================================================
--- ctakes/trunk/ctakes-core/src/main/java/org/apache/ctakes/core/cc/property/plaintext/PropertyTextWriter.java (original)
+++ ctakes/trunk/ctakes-core/src/main/java/org/apache/ctakes/core/cc/property/plaintext/PropertyTextWriter.java Wed Sep 28 22:39:26 2016
@@ -105,9 +105,6 @@ public class PropertyTextWriter {
}
final Collection<IdentifiedAnnotation> identifiedAnnotations
= JCasUtil.selectCovered( jcas, IdentifiedAnnotation.class, sentence );
- if ( identifiedAnnotations.isEmpty() ) {
- return;
- }
writer.write( sentenceText );
writer.newLine();
for ( IdentifiedAnnotation annotation : identifiedAnnotations ) {
Modified: ctakes/trunk/ctakes-core/src/main/java/org/apache/ctakes/core/util/DocumentIDAnnotationUtil.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-core/src/main/java/org/apache/ctakes/core/util/DocumentIDAnnotationUtil.java?rev=1762725&r1=1762724&r2=1762725&view=diff
==============================================================================
--- ctakes/trunk/ctakes-core/src/main/java/org/apache/ctakes/core/util/DocumentIDAnnotationUtil.java (original)
+++ ctakes/trunk/ctakes-core/src/main/java/org/apache/ctakes/core/util/DocumentIDAnnotationUtil.java Wed Sep 28 22:39:26 2016
@@ -27,6 +27,8 @@ import org.apache.uima.jcas.JCas;
import org.apache.uima.jcas.JFSIndexRepository;
import org.apache.uima.jcas.cas.TOP;
+import java.util.regex.Pattern;
+
/**
* Utility class for fetching document id
*/
@@ -37,13 +39,14 @@ final public class DocumentIDAnnotationU
static private final Logger LOGGER = Logger.getLogger( "DocumentIDAnnotationUtil" );
+ static private final Pattern FILE_FIX_PATTERN = Pattern.compile( "[^A-Za-z0-9\\.]" );
// Utility classes should be final and have only a private constructor
private DocumentIDAnnotationUtil() {
}
/**
- * Check the jcas for a document id. Unlike {@link #getDocumentID(org.apache.uima.jcas.JCas)},
+ * Check the jcas for a document id. Unlike {@link #getDeepDocumentId(JCas)},
* this method does not progress into deeper jcas layers/views.
*
* @param jcas ye olde ...
@@ -127,7 +130,7 @@ final public class DocumentIDAnnotationU
if ( docId == null || docId.isEmpty() ) {
docId = "Unknown_" + System.currentTimeMillis();
}
- return docId.replaceAll( "[^A-Za-z0-9\\.]", "_" );
+ return FILE_FIX_PATTERN.matcher( docId ).replaceAll( "_" );
}
}
Modified: ctakes/trunk/ctakes-core/src/main/java/org/apache/ctakes/core/util/OntologyConceptUtil.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-core/src/main/java/org/apache/ctakes/core/util/OntologyConceptUtil.java?rev=1762725&r1=1762724&r2=1762725&view=diff
==============================================================================
--- ctakes/trunk/ctakes-core/src/main/java/org/apache/ctakes/core/util/OntologyConceptUtil.java (original)
+++ ctakes/trunk/ctakes-core/src/main/java/org/apache/ctakes/core/util/OntologyConceptUtil.java Wed Sep 28 22:39:26 2016
@@ -364,7 +364,7 @@ final public class OntologyConceptUtil {
/**
* @param jcas -
- * @param lookupWindow
+ * @param lookupWindow -
* @param cui cui of interest
* @return all IdentifiedAnnotations that have the given cui
*/
@@ -376,7 +376,7 @@ final public class OntologyConceptUtil {
/**
* @param jcas -
- * @param lookupWindow
+ * @param lookupWindow -
* @param tui tui of interest
* @return all IdentifiedAnnotations that have the given tui
*/
@@ -388,7 +388,7 @@ final public class OntologyConceptUtil {
/**
* @param jcas -
- * @param lookupWindow
+ * @param lookupWindow -
* @param code code of interest
* @return all IdentifiedAnnotations that have the given code
*/