Skip to content

setreplace does not work with filemap #381

@TobiasNx

Description

@TobiasNx

It seems that setreplace is not working with a externalfile via filemap:
I have set up a simple case:

https://github.com/TobiasNx/notWorkingFlux/tree/main/setreplaceWithFile

<?xml version="1.0" encoding="UTF-8"?>
<metamorph xmlns="http://www.culturegraph.org/metamorph" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	version="1">
	<rules>
		<data source="name">
			<setreplace map="replace" />
		</data>
	</rules>
	<maps>
		<filemap name="replace" files="replaceAcademicTitle.tsv" />
	</maps>
</metamorph>

I receive following error message:

Exception in thread "main" org.metafacture.metamorph.MetamorphException: Error while executing the Metamorph transformation pipeline: null
        at org.metafacture.metamorph.DefaultErrorHandler.error(DefaultErrorHandler.java:33)
        at org.metafacture.metamorph.Metamorph.send(Metamorph.java:361)
        at org.metafacture.metamorph.Metamorph.dispatch(Metamorph.java:322)
        at org.metafacture.metamorph.Metamorph.access$000(Metamorph.java:68)
        at org.metafacture.metamorph.Metamorph$1.literal(Metamorph.java:205)
        at org.metafacture.mangling.StreamFlattener.literal(StreamFlattener.java:105)
        at org.metafacture.metamorph.Metamorph.literal(Metamorph.java:297)
        at org.metafacture.json.JsonDecoder.decodeValue(JsonDecoder.java:193)
        at org.metafacture.json.JsonDecoder.decodeObject(JsonDecoder.java:162)
        at org.metafacture.json.JsonDecoder.decode(JsonDecoder.java:146)
        at org.metafacture.json.JsonDecoder.process(JsonDecoder.java:110)
        at org.metafacture.json.JsonDecoder.process(JsonDecoder.java:33)
        at org.metafacture.io.RecordReader.emitRecord(RecordReader.java:111)
        at org.metafacture.io.RecordReader.process(RecordReader.java:100)
        at org.metafacture.io.RecordReader.process(RecordReader.java:39)
        at org.metafacture.io.FileOpener.process(FileOpener.java:100)
        at org.metafacture.io.FileOpener.process(FileOpener.java:40)
        at org.metafacture.flux.parser.StringSender.process(StringSender.java:38)
        at org.metafacture.flux.parser.Flow.start(Flow.java:110)
        at org.metafacture.flux.parser.FluxProgramm.start(FluxProgramm.java:156)
        at org.metafacture.runner.Flux.main(Flux.java:79)
Caused by: java.lang.UnsupportedOperationException
        at org.metafacture.metamorph.api.helpers.AbstractReadOnlyMap.entrySet(AbstractReadOnlyMap.java:85)
        at org.metafacture.commons.tries.SetReplacer.addReplacements(SetReplacer.java:38)
        at org.metafacture.metamorph.functions.SetReplace.process(SetReplace.java:32)
        at org.metafacture.metamorph.api.helpers.AbstractSimpleStatelessFunction.receive(AbstractSimpleStatelessFunction.java:35)
        at org.metafacture.metamorph.Data.receive(Data.java:36)
        at org.metafacture.metamorph.Metamorph.send(Metamorph.java:359)
        ... 19 more

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions