Exemplo n.º 1
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Before public void createLabelAndProperty() throws Exception
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
        public virtual void CreateLabelAndProperty()
        {
            TokenWrite tokenWrites = TokenWriteInNewTransaction();

            _labelId        = tokenWrites.LabelGetOrCreateForName(LABEL);
            _labelId2       = tokenWrites.LabelGetOrCreateForName(LABEL2);
            _relType        = tokenWrites.RelationshipTypeGetOrCreateForName(REL_TYPE);
            _relType2       = tokenWrites.RelationshipTypeGetOrCreateForName(REL_TYPE2);
            _propertyKeyId  = tokenWrites.PropertyKeyGetOrCreateForName(PROPERTY_KEY);
            _propertyKeyId2 = tokenWrites.PropertyKeyGetOrCreateForName(PROPERTY_KEY2);
            _descriptor     = SchemaDescriptorFactory.forLabel(_labelId, _propertyKeyId);
            _descriptor2    = SchemaDescriptorFactory.forLabel(_labelId, _propertyKeyId2);
            Commit();
            _executorService = Executors.newCachedThreadPool();
        }
Exemplo n.º 2
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @BeforeClass public static void initStorage() throws Exception
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
        public static void InitStorage()
        {
            using (Transaction transaction = Db.beginTx())
            {
                TokenWrite tokenWrite = Transaction.tokenWrite();
                tokenWrite.PropertyKeyGetOrCreateForName(PROP1);
                tokenWrite.PropertyKeyGetOrCreateForName(PROP2);
                tokenWrite.LabelGetOrCreateForName(LABEL1);
                tokenWrite.LabelGetOrCreateForName(LABEL2);
                tokenWrite.RelationshipTypeGetOrCreateForName(TYPE1);
                transaction.Success();
            }
            SchemaStore schemaStore = ResolveDependency(typeof(RecordStorageEngine)).testAccessNeoStores().SchemaStore;

            _storage = new SchemaStorage(schemaStore);
        }
Exemplo n.º 3
0
            public override ConstraintDefinition CreatePropertyExistenceConstraint(Label label, params string[] propertyKeys)
            {
                KernelTransaction transaction = SafeAcquireTransaction(TransactionSupplier);

                using (Statement ignore = transaction.AcquireStatement())
                {
                    try
                    {
                        TokenWrite tokenWrite     = transaction.TokenWrite();
                        int        labelId        = tokenWrite.LabelGetOrCreateForName(label.Name());
                        int[]      propertyKeyIds = getOrCreatePropertyKeyIds(tokenWrite, propertyKeys);
                        transaction.SchemaWrite().nodePropertyExistenceConstraintCreate(forLabel(labelId, propertyKeyIds));
                        return(new NodePropertyExistenceConstraintDefinition(this, label, propertyKeys));
                    }
                    catch (Exception e) when(e is AlreadyConstrainedException || e is CreateConstraintFailureException || e is RepeatedSchemaComponentException)
                    {
                        throw new ConstraintViolationException(e.getUserMessage(new SilentTokenNameLookup(transaction.TokenRead())), e);
                    }
                    catch (IllegalTokenNameException e)
                    {
                        throw new System.ArgumentException(e);
                    }
                    catch (TooManyLabelsException e)
                    {
                        throw new System.InvalidOperationException(e);
                    }
                    catch (Exception e) when(e is InvalidTransactionTypeKernelException || e is SchemaKernelException)
                    {
                        throw new ConstraintViolationException(e.Message, e);
                    }
                }
            }
Exemplo n.º 4
0
            public override IndexDefinition CreateIndexDefinition(Label label, Optional <string> indexName, params string[] propertyKeys)
            {
                KernelTransaction transaction = SafeAcquireTransaction(TransactionSupplier);

                using (Statement ignore = transaction.AcquireStatement())
                {
                    try
                    {
                        TokenWrite            tokenWrite     = transaction.TokenWrite();
                        int                   labelId        = tokenWrite.LabelGetOrCreateForName(label.Name());
                        int[]                 propertyKeyIds = getOrCreatePropertyKeyIds(tokenWrite, propertyKeys);
                        LabelSchemaDescriptor descriptor     = forLabel(labelId, propertyKeyIds);
                        IndexReference        indexReference = transaction.SchemaWrite().indexCreate(descriptor, indexName);
                        return(new IndexDefinitionImpl(this, indexReference, new Label[] { label }, propertyKeys, false));
                    }

                    catch (IllegalTokenNameException e)
                    {
                        throw new System.ArgumentException(e);
                    }
                    catch (Exception e) when(e is InvalidTransactionTypeKernelException || e is SchemaKernelException)
                    {
                        throw new ConstraintViolationException(e.GetUserMessage(new SilentTokenNameLookup(transaction.TokenRead())), e);
                    }
                }
            }
Exemplo n.º 5
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Before public void createKeys() throws Exception
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
        public virtual void CreateKeys()
        {
            TokenWrite tokenWrite = TokenWriteInNewTransaction();

            this._labelId     = tokenWrite.LabelGetOrCreateForName("Person");
            this._propertyId1 = tokenWrite.PropertyKeyGetOrCreateForName("foo");
            this._propertyId2 = tokenWrite.PropertyKeyGetOrCreateForName("bar");
            Commit();
        }
