blob: 0eaae99b95d2be1672ab6bf9102e51d6ab2eee95 [file] [log] [blame]
/*******************************************************************************
* Copyright (C) 2007 The University of Manchester
*
* Modifications to the initial code base are copyright of their
* respective authors, or their employers as appropriate.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public License
* as published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
******************************************************************************/
package net.sf.taverna.t2.workbench.ui.credentialmanager;
import static net.sf.taverna.t2.workbench.ui.credentialmanager.CredentialManagerUI.KEY_PAIR_ENTRY_TYPE;
import static net.sf.taverna.t2.workbench.ui.credentialmanager.CredentialManagerUI.PASSWORD_ENTRY_TYPE;
import static net.sf.taverna.t2.workbench.ui.credentialmanager.CredentialManagerUI.TRUST_CERT_ENTRY_TYPE;
import java.awt.Component;
//import java.text.DateFormat;
//import java.util.Date;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.JTable;
import javax.swing.border.EmptyBorder;
import javax.swing.table.DefaultTableCellRenderer;
//import net.sf.taverna.t2.workbench.ui.credentialmanager.KeyPairsTableModel;
//import net.sf.taverna.t2.workbench.ui.credentialmanager.PasswordsTableModel;
//import net.sf.taverna.t2.workbench.ui.credentialmanager.TrustedCertsTableModel;
/**
* Custom cell renderer for the cells of the tables displaying
* Keystore/Truststore contents.
*
* @author Alex Nenadic
*/
public class TableCellRenderer extends DefaultTableCellRenderer {
private static final long serialVersionUID = -3983986682794010259L;
private final ImageIcon passwordEntryIcon = new ImageIcon(
TableCellRenderer.class.getResource("/images/table/key_entry.png"));
private final ImageIcon keypairEntryIcon = new ImageIcon(
TableCellRenderer.class
.getResource("/images/table/keypair_entry.png"));
private final ImageIcon trustcertEntryIcon = new ImageIcon(
TableCellRenderer.class
.getResource("/images/table/trustcert_entry.png"));
/**
* Get the rendered cell for the supplied value and column.
*/
@Override
public Component getTableCellRendererComponent(JTable keyStoreTable,
Object value, boolean bIsSelected, boolean bHasFocus, int iRow,
int iCol) {
JLabel cell = (JLabel) super.getTableCellRendererComponent(
keyStoreTable, value, bIsSelected, bHasFocus, iRow, iCol);
if (value != null) {
// Type column - display an icon representing the type
if (iCol == 0)
configureTypeColumn(value, cell);
// Last Modified column - format date (if date supplied)
/*else if (((keyStoreTable.getModel() instanceof PasswordsTableModel) && (iCol == 3)) ||
((keyStoreTable.getModel() instanceof KeyPairsTableModel) && (iCol == 4))||
((keyStoreTable.getModel() instanceof TrustedCertsTableModel) && (iCol == 4))){
if (value instanceof Date) {
// Include timezone
cell.setText(DateFormat.getDateTimeInstance(DateFormat.MEDIUM,
DateFormat.LONG).format((Date) value));
} else {
cell.setText(value.toString());
}
}*/
// Other columns - just use their text values
else
cell.setText(value.toString());
}
cell.setBorder(new EmptyBorder(0, 5, 0, 5));
return cell;
}
private void configureTypeColumn(Object value, JLabel cell) {
ImageIcon icon = null;
// The cell is in the first column of Passwords table
if (PASSWORD_ENTRY_TYPE.equals(value)) {
icon = passwordEntryIcon; // key (i.e. password) entry image
}
// The cell is in the first column of Key Pairs table
else if (KEY_PAIR_ENTRY_TYPE.equals(value)) {
icon = keypairEntryIcon; // key pair entry image
}
// The cell is in the first column of Trusted Certificates table
else if (TRUST_CERT_ENTRY_TYPE.equals(value)) {
icon = trustcertEntryIcon; // trust. certificate entry image
}
cell.setIcon(icon);
cell.setText("");
cell.setVerticalAlignment(CENTER);
cell.setHorizontalAlignment(CENTER);
}
}