use of org.infinispan.marshall.core.EncoderRegistryImpl in project infinispan by infinispan.
the class EncoderRegistryFactory method construct.
@Override
public Object construct(String componentName) {
ClassLoader classLoader = globalConfiguration.classLoader();
EncoderRegistryImpl encoderRegistry = new EncoderRegistryImpl();
ClassAllowList classAllowList = embeddedCacheManager.getClassAllowList();
encoderRegistry.registerEncoder(IdentityEncoder.INSTANCE);
encoderRegistry.registerEncoder(UTF8Encoder.INSTANCE);
encoderRegistry.registerEncoder(new JavaSerializationEncoder(classAllowList));
encoderRegistry.registerEncoder(new GlobalMarshallerEncoder(globalMarshaller.wired()));
// Default and binary transcoder use the user marshaller to convert data to/from a byte array
encoderRegistry.registerTranscoder(new DefaultTranscoder(userMarshaller));
encoderRegistry.registerTranscoder(new BinaryTranscoder(userMarshaller));
// Core transcoders are always available
encoderRegistry.registerTranscoder(new ProtostreamTranscoder(ctxRegistry, classLoader));
encoderRegistry.registerTranscoder(new JavaSerializationTranscoder(classAllowList));
// Wraps the GlobalMarshaller so that it can be used as a transcoder
// Keeps application/x-infinispan-marshalling available for backwards compatibility
encoderRegistry.registerTranscoder(new TranscoderMarshallerAdapter(globalMarshaller.wired()));
// Make the user marshaller's media type available as well
// As custom marshaller modules like Kryo and Protostuff do not define their own transcoder
encoderRegistry.registerTranscoder(new TranscoderMarshallerAdapter(userMarshaller));
encoderRegistry.registerWrapper(ByteArrayWrapper.INSTANCE);
encoderRegistry.registerWrapper(IdentityWrapper.INSTANCE);
return encoderRegistry;
}
use of org.infinispan.marshall.core.EncoderRegistryImpl in project infinispan by infinispan.
the class TranscoderRegistrationTest method testTranscoderLookup.
public void testTranscoderLookup() {
EncoderRegistry encoderRegistry = new EncoderRegistryImpl();
TestTranscoder t1 = new TestTranscoder(MediaType.APPLICATION_JSON, MediaType.APPLICATION_OBJECT);
TestTranscoder t2 = new TestTranscoder(MediaType.APPLICATION_XML, MediaType.APPLICATION_OBJECT);
DefaultTranscoder t3 = new DefaultTranscoder(new JavaSerializationMarshaller());
encoderRegistry.registerTranscoder(t3);
encoderRegistry.registerTranscoder(t2);
encoderRegistry.registerTranscoder(t1);
assertEquals(encoderRegistry.getTranscoder(MediaType.TEXT_PLAIN, MediaType.APPLICATION_OBJECT), t3);
assertEquals(encoderRegistry.getTranscoder(MediaType.TEXT_PLAIN, MediaType.TEXT_PLAIN), t3);
assertEquals(encoderRegistry.getTranscoder(MediaType.TEXT_PLAIN, MediaType.APPLICATION_OBJECT), t3);
assertEquals(encoderRegistry.getTranscoder(MediaType.APPLICATION_OCTET_STREAM, MediaType.APPLICATION_OCTET_STREAM), t3);
assertEquals(encoderRegistry.getTranscoder(MediaType.APPLICATION_OBJECT, MediaType.APPLICATION_OBJECT), t3);
assertEquals(encoderRegistry.getTranscoder(MediaType.TEXT_PLAIN, MediaType.APPLICATION_OCTET_STREAM), t3);
assertNotFound(encoderRegistry, MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML);
assertNotFound(encoderRegistry, MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON);
assertEquals(encoderRegistry.getTranscoder(MediaType.APPLICATION_JSON, MediaType.APPLICATION_OBJECT), t1);
assertEquals(encoderRegistry.getTranscoder(MediaType.APPLICATION_OBJECT, MediaType.APPLICATION_JSON), t1);
assertEquals(encoderRegistry.getTranscoder(MediaType.APPLICATION_XML, MediaType.APPLICATION_OBJECT), t2);
assertEquals(encoderRegistry.getTranscoder(MediaType.APPLICATION_OBJECT, MediaType.APPLICATION_XML), t2);
assertEquals(encoderRegistry.getTranscoder(MediaType.APPLICATION_WWW_FORM_URLENCODED, MediaType.APPLICATION_WWW_FORM_URLENCODED), t3);
}
Aggregations