/*
* Jitsi, the OpenSource Java VoIP and Instant Messaging client.
*
* Copyright @ 2015 Atlassian Pty Ltd
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package net.java.sip.communicator.plugin.certconfig;
import java.beans.*;
import java.util.*;
import javax.swing.table.*;
import net.java.sip.communicator.service.certificate.*;
import org.jitsi.service.resources.*;
/**
* Backing data model for a JTable that displays the client certificate
* configuration entries.
*
* @author Ingo Bauersachs
*/
public class CertConfigTableModel
extends AbstractTableModel
implements PropertyChangeListener
{
private static final long serialVersionUID = -6369348252411082340L;
private CertificateService cvs;
private List<CertificateConfigEntry> model;
private ResourceManagementService R = CertConfigActivator.R;
/**
* Constructor.
*/
public CertConfigTableModel()
{
CertConfigActivator.getConfigService().addPropertyChangeListener(this);
cvs = CertConfigActivator.getCertService();
model = cvs.getClientAuthCertificateConfigs();
}
public int getRowCount()
{
return model.size();
}
public int getColumnCount()
{
return 3;
}
public Object getValueAt(int rowIndex, int columnIndex)
{
switch(columnIndex)
{
case 0:
return model.get(rowIndex).getDisplayName();
case 1:
return model.get(rowIndex).getAlias();
case 2:
return model.get(rowIndex).getKeyStoreType();
}
return null;
}
/**
* Get <tt>CertificateConfigEntry</tt> located at <tt>rowIndex</tt>.
*
* @param rowIndex row index
* @return <tt>CertificateConfigEntry</tt>
*/
public CertificateConfigEntry getItem(int rowIndex)
{
return model.get(rowIndex);
}
@Override
public String getColumnName(int column)
{
switch(column)
{
case 0:
return R.getI18NString("service.gui.DISPLAY_NAME");
case 1:
return R.getI18NString("plugin.certconfig.ALIAS");
case 2:
return R.getI18NString("plugin.certconfig.KEYSTORE_TYPE");
}
return super.getColumnName(column);
}
public void propertyChange(PropertyChangeEvent evt)
{
if (evt.getPropertyName().startsWith(
CertificateService.PNAME_CLIENTAUTH_CERTCONFIG_BASE))
{
model = cvs.getClientAuthCertificateConfigs();
super.fireTableDataChanged();
}
}
}