What does this error mean in UIMA Ruta based project? - uima

Receiving this call when I run my project it is a fact extraction tool named SalIE on GitHub. Need help on how to fix this error. Seems like a version issue with something but unknown. The below error causes the tool to fail and not work further.
Aug 17, 2021 11:34:21 AM org.apache.uima.internal.util.XMLUtils createSaxTransformerFactory(614)
[error] WARNING: SAXTransformerFactory didn't recognize setting attribute http://javax.xml.XMLConstants/property/accessExternalDTD
[error] Aug 17, 2021 11:34:21 AM org.apache.uima.internal.util.XMLUtils createSaxTransformerFactory(621)
[error] WARNING: SAXTransformerFactory didn't recognize setting attribute http://javax.xml.XMLConstants/property/accessExternalStylesheet
[error] Aug 17, 2021 11:34:22 AM de.tudarmstadt.ukp.dkpro.core.api.io.ResourceCollectionReaderBase scan(422)

I see you are using dkpro. This is how I call dkpro from my ruta script. This might help you. The imports make those annotation types available in the rest of the script.
Oh and be careful about which versions you use together. See this answer
IMPORT PACKAGE de.tudarmstadt.ukp.dkpro.core.api.lexmorph.type.pos
FROM desc.type.POS AS pos;
IMPORT de.tudarmstadt.ukp.dkpro.core.api.segmentation.type.Lemma
FROM desc.type.LexicalUnits;
IMPORT de.tudarmstadt.ukp.dkpro.core.api.segmentation.type.Token
FROM desc.type.LexicalUnits_customized;
IMPORT de.tudarmstadt.ukp.dkpro.core.api.segmentation.type.Sentence
FROM desc.type.LexicalUnits_customized;
IMPORT PACKAGE de.tudarmstadt.ukp.dkpro.core.api.syntax.type.dependency
FROM desc.type.Dependency AS dep;
IMPORT de.tudarmstadt.ukp.dkpro.core.type.ReadabilityScore
FROM desc.type.ReadabilityScore;
IMPORT de.tudarmstadt.ukp.dkpro.core.api.metadata.type.TagsetDescription
FROM desc.type.metadata;
UIMAFIT org.dkpro.core.opennlp.OpenNlpSegmenter;
UIMAFIT org.dkpro.core.tokit.ParagraphSplitter;
UIMAFIT org.dkpro.core.opennlp.OpenNlpPosTagger;
UIMAFIT org.dkpro.core.corenlp.CoreNlpLemmatizer;
UIMAFIT org.dkpro.core.maltparser.MaltParser;
UIMAFIT org.dkpro.core.readability.ReadabilityAnnotator;
//NLP ANNOTATIONS
uima.tcas.DocumentAnnotation{-CONTAINS(pos.POS)} -> {
uima.tcas.DocumentAnnotation{-> SETFEATURE("language", "en")};
EXEC(OpenNlpSegmenter);
EXEC(ParagraphSplitter);
EXEC(OpenNlpPosTagger);
EXEC(CoreNlpLemmatizer);
EXEC(MaltParser);
EXEC(ReadabilityAnnotator);
};

Related

Upgrade to cordova-android 11: Plugin cordova-plugin-video-editor will not work anymore

