Author: paperwing
Date: 2012-04-13 15:02:02 -0700 (Fri, 13 Apr 2012)
New Revision: 28835

Modified:
   csplugins/trunk/toronto/yuedong/app_manager/impl/app-impl/pom.xml
   
csplugins/trunk/toronto/yuedong/app_manager/impl/app-impl/src/main/java/org/cytoscape/app/internal/CyActivator.java
   
csplugins/trunk/toronto/yuedong/app_manager/impl/app-impl/src/main/java/org/cytoscape/app/internal/manager/App.java
   
csplugins/trunk/toronto/yuedong/app_manager/impl/app-impl/src/main/java/org/cytoscape/app/internal/net/WebQuerier.java
   
csplugins/trunk/toronto/yuedong/app_manager/impl/app-impl/src/main/java/org/cytoscape/app/internal/ui/AppManagerDialog.java
   
csplugins/trunk/toronto/yuedong/app_manager/impl/app-impl/src/main/java/org/cytoscape/app/internal/ui/CurrentlyInstalledAppsPanel.java
   
csplugins/trunk/toronto/yuedong/app_manager/impl/app-impl/src/main/java/org/cytoscape/app/internal/ui/InstallAppsPanel.java
   
csplugins/trunk/toronto/yuedong/app_manager/impl/app-impl/src/main/java/org/cytoscape/app/internal/ui/InstallFromStorePanel.java
Log:
Updated "Install Directly" panel used for installing apps directly from files 
and Urls, added dependency for a (self bundle-packaged) simple, 
freely-available JSON parser (http://www.json.org/java/) to pom file, 
WebQuerier class is now able to obtain all app names from the app store website 
as well as all tag names using the StreamUtil service. The app names are used 
by the website as unique identifiers and can be used to further query for 
information about each app.

Modified: csplugins/trunk/toronto/yuedong/app_manager/impl/app-impl/pom.xml
===================================================================
--- csplugins/trunk/toronto/yuedong/app_manager/impl/app-impl/pom.xml   
2012-04-13 22:02:00 UTC (rev 28834)
+++ csplugins/trunk/toronto/yuedong/app_manager/impl/app-impl/pom.xml   
2012-04-13 22:02:02 UTC (rev 28835)
@@ -123,13 +123,20 @@
                        <version>2.2</version>
                </dependency>
                -->
-               
+                               
                <dependency>
                        <groupId>org.apache.commons</groupId>
                        
<artifactId>com.springsource.org.apache.commons.io</artifactId>
                        <version>1.4.0</version>
                </dependency>
 
+               <!-- dependency for a freely available json parser 
(http://www.json.org/java/) -->
+               <dependency>
+                       <groupId>cytoscape-temp</groupId>
+                       <artifactId>simple-json-parser</artifactId>
+                       <version>1.0-b20120413</version>
+               </dependency>
+
                <!-- dependencies needed for plugin manager -->
                <dependency>
                        <groupId>org.cytoscape</groupId>

Modified: 
csplugins/trunk/toronto/yuedong/app_manager/impl/app-impl/src/main/java/org/cytoscape/app/internal/CyActivator.java
===================================================================
--- 
csplugins/trunk/toronto/yuedong/app_manager/impl/app-impl/src/main/java/org/cytoscape/app/internal/CyActivator.java
 2012-04-13 22:02:00 UTC (rev 28834)
+++ 
csplugins/trunk/toronto/yuedong/app_manager/impl/app-impl/src/main/java/org/cytoscape/app/internal/CyActivator.java
 2012-04-13 22:02:02 UTC (rev 28835)
@@ -3,6 +3,7 @@
 import org.cytoscape.app.AbstractCyApp;
 import org.cytoscape.app.CyAppAdapter;
 import org.cytoscape.app.internal.CyAppAdapterImpl;
+import org.cytoscape.app.internal.net.WebQuerier;
 import org.cytoscape.application.CyVersion;
 import org.cytoscape.session.CySessionManager;
 import org.cytoscape.application.CyApplicationConfiguration;
@@ -17,6 +18,7 @@
 import org.cytoscape.view.layout.CyLayoutAlgorithmManager;
 import org.cytoscape.datasource.DataSourceManager;
 import org.cytoscape.event.CyEventHelper;
+import org.cytoscape.io.util.StreamUtil;
 import org.cytoscape.io.write.PresentationWriterManager;
 import org.cytoscape.view.presentation.RenderingEngineManager;
 import org.cytoscape.view.vizmap.VisualMappingFunctionFactory;
@@ -105,9 +107,10 @@
                DataSourceManager dataSourceManager = getService(bc, 
DataSourceManager.class);
                
                CyAppAdapterImpl cyAppAdapter = new 
CyAppAdapterImpl(cyApplicationManagerRef,cyEventHelperRef,cyLayoutAlgorithmManagerRef,cyNetworkFactoryRef,cyNetworkManagerRef,cyNetworkViewFactoryRef,cyNetworkViewManagerRef,cyNetworkViewReaderManagerRef,cyNetworkViewWriterManagerRef,cyPropertyRef,cyPropertyReaderManagerRef,cyPropertyWriterManagerRef,cyRootNetworkFactoryRef,cyServiceRegistrarRef,cySessionManagerRef,cySessionReaderManagerRef,cySessionWriterManagerRef,cySwingApplicationRef,cyTableFactoryRef,cyTableManagerRef,cyTableReaderManagerRef,cytoscapeVersionService,
 
dialogTaskManagerRef,panelTaskManagerRef,submenuTaskManagerRef,presentationWriterManagerRef,renderingEngineManagerRef,taskManagerRef,undoSupportRef,
 vmfFactoryC, vmfFactoryD, vmfFactoryP, 
visualMappingManagerRef,visualStyleFactoryRef, dataSourceManager);
-               
                registerService(bc,cyAppAdapter,CyAppAdapter.class, new 
Properties());
                
+               WebQuerier webQuerier = new WebQuerier(getService(bc, 
StreamUtil.class));
+               registerService(bc, webQuerier, WebQuerier.class, new 
Properties());
                
                // Attempt to instantiate new manager
                org.cytoscape.app.internal.manager.AppManager appManager = new 
org.cytoscape.app.internal.manager.AppManager(

Modified: 
csplugins/trunk/toronto/yuedong/app_manager/impl/app-impl/src/main/java/org/cytoscape/app/internal/manager/App.java
===================================================================
--- 
csplugins/trunk/toronto/yuedong/app_manager/impl/app-impl/src/main/java/org/cytoscape/app/internal/manager/App.java
 2012-04-13 22:02:00 UTC (rev 28834)
+++ 
csplugins/trunk/toronto/yuedong/app_manager/impl/app-impl/src/main/java/org/cytoscape/app/internal/manager/App.java
 2012-04-13 22:02:02 UTC (rev 28835)
@@ -26,7 +26,7 @@
         */
        private String entryClassName;
 
-       private URL appStoreURL;
+       private URL appStoreUrl;
        
        /**
         * A reference to the instance of the app's class that extends {@link 
AbstractCyApp}.
@@ -134,8 +134,8 @@
                return entryClassName;
        }
        
-       public URL getAppStoreURL() {
-               return appStoreURL;
+       public URL getAppStoreUrl() {
+               return appStoreUrl;
        }
        
        public AbstractCyApp getAppInstance() {
@@ -178,8 +178,8 @@
                this.entryClassName = entryClassName;
        }
        
-       public void setAppStoreURL(URL appStoreURL) {
-               this.appStoreURL = appStoreURL;
+       public void setAppStoreUrl(URL appStoreURL) {
+               this.appStoreUrl = appStoreURL;
        }
        
        public void setAppInstance(AbstractCyApp appInstance) {

Modified: 
csplugins/trunk/toronto/yuedong/app_manager/impl/app-impl/src/main/java/org/cytoscape/app/internal/net/WebQuerier.java
===================================================================
--- 
csplugins/trunk/toronto/yuedong/app_manager/impl/app-impl/src/main/java/org/cytoscape/app/internal/net/WebQuerier.java
      2012-04-13 22:02:00 UTC (rev 28834)
+++ 
csplugins/trunk/toronto/yuedong/app_manager/impl/app-impl/src/main/java/org/cytoscape/app/internal/net/WebQuerier.java
      2012-04-13 22:02:02 UTC (rev 28835)
@@ -1,34 +1,143 @@
 package org.cytoscape.app.internal.net;
 
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.net.HttpURLConnection;
 import java.net.MalformedURLException;
 import java.net.URL;
+import java.net.URLConnection;
+import java.util.HashSet;
+import java.util.Set;
 
+import org.apache.commons.io.IOUtils;
+import org.cytoscape.io.util.StreamUtil;
+import org.json.JSONArray;
+import org.json.JSONException;
+import org.json.JSONObject;
+
 /**
  * This class is responsible for querying the Cytoscape App Store web service 
to obtain
  * information about available apps and app updates.
  */
 public class WebQuerier {
+       
        private static final String APP_STORE_URL = 
"http://nrnb.org/cyappstore/";;
        
-       private URL appStoreURL;
+       private StreamUtil streamUtil;
        
-       public WebQuerier() {
+       public WebQuerier(StreamUtil streamUtil) {
+               this.streamUtil = streamUtil;
                
-               // Parse default string URL as an URL object
+               Set<String> appNames = getAllAppNames();
+               
+               for (String name : appNames) {
+                       System.out.println(name);
+               }
+       }
+       
+       /**
+        * Makes a HTTP query using the given URL and returns the response as a 
string.
+        * @param url The URL used to make the HTTP request
+        * @return The response, as a string
+        * @throws IOException If there was an error while attempting to make a 
connection
+        * to the given URL
+        */
+       private String query(String url) throws IOException {
+               // Convert the string url to a URL object
+               URL parsedUrl = null;
                try {
-                       appStoreURL = new URL(APP_STORE_URL);
+                       parsedUrl = new URL(url);
                } catch (MalformedURLException e) {
-                       throw new RuntimeException("Malformed store URL: " + 
APP_STORE_URL, e);
+                       throw new IOException("Malformed url, " + 
e.getMessage());
                }
+               
+               String result = null;
+       
+               HttpURLConnection connection = (HttpURLConnection) 
streamUtil.getURLConnection(parsedUrl);
+               connection.setRequestProperty("X-Requested-With", 
"XMLHttpRequest");
+               connection.connect();
+               
+               InputStream inputStream = connection.getInputStream();
+               result = IOUtils.toString(inputStream, "UTF-8");
+               
+               connection.disconnect();
+               
+               return result;
        }
        
-       public void getAvailableApps() {
+       /**
+        * Return the set of all tag names found on the app store. 
+        * @return The set of all available tag names
+        */
+       public Set<String> getAllTags() {
+               Set<String> tagNames = new HashSet<String>();
                
-               // Open a connection to the app store website
+               try {
+                       String jsonResult = query(APP_STORE_URL + "apps/");
+                       
+                       JSONArray jsonArray = new JSONArray(jsonResult);
+                       
+                       for (int i = 0; i < jsonArray.length(); i++) {
+                               JSONObject jsonObject = (JSONObject) 
jsonArray.get(i);
+                               
+                               tagNames.add(jsonObject.getString("name"));
+//                             System.out.println("Found tag url identifier: " 
+ jsonObject.get("name"));
+                       }
+                       
+                       /*
+                       System.out.println("Parsed: " + jsonArray.toString());
+                       System.out.println("Index 1: " + jsonArray.get(1));
+                       System.out.println("Index 2: " + jsonArray.get(2));
+                       */
+                       
+               } catch (IOException e) {
+                       // TODO Auto-generated catch block
+                       e.printStackTrace();
+               } catch (JSONException e) {
+                       // TODO Auto-generated catch block
+                       System.out.println("Error parsing JSON: " + 
e.getMessage());
+                       e.printStackTrace();
+               }
                
-               // Query the app store
+               return tagNames;
+       }
+       
+       /**
+        * Return the set of all unique app names available on the app store. 
These
+        * names can be used to query for further app information about each 
app.
+        * 
+        * @return The set of all unique app names available on the app store 
website.
+        */
+       public Set<String> getAllAppNames() {
                
-               // Obtain the JSON-formatted result from the query
-               String JSONresult;
+               Set<String> tagNames = getAllTags();
+               Set<String> appNames = new HashSet<String>();
+
+               try {
+                       String jsonResult = null;
+                       
+                       for (String tagName : tagNames) {
+                               jsonResult = query(APP_STORE_URL + 
"apps/with_tag/" + tagName);
+                               
+                               JSONArray jsonArray = new JSONArray(jsonResult);
+                               
+                               for (int i = 0; i < jsonArray.length(); i++) {
+                                       JSONObject jsonObject = (JSONObject) 
jsonArray.get(i);
+                                       
+                                       
appNames.add(jsonObject.getString("name"));
+                               }
+                       }
+                       
+               } catch (IOException e) {
+                       // TODO Auto-generated catch block
+                       e.printStackTrace();
+               } catch (JSONException e) {
+                       // TODO Auto-generated catch block
+                       System.out.println("Error parsing JSON: " + 
e.getMessage());
+                       e.printStackTrace();
+               }
+               
+               return appNames;
        }
 }

Modified: 
csplugins/trunk/toronto/yuedong/app_manager/impl/app-impl/src/main/java/org/cytoscape/app/internal/ui/AppManagerDialog.java
===================================================================
--- 
csplugins/trunk/toronto/yuedong/app_manager/impl/app-impl/src/main/java/org/cytoscape/app/internal/ui/AppManagerDialog.java
 2012-04-13 22:02:00 UTC (rev 28834)
+++ 
csplugins/trunk/toronto/yuedong/app_manager/impl/app-impl/src/main/java/org/cytoscape/app/internal/ui/AppManagerDialog.java
 2012-04-13 22:02:02 UTC (rev 28835)
@@ -23,8 +23,6 @@
         
         this.setLocationRelativeTo(parent);
         this.setVisible(true);
-        
-        System.out.println("parent: " + parent);
     }
    
 
@@ -32,7 +30,7 @@
 
        mainTabbedPane = new javax.swing.JTabbedPane();
         installNewAppsPanel1 = new InstallFromStorePanel(appManager);
-        installAppsPanel2 = new InstallAppsPanel();
+        installAppsPanel2 = new InstallAppsPanel(appManager);
         currentlyInstalledAppsPanel1 = new 
CurrentlyInstalledAppsPanel(appManager);
         checkForUpdatesPanel1 = new CheckForUpdatesPanel();
 

Modified: 
csplugins/trunk/toronto/yuedong/app_manager/impl/app-impl/src/main/java/org/cytoscape/app/internal/ui/CurrentlyInstalledAppsPanel.java
===================================================================
--- 
csplugins/trunk/toronto/yuedong/app_manager/impl/app-impl/src/main/java/org/cytoscape/app/internal/ui/CurrentlyInstalledAppsPanel.java
      2012-04-13 22:02:00 UTC (rev 28834)
+++ 
csplugins/trunk/toronto/yuedong/app_manager/impl/app-impl/src/main/java/org/cytoscape/app/internal/ui/CurrentlyInstalledAppsPanel.java
      2012-04-13 22:02:02 UTC (rev 28835)
@@ -307,7 +307,7 @@
        } else if (numSelected == 1){
                App selectedApp = selectedApps.iterator().next();
                
-               String text = "Store URL: " + selectedApp.getAppStoreURL();
+               String text = "Store URL: " + selectedApp.getAppStoreUrl();
                text += "\n";
                descriptionTextArea.setText(text);
        } else {

Modified: 
csplugins/trunk/toronto/yuedong/app_manager/impl/app-impl/src/main/java/org/cytoscape/app/internal/ui/InstallAppsPanel.java
===================================================================
--- 
csplugins/trunk/toronto/yuedong/app_manager/impl/app-impl/src/main/java/org/cytoscape/app/internal/ui/InstallAppsPanel.java
 2012-04-13 22:02:00 UTC (rev 28834)
+++ 
csplugins/trunk/toronto/yuedong/app_manager/impl/app-impl/src/main/java/org/cytoscape/app/internal/ui/InstallAppsPanel.java
 2012-04-13 22:02:02 UTC (rev 28835)
@@ -1,25 +1,47 @@
 package org.cytoscape.app.internal.ui;
 
+import java.io.File;
+
+import javax.swing.JFileChooser;
+import javax.swing.JOptionPane;
+import javax.swing.filechooser.FileFilter;
+
+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 InstallAppsPanel extends javax.swing.JPanel {
 
+       private javax.swing.JComboBox enterUrlComboBox;
+    private javax.swing.JLabel enterUrlLabel;
     private javax.swing.JButton installFromFileButton;
-    private javax.swing.JButton installFromURLButton;
-    private javax.swing.JLabel jLabel1;
-    private javax.swing.JLabel jLabel2;
+    private javax.swing.JLabel installFromFileLabel;
+    private javax.swing.JLabel installFromURLLabel;
+    private javax.swing.JButton installFromUrlButton;
        
+    private AppManager appManager;
+    private JFileChooser fileChooser;
+    
     /**
      * Creates new form InstallAppsPanel
      */
-    public InstallAppsPanel() {
-        initComponents();
+    public InstallAppsPanel(AppManager appManager) {
+        this.appManager = appManager;
+       
+       initComponents();
+       
+       setupFileChooser();
     }
 
     private void initComponents() {
 
         installFromFileButton = new javax.swing.JButton();
-        installFromURLButton = new javax.swing.JButton();
-        jLabel1 = new javax.swing.JLabel();
-        jLabel2 = new javax.swing.JLabel();
+        installFromUrlButton = new javax.swing.JButton();
+        installFromFileLabel = new javax.swing.JLabel();
+        installFromURLLabel = new javax.swing.JLabel();
+        enterUrlLabel = new javax.swing.JLabel();
+        enterUrlComboBox = new javax.swing.JComboBox();
 
         installFromFileButton.setText("Select File(s)");
         installFromFileButton.addActionListener(new 
java.awt.event.ActionListener() {
@@ -28,17 +50,21 @@
             }
         });
 
-        installFromURLButton.setText("Select URL");
-        installFromURLButton.addActionListener(new 
java.awt.event.ActionListener() {
+        installFromUrlButton.setText("Install");
+        installFromUrlButton.addActionListener(new 
java.awt.event.ActionListener() {
             public void actionPerformed(java.awt.event.ActionEvent evt) {
-                installFromURLButtonActionPerformed(evt);
+                installFromUrlButtonActionPerformed(evt);
             }
         });
 
-        jLabel1.setText("Install from File:");
+        installFromFileLabel.setText("Install from File");
 
-        jLabel2.setText("Install from URL:");
+        installFromURLLabel.setText("Install from URL (for a list of URLs, 
separate with semicolon)");
 
+        enterUrlLabel.setText("URL(s):");
+
+        enterUrlComboBox.setEditable(true);
+
         org.jdesktop.layout.GroupLayout layout = new 
org.jdesktop.layout.GroupLayout(this);
         this.setLayout(layout);
         layout.setHorizontalGroup(
@@ -46,36 +72,95 @@
             .add(layout.createSequentialGroup()
                 .addContainerGap()
                 
.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
+                    .add(installFromFileLabel)
+                    .add(installFromFileButton)
+                    .add(installFromURLLabel)
                     .add(layout.createSequentialGroup()
-                        .add(installFromURLButton)
-                        .add(0, 0, Short.MAX_VALUE))
-                    .add(layout.createSequentialGroup()
-                        
.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
-                            .add(jLabel1)
-                            .add(installFromFileButton)
-                            .add(jLabel2))
-                        .addContainerGap(417, Short.MAX_VALUE))))
+                        .add(enterUrlLabel)
+                        
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
+                        .add(enterUrlComboBox, 
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 239, 
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
+                        
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
+                        .add(installFromUrlButton)))
+                .addContainerGap(61, Short.MAX_VALUE))
         );
         layout.setVerticalGroup(
             layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
             .add(layout.createSequentialGroup()
                 .addContainerGap()
-                .add(jLabel1)
+                .add(installFromFileLabel)
                 .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                 .add(installFromFileButton)
+                .add(18, 18, 18)
+                .add(installFromURLLabel)
                 .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
-                .add(jLabel2)
-                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
-                .add(installFromURLButton)
-                .addContainerGap(242, Short.MAX_VALUE))
+                
.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
+                    .add(enterUrlLabel)
+                    .add(enterUrlComboBox, 
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 
org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
+                    .add(installFromUrlButton))
+                .addContainerGap(236, Short.MAX_VALUE))
         );
     }
 
     private void 
installFromFileButtonActionPerformed(java.awt.event.ActionEvent evt) {
-        // TODO add your handling code here:
+       int returnValue = fileChooser.showOpenDialog(this);
+        
+        if (returnValue == JFileChooser.APPROVE_OPTION) {
+               File[] files = fileChooser.getSelectedFiles();
+               
+               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());
+                                       
+                                       JOptionPane.showMessageDialog(this, 
"Error opening app: " + e.getMessage(),
+                                      "Error", JOptionPane.ERROR_MESSAGE);
+                               } finally {
+                                       
+                                       // Install the app if parsing was 
successful
+                                       if (app != null) {
+                                               appManager.installApp(app);
+                                       }
+                               }
+               }
+        }
     }
 
