public SchemaRuleCommand( Collection<DynamicRecord> recordsBefore, Collection<DynamicRecord> recordsAfter, SchemaRule schemaRule ) { this( new SchemaRecord( recordsBefore ), new SchemaRecord( recordsAfter ), schemaRule ); }
@Override public SchemaRecord clone( SchemaRecord records ) { return records.clone(); } };
public SchemaRecord initialize( Collection<DynamicRecord> records ) { initialize( true ); Iterator<DynamicRecord> iterator = records.iterator(); long id = iterator.hasNext() ? iterator.next().getId() : NULL_REFERENCE.intValue(); setId( id ); this.records = records; return this; }
@Override public void serialize( WritableChannel channel ) throws IOException { channel.put( NeoCommandType.SCHEMA_RULE_COMMAND ); writeDynamicRecords( channel, recordsBefore, recordsBefore.size() ); writeDynamicRecords( channel, recordsAfter, recordsAfter.size() ); channel.put( Iterables.first( recordsAfter ).isCreated() ? (byte) 1 : 0 ); } }
void dropSchemaRule( SchemaRule rule ) { RecordProxy<SchemaRecord, SchemaRule> change = recordChangeSet.getSchemaRuleChanges().getOrLoad( rule.getId(), rule ); SchemaRecord records = change.forChangingData(); for ( DynamicRecord record : records ) { record.setInUse( false ); } records.setInUse( false ); }
public SchemaRecord( Collection<DynamicRecord> records ) { super( -1 ); initialize( records ); }
private void changeSchemaRule( SchemaRule rule, SchemaRule updatedRule ) { //Read the current record RecordProxy<SchemaRecord,SchemaRule> change = recordChangeSet.getSchemaRuleChanges() .getOrLoad( rule.getId(), rule ); SchemaRecord records = change.forReadingData(); //Register the change of the record RecordProxy<SchemaRecord,SchemaRule> recordChange = recordChangeSet.getSchemaRuleChanges() .setRecord( rule.getId(), records, updatedRule ); SchemaRecord dynamicRecords = recordChange.forChangingData(); //Update the record dynamicRecords.setDynamicRecords( schemaStore.allocateFrom( updatedRule ) ); }
if ( change.forReadingLinkage().inUse() )
@Override public void serialize( WritableChannel channel ) throws IOException { channel.put( NeoCommandType.SCHEMA_RULE_COMMAND ); writeDynamicRecords( channel, recordsBefore, recordsBefore.size() ); writeDynamicRecords( channel, recordsAfter, recordsAfter.size() ); channel.put( Iterables.first( recordsAfter ).isCreated() ? (byte) 1 : 0 ); } }
void dropSchemaRule( SchemaRule rule ) { RecordProxy<SchemaRecord, SchemaRule> change = recordChangeSet.getSchemaRuleChanges().getOrLoad( rule.getId(), rule ); SchemaRecord records = change.forChangingData(); for ( DynamicRecord record : records ) { record.setInUse( false ); } records.setInUse( false ); }
public SchemaRecord( Collection<DynamicRecord> records ) { super( -1 ); initialize( records ); }
private void changeSchemaRule( SchemaRule rule, SchemaRule updatedRule ) { //Read the current record RecordProxy<SchemaRecord,SchemaRule> change = recordChangeSet.getSchemaRuleChanges() .getOrLoad( rule.getId(), rule ); SchemaRecord records = change.forReadingData(); //Register the change of the record RecordProxy<SchemaRecord,SchemaRule> recordChange = recordChangeSet.getSchemaRuleChanges() .setRecord( rule.getId(), records, updatedRule ); SchemaRecord dynamicRecords = recordChange.forChangingData(); //Update the record dynamicRecords.setDynamicRecords( schemaStore.allocateFrom( updatedRule ) ); }
if ( change.forReadingLinkage().inUse() )
@Override public SchemaRecord clone() { List<DynamicRecord> list = new ArrayList<>( records.size() ); for ( DynamicRecord record : records ) { list.add( record.clone() ); } return new SchemaRecord( list ); } }
public SchemaRecord initialize( Collection<DynamicRecord> records ) { initialize( true ); Iterator<DynamicRecord> iterator = records.iterator(); long id = iterator.hasNext() ? iterator.next().getId() : NULL_REFERENCE.intValue(); setId( id ); this.records = records; return this; }
@Override public SchemaRecord clone( SchemaRecord records ) { return records.clone(); } };
@Override public SchemaRecord newUnused( long key, SchemaRule additionalData ) { // Don't blindly mark as created here since some records may be reused. return new SchemaRecord( store.allocateFrom( additionalData ) ); }
@Override public SchemaRecord load( long key, SchemaRule additionalData ) { return new SchemaRecord( store.getRecords( key, RecordLoad.NORMAL ) ); }
private SchemaRecord serialize( SchemaRule rule, long id, boolean inUse, boolean created ) { DynamicRecord record = new DynamicRecord( id ); record.setData( SchemaRuleSerialization.serialize( rule ) ); if ( created ) { record.setCreated(); } if ( inUse ) { record.setInUse( true ); } return new SchemaRecord( singletonList( record ) ); }
public SchemaRuleCommand( Collection<DynamicRecord> recordsBefore, Collection<DynamicRecord> recordsAfter, SchemaRule schemaRule ) { this( new SchemaRecord( recordsBefore ), new SchemaRecord( recordsAfter ), schemaRule ); }