JAL-2316 Restructure identifiers.org download
[jalview.git] / src / jalview / urls / UrlLinkTableModel.java
index 103454b..0605f02 100644 (file)
 
 package jalview.urls;
 
-import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
 
+import javax.swing.event.TableModelEvent;
+import javax.swing.event.TableModelListener;
 import javax.swing.table.AbstractTableModel;
 
 /**
@@ -61,15 +62,11 @@ public class UrlLinkTableModel extends AbstractTableModel
    * @param keyColName
    *          name of column corresponding to keys in baseData
    */
-  public UrlLinkTableModel(UrlProviderI baseData,
-          List<String> displayColNames,
-          String keyColName)
+  public UrlLinkTableModel(UrlProviderI baseData)
   {
     dataProvider = baseData;
     data = baseData.getLinksForTable();
-    displayColumns = new ArrayList<String>();
-    displayColumns.add(keyColName);
-    displayColumns.addAll(displayColNames);
+    displayColumns = UrlLinkDisplay.getDisplayColumnNames();
 
     // find the default row
     defaultRow = 0;
@@ -85,6 +82,17 @@ public class UrlLinkTableModel extends AbstractTableModel
         defaultRow++;
       }
     }
+
+    this.addTableModelListener(new TableModelListener()
+    {
+      @Override
+      public void tableChanged(TableModelEvent e)
+      {
+        // update the UrlProvider from data list
+        dataProvider.setUrlData(data);
+      }
+    });
+
   }
 
   @Override
@@ -169,15 +177,6 @@ public class UrlLinkTableModel extends AbstractTableModel
     return displayColumns.get(columnIndex);
   }
 
-  @Override
-  public String toString()
-  {
-    // update the UrlProvider from data list
-    dataProvider.setUrlData(data);
-
-    return dataProvider.writeUrlsAsString();
-  }
-
   public void removeRow(int rowIndex)
   {
     // remove the row from data
@@ -201,4 +200,5 @@ public class UrlLinkTableModel extends AbstractTableModel
     fireTableRowsInserted(index, index);
     return index;
   }
+
 }