/** * Make field from definition and path * * @param templateFieldDefinition the field definition * @param fields the fields * @return the configuration */ private TemplateFieldConfiguration makeField( TemplateFieldDefinition templateFieldDefinition, String fieldPath) { TemplateFieldConfiguration field = new TemplateFieldConfiguration(templateFieldDefinition.getName(), fieldPath); field.setRequired(templateFieldDefinition.getRequired()); field.setRepeat(templateFieldDefinition.getRepeat()); field.setRegex(templateFieldDefinition.getRegex()); return field; }
@Test public void annotateFieldAllAttributesLenient() throws AnalysisEngineProcessException, ResourceInitializationException { jCas.setDocumentText(FIELD_REGEX_DEFAULT_REQUIRED_TEXT_LENIENT); processJCas(); TemplateFieldDefinition field = JCasUtil.selectByIndex(jCas, TemplateFieldDefinition.class, 0); assertEquals(0, field.getBegin()); assertEquals(FIELD_REGEX_DEFAULT_REQUIRED_TEXT_LENIENT.length(), field.getEnd()); assertEquals("all", field.getName()); assertEquals(FIELD_REGEX_DEFAULT_REQUIRED_TEXT_LENIENT, field.getCoveredText()); assertTrue(field.getRequired()); assertTrue(field.getRepeat()); assertEquals("\\d?:\\s\\d?", field.getRegex()); assertEquals("not found", field.getDefaultValue()); } }
@Test public void annotateFieldAllAttributes() throws AnalysisEngineProcessException, ResourceInitializationException { jCas.setDocumentText(FIELD_REGEX_DEFAULT_REQUIRED_TEXT); processJCas(); TemplateFieldDefinition field = JCasUtil.selectByIndex(jCas, TemplateFieldDefinition.class, 0); assertEquals(0, field.getBegin()); assertEquals(FIELD_REGEX_DEFAULT_REQUIRED_TEXT.length(), field.getEnd()); assertEquals("all", field.getName()); assertEquals(FIELD_REGEX_DEFAULT_REQUIRED_TEXT, field.getCoveredText()); assertTrue(field.getRequired()); assertTrue(field.getRepeat()); assertEquals("\\d?:\\s\\d?", field.getRegex()); assertEquals("not found", field.getDefaultValue()); }
@Test public void annotateFieldWithRegex() throws AnalysisEngineProcessException, ResourceInitializationException { jCas.setDocumentText(FIELD_REGEX_TEXT); processJCas(); TemplateFieldDefinition field = JCasUtil.selectByIndex(jCas, TemplateFieldDefinition.class, 0); assertEquals(17, field.getBegin()); assertEquals(82, field.getEnd()); assertEquals( "<<field:email regex=\"\\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,}\\b\">>", field.getCoveredText()); assertEquals("email", field.getName()); assertEquals("\\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,}\\b", field.getRegex()); assertNull(field.getDefaultValue()); }
@Test public void annotateFieldWithHtmlRegex() throws AnalysisEngineProcessException, ResourceInitializationException { jCas.setDocumentText(FIELD_HTML_REGEX); processJCas(); TemplateFieldDefinition field = JCasUtil.selectByIndex(jCas, TemplateFieldDefinition.class, 0); assertEquals(6, field.getBegin()); assertEquals(90, field.getEnd()); assertEquals( "<<field:html regex=\"/^<([a-z]+)([^<]+)*(?:>(.*)<\\/\\1>|\\s+\\/>)$/\">>", field.getCoveredText()); assertEquals("html", field.getName()); assertEquals("/^<([a-z]+)([^<]+)*(?:>(.*)<\\/\\1>|\\s+\\/>)$/", field.getRegex()); assertNull(field.getDefaultValue()); assertFalse(field.getRepeat()); }