通常のグラフを作成し、Gephi ツールキットを使用して Gephi GUI にストリーミングしようとしています。ツールキットとストリーミング プラグインのチュートリアルに従っています。ルックアップ API が有効な値を返さないため、コードを機能させるのに苦労しています。デバッグ時に、以下の両方の Lookup メソッドが null 値を返すことがわかりました。そのため、これらのオブジェクトを使用して他のメソッドにアクセスする際に問題が発生しています。
StreamingServer サーバー = Lookup.getDefault().lookup(StreamingServer.class);
ServerControllerFactory controllerFactory = Lookup.getDefault().lookup(ServerControllerFactory.class);
「server」または「controllerFactory」の両方が null であるため、「server」または「controllerFactory」オブジェクトを使用してメソッドにアクセスすると、NullPointerException がスローされます。たとえば、次のとおりです。
ServerController serverController = controllerFactory.createServerController(graph); server.register(serverController、コンテキスト);
これは私が持っているコードです:
//Init a project - and therefore a workspace
ProjectController pc = Lookup.getDefault().lookup(ProjectController.class);
pc.newProject();
Workspace workspace = pc.getCurrentWorkspace();
// Get the graph instance
GraphController graphController = Lookup.getDefault().lookup(GraphController.class);
GraphModel graphModel = graphController.getModel();
Graph graph = graphModel.getGraph();
//Add sample graph structure data
Node n1;
Node n2;
n1 = graphModel.factory().newNode();
n2 = graphModel.factory().newNode();
Edge edge = graphModel.factory().newEdge(n1, n2);
graph.addNode(n1);
graph.addNode(n2);
graph.addEdge(edge);
n1.getNodeData().setLabel("Node 1");
n2.getNodeData().setLabel("Node 2");
edge.getEdgeData().setLabel("Edge 1");
System.out.println(graph.getNodeCount() + " nodes");
System.out.println(graph.getEdgeCount() + " edges");
System.out.println();
StreamingServer server = Lookup.getDefault().lookup(StreamingServer.class);
ServerControllerFactory controllerFactory = Lookup.getDefault().lookup(ServerControllerFactory.class);
ServerController serverController = controllerFactory.createServerController(graph);
String context = "/mycontext";
server.register(serverController, context);
これを解決するための入力は役に立ちます。