I'm test driving atlasmap in a camel route. I have created a very simple test input xml file, an adm file, and a route. I get an exception.
public class ImportRoute extends RouteBuilder {
@Override
public void configure() throws Exception {
from(file("/edi/test/test_file_origin/").include("^.*\\.xml$"))
.autoStartup(true)
.to(
atlasmap("mapping/xml_to_json.adm")
)
.to(log("Done"));
}
}
test.xml
@ '"/edi/test/test_file_origin/"':
<test>
<id>3</id>
</test>
My exception:
io.atlasmap.api.AtlasException: com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "id" (class io.atlasmap.v2.DataSourceMetadata), not marked as ignorable (8 known properties: "documentType", "documentId", "name", "inspectionType", "dataSourceType", "isSource", "source", "inspectionParameters"])
at [Source: (GZIPInputStream); line: 1, column: 2083] (through reference chain: io.atlasmap.v2.ADMDigest["exportMeta"]->java.lang.Object[][0]->io.atlasmap.v2.DataSourceMetadata["id"])
at io.atlasmap.core.ADMArchiveHandler.getDataSourceMetadataMap(ADMArchiveHandler.java:327)
at io.atlasmap.core.DefaultAtlasContext.<init>(DefaultAtlasContext.java:119)
at io.atlasmap.core.DefaultAtlasContextFactory.createContext(DefaultAtlasContextFactory.java:191)
at org.apache.camel.component.atlasmap.AtlasMapEndpoint.getOrCreateAtlasContext(AtlasMapEndpoint.java:253)
at org.apache.camel.component.atlasmap.AtlasMapEndpoint.onExchange(AtlasMapEndpoint.java:198)
at org.apache.camel.support.ProcessorEndpoint$1.process(ProcessorEndpoint.java:61)
at org.apache.camel.support.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:66)
at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:169)
at org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$SimpleTask.run(RedeliveryErrorHandler.java:395)
at org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.schedule(DefaultReactiveExecutor.java:148)
at org.apache.camel.impl.engine.DefaultReactiveExecutor.scheduleMain(DefaultReactiveExecutor.java:60)
at org.apache.camel.processor.Pipeline.process(Pipeline.java:147)
at org.apache.camel.impl.engine.CamelInternalProcessor.process(CamelInternalProcessor.java:312)
at org.apache.camel.component.file.GenericFileConsumer.processExchange(GenericFileConsumer.java:483)
at org.apache.camel.component.file.GenericFileConsumer.processBatch(GenericFileConsumer.java:237)
at org.apache.camel.component.file.GenericFileConsumer.poll(GenericFileConsumer.java:198)
at org.apache.camel.support.ScheduledPollConsumer.doRun(ScheduledPollConsumer.java:190)
at org.apache.camel.support.ScheduledPollConsumer.run(ScheduledPollConsumer.java:107)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305)
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
at java.base/java.lang.Thread.run(Thread.java:831)
Caused by: com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "id" (class io.atlasmap.v2.DataSourceMetadata), not marked as ignorable (8 known properties: "documentType", "documentId", "name", "inspectionType", "dataSourceType", "isSource", "source", "inspectionParameters"])
at [Source: (GZIPInputStream); line: 1, column: 2083] (through reference chain: io.atlasmap.v2.ADMDigest["exportMeta"]->java.lang.Object[][0]->io.atlasmap.v2.DataSourceMetadata["id"])
at com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException.from(UnrecognizedPropertyException.java:61)
at com.fasterxml.jackson.databind.DeserializationContext.handleUnknownProperty(DeserializationContext.java:855)
at com.fasterxml.jackson.databind.deser.std.StdDeserializer.handleUnknownProperty(StdDeserializer.java:1212)
at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.handleUnknownProperty(BeanDeserializerBase.java:1604)
at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.handleUnknownVanilla(BeanDeserializerBase.java:1582)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.vanillaDeserialize(BeanDeserializer.java:299)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:156)
at com.fasterxml.jackson.databind.deser.std.ObjectArrayDeserializer.deserialize(ObjectArrayDeserializer.java:195)
at com.fasterxml.jackson.databind.deser.std.ObjectArrayDeserializer.deserialize(ObjectArrayDeserializer.java:21)
at com.fasterxml.jackson.databind.deser.impl.MethodProperty.deserializeAndSet(MethodProperty.java:129)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.vanillaDeserialize(BeanDeserializer.java:293)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:156)
at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4526)
at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3505)
at io.atlasmap.core.ADMArchiveHandler.getDataSourceMetadataMap(ADMArchiveHandler.java:315)
Is Jackson possibly configured incorrectly somewhere else in the project? Ultimately, I want to map the json output of the adm file to a Java object, which I would persist via JPA.