/** * */ @Test public void testRemoveFromNewObject() { BinaryObjectBuilder builder = builder(GridBinaryTestClasses.TestObjectAllTypes.class.getName()); builder.setField("str", "a"); builder.removeField("str"); Assert.assertNull(builder.build().<GridBinaryTestClasses.TestObjectAllTypes>deserialize().str); }
/** * */ @Test public void testRemoveFromExistingObject() { GridBinaryTestClasses.TestObjectAllTypes obj = new GridBinaryTestClasses.TestObjectAllTypes(); obj.setDefaultData(); obj.enumArr = null; BinaryObjectBuilder builder = builder(toBinary(obj)); builder.removeField("str"); BinaryObject binary = builder.build(); GridBinaryTestClasses.TestObjectAllTypes deserialzied = binary.deserialize(); assertNull(deserialzied.str); }
BinaryObjectBuilder clearBoBuilder = provider.createBinaryObjectBuilder( clearBo ); for ( String columnName : key.getMetadata().getRowKeyColumnNames() ) { clearBoBuilder.removeField( StringHelper.realColumnName( columnName ) ); Contracts.assertNotNull( binaryObject, "binaryObject" ); BinaryObjectBuilder binaryObjectBuilder = provider.createBinaryObjectBuilder( binaryObject ); binaryObjectBuilder.removeField( key.getMetadata().getCollectionRole() ); binaryObject = binaryObjectBuilder.build(); associationCache.put( id, binaryObject );
BinaryObjectBuilder clearBoBuilder = provider.createBinaryObjectBuilder( clearBo ); for ( String columnName : key.getColumnNames() ) { clearBoBuilder.removeField( columnName ); clearBoBuilder.removeField( columnName ); putBoBuilder.removeField( columnName );
@Override public void insertOrUpdateTuple(EntityKey key, TuplePointer tuplePointer, TupleContext tupleContext) throws TupleAlreadyExistsException { IgniteCache<Object, BinaryObject> entityCache = provider.getEntityCache( key.getMetadata() ); Tuple tuple = tuplePointer.getTuple(); Object keyObject = null; BinaryObjectBuilder builder = null; IgniteTupleSnapshot tupleSnapshot = (IgniteTupleSnapshot) tuple.getSnapshot(); keyObject = tupleSnapshot.getCacheKey(); if ( tuple.getSnapshotType() == SnapshotType.UPDATE ) { builder = provider.createBinaryObjectBuilder( tupleSnapshot.getCacheValue() ); } else { builder = provider.createBinaryObjectBuilder( provider.getEntityTypeName( key.getMetadata().getTable() ) ); } for ( String columnName : tuple.getColumnNames() ) { Object value = tuple.get( columnName ); if ( value != null ) { builder.setField( StringHelper.realColumnName( columnName ), value ); } else { builder.removeField( StringHelper.realColumnName( columnName ) ); } } BinaryObject valueObject = builder.build(); entityCache.put( keyObject, valueObject ); tuplePointer.setTuple( new Tuple( new IgniteTupleSnapshot( keyObject, valueObject, key.getMetadata() ), SnapshotType.UPDATE ) ); }