Author: paperwing
Date: 2012-04-09 16:31:55 -0700 (Mon, 09 Apr 2012)
New Revision: 28774

Modified:
   
csplugins/trunk/toronto/yuedong/app_manager/impl/app-impl/src/main/java/org/cytoscape/app/internal/swing/main/AppManagerDialog.java
   
csplugins/trunk/toronto/yuedong/app_manager/impl/app-impl/src/main/java/org/cytoscape/app/internal/swing/main/InstallNewAppsPanel.java
Log:
Now able to install simple apps via the "Install from External File .." button 
on the "Install New Apps" tab of the App Manager, which allows selection of 
files via a JFileChooser dialog

Modified: 
csplugins/trunk/toronto/yuedong/app_manager/impl/app-impl/src/main/java/org/cytoscape/app/internal/swing/main/AppManagerDialog.java
===================================================================
--- 
csplugins/trunk/toronto/yuedong/app_manager/impl/app-impl/src/main/java/org/cytoscape/app/internal/swing/main/AppManagerDialog.java
 2012-04-09 23:12:25 UTC (rev 28773)
+++ 
csplugins/trunk/toronto/yuedong/app_manager/impl/app-impl/src/main/java/org/cytoscape/app/internal/swing/main/AppManagerDialog.java
 2012-04-09 23:31:55 UTC (rev 28774)
@@ -28,7 +28,7 @@
     private void initComponents() {
 
         mainTabbedPane = new javax.swing.JTabbedPane();
-        installNewAppsPanel = new InstallNewAppsPanel();
+        installNewAppsPanel = new InstallNewAppsPanel(appManager);
         currentlyInstalledAppsPanel = new 
CurrentlyInstalledAppsPanel(appManager);
         checkForUpdatesPanel = new CheckForUpdatesPanel();
 

Modified: 
csplugins/trunk/toronto/yuedong/app_manager/impl/app-impl/src/main/java/org/cytoscape/app/internal/swing/main/InstallNewAppsPanel.java
===================================================================
--- 
csplugins/trunk/toronto/yuedong/app_manager/impl/app-impl/src/main/java/org/cytoscape/app/internal/swing/main/InstallNewAppsPanel.java
      2012-04-09 23:12:25 UTC (rev 28773)
+++ 
csplugins/trunk/toronto/yuedong/app_manager/impl/app-impl/src/main/java/org/cytoscape/app/internal/swing/main/InstallNewAppsPanel.java
      2012-04-09 23:31:55 UTC (rev 28774)
@@ -9,6 +9,12 @@
 import javax.swing.table.AbstractTableModel;
 import javax.swing.table.TableModel;
 
+import org.cytoscape.app.internal.exception.AppCopyException;
+import org.cytoscape.app.internal.exception.AppParsingException;
+import org.cytoscape.app.internal.manager.App;
+import org.cytoscape.app.internal.manager.AppManager;
+import org.cytoscape.app.internal.manager.AppParser;
+
 public class InstallNewAppsPanel extends javax.swing.JPanel {
 
     private javax.swing.JButton installFromFileButton;
@@ -24,8 +30,12 @@
        
        private JFileChooser fileChooser;
        
-    public InstallNewAppsPanel() {
-        initComponents();
+       private AppManager appManager;
+       
+    public InstallNewAppsPanel(AppManager appManager) {
+        this.appManager = appManager;
+       
+       initComponents();
         
         setupFileChooser();
         setupResultsTable();
@@ -71,61 +81,6 @@
 
         resultsLabel.setText("Search Results:");
         
-        TableModel tableModel = new TableModel() {
-
-               private ArrayList<ArrayList<String>> data;
-               
-                       @Override
-                       public void addTableModelListener(TableModelListener l) 
{
-                       }
-
-                       @Override
-                       public Class<?> getColumnClass(int columnIndex) {
-                               return String.class;
-                       }
-
-                       @Override
-                       public int getColumnCount() {
-                               // TODO Auto-generated method stub
-                               return 0;
-                       }
-
-                       @Override
-                       public String getColumnName(int columnIndex) {
-                               // TODO Auto-generated method stub
-                               return null;
-                       }
-
-                       @Override
-                       public int getRowCount() {
-                               // TODO Auto-generated method stub
-                               return 0;
-                       }
-
-                       @Override
-                       public Object getValueAt(int rowIndex, int columnIndex) 
{
-                               // TODO Auto-generated method stub
-                               return null;
-                       }
-
-                       @Override
-                       public boolean isCellEditable(int rowIndex, int 
columnIndex) {
-                               // TODO Auto-generated method stub
-                               return false;
-                       }
-
-                       @Override
-                       public void removeTableModelListener(TableModelListener 
l) {
-                       }
-
-                       @Override
-                       public void setValueAt(Object aValue, int rowIndex, int 
columnIndex) {
-                               // TODO Auto-generated method stub
-                               
-                       }
-                       
-               };
-        
         resultsTable.setModel(new javax.swing.table.DefaultTableModel(
             new Object [][] {},
             new String [] {
@@ -204,7 +159,31 @@
         if (returnValue == JFileChooser.APPROVE_OPTION) {
                File[] files = fileChooser.getSelectedFiles();
                
-               System.out.println("Selected files: " + files);
+               for (int index = 0; index < files.length; index++) {
+                       AppParser appParser = appManager.getAppParser();
+                       
+                       App app = null;
+                       
+                       // Attempt to parse each file as an App object
+                       try {
+                                       app = appParser.parseApp(files[index]);
+                                       
+                               } catch (AppParsingException e) {
+                                       
+                                       // TODO: Replace System.out.println() 
messages with exception or a pop-up message box
+                                       System.out.println("Error parsing app: 
" + e.getMessage());
+                               } finally {
+                                       
+                                       // Install the app if parsing was 
successful
+                                       if (app != null) {
+                                               try {
+                                                       
appManager.installApp(app);
+                                               } catch (AppCopyException e) {
+                                                       
System.out.println("Error copying app: " + e.getMessage());
+                                               }
+                                       }
+                               }
+               }
         }
     }
 

-- 
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