Exemplo n.º 6
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void createIndexForAnotherLabelWhileHoldingSharedLockOnOtherLabel() throws org.neo4j.internal.kernel.api.exceptions.KernelException
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
        public virtual void CreateIndexForAnotherLabelWhileHoldingSharedLockOnOtherLabel()
        {
            TokenWrite tokenWrite = TokenWriteInNewTransaction();
            int        label2     = tokenWrite.LabelGetOrCreateForName("Label2");

            Write write  = DataWriteInNewTransaction();
            long  nodeId = write.NodeCreate();

            write.NodeAddLabel(nodeId, label2);

            SchemaWriteInNewTransaction().indexCreate(_descriptor);
            Commit();
        }
Exemplo n.º 7
0
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
//ORIGINAL LINE: private void getOrCreateIds() throws org.neo4j.internal.kernel.api.exceptions.KernelException
        private void getOrCreateIds()
        {
            using (Transaction tx = _graphDb.beginTx())
            {
                ThreadToStatementContextBridge bridge = _graphDb.DependencyResolver.resolveDependency(typeof(ThreadToStatementContextBridge));

                TokenWrite tokenWrite = bridge.GetKernelTransactionBoundToThisThread(true).tokenWrite();
                _labelId          = tokenWrite.LabelGetOrCreateForName("Person");
                _relTypeId        = tokenWrite.RelationshipTypeGetOrCreateForName("Knows");
                _propertyKeyId    = tokenWrite.PropertyKeyGetOrCreateForName("name");
                _relPropertyKeyId = tokenWrite.PropertyKeyGetOrCreateForName("duration");
                tx.Success();
            }
        }
Exemplo n.º 8
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test(timeout = 10_000) public void createIndexesForDifferentLabelsConcurrently() throws Throwable
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
        public virtual void CreateIndexesForDifferentLabelsConcurrently()
        {
            TokenWrite tokenWrite = TokenWriteInNewTransaction();
            int        label2     = tokenWrite.LabelGetOrCreateForName("Label2");

            LabelSchemaDescriptor anotherLabelDescriptor = SchemaDescriptorFactory.forLabel(label2, _propertyKeyId);

            SchemaWriteInNewTransaction().indexCreate(anotherLabelDescriptor);

//JAVA TO C# CONVERTER WARNING: Java wildcard generics have no direct equivalent in .NET:
//ORIGINAL LINE: java.util.concurrent.Future<?> indexFuture = executorService.submit(createIndex(db, label(LABEL), PROPERTY_KEY));
            Future <object> indexFuture = _executorService.submit(CreateIndex(Db, label(LABEL), PROPERTY_KEY));

            indexFuture.get();
            Commit();
        }
Exemplo n.º 9
0
            public override ConstraintDefinition CreateNodeKeyConstraint(IndexDefinition indexDefinition)
            {
                if (indexDefinition.MultiTokenIndex)
                {
                    throw new ConstraintViolationException("A node key constraint does not support multi-token index definitions. " + "That is, only a single label is supported, but the following labels were provided: " + labelNameList(indexDefinition.Labels, "", "."));
                }
                KernelTransaction transaction = SafeAcquireTransaction(TransactionSupplier);

                using (Statement ignore = transaction.AcquireStatement())
                {
                    try
                    {
                        TokenWrite tokenWrite     = transaction.TokenWrite();
                        int        labelId        = tokenWrite.LabelGetOrCreateForName(single(indexDefinition.Labels).name());
                        int[]      propertyKeyIds = getOrCreatePropertyKeyIds(tokenWrite, indexDefinition);
                        transaction.SchemaWrite().nodeKeyConstraintCreate(forLabel(labelId, propertyKeyIds));
                        return(new NodeKeyConstraintDefinition(this, indexDefinition));
                    }
                    catch (Exception e) when(e is AlreadyConstrainedException || e is CreateConstraintFailureException || e is AlreadyIndexedException || e is RepeatedSchemaComponentException)
                    {
                        throw new ConstraintViolationException(e.getUserMessage(new SilentTokenNameLookup(transaction.TokenRead())), e);
                    }
                    catch (IllegalTokenNameException e)
                    {
                        throw new System.ArgumentException(e);
                    }
                    catch (TooManyLabelsException e)
                    {
                        throw new System.InvalidOperationException(e);
                    }
                    catch (Exception e) when(e is InvalidTransactionTypeKernelException || e is SchemaKernelException)
                    {
                        throw new ConstraintViolationException(e.Message, e);
                    }
                }
            }
Exemplo n.º 10
0
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
//ORIGINAL LINE: int initializeLabelOrRelType(org.neo4j.internal.kernel.api.TokenWrite tokenWrite, String name) throws org.neo4j.internal.kernel.api.exceptions.KernelException
        internal override int InitializeLabelOrRelType(TokenWrite tokenWrite, string name)
        {
            return(tokenWrite.LabelGetOrCreateForName(name));
        }