in taverna-plugins-gui/src/main/java/org/apache/taverna/raven/plugins/ui/PluginSiteFrame.java [181:290]
private JPanel getJPanel1(final PluginSite pluginSite) {
final JPanel pluginSitePanel = new JPanel();
pluginSitePanel.setBackground(Color.WHITE);
pluginSitePanel.setLayout(new GridBagLayout());
GridBagConstraints gridBagConstraints = new GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 0;
gridBagConstraints.anchor = GridBagConstraints.WEST;
gridBagConstraints.fill = GridBagConstraints.HORIZONTAL;
gridBagConstraints.gridwidth = 2;
gridBagConstraints.insets = new Insets(5, 5, 5, 5);
gridBagConstraints.ipadx = 5;
gridBagConstraints.ipady = 5;
gridBagConstraints.weightx = 1.0;
//ShadedLabel siteNameLabel = getSiteLabel(pluginSite);
JLabel siteNameLabel = getSiteLabel(pluginSite);
pluginSitePanel.add(siteNameLabel, gridBagConstraints);
final GridBagConstraints gridBagConstraints1 = new GridBagConstraints();
gridBagConstraints1.gridx = 0;
gridBagConstraints1.gridy = 1;
gridBagConstraints1.anchor = GridBagConstraints.WEST;
gridBagConstraints1.fill = GridBagConstraints.HORIZONTAL;
gridBagConstraints1.gridwidth = 2;
gridBagConstraints1.insets = new Insets(5, 5, 5, 5);
gridBagConstraints1.weightx = 1.0;
final JProgressBar progressBar = new JProgressBar();
progressBar.setIndeterminate(true);
progressBar.setStringPainted(true);
progressBar.setString("Checking for new plugins");
pluginSitePanel.add(progressBar, gridBagConstraints1);
new Thread("Checking update site " + pluginSite) {
public void run() {
try {
List<Plugin> plugins = pluginManager
.getUninstalledPluginsFromSite(pluginSite);
if (plugins.size() > 0) {
Collections.sort(plugins, new Comparator<Plugin>() {
public int compare(Plugin o1, Plugin o2) {
return o1.getName().compareTo(o2.getName());
}
});
pluginSitePanel.remove(progressBar);
int gridY = 0;
for (Plugin plugin : plugins) {
gridY++;
GridBagConstraints gridBagConstraints1 = new GridBagConstraints();
gridBagConstraints1.gridx = 0;
gridBagConstraints1.gridy = gridY;
gridBagConstraints1.anchor = GridBagConstraints.WEST;
gridBagConstraints1.insets = new Insets(5, 20, 0, 0);
pluginSitePanel.add(getJCheckBox(plugin),
gridBagConstraints1);
gridY++;
GridBagConstraints gridBagConstraintsDescription = new GridBagConstraints();
gridBagConstraintsDescription.gridx = 0;
gridBagConstraintsDescription.ipadx = 50;
gridBagConstraintsDescription.gridy = gridY;
gridBagConstraintsDescription.anchor = GridBagConstraints.WEST;
gridBagConstraintsDescription.insets = new Insets(5, 25, 10, 5);
gridY++;
GridBagConstraints gridBagConstraintsProgress = new GridBagConstraints();
gridBagConstraintsProgress.gridx = 0;
gridBagConstraintsProgress.gridy = gridY;
gridBagConstraintsProgress.fill = GridBagConstraints.HORIZONTAL;
gridBagConstraintsProgress.anchor = GridBagConstraints.WEST;
gridBagConstraintsProgress.insets = new Insets(5, 5, 0, 0);
JLabel description = new JLabel();
description.setText("<html>"+plugin.getDescription());
description.setFont(getFont().deriveFont(Font.PLAIN));
pluginSitePanel.add(description,gridBagConstraintsDescription);
PluginRepositoryListener progress = new PluginRepositoryListener();
listeners.put(plugin, progress);
progress.setVisible(false);
pluginSitePanel.add(progress.getProgressBar(),
gridBagConstraintsProgress);
}
} else {
pluginSitePanel.remove(progressBar);
pluginSitePanel.add(new JLabel(
"This update site contains no new plugins"),
gridBagConstraints1);
}
} catch (Exception e) {
pluginSitePanel.remove(progressBar);
pluginSitePanel.add(new JLabel(
"Unable to contact the update site"),
gridBagConstraints1);
} finally {
pluginSitePanel.revalidate();
pluginSitePanel.repaint();
}
}
}.start();
pluginSitePanel.setBorder(new EtchedBorder());
return pluginSitePanel;
}