public override bool EndId(object id, Group group) { this._endId = id; this._endIdGroup = group; long nodeId = nodeId(id, group); _relationshipRecord.SecondNode = nodeId; return(true); }
public override bool StartId(object id, Group group) { this._startId = id; this._startIdGroup = group; long nodeId = nodeId(id, group); _relationshipRecord.FirstNode = nodeId; return(true); }
private long NodeId(object id, Group group) { long nodeId = _idMapper.get(id, group); if (nodeId == ID_NOT_FOUND) { _relationshipRecord.InUse = false; return(ID_NOT_FOUND); } return(nodeId); }
public override void EndOfEntity() { if (_relationshipRecord.inUse() && _relationshipRecord.FirstNode != ID_NOT_FOUND && _relationshipRecord.SecondNode != ID_NOT_FOUND && _relationshipRecord.Type != -1) { _relationshipRecord.Id = _relationshipIds.next(); if (_doubleRecordUnits) { // simply reserve one id for this relationship to grow during linking stage _relationshipIds.next(); } _relationshipRecord.NextProp = CreateAndWritePropertyChain(); _relationshipRecord.FirstInFirstChain = false; _relationshipRecord.FirstInSecondChain = false; _relationshipRecord.FirstPrevRel = Record.NO_NEXT_RELATIONSHIP.intValue(); _relationshipRecord.SecondPrevRel = Record.NO_NEXT_RELATIONSHIP.intValue(); _relationshipStore.prepareForCommit(_relationshipRecord, _prepareIdSequence.apply(_relationshipRecord.Id)); _relationshipStore.updateRecord(_relationshipRecord); _relationshipCount++; _typeCounts.increment(_relationshipRecord.Type); } else { if (_validateRelationshipData) { ValidateNode(_startId, Type.START_ID); ValidateNode(_endId, Type.END_ID); if (_relationshipRecord.Type == -1) { throw new MissingRelationshipDataException(Type.TYPE, RelationshipDataString() + " is missing " + Type.TYPE + " field"); } } _badCollector.collectBadRelationship(_startId, Group(_startIdGroup).name(), _type, _endId, Group(_endIdGroup).name(), _relationshipRecord.FirstNode == ID_NOT_FOUND ? _startId : _endId); EntityPropertyCount = 0; } _relationshipRecord.clear(); _relationshipRecord.InUse = true; _startId = null; _startIdGroup = null; _endId = null; _endIdGroup = null; _type = null; base.EndOfEntity(); }
private Group Group(Group group) { return(group != null ? group : [email protected]_Fields.Global); }
public override long Get(object inputId, Group group) { return(( long? )inputId.Value); }
public override void Put(object inputId, long actualId, Group group) { // No need to remember anything }