Author: kono
Date: 2012-04-19 17:29:29 -0700 (Thu, 19 Apr 2012)
New Revision: 28892

Added:
   
core3/api/trunk/swing-util-api/src/test/java/org/cytoscape/util/swing/ColumnResizerTest.java
   
core3/api/trunk/swing-util-api/src/test/java/org/cytoscape/util/swing/FileChooserFilterTest.java
Modified:
   core3/api/trunk/swing-util-api/pom.xml
   
core3/api/trunk/swing-util-api/src/main/java/org/cytoscape/util/swing/ColumnResizer.java
   
core3/api/trunk/swing-util-api/src/main/java/org/cytoscape/util/swing/CyColorChooser.java
   
core3/api/trunk/swing-util-api/src/main/java/org/cytoscape/util/swing/FileChooserFilter.java
   
core3/api/trunk/swing-util-api/src/main/java/org/cytoscape/util/swing/JMenuTracker.java
   
core3/api/trunk/swing-util-api/src/main/java/org/cytoscape/util/swing/JTreeTable.java
Log:
refs #875 New unit tests had been added to swing-util-api.

Modified: core3/api/trunk/swing-util-api/pom.xml
===================================================================
--- core3/api/trunk/swing-util-api/pom.xml      2012-04-19 23:45:44 UTC (rev 
28891)
+++ core3/api/trunk/swing-util-api/pom.xml      2012-04-20 00:29:29 UTC (rev 
28892)
@@ -1,114 +1,121 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/maven-v4_0_0.xsd";>
+<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+       xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/maven-v4_0_0.xsd";>
 
-  <parent>
-    <groupId>org.cytoscape</groupId>
-    <artifactId>api-parent</artifactId>
-    <version>3.0.0-alpha8-SNAPSHOT</version>
-  </parent>
+       <parent>
+               <groupId>org.cytoscape</groupId>
+               <artifactId>api-parent</artifactId>
+               <version>3.0.0-alpha8-SNAPSHOT</version>
+       </parent>
 
-  <properties>
-    <bundle.symbolicName>org.cytoscape.swing-util-api</bundle.symbolicName>
-    <bundle.namespace>org.cytoscape.util.swing</bundle.namespace>
-  </properties>
+       <properties>
+               
<bundle.symbolicName>org.cytoscape.swing-util-api</bundle.symbolicName>
+               <bundle.namespace>org.cytoscape.util.swing</bundle.namespace>
+       </properties>
 
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>org.cytoscape</groupId>
-  <artifactId>swing-util-api</artifactId>
+       <modelVersion>4.0.0</modelVersion>
+       <artifactId>swing-util-api</artifactId>
 
-  <name>Cytoscape Swing Utility API (${project.artifactId})</name>
+       <name>Cytoscape Swing Utility API (${project.artifactId})</name>
 
-  <packaging>bundle</packaging>
+       <packaging>bundle</packaging>
 
-  <repositories>
-    <!-- bootstrap for cytoscape dependencies, namely the parent POM snapshots 
-->
-    <repository>
-      <id>cytoscape_snapshots</id>
-      <snapshots>
-        <enabled>true</enabled>
-      </snapshots>
-      <releases>
-        <enabled>false</enabled>
-      </releases>
-      <name>Cytoscape Snapshots</name>
-      
<url>http://code.cytoscape.org/nexus/content/repositories/snapshots/</url>
-    </repository>
-    <!-- bootstrap for cytoscape dependencies, namely the parent POM releases 
-->
-    <repository>
-      <id>cytoscape_releases</id>
-      <snapshots>
-        <enabled>false</enabled>
-      </snapshots>
-      <releases>
-        <enabled>true</enabled>
-      </releases>
-      <name>Cytoscape Releases</name>
-      <url>http://code.cytoscape.org/nexus/content/repositories/releases/</url>
-    </repository>
-  </repositories>
+       <repositories>
+               <!-- bootstrap for cytoscape dependencies, namely the parent 
POM snapshots -->
+               <repository>
+                       <id>cytoscape_snapshots</id>
+                       <snapshots>
+                               <enabled>true</enabled>
+                       </snapshots>
+                       <releases>
+                               <enabled>false</enabled>
+                       </releases>
+                       <name>Cytoscape Snapshots</name>
+                       
<url>http://code.cytoscape.org/nexus/content/repositories/snapshots/</url>
+               </repository>
+               <!-- bootstrap for cytoscape dependencies, namely the parent 
POM releases -->
+               <repository>
+                       <id>cytoscape_releases</id>
+                       <snapshots>
+                               <enabled>false</enabled>
+                       </snapshots>
+                       <releases>
+                               <enabled>true</enabled>
+                       </releases>
+                       <name>Cytoscape Releases</name>
+                       
<url>http://code.cytoscape.org/nexus/content/repositories/releases/</url>
+               </repository>
+       </repositories>
 
