Search in sources :

Example 11 with Person

use of org.infinispan.test.data.Person in project infinispan by infinispan.

the class JsonKeyValueRawEventsTest method testReceiveKeyValuesAsJson.

public void testReceiveKeyValuesAsJson() throws InterruptedException {
    BlockingQueue<KeyValuePair<String, String>> eventsQueue = new LinkedBlockingQueue<>();
    DataFormat jsonValues = DataFormat.builder().valueType(APPLICATION_JSON).valueMarshaller(new UTF8StringMarshaller()).build();
    RemoteCache<String, Person> cache = remoteCacheManager.getCache();
    RemoteCache<String, String> jsonCache = cache.withDataFormat(jsonValues);
    jsonCache.addClientListener(new EventListener(eventsQueue, jsonCache.getDataFormat()));
    cache.put("1", new Person("John"));
    KeyValuePair<String, String> event = eventsQueue.poll(5, TimeUnit.SECONDS);
    assertNotNull(event);
    assertEquals(event.getKey(), "1");
    assertEquals(event.getValue(), "\n{\n   \"_type\": \"org.infinispan.test.core.Person\",\n   \"name\": \"John\",\n   \"birthDate\": 0,\n   \"accepted_tos\": false\n}\n");
}
Also used : KeyValuePair(org.infinispan.util.KeyValuePair) UTF8StringMarshaller(org.infinispan.commons.marshall.UTF8StringMarshaller) DataFormat(org.infinispan.client.hotrod.DataFormat) LinkedBlockingQueue(java.util.concurrent.LinkedBlockingQueue) Person(org.infinispan.test.data.Person)

Example 12 with Person

use of org.infinispan.test.data.Person in project infinispan by infinispan.

the class EmbeddedMultimapCacheTest method testGetAndModifyResults.

public void testGetAndModifyResults() {
    Person pepe = new Person("Pepe");
    await(multimapCache.put(NAMES_KEY, JULIEN).thenCompose(r1 -> multimapCache.put(NAMES_KEY, OIHANA)).thenCompose(r2 -> multimapCache.put(NAMES_KEY, RAMON)).thenCompose(r3 -> multimapCache.get(NAMES_KEY)).thenAccept(v -> {
        assertEquals(3, v.size());
        List<Person> modifiedList = new ArrayList<>(v);
        modifiedList.add(pepe);
        assertEquals(3, v.size());
        assertEquals(4, modifiedList.size());
    }));
    await(multimapCache.get(NAMES_KEY).thenAccept(v -> {
        assertFalse(v.contains(pepe));
        assertEquals(3, v.size());
    }));
}
Also used : EMPTY_KEY(org.infinispan.multimap.impl.MultimapTestUtils.EMPTY_KEY) SingleCacheManagerTest(org.infinispan.test.SingleCacheManagerTest) Person(org.infinispan.test.data.Person) MultimapCacheManager(org.infinispan.multimap.api.embedded.MultimapCacheManager) ConfigurationBuilder(org.infinispan.configuration.cache.ConfigurationBuilder) NAMES_KEY(org.infinispan.multimap.impl.MultimapTestUtils.NAMES_KEY) Test(org.testng.annotations.Test) JULIEN(org.infinispan.multimap.impl.MultimapTestUtils.JULIEN) AssertJUnit.assertTrue(org.testng.AssertJUnit.assertTrue) ArrayList(java.util.ArrayList) EmbeddedCacheManager(org.infinispan.manager.EmbeddedCacheManager) NULL_USER(org.infinispan.multimap.impl.MultimapTestUtils.NULL_USER) Exceptions.expectException(org.infinispan.commons.test.Exceptions.expectException) OIHANA(org.infinispan.multimap.impl.MultimapTestUtils.OIHANA) NULL_KEY(org.infinispan.multimap.impl.MultimapTestUtils.NULL_KEY) CacheEntry(org.infinispan.container.entries.CacheEntry) Predicate(java.util.function.Predicate) Collection(java.util.Collection) FunctionalTestUtils.await(org.infinispan.functional.FunctionalTestUtils.await) AssertJUnit.assertFalse(org.testng.AssertJUnit.assertFalse) MultimapTestUtils.putValuesOnMultimapCache(org.infinispan.multimap.impl.MultimapTestUtils.putValuesOnMultimapCache) KOLDO(org.infinispan.multimap.impl.MultimapTestUtils.KOLDO) PEPE(org.infinispan.multimap.impl.MultimapTestUtils.PEPE) List(java.util.List) MultimapCache(org.infinispan.multimap.api.embedded.MultimapCache) RAMON(org.infinispan.multimap.impl.MultimapTestUtils.RAMON) EmbeddedMultimapCacheManagerFactory(org.infinispan.multimap.api.embedded.EmbeddedMultimapCacheManagerFactory) TestCacheManagerFactory(org.infinispan.test.fwk.TestCacheManagerFactory) AssertJUnit.assertEquals(org.testng.AssertJUnit.assertEquals) ArrayList(java.util.ArrayList) List(java.util.List) Person(org.infinispan.test.data.Person)

