if (obj instanceof DataSet) {
DataSet temp = (DataSet)obj;
+ boolean thcycle;
+ boolean tmcycle;
if (this._id != null) {
if (temp._id == null) return false;
- else if (!(this._id.equals(temp._id)))
- return false;
- }
- else if (temp._id != null)
+ if (this._id != temp._id) {
+ thcycle=org.castor.util.CycleBreaker.startingToCycle(this._id);
+ tmcycle=org.castor.util.CycleBreaker.startingToCycle(temp._id);
+ if (thcycle!=tmcycle) {
+ if (!thcycle) { org.castor.util.CycleBreaker.releaseCycleHandle(this._id); };
+ if (!tmcycle) { org.castor.util.CycleBreaker.releaseCycleHandle(temp._id); };
+ return false;
+ }
+ if (!thcycle) {
+ if (!this._id.equals(temp._id)) {
+ org.castor.util.CycleBreaker.releaseCycleHandle(this._id);
+ org.castor.util.CycleBreaker.releaseCycleHandle(temp._id);
+ return false;
+ }
+ org.castor.util.CycleBreaker.releaseCycleHandle(this._id);
+ org.castor.util.CycleBreaker.releaseCycleHandle(temp._id);
+ }
+ }
+ } else if (temp._id != null)
return false;
if (this._sequenceList != null) {
if (temp._sequenceList == null) return false;
- else if (!(this._sequenceList.equals(temp._sequenceList)))
- return false;
- }
- else if (temp._sequenceList != null)
+ if (this._sequenceList != temp._sequenceList) {
+ thcycle=org.castor.util.CycleBreaker.startingToCycle(this._sequenceList);
+ tmcycle=org.castor.util.CycleBreaker.startingToCycle(temp._sequenceList);
+ if (thcycle!=tmcycle) {
+ if (!thcycle) { org.castor.util.CycleBreaker.releaseCycleHandle(this._sequenceList); };
+ if (!tmcycle) { org.castor.util.CycleBreaker.releaseCycleHandle(temp._sequenceList); };
+ return false;
+ }
+ if (!thcycle) {
+ if (!this._sequenceList.equals(temp._sequenceList)) {
+ org.castor.util.CycleBreaker.releaseCycleHandle(this._sequenceList);
+ org.castor.util.CycleBreaker.releaseCycleHandle(temp._sequenceList);
+ return false;
+ }
+ org.castor.util.CycleBreaker.releaseCycleHandle(this._sequenceList);
+ org.castor.util.CycleBreaker.releaseCycleHandle(temp._sequenceList);
+ }
+ }
+ } else if (temp._sequenceList != null)
return false;
if (this._sequenceMappingList != null) {
if (temp._sequenceMappingList == null) return false;
- else if (!(this._sequenceMappingList.equals(temp._sequenceMappingList)))
- return false;
- }
- else if (temp._sequenceMappingList != null)
+ if (this._sequenceMappingList != temp._sequenceMappingList) {
+ thcycle=org.castor.util.CycleBreaker.startingToCycle(this._sequenceMappingList);
+ tmcycle=org.castor.util.CycleBreaker.startingToCycle(temp._sequenceMappingList);
+ if (thcycle!=tmcycle) {
+ if (!thcycle) { org.castor.util.CycleBreaker.releaseCycleHandle(this._sequenceMappingList); };
+ if (!tmcycle) { org.castor.util.CycleBreaker.releaseCycleHandle(temp._sequenceMappingList); };
+ return false;
+ }
+ if (!thcycle) {
+ if (!this._sequenceMappingList.equals(temp._sequenceMappingList)) {
+ org.castor.util.CycleBreaker.releaseCycleHandle(this._sequenceMappingList);
+ org.castor.util.CycleBreaker.releaseCycleHandle(temp._sequenceMappingList);
+ return false;
+ }
+ org.castor.util.CycleBreaker.releaseCycleHandle(this._sequenceMappingList);
+ org.castor.util.CycleBreaker.releaseCycleHandle(temp._sequenceMappingList);
+ }
+ }
+ } else if (temp._sequenceMappingList != null)
return false;
if (this._dataSetAnnotationsList != null) {
if (temp._dataSetAnnotationsList == null) return false;
- else if (!(this._dataSetAnnotationsList.equals(temp._dataSetAnnotationsList)))
- return false;
- }
- else if (temp._dataSetAnnotationsList != null)
+ if (this._dataSetAnnotationsList != temp._dataSetAnnotationsList) {
+ thcycle=org.castor.util.CycleBreaker.startingToCycle(this._dataSetAnnotationsList);
+ tmcycle=org.castor.util.CycleBreaker.startingToCycle(temp._dataSetAnnotationsList);
+ if (thcycle!=tmcycle) {
+ if (!thcycle) { org.castor.util.CycleBreaker.releaseCycleHandle(this._dataSetAnnotationsList); };
+ if (!tmcycle) { org.castor.util.CycleBreaker.releaseCycleHandle(temp._dataSetAnnotationsList); };
+ return false;
+ }
+ if (!thcycle) {
+ if (!this._dataSetAnnotationsList.equals(temp._dataSetAnnotationsList)) {
+ org.castor.util.CycleBreaker.releaseCycleHandle(this._dataSetAnnotationsList);
+ org.castor.util.CycleBreaker.releaseCycleHandle(temp._dataSetAnnotationsList);
+ return false;
+ }
+ org.castor.util.CycleBreaker.releaseCycleHandle(this._dataSetAnnotationsList);
+ org.castor.util.CycleBreaker.releaseCycleHandle(temp._dataSetAnnotationsList);
+ }
+ }
+ } else if (temp._dataSetAnnotationsList != null)
return false;
if (this._alignmentList != null) {
if (temp._alignmentList == null) return false;
- else if (!(this._alignmentList.equals(temp._alignmentList)))
- return false;
- }
- else if (temp._alignmentList != null)
+ if (this._alignmentList != temp._alignmentList) {
+ thcycle=org.castor.util.CycleBreaker.startingToCycle(this._alignmentList);
+ tmcycle=org.castor.util.CycleBreaker.startingToCycle(temp._alignmentList);
+ if (thcycle!=tmcycle) {
+ if (!thcycle) { org.castor.util.CycleBreaker.releaseCycleHandle(this._alignmentList); };
+ if (!tmcycle) { org.castor.util.CycleBreaker.releaseCycleHandle(temp._alignmentList); };
+ return false;
+ }
+ if (!thcycle) {
+ if (!this._alignmentList.equals(temp._alignmentList)) {
+ org.castor.util.CycleBreaker.releaseCycleHandle(this._alignmentList);
+ org.castor.util.CycleBreaker.releaseCycleHandle(temp._alignmentList);
+ return false;
+ }
+ org.castor.util.CycleBreaker.releaseCycleHandle(this._alignmentList);
+ org.castor.util.CycleBreaker.releaseCycleHandle(temp._alignmentList);
+ }
+ }
+ } else if (temp._alignmentList != null)
return false;
if (this._treeList != null) {
if (temp._treeList == null) return false;
- else if (!(this._treeList.equals(temp._treeList)))
- return false;
- }
- else if (temp._treeList != null)
+ if (this._treeList != temp._treeList) {
+ thcycle=org.castor.util.CycleBreaker.startingToCycle(this._treeList);
+ tmcycle=org.castor.util.CycleBreaker.startingToCycle(temp._treeList);
+ if (thcycle!=tmcycle) {
+ if (!thcycle) { org.castor.util.CycleBreaker.releaseCycleHandle(this._treeList); };
+ if (!tmcycle) { org.castor.util.CycleBreaker.releaseCycleHandle(temp._treeList); };
+ return false;
+ }
+ if (!thcycle) {
+ if (!this._treeList.equals(temp._treeList)) {
+ org.castor.util.CycleBreaker.releaseCycleHandle(this._treeList);
+ org.castor.util.CycleBreaker.releaseCycleHandle(temp._treeList);
+ return false;
+ }
+ org.castor.util.CycleBreaker.releaseCycleHandle(this._treeList);
+ org.castor.util.CycleBreaker.releaseCycleHandle(temp._treeList);
+ }
+ }
+ } else if (temp._treeList != null)
return false;
if (this._provenance != null) {
if (temp._provenance == null) return false;
- else if (!(this._provenance.equals(temp._provenance)))
- return false;
- }
- else if (temp._provenance != null)
+ if (this._provenance != temp._provenance) {
+ thcycle=org.castor.util.CycleBreaker.startingToCycle(this._provenance);
+ tmcycle=org.castor.util.CycleBreaker.startingToCycle(temp._provenance);
+ if (thcycle!=tmcycle) {
+ if (!thcycle) { org.castor.util.CycleBreaker.releaseCycleHandle(this._provenance); };
+ if (!tmcycle) { org.castor.util.CycleBreaker.releaseCycleHandle(temp._provenance); };
+ return false;
+ }
+ if (!thcycle) {
+ if (!this._provenance.equals(temp._provenance)) {
+ org.castor.util.CycleBreaker.releaseCycleHandle(this._provenance);
+ org.castor.util.CycleBreaker.releaseCycleHandle(temp._provenance);
+ return false;
+ }
+ org.castor.util.CycleBreaker.releaseCycleHandle(this._provenance);
+ org.castor.util.CycleBreaker.releaseCycleHandle(temp._provenance);
+ }
+ }
+ } else if (temp._provenance != null)
return false;
return true;
}
int result = super.hashCode();
long tmp;
- if (_id != null) {
+ if (_id != null
+ && !org.castor.util.CycleBreaker.startingToCycle(_id)) {
result = 37 * result + _id.hashCode();
+ org.castor.util.CycleBreaker.releaseCycleHandle(_id);
}
- if (_sequenceList != null) {
+ if (_sequenceList != null
+ && !org.castor.util.CycleBreaker.startingToCycle(_sequenceList)) {
result = 37 * result + _sequenceList.hashCode();
+ org.castor.util.CycleBreaker.releaseCycleHandle(_sequenceList);
}
- if (_sequenceMappingList != null) {
+ if (_sequenceMappingList != null
+ && !org.castor.util.CycleBreaker.startingToCycle(_sequenceMappingList)) {
result = 37 * result + _sequenceMappingList.hashCode();
+ org.castor.util.CycleBreaker.releaseCycleHandle(_sequenceMappingList);
}
- if (_dataSetAnnotationsList != null) {
+ if (_dataSetAnnotationsList != null
+ && !org.castor.util.CycleBreaker.startingToCycle(_dataSetAnnotationsList)) {
result = 37 * result + _dataSetAnnotationsList.hashCode();
+ org.castor.util.CycleBreaker.releaseCycleHandle(_dataSetAnnotationsList);
}
- if (_alignmentList != null) {
+ if (_alignmentList != null
+ && !org.castor.util.CycleBreaker.startingToCycle(_alignmentList)) {
result = 37 * result + _alignmentList.hashCode();
+ org.castor.util.CycleBreaker.releaseCycleHandle(_alignmentList);
}
- if (_treeList != null) {
+ if (_treeList != null
+ && !org.castor.util.CycleBreaker.startingToCycle(_treeList)) {
result = 37 * result + _treeList.hashCode();
+ org.castor.util.CycleBreaker.releaseCycleHandle(_treeList);
}
- if (_provenance != null) {
+ if (_provenance != null
+ && !org.castor.util.CycleBreaker.startingToCycle(_provenance)) {
result = 37 * result + _provenance.hashCode();
+ org.castor.util.CycleBreaker.releaseCycleHandle(_provenance);
}
return result;