-  <build>
-    <resources>
-      <resource>
-        <directory>src/main/resources</directory>
-      </resource>
-      <resource>
-        <directory>.</directory>
-        <includes>
-          <include>plugin.xml</include>
-          <include>plugin.properties</include>
-          <include>icons/**</include>
-        </includes>
-      </resource>
-    </resources>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.felix</groupId>
-        <artifactId>maven-bundle-plugin</artifactId>
-        <version>${maven-bundle-plugin.version}</version>
-        <extensions>true</extensions>
-        <configuration>
-          <instructions>
-            <Bundle-SymbolicName>${bundle.symbolicName}</Bundle-SymbolicName>
-            <Bundle-Version>${project.version}</Bundle-Version>
-            
<Export-Package>!${bundle.namespace}.internal.*,${bundle.namespace}.*;version="${project.version}"</Export-Package>
-            <Private-Package>${bundle.namespace}.internal.*</Private-Package>
-            
<Bundle-Activator>${bundle.namespace}.internal.CyActivator</Bundle-Activator>
-          </instructions>
-        </configuration>
-      </plugin>
-    </plugins>
-  </build>
-  <dependencies>
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.cytoscape</groupId>
-      <artifactId>property-api</artifactId>
-      <version>${project.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.cytoscape</groupId>
-      <artifactId>service-api</artifactId>
-      <version>${project.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.osgi</groupId>
-      <artifactId>org.osgi.core</artifactId>
-      <version>${osgi.api.version}</version>
-    </dependency>
-    <dependency>
-         <groupId>org.cytoscape</groupId>
-         <artifactId>model-api</artifactId>
-      <version>${project.version}</version>
-       </dependency>
-       <dependency>
-         <groupId>org.cytoscape</groupId>
-         <artifactId>application-api</artifactId>
-         <version>${project.version}</version>
-       </dependency>
-  </dependencies>
+       <build>
+               <resources>
+                       <resource>
+                               <directory>src/main/resources</directory>
+                       </resource>
+                       <resource>
+                               <directory>.</directory>
+                               <includes>
+                                       <include>plugin.xml</include>
+                                       <include>plugin.properties</include>
+                                       <include>icons/**</include>
+                               </includes>
+                       </resource>
+               </resources>
+               <plugins>
+                       <plugin>
+                               <groupId>org.apache.felix</groupId>
+                               <artifactId>maven-bundle-plugin</artifactId>
+                               
<version>${maven-bundle-plugin.version}</version>
+                               <extensions>true</extensions>
+                               <configuration>
+                                       <instructions>
+                                               
<Bundle-SymbolicName>${bundle.symbolicName}</Bundle-SymbolicName>
+                                               
<Bundle-Version>${project.version}</Bundle-Version>
+                                               
<Export-Package>!${bundle.namespace}.internal.*,${bundle.namespace}.*;version="${project.version}"</Export-Package>
+                                               
<Private-Package>${bundle.namespace}.internal.*</Private-Package>
+                                               
<Bundle-Activator>${bundle.namespace}.internal.CyActivator</Bundle-Activator>
+                                       </instructions>
+                               </configuration>
+                       </plugin>
+               </plugins>
+       </build>
+       <dependencies>
+               <dependency>
+                       <groupId>org.cytoscape</groupId>
+                       <artifactId>property-api</artifactId>
+                       <version>${project.version}</version>
+               </dependency>
+               <dependency>
+                       <groupId>org.cytoscape</groupId>
+                       <artifactId>service-api</artifactId>
+                       <version>${project.version}</version>
+               </dependency>
+               <dependency>
+                       <groupId>org.osgi</groupId>
+                       <artifactId>org.osgi.core</artifactId>
+                       <version>${osgi.api.version}</version>
+               </dependency>
+               <dependency>
+                       <groupId>org.cytoscape</groupId>
+                       <artifactId>model-api</artifactId>
+                       <version>${project.version}</version>
+               </dependency>
+               <dependency>
+                       <groupId>org.cytoscape</groupId>
+                       <artifactId>application-api</artifactId>
+                       <version>${project.version}</version>
+               </dependency>
+
+               <!-- Testing -->
+               <dependency>
+                       <groupId>junit</groupId>
+                       <artifactId>junit</artifactId>
+                       <scope>test</scope>
+               </dependency>
+               <dependency>
+                       <groupId>org.mockito</groupId>
+                       <artifactId>mockito-all</artifactId>
+                       <scope>test</scope>
+               </dependency>
+       </dependencies>
 </project>

Modified: 
core3/api/trunk/swing-util-api/src/main/java/org/cytoscape/util/swing/ColumnResizer.java
===================================================================
--- 
core3/api/trunk/swing-util-api/src/main/java/org/cytoscape/util/swing/ColumnResizer.java
    2012-04-19 23:45:44 UTC (rev 28891)
+++ 
core3/api/trunk/swing-util-api/src/main/java/org/cytoscape/util/swing/ColumnResizer.java
    2012-04-20 00:29:29 UTC (rev 28892)
@@ -49,23 +49,17 @@
  * From <i>Swing Hacks</i> by Joshua Marinacci and Chris Adamson.<br>
  * 2005 Oreilly & Associates Inc. ISBN: 0-596-00907-0<br>
  * </p>
- * Customized by Keiichiro Ono
  *
- * @since Cytoscape 2.4
- * @version 1.0
  * @author Joshua Marinacci, Chris Adamson, Keiichiro Ono
  * @CyAPI.Static.Class 
  */
 public final class ColumnResizer {
+       
        private static final int DEFLMAX_WIDTH = 280;
 
        private ColumnResizer() {}
 
-       /**
-        *  DOCUMENT ME!
-        *
-        * @param table DOCUMENT ME!
-        */
+       
        public static void adjustColumnPreferredWidths(JTable table) {
                // strategy - get max width for cells in column and
                // make that the preferred width

Modified: 
core3/api/trunk/swing-util-api/src/main/java/org/cytoscape/util/swing/CyColorChooser.java
===================================================================
--- 
core3/api/trunk/swing-util-api/src/main/java/org/cytoscape/util/swing/CyColorChooser.java
   2012-04-19 23:45:44 UTC (rev 28891)
+++ 
core3/api/trunk/swing-util-api/src/main/java/org/cytoscape/util/swing/CyColorChooser.java
   2012-04-20 00:29:29 UTC (rev 28892)
@@ -45,35 +45,38 @@
 /**
  * This is an annoying re-implementation of JColorChooser.showDialog() that 
remembers
  * recently used colors between invocations of the chooser dialog.
+ *
  * @CyAPI.Static.Class 
  */
 public final class CyColorChooser {
-       protected static JColorChooser chooser = new JColorChooser();
-       protected static ColorListener listener = new ColorListener();
-       protected static Color color;
+       
+       private static JColorChooser chooser = new JColorChooser();
+       private static ColorListener listener = new ColorListener();
+       
+       private static Color color;
 
        private CyColorChooser() {}
 
        /**
-        *  DOCUMENT ME!
-        *
-        * @param component DOCUMENT ME!
-        * @param title DOCUMENT ME!
-        * @param initialColor DOCUMENT ME!
-        *
-        * @return  DOCUMENT ME!
+        * Display custom color chooser dialog.
+        * 
+        * @param parent parent component of this dialog
+        * @param title Title of this dialog
+        * @param initialColor Initially selected color.
+        * 
+        * @return New Color or null if canceled.
         */
-       public static Color showDialog(Component component, String title, Color 
initialColor) {
+       public static Color showDialog(final Component parent, final String 
title, final Color initialColor) {
                if (initialColor != null)
                        chooser.setColor(initialColor);
 
-               JDialog dialog = JColorChooser.createDialog(component, title, 
true, chooser, listener, null);
+               final JDialog dialog = JColorChooser.createDialog(parent, 
title, true, chooser, listener, null);
                dialog.setVisible(true);
 
                return color;
        }
 
-       static class ColorListener implements ActionListener {
+       private static final class ColorListener implements ActionListener {
                public void actionPerformed(ActionEvent e) {
                        color = chooser.getColor();
                }

Modified: 
core3/api/trunk/swing-util-api/src/main/java/org/cytoscape/util/swing/FileChooserFilter.java
===================================================================
--- 
core3/api/trunk/swing-util-api/src/main/java/org/cytoscape/util/swing/FileChooserFilter.java
        2012-04-19 23:45:44 UTC (rev 28891)
+++ 
core3/api/trunk/swing-util-api/src/main/java/org/cytoscape/util/swing/FileChooserFilter.java
        2012-04-20 00:29:29 UTC (rev 28892)
@@ -1,76 +1,96 @@
 package org.cytoscape.util.swing;
 
-
 import java.io.File;
 import java.util.Arrays;
 import javax.swing.filechooser.FileFilter;
 
-
 /**
- * Used to hold extension(s) of acceptable file types and a short description 
of them.
+ * Used to hold extension(s) of acceptable file types and a short description 
of
+ * them.
+ * 
  * @CyAPI.Final.Class
  */
 public final class FileChooserFilter extends FileFilter {
-       private final String description;
-       private final String[] extensions;
 
-       /** Construct this FileChooserFilter using one acceptable file type 
extension.
-        * @param description  a short description of the acceptable file type
-        *  @param extension    the file extension of the acceptable file type
+       private final String description;
+       private final String[] extensions;
+
+       /**
+        * Construct this FileChooserFilter using one acceptable file type
+        * extension.
+        * 
+        * @param description
+        *            a short description of the acceptable file type
+        * @param extension
+        *            the file extension of the acceptable file type
         */
-       public FileChooserFilter(final String description, final String 
extension) {
-               super();
-               this.description = description;
-               this.extensions = new String[] { extension };
-       }
+       public FileChooserFilter(final String description, final String 
extension) {
+               this(description, new String[] {extension});
+       }
 
-       /** Construct this FileChooserFilter using multiple acceptable file 
type extensions.
-        *  @param description  a short description of the acceptable file 
type(s)
-        *  @param extensions    the file extensions of the acceptable file 
type(s)
+       /**
+        * Construct this FileChooserFilter using multiple acceptable file type
+        * extensions.
+        * 
+        * @param description
+        *            a short description of the acceptable file type(s)
+        * @param extensions
+        *            the file extensions of the acceptable file type(s)
         */
-       public FileChooserFilter(final String description, final String[] 
extensions) {
-               super();
-               this.description = description;
-               this.extensions = extensions;
-       }
+       public FileChooserFilter(final String description, final String[] 
extensions) {
+               super();
+               this.description = description;
+               this.extensions = extensions;
+       }
 
-       /** Accept or not the file from JFileChooser.
-        *  @param file  the file to be tested
+       /**
+        * Accept or not the file from JFileChooser.
+        * 
+        * @param file
+        *            the file to be tested
         */
-       public boolean accept(final File file) {
-               if (file.isDirectory())
+       @Override
+       public boolean accept(final File file) {
+               if (file.isDirectory())
                        return true;
 
-               String fileName = file.getName().toLowerCase();
+               String fileName = file.getName().toLowerCase();
 
-               if (extensions != null) {
-                       for(int i = 0; i < extensions.length; i++) {
-                               if (fileName.endsWith(extensions[i]))
-                                       return true;
-                       }
+               if (extensions != null) {
+                       for (int i = 0; i < extensions.length; i++) {
+                               if (fileName.endsWith(extensions[i]))
+                                       return true;
+                       }
 
-                       for(int i = 0; i < extensions.length; i++) {
-                               if (fileName.contains(extensions[i]))
-                                       return true;
-                       }
-               } else
+                       for (int i = 0; i < extensions.length; i++) {
+                               if (fileName.contains(extensions[i]))
+                                       return true;
+                       }
+               } else
                        throw new IllegalArgumentException("No fileType 
specified");
 
-               return false;
-       }
+               return false;
+       }
 
-    /** Returns the short description of the acceptable file type.
-     * @return the short description of the acceptable file type.
-     */
+       /**
+        * Returns the short description of the acceptable file type.
+        * 
+        * @return the short description of the acceptable file type.
+        */
+       @Override
        public String getDescription() {
-               return description;
+               return description;
        }
-       
-       /** Returns an array of the extensions associated with this 
FileChooserFilter.
-        * @return an array of the extensions associated with this 
FileChooserFilter.
+
+       /**
+        * Returns an array of the extensions associated with this
+        * FileChooserFilter.
+        * 
+        * @return an array of the extensions associated with this
+        *         FileChooserFilter.
         */
        public String[] getExtensions() {
-               return extensions;
+               return extensions;
        }
 
        @Override
@@ -78,7 +98,7 @@
                if (!(other instanceof FileChooserFilter))
                        return false;
 
-               final FileChooserFilter otherFilter = (FileChooserFilter)other;
+               final FileChooserFilter otherFilter = (FileChooserFilter) other;
                if (!otherFilter.description.equals(description))
                        return false;
 

Modified: 
core3/api/trunk/swing-util-api/src/main/java/org/cytoscape/util/swing/JMenuTracker.java
===================================================================
--- 
core3/api/trunk/swing-util-api/src/main/java/org/cytoscape/util/swing/JMenuTracker.java
     2012-04-19 23:45:44 UTC (rev 28891)
+++ 
core3/api/trunk/swing-util-api/src/main/java/org/cytoscape/util/swing/JMenuTracker.java
     2012-04-20 00:29:29 UTC (rev 28892)
@@ -30,17 +30,16 @@
 package org.cytoscape.util.swing;
 
 
-import javax.swing.JMenu;
-import javax.swing.JMenuBar;
-import javax.swing.JPopupMenu;
-
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
-import java.util.StringTokenizer;
 
+import javax.swing.JMenu;
+import javax.swing.JMenuBar;
+import javax.swing.JPopupMenu;
 
+
 /**
  * A class that creates and manages hierarchies of JMenu objects.
  * @CyAPI.Final.Class
@@ -49,7 +48,6 @@
        private final Map<String, MenuGravityTracker> menuMap;
        private final JMenuBar rootMenuBar;
        private final PopupMenuGravityTracker rootPopupGravityTracker;
-       private double largeGravity = Double.MAX_VALUE / 2.0;
 
        /**
         * This constructor allows you to specify a root JPopupMenu that all 
parent-less

Modified: 
core3/api/trunk/swing-util-api/src/main/java/org/cytoscape/util/swing/JTreeTable.java
===================================================================
--- 
core3/api/trunk/swing-util-api/src/main/java/org/cytoscape/util/swing/JTreeTable.java
       2012-04-19 23:45:44 UTC (rev 28891)
+++ 
core3/api/trunk/swing-util-api/src/main/java/org/cytoscape/util/swing/JTreeTable.java
       2012-04-20 00:29:29 UTC (rev 28892)
@@ -55,6 +55,7 @@
  * @CyAPI.Final.Class 
  */
 public final class JTreeTable extends JTable {
+       
        private final static long serialVersionUID = 1202339868625600L;
        private final static Logger logger = LoggerFactory.getLogger( 
JTreeTable.class );
 

Added: 
core3/api/trunk/swing-util-api/src/test/java/org/cytoscape/util/swing/ColumnResizerTest.java
===================================================================
--- 
core3/api/trunk/swing-util-api/src/test/java/org/cytoscape/util/swing/ColumnResizerTest.java
                                (rev 0)
+++ 
core3/api/trunk/swing-util-api/src/test/java/org/cytoscape/util/swing/ColumnResizerTest.java
        2012-04-20 00:29:29 UTC (rev 28892)
@@ -0,0 +1,29 @@
+package org.cytoscape.util.swing;
+
+import static org.junit.Assert.*;
+
+import javax.swing.JTable;
+import javax.swing.table.DefaultTableModel;
+import javax.swing.table.TableColumn;
+import javax.swing.table.TableModel;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+public class ColumnResizerTest {
+       
+       @Test
+       public void testAdjustColumnPreferredWidths() {
+               JTable table = new JTable();
+               final TableColumn col = new TableColumn();
+               col.setHeaderValue("Test");
+               col.setWidth(1);
+               int w = col.getWidth();
+               table.addColumn(col);
+               ColumnResizer.adjustColumnPreferredWidths(table);
+               
+               assertTrue(table.getColumn("Test").getWidth() == w);
+       }
+
+}

Added: 
core3/api/trunk/swing-util-api/src/test/java/org/cytoscape/util/swing/FileChooserFilterTest.java
===================================================================
--- 
core3/api/trunk/swing-util-api/src/test/java/org/cytoscape/util/swing/FileChooserFilterTest.java
                            (rev 0)
+++ 
core3/api/trunk/swing-util-api/src/test/java/org/cytoscape/util/swing/FileChooserFilterTest.java
    2012-04-20 00:29:29 UTC (rev 28892)
@@ -0,0 +1,59 @@
+package org.cytoscape.util.swing;
+
+import static org.junit.Assert.*;
+
+import java.io.File;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+public class FileChooserFilterTest {
+       
+       private FileChooserFilter filter;
+       private String description = "test filter";
+       private String extension = "xml";
+       private String[] extensions = new String[] {"xml", "rdf"};
+
+       @Before
+       public void setUp() throws Exception {
+               filter = new FileChooserFilter(description, extensions);
+       }
+
+
+       @Test
+       public void testFileChooserFilterConstructor() {
+               assertNotNull(filter);
+               FileChooserFilter filter2 = new FileChooserFilter(description, 
extension);
+               assertNotNull(filter2);
+       }
+
+       @Test
+       public void testAcceptFile() {
+               File rdfFile = new File("test.rdf");
+               File xmlFile = new File("test.xml");
+               File textFile = new File("test.txt");
+               
+               assertTrue(filter.accept(rdfFile));
+               assertTrue(filter.accept(xmlFile));
+               assertFalse(filter.accept(textFile));
+       }
+
+       @Test
+       public void testGetDescription() {
+               assertEquals(description, filter.getDescription());
+       }
+
+       @Test
+       public void testGetExtensions() {
+               final String[] exts = filter.getExtensions();
+               assertEquals(2, exts.length);
+       }
+
+       @Test
+       public void testEqualsObject() {
+               FileChooserFilter filter2 = new FileChooserFilter(description, 
extension);
+               assertFalse(filter.equals(filter2));
+       }
+
+}

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