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

Commit 99713db

Browse files
Merge pull request #132 from sauravbhattacharya001/refactor/deduplicate-edge-type-mappings
refactor: deduplicate edge type name/color mappings via EdgeTypeRegistry
2 parents eea4913 + f2d86ee commit 99713db

4 files changed

Lines changed: 18 additions & 41 deletions

File tree

Gvisual/src/gvisual/AdjacencyMatrixHeatmap.java

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -206,14 +206,7 @@ public String getToolTipText(MouseEvent e) {
206206

207207
private String getEdgeTypeName(String type) {
208208
if (type == null) return "unknown";
209-
switch (type) {
210-
case "f": return "Friend";
211-
case "c": return "Classmate";
212-
case "fs": return "Familiar Stranger";
213-
case "s": return "Stranger";
214-
case "sg": return "Study Group";
215-
default: return type;
216-
}
209+
return EdgeTypeRegistry.getName(type);
217210
}
218211

219212
private Color getEdgeColor(Edge e) {

Gvisual/src/gvisual/InteractiveHtmlExporter.java

Lines changed: 4 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -401,28 +401,15 @@ private String generateJs() {
401401

402402
/** Maps Edge type codes to human-readable names. */
403403
private static String typeName(String type) {
404-
if (type == null) return "Unknown";
405-
switch (type) {
406-
case "f": return "Friend";
407-
case "fs": return "Facebook";
408-
case "c": return "Classmate";
409-
case "s": return "Stranger";
410-
case "sg": return "Study Group";
411-
default: return type;
412-
}
404+
return EdgeTypeRegistry.getName(type);
413405
}
414406

415407
/** Maps Edge type codes to CSS colors. */
416408
private static String typeColor(String type) {
417409
if (type == null) return "#999";
418-
switch (type) {
419-
case "f": return "#4CAF50";
420-
case "fs": return "#2196F3";
421-
case "c": return "#FF9800";
422-
case "s": return "#9E9E9E";
423-
case "sg": return "#9C27B0";
424-
default: return "#607D8B";
425-
}
410+
String hex = EdgeTypeRegistry.getHexColor(type);
411+
// EdgeTypeRegistry returns "#CCCCCC" for unknowns; remap to our default
412+
return "#CCCCCC".equals(hex) ? "#607D8B" : hex;
426413
}
427414

428415
/**

Gvisual/src/gvisual/NetworkReportGenerator.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -111,8 +111,13 @@ public int compare(Map.Entry<String, Integer> a, Map.Entry<String, Integer> b) {
111111
friendEdges.size(), fsEdges.size(), classmateEdges.size(),
112112
strangerEdges.size(), studyGEdges.size()
113113
};
114-
String[] edgeTypeNames = {"Friend", "Familiar Stranger", "Classmate", "Stranger", "Study Group"};
115-
String[] edgeTypeColors = {"#4CAF50", "#2196F3", "#FF9800", "#F44336", "#9C27B0"};
114+
java.util.List<String> typeCodes = EdgeTypeRegistry.getAllTypeCodes();
115+
String[] edgeTypeNames = new String[typeCodes.size()];
116+
String[] edgeTypeColors = new String[typeCodes.size()];
117+
for (int i = 0; i < typeCodes.size(); i++) {
118+
edgeTypeNames[i] = EdgeTypeRegistry.getName(typeCodes.get(i));
119+
edgeTypeColors[i] = EdgeTypeRegistry.getHexColor(typeCodes.get(i));
120+
}
116121
int totalEdgeTypes = 0;
117122
for (int c : edgeTypeCounts) totalEdgeTypes += c;
118123

Gvisual/src/gvisual/SvgExporter.java

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -56,22 +56,14 @@ public class SvgExporter {
5656
private boolean colorByEdgeType = true;
5757
private int layoutIterations = 300;
5858

59-
private static final Map<String, String> TYPE_COLORS = new LinkedHashMap<>();
60-
static {
61-
TYPE_COLORS.put("f", "#4CAF50"); // Friend — green
62-
TYPE_COLORS.put("fs", "#2196F3"); // Familiar Stranger — blue
63-
TYPE_COLORS.put("c", "#FF9800"); // Classmate — orange
64-
TYPE_COLORS.put("s", "#F44336"); // Stranger — red
65-
TYPE_COLORS.put("sg", "#9C27B0"); // Study Group — purple
66-
}
59+
private static final Map<String, String> TYPE_COLORS = EdgeTypeRegistry.getAllHexColors();
6760

68-
private static final Map<String, String> TYPE_NAMES = new LinkedHashMap<>();
61+
private static final Map<String, String> TYPE_NAMES;
6962
static {
70-
TYPE_NAMES.put("f", "Friend");
71-
TYPE_NAMES.put("fs", "Familiar Stranger");
72-
TYPE_NAMES.put("c", "Classmate");
73-
TYPE_NAMES.put("s", "Stranger");
74-
TYPE_NAMES.put("sg", "Study Group");
63+
TYPE_NAMES = new LinkedHashMap<>();
64+
for (String code : EdgeTypeRegistry.getAllTypeCodes()) {
65+
TYPE_NAMES.put(code, EdgeTypeRegistry.getName(code));
66+
}
7567
}
7668

7769
private final Map<String, String> customColors = new LinkedHashMap<>();

0 commit comments

Comments
 (0)