/** * @param clsName Class name. * @return Type name. */ public String typeName(String clsName) { return nameMapper.typeName(clsName); }
/** * @param typeId Type ID. * @param fieldName Field name. * @return Field ID. */ public int fieldId(int typeId, String fieldName) { int id = idMapper.fieldId(typeId, nameMapper.fieldName(fieldName)); if (!checkOnZeroId) return id; return id != 0 ? id : BinaryContext.SIMPLE_NAME_LOWER_CASE_MAPPER.fieldId(typeId, fieldName); }
/** * @param clsName Class name. * @return Type ID. */ public int typeId(String clsName) { int id = idMapper.typeId(nameMapper.typeName(clsName)); if (!checkOnZeroId) return id; return id != 0 ? id : BinaryContext.SIMPLE_NAME_LOWER_CASE_MAPPER.typeId(clsName); }
/** * @param typeId Type ID. * @param fieldName Field name. * @return Field ID. */ public int fieldId(int typeId, String fieldName) { int id = idMapper.fieldId(typeId, nameMapper.fieldName(fieldName)); if (!checkOnZeroId) return id; return id != 0 ? id : BinaryContext.SIMPLE_NAME_LOWER_CASE_MAPPER.fieldId(typeId, fieldName); }
/** * @param clsName Class name. * @return Type name. */ private String expectedTypeName(String clsName) { BinaryNameMapper mapper = cfg.getBinaryConfiguration().getNameMapper(); if (mapper == null) mapper = BinaryContext.defaultNameMapper(); return mapper.typeName(clsName); }
/** * @param clsName Class name. * @return Type name. */ private String expectedTypeName(String clsName) { BinaryNameMapper nameMapper = cfg.getBinaryConfiguration().getNameMapper(); if (nameMapper == null) nameMapper = BinaryContext.defaultNameMapper(); return nameMapper.typeName(clsName); }
/** * @param typeName Type name. * @param nameMapper Name mapper. * @param mapper ID mapper. @return Type ID. */ private int typeId(String typeName, BinaryNameMapper nameMapper, BinaryIdMapper mapper) { if (mapper == null) mapper = BinaryContext.defaultIdMapper(); if (nameMapper == null) nameMapper = BinaryContext.defaultNameMapper(); return mapper.typeId(nameMapper.typeName(typeName)); }
/** * @param fullClsName Class name. * @return Expected type name according to configuration. */ private String expectedTypeName(String fullClsName) { BinaryNameMapper mapper = cfg.getBinaryConfiguration().getNameMapper(); if (mapper == null) mapper = BinaryContext.defaultNameMapper(); return mapper.typeName(fullClsName); }
/** * * @param nameMapper Name mapper. * @param mapper Mapper. * @throws IgniteCheckedException If failed. */ private void checkOverrideNameMapper(BinaryNameMapper nameMapper, BinaryIdMapper mapper) throws IgniteCheckedException { BinaryTypeConfiguration typeCfg = new BinaryTypeConfiguration(); typeCfg.setTypeName(CLASS2_FULL_NAME); typeCfg.setNameMapper(new BinaryNameMapper() { @Override public String typeName(String clsName) { return "type2"; } @Override public String fieldName(String fieldName) { return "field2"; } }); BinaryMarshaller marsh = binaryMarshaller(nameMapper, mapper, 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, mapper))); assertTrue(types.containsKey(typeId(INNER_CLASS_FULL_NAME, nameMapper, mapper))); assertTrue(types.containsKey("type2".hashCode())); Map<String, org.apache.ignite.internal.binary.BinaryInternalMapper> typeMappers = U.field(ctx, "cls2Mappers"); assertEquals("type2", typeMappers.get(CLASS2_FULL_NAME).nameMapper().typeName(CLASS2_FULL_NAME)); }
/** * @return Expected hash code. * @param fullName Full name of type. */ private int expectedHashCode(String fullName) { BinaryIdMapper idMapper = cfg.getBinaryConfiguration().getIdMapper(); BinaryNameMapper nameMapper = cfg.getBinaryConfiguration().getNameMapper(); if (idMapper == null) idMapper = BinaryContext.defaultIdMapper(); if (nameMapper == null) nameMapper = BinaryContext.defaultNameMapper(); return idMapper.typeId(nameMapper.typeName(fullName)); }
/** * @throws Exception If failed. */ @SuppressWarnings("unchecked") @Test public void testCircularReference() throws Exception { IgniteCache c = keepBinaryCache(); TestReferenceObject obj1 = new TestReferenceObject(); obj1.obj = new TestReferenceObject(obj1); c.put(1, obj1); BinaryObject po = (BinaryObject)c.get(1); String str = po.toString(); log.info("toString: " + str); assertNotNull(str); BinaryNameMapper nameMapper = BinaryContext.defaultNameMapper(); if (cfg.getBinaryConfiguration() != null && cfg.getBinaryConfiguration().getNameMapper() != null) nameMapper = cfg.getBinaryConfiguration().getNameMapper(); String typeName = nameMapper.typeName(TestReferenceObject.class.getName()); assertTrue("Unexpected toString: " + str, S.INCLUDE_SENSITIVE ? str.startsWith(typeName) && str.contains("obj=" + typeName + " [") : str.startsWith("BinaryObject") && str.contains("idHash=") && str.contains("hash=") ); TestReferenceObject obj1_r = po.deserialize(); assertNotNull(obj1_r); TestReferenceObject obj2_r = obj1_r.obj; assertNotNull(obj2_r); assertSame(obj1_r, obj2_r.obj); }
/** * @param clsName Class name. * @return Type name. */ public String typeName(String clsName) { return nameMapper.typeName(clsName); }
/** * @param clsName Class name. * @return Type ID. */ public int typeId(String clsName) { int id = idMapper.typeId(nameMapper.typeName(clsName)); if (!checkOnZeroId) return id; return id != 0 ? id : BinaryContext.SIMPLE_NAME_LOWER_CASE_MAPPER.typeId(clsName); }