sebastianarnold/TeXoo

Rewrite BloomFilterEncoder without guava dependency

sebastianarnold opened this issue · 1 comments

BloomFilterEncoder requires our adapted version of com.google.common.hash.BitArrayBloomFilter. If guava dependency is overridden, this will fail:

ERROR de.datexis.service.etl.EtlAnnotators - Instantiation of [simple type, class de.datexis.encoder.impl.BloomEncoder] value failed: com.google.common.hash.BloomFilterStrategies$BitArray
org.nd4j.shade.jackson.databind.JsonMappingException: Instantiation of [simple type, class de.datexis.encoder.impl.BloomEncoder] value failed: com.google.common.hash.BloomFilterStrategies$BitArray
	at org.nd4j.shade.jackson.databind.deser.std.StdValueInstantiator.wrapException(StdValueInstantiator.java:396)
	at org.nd4j.shade.jackson.databind.deser.std.StdValueInstantiator.createUsingDefault(StdValueInstantiator.java:216)
	at org.nd4j.shade.jackson.databind.deser.BeanDeserializer.vanillaDeserialize(BeanDeserializer.java:241)
	at org.nd4j.shade.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:136)
	at org.nd4j.shade.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:3562)
	at org.nd4j.shade.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:2578)
	at de.datexis.annotator.AnnotatorFactory.fromXML(AnnotatorFactory.java:197)
	at de.datexis.annotator.AnnotatorFactory.fromXML(AnnotatorFactory.java:149)

The Bloom Encoder now lives in datexis namespace (60ce5b3) but is still a copy.