ネットワークを描画し、swing ベースの GUI ですべてのパラメーターを設定するシナリオがあります。その後、このネットワークを別のフレームワークが読み取って仮想マシンの形でこのネットワークを実現する Python ベースのスクリプトに変換する必要があります。
例として、ここを見てください:
from mininet.topo import Topo, Node
class MyTopo( Topo ):
def *__init__*( self, enable_all = True ):
super( MyTopo, self ).__init__()
Host = 1
Switch = 2
self.add_node( Switch, Node( is_switch=True ) )
self.add_node( Host, Node( is_switch=False ) )
self.add_edge( Host, Switch )
self.enable_all()
topos = { 'mytopo': ( lambda: MyTopo() ) }
host
aを a に接続するだけswitch
で、このトポロジを Python フレームワークで実現できます。
今のところ、Java GUI で描画されたネットワークを実現するために、私がやっていることは次のとおりです。
ProcessBuilder
GUI から情報を取得し、Java コードを使用して上記のような新しい python ファイルを作成し、 Class in Java を使用してこのファイルを mininet で実行します。
私が知りたいのは、これが私がこれを行っている正しい堅牢な方法なのか、それともJava-Pythonブリッジのようなシナリオをより効果的にするか、より専門的に言うかをさらに検討する必要があるかどうかです。
編集:
私が疑問に思っていたオプションは次のとおりです。
Python で逆シリアル化できるよく知られた形式 (yaml かな?) で GUI をシリアル化し、Python に追加機能を追加して、その情報をこのスクリプトに渡します。
コード内から直接これを行うには、Java-Python ブリッジを追加しますか??
他のアイデアはありますか?私は何をすべきか、またはここで行われていることは何でも得意です。