auth-server/src/main/java/com/stktrk/app/AppApplication.java

69 lines
2.5 KiB
Java

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<Vertex> 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("<br />\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.<br/>\n" + sj;
}
@GetMapping("/delete")
public String delete () {
ArcadeGraph g = ConnectionPool.getGraph();
g.traversal().V().hasLabel("Profile").drop().iterate();
g.close();
return "Done.";
}
}