I just updating my ionic project to Cordova Android 11 (because of android-targetSdkVersion which must be > 30 this fall).
Seems that good old plugin cordova-plugin-video-editor will not work anymore when building the project:
import net.ypresto.androidtranscoder.MediaTranscoder;
^
/Users/olivierschmid/AppDev/b2c-customer-app/platforms/android/app/src/main/java/org/apache/cordova/videoeditor/CustomAndroidFormatStrategy.java:6: error: package net.ypresto.androidtranscoder.format does not exist
import net.ypresto.androidtranscoder.format.MediaFormatStrategy;
^
/Users/olivierschmid/AppDev/b2c-customer-app/platforms/android/app/src/main/java/org/apache/cordova/videoeditor/CustomAndroidFormatStrategy.java:7: error: package net.ypresto.androidtranscoder.format does not exist
import net.ypresto.androidtranscoder.format.OutputFormatUnavailableException;
^
/Users/olivierschmid/AppDev/b2c-customer-app/platforms/android/app/src/main/java/org/apache/cordova/videoeditor/CustomAndroidFormatStrategy.java:14: error: cannot find symbol
public class CustomAndroidFormatStrategy implements MediaFormatStrategy {
Does someone have a tipp what alternative I can try (for compressing videos)? There seem not to be many options?
Thanks! Oli
Have you already tried adding "cordova-plugin-androidx-adapter"?

NoSuchMethodError on com.fasterxml.jackson.dataformat.xml.XmlMapper.coercionConfigDefaults()

I'm parsing a XML string to convert it to a JsonNode in Scala using a XmlMapper from the Jackson library. I code on a Databricks notebook, so compilation is done on a cloud cluster. When compiling my code I got this error java.lang.NoSuchMethodError: com.fasterxml.jackson.dataformat.xml.XmlMapper.coercionConfigDefaults()Lcom/fasterxml/jackson/databind/cfg/MutableCoercionConfig; with a hundred lines of "at com.databricks. ..."
I maybe forget to import something but for me this is ok (tell me if I'm wrong) :
import ch.qos.logback.classic._
import com.typesafe.scalalogging._
import com.fasterxml.jackson._
import com.fasterxml.jackson.core._
import com.fasterxml.jackson.databind.{ObjectMapper, JsonNode}
import com.fasterxml.jackson.dataformat.xml._
import com.fasterxml.jackson.module.scala._
import com.fasterxml.jackson.module.scala.experimental.ScalaObjectMapper
import java.io._
import java.time.Instant
import java.util.concurrent.TimeUnit
import javax.xml.parsers._
import okhttp3.{Headers, OkHttpClient, Request, Response, RequestBody, FormBody}
import okhttp3.OkHttpClient.Builder._
import org.apache.spark._
import org.xml.sax._
As I'm using Databricks, there's no SBT file for dependencies. Instead I installed the libs I need directly on the cluster. Here are the ones I'm using :
com.squareup.okhttp:okhttp:2.7.5
com.squareup.okhttp3:okhttp:4.9.0
com.squareup.okhttp3:okhttp:3.14.9
org.scala-lang.modules:scala-swing_3:3.0.0
ch.qos.logback:logback-classic:1.2.6
com.typesafe:scalalogging-slf4j_2.10:1.1.0
cc.spray.json:spray-json_2.9.1:1.0.1
com.fasterxml.jackson.module:jackson-module-scala_3:2.13.0
javax.xml.parsers:jaxp-api:1.4.5
org.xml.sax:2.0.1
The code causing the error is simply (coming from here : https://www.baeldung.com/jackson-convert-xml-json Chapter 5):
val xmlMapper: XmlMapper = new XmlMapper()
val jsonNode: JsonNode = xmlMapper.readTree(responseBody.getBytes())
with responseBody being a String containing a XML document (I previously checked the integrity of the XML). When removing those two lines the code is working fine.
I've read tons of articles or forums but I can't figure out what's causing my issue. Can someone please help me ? Thanks a lot ! :)
Welcome to dependency hell and breaking changes in libraries.
This usually happens, when various lib bring in different version of same lib. In this case it is Jackson.
java.lang.NoSuchMethodError: com.fasterxml.jackson.dataformat.xml.XmlMapper.coercionConfigDefaults()Lcom/fasterxml/jackson/databind/cfg/MutableCoercionConfig; means: One lib probably require Jackson version, which has this method, but on class path is version, which does not yet have this funcion or got removed bcs was deprecated or renamed.
In case like this is good to print dependency tree and check version of Jackson required in libs. And if possible use newer versions of requid libs.
Solution: use libs, which use compatible versions of Jackson lib. No other shortcut possible.
upgrading to 2.12.5 version fixed my issue.
this issue may also appear when there are multiple versions of jackson jars in project lib directory. you should remove the older versions.

Can't find LineGraphView, GraphViewSeries, GraphViewData

I'm starting to work with GraphView 4.2.2. I found some examples that use the following imports:
import com.jjoe64.graphview.GraphView.GraphViewData;
import com.jjoe64.graphview.GraphViewSeries;
import com.jjoe64.graphview.LineGraphView;
However, in my implementation (gradle 4.7, sdk 27), the symbols can't be resolved.
What am I missing? Are these classes no longer supported in GraphView 4.2.2. ?
Do I need to downgrade?
Add this line into the dependencies block of the "build.gradle" file under your app directory :
implementation 'com.jjoe64:graphview:4.2.2'

Error when compiling custom OpenDaylight API

I am trying to create a custom API based on an API tutorial on https://wiki.opendaylight.org/view/OpenDaylight_Controller:MD-SAL:Startup_Project_Archetype
Tools: OpenDaylight Lithium, Eclipse, Maven 3.3.9
I am able to compile the folder in api but not in impl (FlowImpl.java).
This is the error message:
[INFO] Starting audit...
/home/shaoxu/Desktop/distribution-karaf-0.3.3-Lithium-SR3/flow/impl/src/main/java/org/opendaylight/flow/impl/FlowImpl.java:1: Line does not match expected header line of '^/[*]+$'.
Audit done.
[INFO] There is 1 error reported by Checkstyle 6.2 with check-license.xml ruleset.
[ERROR] src/main/java/org/opendaylight/flow/impl/FlowImpl.java[1] (header) RegexpHeader: Line does not match expected header line of '^/[*]+$'.
There is no error message in Eclipse.
This is the source code:
package org.opendaylight.flow.impl;
import java.util.concurrent.Future;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.flow.rev150105.FlowService;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.flow.rev150105.FlowPathInput;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.flow.rev150105.FlowPathOutput;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.flow.rev150105.FlowPathOutputBuilder;
import org.opendaylight.yangtools.yang.common.RpcResult;
import org.opendaylight.yangtools.yang.common.RpcResultBuilder;
public class FlowImpl implements FlowService {
#Override
public Future<RpcResult<FlowPathOutput>> flowPath(FlowPathInput input) {
FlowPathOutputBuilder flowBuilder = new FlowPathOutputBuilder();
flowBuilder.setPath(input.getNodes());
return RpcResultBuilder.success(flowBuilder.build()).buildFuture();
}
}
What is the error?
The error you're getting is caused by an enforced format for a copyright/license header at the start of every file in OpenDaylight:
/*
* Copyright (c) 2016 ... and others. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v1.0 which accompanies this distribution,
* and is available at http://www.eclipse.org/legal/epl-v10.html
*/
If you used the archetype, this header should have been generated for you. There are two ways of fixing the problem: either add the license header as above (if you're happy with the license), or disable the license check — if you want to do the latter, edit your question and add the POM you're using for impl so I can explain how to go about it.
You mention you're using Lithium, I'd strongly recommend switching to Beryllium or even Boron for new development. The wiki pages are currently mostly up-to-date for Beryllium.
In my Beryllium, I usually skip checkstyle tests when running my build. Add -Dcheckstyle.skip=true parameter to your command to do the maven build.

NestableException cannot be resolved when using apache.commons.configuration

Im using the following:
import java.util.Collections;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import org.apache.commons.configuration.XMLConfiguration;
and i get:
The type org.apache.commons.lang.exception.NestableException cannot be resolved. It is indirectly referenced from required .class files
Im using eclipse...
how can i resolve this? he offers me to Configure build path but i dont really know how to solve this collision from there.....
Problem solved...
had to download the commons-lang-2.4.jar and include in project.
couldnt be more simple than that....
Sounds like what is really needed is an update to the PropertiesConfiguration lib so that it gets along with latest lang lib. If its a "free" lib then it might not be coming, considering that its been years since last reply on this thread and this is still happening.
I have been having this issue as well, and have not found a way of resolving it apart from the aforementioned inclusion of both lang libs ... which does not seem to present any problems, though strict repository framework implementations (like Maven) might have problems with both libs included.
Had to remove commons-lang3-3.4 from my Java Build Path and added 2.6 , it solved the problem!