found one other: aFeature.toString() needed changing to aFeature.getName()
-M On 1/18/2018 10:50 AM, Marshall Schor wrote: > Fixed this problem. > > It was due to many places in webAnno where the code fragment: > > feature.toString() was expected to return the fully-qualified feature name. > > But v3 augmented the feature "toString" to provide more information about a > feature. > > Fix was to change all occurrances of feature.toString() to feature.getName(). > > Now the webanno-io-tsv first test succeeds, although it still is reporting > lots > of updating of Annotation "end" values while the annotation is in the index > (UIMA is recovering these, one at a time). > > on to the next problem... > > > On 1/17/2018 4:52 PM, Marshall Schor wrote: >> I changed the testcase for WebAnnoTsv2ReaderWriterTest to turn off the >> exception, to move on to the next issue :-) >> >> Next issue: the first runPipeLine() in that same test now fails, saying: >> >> Caused by: java.io.IOException: Target file >> [target\test-output\WebAnnoTsv2ReaderWriterTest-test\example2.tsv] already >> exists and overwriting not enabled. >> at >> de.tudarmstadt.ukp.dkpro.core.api.io.JCasFileWriter_ImplBase.getOutputStream(JCasFileWriter_ImplBase.java:230) >> at >> de.tudarmstadt.ukp.dkpro.core.api.io.JCasFileWriter_ImplBase.getOutputStream(JCasFileWriter_ImplBase.java:155) >> at >> de.tudarmstadt.ukp.clarin.webanno.tsv.WebannoTsv2Writer.process(WebannoTsv2Writer.java:101) >> ... 38 more >> >> I got around that by erasing the target/ directory, then doing a >> maven-update-project to cause an Eclispe rebuild of the project. Now when I >> run >> it I get a beyond the above error. The next error is: >> >> java.io.IOException: example2.tsv This is not a valid TSV File. check this >> line: >> 1-1 Ms. Sofa >> at >> de.tudarmstadt.ukp.clarin.webanno.tsv.WebannoTsv2Reader.setAnnotations(WebannoTsv2Reader.java:159) >> at >> de.tudarmstadt.ukp.clarin.webanno.tsv.WebannoTsv2Reader.convertToCas(WebannoTsv2Reader.java:78) >> at >> de.tudarmstadt.ukp.clarin.webanno.tsv.WebannoTsv2Reader.getNext(WebannoTsv2Reader.java:547) >> at >> de.tudarmstadt.ukp.dkpro.core.api.io.JCasResourceCollectionReader_ImplBase.getNext(JCasResourceCollectionReader_ImplBase.java:36) >> at >> de.tudarmstadt.ukp.clarin.webanno.tsv.WebAnnoTsv2ReaderWriterTest.test(WebAnnoTsv2ReaderWriterTest.java:81) >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >> at >> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) >> at >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) >> at java.lang.reflect.Method.invoke(Method.java:498) >> at >> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) >> at >> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) >> at >> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) >> at >> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) >> at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55) >> at org.junit.rules.RunRules.evaluate(RunRules.java:20) >> at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) >> at >> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78) >> at >> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57) >> at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) >> at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) >> at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) >> at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) >> at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) >> at org.junit.runners.ParentRunner.run(ParentRunner.java:363) >> at >> org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86) >> at >> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) >> at >> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:538) >> at >> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:760) >> at >> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:460) >> at >> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:206) >> >> The file in question has these as its first few lines: >> >> # de.tudarmstadt.ukp.dkpro.core.api.ner.type.NamedEntity | sofa | begin | >> end | >> value | identifier # de.tudarmstadt.ukp.dkpro.core.api.lexmorph.type.pos.POS >> | >> sofa | begin | end | PosValue | coarseValue # >> de.tudarmstadt.ukp.dkpro.core.api.syntax.type.dependency.Dependency | sofa | >> begin | end | DependencyType | flavor | >> AttachTo=de.tudarmstadt.ukp.dkpro.core.api.lexmorph.type.pos.POS >> #id=1 >> #text=Ms. Haag plays Elianti . >> 1-1 Ms. Sofa >> sofaNum: 1 >> sofaID: "_InitialView" >> mimeType: "text" >> sofaArray: <null> >> sofaString: "Ms. Haag plays Elianti . >> Rolls-Royce Motor Cars Inc. said it expects its U.S. sa..." >> sofaURI: <null> 0 3 B-PER >> B-de.tudarmstadt.ukp.dkpro.core.api.ner.type.NamedEntity_ NNP >> de.tudarmstadt.ukp.dkpro.core.api.lexmorph.type.pos.POS_ Sofa >> sofaNum: 1 >> sofaID: "_InitialView" >> mimeType: "text" >> sofaArray: <null> >> sofaString: "Ms. Haag plays Elianti . >> Rolls-Royce Motor Cars Inc. said it expects its U.S. sa..." >> sofaURI: <null> 0 14 SUBJ >> de.tudarmstadt.ukp.dkpro.core.api.syntax.type.dependency.Dependency_ 1-3 >> >> 1-2 Haag Sofa >> sofaNum: 1 >> sofaID: "_InitialView" >> mimeType: "text" >> sofaArray: <null> >> sofaString: "Ms. Haag plays Elianti . >> Rolls-Royce Motor Cars Inc. said it expects its U.S. sa..." >> sofaURI: <null> 4 8 I-PER >> I-de.tudarmstadt.ukp.dkpro.core.api.ner.type.NamedEntity_ NNP >> de.tudarmstadt.ukp.dkpro.core.api.lexmorph.type.pos.POS_ Sofa >> sofaNum: 1 >> sofaID: "_InitialView" >> mimeType: "text" >> sofaArray: <null> >> sofaString: "Ms. Haag plays Elianti . >> Rolls-Royce Motor Cars Inc. said it expects its U.S. sa..." >> sofaURI: <null> 4 14 SBJ >> de.tudarmstadt.ukp.dkpro.core.api.syntax.type.dependency.Dependency_ 1-3 >> >> >> ( wonder about the sofa string ending in "...") >> >> -Marshall >> >> >> On 1/17/2018 4:12 PM, Marshall Schor wrote: >>> I put in an exclude for the slf4j-log4j12, and went to the next issue: >>> >>> Tests in webanno-io-tsv fail. The first one is failing here: >>> WebAnnoTsv2ReaderWriterTest, line 65 (runPipeLine(reader, writer). >>> >>> It fails because it's updating an "end" value for an annotation that's >>> already >>> in the index, causing the message which follows. >>> UIMA normally recovers from these things, but a global flag was configured: >>> "uima.exception_when_fs_update_corrupts_index". >>> >>> System.getProperty("uima.exception_when_fs_update_corrupts_index") >>> (java.lang.String) true >>> >>> I can't see where this is being set, though. Any ideas? Is the updating >>> of the >>> annotation:end while the item is indexed, the way it is designed to work? >>> >>> -Marshall >>> === test ===================== >>> 2018-01-17 15:52:35 INFO WebannoTsv2Reader - Scanning >>> [file:/C:/au/gitClones/webanno/webanno-io-tsv/src/test/resources/tsv2/] >>> 2018-01-17 15:52:35 INFO WebannoTsv2Reader - Found [1] resources to be read >>> 2018-01-17 15:54:31 INFO WebannoTsv2Reader - 0 of 1: >>> file:/C:/au/gitClones/webanno/webanno-io-tsv/src/test/resources/tsv2/example2.tsv >>> 2018-01-17 15:54:31 WARN uima - While FS was in the index, the feature >>> "uima.tcas.Annotation:end", which is used as a key in one or more indexes, >>> was >>> modified >>> FS = "NamedEntity >>> sofa: _InitialView >>> begin: 0 >>> end: 3 >>> value: "PER" >>> identifier: <null>" >>> java.lang.Throwable >>> at >>> org.apache.uima.cas.impl.CASImpl.featModWhileInIndexReport(CASImpl.java:2985) >>> at >>> org.apache.uima.cas.impl.CASImpl.featModWhileInIndexReport(CASImpl.java:2977) >>> at >>> org.apache.uima.cas.impl.CASImpl.checkForInvalidFeatureSetting(CASImpl.java:2865) >>> at >>> org.apache.uima.cas.impl.CASImpl.setWithCheckAndJournal(CASImpl.java:1828) >>> at >>> org.apache.uima.cas.impl.FeatureStructureImplC._setIntValueNfcCJ(FeatureStructureImplC.java:684) >>> at >>> org.apache.uima.cas.impl.FeatureStructureImplC._setIntValueNfc(FeatureStructureImplC.java:460) >>> at org.apache.uima.jcas.tcas.Annotation.setEnd(Annotation.java:123) >>> at >>> de.tudarmstadt.ukp.clarin.webanno.tsv.WebannoTsv2Reader.createSpanAnnotation(WebannoTsv2Reader.java:506) >>> at >>> de.tudarmstadt.ukp.clarin.webanno.tsv.WebannoTsv2Reader.setAnnotations(WebannoTsv2Reader.java:176) >>> at >>> de.tudarmstadt.ukp.clarin.webanno.tsv.WebannoTsv2Reader.convertToCas(WebannoTsv2Reader.java:78) >>> at >>> de.tudarmstadt.ukp.clarin.webanno.tsv.WebannoTsv2Reader.getNext(WebannoTsv2Reader.java:547) >>> at >>> de.tudarmstadt.ukp.dkpro.core.api.io.JCasResourceCollectionReader_ImplBase.getNext(JCasResourceCollectionReader_ImplBase.java:36) >>> at >>> org.apache.uima.fit.pipeline.SimplePipeline.runPipeline(SimplePipeline.java:100) >>> at >>> de.tudarmstadt.ukp.clarin.webanno.tsv.WebAnnoTsv2ReaderWriterTest.test(WebAnnoTsv2ReaderWriterTest.java:65) >>> >