/ / Ricerca in Jython (e Gephi) - java, jython, ricerca

Ricerca in Jython (e Gephi) - java, jython, ricerca

Sto cercando di usare Gephi Toolkit in Jython, ma ho problemi con esso. Il codice è qui sotto:

import sys
sys.path.append("gephi-toolkit.jar")
from org.openide.util import Lookup
import org.gephi.project.api.ProjectController as ProjectController

pc = Lookup.getDefault().lookup(ProjectController)
workspace = pc.newProject()

print "done."

Non raggiunge mai l'ultima riga. Invece dà il seguente errore:

Traceback (most recent call last):
File "standalone.py", line 9, in <module>
workspace = pc.newProject()
AttributeError: "NoneType" object has no attribute "newProject"

Apparentemente, "Lookup.getDefault (). Lookup (ProjectController)" restituisce None. Qualcuno può dirmi perché? Ho scoperto che la seguente soluzione alternativa funziona (che ignora la ricerca):

...
import org.gephi.project.impl.ProjectControllerImpl as ProjectControllerImpl
pc = ProjectControllerImpl()
workspace = pc.newProject()

Mi piacerebbe saperne di più su questo problema. Grazie.

risposte:

1 per risposta № 1

Penso che sia perché la ricerca richiede un riferimento alla classe java, non al wrapper jython

prova questo e vedi se funziona per te, almeno per me restituisce un'istanza di org.gephi.project.impl.ProjectControllerImpl

importa sys

da org.openide.util import Lookup

importare java.lang.Class

import org.gephi.project.api.ProjectController come ProjectController

pc = Lookup.getDefault (). lookup (java.lang.Class.forName ("org.gephi.project.api.ProjectController"))

stampa (pc)


invoca l'uso (cambia dove è installato il tuo gephi)

imposta CLASSPATH =% CLASSPATH%; C: javagephi-toolkit-0.7.2014-allgephi-toolkit.jar

jython.bat gephi_test.jy

dovresti vedere qualcosa di simile

C: jython2.5.2> jython.bat gephi_test.jy

org.gephi.project.impl.ProjectControllerImpl@8ddb93