// list of columns to display in table in correct order
private List<String> displayColumns;
- // row in table which is currently the default
- private int defaultRow;
+ // row in table which is currently the primary
+ private int primaryRow;
/**
* UrlLinkTableModel constructor
data = baseData.getLinksForTable();
displayColumns = UrlLinkDisplay.getDisplayColumnNames();
- // find the default row
- defaultRow = 0;
+ // find the primary row
+ primaryRow = 0;
Iterator<UrlLinkDisplay> it = data.iterator();
while (it.hasNext())
{
- if (it.next().getIsDefault())
+ if (it.next().getIsPrimary())
{
break;
}
else
{
- defaultRow++;
+ primaryRow++;
}
}
public boolean isRowDeletable(int rowIndex)
{
// to delete, row must be a user entered row, and not the default row
- return (dataProvider.isUserEntry(data.get(rowIndex).getId()) && !data
- .get(rowIndex).getIsDefault());
+ return (dataProvider.isUserEntry(data.get(rowIndex).getId())
+ && !data.get(rowIndex).getIsPrimary());
}
@Override
public void setValueAt(Object aValue, int rowIndex, int columnIndex)
{
- if (columnIndex == UrlLinkDisplay.DEFAULT)
+ if (columnIndex == UrlLinkDisplay.PRIMARY)
{
// Default url column: exactly one row must always be true
- if (rowIndex != defaultRow)
+ if (rowIndex != primaryRow)
{
// selected row is not currently the default
// set the current default to false
- data.get(defaultRow).setValue(columnIndex, false);
- fireTableRowsUpdated(defaultRow, defaultRow);
+ data.get(primaryRow).setValue(columnIndex, false);
+ fireTableRowsUpdated(primaryRow, primaryRow);
// set the default to be the selected row
- defaultRow = rowIndex;
+ primaryRow = rowIndex;
data.get(rowIndex).setValue(columnIndex, aValue);
fireTableRowsUpdated(rowIndex, rowIndex);
data.remove(rowIndex);
// update default row
- if (defaultRow > rowIndex)
+ if (primaryRow > rowIndex)
{
- defaultRow--;
+ primaryRow--;
}
// fire update which will update data source
public int insertRow(String name, String url)
{
// add a row to the data
- UrlLink link = new UrlLink(name, url);
+ UrlLink link = new UrlLink(name, url, name);
UrlLinkDisplay u = new UrlLinkDisplay(name, link, true, false);
int index = data.size();
data.add(u);
return index;
}
- public int getDefaultColumn()
+ public int getPrimaryColumn()
{
- return UrlLinkDisplay.DEFAULT;
+ return UrlLinkDisplay.PRIMARY;
}
public int getNameColumn()
return UrlLinkDisplay.NAME;
}
+ public int getDatabaseColumn()
+ {
+ return UrlLinkDisplay.DATABASE;
+ }
+
public int getIdColumn()
{
return UrlLinkDisplay.ID;
return dataProvider
.isUserEntry(entry.getStringValue(UrlLinkDisplay.ID));
}
+
+ public boolean isUniqueName(String name)
+ {
+ return !dataProvider.contains(name);
+ }
}