diff --git a/api/server/pom.xml b/api/server/pom.xml index 26ce369..fab4130 100644 --- a/api/server/pom.xml +++ b/api/server/pom.xml @@ -1,111 +1,116 @@ 4.0.0 org.softwareheritage.graph graph 1.0-ALPHA graph https://www.softwareheritage.org/ UTF-8 1.8 1.8 junit junit 4.11 test io.javalin javalin 2.8.0 org.slf4j slf4j-simple 1.7.26 com.fasterxml.jackson.core jackson-databind 2.9.8 + + it.unimi.dsi + webgraph + 3.6.1 + maven-clean-plugin 3.1.0 maven-resources-plugin 3.0.2 maven-compiler-plugin 3.8.0 maven-surefire-plugin 2.22.1 maven-jar-plugin 3.0.2 maven-install-plugin 2.5.2 maven-deploy-plugin 2.8.2 maven-site-plugin 3.7.1 maven-project-info-reports-plugin 3.0.0 maven-assembly-plugin org.softwareheritage.graph.App jar-with-dependencies make-assembly package single diff --git a/api/server/src/main/java/org/softwareheritage/graph/App.java b/api/server/src/main/java/org/softwareheritage/graph/App.java index b07b18c..ffad3ad 100644 --- a/api/server/src/main/java/org/softwareheritage/graph/App.java +++ b/api/server/src/main/java/org/softwareheritage/graph/App.java @@ -1,18 +1,18 @@ package org.softwareheritage.graph; import io.javalin.Javalin; import org.softwareheritage.graph.GraphAPI; public class App { public static void main(String[] args) { - GraphAPI graph = new GraphAPI(); + GraphAPI graph = new GraphAPI("/path/to/graph"); Javalin app = Javalin.create().start(5010); app.get("/nb_nodes", ctx -> { ctx.json(graph.nbNodes()); }); } } diff --git a/api/server/src/main/java/org/softwareheritage/graph/GraphAPI.java b/api/server/src/main/java/org/softwareheritage/graph/GraphAPI.java index 9e68bd9..c16ff19 100644 --- a/api/server/src/main/java/org/softwareheritage/graph/GraphAPI.java +++ b/api/server/src/main/java/org/softwareheritage/graph/GraphAPI.java @@ -1,9 +1,27 @@ package org.softwareheritage.graph; +import java.io.IOException; + +import it.unimi.dsi.webgraph.BVGraph; + public class GraphAPI { + String graphName; + BVGraph graph; + + public GraphAPI(String graphName) + { + this.graphName = graphName; + try { + this.graph = BVGraph.load(graphName); + } + catch (IOException e) { + throw new RuntimeException(e); + } + } + public int nbNodes() { - return 42; + return graph.numNodes(); } }