Example 13 with Person

use of org.infinispan.test.data.Person in project infinispan by infinispan.

the class MultimapStoreBucketTest method testMultimapWithJavaSerializationMarshaller.

public void testMultimapWithJavaSerializationMarshaller() throws Exception {
    GlobalConfigurationBuilder globalBuilder = new GlobalConfigurationBuilder().nonClusteredDefault();
    globalBuilder.defaultCacheName("test");
    globalBuilder.serialization().marshaller(new JavaSerializationMarshaller()).allowList().addClass(SuperPerson.class.getName());
    ConfigurationBuilder config = new ConfigurationBuilder();
    config.persistence().addStore(DummyInMemoryStoreConfigurationBuilder.class);
    EmbeddedCacheManager cm = TestCacheManagerFactory.createCacheManager(globalBuilder, config);
    MultimapCacheManager<String, Person> multimapCacheManager = EmbeddedMultimapCacheManagerFactory.from(cm);
    MultimapCache<String, Person> multimapCache = multimapCacheManager.get("test");
    multimapCache.put("k1", new SuperPerson());
    PersistenceMarshallerImpl pm = TestingUtil.extractPersistenceMarshaller(cm);
    DelegatingUserMarshaller userMarshaller = (DelegatingUserMarshaller) pm.getUserMarshaller();
    assertTrue(userMarshaller.getDelegate() instanceof JavaSerializationMarshaller);
    assertTrue(pm.getSerializationContext().canMarshall(Bucket.class));
    assertTrue(multimapCache.containsKey("k1").get(1, TimeUnit.SECONDS));
}
Also used : GlobalConfigurationBuilder(org.infinispan.configuration.global.GlobalConfigurationBuilder) ConfigurationBuilder(org.infinispan.configuration.cache.ConfigurationBuilder) GlobalConfigurationBuilder(org.infinispan.configuration.global.GlobalConfigurationBuilder) DummyInMemoryStoreConfigurationBuilder(org.infinispan.persistence.dummy.DummyInMemoryStoreConfigurationBuilder) DelegatingUserMarshaller(org.infinispan.marshall.core.impl.DelegatingUserMarshaller) PersistenceMarshallerImpl(org.infinispan.marshall.persistence.impl.PersistenceMarshallerImpl) EmbeddedCacheManager(org.infinispan.manager.EmbeddedCacheManager) Person(org.infinispan.test.data.Person) JavaSerializationMarshaller(org.infinispan.commons.marshall.JavaSerializationMarshaller)

Example 14 with Person

use of org.infinispan.test.data.Person in project infinispan by infinispan.

the class DataConversionTest method testObjectEncoder.

@Test
public void testObjectEncoder() {
    GenericJbossMarshallerEncoder encoder = new GenericJbossMarshallerEncoder(org.infinispan.dataconversion.DataConversionTest.class.getClassLoader());
    withCacheManager(new CacheManagerCallable(createCacheManager(new ConfigurationBuilder())) {

        GenericJBossMarshaller marshaller = new GenericJBossMarshaller();

        private byte[] marshall(Object o) {
            try {
                return marshaller.objectToByteBuffer(o);
            } catch (IOException | InterruptedException e) {
                throw new AssertionError("Cannot marshall content", e);
            }
        }

        @Override
        public void call() {
            GlobalComponentRegistry registry = cm.getGlobalComponentRegistry();
            EncoderRegistry encoderRegistry = registry.getComponent(EncoderRegistry.class);
            encoderRegistry.registerEncoder(encoder);
            cm.getClassAllowList().addClasses(Person.class);
            Cache<byte[], byte[]> cache = cm.getCache();
            // Write encoded content to the cache
            Person key1 = new Person("key1");
            Person value1 = new Person("value1");
            byte[] encodedKey1 = marshall(key1);
            byte[] encodedValue1 = marshall(value1);
            cache.put(encodedKey1, encodedValue1);
            // Read encoded content
            assertEquals(cache.get(encodedKey1), encodedValue1);
            // Read with a different valueEncoder
            AdvancedCache<Person, Person> encodingCache = (AdvancedCache<Person, Person>) cache.getAdvancedCache().withEncoding(GenericJbossMarshallerEncoder.class);
            assertEquals(encodingCache.get(key1), value1);
        }
    });
}
Also used : ConfigurationBuilder(org.infinispan.configuration.cache.ConfigurationBuilder) GlobalComponentRegistry(org.infinispan.factories.GlobalComponentRegistry) GenericJBossMarshaller(org.infinispan.jboss.marshalling.commons.GenericJBossMarshaller) CacheManagerCallable(org.infinispan.test.CacheManagerCallable) EncoderRegistry(org.infinispan.marshall.core.EncoderRegistry) AdvancedCache(org.infinispan.AdvancedCache) Person(org.infinispan.test.data.Person) Cache(org.infinispan.Cache) AdvancedCache(org.infinispan.AdvancedCache) Test(org.testng.annotations.Test)

