Search in sources :

Example 51 with IMap

use of com.hazelcast.map.IMap in project hazelcast by hazelcast.

the class MapTransactionTest method testDelete.

@Test
public void testDelete() throws TransactionException {
    Config config = getConfig();
    final TestHazelcastInstanceFactory factory = createHazelcastInstanceFactory(2);
    final HazelcastInstance h1 = factory.newHazelcastInstance(config);
    final HazelcastInstance h2 = factory.newHazelcastInstance(config);
    final IMap map1 = h1.getMap("default");
    final IMap map2 = h2.getMap("default");
    map2.put("1", "1");
    map2.put("2", "2");
    boolean b = h1.executeTransaction(options, new TransactionalTask<Boolean>() {

        public Boolean execute(TransactionalTaskContext context) throws TransactionException {
            final TransactionalMap<Object, Object> txMap = context.getMap("default");
            txMap.put("3", "3");
            map2.put("4", "4");
            txMap.delete("1");
            map2.delete("2");
            assertEquals("1", map1.get("1"));
            assertNull(txMap.get("1"));
            txMap.delete("2");
            assertEquals(2, txMap.size());
            return true;
        }
    });
    assertTrue(b);
    assertNull(map1.get("1"));
    assertNull(map2.get("1"));
    assertNull(map1.get("2"));
    assertNull(map2.get("2"));
    assertEquals("3", map1.get("3"));
    assertEquals("3", map2.get("3"));
    assertEquals("4", map1.get("4"));
    assertEquals("4", map2.get("4"));
}
Also used : TransactionalMap(com.hazelcast.transaction.TransactionalMap) IMap(com.hazelcast.map.IMap) HazelcastInstance(com.hazelcast.core.HazelcastInstance) TransactionException(com.hazelcast.transaction.TransactionException) MapStoreConfig(com.hazelcast.config.MapStoreConfig) Config(com.hazelcast.config.Config) TransactionalTaskContext(com.hazelcast.transaction.TransactionalTaskContext) AtomicBoolean(java.util.concurrent.atomic.AtomicBoolean) TestHazelcastInstanceFactory(com.hazelcast.test.TestHazelcastInstanceFactory) ParallelJVMTest(com.hazelcast.test.annotation.ParallelJVMTest) QuickTest(com.hazelcast.test.annotation.QuickTest) NightlyTest(com.hazelcast.test.annotation.NightlyTest) Test(org.junit.Test)

Example 52 with IMap

use of com.hazelcast.map.IMap in project hazelcast by hazelcast.

the class MapTransactionTest method testSet.

// =================== set ===============================
@Test
public void testSet() throws TransactionException {
    Config config = getConfig();
    final TestHazelcastInstanceFactory factory = createHazelcastInstanceFactory(2);
    final HazelcastInstance h1 = factory.newHazelcastInstance(config);
    final HazelcastInstance h2 = factory.newHazelcastInstance(config);
    final IMap map1 = h1.getMap("default");
    final IMap map2 = h2.getMap("default");
    boolean b = h1.executeTransaction(options, new TransactionalTask<Boolean>() {

        public Boolean execute(TransactionalTaskContext context) throws TransactionException {
            final TransactionalMap<Object, Object> txMap = context.getMap("default");
            txMap.set("1", "value");
            txMap.set("1", "value2");
            assertEquals("value2", txMap.get("1"));
            assertNull(map1.get("1"));
            assertNull(map1.get("2"));
            assertEquals(1, txMap.size());
            return true;
        }
    });
    assertTrue(b);
    assertEquals("value2", map1.get("1"));
    assertEquals("value2", map2.get("1"));
}
Also used : TransactionalMap(com.hazelcast.transaction.TransactionalMap) IMap(com.hazelcast.map.IMap) HazelcastInstance(com.hazelcast.core.HazelcastInstance) TransactionException(com.hazelcast.transaction.TransactionException) MapStoreConfig(com.hazelcast.config.MapStoreConfig) Config(com.hazelcast.config.Config) TransactionalTaskContext(com.hazelcast.transaction.TransactionalTaskContext) AtomicBoolean(java.util.concurrent.atomic.AtomicBoolean) TestHazelcastInstanceFactory(com.hazelcast.test.TestHazelcastInstanceFactory) ParallelJVMTest(com.hazelcast.test.annotation.ParallelJVMTest) QuickTest(com.hazelcast.test.annotation.QuickTest) NightlyTest(com.hazelcast.test.annotation.NightlyTest) Test(org.junit.Test)

