Author: paperwing
Date: 2012-06-18 10:33:57 -0700 (Mon, 18 Jun 2012)
New Revision: 29597

Modified:
   
core3/impl/trunk/app-impl/src/main/java/org/cytoscape/app/internal/manager/AppManager.java
   
core3/impl/trunk/app-impl/src/main/java/org/cytoscape/app/internal/ui/InstallFromStorePanel.java
Log:
refs #1122 Tags now sorted by number of apps; use tree folder icon. Apps list 
sorted alphabetically

Modified: 
core3/impl/trunk/app-impl/src/main/java/org/cytoscape/app/internal/manager/AppManager.java
===================================================================
--- 
core3/impl/trunk/app-impl/src/main/java/org/cytoscape/app/internal/manager/AppManager.java
  2012-06-18 15:50:37 UTC (rev 29596)
+++ 
core3/impl/trunk/app-impl/src/main/java/org/cytoscape/app/internal/manager/AppManager.java
  2012-06-18 17:33:57 UTC (rev 29597)
@@ -428,7 +428,7 @@
                        
                        return path.getCanonicalPath();
                } catch (IOException e) {
-                       // TODO: Record error in logger
+                       logger.warn("Failed to obtain path to installed apps 
directory");
                        return null;
                }
        }
@@ -449,7 +449,7 @@
                        
                        return path.getCanonicalPath();
                } catch (IOException e) {
-                       // TODO: Record error in logger
+                       logger.warn("Failed to obtain path to uninstalled apps 
directory");
                        return null;
                }
        }
@@ -471,7 +471,7 @@
                        
                        return path.getCanonicalPath();
                } catch (IOException e) {
-                       // TODO: Record in logger
+                       logger.warn("Failed to obtain path to downloaded apps 
directory");
                        return null;
                }
        }
@@ -502,7 +502,7 @@
                        try {
                                installApp(parsedApp);
                        } catch (AppInstallException e) {
-                               DebugHelper.print("Unable to install app: " + 
e.getMessage());
+                               logger.warn("Unable to install app from 
installed apps directory: " + e.getMessage());
                        }
                }
                

Modified: 
core3/impl/trunk/app-impl/src/main/java/org/cytoscape/app/internal/ui/InstallFromStorePanel.java
===================================================================
--- 
core3/impl/trunk/app-impl/src/main/java/org/cytoscape/app/internal/ui/InstallFromStorePanel.java
    2012-06-18 15:50:37 UTC (rev 29596)
+++ 
core3/impl/trunk/app-impl/src/main/java/org/cytoscape/app/internal/ui/InstallFromStorePanel.java
    2012-06-18 17:33:57 UTC (rev 29597)
@@ -13,9 +13,12 @@
 import java.net.URISyntaxException;
 import java.net.URL;
 import java.util.Collection;
+import java.util.Collections;
+import java.util.Comparator;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.LinkedList;
+import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
 import java.util.Set;
@@ -36,6 +39,7 @@
 import javax.swing.tree.DefaultMutableTreeNode;
 import javax.swing.tree.DefaultTreeCellRenderer;
 import javax.swing.tree.DefaultTreeModel;
+import javax.swing.tree.TreeCellRenderer;
 import javax.swing.tree.TreeNode;
 import javax.swing.tree.TreePath;
 
@@ -106,6 +110,10 @@
                        }
                });
                
+       DefaultTreeCellRenderer tagsTreeCellRenderer = new 
DefaultTreeCellRenderer();
+               
tagsTreeCellRenderer.setLeafIcon(tagsTreeCellRenderer.getDefaultClosedIcon());
+               tagsTree.setCellRenderer(tagsTreeCellRenderer);
+       
                resultsTree.addTreeSelectionListener(new 
TreeSelectionListener() {
                        
                        @Override
@@ -137,7 +145,7 @@
                                                // 
populateTree(appManager.getWebQuerier().getAllApps());
                                                buildTagsTree();
                                                
-                                               fillResultsTree(null);
+                                               
fillResultsTree(appManager.getWebQuerier().getAllApps());
                                        }
                                        
                                });
@@ -422,6 +430,17 @@
        Set<WebApp> availableApps = webQuerier.getAllApps();
        Set<WebQuerier.AppTag> availableTags = webQuerier.getAllTags();
        
+       List<WebQuerier.AppTag> sortedTags = new 
LinkedList<WebQuerier.AppTag>(availableTags);
+       
+       Collections.sort(sortedTags, new Comparator<WebQuerier.AppTag>() {
+
+                       @Override
+                       public int compare(AppTag tag, AppTag other) {
+                               return other.getCount() - tag.getCount();
+                       }
+       });
+       
+       
        DefaultMutableTreeNode root = new DefaultMutableTreeNode("root");
        
        DefaultMutableTreeNode allAppsTreeNode = new 
DefaultMutableTreeNode("all apps" 
@@ -436,7 +455,7 @@
        }
        
        DefaultMutableTreeNode treeNode = null;
-       for (final WebQuerier.AppTag appTag : availableTags) {
+       for (final WebQuerier.AppTag appTag : sortedTags) {
                if (appTag.getCount() > 0) {
                        treeNode = new DefaultMutableTreeNode(appTag);
                        appsByTagTreeNode.add(treeNode);
@@ -462,7 +481,7 @@
                // Check if the "all apps" node is selected
                if (selectedNode.getLevel() == 1 
                                && 
String.valueOf(selectedNode.getUserObject()).startsWith("all apps")) {
-                       fillResultsTree(null);
+                       
fillResultsTree(appManager.getWebQuerier().getAllApps());
                        
                } else if (selectedNode.getUserObject() instanceof 
WebQuerier.AppTag) {
                        WebQuerier.AppTag selectedTag = (WebQuerier.AppTag) 
selectedNode.getUserObject();
@@ -478,14 +497,21 @@
     
     private void fillResultsTree(Set<WebApp> webApps) {
        Set<WebApp> appsToShow = webApps;
-       if (appsToShow == null) {
-               appsToShow = appManager.getWebQuerier().getAllApps();
-       }
+       List<WebApp> sortedApps = new LinkedList<WebApp>(appsToShow);
        
+       // Sort apps by alphabetical order
+       Collections.sort(sortedApps, new Comparator<WebApp>() {
+                       @Override
+                       public int compare(WebApp webApp, WebApp other) {
+                               
+                               return 
(webApp.getName().compareToIgnoreCase(other.getName()));
+                       }
+       });
+       
        DefaultMutableTreeNode root = new DefaultMutableTreeNode("root");
        
        DefaultMutableTreeNode treeNode;
-       for (WebApp webApp : appsToShow) {
+       for (WebApp webApp : sortedApps) {
                treeNode = new DefaultMutableTreeNode(webApp);
                root.add(treeNode);
        }

-- 
You received this message because you are subscribed to the Google Groups 
"cytoscape-cvs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/cytoscape-cvs?hl=en.

Reply via email to