Search in sources :

Example 16 with IgniteCacheObjectProcessor

use of org.apache.ignite.internal.processors.cacheobject.IgniteCacheObjectProcessor in project ignite by apache.

the class GridBinaryAffinityKeySelfTest method checkAffinity.

/**
 * @param ignite Ignite.
 * @throws Exception If failed.
 */
private void checkAffinity(Ignite ignite) throws Exception {
    Affinity<Object> aff = ignite.affinity(DEFAULT_CACHE_NAME);
    GridAffinityProcessor affProc = ((IgniteKernal) ignite).context().affinity();
    IgniteCacheObjectProcessor cacheObjProc = ((IgniteKernal) ignite).context().cacheObjects();
    CacheObjectContext cacheObjCtx = cacheObjProc.contextForCache(ignite.cache(DEFAULT_CACHE_NAME).getConfiguration(CacheConfiguration.class));
    for (int i = 0; i < 1000; i++) {
        assertEquals(i, aff.affinityKey(i));
        assertEquals(i, aff.affinityKey(new TestObject(i)));
        assertEquals(i, aff.affinityKey(ignite.binary().toBinary(new TestObject(i))));
        assertEquals(i, aff.affinityKey(new AffinityKey(0, i)));
        BinaryObjectBuilder bldr = ignite.binary().builder("TestObject2");
        bldr.setField("affKey", i);
        assertEquals(i, aff.affinityKey(bldr.build()));
        CacheObject cacheObj = cacheObjProc.toCacheObject(cacheObjCtx, new TestObject(i), true);
        assertEquals(i, aff.affinityKey(cacheObj));
        assertEquals(aff.mapKeyToNode(i), aff.mapKeyToNode(new TestObject(i)));
        assertEquals(aff.mapKeyToNode(i), aff.mapKeyToNode(cacheObj));
        assertEquals(i, affProc.affinityKey(DEFAULT_CACHE_NAME, i));
        assertEquals(i, affProc.affinityKey(DEFAULT_CACHE_NAME, new TestObject(i)));
        assertEquals(i, affProc.affinityKey(DEFAULT_CACHE_NAME, cacheObj));
        assertEquals(affProc.mapKeyToNode(DEFAULT_CACHE_NAME, i), affProc.mapKeyToNode(DEFAULT_CACHE_NAME, new TestObject(i)));
        assertEquals(affProc.mapKeyToNode(DEFAULT_CACHE_NAME, i), affProc.mapKeyToNode(DEFAULT_CACHE_NAME, cacheObj));
        assertEquals(affProc.mapKeyToNode(DEFAULT_CACHE_NAME, new AffinityKey(0, i)), affProc.mapKeyToNode(DEFAULT_CACHE_NAME, i));
    }
}
Also used : GridAffinityProcessor(org.apache.ignite.internal.processors.affinity.GridAffinityProcessor) IgniteCacheObjectProcessor(org.apache.ignite.internal.processors.cacheobject.IgniteCacheObjectProcessor) CacheObject(org.apache.ignite.internal.processors.cache.CacheObject) CacheObject(org.apache.ignite.internal.processors.cache.CacheObject) CacheObjectContext(org.apache.ignite.internal.processors.cache.CacheObjectContext) BinaryObjectBuilder(org.apache.ignite.binary.BinaryObjectBuilder) CacheConfiguration(org.apache.ignite.configuration.CacheConfiguration)

Example 17 with IgniteCacheObjectProcessor

use of org.apache.ignite.internal.processors.cacheobject.IgniteCacheObjectProcessor in project ignite by apache.

the class IgniteCacheObjectPutSelfTest method testPrimitiveValues.

/**
 * @throws Exception If failed.
 */
@Test
public void testPrimitiveValues() throws Exception {
    IgniteEx ignite = grid(0);
    IgniteCache<Object, Object> cache = ignite.cache(CACHE_NAME);
    for (int i = 0; i < 10; i++) cache.put(i, String.valueOf(i));
    IgniteCacheObjectProcessor co = ignite.context().cacheObjects();
    GridCacheAdapter<Object, Object> iCache = ignite.context().cache().internalCache(CACHE_NAME);
    GridCacheContext<Object, Object> cacheCtx = iCache.context();
    CacheObjectContext coCtx = cacheCtx.cacheObjectContext();
    ByteBuffer buf = ByteBuffer.allocate(2048);
    for (int i = 0; i < 10; i++) {
        KeyCacheObject key = co.toCacheKeyObject(coCtx, cacheCtx, i, false);
        GridCacheEntryEx entry = iCache.peekEx(key);
        assertNotNull(entry);
        assertTrue(entry.key().putValue(buf));
        assertTrue(entry.valueBytes().putValue(buf));
    }
    buf.flip();
    for (int i = 0; i < 10; i++) {
        CacheObject co1 = co.toCacheObject(coCtx, buf);
        assertEquals((Integer) i, co1.value(coCtx, false));
        CacheObject co2 = co.toCacheObject(coCtx, buf);
        assertEquals(String.valueOf(i), co2.value(coCtx, false));
    }
}
Also used : IgniteCacheObjectProcessor(org.apache.ignite.internal.processors.cacheobject.IgniteCacheObjectProcessor) IgniteEx(org.apache.ignite.internal.IgniteEx) ByteBuffer(java.nio.ByteBuffer) GridCommonAbstractTest(org.apache.ignite.testframework.junits.common.GridCommonAbstractTest) Test(org.junit.Test)

Aggregations

IgniteCacheObjectProcessor (org.apache.ignite.internal.processors.cacheobject.IgniteCacheObjectProcessor)17 IgniteException (org.apache.ignite.IgniteException)6 IgniteCheckedException (org.apache.ignite.IgniteCheckedException)5 GridCacheContext (org.apache.ignite.internal.processors.cache.GridCacheContext)4 CacheObjectBinaryProcessorImpl (org.apache.ignite.internal.processors.cache.binary.CacheObjectBinaryProcessorImpl)4 GridKernalContext (org.apache.ignite.internal.GridKernalContext)3 IgniteKernal (org.apache.ignite.internal.IgniteKernal)3 ByteBuffer (java.nio.ByteBuffer)2 CacheConfiguration (org.apache.ignite.configuration.CacheConfiguration)2 IgniteEx (org.apache.ignite.internal.IgniteEx)2 CacheObjectContext (org.apache.ignite.internal.processors.cache.CacheObjectContext)2 GridCommonAbstractTest (org.apache.ignite.testframework.junits.common.GridCommonAbstractTest)2 Nullable (org.jetbrains.annotations.Nullable)2 Test (org.junit.Test)2 FileNotFoundException (java.io.FileNotFoundException)1 IOException (java.io.IOException)1 CreatedExpiryPolicy (javax.cache.expiry.CreatedExpiryPolicy)1 Duration (javax.cache.expiry.Duration)1 Ignite (org.apache.ignite.Ignite)1 IgniteCacheRestartingException (org.apache.ignite.IgniteCacheRestartingException)1