-    private void 
installFromURLButtonActionPerformed(java.awt.event.ActionEvent evt) {
+    private void 
installFromUrlButtonActionPerformed(java.awt.event.ActionEvent evt) {
         // TODO add your handling code here:
     }
+    
+    private void setupFileChooser() {
+       fileChooser = new JFileChooser();
+        fileChooser.setDialogTitle("Select App Files");
+        fileChooser.setApproveButtonText("Install");
+        fileChooser.setApproveButtonMnemonic('I');
+        fileChooser.setMultiSelectionEnabled(true);
+        
+        fileChooser.addChoosableFileFilter(new FileFilter(){
+
+                       @Override
+                       public boolean accept(File file) {
+                               if (file.getName().endsWith("jar") || 
file.isDirectory()) {
+                                       return true;
+                               } else {
+                                       return false;
+                               }
+                       }
+
+                       @Override
+                       public String getDescription() {
+                               return "Jar-packaged App Files (*.jar)";
+                       }
+               
+        });
+       }
 }

Modified: 
csplugins/trunk/toronto/yuedong/app_manager/impl/app-impl/src/main/java/org/cytoscape/app/internal/ui/InstallFromStorePanel.java
===================================================================
--- 
csplugins/trunk/toronto/yuedong/app_manager/impl/app-impl/src/main/java/org/cytoscape/app/internal/ui/InstallFromStorePanel.java
    2012-04-13 22:02:00 UTC (rev 28834)
