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));
}
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));
}
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));
}
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));
}
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));
}
Aggregations