Search in sources :

Example 6 with BinaryTypeConfiguration

use of org.apache.ignite.binary.BinaryTypeConfiguration in project ignite by apache.

the class GridBinaryWildcardsSelfTest method testClassNamesWithCustomMapperJar.

/**
     * @throws Exception If failed.
     */
public void testClassNamesWithCustomMapperJar() throws Exception {
    BinaryMarshaller marsh = binaryMarshaller(new BinaryBasicNameMapper(false), new BinaryIdMapper() {

        @SuppressWarnings("IfMayBeConditional")
        @Override
        public int typeId(String clsName) {
            if (clsName.endsWith("1"))
                return 300;
            else if (clsName.endsWith("2"))
                return 400;
            else
                return -500;
        }

        @Override
        public int fieldId(int typeId, String fieldName) {
            return 0;
        }
    }, Arrays.asList(new BinaryTypeConfiguration("org.apache.ignite.internal.binary.test.*"), new BinaryTypeConfiguration("unknown.*")));
    BinaryContext ctx = binaryContext(marsh);
    Map<String, org.apache.ignite.internal.binary.BinaryInternalMapper> typeMappers = U.field(ctx, "cls2Mappers");
    assertEquals(3, typeMappers.size());
    assertFalse(((BinaryBasicNameMapper) typeMappers.get(CLASS1_FULL_NAME).nameMapper()).isSimpleName());
    assertEquals(300, typeMappers.get(CLASS1_FULL_NAME).idMapper().typeId(CLASS1_FULL_NAME));
    assertFalse(((BinaryBasicNameMapper) typeMappers.get(CLASS2_FULL_NAME).nameMapper()).isSimpleName());
    assertEquals(400, typeMappers.get(CLASS2_FULL_NAME).idMapper().typeId(CLASS2_FULL_NAME));
}
Also used : BinaryBasicNameMapper(org.apache.ignite.binary.BinaryBasicNameMapper) BinaryIdMapper(org.apache.ignite.binary.BinaryIdMapper) BinaryTypeConfiguration(org.apache.ignite.binary.BinaryTypeConfiguration)

Example 7 with BinaryTypeConfiguration

use of org.apache.ignite.binary.BinaryTypeConfiguration in project ignite by apache.

the class GridBinaryWildcardsSelfTest method testClassNamesCustomMappers.

/**
     * @throws Exception If failed.
     */
public void testClassNamesCustomMappers() throws Exception {
    BinaryMarshaller marsh = binaryMarshaller(null, new BinaryIdMapper() {

        @SuppressWarnings("IfMayBeConditional")
        @Override
        public int typeId(String clsName) {
            if (clsName.endsWith("1"))
                return 300;
            else if (clsName.endsWith("2"))
                return 400;
            else if (clsName.endsWith("InnerClass"))
                return 500;
            else
                return -500;
        }

        @Override
        public int fieldId(int typeId, String fieldName) {
            return 0;
        }
    }, Arrays.asList(new BinaryTypeConfiguration("org.apache.ignite.internal.binary.test.*"), new BinaryTypeConfiguration("unknown.*")));
    BinaryContext ctx = binaryContext(marsh);
    Map<String, org.apache.ignite.internal.binary.BinaryInternalMapper> typeMappers = U.field(ctx, "cls2Mappers");
    assertEquals(3, typeMappers.size());
    assertEquals(300, typeMappers.get(CLASS1_FULL_NAME).idMapper().typeId(CLASS1_FULL_NAME));
    assertEquals(400, typeMappers.get(CLASS2_FULL_NAME).idMapper().typeId(CLASS2_FULL_NAME));
    assertEquals(500, typeMappers.get(INNER_CLASS_FULL_NAME).idMapper().typeId(INNER_CLASS_FULL_NAME));
}
Also used : BinaryIdMapper(org.apache.ignite.binary.BinaryIdMapper) BinaryTypeConfiguration(org.apache.ignite.binary.BinaryTypeConfiguration)

Example 8 with BinaryTypeConfiguration

use of org.apache.ignite.binary.BinaryTypeConfiguration in project ignite by apache.

the class GridBinaryWildcardsSelfTest method checkOverrideJar.

/**
     *
     * @param nameMapper Name mapper.
     * @param idMapper Mapper.
     * @throws IgniteCheckedException If failed.
     */
private void checkOverrideJar(BinaryNameMapper nameMapper, BinaryIdMapper idMapper) throws IgniteCheckedException {
    BinaryTypeConfiguration typeCfg = new BinaryTypeConfiguration("org.apache.ignite.internal.binary.test.GridBinaryTestClass2");
    typeCfg.setIdMapper(new BinaryIdMapper() {

        @Override
        public int typeId(String clsName) {
            return 100;
        }

        @Override
        public int fieldId(int typeId, String fieldName) {
            return 0;
        }
    });
    BinaryMarshaller marsh = binaryMarshaller(nameMapper, idMapper, Arrays.asList(new BinaryTypeConfiguration("org.apache.ignite.internal.binary.test.*"), typeCfg));
    BinaryContext ctx = binaryContext(marsh);
    ConcurrentMap<Integer, BinaryInternalMapper> types = U.field(ctx, "typeId2Mapper");
    assertEquals(3, types.size());
    assertTrue(types.containsKey(typeId(CLASS1_FULL_NAME, nameMapper, idMapper)));
    Map<String, org.apache.ignite.internal.binary.BinaryInternalMapper> typeMappers = U.field(ctx, "cls2Mappers");
    assertEquals(3, typeMappers.size());
    assertEquals(nameMapper, typeMappers.get(CLASS2_FULL_NAME).nameMapper());
    assertEquals(100, typeMappers.get(CLASS2_FULL_NAME).idMapper().typeId(CLASS2_FULL_NAME));
}
Also used : BinaryIdMapper(org.apache.ignite.binary.BinaryIdMapper) BinaryTypeConfiguration(org.apache.ignite.binary.BinaryTypeConfiguration)

