Commit fb6454a3 authored by tu's avatar tu

changed typesystem and dialogs, added freeindirect keylistener to table

parent a116e8e2
Pipeline #12076 passed with stage
in 4 minutes and 56 seconds
......@@ -22,6 +22,7 @@ import org.eclipse.e4.core.services.events.IEventBroker;
import org.eclipse.e4.ui.di.Focus;
import org.eclipse.e4.ui.model.application.ui.basic.MPart;
import org.eclipse.jface.dialogs.InputDialog;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.jface.window.Window;
......@@ -282,6 +283,47 @@ public class RedeWiedergabeView extends AEditorSubordinateViewPart {
Shell rwMetadataShell = new Shell();
RwMetadataDialog rwMetadataDialog = new RwMetadataDialog(rwMetadataShell);
//frameIDDialog
Shell frameIDShell = new Shell();
//frameDialog
Shell frameShell = new Shell();
//speakerDialog
Shell speakerShell = new Shell();
//intExprDialog
Shell intExprShell = new Shell();
//speakerOutsideFrame
Shell speakerOutsideFrameShell = new Shell();
//speakerOutsideFrame
Shell speakerOutsideStwrShell = new Shell();
//speech
Shell speechShell = new Shell();
Shell speechPunctShell = new Shell();
//thought
Shell thoughtShell = new Shell();
Shell thoughtPunctShell = new Shell();
//writing
Shell writingShell = new Shell();
Shell writingPunctShell = new Shell();
//rTypeAmbig
Shell rTypeAmbigShell = new Shell();
//mediumAmbig
Shell mediumAmbigShell = new Shell();
Shell mediumPunctAmbigShell = new Shell();
//metadata
Shell metadataDefinedShell = new Shell ();
Shell metadataIncompleteShell = new Shell ();
// flags for the medium buttons
private boolean speechFlag;
private boolean thoughtFlag;
......@@ -859,8 +901,10 @@ public class RedeWiedergabeView extends AEditorSubordinateViewPart {
for (AnnotationFS frame : editor.getCas().getAnnotationIndex(frameType)){
if (frame.getFeatureValueAsString(frameIDFeat).equals("")){
JFrame jFrame = new JFrame("Information");
JOptionPane.showMessageDialog(jFrame, "ID is missing for frame with start = " + " " + frame.getBegin() + ".", "Attention", JOptionPane.WARNING_MESSAGE);
MessageDialog.openWarning(frameIDShell, "Warning", "ID is missing for frame with start = " + " " + frame.getBegin() + ".");
//frameIDShell.close();
//JFrame jFrame = new JFrame("Information");
//JOptionPane.showMessageDialog(jFrame, "ID is missing for frame with start = " + " " + frame.getBegin() + ".", "Attention", JOptionPane.WARNING_MESSAGE);
frameIdFlag = true;
renewPage();
}
......@@ -892,8 +936,10 @@ public class RedeWiedergabeView extends AEditorSubordinateViewPart {
int position = anno.getEnd();
if ((editor.getCas().getDocumentText().charAt(position) == '.') || (editor.getCas().getDocumentText().charAt(position) == '?') || (editor.getCas().getDocumentText().charAt(position) == '!'))
{
JFrame frame = new JFrame("Information");
JOptionPane.showMessageDialog(frame, "Please do not forget to mark the punctuation character.", "Attention", JOptionPane.WARNING_MESSAGE);
MessageDialog.openWarning(frameShell, "Warning", "Please do not forget to mark the punctuation character.");
//frameShell.close();
//JFrame frame = new JFrame("Information");
//JOptionPane.showMessageDialog(frame, "Please do not forget to mark the punctuation character.", "Attention", JOptionPane.WARNING_MESSAGE);
} else {
editor.addAnnotation(anno);
}
......@@ -913,8 +959,10 @@ public class RedeWiedergabeView extends AEditorSubordinateViewPart {
boolean speakerIDFlag = false;
for (AnnotationFS speaker : speakerList){
if (speaker.getFeatureValueAsString(speakerIDFeat) == null){
JFrame jFrame = new JFrame("Information");
JOptionPane.showMessageDialog(jFrame, "Please assign an ID to the speaker " + "\"" + speaker.getFeatureValueAsString(speakerFeat) + "\"" + ".", "Attention", JOptionPane.WARNING_MESSAGE);
MessageDialog.openWarning(speakerShell, "Warning", "Please assign an ID to the speaker " + "\"" + speaker.getFeatureValueAsString(speakerFeat) + "\"" + ".");
//speakerShell.close();
//JFrame jFrame = new JFrame("Information");
//JOptionPane.showMessageDialog(jFrame, "Please assign an ID to the speaker " + "\"" + speaker.getFeatureValueAsString(speakerFeat) + "\"" + ".", "Attention", JOptionPane.WARNING_MESSAGE);
speakerIDFlag = true;
}
}
......@@ -1013,8 +1061,10 @@ public class RedeWiedergabeView extends AEditorSubordinateViewPart {
|| anno.getFeatureValueAsString(speakerIDFeat).matches(selected.getFeatureValueAsString(frameIDFeat) + " " + ".*" )
|| anno.getFeatureValueAsString(speakerIDFeat).matches(".*" + " " + selected.getFeatureValueAsString(frameIDFeat))
|| anno.getFeatureValueAsString(speakerIDFeat).matches(selected.getFeatureValueAsString(frameIDFeat))){
JFrame jFrame = new JFrame("Information");
JOptionPane.showMessageDialog(jFrame, "The speaker already has the ID " + selected.getFeatureValueAsString(frameIDFeat) + ".", "Attention", JOptionPane.WARNING_MESSAGE);
MessageDialog.openWarning(speakerOutsideFrameShell, "Warning", "The speaker already has the ID " + selected.getFeatureValueAsString(frameIDFeat) + ".");
//speakerOutsideFrameShell.close();
//JFrame jFrame = new JFrame("Information");
//JOptionPane.showMessageDialog(jFrame, "The speaker already has the ID " + selected.getFeatureValueAsString(frameIDFeat) + ".", "Attention", JOptionPane.WARNING_MESSAGE);
}else {
concatenatedId = anno.getFeatureValueAsString(speakerIDFeat) + " " + selected.getFeatureValueAsString(frameIDFeat);
updateAnnotation(anno, speakerIDFeat, concatenatedId, true);
......@@ -1038,8 +1088,10 @@ public class RedeWiedergabeView extends AEditorSubordinateViewPart {
|| anno.getFeatureValueAsString(speakerIDFeat).matches(selected.getFeatureValueAsString(stwrIDFeat) + " " + ".*" )
|| anno.getFeatureValueAsString(speakerIDFeat).matches(".*" + " " + selected.getFeatureValueAsString(stwrIDFeat))
|| anno.getFeatureValueAsString(speakerIDFeat).matches(selected.getFeatureValueAsString(stwrIDFeat))){
JFrame jFrame = new JFrame("Information");
JOptionPane.showMessageDialog(jFrame, "The speaker already has the ID " + selected.getFeatureValueAsString(stwrIDFeat) + ".", "Attention", JOptionPane.WARNING_MESSAGE);
MessageDialog.openWarning(speakerOutsideStwrShell, "Warning", "The speaker already has the ID " + selected.getFeatureValueAsString(stwrIDFeat) + ".");
//speakerOutsideStwrShell.close();
//JFrame jFrame = new JFrame("Information");
//JOptionPane.showMessageDialog(jFrame, "The speaker already has the ID " + selected.getFeatureValueAsString(stwrIDFeat) + ".", "Attention", JOptionPane.WARNING_MESSAGE);
}else {
concatenatedId = anno.getFeatureValueAsString(speakerIDFeat) + " " + selected.getFeatureValueAsString(stwrIDFeat);
updateAnnotation(anno, speakerIDFeat, concatenatedId, true);
......@@ -1110,8 +1162,10 @@ public class RedeWiedergabeView extends AEditorSubordinateViewPart {
}
if (repCounter == repAnnoList.size() && frameCounter == frameList.size())
{
JFrame jFrame = new JFrame("Information");
JOptionPane.showMessageDialog(jFrame, "Please mark a string in a frame or in a reported STWR.", "Attention", JOptionPane.WARNING_MESSAGE);
MessageDialog.openWarning(intExprShell, "Warning", "Please mark a string in a frame or in a reported STWR.");
//intExprShell.close();
//JFrame jFrame = new JFrame("Information");
//JOptionPane.showMessageDialog(jFrame, "Please mark a string in a frame or in a reported STWR.", "Attention", JOptionPane.WARNING_MESSAGE);
}
}
renewPage();
......@@ -1138,8 +1192,11 @@ public class RedeWiedergabeView extends AEditorSubordinateViewPart {
if (dirFlag == false && indFlag == false && freeIndFlag == false && repFlag == false &&
ambigRTypeDialog.dirFlag == false && ambigRTypeDialog.indirFlag == false && ambigRTypeDialog.freeIndFlag == false && ambigRTypeDialog.repFlag == false)
{
JFrame frame = new JFrame("Information");
JOptionPane.showMessageDialog(frame, "Please choose a type first.", "Attention", JOptionPane.WARNING_MESSAGE);
MessageDialog.openWarning(speechShell, "Warning", "Please choose a type first.");
//speechShell.close();
//JFrame frame = new JFrame("Information");
//JOptionPane.showMessageDialog(frame, "Please choose a type first.", "Attention", JOptionPane.WARNING_MESSAGE);
}
else
{
......@@ -1149,8 +1206,10 @@ public class RedeWiedergabeView extends AEditorSubordinateViewPart {
int position = stwrAnno.getEnd();
if ((editor.getCas().getDocumentText().charAt(position) == '.') || (editor.getCas().getDocumentText().charAt(position) == '?') || (editor.getCas().getDocumentText().charAt(position) == '!'))
{
JFrame frame = new JFrame("Information");
JOptionPane.showMessageDialog(frame, "Please do not forget to mark the punctuation character.", "Attention", JOptionPane.WARNING_MESSAGE);
MessageDialog.openWarning(speechPunctShell, "Warning", "Please do not forget to mark the punctuation character.");
//speechPunctShell.close();
//JFrame frame = new JFrame("Information");
//JOptionPane.showMessageDialog(frame, "Please do not forget to mark the punctuation character.", "Attention", JOptionPane.WARNING_MESSAGE);
} else {
editor.addAnnotation(stwrAnno);
}
......@@ -1176,8 +1235,10 @@ public class RedeWiedergabeView extends AEditorSubordinateViewPart {
if (dirFlag == false && indFlag == false && freeIndFlag == false && repFlag == false &&
ambigRTypeDialog.dirFlag == false && ambigRTypeDialog.indirFlag == false && ambigRTypeDialog.freeIndFlag == false && ambigRTypeDialog.repFlag == false)
{
JFrame frame = new JFrame("Information");
JOptionPane.showMessageDialog(frame, "Please choose a type first.", "Attention", JOptionPane.WARNING_MESSAGE);
MessageDialog.openWarning(thoughtShell, "Warning", "Please choose a type first.");
//thoughtShell.close();
//JFrame frame = new JFrame("Information");
//JOptionPane.showMessageDialog(frame, "Please choose a type first.", "Attention", JOptionPane.WARNING_MESSAGE);
}
else
{
......@@ -1187,8 +1248,10 @@ public class RedeWiedergabeView extends AEditorSubordinateViewPart {
int position = stwrAnno.getEnd();
if ((editor.getCas().getDocumentText().charAt(position) == '.') || (editor.getCas().getDocumentText().charAt(position) == '?') || (editor.getCas().getDocumentText().charAt(position) == '!'))
{
JFrame frame = new JFrame("Information");
JOptionPane.showMessageDialog(frame, "Please do not forget to mark the punctuation character.", "Attention", JOptionPane.WARNING_MESSAGE);
MessageDialog.openWarning(thoughtPunctShell, "Warning", "Please do not forget to mark the punctuation character.");
//thoughtPunctShell.close();
//JFrame frame = new JFrame("Information");
//JOptionPane.showMessageDialog(frame, "Please do not forget to mark the punctuation character.", "Attention", JOptionPane.WARNING_MESSAGE);
} else {
editor.addAnnotation(stwrAnno);
}
......@@ -1214,8 +1277,10 @@ public class RedeWiedergabeView extends AEditorSubordinateViewPart {
if (dirFlag == false && indFlag == false && freeIndFlag == false && repFlag == false &&
ambigRTypeDialog.dirFlag == false && ambigRTypeDialog.indirFlag == false && ambigRTypeDialog.freeIndFlag == false && ambigRTypeDialog.repFlag == false)
{
JFrame frame = new JFrame("Information");
JOptionPane.showMessageDialog(frame, "Please choose a type first.", "Attention", JOptionPane.WARNING_MESSAGE);
MessageDialog.openWarning(writingShell, "Warning", "Please choose a type first.");
//writingShell.close();
//JFrame frame = new JFrame("Information");
//JOptionPane.showMessageDialog(frame, "Please choose a type first.", "Attention", JOptionPane.WARNING_MESSAGE);
}
else
{
......@@ -1225,8 +1290,10 @@ public class RedeWiedergabeView extends AEditorSubordinateViewPart {
int position = stwrAnno.getEnd();
if ((editor.getCas().getDocumentText().charAt(position) == '.') || (editor.getCas().getDocumentText().charAt(position) == '?') || (editor.getCas().getDocumentText().charAt(position) == '!'))
{
JFrame frame = new JFrame("Information");
JOptionPane.showMessageDialog(frame, "Please do not forget to mark the punctuation character.", "Attention", JOptionPane.WARNING_MESSAGE);
MessageDialog.openWarning(writingPunctShell, "Warning", "Please do not forget to mark the punctuation character.");
//writingPunctShell.close();
//JFrame frame = new JFrame("Information");
//JOptionPane.showMessageDialog(frame, "Please do not forget to mark the punctuation character.", "Attention", JOptionPane.WARNING_MESSAGE);
} else {
editor.addAnnotation(stwrAnno);
}
......@@ -1245,10 +1312,12 @@ public class RedeWiedergabeView extends AEditorSubordinateViewPart {
ambigRTypeDialog.open();
if (ambigRTypeDialog.dirFlag == false && ambigRTypeDialog.indirFlag == false
&& ambigRTypeDialog.freeIndFlag == false && ambigRTypeDialog.repFlag == false) {
JFrame frame = new JFrame("Information");
JOptionPane.showMessageDialog(frame, "Please choose a type.", "Attention", JOptionPane.WARNING_MESSAGE);
MessageDialog.openWarning(rTypeAmbigShell, "Warning", "Please choose a type.");
//rTypeAmbigShell.close();
//JFrame frame = new JFrame("Information");
//JOptionPane.showMessageDialog(frame, "Please choose a type.", "Attention", JOptionPane.WARNING_MESSAGE);
ambigRTypeDialog.close();
ambigDialogRTypeShell.close();
//ambigDialogRTypeShell.close();
} else {
if (ambigRTypeDialog.dirFlag == true && ambigRTypeDialog.indirFlag == true
&& ambigRTypeDialog.freeIndFlag == true && ambigRTypeDialog.repFlag == true) {
......@@ -1314,8 +1383,10 @@ public class RedeWiedergabeView extends AEditorSubordinateViewPart {
if (dirFlag == false && indFlag == false && freeIndFlag == false && repFlag == false &&
ambigRTypeDialog.dirFlag == false && ambigRTypeDialog.indirFlag == false && ambigRTypeDialog.freeIndFlag == false && ambigRTypeDialog.repFlag == false)
{
JFrame frame = new JFrame("Information");
JOptionPane.showMessageDialog(frame, "Please choose a type first.", "Attention", JOptionPane.WARNING_MESSAGE);
MessageDialog.openWarning(mediumAmbigShell, "Warning", "Please choose a type first.");
//mediumAmbigShell.close();
//JFrame frame = new JFrame("Information");
//JOptionPane.showMessageDialog(frame, "Please choose a type first.", "Attention", JOptionPane.WARNING_MESSAGE);
}
else
{
......@@ -1323,8 +1394,10 @@ public class RedeWiedergabeView extends AEditorSubordinateViewPart {
if (ambigMediumDialog.speechFlag == false && ambigMediumDialog.thoughtFlag == false
&& ambigMediumDialog.writingFlag == false) {
JFrame frame = new JFrame("Information");
JOptionPane.showMessageDialog(frame, "Please choose a medium.", "Attention", JOptionPane.WARNING_MESSAGE);
MessageDialog.openWarning(mediumAmbigShell, "Warning", "Please choose a medium.");
//mediumAmbigShell.close();
//JFrame frame = new JFrame("Information");
//JOptionPane.showMessageDialog(frame, "Please choose a medium.", "Attention", JOptionPane.WARNING_MESSAGE);
ambigMediumDialog.close();
} else {
if (ambigMediumDialog.speechFlag == true && ambigMediumDialog.thoughtFlag == true
......@@ -1348,8 +1421,10 @@ public class RedeWiedergabeView extends AEditorSubordinateViewPart {
int position = stwrAnno.getEnd();
if ((editor.getCas().getDocumentText().charAt(position) == '.') || (editor.getCas().getDocumentText().charAt(position) == '?') || (editor.getCas().getDocumentText().charAt(position) == '!'))
{
JFrame frame = new JFrame("Information");
JOptionPane.showMessageDialog(frame, "Please do not forget to mark the punctuation character.", "Attention", JOptionPane.WARNING_MESSAGE);
MessageDialog.openWarning(mediumPunctAmbigShell, "Warning", "Please do not forget to mark the punctuation character.");
//mediumPunctAmbigShell.close();
//JFrame frame = new JFrame("Information");
//JOptionPane.showMessageDialog(frame, "Please do not forget to mark the punctuation character.", "Attention", JOptionPane.WARNING_MESSAGE);
} else {
editor.addAnnotation(stwrAnno);
}
......@@ -1397,8 +1472,10 @@ public class RedeWiedergabeView extends AEditorSubordinateViewPart {
public void setMetadataMap(){
this.metadataMap.clear();
if (editor.getCas().getAnnotationIndex(metadataType).size() == 0){
JFrame errorFrame = new JFrame("Information");
JOptionPane.showMessageDialog(errorFrame, "Metadata is not defined.", "Attention", JOptionPane.WARNING_MESSAGE);
MessageDialog.openWarning(metadataDefinedShell, "Warning", "Metadata is not defined.");
//metadataDefinedShell.close();
//JFrame errorFrame = new JFrame("Information");
//JOptionPane.showMessageDialog(errorFrame, "Metadata is not defined.", "Attention", JOptionPane.WARNING_MESSAGE);
} else {
for (AnnotationFS anno : editor.getCas().getAnnotationIndex(metadataType)){
if(anno.getFeatureValueAsString(idFeat) == null || anno.getFeatureValueAsString(origFileFeat) == null
......@@ -1410,8 +1487,10 @@ public class RedeWiedergabeView extends AEditorSubordinateViewPart {
|| anno.getFeatureValueAsString(periodicalFeat) == null || anno.getFeatureValueAsString(nameFeat) == null
|| anno.getFeatureValueAsString(timeStampFeat) == null || anno.getFeatureValueAsString(versionFeat) == null)
{
JFrame errorFrame = new JFrame("Information");
JOptionPane.showMessageDialog(errorFrame, "Metadata is incomplete.", "Attention", JOptionPane.WARNING_MESSAGE);
//JFrame errorFrame = new JFrame("Information");
//JOptionPane.showMessageDialog(errorFrame, "Metadata is incomplete.", "Attention", JOptionPane.WARNING_MESSAGE);
MessageDialog.openWarning(metadataIncompleteShell, "Warning", "Metadata is not incomplete.");
//metadataIncompleteShell.close();
}
else
......@@ -1955,6 +2034,19 @@ public class RedeWiedergabeView extends AEditorSubordinateViewPart {
}
}
public void changeToFreeIndirect(List<AnnotationFS> annos){
for (AnnotationFS anno : annos) {
String rTypeValue = anno.getFeatureValueAsString(rTypeFeat);
if (rTypeValue == null) {
rTypeValue = "ruleFreeIndirect";
}
rTypeValue = rTypeValue.equals("ruleFreeIndirect") ? "freeIndirect" : "ruleFreeIndirect";
updateAnnotation(anno, rTypeFeat, rTypeValue, true);
}
renewPage();
}
public void addStwrNote(List<AnnotationFS> annos) {
for (AnnotationFS anno : annos) {
......
......@@ -47,6 +47,9 @@ public class RwDrawingStrategy implements IAnnotationDrawingStrategy {
private Color gold = new Color (device, 255, 215, 0);
private Color goldenrod = new Color (device, 218, 165, 32);
//ruleFreeIndirect
private Color orangered = new Color (device, 255, 69, 0);
//ambig
private Color peachpuff = new Color (device, 255, 218, 185);
......@@ -99,6 +102,8 @@ public class RwDrawingStrategy implements IAnnotationDrawingStrategy {
if (anno.getFeatureValueAsString(rTypeFeat).equals("direct")
&& anno.getFeatureValueAsString(mediumFeat).equals("speech")) {
gc.setBackground(lightpink);
} else if (anno.getFeatureValueAsString(rTypeFeat).equals("ruleFreeIndirect")){
gc.setBackground(orangered);
} else if (anno.getFeatureValueAsString(rTypeFeat).equals("direct")
&& anno.getFeatureValueAsString(mediumFeat).equals("thought")) {
gc.setBackground(hotpink);
......
package de.ids.tt.athen.rwview.ui;
import java.awt.event.KeyEvent;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
......@@ -218,7 +219,8 @@ public class RwStwrTableComposite extends Composite{
// on enter we allow the user to change the name feature
if (e.keyCode == SWT.CR) {
part.addStwrNote(selectedAnnos);
//part.addStwrNote(selectedAnnos);
part.goToAnnotation(getSelectedAnnotationsFromTable());
}
// change medium feature
......@@ -253,6 +255,12 @@ public class RwStwrTableComposite extends Composite{
else if (e.keyCode == 'm') {
part.toggleMetaph(selectedAnnos);
}
else if (e.keyCode == KeyEvent.VK_SPACE){
part.changeToFreeIndirect(selectedAnnos);
}
else if (e.keyCode == KeyEvent.VK_DELETE){
part.deleteAnnotations(getSelectedAnnotationsFromTable());
}
}
private void handleTableDoubleClick (Event e)
......
......@@ -686,7 +686,7 @@
<typeDescription>
<name>de.idsma.rw.CabToken</name>
<description>CAB tokenizer</description>
<description/>
<supertypeName>uima.tcas.Annotation</supertypeName>
<features>
<featureDescription>
......@@ -714,11 +714,11 @@
<description/>
<rangeTypeName>uima.cas.String</rangeTypeName>
</featureDescription>
<featureDescription>
<name>RfPos</name>
<description/>
<rangeTypeName>uima.cas.String</rangeTypeName>
</featureDescription>
<featureDescription>
<name>RfPos</name>
<description/>
<rangeTypeName>uima.cas.String</rangeTypeName>
</featureDescription>
</features>
</typeDescription>
......@@ -750,13 +750,13 @@
<description/>
<supertypeName>uima.tcas.Annotation</supertypeName>
</typeDescription>
<typeDescription>
<typeDescription>
<name>de.idsma.rw.preprocessing.Token</name>
<description>openNLPTokenizer</description>
<supertypeName>uima.tcas.Annotation</supertypeName>
<features>
<features>
<featureDescription>
<name>Lemma</name>
<description/>
......@@ -769,133 +769,93 @@
</featureDescription>
</features>
</typeDescription>
<typeDescription>
<name>de.idsma.rw.preprocessing.OpenNLPSentence</name>
<description>OpenNLP sentence detector</description>
<supertypeName>uima.tcas.Annotation</supertypeName>
</typeDescription>
<typeDescription>
<name>de.idsma.rw.AutoStwr</name>
<description>Stwr annotations created by a rule-based function / machine learning</description>
<typeDescription>
<name>de.idsma.rw.rule.StwWord</name>
<description>A word that indictates a speech, thought or writing event</description>
<supertypeName>uima.tcas.Annotation</supertypeName>
<features>
<featureDescription>
<name>AutoMedium</name>
<description/>
<rangeTypeName>uima.cas.String</rangeTypeName>
</featureDescription>
<featureDescription>
<name>AutoRType</name>
<description/>
<rangeTypeName>uima.cas.String</rangeTypeName>
</featureDescription>
<featureDescription>
<name>AutoLevel</name>
<description/>
<rangeTypeName>uima.cas.String</rangeTypeName>
</featureDescription>
<featureDescription>
<name>AutoNonFact</name>
<description/>
<rangeTypeName>uima.cas.String</rangeTypeName>
</featureDescription>
<featureDescription>
<name>AutoPrag</name>
<description/>
<rangeTypeName>uima.cas.String</rangeTypeName>
</featureDescription>
<featureDescription>
<name>AutoBorder</name>
<description/>
<rangeTypeName>uima.cas.String</rangeTypeName>
</featureDescription>
<featureDescription>
<name>AutoMetaph</name>
<description/>
<rangeTypeName>uima.cas.String</rangeTypeName>
</featureDescription>
<featureDescription>
<name>AutoStwr</name>
<description/>
<rangeTypeName>uima.cas.String</rangeTypeName>
</featureDescription>
<featureDescription>
<name>AutoStwrID</name>
<description/>
<rangeTypeName>uima.cas.String</rangeTypeName>
</featureDescription>
</features>
</typeDescription>
<typeDescription>
<name>uimarwprojekt.types.STWWord</name>
<description/>
<features>
<featureDescription>
<name>Lemma</name>
<description>Lemma of the STWWord</description>
<rangeTypeName>uima.cas.String</rangeTypeName>
</featureDescription>
<featureDescription>
<name>Penalty</name>
<description>Penalty value, number between 0 and 5</description>
<rangeTypeName>uima.cas.String</rangeTypeName>
</featureDescription>
<featureDescription>
<name>Medium</name>
<description>Likely medium of the STWWord</description>
<rangeTypeName>uima.cas.String</rangeTypeName>
</featureDescription>
<featureDescription>
<name>Marker</name>
<description>Special marker for the STWWord,
at the moment: rep (likely reported) or nil (nothing)</description>
<rangeTypeName>uima.cas.String</rangeTypeName>
</featureDescription>
</features>
</typeDescription>
<typeDescription>
<name>de.idsma.rw.rule.RuleDirect</name>
<description>A word that indictates a speech, thought or writing event</description>
<supertypeName>uima.tcas.Annotation</supertypeName>
<features>
<featureDescription>
<name>Lemma</name>
<description/>
<rangeTypeName>uima.cas.String</rangeTypeName>
</featureDescription>
<featureDescription>
<name>Source</name>
<description/>
<rangeTypeName>uima.cas.String</rangeTypeName>
</featureDescription>
<featureDescription>
<name>Penalty</name>
<description/>
<rangeTypeName>uima.cas.String</rangeTypeName>
</featureDescription>
<featureDescription>
<name>Category</name>
<description/>
<rangeTypeName>uima.cas.String</rangeTypeName>
</featureDescription>
<featureDescription>
<name>Marker</name>
<description/>
<rangeTypeName>uima.cas.String</rangeTypeName>
</featureDescription>
<featureDescription>
<name>Frequency</name>
<description/>
<rangeTypeName>uima.cas.String</rangeTypeName>
</featureDescription>
</features>
</typeDescription>
<typeDescription>
<name>de.idsma.rw.AutoFrame</name>
<description/>
<typeDescription>
<name>de.idsma.rw.rule.RuleIndirect</name>
<description>A word that indictates a speech, thought or writing event</description>
<supertypeName>uima.tcas.Annotation</supertypeName>
<features>
<featureDescription>
<name>AutoPos</name>
<description/>
<rangeTypeName>uima.cas.String</rangeTypeName>
</featureDescription>
<featureDescription>
<name>AutoFrame</name>
<description/>
<rangeTypeName>uima.cas.String</rangeTypeName>
</featureDescription>
<featureDescription>
<name>AutoRwType</name>
<description/>
<rangeTypeName>uima.cas.String</rangeTypeName>
</featureDescription>
</features>
<features>
<featureDescription>
<name>Penalty</name>
<description>Penalty value for this instance</description>
<rangeTypeName>uima.cas.String</rangeTypeName>
</featureDescription>
<featureDescription>
<name>IndType</name>
<description>Structural type of this instance: zu, conj, conjVerb</description>
<rangeTypeName>uima.cas.String</rangeTypeName>
</featureDescription>
</features>
</typeDescription>
<typeDescription>
<name>de.idsma.rw.preprocessing.riedlmaNamedEntity</name>
<description/>
<typeDescription>
<name>de.idsma.rw.rule.RuleFreeIndirect</name>
<description>A word that indictates a speech, thought or writing event</description>
<supertypeName>uima.tcas.Annotation</supertypeName>
<features>
<featureDescription>
<name>NamedEntityTag</name>
<description/>
<rangeTypeName>uima.cas.String</rangeTypeName>