+++ 
csplugins/trunk/toronto/yuedong/app_manager/impl/app-impl/src/main/java/org/cytoscape/app/internal/ui/InstallFromStorePanel.java
    2012-04-13 22:02:02 UTC (rev 28835)
@@ -25,18 +25,18 @@
        /** Long serial version identifier required by the Serializable class */
        private static final long serialVersionUID = -4975281017724945506L;
        
-       private javax.swing.JLabel descriptionLabel;
+       private javax.swing.JCheckBox appTagCheckBox;
+    private javax.swing.JCheckBox authorCheckBox;
+    private javax.swing.JCheckBox descriptionChekBox;
+    private javax.swing.JLabel descriptionLabel;
     private javax.swing.JScrollPane descriptionScrollPane;
     private javax.swing.JTextArea descriptionTextArea;
     private javax.swing.JButton installSelectedButton;
-    private javax.swing.JCheckBox jCheckBox1;
-    private javax.swing.JCheckBox jCheckBox2;
-    private javax.swing.JCheckBox jCheckBox3;
-    private javax.swing.JCheckBox jCheckBox4;
-    private javax.swing.JLabel jLabel1;
+    private javax.swing.JCheckBox nameCheckBox;
     private javax.swing.JLabel resultsLabel;
     private javax.swing.JScrollPane resultsScrollPane;
     private javax.swing.JTable resultsTable;