Example 15 with Person

use of org.infinispan.test.data.Person in project infinispan by infinispan.

the class MigratorConfigurationTest method testInfinipsan8MarshallerAndExternalizersLoaded.

public void testInfinipsan8MarshallerAndExternalizersLoaded() throws Exception {
    String externalizers = String.format("%d:%s", 1, PersonExternalizer.class.getName());
    Properties properties = createBaseProperties();
    properties.put(propKey(SOURCE, VERSION), String.valueOf(8));
    properties.put(propKey(SOURCE, MARSHALLER, EXTERNALIZERS), externalizers);
    StoreProperties props = new StoreProperties(SOURCE, properties);
    Marshaller marshaller = SerializationConfigUtil.getMarshaller(props);
    assertNotNull(marshaller);
    assertTrue(marshaller instanceof Infinispan8Marshaller);
    byte[] bytes = new byte[] { 3, 1, -2, 3, -1, 1, 1 };
    Object object = marshaller.objectFromByteBuffer(bytes);
    assertNotNull(object);
    assertTrue(object instanceof Person);
    assertEquals(1, externalizerReadCount.get());
}
Also used : Infinispan8Marshaller(org.infinispan.tools.store.migrator.marshaller.infinispan8.Infinispan8Marshaller) Infinispan8Marshaller(org.infinispan.tools.store.migrator.marshaller.infinispan8.Infinispan8Marshaller) Infinispan9Marshaller(org.infinispan.tools.store.migrator.marshaller.infinispan9.Infinispan9Marshaller) GenericJBossMarshaller(org.infinispan.jboss.marshalling.commons.GenericJBossMarshaller) PersistenceMarshaller(org.infinispan.marshall.persistence.PersistenceMarshaller) DelegatingUserMarshaller(org.infinispan.marshall.core.impl.DelegatingUserMarshaller) Marshaller(org.infinispan.commons.marshall.Marshaller) Properties(java.util.Properties) Person(org.infinispan.test.data.Person)

Aggregations

Person (org.infinispan.test.data.Person)42 ConfigurationBuilder (org.infinispan.configuration.cache.ConfigurationBuilder)10 Test (org.testng.annotations.Test)10 Address (org.infinispan.test.data.Address)9 EmbeddedCacheManager (org.infinispan.manager.EmbeddedCacheManager)8 Marshaller (org.infinispan.commons.marshall.Marshaller)5 PersistenceMarshaller (org.infinispan.marshall.persistence.PersistenceMarshaller)5 TransactionManager (javax.transaction.TransactionManager)4 Cache (org.infinispan.Cache)4 GlobalConfigurationBuilder (org.infinispan.configuration.global.GlobalConfigurationBuilder)4 FunctionalTestUtils.await (org.infinispan.functional.FunctionalTestUtils.await)4 AssertJUnit.assertTrue (org.testng.AssertJUnit.assertTrue)4 BeforeClass (org.testng.annotations.BeforeClass)4 Properties (java.util.Properties)3 AdvancedCache (org.infinispan.AdvancedCache)3 GenericJBossMarshaller (org.infinispan.jboss.marshalling.commons.GenericJBossMarshaller)3 DelegatingUserMarshaller (org.infinispan.marshall.core.impl.DelegatingUserMarshaller)3 CacheManagerCallable (org.infinispan.test.CacheManagerCallable)3 String.format (java.lang.String.format)2 ArrayList (java.util.ArrayList)2