Esempio n. 1
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @SuppressWarnings("resource") @Override public void createCommands(java.util.Collection<org.neo4j.storageengine.api.StorageCommand> commands, org.neo4j.storageengine.api.txstate.ReadableTransactionState txState, org.neo4j.storageengine.api.StorageReader storageReader, org.neo4j.storageengine.api.lock.ResourceLocker locks, long lastTransactionIdWhenStarted, org.neo4j.storageengine.api.txstate.TxStateVisitor_Decorator additionalTxStateVisitor) throws org.neo4j.internal.kernel.api.exceptions.TransactionFailureException, org.neo4j.internal.kernel.api.exceptions.schema.CreateConstraintFailureException, org.neo4j.internal.kernel.api.exceptions.schema.ConstraintValidationException
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
        public override void CreateCommands(ICollection <StorageCommand> commands, ReadableTransactionState txState, StorageReader storageReader, ResourceLocker locks, long lastTransactionIdWhenStarted, Org.Neo4j.Storageengine.Api.txstate.TxStateVisitor_Decorator additionalTxStateVisitor)
        {
            if (txState != null)
            {
                // We can make this cast here because we expected that the storageReader passed in here comes from
                // this storage engine itself, anything else is considered a bug. And we do know the inner workings
                // of the storage statements that we create.
                RecordStorageCommandCreationContext creationContext = (( RecordStorageReader )storageReader).CommandCreationContext;
                TransactionRecordState recordState = creationContext.CreateTransactionRecordState(_integrityValidator, lastTransactionIdWhenStarted, locks);

                // Visit transaction state and populate these record state objects
                TxStateVisitor    txStateVisitor    = new TransactionToRecordStateVisitor(recordState, _schemaState, _schemaStorage, _constraintSemantics);
                CountsRecordState countsRecordState = new CountsRecordState();
                txStateVisitor = additionalTxStateVisitor.apply(txStateVisitor);
                txStateVisitor = new TransactionCountingStateVisitor(txStateVisitor, storageReader, txState, countsRecordState);
                using (TxStateVisitor visitor = txStateVisitor)
                {
                    txState.Accept(visitor);
                }

                // Convert record state into commands
                recordState.ExtractCommands(commands);
                countsRecordState.ExtractCommands(commands);
            }
        }
Esempio n. 2
0
//JAVA TO C# CONVERTER WARNING: 'final' parameters are ignored unless the option to convert to C# 7.2 'in' parameters is selected:
//ORIGINAL LINE: public <Tracker extends org.neo4j.kernel.impl.api.CountsVisitor.Visitable & org.neo4j.kernel.impl.api.CountsAccessor> void verify(final Tracker tracker)
        public virtual void Verify <Tracker>(Tracker tracker) where Tracker : Org.Neo4j.Kernel.Impl.Api.CountsVisitor.Visitable, Org.Neo4j.Kernel.Impl.Api.CountsAccessor
        {
            CountsRecordState seenState = new CountsRecordState();

//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final org.neo4j.kernel.impl.api.CountsAccessor_Initializer initializer = new org.neo4j.kernel.impl.api.CountsAccessor_Initializer(seenState, seenState);
            Org.Neo4j.Kernel.Impl.Api.CountsAccessor_Initializer initializer = new Org.Neo4j.Kernel.Impl.Api.CountsAccessor_Initializer(seenState, seenState);
            IList <CountsRecordState.Difference> differences = _state.verify(verifier => tracker.accept(Org.Neo4j.Kernel.Impl.Api.CountsVisitor_Adapter.Multiplex(initializer, verifier)));

            seenState.Accept(new CountsVisitorAnonymousInnerClass(this, tracker));
            if (differences.Count > 0)
            {
                StringBuilder errors = (new StringBuilder()).Append("Counts differ in ").Append(differences.Count).Append(" places...");
                foreach (CountsRecordState.Difference difference in differences)
                {
                    errors.Append("\n\t").Append(difference);
                }
                throw new AssertionError(errors.ToString());
            }
        }