private void addRequiredField(String source) { TemplateField field = new TemplateField(jCas); field.setBegin(53); field.setEnd(105); field.setName("required"); field.setSource(source); field.setValue(PARA2); field.addToIndexes(); }
/** * Makes the field name/value pairs from a collection of field annotations. * * @param fieldAnnotations the field annotations * @return the field value name/value pairs */ private static Collection<ExtractedField> makeFieldValues( Collection<TemplateField> fieldAnnotations) { Collection<ExtractedField> fieldValues = new ArrayList<>(); for (TemplateField templateField : fieldAnnotations) { fieldValues.add(new ExtractedField(templateField.getName(), templateField.getValue())); } return fieldValues; }
/** * @generated * @param jcas JCas to which this Feature Structure belongs * @param begin offset to the begin spot in the SofA * @param end offset to the end spot in the SofA */ public TemplateField(JCas jcas, int begin, int end) { super(jcas); setBegin(begin); setEnd(end); readObject(); }
@Test public void testCreateDefaultFieldAnnotationsWithDefault() throws AnalysisEngineProcessException, ResourceInitializationException, IOException { Path definitionFile = createGoodRecordDefinitionWithDefaultAndMissing(); try { processJCas(TemplateAnnotator.PARAM_RECORD_DEFINITIONS_DIRECTORY, tempDirectory.toString()); TemplateField field1 = JCasUtil.selectSingle(jCas, TemplateField.class); assertEquals(212, field1.getBegin()); assertEquals(212, field1.getEnd()); assertEquals("", field1.getCoveredText()); assertEquals("default value", field1.getValue()); } finally { Files.delete(definitionFile); } }
@Before public void setup() throws IOException { jCas.setDocumentText(TEXT); TemplateRecord record = new TemplateRecord(jCas); record.setName("report"); record.setSource("brown"); record.setBegin(0); record.setEnd(52); record.addToIndexes(); TemplateField field1 = new TemplateField(jCas); field1.setBegin(16); field1.setEnd(19); field1.setName("athlete"); field1.addToIndexes(); TemplateField field2 = new TemplateField(jCas); field2.setBegin(41); field2.setEnd(44); field2.setName("spectator"); field2.addToIndexes(); }
@Test public void testAthleteIsMadePersonNoSource() throws AnalysisEngineProcessException, ResourceInitializationException { processJCas( TemplateFieldJoiningAnnotator.PARAM_RECORD, "report", TemplateFieldJoiningAnnotator.PARAM_FIELD_NAME, "fullName", TemplateFieldJoiningAnnotator.PARAM_TEMPLATE, "{{athlete}}, {{spectator}}"); Collection<TemplateField> fields = JCasUtil.select(jCas, TemplateField.class); assertEquals(3, fields.size()); List<TemplateField> fullNameFields = fields.stream().filter(f -> extracted(f)).collect(Collectors.toList()); assertEquals(1, fullNameFields.size()); TemplateField fullName = fullNameFields.iterator().next(); assertEquals("fox, dog", fullName.getValue()); assertEquals(16, fullName.getBegin()); assertEquals(44, fullName.getEnd()); }
private boolean extracted(TemplateField f) { return f.getName().equals("fullName"); } }
@Test public void testDefaultRecord() throws AnalysisEngineProcessException, ResourceInitializationException, IOException { Path definitionFile = createDefaultRecordDefinition(); try { processJCas(TemplateAnnotator.PARAM_RECORD_DEFINITIONS_DIRECTORY, tempDirectory.toString()); assertEquals(0, JCasUtil.select(jCas, TemplateRecord.class).size()); TemplateField field1 = JCasUtil.selectSingle(jCas, TemplateField.class); assertEquals(53, field1.getBegin()); assertEquals(105, field1.getEnd()); assertEquals(PARA2, field1.getCoveredText()); assertEquals(PARA2, field1.getValue()); } finally { Files.delete(definitionFile); } }
@Before public void setup() throws IOException { jCas.setDocumentText(TEXT); TemplateRecord record = new TemplateRecord(jCas); record.setName("report"); record.setSource("brownSauce"); record.setBegin(0); record.setEnd(52); record.addToIndexes(); TemplateField field1 = new TemplateField(jCas); field1.setBegin(16); field1.setEnd(19); field1.setName("athlete"); field1.addToIndexes(); TemplateField field2 = new TemplateField(jCas); field2.setBegin(41); field2.setEnd(44); field2.setName("spectactor"); field2.addToIndexes(); }
/** * @generated * @param jcas JCas to which this Feature Structure belongs * @param begin offset to the begin spot in the SofA * @param end offset to the end spot in the SofA */ public TemplateField(JCas jcas, int begin, int end) { super(jcas); setBegin(begin); setEnd(end); readObject(); }
@Test public void testAthleteIsMadePersonSource() throws AnalysisEngineProcessException, ResourceInitializationException { processJCas( TemplateFieldJoiningAnnotator.PARAM_RECORD, "report", TemplateFieldJoiningAnnotator.PARAM_FIELD_NAME, "fullName", TemplateFieldJoiningAnnotator.PARAM_TEMPLATE, "{{athlete}}, {{spectator}}", TemplateFieldJoiningAnnotator.PARAM_SOURCE, "brown"); Collection<TemplateField> fields = JCasUtil.select(jCas, TemplateField.class); assertEquals(3, fields.size()); List<TemplateField> fullNameFields = fields.stream().filter(f -> extracted(f)).collect(Collectors.toList()); assertEquals(1, fullNameFields.size()); TemplateField fullName = fullNameFields.iterator().next(); assertEquals("fox, dog", fullName.getValue()); assertEquals(16, fullName.getBegin()); assertEquals(44, fullName.getEnd()); }
private Collection<TemplateField> removeOtherField(Collection<TemplateField> selected) { Collection<TemplateField> remaining = new ArrayList<>(); for (TemplateField r : selected) { if (!"otherField".equals(r.getName())) { remaining.add(r); } } assertTrue(remaining.size() < selected.size()); return remaining; }
private void addOptionalField(String source) { TemplateField field = new TemplateField(jCas); field.setBegin(122); field.setEnd(125); field.setName("optional"); field.setSource(source); field.setValue("rat"); field.addToIndexes(); } }
@Test public void testCreateDefaultFieldAnnotationsMisingWithDefaultValue() throws AnalysisEngineProcessException, ResourceInitializationException, IOException { Path definitionFile = createGoodRecordDefinitionWithDefaultAndMissing(); try { processJCas(TemplateAnnotator.PARAM_RECORD_DEFINITIONS_DIRECTORY, tempDirectory.toString()); TemplateField field1 = JCasUtil.selectSingle(jCas, TemplateField.class); assertEquals(212, field1.getBegin()); assertEquals(212, field1.getEnd()); assertEquals("", field1.getCoveredText()); assertEquals("default value", field1.getValue()); assertEquals(1, JCasUtil.select(jCas, Metadata.class).size()); } finally { Files.delete(definitionFile); } }
@Before public void setup() throws IOException { jCas.setDocumentText(TEXT); tempDirectory = Files.createTempDirectory(TemplateFieldJsonReportConsumerTest.class.getSimpleName()); tempDirectory.toFile().deleteOnExit(); DocumentAnnotation documentAnnotation = (DocumentAnnotation) jCas.getDocumentAnnotationFs(); documentAnnotation.setSourceUri(SOURCEURI); Paragraph paragraph1 = new Paragraph(jCas); paragraph1.setBegin(0); paragraph1.setDepth(1); paragraph1.setEnd(52); paragraph1.addToIndexes(); Paragraph paragraph2 = new Paragraph(jCas); paragraph2.setBegin(53); paragraph2.setDepth(1); paragraph2.setEnd(105); paragraph2.addToIndexes(); TemplateField field = new TemplateField(jCas); field.setBegin(53); field.setEnd(105); field.addToIndexes(); }
@Override @Before public void setup() throws IOException { super.setup(); TemplateRecord otherRecord = new TemplateRecord(jCas); otherRecord.setBegin(53); otherRecord.setEnd(105); otherRecord.setName("otherRecord"); otherRecord.setSource("other"); otherRecord.addToIndexes(); TemplateField otherField = new TemplateField(jCas); otherField.setBegin(53); otherField.setEnd(68); otherField.setName("otherField"); otherField.setSource("other"); otherField.setValue("default"); otherField.addToIndexes(); }
@Test public void testCreateFieldAnnotationsFromSelectorFile() throws AnalysisEngineProcessException, ResourceInitializationException, IOException { Path definitionFile = createGoodRecordDefinition(); try { processJCas(TemplateAnnotator.PARAM_RECORD_DEFINITIONS_DIRECTORY, tempDirectory.toString()); assertRecordCoversParas2to4(); TemplateField field1 = JCasUtil.selectSingle(jCas, TemplateField.class); assertEquals(53, field1.getBegin()); assertEquals(105, field1.getEnd()); assertEquals(PARA2, field1.getCoveredText()); assertEquals(PARA2, field1.getValue()); } finally { Files.delete(definitionFile); } }
TemplateField record1Field1 = new TemplateField(jCas); record1Field1.setBegin(0); record1Field1.setEnd(15); record1Field1.setName("record1Field1"); record1Field1.setSource(sourceName); record1Field1.setValue(record1Field1.getCoveredText()); record1Field1.addToIndexes(); TemplateField record1Field2 = new TemplateField(jCas); record1Field2.setBegin(16); record1Field2.setEnd(31); record1Field2.setName("record1Field2"); record1Field2.setSource(sourceName); record1Field2.setValue(record1Field2.getCoveredText()); record1Field2.addToIndexes(); TemplateField record2Field1 = new TemplateField(jCas); record2Field1.setBegin(53); record2Field1.setEnd(68); record2Field1.setName("record2Field1"); record2Field1.setSource(sourceName); record2Field1.setValue(record2Field1.getCoveredText()); record2Field1.addToIndexes(); TemplateField record2Field2 = new TemplateField(jCas); record2Field2.setBegin(69); record2Field2.setEnd(84); record2Field2.setName("record2Field2"); record2Field2.setSource(sourceName);
@Test public void testCreateFieldAnnotationsFromSelectorFileWithRegex() throws AnalysisEngineProcessException, ResourceInitializationException, IOException { Path definitionFile = createGoodRecordDefinitionWithRegex(); try { processJCas(TemplateAnnotator.PARAM_RECORD_DEFINITIONS_DIRECTORY, tempDirectory.toString()); assertRecordCoversParas2to4(); TemplateField field1 = JCasUtil.selectSingle(jCas, TemplateField.class); assertEquals(69, field1.getBegin()); assertEquals(72, field1.getEnd()); assertEquals("cat", field1.getCoveredText()); assertEquals("cat", field1.getValue()); } finally { Files.delete(definitionFile); } }
@Test public void testCreateFieldAnnotationsFromSelectorFileWithRegexRequired() throws AnalysisEngineProcessException, ResourceInitializationException, IOException { Path definitionFile = createGoodRecordDefinitionWithRegexRequired(); try { processJCas(TemplateAnnotator.PARAM_RECORD_DEFINITIONS_DIRECTORY, tempDirectory.toString()); assertRecordCoversParas2to4(); TemplateField field1 = JCasUtil.selectSingle(jCas, TemplateField.class); assertEquals(122, field1.getBegin()); assertEquals(125, field1.getEnd()); assertEquals("rat", field1.getCoveredText()); assertEquals("rat", field1.getValue()); } finally { Files.delete(definitionFile); } }