diff --git a/enterprise/bloom-index/pom.xml b/enterprise/bloom-index/pom.xml
index 7039403100273..78ba725d4af30 100644
--- a/enterprise/bloom-index/pom.xml
+++ b/enterprise/bloom-index/pom.xml
@@ -113,6 +113,12 @@
neo4j-lucene-index3.3.0-SNAPSHOT
+
+ org.neo4j
+ neo4j-community
+ 3.3.0-SNAPSHOT
+ test
+
diff --git a/enterprise/bloom-index/src/main/java/org/neo4j/kernel/api/impl/bloom/BloomDocumentStructure.java b/enterprise/bloom-index/src/main/java/org/neo4j/kernel/api/impl/bloom/BloomDocumentStructure.java
index e157c91b3e475..a963edbd3afdc 100644
--- a/enterprise/bloom-index/src/main/java/org/neo4j/kernel/api/impl/bloom/BloomDocumentStructure.java
+++ b/enterprise/bloom-index/src/main/java/org/neo4j/kernel/api/impl/bloom/BloomDocumentStructure.java
@@ -5,17 +5,17 @@
* This file is part of Neo4j.
*
* Neo4j is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
package org.neo4j.kernel.api.impl.bloom;
diff --git a/enterprise/bloom-index/src/main/java/org/neo4j/kernel/api/impl/bloom/BloomFieldEncoding.java b/enterprise/bloom-index/src/main/java/org/neo4j/kernel/api/impl/bloom/BloomFieldEncoding.java
index eba947b716c4c..4867477e101cd 100644
--- a/enterprise/bloom-index/src/main/java/org/neo4j/kernel/api/impl/bloom/BloomFieldEncoding.java
+++ b/enterprise/bloom-index/src/main/java/org/neo4j/kernel/api/impl/bloom/BloomFieldEncoding.java
@@ -5,17 +5,17 @@
* This file is part of Neo4j.
*
* Neo4j is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
package org.neo4j.kernel.api.impl.bloom;
diff --git a/enterprise/bloom-index/src/main/java/org/neo4j/kernel/api/impl/bloom/BloomIndex.java b/enterprise/bloom-index/src/main/java/org/neo4j/kernel/api/impl/bloom/BloomIndex.java
index 1ab5dc9bb6b74..c70c66b50b93f 100644
--- a/enterprise/bloom-index/src/main/java/org/neo4j/kernel/api/impl/bloom/BloomIndex.java
+++ b/enterprise/bloom-index/src/main/java/org/neo4j/kernel/api/impl/bloom/BloomIndex.java
@@ -5,17 +5,17 @@
* This file is part of Neo4j.
*
* Neo4j is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
package org.neo4j.kernel.api.impl.bloom;
diff --git a/enterprise/bloom-index/src/main/java/org/neo4j/kernel/api/impl/bloom/BloomIndexReader.java b/enterprise/bloom-index/src/main/java/org/neo4j/kernel/api/impl/bloom/BloomIndexReader.java
index 37d701334f821..237bfe0130888 100644
--- a/enterprise/bloom-index/src/main/java/org/neo4j/kernel/api/impl/bloom/BloomIndexReader.java
+++ b/enterprise/bloom-index/src/main/java/org/neo4j/kernel/api/impl/bloom/BloomIndexReader.java
@@ -5,17 +5,17 @@
* This file is part of Neo4j.
*
* Neo4j is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
package org.neo4j.kernel.api.impl.bloom;
diff --git a/enterprise/bloom-index/src/main/java/org/neo4j/kernel/api/impl/bloom/BloomIndexTransactionEventUpdater.java b/enterprise/bloom-index/src/main/java/org/neo4j/kernel/api/impl/bloom/BloomIndexTransactionEventUpdater.java
index 39d85f9d12298..5163600f082d5 100644
--- a/enterprise/bloom-index/src/main/java/org/neo4j/kernel/api/impl/bloom/BloomIndexTransactionEventUpdater.java
+++ b/enterprise/bloom-index/src/main/java/org/neo4j/kernel/api/impl/bloom/BloomIndexTransactionEventUpdater.java
@@ -5,17 +5,17 @@
* This file is part of Neo4j.
*
* Neo4j is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
package org.neo4j.kernel.api.impl.bloom;
diff --git a/enterprise/bloom-index/src/main/java/org/neo4j/kernel/api/impl/bloom/BloomLuceneIndex.java b/enterprise/bloom-index/src/main/java/org/neo4j/kernel/api/impl/bloom/BloomLuceneIndex.java
index 45d081e3c8810..6cc83d8d46131 100644
--- a/enterprise/bloom-index/src/main/java/org/neo4j/kernel/api/impl/bloom/BloomLuceneIndex.java
+++ b/enterprise/bloom-index/src/main/java/org/neo4j/kernel/api/impl/bloom/BloomLuceneIndex.java
@@ -5,17 +5,17 @@
* This file is part of Neo4j.
*
* Neo4j is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
package org.neo4j.kernel.api.impl.bloom;
diff --git a/enterprise/bloom-index/src/main/java/org/neo4j/kernel/api/impl/bloom/PartitionedBloomIndexReader.java b/enterprise/bloom-index/src/main/java/org/neo4j/kernel/api/impl/bloom/PartitionedBloomIndexReader.java
index ab2c7d0d29ac2..56401ac27dcb3 100644
--- a/enterprise/bloom-index/src/main/java/org/neo4j/kernel/api/impl/bloom/PartitionedBloomIndexReader.java
+++ b/enterprise/bloom-index/src/main/java/org/neo4j/kernel/api/impl/bloom/PartitionedBloomIndexReader.java
@@ -5,17 +5,17 @@
* This file is part of Neo4j.
*
* Neo4j is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
package org.neo4j.kernel.api.impl.bloom;
diff --git a/enterprise/bloom-index/src/main/java/org/neo4j/kernel/api/impl/bloom/PartitionedInsightBloomWriter.java b/enterprise/bloom-index/src/main/java/org/neo4j/kernel/api/impl/bloom/PartitionedInsightBloomWriter.java
index 4d72807c3f8e3..c2bf2eadedaae 100644
--- a/enterprise/bloom-index/src/main/java/org/neo4j/kernel/api/impl/bloom/PartitionedInsightBloomWriter.java
+++ b/enterprise/bloom-index/src/main/java/org/neo4j/kernel/api/impl/bloom/PartitionedInsightBloomWriter.java
@@ -5,17 +5,17 @@
* This file is part of Neo4j.
*
* Neo4j is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
package org.neo4j.kernel.api.impl.bloom;
diff --git a/enterprise/bloom-index/src/main/java/org/neo4j/kernel/api/impl/bloom/SimpleBloomIndexReader.java b/enterprise/bloom-index/src/main/java/org/neo4j/kernel/api/impl/bloom/SimpleBloomIndexReader.java
index 17fa3aa33e19c..050f1a7880d1b 100644
--- a/enterprise/bloom-index/src/main/java/org/neo4j/kernel/api/impl/bloom/SimpleBloomIndexReader.java
+++ b/enterprise/bloom-index/src/main/java/org/neo4j/kernel/api/impl/bloom/SimpleBloomIndexReader.java
@@ -5,17 +5,17 @@
* This file is part of Neo4j.
*
* Neo4j is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
package org.neo4j.kernel.api.impl.bloom;
diff --git a/enterprise/bloom-index/src/main/java/org/neo4j/kernel/api/impl/bloom/WritableDatabaseBloomIndex.java b/enterprise/bloom-index/src/main/java/org/neo4j/kernel/api/impl/bloom/WritableDatabaseBloomIndex.java
index eb9c7e8376ad4..3fd59296d26a8 100644
--- a/enterprise/bloom-index/src/main/java/org/neo4j/kernel/api/impl/bloom/WritableDatabaseBloomIndex.java
+++ b/enterprise/bloom-index/src/main/java/org/neo4j/kernel/api/impl/bloom/WritableDatabaseBloomIndex.java
@@ -5,17 +5,17 @@
* This file is part of Neo4j.
*
* Neo4j is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
package org.neo4j.kernel.api.impl.bloom;
diff --git a/enterprise/bloom-index/src/main/java/org/neo4j/kernel/api/impl/bloom/extension/BloomKernelExtension.java b/enterprise/bloom-index/src/main/java/org/neo4j/kernel/api/impl/bloom/integration/BloomKernelExtension.java
similarity index 65%
rename from enterprise/bloom-index/src/main/java/org/neo4j/kernel/api/impl/bloom/extension/BloomKernelExtension.java
rename to enterprise/bloom-index/src/main/java/org/neo4j/kernel/api/impl/bloom/integration/BloomKernelExtension.java
index e78338d6a8e5a..565f305b781d1 100644
--- a/enterprise/bloom-index/src/main/java/org/neo4j/kernel/api/impl/bloom/extension/BloomKernelExtension.java
+++ b/enterprise/bloom-index/src/main/java/org/neo4j/kernel/api/impl/bloom/integration/BloomKernelExtension.java
@@ -5,29 +5,30 @@
* This file is part of Neo4j.
*
* Neo4j is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
-package org.neo4j.kernel.api.impl.bloom.extension;
+package org.neo4j.kernel.api.impl.bloom.integration;
import java.io.File;
import java.io.IOException;
import org.neo4j.graphdb.GraphDatabaseService;
-import org.neo4j.index.impl.lucene.legacy.LuceneIndexImplementation;
import org.neo4j.io.fs.FileSystemAbstraction;
+import org.neo4j.kernel.api.exceptions.ProcedureException;
import org.neo4j.kernel.api.impl.bloom.BloomIndex;
import org.neo4j.kernel.api.impl.bloom.BloomIndexTransactionEventUpdater;
import org.neo4j.kernel.configuration.Config;
+import org.neo4j.kernel.impl.proc.Procedures;
import org.neo4j.kernel.lifecycle.LifecycleAdapter;
public class BloomKernelExtension extends LifecycleAdapter
@@ -36,23 +37,30 @@ public class BloomKernelExtension extends LifecycleAdapter
private final Config config;
private final FileSystemAbstraction fileSystemAbstraction;
private GraphDatabaseService db;
+ private Procedures procedures;
private BloomIndex bloomIndex;
private BloomIndexTransactionEventUpdater bloomIndexTransactionEventUpdater;
- public BloomKernelExtension( FileSystemAbstraction fileSystemAbstraction, File storeDir, Config config, GraphDatabaseService db )
+ public BloomKernelExtension( FileSystemAbstraction fileSystemAbstraction, File storeDir, Config config, GraphDatabaseService db, Procedures procedures )
{
this.storeDir = storeDir;
this.config = config;
this.fileSystemAbstraction = fileSystemAbstraction;
this.db = db;
+ this.procedures = procedures;
}
@Override
- public void init() throws IOException
+ public void init() throws IOException, ProcedureException
{
bloomIndex = new BloomIndex( fileSystemAbstraction, storeDir, config );
bloomIndexTransactionEventUpdater = bloomIndex.getUpdater();
db.registerTransactionEventHandler( bloomIndexTransactionEventUpdater );
+
+ BloomNodeProcedure nodeProc = new BloomNodeProcedure( bloomIndex );
+ BloomRelationshipProcedure relProc = new BloomRelationshipProcedure( bloomIndex );
+ procedures.register( nodeProc );
+ procedures.register( relProc );
}
@Override
diff --git a/enterprise/bloom-index/src/main/java/org/neo4j/kernel/api/impl/bloom/extension/BloomKernelExtensionFactory.java b/enterprise/bloom-index/src/main/java/org/neo4j/kernel/api/impl/bloom/integration/BloomKernelExtensionFactory.java
similarity index 71%
rename from enterprise/bloom-index/src/main/java/org/neo4j/kernel/api/impl/bloom/extension/BloomKernelExtensionFactory.java
rename to enterprise/bloom-index/src/main/java/org/neo4j/kernel/api/impl/bloom/integration/BloomKernelExtensionFactory.java
index 102ba71dc3d91..3596cf6f5a09c 100644
--- a/enterprise/bloom-index/src/main/java/org/neo4j/kernel/api/impl/bloom/extension/BloomKernelExtensionFactory.java
+++ b/enterprise/bloom-index/src/main/java/org/neo4j/kernel/api/impl/bloom/integration/BloomKernelExtensionFactory.java
@@ -5,24 +5,25 @@
* This file is part of Neo4j.
*
* Neo4j is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
-package org.neo4j.kernel.api.impl.bloom.extension;
+package org.neo4j.kernel.api.impl.bloom.integration;
import org.neo4j.graphdb.GraphDatabaseService;
import org.neo4j.io.fs.FileSystemAbstraction;
import org.neo4j.kernel.configuration.Config;
import org.neo4j.kernel.extension.KernelExtensionFactory;
+import org.neo4j.kernel.impl.proc.Procedures;
import org.neo4j.kernel.impl.spi.KernelContext;
import org.neo4j.kernel.lifecycle.Lifecycle;
@@ -38,6 +39,8 @@ public interface Dependencies
GraphDatabaseService db();
FileSystemAbstraction fileSystem();
+
+ Procedures procedures();
}
public BloomKernelExtensionFactory()
@@ -48,6 +51,6 @@ public BloomKernelExtensionFactory()
@Override
public Lifecycle newInstance( KernelContext context, Dependencies dependencies ) throws Throwable
{
- return new BloomKernelExtension( dependencies.fileSystem(), context.storeDir(), dependencies.getConfig(), dependencies.db() );
+ return new BloomKernelExtension( dependencies.fileSystem(), context.storeDir(), dependencies.getConfig(), dependencies.db(), dependencies.procedures() );
}
}
diff --git a/enterprise/bloom-index/src/main/java/org/neo4j/kernel/api/impl/bloom/integration/BloomNodeProcedure.java b/enterprise/bloom-index/src/main/java/org/neo4j/kernel/api/impl/bloom/integration/BloomNodeProcedure.java
new file mode 100644
index 0000000000000..7754a5a7cfbe0
--- /dev/null
+++ b/enterprise/bloom-index/src/main/java/org/neo4j/kernel/api/impl/bloom/integration/BloomNodeProcedure.java
@@ -0,0 +1,78 @@
+/*
+ * Copyright (c) 2002-2017 "Neo Technology,"
+ * Network Engine for Objects in Lund AB [http://neotechnology.com]
+ *
+ * This file is part of Neo4j.
+ *
+ * Neo4j is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ */
+package org.neo4j.kernel.api.impl.bloom.integration;
+
+import java.util.Arrays;
+
+import org.neo4j.collection.RawIterator;
+import org.neo4j.collection.primitive.PrimitiveLongIterator;
+import org.neo4j.kernel.api.exceptions.ProcedureException;
+import org.neo4j.kernel.api.exceptions.Status;
+import org.neo4j.kernel.api.impl.bloom.BloomIndex;
+import org.neo4j.kernel.api.impl.bloom.BloomIndexReader;
+import org.neo4j.kernel.api.proc.CallableProcedure;
+import org.neo4j.kernel.api.proc.Context;
+import org.neo4j.kernel.api.proc.Neo4jTypes;
+import org.neo4j.kernel.api.proc.QualifiedName;
+
+import static org.neo4j.kernel.api.proc.ProcedureSignature.procedureSignature;
+
+public class BloomNodeProcedure extends CallableProcedure.BasicProcedure
+{
+ private static final String PROCEDURE_NAME = "bloomNodes";
+ private static final String[] PROCEDURE_NAMESPACE = {"dbms", "bloom"};
+ private static final String OUTPUT_NAME = "nodeid";
+ private BloomIndex bloomIndex;
+
+ BloomNodeProcedure( BloomIndex bloomIndex )
+ {
+ super( procedureSignature( new QualifiedName( PROCEDURE_NAMESPACE, PROCEDURE_NAME ) ).in( "terms", Neo4jTypes.NTList( Neo4jTypes.NTString ) ).out(
+ OUTPUT_NAME, Neo4jTypes.NTInteger ).description( "Queries the bloom index for nodes." ).build() );
+ this.bloomIndex = bloomIndex;
+ }
+
+ @Override
+ public RawIterator