+    private javax.swing.JLabel searchAppsLabel;
     private javax.swing.JButton searchButton;
     private javax.swing.JComboBox searchComboBox;
     private javax.swing.JButton viewOnWebStoreButton;
@@ -63,11 +63,11 @@
         resultsTable = new javax.swing.JTable();
         installSelectedButton = new javax.swing.JButton();
         viewOnWebStoreButton = new javax.swing.JButton();
-        jCheckBox1 = new javax.swing.JCheckBox();
-        jCheckBox2 = new javax.swing.JCheckBox();
-        jCheckBox3 = new javax.swing.JCheckBox();
-        jLabel1 = new javax.swing.JLabel();
-        jCheckBox4 = new javax.swing.JCheckBox();
+        nameCheckBox = new javax.swing.JCheckBox();
+        authorCheckBox = new javax.swing.JCheckBox();
+        appTagCheckBox = new javax.swing.JCheckBox();
+        searchAppsLabel = new javax.swing.JLabel();
+        descriptionChekBox = new javax.swing.JCheckBox();
         descriptionLabel = new javax.swing.JLabel();
         descriptionScrollPane = new javax.swing.JScrollPane();
         descriptionTextArea = new javax.swing.JTextArea();
@@ -111,16 +111,16 @@
 
         viewOnWebStoreButton.setText("View on Web Store");
 
