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.