private void generateFullSpectrumGraph() {
// ... (Initial boilerplate from previous versions) ...
// 1. Process Properties (No change here)
for (PropertyValue pv : def.getPropertyValues().getPropertyValues()) {
dot.append(renderRow(pv.getName(), extractValue(pv.getValue())));
}
// 2. UPDATED: Process ALL Constructor Arguments
ConstructorArgumentValues cav = def.getConstructorArgumentValues();
// Handle Indexed Args (e.g. index="0")
for (Map.Entry<Integer, ConstructorArgumentValues.ValueHolder> entry : cav.getIndexedArgumentValues().entrySet()) {
String label = "arg[" + entry.getKey() + "]";
dot.append(renderRow("<i>" + label + "</i>", extractValue(entry.getValue().getValue())));
}
// Handle Generic/Typed Args (e.g. type="java.lang.String")
// This is what was missing for eodMarkerCache!
for (ConstructorArgumentValues.ValueHolder vh : cav.getGenericArgumentValues()) {
String typeLabel = vh.getType() != null ?
vh.getType().substring(vh.getType().lastIndexOf('.') + 1) : "gen";
dot.append(renderRow("<i>arg:" + typeLabel + "</i>", extractValue(vh.getValue())));
}
// ... (Rest of the graph generation) ...
}
private String renderRow(String key, String value) {
return String.format("<TR><TD ALIGN=\"LEFT\">%s</TD><TD ALIGN=\"LEFT\">%s</TD></TR>", key, value);
}
For further actions, you may consider blocking this person and/or reporting abuse
Top comments (0)