-        jCheckBox1.setSelected(true);
-        jCheckBox1.setText("Name");
+        nameCheckBox.setSelected(true);
+        nameCheckBox.setText("Name");
 
-        jCheckBox2.setText("Author");
+        authorCheckBox.setText("Author");
 
-        jCheckBox3.setText("App Tags");
+        appTagCheckBox.setText("App Tags");
 
-        jLabel1.setText("Search for Apps:");
+        searchAppsLabel.setText("Search for Apps:");
 
-        jCheckBox4.setText("Description");
+        descriptionChekBox.setText("Description");
 
         descriptionLabel.setText("App Information:");
 
@@ -145,14 +145,14 @@
                                 .add(viewOnWebStoreButton))
                             .add(resultsLabel)
                             .add(layout.createSequentialGroup()
-                                .add(jCheckBox1)
+                                .add(nameCheckBox)
                                 
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
-                                .add(jCheckBox2)
+                                .add(authorCheckBox)
                                 
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
-                                .add(jCheckBox3)
+                                .add(appTagCheckBox)
                                 
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
-                                .add(jCheckBox4))
-                            .add(jLabel1)
+                                .add(descriptionChekBox))
+                            .add(searchAppsLabel)
                             .add(layout.createSequentialGroup()
                                 .add(searchComboBox, 
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 288, 
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                                 
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
@@ -165,13 +165,13 @@
             layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
             .add(layout.createSequentialGroup()
                 .addContainerGap()
-                .add(jLabel1)
+                .add(searchAppsLabel)
                 .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                 
.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
-                    .add(jCheckBox1)
-                    .add(jCheckBox2)
-                    .add(jCheckBox3)
-                    .add(jCheckBox4))
+                    .add(nameCheckBox)
+                    .add(authorCheckBox)
+                    .add(appTagCheckBox)
+                    .add(descriptionChekBox))
                 .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                 
.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                     .add(searchComboBox, 
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 
org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)

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