/** {@inheritDoc} */ @Override public Object apply(List<?> arg) throws IgniteCheckedException { Object obj = arg.get(colIdx); if (obj == null) return null; BinaryObject bin = cctx.grid().binary().toBinary(obj); BinaryObjectBuilder builder = cctx.grid().binary().builder(bin); cctx.prepareAffinityField(builder); return builder; } };
/** * @return Binaries API. */ protected IgniteBinary binaries() { return grid(0).binary(); }
/** * Convert object to binary form. * * @param src Source object. * @return Result. */ private Object toBinary(Object src) { return platformCtx.kernalContext().grid().binary().toBinary(src); }
/** {@inheritDoc} */ @Override public Object apply(List<?> arg) throws IgniteCheckedException { BinaryObjectBuilder builder = cctx.grid().binary().builder(typeName); cctx.prepareAffinityField(builder); return builder; } };
/** * @return Binaries API. */ protected IgniteBinary binaries() { return grid().binary(); }
/** * @return Binaries. */ private IgniteBinary binaries() { return grid(0).binary(); }
/** {@inheritDoc} */ @Override protected VisorBinaryMetadataCollectorTaskResult run(VisorBinaryMetadataCollectorTaskArg arg) { Marshaller marsh = ignite.configuration().getMarshaller(); IgniteBinary binary = marsh == null || marsh instanceof BinaryMarshaller ? ignite.binary() : null; return new VisorBinaryMetadataCollectorTaskResult(0L, VisorBinaryMetadata.list(binary)); }
/** * Convert to binary object. * * @param obj Original object. * @return Binary object. */ private BinaryObject asBinary(Object obj) { return grid().binary().toBinary(obj); }
/** * @param obj Object. * @return Binary object. */ private Object binary(Object obj) { return grid().binary().toBinary(obj); } }
/** * @param key Key to wrap. * @param wrap Whether key should be wrapped. * @return (optionally wrapped) key. */ private Object createKeyForWrapTest(Object key, boolean wrap) { if (!wrap) return key; return client().binary().builder(key instanceof UUID ? "tkey_guid" : "tkey").setField("id", key).build(); }
/** * @param val Value to wrap. * @param wrap Whether value should be wrapped. * @return (optionally wrapped) value. */ private Object createValueForWrapTest(Object val, boolean wrap) { if (!wrap) return val; return client().binary().builder(val instanceof UUID ? "tval_guid" : "tval").setField("x", val).build(); }
/** * @param userName User name. * @return Binary object. */ private BinaryObject userObject(String userName) { return grid(0).binary().builder("orders").setField(FIELD, userName).build(); } }
/** * Build object. * * @param parts Parts. * @return Result. */ private BinaryObjectImpl build(Object... parts) { String typeName = "Type" + TYPE_CTR.get(); BinaryObjectBuilder builder = grid().binary().builder(typeName); if (!F.isEmpty(parts)) { for (int i = 0; i < parts.length; ) builder.setField((String)parts[i++], parts[i++]); } return (BinaryObjectImpl) builder.build(); }
/** * Build object of the given type with provided fields. * * @param cls Class. * @param parts Parts. * @return Result. */ private BinaryObject build(Class cls, Object... parts) { BinaryObjectBuilder builder = grid().binary().builder(cls.getName()); if (!F.isEmpty(parts)) { for (int i = 0; i < parts.length; ) builder.setField((String)parts[i++], parts[i++]); } return builder.build(); }
/** * @param id id of person to put. * @param name name of person to put. */ protected void put(int id, String name) { BinaryObjectBuilder bldr = grid(0).binary().builder("Person"); bldr.setField("name", name); cache().put(id, bldr.build()); }
/** * */ Object createPerson(int id, String name) { if (!isBinaryMarshaller()) { Person p = new Person(id); p.name = name; return p; } else { BinaryObjectBuilder o = grid(0).binary().builder("Person"); o.setField("id", id); o.setField("name", name); return o.build(); } }
/** * */ @SuppressWarnings("unchecked") @Test public void testCrossFormatObjectsIdentity() { IgniteCache c = binKeysCache(); c.put(new ComplexBinaryFieldsListHashedKey(), "zzz"); // Now let's build an identical key for get BinaryObjectBuilder bldr = grid(0).binary().builder(ComplexBinaryFieldsListHashedKey.class.getName()); bldr.setField("firstField", 1); bldr.setField("secondField", "value"); bldr.setField("thirdField", 0x1020304050607080L); BinaryObject binKey = bldr.build(); assertEquals("zzz", c.get(binKey)); }
/** * @throws Exception If failed. */ @Test public void testBinaryContains() throws Exception { IgniteEx ignite = grid(0); IgniteCache<Object, Object> cache = ignite.cache("tx-cache").withKeepBinary(); try (Transaction tx = ignite.transactions().txStart()) { BinaryObject key = ignite.binary().builder("test2") .setField("id", 1).build(); assertFalse(cache.containsKey(key)); } }
/** * @throws Exception If failed. */ @Test public void testBinaryGet() throws Exception { IgniteEx ignite = grid(0); IgniteCache<Object, Object> cache = ignite.cache("tx-cache").withKeepBinary(); try (Transaction tx = ignite.transactions().txStart()) { BinaryObject key = ignite.binary().builder("test1") .setField("id", 1).build(); assertNull(cache.get(key)); } }
/** * @throws Exception If failed. */ @Test public void testBinaryPutGetContains() throws Exception { IgniteEx ignite = grid(0); IgniteCache<Object, Object> cache = ignite.cache("tx-cache").withKeepBinary(); try (Transaction tx = ignite.transactions().txStart()) { IgniteBinary binary = ignite.binary(); BinaryObject key = binary.builder("test-key").setField("id", 1).build(); BinaryObject val = binary.builder("test-val").setField("id", 22).build(); cache.put(key, val); assertTrue(cache.containsKey(key)); assertEquals(val, cache.get(key)); } } }