Example 9 with BinaryTypeConfiguration

use of org.apache.ignite.binary.BinaryTypeConfiguration in project ignite by apache.

the class GridBinaryWildcardsSelfTest method testTypeConfigurationsWithNonGlobalMapper.

/**
     * @throws Exception If failed.
     */
public void testTypeConfigurationsWithNonGlobalMapper() throws Exception {
    BinaryMarshaller marsh = binaryMarshaller(new BinaryBasicNameMapper(true), new BinaryIdMapper() {

        @SuppressWarnings("IfMayBeConditional")
        @Override
        public int typeId(String clsName) {
            if (clsName.endsWith("1"))
                return 300;
            else if (clsName.endsWith("2"))
                return 400;
            else if (clsName.endsWith("InnerClass"))
                return 500;
            else
                return -500;
        }

        @Override
        public int fieldId(int typeId, String fieldName) {
            return 0;
        }
    }, Arrays.asList(new BinaryTypeConfiguration("org.apache.ignite.internal.binary.test.*"), new BinaryTypeConfiguration("unknown.*")));
    BinaryContext ctx = binaryContext(marsh);
    Map<String, org.apache.ignite.internal.binary.BinaryInternalMapper> typeMappers = U.field(ctx, "cls2Mappers");
    assertEquals(3, typeMappers.size());
    assertEquals(300, typeMappers.get(CLASS1_FULL_NAME).idMapper().typeId(CLASS1_FULL_NAME));
    assertEquals(400, typeMappers.get(CLASS2_FULL_NAME).idMapper().typeId(CLASS2_FULL_NAME));
    assertEquals(500, typeMappers.get(INNER_CLASS_FULL_NAME).idMapper().typeId(INNER_CLASS_FULL_NAME));
}
Also used : BinaryBasicNameMapper(org.apache.ignite.binary.BinaryBasicNameMapper) BinaryIdMapper(org.apache.ignite.binary.BinaryIdMapper) BinaryTypeConfiguration(org.apache.ignite.binary.BinaryTypeConfiguration)

Example 10 with BinaryTypeConfiguration

use of org.apache.ignite.binary.BinaryTypeConfiguration in project ignite by apache.

the class GridBinaryWildcardsSelfTest method testTypeConfigurationsWithGlobalMapperJar.

/**
     * @throws Exception If failed.
     */
public void testTypeConfigurationsWithGlobalMapperJar() throws Exception {
    BinaryMarshaller marsh = binaryMarshaller(new BinaryBasicNameMapper(false), new BinaryIdMapper() {

        @SuppressWarnings("IfMayBeConditional")
        @Override
        public int typeId(String clsName) {
            if (clsName.endsWith("1"))
                return 300;
            else if (clsName.endsWith("2"))
                return 400;
            else
                return -500;
        }

        @Override
        public int fieldId(int typeId, String fieldName) {
            return 0;
        }
    }, Arrays.asList(new BinaryTypeConfiguration("org.apache.ignite.internal.binary.test.*"), new BinaryTypeConfiguration("unknown.*")));
    BinaryContext ctx = binaryContext(marsh);
    Map<String, org.apache.ignite.internal.binary.BinaryInternalMapper> typeMappers = U.field(ctx, "cls2Mappers");
    assertEquals(3, typeMappers.size());
    assertFalse(((BinaryBasicNameMapper) typeMappers.get(CLASS1_FULL_NAME).nameMapper()).isSimpleName());
    assertEquals(300, typeMappers.get(CLASS1_FULL_NAME).idMapper().typeId(CLASS1_FULL_NAME));
    assertFalse(((BinaryBasicNameMapper) typeMappers.get(CLASS2_FULL_NAME).nameMapper()).isSimpleName());
    assertEquals(400, typeMappers.get(CLASS2_FULL_NAME).idMapper().typeId(CLASS2_FULL_NAME));
}
Also used : BinaryBasicNameMapper(org.apache.ignite.binary.BinaryBasicNameMapper) BinaryIdMapper(org.apache.ignite.binary.BinaryIdMapper) BinaryTypeConfiguration(org.apache.ignite.binary.BinaryTypeConfiguration)

Aggregations

BinaryTypeConfiguration (org.apache.ignite.binary.BinaryTypeConfiguration)67 BinaryObject (org.apache.ignite.binary.BinaryObject)25 BinaryIdMapper (org.apache.ignite.binary.BinaryIdMapper)21 BinaryConfiguration (org.apache.ignite.configuration.BinaryConfiguration)18 IgniteConfiguration (org.apache.ignite.configuration.IgniteConfiguration)16 BinaryBasicNameMapper (org.apache.ignite.binary.BinaryBasicNameMapper)11 CacheConfiguration (org.apache.ignite.configuration.CacheConfiguration)8 BinaryMarshaller (org.apache.ignite.internal.binary.BinaryMarshaller)8 TcpDiscoverySpi (org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi)8 HashMap (java.util.HashMap)7 LinkedHashMap (java.util.LinkedHashMap)7 BinaryBasicIdMapper (org.apache.ignite.binary.BinaryBasicIdMapper)7 BigInteger (java.math.BigInteger)6 ArrayList (java.util.ArrayList)6 ConcurrentHashMap (java.util.concurrent.ConcurrentHashMap)6 CacheKeyConfiguration (org.apache.ignite.cache.CacheKeyConfiguration)5 UUID (java.util.UUID)4 Date (java.util.Date)3 Map (java.util.Map)3 TreeMap (java.util.TreeMap)3