Example 53 with IMap

use of com.hazelcast.map.IMap in project hazelcast by hazelcast.

the class MapTransactionTest method testKeySet_whenPortableKeysetAndValuesWithPredicates.

@Test
public void testKeySet_whenPortableKeysetAndValuesWithPredicates() throws Exception {
    final String mapName = randomString();
    final Config config = getConfig();
    config.getSerializationConfig().addPortableFactory(666, new PortableFactory() {

        public Portable create(int classId) {
            return new SampleTestObjects.PortableEmployee();
        }
    });
    final HazelcastInstance instance = createHazelcastInstance(config);
    IMap map = instance.getMap(mapName);
    final SampleTestObjects.PortableEmployee emp1 = new SampleTestObjects.PortableEmployee(34, "abc-123-xvz");
    final SampleTestObjects.PortableEmployee emp2 = new SampleTestObjects.PortableEmployee(20, "abc-123-xvz");
    map.put(emp1, emp1);
    final TransactionContext context = instance.newTransactionContext();
    context.beginTransaction();
    final TransactionalMap txMap = context.getMap(mapName);
    assertNull(txMap.put(emp2, emp2));
    assertEquals(2, txMap.size());
    assertEquals(2, txMap.keySet().size());
    assertEquals(0, txMap.keySet(Predicates.sql("a = 10")).size());
    assertEquals(0, txMap.values(Predicates.sql("a = 10")).size());
    assertEquals(2, txMap.keySet(Predicates.sql("a >= 10")).size());
    assertEquals(2, txMap.values(Predicates.sql("a >= 10")).size());
    context.commitTransaction();
    assertEquals(2, map.size());
    assertEquals(2, map.values().size());
}
Also used : TransactionalMap(com.hazelcast.transaction.TransactionalMap) Portable(com.hazelcast.nio.serialization.Portable) IMap(com.hazelcast.map.IMap) HazelcastInstance(com.hazelcast.core.HazelcastInstance) MapStoreConfig(com.hazelcast.config.MapStoreConfig) Config(com.hazelcast.config.Config) TransactionContext(com.hazelcast.transaction.TransactionContext) SampleTestObjects(com.hazelcast.query.SampleTestObjects) PortableFactory(com.hazelcast.nio.serialization.PortableFactory) ParallelJVMTest(com.hazelcast.test.annotation.ParallelJVMTest) QuickTest(com.hazelcast.test.annotation.QuickTest) NightlyTest(com.hazelcast.test.annotation.NightlyTest) Test(org.junit.Test)

Example 54 with IMap

use of com.hazelcast.map.IMap in project hazelcast by hazelcast.

the class SourcesTest method remoteMapWithUnknownValueClass_whenQueryingIsNotNecessary.

