//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#: //ORIGINAL LINE: public void registerProcedures(org.neo4j.kernel.impl.proc.Procedures procedures, org.neo4j.kernel.impl.proc.ProcedureConfig procedureConfig) throws org.neo4j.internal.kernel.api.exceptions.KernelException public virtual void RegisterProcedures(Procedures procedures, ProcedureConfig procedureConfig) { procedures.RegisterProcedure(typeof(Org.Neo4j.Kernel.builtinprocs.BuiltInProcedures)); procedures.RegisterProcedure(typeof(Org.Neo4j.Kernel.builtinprocs.TokenProcedures)); procedures.RegisterProcedure(typeof(Org.Neo4j.Kernel.builtinprocs.BuiltInDbmsProcedures)); procedures.RegisterBuiltInFunctions(typeof(Org.Neo4j.Kernel.builtinprocs.BuiltInFunctions)); registerTemporalFunctions(procedures, procedureConfig); RegisterEditionSpecificProcedures(procedures); }
private static Procedures SetupProcedures(PlatformModule platform, AbstractEditionModule editionModule, GraphDatabaseFacade facade) { File pluginDir = platform.Config.get(GraphDatabaseSettings.plugin_dir); Log internalLog = platform.Logging.getInternalLog(typeof(Procedures)); ProcedureConfig procedureConfig = new ProcedureConfig(platform.Config); Procedures procedures = new Procedures(facade, new SpecialBuiltInProcedures(Version.Neo4jVersion, platform.DatabaseInfo.edition.ToString()), pluginDir, internalLog, procedureConfig); platform.Life.add(procedures); platform.Dependencies.satisfyDependency(procedures); procedures.RegisterType(typeof(Node), NTNode); procedures.RegisterType(typeof(Relationship), NTRelationship); procedures.RegisterType(typeof(Path), NTPath); procedures.RegisterType(typeof(Geometry), NTGeometry); procedures.RegisterType(typeof(Point), NTPoint); // Register injected public API components Log proceduresLog = platform.Logging.getUserLog(typeof(Procedures)); procedures.RegisterComponent(typeof(Log), ctx => proceduresLog, true); procedures.RegisterComponent(typeof(ProcedureTransaction), new ProcedureTransactionProvider(), true); procedures.RegisterComponent(typeof(Org.Neo4j.Procedure.TerminationGuard), new TerminationGuardProvider(), true); // Below components are not public API, but are made available for internal // procedures to call, and to provide temporary workarounds for the following // patterns: // - Batch-transaction imports (GDAPI, needs to be real and passed to background processing threads) // - Group-transaction writes (same pattern as above, but rather than splitting large transactions, // combine lots of small ones) // - Bleeding-edge performance (KernelTransaction, to bypass overhead of working with Core API) procedures.RegisterComponent(typeof(DependencyResolver), ctx => ctx.get(DEPENDENCY_RESOLVER), false); procedures.RegisterComponent(typeof(KernelTransaction), ctx => ctx.get(KERNEL_TRANSACTION), false); procedures.RegisterComponent(typeof(GraphDatabaseAPI), ctx => ctx.get(DATABASE_API), false); // Security procedures procedures.RegisterComponent(typeof(SecurityContext), ctx => ctx.get(SECURITY_CONTEXT), true); procedures.RegisterComponent(typeof(ProcedureCallContext), ctx => ctx.get(PROCEDURE_CALL_CONTEXT), true); // Edition procedures try { editionModule.RegisterProcedures(procedures, procedureConfig); } catch (KernelException e) { internalLog.Error("Failed to register built-in edition procedures at start up: " + e.Message); } return(procedures); }