package com.stktrk.app; import com.arcadedb.gremlin.ArcadeGraph; import com.github.javafaker.Faker; import com.stktrk.app.configuration.GraphDbConfig; import org.apache.tinkerpop.gremlin.structure.Vertex; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import java.util.Collections; import java.util.List; import java.util.StringJoiner; // https://stackoverflow.com/questions/51221777/failed-to-configure-a-datasource-url-attribute-is-not-specified-and-no-embedd @SpringBootApplication(exclude = {DataSourceAutoConfiguration.class}) @RestController public class AppApplication extends SpringBootServletInitializer { public static void main(String[] args) { SpringApplication.run(AppApplication.class, args); } @GetMapping("/hello") public String sayHello(@RequestParam(value = "myName", defaultValue = "World") String name) { List x = List.of(); /* try (ArcadeGraphFactory pool = ArcadeGraphFactory.withRemote("192.168.178.50", 2480, "graph", "root", "playwithdata")) { try (ArcadeGraph graph = pool.get()) { x = graph.traversal().V().toList(); } }*/ ArcadeGraph g = ConnectionPool.getGraph(); Faker faker = new Faker(); g.traversal().addV("Profile").property("name", faker.name().firstName()).property("lastName", faker.name().lastName()) .iterate(); x = g.traversal().V().toList(); g.close(); x.sort((a, b) -> a.id().toString().compareTo(b.id().toString())); StringJoiner sj = new StringJoiner("
\n"); x.forEach(v -> sj.add(v.id().toString()+ " - " +(String) v.property("name").value() + " " + (String) v.property("lastName").value() )); return "Hello, " + name + "! There are " + x.size() + " vertices.
\n" + sj; } @GetMapping("/delete") public String delete () { ArcadeGraph g = ConnectionPool.getGraph(); g.traversal().V().hasLabel("Profile").drop().iterate(); g.close(); return "Done."; } }