Skip to content
This repository was archived by the owner on Jun 18, 2026. It is now read-only.

Commit 596d33f

Browse files
cleanup: remove 15 unused imports and 4 redundant escapeHtml wrappers across 15 files
- Removed unused imports: VisualizationViewer (ArticulationPanelController, EgoPanelController, Main), Collectors (ChromaticPolynomialCalculator, CliqueCoverAnalyzer, GraphIntelligenceAdvisor, GraphTimelineExporter, PerfectGraphAnalyzer), UnweightedShortestPath (GraphVoronoiPartitioner), PNGDump/HashMap/HashSet (Main), Supplier (PathPanelController), UndirectedSparseGraph (PerfectGraphAnalyzer), Dimension (ResiliencePanelController, StatsPanel), IOException (ToolbarBuilder) - Removed 4 private escapeHtml methods that were either trivial wrappers around ExportUtils.escapeHtml or duplicate implementations; replaced all call sites with ExportUtils.escapeHtml directly (EdgeBetweennessAnalyzer, GraphDiffHtmlExporter, GraphTimelineExporter, GraphIntelligenceAdvisor)
1 parent e30be9b commit 596d33f

15 files changed

Lines changed: 20 additions & 56 deletions

Gvisual/src/gvisual/ArticulationPanelController.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package gvisual;
22

33
import edu.uci.ics.jung.graph.Graph;
4-
import edu.uci.ics.jung.visualization.VisualizationViewer;
54

65
import javax.swing.*;
76
import javax.swing.border.EtchedBorder;

Gvisual/src/gvisual/ChromaticPolynomialCalculator.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
import edu.uci.ics.jung.graph.Graph;
44
import edu.uci.ics.jung.graph.UndirectedSparseGraph;
55
import java.util.*;
6-
import java.util.stream.Collectors;
76

