Revision: 14662
http://gate.svn.sourceforge.net/gate/?rev=14662&view=rev
Author: markagreenwood
Date: 2011-12-04 11:58:13 +0000 (Sun, 04 Dec 2011)
Log Message:
-----------
moved some error handling closer to where it occurs to make the code more
readable
Modified Paths:
--------------
gate/trunk/src/gate/gui/creole/manager/CreolePlugin.java
gate/trunk/src/gate/gui/creole/manager/PluginUpdateManager.java
gate/trunk/src/gate/gui/creole/manager/RemoteUpdateSite.java
Modified: gate/trunk/src/gate/gui/creole/manager/CreolePlugin.java
===================================================================
--- gate/trunk/src/gate/gui/creole/manager/CreolePlugin.java 2011-12-04
11:32:51 UTC (rev 14661)
+++ gate/trunk/src/gate/gui/creole/manager/CreolePlugin.java 2011-12-04
11:58:13 UTC (rev 14662)
@@ -26,8 +26,6 @@
public class CreolePlugin {
- // TODO can we merge this with Gate.DirectoryInfo?
-
protected String id, description, gateMin, gateMax;
protected URL downloadURL, url;
Modified: gate/trunk/src/gate/gui/creole/manager/PluginUpdateManager.java
===================================================================
--- gate/trunk/src/gate/gui/creole/manager/PluginUpdateManager.java
2011-12-04 11:32:51 UTC (rev 14661)
+++ gate/trunk/src/gate/gui/creole/manager/PluginUpdateManager.java
2011-12-04 11:58:13 UTC (rev 14662)
@@ -185,13 +185,7 @@
// invalid for some reason
for(RemoteUpdateSite rus : updateSites) {
if(rus.enabled && (rus.valid == null || rus.valid)) {
- try {
- availableModel.data.addAll(rus.getCreolePlugins());
- rus.valid = true;
- } catch(Exception e) {
- e.printStackTrace();
- rus.valid = false;
- }
+ availableModel.data.addAll(rus.getCreolePlugins());
}
}
@@ -236,6 +230,7 @@
installed.reInit();
updatesModel.dataChanged();
availableModel.dataChanged();
+ sitesModel.dataChanged();
// enable the update tab if there are any
tabs.setEnabledAt(1, updatesModel.data.size() > 0);
@@ -610,7 +605,7 @@
try {
updateSites.add(new RemoteUpdateSite(txtName.getText().trim(),
new URI(txtURL.getText().trim()), true));
- sitesModel.dataChanged();
+ showProgressPanel(true);
saveConfig();
loadData();
} catch(Exception ex) {
@@ -622,10 +617,10 @@
btnRemove.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
+ showProgressPanel(true);
int row = tblSites.getSelectedRow();
if(row == -1) return;
updateSites.remove(row);
- sitesModel.dataChanged();
saveConfig();
loadData();
}
@@ -653,9 +648,10 @@
}
site.name = txtName.getText().trim();
site.valid = null;
- sitesModel.dataChanged();
+ showProgressPanel(true);
saveConfig();
loadData();
+
} catch(Exception ex) {
ex.printStackTrace();
}
@@ -698,31 +694,31 @@
.showMessageDialog(
owner,
"<html><body style='width: 350px;'><b>Selected
Folder Doesn't Exist!</b><br><br>"
- + "In order to install new CREOLE plugins
you must choose a user plugins folder, "+
- "which exists and is writable.",
+ + "In order to install new CREOLE plugins
you must choose a user plugins folder, "
+ + "which exists and is writable.",
"CREOLE Plugin Manager",
JOptionPane.ERROR_MESSAGE);
return;
}
if(!userPluginDir.isDirectory()) {
JOptionPane
- .showMessageDialog(
- owner,
- "<html><body style='width: 350px;'><b>You Selected A File
Instead Of A Folder!</b><br><br>"
- + "In order to install new CREOLE plugins you must
choose a user plugins folder, "+
- "which exists and is writable.",
- "CREOLE Plugin Manager", JOptionPane.ERROR_MESSAGE);
+ .showMessageDialog(
+ owner,
+ "<html><body style='width: 350px;'><b>You Selected
A File Instead Of A Folder!</b><br><br>"
+ + "In order to install new CREOLE plugins
you must choose a user plugins folder, "
+ + "which exists and is writable.",
+ "CREOLE Plugin Manager",
JOptionPane.ERROR_MESSAGE);
return;
}
if(!userPluginDir.canWrite()) {
JOptionPane
- .showMessageDialog(
- owner,
- "<html><body style='width: 350px;'><b>Selected Folder Is
Read Only!</b><br><br>"
- + "In order to install new CREOLE plugins you must
choose a user plugins folder, "+
- "which exists and is writable.",
- "CREOLE Plugin Manager", JOptionPane.ERROR_MESSAGE);
+ .showMessageDialog(
+ owner,
+ "<html><body style='width: 350px;'><b>Selected
Folder Is Read Only!</b><br><br>"
+ + "In order to install new CREOLE plugins
you must choose a user plugins folder, "
+ + "which exists and is writable.",
+ "CREOLE Plugin Manager",
JOptionPane.ERROR_MESSAGE);
return;
}
Modified: gate/trunk/src/gate/gui/creole/manager/RemoteUpdateSite.java
===================================================================
--- gate/trunk/src/gate/gui/creole/manager/RemoteUpdateSite.java
2011-12-04 11:32:51 UTC (rev 14661)
+++ gate/trunk/src/gate/gui/creole/manager/RemoteUpdateSite.java
2011-12-04 11:58:13 UTC (rev 14662)
@@ -18,6 +18,7 @@
import java.net.URI;
import java.net.URL;
import java.net.URLConnection;
+import java.util.Collections;
import java.util.List;
import com.thoughtworks.xstream.XStream;
@@ -41,32 +42,38 @@
}
@SuppressWarnings("unchecked")
- public List<CreolePlugin> getCreolePlugins() throws IOException {
+ public List<CreolePlugin> getCreolePlugins() {
if(plugins == null) {
+ valid = true;
+ try {
+ XStream xs = new XStream();
+ xs.setClassLoader(RemoteUpdateSite.class.getClassLoader());
+ xs.alias("UpdateSite", List.class);
+ xs.alias("CreolePlugin", CreolePlugin.class);
+ xs.useAttributeFor(CreolePlugin.class, "id");
+ xs.useAttributeFor(CreolePlugin.class, "description");
+ xs.useAttributeFor(CreolePlugin.class, "version");
+ xs.useAttributeFor(CreolePlugin.class, "downloadURL");
+ xs.useAttributeFor(CreolePlugin.class, "url");
+ xs.useAttributeFor(CreolePlugin.class, "gateMin");
+ xs.useAttributeFor(CreolePlugin.class, "gateMax");
- XStream xs = new XStream();
- xs.setClassLoader(RemoteUpdateSite.class.getClassLoader());
- xs.alias("UpdateSite", List.class);
- xs.alias("CreolePlugin", CreolePlugin.class);
- xs.useAttributeFor(CreolePlugin.class, "id");
- xs.useAttributeFor(CreolePlugin.class, "description");
- xs.useAttributeFor(CreolePlugin.class, "version");
- xs.useAttributeFor(CreolePlugin.class, "downloadURL");
- xs.useAttributeFor(CreolePlugin.class, "url");
- xs.useAttributeFor(CreolePlugin.class, "gateMin");
- xs.useAttributeFor(CreolePlugin.class, "gateMax");
+ URLConnection conn =
+ (new URL(uri.toURL(), "site.xml")).openConnection();
+ conn.setConnectTimeout(5000);
+ conn.setReadTimeout(5000);
- URLConnection conn = (new URL(uri.toURL(), "site.xml")).openConnection();
- conn.setConnectTimeout(5000);
- conn.setReadTimeout(5000);
-
- plugins = (List<CreolePlugin>)xs.fromXML(conn.getInputStream());
+ plugins = (List<CreolePlugin>)xs.fromXML(conn.getInputStream());
+ } catch(Exception e) {
+ valid = false;
+ return Collections.EMPTY_LIST;
+ }
+ } else {
+ for(CreolePlugin p : plugins) {
+ p.reset();
+ }
}
- for(CreolePlugin p : plugins) {
- p.reset();
- }
-
return plugins;
}
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure
contains a definitive record of customers, application performance,
security threats, fraudulent activity, and more. Splunk takes this
data and makes sense of it. IT sense. And common sense.
http://p.sf.net/sfu/splunk-novd2d
_______________________________________________
GATE-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/gate-cvs