In-Degree Centralization: " + inDegreeCentralization + "
" + + "Out-Degree Centralization: " + outDegreeCentralization + "
"; + } else { + directedText = "In-Degree Centralization: Not applicable for undirected graphs
" + + "Out-Degree Centralization: Not applicable for undirected graphs
"; + } + + return "" + + "Degree Centralization: " + degreeCentralization + "
" ++ "Weighted Degree Centralization: " + weightedDegreeCentralization + "
" ++ directedText ++ "Betweenness Centralization: " + betweennessCentralization + "
" ++ "Eigenvector Centralization: " + eigenvectorCentralization + "
" ++ "Closeness Centralization: " + closenessCentralization + "
" ++ "Harmonic Closeness Centralization: " + harmonicClosenessCentralization + "
" + ++ "Closeness Centralization: " ++ "Standard closeness centralization may be affected by disconnected graphs or isolates because shortest-path distances become undefined. " ++ "The closeness values reported by this plugin rely on Gephi's underlying implementation. " ++ "For disconnected networks, Harmonic Closeness Centralization is generally the preferred measure because unreachable nodes contribute 0 through reciprocal distances.
" + ++ "Eigenvector Centralization: " ++ "Eigenvector centralization may vary across software packages because implementations can differ in eigenvector normalization methods and graph-level centralization normalization. " ++ "Results should therefore be interpreted with attention to the software and methodology used.
" + ++ "Node-level values for every metric are available in Data Laboratory → Nodes.
" + + "Citations:
" ++ "Freeman, Linton C. “Centrality in Social Networks Conceptual Clarification.” " ++ "Social Networks 1, no. 3 (1978): 215–39.
" ++ "Borgatti, Stephen P. “Identifying Sets of Key Players in a Social Network.” " ++ "Computational & Mathematical Organization Theory 12 (2006): 21–34.
" ++ "Gil, J. and Schmidt, S. (1996). “The Origin of the Mexican Network of Power.” " ++ "Proceedings of the International Social Network Conference, Charleston, SC, 22–25.
" ++ "Programmed by Braell Dotson and Dr. Nate Jones at Sam Houston State University.
" + + ""; + } +} \ No newline at end of file diff --git a/modules/BearkatCentralization/src/main/java/com/mycompany/gephidegreeplugin/CentralizationBuilder.java b/modules/BearkatCentralization/src/main/java/com/mycompany/gephidegreeplugin/CentralizationBuilder.java new file mode 100644 index 000000000..62232f93f --- /dev/null +++ b/modules/BearkatCentralization/src/main/java/com/mycompany/gephidegreeplugin/CentralizationBuilder.java @@ -0,0 +1,24 @@ +package com.mycompany.gephidegreeplugin; + +import org.gephi.statistics.spi.Statistics; +import org.gephi.statistics.spi.StatisticsBuilder; +import org.openide.util.lookup.ServiceProvider; + +@ServiceProvider(service = StatisticsBuilder.class) +public class CentralizationBuilder implements StatisticsBuilder { + + @Override +public String getName() { + return "Centralization"; +} + + @Override + public Statistics getStatistics() { + return new Centralization(); + } + + @Override + public Class extends Statistics> getStatisticsClass() { + return Centralization.class; + } +} \ No newline at end of file diff --git a/modules/BearkatCentralization/src/main/java/com/mycompany/gephidegreeplugin/CentralizationUI.java b/modules/BearkatCentralization/src/main/java/com/mycompany/gephidegreeplugin/CentralizationUI.java new file mode 100644 index 000000000..88766ed19 --- /dev/null +++ b/modules/BearkatCentralization/src/main/java/com/mycompany/gephidegreeplugin/CentralizationUI.java @@ -0,0 +1,58 @@ +package com.mycompany.gephidegreeplugin; + +import javax.swing.JPanel; +import org.gephi.statistics.spi.Statistics; +import org.gephi.statistics.spi.StatisticsUI; +import org.openide.util.lookup.ServiceProvider; + +@ServiceProvider(service = StatisticsUI.class) + +public class CentralizationUI implements StatisticsUI { + + private Centralization centralization; + + @Override + public JPanel getSettingsPanel() { + return null; + } + + @Override + public void setup(Statistics statistics) { + this.centralization = (Centralization) statistics; + } + + @Override + public void unsetup() { + this.centralization = null; + } + + @Override + public Class extends Statistics> getStatisticsClass() { + return Centralization.class; + } + + @Override + public String getValue() { + return "Done"; + } + + @Override +public String getDisplayName() { + return "Centralization"; +} + + @Override + public String getShortDescription() { + return "Measures weighted connections between nodes"; + } + + @Override + public String getCategory() { + return StatisticsUI.CATEGORY_NETWORK_OVERVIEW; + } + + @Override + public int getPosition() { + return 999; + } +} diff --git a/modules/BearkatCentralization/src/main/nbm/manifest.mf b/modules/BearkatCentralization/src/main/nbm/manifest.mf new file mode 100644 index 000000000..f6dad7c95 --- /dev/null +++ b/modules/BearkatCentralization/src/main/nbm/manifest.mf @@ -0,0 +1,5 @@ +Manifest-Version: 1.0 +OpenIDE-Module-Name: Bearkat Centralization +OpenIDE-Module-Short-Description: Computes multiple graph centralization metrics from a single Gephi Statistics report. +OpenIDE-Module-Long-Description: Bearkat Centralization computes degree, weighted degree, in-degree, out-degree, betweenness, eigenvector, closeness, and harmonic closeness centralization from a single Statistics report. The plugin also exports node-level values to the Data Laboratory and supports both directed and undirected networks. +OpenIDE-Module-Display-Category: Metric diff --git a/modules/BearkatCentralization/src/main/resources/com/mycompany/gephidegreeplugin/Bundle.properties b/modules/BearkatCentralization/src/main/resources/com/mycompany/gephidegreeplugin/Bundle.properties new file mode 100644 index 000000000..e15ee32c6 --- /dev/null +++ b/modules/BearkatCentralization/src/main/resources/com/mycompany/gephidegreeplugin/Bundle.properties @@ -0,0 +1,6 @@ +#Localized module labels. Defaults taken from POM (