87
/**
98
* Chromatic Polynomial Calculator — computes the chromatic polynomial P(G, k)

Gvisual/src/gvisual/CliqueCoverAnalyzer.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
import edu.uci.ics.jung.graph.Graph;
44
import java.util.*;
5-
import java.util.stream.Collectors;
65

76
/**
87
* Clique Cover Analyzer — partitions graph vertices into the fewest cliques.

Gvisual/src/gvisual/EdgeBetweennessAnalyzer.java

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -308,14 +308,14 @@ public void exportHtml(File outputFile) throws IOException {
308308
sb.append("<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n");
309309
sb.append("<meta charset=\"UTF-8\">\n");
310310
sb.append("<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n");
311-
sb.append("<title>").append(escapeHtml(title)).append("</title>\n");
311+
sb.append("<title>").append(ExportUtils.escapeHtml(title)).append("</title>\n");
312312
sb.append("<style>\n");
313313
sb.append(getCSS());
314314
sb.append("</style>\n</head>\n<body>\n");
315315

316316
// Header
317317
sb.append("<div class=\"header\">\n");
318-
sb.append("<h1>").append(escapeHtml(title)).append("</h1>\n");
318+
sb.append("<h1>").append(ExportUtils.escapeHtml(title)).append("</h1>\n");
319319
sb.append("<p>Edge betweenness centrality analysis — identifies critical edges acting as bridges between communities</p>\n");
320320
sb.append("</div>\n");
321321

@@ -356,8 +356,8 @@ public void exportHtml(File outputFile) throws IOException {
356356
String cls = es.isBridge() ? " class=\"bridge-row\"" : "";
357357
sb.append("<tr").append(cls).append(">");
358358
sb.append("<td>").append(rank).append("</td>");
359-
sb.append("<td>").append(escapeHtml(es.getSource())).append("</td>");
360-
sb.append("<td>").append(escapeHtml(es.getTarget())).append("</td>");
359+
sb.append("<td>").append(ExportUtils.escapeHtml(es.getSource())).append("</td>");
360+
sb.append("<td>").append(ExportUtils.escapeHtml(es.getTarget())).append("</td>");
361361
sb.append("<td>").append(String.format("%.4f", es.getBetweenness())).append("</td>");
362362
sb.append("<td><div class=\"meter\"><div class=\"meter-fill\" style=\"width:").append(String.format("%.1f", rel)).append("%\"></div></div></td>");
363363
sb.append("<td>").append(es.isBridge() ? "🌉 Yes" : "—").append("</td>");
@@ -375,7 +375,7 @@ public void exportHtml(File outputFile) throws IOException {
375375
sb.append("<p>Removing any bridge edge disconnects the graph into separate components.</p>\n<ul>\n");
376376
for (EdgeScore es : ranking) {
377377
if (es.isBridge()) {
378-
sb.append("<li><strong>").append(escapeHtml(es.getSource())).append(" ↔ ").append(escapeHtml(es.getTarget()));
378+
sb.append("<li><strong>").append(ExportUtils.escapeHtml(es.getSource())).append(" ↔ ").append(ExportUtils.escapeHtml(es.getTarget()));
379379
sb.append("</strong> — betweenness: ").append(String.format("%.4f", es.getBetweenness())).append("</li>\n");
380380
}
381381
}
@@ -411,10 +411,6 @@ private void appendCard(StringBuilder sb, String label, String value, String col
411411
sb.append("</div>\n");
412412
}
413413

414-
private String escapeHtml(String s) {
415-
return ExportUtils.escapeHtml(s);
416-
}
417-
418414
private String getCSS() {
419415
return "* { margin: 0; padding: 0; box-sizing: border-box; }\n"
420416
+ "body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; background: #0f1419; color: #e1e8ed; padding: 2rem; }\n"

Gvisual/src/gvisual/EgoPanelController.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package gvisual;
22

33
import edu.uci.ics.jung.graph.Graph;
4-
import edu.uci.ics.jung.visualization.VisualizationViewer;
54

65
import javax.swing.*;
76
import javax.swing.border.EtchedBorder;

Gvisual/src/gvisual/GraphDiffHtmlExporter.java

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -79,14 +79,14 @@ public String exportToString() {
7979
StringBuilder sb = new StringBuilder();
8080
sb.append("<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n");
8181
sb.append("<meta charset=\"UTF-8\">\n");
82-
sb.append("<title>").append(escapeHtml(title)).append("</title>\n");
82+
sb.append("<title>").append(ExportUtils.escapeHtml(title)).append("</title>\n");
8383
sb.append("<script src=\"https://d3js.org/d3.v7.min.js\"></script>\n");
8484
sb.append("<style>\n");
8585
appendCss(sb);
8686
sb.append("</style>\n</head>\n<body class=\"").append(darkMode ? "dark" : "light").append("\">\n");
8787

8888
sb.append("<div id=\"header\">\n");
89-
sb.append(" <h1>").append(escapeHtml(title)).append("</h1>\n");
89+
sb.append(" <h1>").append(ExportUtils.escapeHtml(title)).append("</h1>\n");
9090
sb.append(" <div id=\"controls\">\n");
9191
sb.append(" <label><input type=\"checkbox\" id=\"showAdded\" checked> Added</label>\n");
9292
sb.append(" <label><input type=\"checkbox\" id=\"showRemoved\" checked> Removed</label>\n");
@@ -99,8 +99,8 @@ public String exportToString() {
9999
sb.append(" <div id=\"stats\"></div>\n");
100100
sb.append(" <div id=\"graph\"></div>\n");
101101
sb.append(" <div id=\"legend\">\n");
102-
sb.append(" <div class=\"legend-item\"><span class=\"dot added\"></span> Added in ").append(escapeHtml(labelB)).append("</div>\n");
103-
sb.append(" <div class=\"legend-item\"><span class=\"dot removed\"></span> Removed from ").append(escapeHtml(labelA)).append("</div>\n");
102+
sb.append(" <div class=\"legend-item\"><span class=\"dot added\"></span> Added in ").append(ExportUtils.escapeHtml(labelB)).append("</div>\n");
103+
sb.append(" <div class=\"legend-item\"><span class=\"dot removed\"></span> Removed from ").append(ExportUtils.escapeHtml(labelA)).append("</div>\n");
104104
sb.append(" <div class=\"legend-item\"><span class=\"dot common\"></span> Common</div>\n");
105105
sb.append(" </div>\n");
106106
sb.append("</div>\n");
@@ -360,10 +360,6 @@ private void appendJs(StringBuilder sb) {
360360
);
361361
}
362362

363-
private static String escapeHtml(String s) {
364-
return ExportUtils.escapeHtml(s);
365-
}
366-
367363
/**
368364
* Escapes a string for safe embedding inside a JavaScript string literal
369365
* within an HTML {@code <script>} block.

Gvisual/src/gvisual/GraphIntelligenceAdvisor.java

Lines changed: 9 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
import java.nio.charset.StandardCharsets;
77
import java.text.SimpleDateFormat;
88
import java.util.*;
9-
import java.util.stream.Collectors;
109

1110
/**
1211
* Graph Intelligence Advisor — proactively analyzes a graph's structural
@@ -573,7 +572,7 @@ public void exportHtml(File outputFile) throws IOException {
573572
html.append("<div class=\"header\">\n");
574573
html.append(" <h1>&#129504; Graph Intelligence Advisor</h1>\n");
575574
html.append(" <p class=\"subtitle\">Proactive analysis recommendations based on structural fingerprinting</p>\n");
576-
html.append(" <p class=\"meta\">Generated: ").append(escapeHtml(timestamp)).append(" &bull; ");
575+
html.append(" <p class=\"meta\">Generated: ").append(ExportUtils.escapeHtml(timestamp)).append(" &bull; ");
577576
html.append(fingerprint.nodeCount).append(" nodes &bull; ");
578577
html.append(fingerprint.edgeCount).append(" edges</p>\n");
579578
html.append("</div>\n\n");
@@ -621,7 +620,7 @@ public void exportHtml(File outputFile) throws IOException {
621620
double pct = 100.0 * entry.getValue() / maxCount;
622621
String color = barColors[ci % barColors.length];
623622
html.append(" <div class=\"bar-row\">\n");
624-
html.append(" <span class=\"bar-label\">").append(escapeHtml(entry.getKey())).append("</span>\n");
623+
html.append(" <span class=\"bar-label\">").append(ExportUtils.escapeHtml(entry.getKey())).append("</span>\n");
625624
html.append(" <div class=\"bar-track\"><div class=\"bar-fill\" style=\"width:")
626625
.append(String.format("%.1f", pct)).append("%;background:").append(color).append("\"></div></div>\n");
627626
html.append(" <span class=\"bar-count\">").append(entry.getValue()).append("</span>\n");
@@ -644,18 +643,18 @@ public void exportHtml(File outputFile) throws IOException {
644643
html.append(" <div class=\"rec-card\">\n");
645644
html.append(" <div class=\"rec-header\">\n");
646645
html.append(" <span class=\"rec-rank\">#").append(rank++).append("</span>\n");
647-
html.append(" <span class=\"rec-name\">").append(escapeHtml(r.getAnalysisName())).append("</span>\n");
648-
html.append(" <span class=\"rec-category\">").append(escapeHtml(r.getCategory())).append("</span>\n");
646+
html.append(" <span class=\"rec-name\">").append(ExportUtils.escapeHtml(r.getAnalysisName())).append("</span>\n");
647+
html.append(" <span class=\"rec-category\">").append(ExportUtils.escapeHtml(r.getCategory())).append("</span>\n");
649648
html.append(" <span class=\"rec-conf ").append(confClass).append("\">")
650649
.append(String.format("%.0f%%", r.getConfidence() * 100)).append("</span>\n");
651650
html.append(" <span class=\"rec-diff diff-").append(r.getDifficulty()).append("\">")
652-
.append(escapeHtml(r.getDifficulty())).append("</span>\n");
651+
.append(ExportUtils.escapeHtml(r.getDifficulty())).append("</span>\n");
653652
html.append(" </div>\n");
654653
html.append(" <div class=\"rec-body\">\n");
655654
html.append(" <p class=\"rec-reason\"><strong>Why:</strong> ")
656-
.append(escapeHtml(r.getReasoning())).append("</p>\n");
655+
.append(ExportUtils.escapeHtml(r.getReasoning())).append("</p>\n");
657656
html.append(" <p class=\"rec-insight\"><strong>Expected insight:</strong> ")
658-
.append(escapeHtml(r.getExpectedInsight())).append("</p>\n");
657+
.append(ExportUtils.escapeHtml(r.getExpectedInsight())).append("</p>\n");
659658
html.append(" </div>\n");
660659
html.append(" </div>\n");
661660
}
@@ -674,17 +673,11 @@ public void exportHtml(File outputFile) throws IOException {
674673

675674
private void appendMetricCard(StringBuilder html, String label, String value, String level) {
676675
html.append(" <div class=\"metric-card ").append(level).append("\">\n");
677-
html.append(" <div class=\"metric-value\">").append(escapeHtml(value)).append("</div>\n");
678-
html.append(" <div class=\"metric-label\">").append(escapeHtml(label)).append("</div>\n");
676+
html.append(" <div class=\"metric-value\">").append(ExportUtils.escapeHtml(value)).append("</div>\n");
677+
html.append(" <div class=\"metric-label\">").append(ExportUtils.escapeHtml(label)).append("</div>\n");
679678
html.append(" </div>\n");
680679
}
681680

682-
private static String escapeHtml(String s) {
683-
if (s == null) return "";
684-
return s.replace("&", "&amp;").replace("<", "&lt;")
685-
.replace(">", "&gt;").replace("\"", "&quot;");
686-
}
687-
688681
private String getCSS() {
689682
return "* { margin: 0; padding: 0; box-sizing: border-box; }\n"
690683
+ "body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n"

Gvisual/src/gvisual/GraphTimelineExporter.java

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
import java.io.*;
66
import java.nio.charset.StandardCharsets;
77
import java.util.*;
8-
import java.util.stream.Collectors;
98

109
/**
1110
* Exports a {@link TemporalGraph} as a self-contained interactive HTML timeline
@@ -156,13 +155,13 @@ public String exportToString() {
156155
sb.append("<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n");
157156
sb.append("<meta charset=\"UTF-8\">\n");
158157
sb.append("<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n");
159-
sb.append("<title>").append(escapeHtml(title)).append("</title>\n");
158+
sb.append("<title>").append(ExportUtils.escapeHtml(title)).append("</title>\n");
160159
sb.append("<style>\n");
161160
sb.append(getCSS());
162161
sb.append("</style>\n</head>\n<body>\n");
163162
sb.append("<div id=\"app\">\n");
164163
sb.append(" <div id=\"header\">\n");
165-
sb.append(" <h1>").append(escapeHtml(title)).append("</h1>\n");
164+
sb.append(" <h1>").append(ExportUtils.escapeHtml(title)).append("</h1>\n");
166165
sb.append(" <div id=\"controls\">\n");
167166
sb.append(" <button id=\"btnPrev\" title=\"Previous\">⏮</button>\n");
168167
sb.append(" <button id=\"btnPlay\" title=\"Play/Pause\">▶</button>\n");
@@ -450,8 +449,4 @@ private String mapToJson(Map<String, ?> map, boolean dummy) {
450449
private static String escapeJson(String s) {
451450
return ExportUtils.escapeJs(s);
452451
}
453-
454-
private static String escapeHtml(String s) {
455-
return ExportUtils.escapeHtml(s);
456-
}
457452
}

Gvisual/src/gvisual/GraphVoronoiPartitioner.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
package gvisual;
22

33
import edu.uci.ics.jung.graph.Graph;
4-
import edu.uci.ics.jung.algorithms.shortestpath.UnweightedShortestPath;
54
import java.util.*;
6-
import java.util.stream.Collectors;
75

86
/**
97
* Computes <b>Voronoi-like partitions</b> on a graph: given a set of seed

Gvisual/src/gvisual/Main.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,6 @@
66
import edu.uci.ics.jung.algorithms.layout.StaticLayout;
77
import edu.uci.ics.jung.graph.Graph;
88
import edu.uci.ics.jung.graph.UndirectedSparseGraph;
9-
import edu.uci.ics.jung.visualization.VisualizationViewer;
10-
import edu.uci.ics.screencap.PNGDump;
119
import java.awt.BorderLayout;
1210
import java.awt.Color;
1311
import java.awt.Dimension;
@@ -19,8 +17,6 @@
1917
import java.util.ArrayList;
2018
import java.util.Collection;
2119
import java.util.Collections;
22-
import java.util.HashMap;
23-
import java.util.HashSet;
2420
import java.util.List;
2521
import java.util.Map;
2622
import java.util.Random;

0 commit comments

Comments
 (0)