11package net .sansa_stack .inference .utils
22
33import java .io .{ByteArrayOutputStream , File , FileOutputStream , FileWriter }
4- import java .nio .charset .StandardCharsets
5- import java .nio .file .{Files , Paths }
64
7- import scala .collection .JavaConverters ._
85import scalax .collection .edge .LDiEdge
96
107import com .itextpdf .text .PageSize
@@ -24,7 +21,7 @@ import org.gephi.preview.types.EdgeColor
2421import org .gephi .project .api .ProjectController
2522import org .jgrapht .DirectedGraph
2623import org .jgrapht .alg .isomorphism .VF2GraphIsomorphismInspector
27- import org .jgrapht .ext .{ EdgeNameProvider , VertexNameProvider , _ }
24+ import org .jgrapht .ext ._
2825import org .jgrapht .graph ._
2926import org .openide .util .Lookup
3027
@@ -126,36 +123,36 @@ object GraphUtils {
126123
127124 // In order to be able to export edge and node labels and IDs,
128125 // we must implement providers for them
129- val vertexIDProvider = new VertexNameProvider [Rule ]() {
130- override def getVertexName (v : Rule ): String = v.getName
126+ val vertexIDProvider = new ComponentNameProvider [Rule ]() {
127+ override def getName (v : Rule ): String = v.getName
131128 }
132129
133- val vertexNameProvider = new VertexNameProvider [Rule ]() {
134- override def getVertexName (v : Rule ): String = v.getName
130+ val vertexNameProvider = new ComponentNameProvider [Rule ]() {
131+ override def getName (v : Rule ): String = v.getName
135132 }
136133
137- val edgeIDProvider = new EdgeNameProvider [LabeledEdge [Rule , TriplePattern ]]() {
138- override def getEdgeName (edge : LabeledEdge [Rule , TriplePattern ]): String = {
134+ val edgeIDProvider = new ComponentNameProvider [LabeledEdge [Rule , TriplePattern ]]() {
135+ override def getName (edge : LabeledEdge [Rule , TriplePattern ]): String = {
139136 g.getEdgeSource(edge) + " > " + g.getEdgeTarget(edge)
140137 }
141138 }
142139
143- val edgeLabelProvider = new EdgeNameProvider [LabeledEdge [Rule , TriplePattern ]]() {
144- override def getEdgeName (e : LabeledEdge [Rule , TriplePattern ]): String = e.label.toString
140+ val edgeLabelProvider = new ComponentNameProvider [LabeledEdge [Rule , TriplePattern ]]() {
141+ override def getName (e : LabeledEdge [Rule , TriplePattern ]): String = e.label.toString
145142 }
146143
147144// val exporter = new GraphMLExporter[String,LabeledEdge](
148145// vertexIDProvider, vertexNameProvider, edgeIDProvider,edgeLabelProvider)
149146
150147 val exporter = new GraphMLExporter [Rule , LabeledEdge [Rule , TriplePattern ]](
151- new IntegerNameProvider [Rule ],
148+ new IntegerComponentNameProvider [Rule ],
152149 vertexNameProvider,
153- new IntegerEdgeNameProvider [LabeledEdge [Rule , TriplePattern ]],
150+ new IntegerComponentNameProvider [LabeledEdge [Rule , TriplePattern ]],
154151 edgeLabelProvider)
155152
156153 val fw = new FileWriter (filename)
157154
158- exporter.export(fw, g )
155+ exporter.exportGraph(g, fw )
159156 }
160157
161158 def exportAsPDF (filename : String ): Unit = {
@@ -191,37 +188,37 @@ object GraphUtils {
191188 val g = graphModel.getDirectedGraph()
192189
193190 // Run YifanHuLayout for 100 passes - The layout always takes the current visible view
194- val layout = new YifanHuLayout (null , new StepDisplacement (1f ));
195- layout.setGraphModel(graphModel);
196- layout.resetPropertiesValues();
197- layout.setOptimalDistance(200f );
191+ val layout = new YifanHuLayout (null , new StepDisplacement (1f ))
192+ layout.setGraphModel(graphModel)
193+ layout.resetPropertiesValues()
194+ layout.setOptimalDistance(200f )
198195
199- layout.initAlgo();
196+ layout.initAlgo()
200197 for (i <- 0 to 100 if layout.canAlgo()) {
201- layout.goAlgo();
198+ layout.goAlgo()
202199 }
203- layout.endAlgo();
204-
205- val model = Lookup .getDefault().lookup(classOf [PreviewController ]).getModel();
206- model.getProperties().putValue(PreviewProperty .SHOW_NODE_LABELS , true );
207- model.getProperties().putValue(PreviewProperty .SHOW_EDGE_LABELS , true );
208- model.getProperties().putValue(PreviewProperty .EDGE_CURVED , false );
209- model.getProperties().putValue(PreviewProperty .EDGE_COLOR , new EdgeColor (java.awt.Color .GRAY ));
210- model.getProperties().putValue(PreviewProperty .EDGE_THICKNESS , 0.1f );
211- model.getProperties().putValue(PreviewProperty .NODE_LABEL_FONT , model.getProperties().getFontValue(PreviewProperty .NODE_LABEL_FONT ).deriveFont(8 ));
200+ layout.endAlgo()
201+
202+ val model = Lookup .getDefault().lookup(classOf [PreviewController ]).getModel()
203+ model.getProperties().putValue(PreviewProperty .SHOW_NODE_LABELS , true )
204+ model.getProperties().putValue(PreviewProperty .SHOW_EDGE_LABELS , true )
205+ model.getProperties().putValue(PreviewProperty .EDGE_CURVED , false )
206+ model.getProperties().putValue(PreviewProperty .EDGE_COLOR , new EdgeColor (java.awt.Color .GRAY ))
207+ model.getProperties().putValue(PreviewProperty .EDGE_THICKNESS , 0.1f )
208+ model.getProperties().putValue(PreviewProperty .NODE_LABEL_FONT , model.getProperties().getFontValue(PreviewProperty .NODE_LABEL_FONT ).deriveFont(8 ))
212209 model.getProperties.putValue(Item .NODE_LABEL , " Vertex Label" )
213210
214211
215212 // Export full graph
216- val ec = Lookup .getDefault().lookup(classOf [ExportController ]);
213+ val ec = Lookup .getDefault().lookup(classOf [ExportController ])
217214 // ec.exportFile(new File("io_gexf.gexf"));
218215
219216 // PDF Exporter config and export to Byte array
220- val pdfExporter = ec.getExporter(" pdf" ).asInstanceOf [PDFExporter ];
221- pdfExporter.setPageSize(PageSize .A0 );
222- pdfExporter.setWorkspace(workspace);
223- val baos = new ByteArrayOutputStream ();
224- ec.exportStream(baos, pdfExporter);
217+ val pdfExporter = ec.getExporter(" pdf" ).asInstanceOf [PDFExporter ]
218+ pdfExporter.setPageSize(PageSize .A0 )
219+ pdfExporter.setWorkspace(workspace)
220+ val baos = new ByteArrayOutputStream ()
221+ ec.exportStream(baos, pdfExporter)
225222 new FileOutputStream (filename + " .pdf" ).write(baos.toByteArray())
226223 }
227224 }
@@ -320,31 +317,31 @@ object GraphUtils {
320317
321318 // In order to be able to export edge and node labels and IDs,
322319 // we must implement providers for them
323- val vertexIDProvider = new VertexNameProvider [Node ]() {
324- override def getVertexName (v : Node ): String = v.toString(PrefixMapping .Standard )
320+ val vertexIDProvider = new ComponentNameProvider [Node ]() {
321+ override def getName (v : Node ): String = v.toString(PrefixMapping .Standard )
325322 }
326323
327- val vertexNameProvider = new VertexNameProvider [Node ]() {
328- override def getVertexName (v : Node ): String = v.toString(PrefixMapping .Standard )
324+ val vertexNameProvider = new ComponentNameProvider [Node ]() {
325+ override def getName (v : Node ): String = v.toString(PrefixMapping .Standard )
329326 }
330327
331- val edgeIDProvider = new EdgeNameProvider [LabeledEdge [Node , Node ]]() {
332- override def getEdgeName (edge : LabeledEdge [Node , Node ]): String = {
328+ val edgeIDProvider = new ComponentNameProvider [LabeledEdge [Node , Node ]]() {
329+ override def getName (edge : LabeledEdge [Node , Node ]): String = {
333330 g.getEdgeSource(edge).toString(PrefixMapping .Standard ) + " > " + edge.label + " > " + g.getEdgeTarget(edge).toString(PrefixMapping .Standard )
334331 }
335332 }
336333
337- val edgeLabelProvider = new EdgeNameProvider [LabeledEdge [Node , Node ]]() {
338- override def getEdgeName (e : LabeledEdge [Node , Node ]): String = e.label.toString
334+ val edgeLabelProvider = new ComponentNameProvider [LabeledEdge [Node , Node ]]() {
335+ override def getName (e : LabeledEdge [Node , Node ]): String = e.label.toString
339336 }
340337
341338 // val exporter = new GraphMLExporter[String,LabeledEdge](
342339 // vertexIDProvider, vertexNameProvider, edgeIDProvider,edgeLabelProvider)
343340
344341 val exporter = new GraphMLExporter [Node , LabeledEdge [Node , Node ]](
345- new IntegerNameProvider [Node ],
342+ new IntegerComponentNameProvider [Node ],
346343 vertexNameProvider,
347- new IntegerEdgeNameProvider [LabeledEdge [Node , Node ]],
344+ new IntegerComponentNameProvider [LabeledEdge [Node , Node ]],
348345 edgeLabelProvider)
349346
350347 val fw = new FileWriter (filename)
0 commit comments