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

Reply via email to