@Test
public void remoteMapWithUnknownValueClass_whenQueryingIsNotNecessary() throws Exception {
    // Given
    URL jarResource = Thread.currentThread().getContextClassLoader().getResource("deployment/sample-pojo-1.0-car.jar");
    assertNotNull("jar not found", jarResource);
    ClassLoader cl = new URLClassLoader(new URL[] { jarResource });
    Class<?> personClz = cl.loadClass("com.sample.pojo.car.Car");
    Object person = personClz.getConstructor(String.class, String.class).newInstance("make", "model");
    IMap<String, Object> map = remoteHz.getMap(srcName);
    // the class of the value is unknown to the remote IMDG member, it will be only known to Jet
    map.put("key", person);
    // When
    BatchSource<Entry<String, Object>> source = Sources.remoteMap(srcName, clientConfig);
    // Then
    p.readFrom(source).map(en -> en.getValue().toString()).writeTo(sink);
    JobConfig jobConfig = new JobConfig();
    jobConfig.addJar(jarResource);
    hz().getJet().newJob(p, jobConfig).join();
    List<Object> expected = singletonList(person.toString());
    List<Object> actual = new ArrayList<>(sinkList);
    assertEquals(expected, actual);
}
Also used : Socket(java.net.Socket) BeforeClass(org.junit.BeforeClass) Util.uncheckRun(com.hazelcast.jet.impl.util.Util.uncheckRun) IntStream.range(java.util.stream.IntStream.range) QuickTest(com.hazelcast.test.annotation.QuickTest) URL(java.net.URL) HazelcastInstanceFactory(com.hazelcast.instance.impl.HazelcastInstanceFactory) SourceProcessors.readMapP(com.hazelcast.jet.core.processor.SourceProcessors.readMapP) TruePredicate.truePredicate(com.hazelcast.query.impl.predicates.TruePredicate.truePredicate) CacheSimpleConfig(com.hazelcast.config.CacheSimpleConfig) ArrayList(java.util.ArrayList) Collections.singletonList(java.util.Collections.singletonList) ServerSocket(java.net.ServerSocket) URLClassLoader(java.net.URLClassLoader) Util.entry(com.hazelcast.jet.Util.entry) START_FROM_CURRENT(com.hazelcast.jet.pipeline.JournalInitialPosition.START_FROM_CURRENT) ClientConfig(com.hazelcast.client.config.ClientConfig) Projections(com.hazelcast.projection.Projections) JobStatus(com.hazelcast.jet.core.JobStatus) Job(com.hazelcast.jet.Job) PrintWriter(java.io.PrintWriter) Config(com.hazelcast.config.Config) HazelcastInstance(com.hazelcast.core.HazelcastInstance) AfterClass(org.junit.AfterClass) UTF_8(java.nio.charset.StandardCharsets.UTF_8) Assert.assertNotNull(org.junit.Assert.assertNotNull) JobConfig(com.hazelcast.jet.config.JobConfig) Test(org.junit.Test) Projections.singleAttribute(com.hazelcast.projection.Projections.singleAttribute) Category(org.junit.experimental.categories.Category) File(java.io.File) Collectors.joining(java.util.stream.Collectors.joining) List(java.util.List) Collectors.toList(java.util.stream.Collectors.toList) Ignore(org.junit.Ignore) ICache(com.hazelcast.cache.ICache) Entry(java.util.Map.Entry) Assert.assertEquals(org.junit.Assert.assertEquals) IMap(com.hazelcast.map.IMap) ArrayList(java.util.ArrayList) URL(java.net.URL) JobConfig(com.hazelcast.jet.config.JobConfig) Entry(java.util.Map.Entry) URLClassLoader(java.net.URLClassLoader) URLClassLoader(java.net.URLClassLoader) QuickTest(com.hazelcast.test.annotation.QuickTest) Test(org.junit.Test)

Example 55 with IMap

use of com.hazelcast.map.IMap in project hazelcast by hazelcast.

the class MapPredicateJsonTest method testJsonValueIsJustABoolean.

@Test
public void testJsonValueIsJustABoolean() {
    IMap<Integer, HazelcastJsonValue> map = instance.getMap(randomMapName());
    for (int i = 0; i < 10; i++) {
        map.put(i, new HazelcastJsonValue(Json.value(i < 7).toString()));
    }
    Collection<Map.Entry<Integer, HazelcastJsonValue>> vals = map.entrySet(Predicates.equal("this", true));
    assertEquals(7, vals.size());
    for (Map.Entry<Integer, HazelcastJsonValue> entry : vals) {
        assertTrue(entry.getKey() < 7);
        assertEquals("true", entry.getValue().toString());
    }
}
Also used : HazelcastJsonValue(com.hazelcast.core.HazelcastJsonValue) Map(java.util.Map) IMap(com.hazelcast.map.IMap) ParallelJVMTest(com.hazelcast.test.annotation.ParallelJVMTest) QuickTest(com.hazelcast.test.annotation.QuickTest) Test(org.junit.Test)

Aggregations

IMap (com.hazelcast.map.IMap)292 Test (org.junit.Test)259 QuickTest (com.hazelcast.test.annotation.QuickTest)237 ParallelJVMTest (com.hazelcast.test.annotation.ParallelJVMTest)228 HazelcastInstance (com.hazelcast.core.HazelcastInstance)139 Config (com.hazelcast.config.Config)103 HazelcastTestSupport.randomString (com.hazelcast.test.HazelcastTestSupport.randomString)82 Map (java.util.Map)73 CountDownLatch (java.util.concurrent.CountDownLatch)65 MapStoreConfig (com.hazelcast.config.MapStoreConfig)54 Category (org.junit.experimental.categories.Category)51 Assert.assertEquals (org.junit.Assert.assertEquals)50 TestHazelcastInstanceFactory (com.hazelcast.test.TestHazelcastInstanceFactory)48 HashMap (java.util.HashMap)48 Collection (java.util.Collection)41 RunWith (org.junit.runner.RunWith)41 MapConfig (com.hazelcast.config.MapConfig)36 Set (java.util.Set)34 AtomicInteger (java.util.concurrent.atomic.AtomicInteger)33 AssertTask (com.hazelcast.test.AssertTask)32