private void ShowUniqueConstraints(DbStructureVisitor visitor, KernelTransaction ktx, TokenNameLookup nameLookup) { IEnumerator <ConstraintDescriptor> constraints = ktx.SchemaRead().constraintsGetAll(); while (constraints.MoveNext()) { ConstraintDescriptor constraint = constraints.Current; string userDescription = constraint.PrettyPrint(nameLookup); if (constraint is UniquenessConstraintDescriptor) { visitor.VisitUniqueConstraint(( UniquenessConstraintDescriptor )constraint, userDescription); } else if (constraint is NodeExistenceConstraintDescriptor) { NodeExistenceConstraintDescriptor existenceConstraint = ( NodeExistenceConstraintDescriptor )constraint; visitor.VisitNodePropertyExistenceConstraint(existenceConstraint, userDescription); } else if (constraint is RelExistenceConstraintDescriptor) { RelExistenceConstraintDescriptor existenceConstraint = ( RelExistenceConstraintDescriptor )constraint; visitor.VisitRelationshipPropertyExistenceConstraint(existenceConstraint, userDescription); } else if (constraint is NodeKeyConstraintDescriptor) { NodeKeyConstraintDescriptor nodeKeyConstraint = ( NodeKeyConstraintDescriptor )constraint; visitor.VisitNodeKeyConstraint(nodeKeyConstraint, userDescription); } else { throw new System.ArgumentException("Unknown constraint type: " + constraint.GetType() + ", " + "constraint: " + constraint); } } }
public override void VisitRelationshipPropertyExistenceConstraint(RelExistenceConstraintDescriptor constraint, string userDescription) { if (!_relPropertyExistenceConstraints.Add(constraint)) { throw new System.ArgumentException(format("Duplicated relationship property existence constraint %s for %s", constraint, userDescription)); } }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Test public void constraintPropertyIdsNotUpdatedByConstraintEnforcer() public virtual void ConstraintPropertyIdsNotUpdatedByConstraintEnforcer() { UniquenessConstraintDescriptor uniquenessConstraint = ConstraintDescriptorFactory.uniqueForLabel(1, 1, 70, 8); NodeKeyConstraintDescriptor nodeKeyConstraint = ConstraintDescriptorFactory.nodeKeyForLabel(2, 12, 7, 13); RelExistenceConstraintDescriptor relTypeConstraint = ConstraintDescriptorFactory.existsForRelType(3, 5, 13, 8); IList <ConstraintDescriptor> descriptors = Arrays.asList(uniquenessConstraint, nodeKeyConstraint, relTypeConstraint); StorageReader storageReader = PrepareStorageReaderMock(descriptors); PropertyExistenceEnforcer.GetOrCreatePropertyExistenceEnforcerFrom(storageReader); assertArrayEquals("Property ids should remain untouched.", new int[] { 1, 70, 8 }, uniquenessConstraint.Schema().PropertyIds); assertArrayEquals("Property ids should remain untouched.", new int[] { 12, 7, 13 }, nodeKeyConstraint.Schema().PropertyIds); assertArrayEquals("Property ids should remain untouched.", new int[] { 5, 13, 8 }, relTypeConstraint.Schema().PropertyIds); }